成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在瀏覽器里面運(yùn)行命令行,真香!

系統(tǒng) 瀏覽器
本文介紹了 ttyd 的基本使用,有了它,我們就可以輕松將某臺(tái)機(jī)器上的終端轉(zhuǎn)到 Web 上來執(zhí)行了,還是非常方便有用的。

 

之前我看過一篇《萬物皆可 API》,這個(gè)項(xiàng)目就是把一些腳本的執(zhí)行結(jié)果輸出到了網(wǎng)頁里面。

但是這個(gè)還是有很多改進(jìn)空間,比如說 UI 能好看些,甚至能執(zhí)行交互命令該多好,最后思來想去,它的究極形態(tài)不就是一個(gè) Web 版的 Terminal (終端)嗎?

然后本來我還想著對(duì)項(xiàng)目進(jìn)行改造來著,但是想想,最終如果要改造成一個(gè) Web 版的 Terminal,這個(gè)肯定已經(jīng)有開源實(shí)現(xiàn)了。

于是我就開始搜,最后搜到幾個(gè)還不錯(cuò)的。

Web Terminal

  •  ttyd:https://github.com/tsl0922/ttyd,一款可以將命令行轉(zhuǎn)到 Web 執(zhí)行的工具,基于 C 編寫的。
  •  gotty:https://github.com/yudai/gotty,和 ttyd 一樣,只不過是 Go 語言寫的,但最新更新是在 2017 年了,估計(jì)失修了。
  •  wetty:https://github.com/butlerx/wetty,基于 Node.js 開發(fā)的,也可以將命令行轉(zhuǎn)到 Web 執(zhí)行,但是需要基于 SSH 登錄,其實(shí)就是個(gè) Web 版的 SSH 終端。
  •  Secure Shell (Chrome App):Google 瀏覽器插件,也可以提供網(wǎng)頁版 SSH 終端。
  •  tmate:https://tmate.io/,從 tmux 修改而來,可以支持 Terminal 分享。

經(jīng)過一番試用,我個(gè)人首推的還是 ttyd,其他的幾個(gè)要么是基于 SSH 的,要么不怎么好用或停止維護(hù)了。

下面我就來介紹下 ttyd 的簡(jiǎn)單用法。

安裝

安裝其實(shí)非常簡(jiǎn)單,我用的是 Mac,所以用 HomeBrew 直接安裝即可: 

  1. brew install ttyd 

如果你用的是 Windows、Linux,依然也可以支持,安裝可以參考 https://github.com/tsl0922/ttyd#installation 章節(jié)。

使用

ttyd 支持不少功能配置,完整命令如下: 

  1. ttyd is a tool for sharing terminal over the web  
  2. USAGE:  
  3.     ttyd [options] <command> [<arguments...> 
  4. VERSION:  
  5.     1.6.3  
  6. OPTIONS:  
  7.     -p, --port              Port to listen (default: 7681, use `0` for random port)  
  8.     -i, --interface         Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/run/ttyd.sock)  
  9.     -c, --credential        Credential for Basic Authentication (format: username:password)  
  10.     -u, --uid               User id to run with  
  11.     -g, --gid               Group id to run with  
  12.     -s, --signal            Signal to send to the command when exit it (default: 1, SIGHUP)  
  13.     -a, --url-arg           Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar 
  14.     -R, --readonly          Do not allow clients to write to the TTY  
  15.     -t, --client-option     Send option to client (format: key=value), repeat to add more options  
  16.     -T, --terminal-type     Terminal type to report, default: xterm-256color  
  17.     -O, --check-origin      Do not allow websocket connection from different origin  
  18.     -m, --max-clients       Maximum clients to support (default: 0, no limit)  
  19.     -o, --once              Accept only one client and exit on disconnection  
  20.     -B, --browser           Open terminal with the default system browser  
  21.     -I, --index             Custom index.html path  
  22.     -b, --base-path         Expected base path for requests coming from a reverse proxy (eg: /mounted/here)  
  23.     -P, --ping-interval     Websocket ping interval(sec) (default: 300)  
  24.     -6, --ipv6              Enable IPv6 support  
  25.     -S, --ssl               Enable SSL  
  26.     -C, --ssl-cert          SSL certificate file path  
  27.     -K, --ssl-key           SSL key file path  
  28.     -A, --ssl-ca            SSL CA file path for client certificate verification  
  29.     -d, --debug             Set log level (default: 7)  
  30.     -v, --version           Print the version and exit  
  31.     -h, --help              Print this text and exit  
  32. Visit https://github.com/tsl0922/ttyd to get more information and report bugs. 

可以看到,這里可以使用 -p 來指定運(yùn)行端口,使用 -c 指定登錄密碼等等。

基本使用

我們來試下,最基本的命令如下: 

  1. ttyd bash 

這樣就使用啟動(dòng)了一個(gè) Web 版的 bash,運(yùn)行結(jié)果如下:

這里顯示是在 7681 上運(yùn)行的,那我們就可以打開 http://localhost:7681/,就可以直接運(yùn)行命令了:

非常絲滑。

看了下背后的傳輸協(xié)議是 WebSocket,所以穩(wěn)定性還是有保障的:

當(dāng)然,我們也可以不用 bash,用自己喜歡的 Shell,比如 zsh,命令如下:

  1. ttyd zsh 

這樣的話瀏覽器里面的 Shell 就是 zsh 啦:

綁定端口

當(dāng)然我們也可以更換端口,比如 8000,則可以使用如下命令: 

  1. ttyd -p 8000 zsh 

這樣 ttyd 就可以在 8000 端口運(yùn)行 HTTP 服務(wù),我們打開 http://localhost:8000/ 就可以執(zhí)行命令了。

Basic Auth

當(dāng)然這么直接暴露出去似乎也不太安全,我們可以設(shè)置 Basic Auth,使用 -c 這個(gè)選項(xiàng)即可指定用戶名密碼,格式為 username:password,例如我們指定用戶名和密碼都是 admin,那命令就這么寫: 

  1. ttyd -p 8000 -c admin:admin zsh 

這樣打開  http://localhost:8000/ 之后就需要輸入用戶名密碼才可以登錄了:

自動(dòng)打開瀏覽器

我們還可以使用 -B 命令讓它自動(dòng)打開瀏覽器: 

  1. ttyd -p 8000 -B zsh 

這樣運(yùn)行之后,默認(rèn)的瀏覽器就會(huì)自動(dòng)打開 http://localhost:8000/,不用我們?cè)偃デ镁W(wǎng)址了,十分方便。

所以,上面這個(gè)命令甚至我們還可以做成一個(gè) alias,比如: 

  1. alias webcmd="ttyd -p 8000 -B zsh"

這樣輸入 webcmd 就可以輕松打開一個(gè) Web 版命令行了。

Docker 支持

另外 ttyd 還提供了 Docker 鏡像,如果你不想安裝的話,可以直接啟 Docker,比如這樣的話就可以在 7681 上啟動(dòng): 

  1. docker run -it --rm -p 7681:7681 tsl0922/ttyd 

但這實(shí)際上是把容器內(nèi)部的命令行暴露出來了,如果要暴露宿主機(jī)的命令行還需要 mount 下磁盤:

SSH 終端

ttyd 還支持 SSH 終端,命令如下: 

  1. ttyd login 

這樣的話,打開瀏覽器之后就需要 SSH 登錄,輸入正確的 SSH 用戶名和密碼后才能使用。

SSL 支持

如果你想配置 SSL 支持,即支持 HTTPS 的話,可以自己生成證書并添加對(duì)應(yīng)的參數(shù)來啟動(dòng) ttyd,參考鏈接是:https://github.com/tsl0922/ttyd/wiki/SSL-Usage。

更多

上面的用法基本能滿足日常需要了,如果想要了解更多用法,可以參考其 Wiki,鏈接是:https://github.com/tsl0922/ttyd/wiki/Example-Usage。

公網(wǎng)暴露

當(dāng)然,我們?nèi)绻氚阉W(wǎng)暴露出來,還可以配合 Ngrok,比如 ttyd 運(yùn)行在 8000 端口上,我可以使用 Ngrok 將其暴露出來: 

  1. ngrok http 8000 

運(yùn)行結(jié)果如下:

這樣我就可以通過指定的 URL 訪問這個(gè)終端了,比如這里我就可以使用 https://11b4-2404-f801-8050-3-bf-00-55.ngrok.io/ 來訪問我的終端了:

非常 Nice!

總結(jié)

好了,以上就是 ttyd 的基本使用了,有了它,我們就可以輕松將某臺(tái)機(jī)器上的終端轉(zhuǎn)到 Web 上來執(zhí)行了,還是非常方便有用的。 

 

責(zé)任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2020-11-23 05:50:40

瀏覽器Web瀏覽器Linux

2009-08-11 09:11:06

linux打開瀏覽器命linux命令行瀏覽器linux命令行

2009-08-09 09:27:41

linux命令行瀏覽器linux打開瀏覽器命linux命令行

2016-11-03 21:21:09

Ubuntu命令行瀏覽器書簽

2016-11-04 12:36:19

Ubuntu瀏覽器書簽

2022-10-24 09:02:28

Selenium自動(dòng)化

2021-11-26 09:58:37

Linux命令瀏覽器

2014-05-09 14:50:03

LinuxRaspberry P命令行

2010-03-04 09:10:34

Linux Chrom

2022-04-25 10:26:11

Python代碼瀏覽器

2023-03-28 08:40:22

命令行JSON用法

2009-03-26 15:35:22

detachedRIASilverligh

2021-09-12 12:00:12

瀏覽器LinuxWeb 應(yīng)用

2021-03-01 11:16:08

React 前端組件開源

2021-07-15 13:32:12

Linux生成密碼

2019-12-09 09:23:04

Linux命令sort

2021-07-15 13:25:43

LinuxPDF

2010-09-16 16:05:24

Java編譯器

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 天堂在线www | 日韩中文字幕在线免费 | 蜜桃臀av一区二区三区 | 91精品国产高清一区二区三区 | 亚洲一级毛片 | 久久亚洲综合 | av在线成人 | 日韩精品在线视频 | 国产综合网址 | 最新日韩在线视频 | 日本黄色免费大片 | 91在线区 | 欧美三区 | 国产精品一区二区视频 | 国产精品久久久久久久久久免费 | www中文字幕 | 亚洲国产欧美国产综合一区 | 久草热在线| 欧美一区二区三区在线观看 | 农村真人裸体丰满少妇毛片 | 久久免费精品 | 亚洲一区二区在线视频 | 国产伦精品一区二区三区高清 | 亚洲黄色片免费观看 | 日韩一区二区在线视频 | 久久久精品一区 | 国产精品欧美一区二区三区 | 国产在线一区二区三区 | 玖玖爱365 | 久久久久久久久久久久久九 | 国产99精品 | 在线视频一区二区 | 国产一级黄色网 | 国产蜜臀97一区二区三区 | 五月天婷婷综合 | 91日b| 一区二区三区观看视频 | 日韩欧美中文 | 欧美专区在线 | 奇色影视 | 欧美久久一区二区三区 |