Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add yudai/gotty #5651

Merged
merged 1 commit into from
Aug 21, 2022
Merged

Conversation

ponkio-o
Copy link
Sponsor Contributor

@ponkio-o ponkio-o commented Aug 20, 2022

#5651 yudai/gotty: Share your terminal as a web application

$ aqua g -i yudai/gotty

[yudai/gotty](https://github.com/yudai/gotty): Share your terminal as a web application

```console
$ aqua g -i yudai/gotty
```
@suzuki-shunsuke suzuki-shunsuke added the enhancement New feature or request label Aug 20, 2022
@suzuki-shunsuke suzuki-shunsuke added this to the v3.35.0 milestone Aug 20, 2022
@suzuki-shunsuke
Copy link
Member

Thanks.

@suzuki-shunsuke
Copy link
Member

suzuki-shunsuke commented Aug 21, 2022

The latest release was very old, so I guess it doesn't work on some recent platform.

👍 linux/amd64 (limavm)

shunsuke-suzuki@lima-default:/Users/shunsuke-suzuki/repos/src/github.com/aquaproj/aqua-registry$ gotty --help
Incorrect Usage. flag: help requested

NAME:
   gotty - Share your terminal as a web application

USAGE:
   gotty [options] <command> [<arguments...>]

VERSION:
   1.0.1

OPTIONS:
   --address value, -a value     IP address to listen [$GOTTY_ADDRESS]
   --port value, -p value        Port number to listen (default: "8080") [$GOTTY_PORT]
   --permit-write, -w            Permit clients to write to the TTY (BE CAREFUL) [$GOTTY_PERMIT_WRITE]
   --credential value, -c value  Credential for Basic Authentication (ex: user:pass, default disabled) [$GOTTY_CREDENTIAL]
   --random-url, -r              Add a random string to the URL [$GOTTY_RANDOM_URL]
   --random-url-length value     Random URL length (default: 8) [$GOTTY_RANDOM_URL_LENGTH]
   --tls, -t                     Enable TLS/SSL [$GOTTY_TLS]
   --tls-crt value               TLS/SSL certificate file path (default: "~/.gotty.crt") [$GOTTY_TLS_CRT]
   --tls-key value               TLS/SSL key file path (default: "~/.gotty.key") [$GOTTY_TLS_KEY]
   --tls-ca-crt value            TLS/SSL CA certificate file for client certifications (default: "~/.gotty.ca.crt") [$GOTTY_TLS_CA_CRT]
   --index value                 Custom index.html file [$GOTTY_INDEX]
   --title-format value          Title format of browser window (default: "GoTTY - {{ .Command }} ({{ .Hostname }})") [$GOTTY_TITLE_FORMAT]
   --reconnect                   Enable reconnection [$GOTTY_RECONNECT]
   --reconnect-time value        Time to reconnect (default: 10) [$GOTTY_RECONNECT_TIME]
   --timeout value               Timeout seconds for waiting a client (0 to disable) (default: 0) [$GOTTY_TIMEOUT]
   --max-connection value        Maximum connection to gotty, 0(default) means no limit (default: 0) [$GOTTY_MAX_CONNECTION]
   --once                        Accept only one client and exit on disconnection [$GOTTY_ONCE]
   --permit-arguments            Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS]
   --close-signal value          Signal sent to the command process when gotty close it (default: SIGHUP) (default: 1) [$GOTTY_CLOSE_SIGNAL]
   --width value                 Static width of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_WIDTH]
   --height value                Static height of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_HEIGHT]
   --config value                Config file path (default: "~/.gotty") [$GOTTY_CONFIG]
   --version, -v                 print the version

❌ darwin/amd64

$ aqua which gotty
/Users/shunsuke-suzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/yudai/gotty/v1.0.1/gotty_darwin_amd64.tar.gz/gotty

$ /Users/shunsuke-suzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/yudai/gotty/v1.0.1/gotty_darwin_amd64.tar.gz/gotty --help
fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x38fc7b, 0x21)
	/usr/local/go/src/runtime/panic.go:566 +0x95 fp=0x7ff7bfefebe0 sp=0x7ff7bfefebc0
runtime.goenvs()
	/usr/local/go/src/runtime/os_darwin.go:88 +0xa0 fp=0x7ff7bfefec10 sp=0x7ff7bfefebe0
runtime.schedinit()
	/usr/local/go/src/runtime/proc.go:450 +0x9c fp=0x7ff7bfefec50 sp=0x7ff7bfefec10
runtime.rt0_go(0x7ff7bfefec80, 0x2, 0x7ff7bfefec80, 0x1000, 0x2, 0x7ff7bfefef50, 0x7ff7bfefefd4, 0x0, 0x7ff7bfefefdb, 0x7ff7bfeff003, ...)
	/usr/local/go/src/runtime/asm_amd64.s:145 +0x14f fp=0x7ff7bfefec58 sp=0x7ff7bfefec50

❌ darwin/arm64

$ aqua which gotty
/Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/yudai/gotty/v1.0.1/gotty_darwin_amd64.tar.gz/gotty

$ /Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/yudai/gotty/v1.0.1/gotty_darwin_amd64.tar.gz/gotty --help
zsh: segmentation fault   --help

@suzuki-shunsuke
Copy link
Member

I tried go_install package to support darwin, but go install failed.

gotty isn't active, so I don't send pr.

$ go install github.com/yudai/gotty@latest
go: downloading github.com/yudai/gotty v1.0.1
go: finding module for package github.com/yudai/umutex
go: finding module for package github.com/codegangsta/cli
go: finding module for package github.com/elazarl/go-bindata-assetfs
go: finding module for package github.com/fatih/structs
go: finding module for package github.com/braintree/manners
go: finding module for package github.com/kr/pty
go: finding module for package github.com/gorilla/websocket
go: finding module for package github.com/yudai/hcl
go: downloading github.com/kr/pty v1.1.8
go: downloading github.com/codegangsta/cli v1.22.9
go: downloading github.com/fatih/structs v1.1.0
go: downloading github.com/braintree/manners v0.0.0-20160418043613-82a8879fc5fd
go: downloading github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552
go: downloading github.com/yudai/umutex v0.0.0-20150817080136-18216d265c6b
go: downloading github.com/gorilla/websocket v1.5.0
go: downloading github.com/elazarl/go-bindata-assetfs v1.0.1
go: found github.com/codegangsta/cli in github.com/codegangsta/cli v1.22.9
go: found github.com/fatih/structs in github.com/fatih/structs v1.1.0
go: found github.com/braintree/manners in github.com/braintree/manners v0.0.0-20160418043613-82a8879fc5fd
go: found github.com/elazarl/go-bindata-assetfs in github.com/elazarl/go-bindata-assetfs v1.0.1
go: found github.com/gorilla/websocket in github.com/gorilla/websocket v1.5.0
go: found github.com/kr/pty in github.com/kr/pty v1.1.8
go: found github.com/yudai/hcl in github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552
go: found github.com/yudai/umutex in github.com/yudai/umutex v0.0.0-20150817080136-18216d265c6b
go: github.com/yudai/gotty imports
	github.com/codegangsta/cli: github.com/codegangsta/cli@v1.22.9: parsing go.mod:
	module declares its path as: github.com/urfave/cli
	        but was required as: github.com/codegangsta/cli
$ go install github.com/yudai/gotty@v1.0.1
go: finding module for package github.com/yudai/umutex
go: finding module for package github.com/kr/pty
go: finding module for package github.com/gorilla/websocket
go: finding module for package github.com/braintree/manners
go: finding module for package github.com/elazarl/go-bindata-assetfs
go: finding module for package github.com/yudai/hcl
go: finding module for package github.com/codegangsta/cli
go: finding module for package github.com/fatih/structs
go: found github.com/codegangsta/cli in github.com/codegangsta/cli v1.22.9
go: found github.com/fatih/structs in github.com/fatih/structs v1.1.0
go: found github.com/braintree/manners in github.com/braintree/manners v0.0.0-20160418043613-82a8879fc5fd
go: found github.com/elazarl/go-bindata-assetfs in github.com/elazarl/go-bindata-assetfs v1.0.1
go: found github.com/gorilla/websocket in github.com/gorilla/websocket v1.5.0
go: found github.com/kr/pty in github.com/kr/pty v1.1.8
go: found github.com/yudai/hcl in github.com/yudai/hcl v0.0.0-20151013225006-5fa2393b3552
go: found github.com/yudai/umutex in github.com/yudai/umutex v0.0.0-20150817080136-18216d265c6b
go: github.com/yudai/gotty imports
	github.com/codegangsta/cli: github.com/codegangsta/cli@v1.22.9: parsing go.mod:
	module declares its path as: github.com/urfave/cli
	        but was required as: github.com/codegangsta/cli

@suzuki-shunsuke suzuki-shunsuke merged commit 42268e0 into aquaproj:main Aug 21, 2022
@suzuki-shunsuke
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants