Go to file
renovate[bot] a018bc6add
chore(deps): update all
2024-10-13 14:04:51 +00:00
.circleci feat: switch to go mod, refactor build toolchain, CI, etc 2020-04-27 13:18:35 +02:00
.github chore(deps): update all 2024-10-13 14:04:51 +00:00
cmd/gotty-client feat: hide password on command 2021-03-29 08:41:12 +00:00
contrib Switch to more standard project Dockerization 2017-12-13 16:56:00 +01:00
resources [ImgBot] optimizes images 2018-08-18 16:11:45 +00:00
.gitattributes feat: switch to go mod, refactor build toolchain, CI, etc 2020-04-27 13:18:35 +02:00
.gitignore feat: switch to go mod, refactor build toolchain, CI, etc 2020-04-27 13:18:35 +02:00
.goreleaser.yml feat: add goreleaser config 2020-11-13 11:20:00 +01:00
.goxc.json Post-release version bump 2017-01-19 05:39:43 +01:00
.releaserc.js feat: setup semantic release + github metadata 2020-04-27 13:23:24 +02:00
AUTHORS chore: repo maintenance 🤖 2021-03-29 08:44:44 +00:00
Dockerfile chore(deps): update all 2024-10-13 14:04:51 +00:00
LICENSE chore: repo maintenance 🤖 2021-03-29 08:44:44 +00:00
Makefile feat: switch to go mod, refactor build toolchain, CI, etc 2020-04-27 13:18:35 +02:00
README.md chore: update maunal install instructions for #91 2020-11-13 11:26:52 +01:00
arch.go Fix 'inappropriate ioctl for device' 2018-04-10 14:51:39 +09:00
arch_windows.go Remove some OS from .goxc.json file 2015-11-19 00:15:13 +01:00
ascii.go Change dependencies moby/pkg/term to containerd/console 2018-05-18 16:46:58 +02:00
go.mod chore(deps): update all 2024-10-13 14:04:51 +00:00
go.sum chore(deps): update all 2024-10-13 14:04:51 +00:00
gotty-client.go feat: hide password on command 2021-03-29 08:41:12 +00:00
gotty-client_test.go Add tests 2015-11-01 19:32:07 +01:00
proxy.go Add test to check if escapeKeys is empty 2018-04-30 13:27:21 +02:00
rules.mk chore: repo maintenance 🤖 2020-11-09 22:52:48 +01:00

README.md

gotty-client

🔧 Terminal client for GoTTY.

Build Status GoDoc FOSSA Status Sourcegraph

                                                              +----------------+
               +--------------+                +---------+--->|   /bin/bash    |
               |              |                |         |    +----------------+
           +-->|   Browser    |--+             |         |
+-------+  |   |              |  |             |         |
|       |  |   +--------------+  |             |         |    +----------------+
|  Bob  |--+                     +-websocket-->|  Gotty  |--->| emacs /var/www |
|       |  |    XXXXXXXXXXXXXX   |             |         |    +----------------+
+-------+  |   X              X  |             |         |
           +-->X gotty-client X--+             |         |
               X              X                |         |    +----------------+
                XXXXXXXXXXXXXX                 +---------+--->|  tmux attach   |
                                                              +----------------+

Example

Server side (GoTTY)

$ gotty -p 9191 sh -c 'while true; do date; sleep 1; done'
2015/08/24 18:54:31 Server is starting with command: sh -c while true; do date; sleep 1; done
2015/08/24 18:54:31 URL: http://[::1]:9191/
2015/08/24 18:54:34 GET /ws
2015/08/24 18:54:34 New client connected: 127.0.0.1:61811
2015/08/24 18:54:34 Command is running for client 127.0.0.1:61811 with PID 64834
2015/08/24 18:54:39 Command exited for: 127.0.0.1:61811
2015/08/24 18:54:39 Connection closed: 127.0.0.1:61811
...

Client side

$ gotty-client http://localhost:9191/
INFO[0000] New title: GoTTY - sh -c while true; do date; sleep 1; done (jean-michel-van-damme.local)
WARN[0000] Unhandled protocol message: json pref: 2{}
Mon Aug 24 18:54:34 CEST 2015
Mon Aug 24 18:54:35 CEST 2015
Mon Aug 24 18:54:36 CEST 2015
Mon Aug 24 18:54:37 CEST 2015
Mon Aug 24 18:54:38 CEST 2015
^C

Usage

$ gotty-client -h
NAME:
   gotty-client - GoTTY client for your terminal

USAGE:
   gotty-client [global options] command [command options] GOTTY_URL

AUTHOR:
   Manfred Touron <https://github.com/moul/gotty-client>

COMMANDS:
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -D                  Enable debug mode [$GOTTY_CLIENT_DEBUG]
   --skip-tls-verify            Skip TLS verify [$SKIP_TLS_VERIFY]
   --use-proxy-from-env         Use Proxy from environment [$USE_PROXY_FROM_ENV]
   --detach-keys value          Key sequence for detaching gotty-client (default: "ctrl-p,ctrl-q")
   --v2                         For Gotty 2.0 [$GOTTY_CLIENT_GOTTY2]
   --ws-origin value, -w value  WebSocket Origin URL [$GOTTY_CLIENT_WS_ORIGIN]
   --help, -h                   show help
   --version, -v                print the version

Install

Install latest version using Golang (recommended):

git clone https://github.com/moul/gotty-client
cd gotty-client
make install # or `go install ./cmd/gotty-client`

PS: I don't know why, but go get github.com/moul/gotty-client/cmd/gotty-client is not stable everywhere


Install latest version using Homebrew (Mac OS X)

$ brew install https://raw.githubusercontent.com/moul/gotty-client/master/contrib/homebrew/gotty-client.rb --HEAD

or the latest released version

$ brew install https://raw.githubusercontent.com/moul/gotty-client/master/contrib/homebrew/gotty-client.rb

Changelog

See https://github.com/moul/gotty-client/releases

License

MIT