ttyd: 分享 terminal,讓你在瀏覽器上也能使用終端機!

目錄
手邊只有手機但想要連到電腦的 terminal?
或是手邊只有瀏覽器可以使用?
那你可以試試看 ttyd
ttyd
ttyd 可以讓使用者透過瀏覽器分享 terminal,可以同時讓很多人使用 terminal,每個人都會開啟獨自的 terminal,如果想要和其他人分享同一個 terminal,可以透過分享 tmux 的 session 來讓大家都連到同一個 terminal,除此之外,也能和大家分享同一個 docker container,有各式各樣的用法等著發掘。
下載
這邊放上 Windows 和 Linux 兩種系統的方法。
Windows
Windows 官方提供三種方式來下載:
在這邊推薦直接下載編譯好的就好了,基本上下載 ttyd.win32.exe
這個版本就可以了。

Linux
Linux 的部分官方也有提供好幾種方式來下載:
- 直接下載編譯好的 (官方推薦) 下載連結
- 使用 Snap 安裝
sudo snap install ttyd --classic
- 自行編譯
sudo apt-get update sudo apt-get install -y build-essential cmake git libjson-c-dev libwebsockets-dev git clone https://github.com/tsl0922/ttyd.git cd ttyd && mkdir build && cd build cmake .. make && sudo make install
這邊還是一樣建議大家用編譯好的就好了,下載 ttyd.x86_64
這個版本就可以了。

使用
執行 ttyd 的時候,後方帶上要執行的 terminal:
ttyd bash
在 Windows 上你可以執行 cmd 或是 powershell:
ttyd cmd
ttyd powershell
如果不想要分享 terminal,也可以分享 vim,這樣每個人打開都會是一個 vim 的編輯器:
ttyd vim
甚至也可以分享 tmux,tmux 的 session 也可以分享,不管是誰打開都是同一個 tmux 的 session,下面就是使用 ttyd 來分享 tmux,tmux 的指令為 `tmux new -A -s ttyd vim`,`tmux new -s ttyd vim` 會讓 tmux 建立一個名為 ttyd 的 session,並在該 session 開啟 vim,加上了 `-A` 可以在有相同 session 名稱的時候,不用 new 改成用 attach 進入。
ttyd tmux new -A -s ttyd vim
想和大家分享同一個 docker container 可以用下方的指令,會開啟 ttyd 的 image,並對應 7681 的 port,可以改成其他的 port:
docker run -it --rm -p 7681:7681 tsl0922/ttyd
預設狀態下,沒有指定 port 的話是用 7681,也可以加上參數 `-p` 指定 port:
ttyd -p 8080 bash
如果覺得不安全也可以加上帳號密碼來保護隱私和安全,使用參數 `-c`,後方加上 <帳號>:<密碼>:
ttyd -p 8080 -c admin:123123 bash

後記
這功能雖然目前我用不到
但感覺功能蠻強大的,可以應用在不同的地方
更多功能有興趣的可以去 Github 上了解吧~~
Reference
如果你覺得這篇文章有用 可以考慮贊助飲料給大貓咪