Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing Hokaido

Hibariya Hi
October 31, 2015

Introducing Hokaido

前々回に公開した pty crate を使って hokaido というターミナル共有ツールを作っています。

* https://github.com/hibariya/pty-rs
* https://github.com/idobata/hokaido

Hibariya Hi

October 31, 2015
Tweet

More Decks by Hibariya Hi

Other Decks in Technology

Transcript

  1. Introducing Hokaido
    Rust of Us - Chapter 4
    2015-10-31
    @hibariya

    View Slide

  2. Hi, there.
    ● Hika Hibariya
    ● @hibariya

    View Slide

  3. github.com/hibariya/pty-rs

    View Slide

  4. その後の成果

    View Slide

  5. github.com/idobata/hokaido

    View Slide

  6. Hokaido: Terminal sharing tool

    View Slide

  7. Hokaido: Terminal sharing tool
    ● シェルを起動し出力を TCP で共有する
    ● 画面が滲まない
    ● あまり帯域を使わない
    ● シェル以外は共有できない

    View Slide

  8. Broadcaster <-> Server <-> Watcher

    View Slide

  9. Hokaido needs server for relay
    $ hokaido server

    View Slide

  10. Watching other’s shell
    $ hokaido watch \
    --host hokaido.example.com

    View Slide

  11. Broadcasting your shell output
    $ hokaido broadcast \
    --host hokaido.example.com

    View Slide

  12. Watch
    ● 見るだけ
    ● 1つのシェル出力を複数人で watch できる

    View Slide

  13. Broadcast
    ● 同時に broadcast できるのは1人だけ
    ● 他の人に奪われると以後共有されなくなる

    View Slide

  14. Channel
    ● broadcaster + watchers = channel
    ● 1つのサーバで複数の共有を中継できる
    ● --channel オプションで名前をつける

    View Slide

  15. $ Demo

    View Slide

  16. [dependencies]
    docopt='0.6' # parse options
    libc='0.1.8'
    nix='0.3.9' # signal handling
    pty='0.1.5' # fork with new pty
    rmp-serialize = '0.7' # MessagePack
    rustc-serialize='0.3'
    termios='0.2.0' # inherit termios

    View Slide

  17. Current version: 0.0.2
    ● 動く
    ● エラー処理が不十分
    ● テストがほしい
    ● 使い心地の調整が必要

    View Slide

  18. cargo install hokaido

    View Slide