Commit Graph

54 Commits

Author SHA1 Message Date
Iwasaki Yudai c88cf7a52d Show RemoteAddr and HTTP status code in log 2015-09-20 13:41:24 +09:00
Iwasaki Yudai 4f75000256 Send data in base64 format
Raw data sometimes include invalid UTF-8 bytes and that brings errors to
WebSocket clients. To avoid the errors, encode data into base64 before
sending it.
2015-09-02 20:16:35 -07:00
Iwasaki Yudai 83923b6f39 Check config file syntax 2015-09-01 20:42:52 -07:00
Iwasaki Yudai 05d9267f20 Show message for force exit 2015-09-01 15:11:05 +09:00
Iwasaki Yudai ff92777011 Use credential for auth_token 2015-09-01 15:11:02 +09:00
Iwasaki Yudai 00ddf781de Send ping/pong 2015-08-31 21:34:54 -07:00
Iwasaki Yudai 0e81c484a9 Authenticate WS connection using token
Safari doesn't support basic authentication for websocket sessions.
This commit introduces a token-based authentication only for websocket
connection.
The token is shared by all clients and that might be not secure. However,
basic authentication itself is insecure and the credential is already
shared by clients, so don't mind.
2015-08-31 15:54:34 +09:00
Iwasaki Yudai e7e607b3d7 Fix TLS crt/key file loading 2015-08-31 07:16:34 +09:00
Iwasaki Yudai ee77ec1b3a Add favicon 2015-08-30 16:44:18 +09:00
Iwasaki Yudai 678258ecf1 Log received hterm preferences in console 2015-08-30 06:51:05 +09:00
Iwasaki Yudai d3e48aa3ae Merge profile and config files and support custom index file 2015-08-29 13:23:00 +09:00
Iwasaki Yudai 25a5bc0b89 Fix default config file loading 2015-08-28 21:11:46 -07:00
Iwasaki Yudai 02e0b6fafd Use `WriteMessage` to simplify 2015-08-28 17:49:25 +09:00
Iwasaki Yudai c71cc21721 Send SIGHUP to process after closing PTY
POSIX doesn't grantee that a blocked Read() operation will be released
after closing the file. Moreover, the pty file left intact even after
closing the file and the process keeps running in this case.
2015-08-28 17:22:42 +09:00
Iwasaki Yudai 4b67e3059d Support config file 2015-08-27 17:59:49 +09:00
Iwasaki Yudai f60fd58f9b Replace "cert" to "crt" 2015-08-25 21:14:15 -07:00
Iwasaki Yudai 783e3fd925 Don't translate input
When `send-encoding` is `utf-8`, hterm translate input from the
clipboard from UTF-16 to UTF-8, even when the input is indeed UTF-8.
This translation messes up all non ASCII input.
2015-08-25 11:23:38 +09:00
Iwasaki Yudai d4475579ff Close listener after calling `StartRoutine()`
This change prevents the listener from closing itself before
establishing the websocket session with the client.
2015-08-24 12:15:24 -07:00
Iwasaki Yudai 470621f39e Add `--once` option that accepts only one client and exit 2015-08-24 19:35:49 +09:00
Iwasaki Yudai e613b29cc3 Shutdown server gracefully with Ctrl-C 2015-08-24 19:22:25 +09:00
Iwasaki Yudai 7b6911d7dd Support TLS/SSL encryption 2015-08-24 16:43:03 +09:00
Iwasaki Yudai c56e41b56b Extract function for loading profile files 2015-08-24 16:13:22 +09:00
Iwasaki Yudai acacba6f03 Support auto reconnection
A new option `--auto-reconnect` which takes seconds to reconnect is
added.
2015-08-24 07:14:24 +09:00
Iwasaki Yudai 4df9ac8059 Use `url.URL` for constructing URLs 2015-08-24 05:34:56 +09:00
Iwasaki Yudai ca14394ec8 Use `net.JoinHostPort` for better IPv6 handling 2015-08-24 05:22:47 +09:00
Iwasaki Yudai 5d2cdd2768 Show IPv6 addresses with `[` and `]`
So that users can open IPv6 URLs on web browsers.
2015-08-24 05:05:58 +09:00
Iwasaki Yudai ee45d8e145 Replace `user.Current()` with `os.Getenv("HOME")`
`os/user.Current()` is not available on Darwin when a binary is cross
compiled from another platform.
See also: https://github.com/golang/go/issues/6376
2015-08-24 04:48:49 +09:00
Iwasaki Yudai 39293933c5 Show error when failed to get current user 2015-08-23 23:28:56 +09:00
Iwasaki Yudai 45f65bfc29 Support profile files to customize hterm 2015-08-23 22:58:01 +09:00
Iwasaki Yudai ac0cb74f98 Log PermitWrite mode 2015-08-23 21:00:52 +09:00
Iwasaki Yudai a765d6c660 Set window title by control message 2015-08-23 20:54:46 +09:00
Iwasaki Yudai 67b54b7f20 Show command and hostname in windows title 2015-08-23 14:09:13 +09:00
Iwasaki Yudai b18d35f267 Show URLs on starting 2015-08-22 13:18:37 +09:00
Iwasaki Yudai 8923220528 Clean up `app.Run()` 2015-08-22 13:18:35 +09:00
Iwasaki Yudai beda1d7ab7 Close pty 2015-08-21 19:08:51 +09:00
Iwasaki Yudai b68e889762 Restructure handler function and move methods to clientContext 2015-08-21 19:01:09 +09:00
Iwasaki Yudai 25627da86f Restructure handler function 2015-08-21 19:01:09 +09:00
Iwasaki Yudai 5eea5067db Simplify structure of command messages
The first byte of a input message shows the type of that message.
0: normal keystrokes
1: resize window command
2015-08-21 19:01:06 +09:00
Iwasaki Yudai ce96943af2 Create App instance with struct of options 2015-08-21 18:30:44 +09:00
Shoji Ihara b15227c696 Random URL generation(Close #17) 2015-08-21 18:15:00 +09:00
Iwasaki Yudai 2aaa155a3e Call `Wait()` to prevent processes from being defunct 2015-08-21 12:36:26 +09:00
Iwasaki Yudai b4b9435b58 Don't send EOT
It was a bug that sending EOT when closing connection.
2015-08-21 12:34:15 +09:00
Iwasaki Yudai 10d0bd8a17 Log PID of processes for clients 2015-08-21 12:33:44 +09:00
Iwasaki Yudai 6a43836f0b Add `go fmt` to check format of code 2015-08-20 16:48:35 +09:00
mattn 791e1e22cb HTTP Basic Authentication support. Close #8 2015-08-20 15:40:38 +09:00
Iwasaki Yudai a09b060216 Show "Connection Closed" message as overlay
Closes #7.
2015-08-17 21:45:52 -07:00
Iwasaki Yudai 0718fbe7c4 Merge pull request #9 from shingt/fix-typo
Fix typo in starting message
2015-08-17 21:10:42 -07:00
David Horsley 8e5a277bb3 Only send EOF in writable sessions
Currently EOF is sent to the pty even when read-only mode is requested. This can cause trouble in attached tmux sessions, for example. Since the EOF typically used in shells as a shortcut exit, this can result in undesired disconnects.
2015-08-18 10:47:15 +10:00
shingt be0758777d Fix typo 2015-08-18 06:39:28 +09:00
Iwasaki Yudai 87f8409068 Replace UTF8 bounds check with utf8reader 2015-08-16 23:46:35 -07:00