How To Use Ttyd to Share Linux Terminal Over Web Browser
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 |
// (base) portable@portable-Spin-SP513-52N:~$ sudo apt-get install build-essential cmake git libjson-c-dev libwebsockets-dev [sudo] heslo pro portable: Načítají se seznamy balíků… Hotovo Vytváří se strom závislostí… Hotovo Načítají se stavové informace… Hotovo build-essential je již nejnovější verze (12.9ubuntu3). build-essential nastaven jako instalovaný ručně. Následující dodatečné balíky budou instalovány: cmake-data dh-elpa-helper git-man libcap-dev liberror-perl libev-dev libev4 libjsoncpp25 librhash0 libssl-dev libuv1-dev libwebsockets16 Navrhované balíky: cmake-doc ninja-build cmake-format git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn libssl-doc Následující NOVÉ balíky budou nainstalovány: cmake cmake-data dh-elpa-helper git git-man libcap-dev liberror-perl libev-dev libev4 libjson-c-dev libjsoncpp25 librhash0 libssl-dev libuv1-dev libwebsockets-dev libwebsockets16 0 aktualizováno, 16 nově instalováno, 0 k odstranění a 0 neaktualizováno. Nutno stáhnout 14,6 MB archivů. Po této operaci bude na disku použito dalších 68,6 MB. Chcete pokračovat? [Y/n] Y Stahuje se:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjsoncpp25 amd64 1.9.5-3 [80,0 kB] Stahuje se:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 librhash0 amd64 1.4.2-1ubuntu1 [125 kB] Stahuje se:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 dh-elpa-helper all 2.0.9ubuntu1 [7 610 B] Stahuje se:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 cmake-data all 3.22.1-1ubuntu1.22.04.1 [1 913 kB] Stahuje se:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 cmake amd64 3.22.1-1ubuntu1.22.04.1 [5 013 kB] Stahuje se:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 liberror-perl all 0.17029-1 [26,5 kB] Stahuje se:7 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 git-man all 1:2.34.1-1ubuntu1.6 [953 kB] Stahuje se:8 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 git amd64 1:2.34.1-1ubuntu1.6 [3 142 kB] Stahuje se:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 libcap-dev amd64 1:2.44-1build3 [39,5 kB] Stahuje se:10 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libssl-dev amd64 3.0.2-0ubuntu1.7 [2 372 kB] Stahuje se:11 http://archive.ubuntu.com/ubuntu jammy/main amd64 libuv1-dev amd64 1.43.0-1 [130 kB] Stahuje se:12 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libev4 amd64 1:4.33-1 [29,4 kB] Stahuje se:13 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwebsockets16 amd64 4.0.20-2ubuntu1 [188 kB] Stahuje se:14 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libev-dev amd64 1:4.33-1 [123 kB] Stahuje se:15 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libwebsockets-dev amd64 4.0.20-2ubuntu1 [447 kB] Stahuje se:16 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjson-c-dev amd64 0.15-3~ubuntu1.22.04.1 [60,5 kB] Staženo 14,6 MB za 3s (5 835 kB/s) Vybírá se dosud nevybraný balík libjsoncpp25:amd64. (Načítá se databáze … nyní je nainstalováno 449441 souborů a adresářů.) Připravuje se nahrazení …/00-libjsoncpp25_1.9.5-3_amd64.deb … Rozbaluje se libjsoncpp25:amd64 (1.9.5-3) … Vybírá se dosud nevybraný balík librhash0:amd64. Připravuje se nahrazení …/01-librhash0_1.4.2-1ubuntu1_amd64.deb … Rozbaluje se librhash0:amd64 (1.4.2-1ubuntu1) … Vybírá se dosud nevybraný balík dh-elpa-helper. Připravuje se nahrazení …/02-dh-elpa-helper_2.0.9ubuntu1_all.deb … Rozbaluje se dh-elpa-helper (2.0.9ubuntu1) … Vybírá se dosud nevybraný balík cmake-data. Připravuje se nahrazení …/03-cmake-data_3.22.1-1ubuntu1.22.04.1_all.deb … Rozbaluje se cmake-data (3.22.1-1ubuntu1.22.04.1) … Vybírá se dosud nevybraný balík cmake. Připravuje se nahrazení …/04-cmake_3.22.1-1ubuntu1.22.04.1_amd64.deb … Rozbaluje se cmake (3.22.1-1ubuntu1.22.04.1) … Vybírá se dosud nevybraný balík liberror-perl. Připravuje se nahrazení …/05-liberror-perl_0.17029-1_all.deb … Rozbaluje se liberror-perl (0.17029-1) … Vybírá se dosud nevybraný balík git-man. Připravuje se nahrazení …/06-git-man_1%3a2.34.1-1ubuntu1.6_all.deb … Rozbaluje se git-man (1:2.34.1-1ubuntu1.6) … Vybírá se dosud nevybraný balík git. Připravuje se nahrazení …/07-git_1%3a2.34.1-1ubuntu1.6_amd64.deb … Rozbaluje se git (1:2.34.1-1ubuntu1.6) … Vybírá se dosud nevybraný balík libcap-dev:amd64. Připravuje se nahrazení …/08-libcap-dev_1%3a2.44-1build3_amd64.deb … Rozbaluje se libcap-dev:amd64 (1:2.44-1build3) … Vybírá se dosud nevybraný balík libssl-dev:amd64. Připravuje se nahrazení …/09-libssl-dev_3.0.2-0ubuntu1.7_amd64.deb … Rozbaluje se libssl-dev:amd64 (3.0.2-0ubuntu1.7) … Vybírá se dosud nevybraný balík libuv1-dev:amd64. Připravuje se nahrazení …/10-libuv1-dev_1.43.0-1_amd64.deb … Rozbaluje se libuv1-dev:amd64 (1.43.0-1) … Vybírá se dosud nevybraný balík libev4:amd64. Připravuje se nahrazení …/11-libev4_1%3a4.33-1_amd64.deb … Rozbaluje se libev4:amd64 (1:4.33-1) … Vybírá se dosud nevybraný balík libwebsockets16:amd64. Připravuje se nahrazení …/12-libwebsockets16_4.0.20-2ubuntu1_amd64.deb … Rozbaluje se libwebsockets16:amd64 (4.0.20-2ubuntu1) … Vybírá se dosud nevybraný balík libev-dev:amd64. Připravuje se nahrazení …/13-libev-dev_1%3a4.33-1_amd64.deb … Rozbaluje se libev-dev:amd64 (1:4.33-1) … Vybírá se dosud nevybraný balík libwebsockets-dev:amd64. Připravuje se nahrazení …/14-libwebsockets-dev_4.0.20-2ubuntu1_amd64.deb … Rozbaluje se libwebsockets-dev:amd64 (4.0.20-2ubuntu1) … Vybírá se dosud nevybraný balík libjson-c-dev:amd64. Připravuje se nahrazení …/15-libjson-c-dev_0.15-3~ubuntu1.22.04.1_amd64.deb … Rozbaluje se libjson-c-dev:amd64 (0.15-3~ubuntu1.22.04.1) … Nastavuje se balík libuv1-dev:amd64 (1.43.0-1) … Nastavuje se balík libjson-c-dev:amd64 (0.15-3~ubuntu1.22.04.1) … Nastavuje se balík libev4:amd64 (1:4.33-1) … Nastavuje se balík liberror-perl (0.17029-1) … Nastavuje se balík dh-elpa-helper (2.0.9ubuntu1) … Nastavuje se balík libssl-dev:amd64 (3.0.2-0ubuntu1.7) … Nastavuje se balík libjsoncpp25:amd64 (1.9.5-3) … Nastavuje se balík librhash0:amd64 (1.4.2-1ubuntu1) … Nastavuje se balík git-man (1:2.34.1-1ubuntu1.6) … Nastavuje se balík cmake-data (3.22.1-1ubuntu1.22.04.1) … Install emacsen-common for emacs emacsen-common: Handling install of emacsen flavor emacs Install cmake-data for emacs install/cmake-mode-3.22.1: Handling install of emacsen flavor emacs install/cmake-mode-3.22.1: byte-compiling for emacs Nastavuje se balík libev-dev:amd64 (1:4.33-1) … Nastavuje se balík libcap-dev:amd64 (1:2.44-1build3) … Nastavuje se balík libwebsockets16:amd64 (4.0.20-2ubuntu1) … Nastavuje se balík git (1:2.34.1-1ubuntu1.6) … Nastavuje se balík cmake (3.22.1-1ubuntu1.22.04.1) … Nastavuje se balík libwebsockets-dev:amd64 (4.0.20-2ubuntu1) … Zpracovávají se spouštěče pro balík man-db (2.10.2-1) … Zpracovávají se spouštěče pro balík libc-bin (2.35-0ubuntu3.1) … (base) portable@portable-Spin-SP513-52N:~$ git clone https://github.com/tsl0922/ttyd.git Cloning into 'ttyd'... remote: Enumerating objects: 4983, done. remote: Counting objects: 100% (276/276), done. remote: Compressing objects: 100% (138/138), done. remote: Total 4983 (delta 155), reused 215 (delta 130), pack-reused 4707 Receiving objects: 100% (4983/4983), 17.64 MiB | 3.86 MiB/s, done. Resolving deltas: 100% (3417/3417), done. (base) portable@portable-Spin-SP513-52N:~$ cd ttyd (base) portable@portable-Spin-SP513-52N:~/ttyd$ mkdir build && cd build (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ cmake .. CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. -- The C compiler identification is GNU 11.3.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Found Git: /usr/bin/git (found version "2.34.1") -- Found LIBUV: /usr/lib/x86_64-linux-gnu/libuv.so -- Found JSON-C: /usr/lib/x86_64-linux-gnu/libjson-c.so -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") -- Looking for LWS_WITH_LIBUV -- Looking for LWS_WITH_LIBUV - found -- Looking for LWS_OPENSSL_SUPPORT -- Looking for LWS_OPENSSL_SUPPORT - found -- Looking for LWS_WITH_MBEDTLS -- Looking for LWS_WITH_MBEDTLS - not found -- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.2") -- Configuring done -- Generating done -- Build files have been written to: /home/portable/ttyd/build (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ ls -l celkem 40 -rw-rw-r-- 1 portable portable 20387 led 23 00:39 CMakeCache.txt drwxrwxr-x 5 portable portable 4096 led 23 00:39 CMakeFiles -rw-rw-r-- 1 portable portable 2557 led 23 00:39 cmake_install.cmake -rw-rw-r-- 1 portable portable 10040 led 23 00:39 Makefile (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ sudo make && sudo make install [ 16%] Building C object CMakeFiles/ttyd.dir/src/utils.c.o [ 33%] Building C object CMakeFiles/ttyd.dir/src/pty.c.o [ 50%] Building C object CMakeFiles/ttyd.dir/src/protocol.c.o [ 66%] Building C object CMakeFiles/ttyd.dir/src/http.c.o [ 83%] Building C object CMakeFiles/ttyd.dir/src/server.c.o [100%] Linking C executable ttyd [100%] Built target ttyd Consolidate compiler generated dependencies of target ttyd [100%] Built target ttyd Install the project... -- Install configuration: "" -- Installing: /usr/local/bin/ttyd -- Installing: /usr/local/share/man/man1/ttyd.1 (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ ttyd --version ttyd version 1.7.3-a8cae75 (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ sudo snap install ttyd --classic sudo: snap: příkaz nenalezen (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ sudo apt install snap Načítají se seznamy balíků… Hotovo Vytváří se strom závislostí… Hotovo Načítají se stavové informace… Hotovo Následující NOVÉ balíky budou nainstalovány: snap 0 aktualizováno, 1 nově instalováno, 0 k odstranění a 0 neaktualizováno. Nutno stáhnout 377 kB archivů. Po této operaci bude na disku použito dalších 2 756 kB. Stahuje se:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 snap amd64 2013-11-29-11 [377 kB] Staženo 377 kB za 1s (523 kB/s) Vybírá se dosud nevybraný balík snap. (Načítá se databáze … nyní je nainstalováno 453891 souborů a adresářů.) Připravuje se nahrazení …/snap_2013-11-29-11_amd64.deb … Rozbaluje se snap (2013-11-29-11) … Nastavuje se balík snap (2013-11-29-11) … Zpracovávají se spouštěče pro balík man-db (2.10.2-1) … (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ sudo snap install ttyd --classic sudo: snap: příkaz nenalezen (base) portable@portable-Spin-SP513-52N:~/ttyd/build$ ttyd -p 8080 bash [2023/01/23 00:44:40:9138] N: ttyd 1.7.3-a8cae75 (libwebsockets 4.0.20) [2023/01/23 00:44:40:9141] N: tty configuration: [2023/01/23 00:44:40:9141] N: start command: bash [2023/01/23 00:44:40:9142] N: close signal: SIGHUP (1) [2023/01/23 00:44:40:9142] N: terminal type: xterm-256color [2023/01/23 00:44:40:9145] N: Using foreign event loop... [2023/01/23 00:44:40:9149] N: Listening on port: 8080 [2023/01/23 00:45:50:2532] N: HTTP / - 127.0.0.1 [2023/01/23 00:45:51:1987] N: HTTP /token - 127.0.0.1 [2023/01/23 00:45:51:5976] N: WS /ws - 127.0.0.1, clients: 1 [2023/01/23 00:45:51:6749] N: started process, pid: 37089 |
add
1 2 |
// http://localhost:8080/ |