Commit Graph

36 Commits

Author SHA1 Message Date
Iwasaki Yudai
25a5bc0b89 Fix default config file loading 2015-08-28 21:11:46 -07: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
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
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
mattn
791e1e22cb HTTP Basic Authentication support. Close #8 2015-08-20 15:40:38 +09: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
Iwasaki Yudai
2050775288 Send EOT before exiting
The processes were left behind when clients closed their windows.
2015-08-16 22:24:24 -07:00
Iwasaki Yudai
abe3f5c89f Don't send invalid UTF-8 string
When a rune stands over the buffer boundary, invalid UTF-8 bytes were
sent to the client. Now the logic checks if the tail of the buffer can
be decoded as a valid rune. When it's an invalid byte sequence, the logic
keeps it in the buffer and send it in the next loop with the following byte sequence.
2015-08-16 19:07:02 -07:00
Iwasaki Yudai
cba86dd046 Initialize repository 2015-08-16 20:52:27 +09:00