Commit Graph

59 Commits

Author SHA1 Message Date
Iwasaki Yudai
57923e98c4 Merge pull request #67 from freakhill/master
support for client certificate
2015-10-04 20:43:55 -07:00
Manfred Touron
f75cc9771a
Add 'Server' HTTP header with current GoTTY version
$ curl -I http://gotty.server/
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Content-Length: 407
    Content-Type: text/html; charset=utf-8
    Last-Modified: Fri, 02 Oct 2015 08:04:28 GMT
    Server: GoTTY/0.0.10
    Date: Fri, 02 Oct 2015 08:04:28 GMT
2015-10-02 10:14:01 +02:00
Iwasaki Yudai
096f77c780 Merge pull request #68 from QuentinPerez/mutex
Added mutex to avoid concurrent writes
2015-09-30 12:32:50 -07:00
Quentin Perez
6500449916 Added mutex to avoid concurrent writes 2015-09-30 16:59:38 +02:00
Johan Gall
7e11f664d9 support for client certificate
run go fmt
2015-09-29 00:42:34 +09:00
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