34 Commits

Author SHA1 Message Date
Jaime Pillora 69093be1d9 Bump to Go 1.21 (#440)
Co-authored-by: cmeng <cmenginnz@gmail.com>
2023-08-19 11:00:41 +10:00
Paul Frischknecht 56ccb008ad Update server.go
spelling authenication -> authentication
2022-06-16 19:38:05 +02:00
Jaime Pillora 6ddc09d281 document udp, log client connection failures, expose more settings via env-vars 2020-11-17 04:53:43 +11:00
Jaime Pillora 6fce8e1e6e fix Server.Start error (closes #195) 2020-09-17 22:22:33 +10:00
Jaime Pillora d8b404bd02 add tls (and auto-certificate) support 2020-07-23 05:11:28 +10:00
Jaime Pillora 3ae61e5d5d add ResetUsers server method (closes #175) 2020-07-23 01:29:57 +10:00
Jaime Pillora 53e72fe2ba add udp support, massive refactor and more (see below)
* split out share/ package into multiple subpackages
* added share/compat.go to keep backward compatibility(ish)
* moved shared tunnelling logic from client/server packages into share/tunnel/
* added remote protocol "<host>:<port>/<protocol>", currently supporting tcp and udp
* added an end-to-end test suite
* added TODO e2e tests as contribution targets
* added deep context integration for improved cleanup and cancellation
2020-07-18 11:05:53 +10:00
Jaime Pillora 68050d031a merge client reverse+socks PR by @aus (closes #78)
- @aus's branch also includes PR for
custom headers, thanks @AkeemMcLennon  (closes #90)
- support client connections via socks
- add more architectures to the built releases
- remove vendor (go.sum will enforce correct deps)
2020-05-20 21:13:48 +10:00
Jaime Pillora 04d4f30dd6 upgrade deps, rename test/ to bench/, add goreleaser 2020-04-02 01:31:42 +11:00
aus 4a52b79310 enable real ip logging 2019-10-29 14:30:52 -05:00
aus c9b6bf910c change import url to aus/chisel 2019-08-28 11:44:25 -05:00
Anthony Lapenna f3a8df20e3 add a the ability to add/delete users dynamically (#107)
* add a the ability to add/delete users dynamically

* update the AddUser function to support multiple authorized addrs
2019-07-25 09:21:13 +10:00
Anthony Lapenna 18d8d6f71f add a GetFingerprint() getter to Server struct 2019-06-07 14:17:56 +12:00
Jaime Pillora d96b66e70b merged #72 which adds reverse tunnelling (thanks @sunshineco!), fixed potential race, USR2 to print go stats, many small cleanups 2018-12-29 22:51:40 +11:00
Eric Sunshine a11a3dd2dd server: add reverse port forwarding restrictions
Although reverse port forwarding (sharing client ports with the server)
should not generally leak any resources from the server to the client,
the facility may nevertheless be abused if the client is able to open a
server port which is otherwise meant for some other purpose on the
server. (This might happen, for instance, if a service on the server has
crashed or becomes somehow disabled, thus freeing the port which would
otherwise be occupied by the service.)

To mitigate such potential abuse, disable reverse port forwarding by
default and introduce server option --reverse to enable it explicitly.
Additionally, subject reverse port forwarding remotes to server-side
--authfile restrictions (for instance, "^R:0.0.0.0:7000$").
2018-12-23 16:25:45 -05:00
Eric Sunshine 777ce484f9 generalize connection statistics maintenance
Presently, only the server maintains connection statistics, however,
when reverse port forwarding is eventually supported by chisel, the
client will also want to do so. Rather than duplicating this
functionality in the client, generalize the existing functionality as
chshare.ConnStats, allowing it to be used by both client and server.
2018-12-23 16:25:44 -05:00
Eric Sunshine 7cfb8e424c fix documentation, comment, status message typos 2018-12-23 16:25:44 -05:00
Jaime Pillora 06c8264689 fix ssh handshake issue 2018-10-20 23:16:04 +11:00
Jaime Pillora b56ba689a8 merged health/version checks, more cleanup 2018-10-20 22:01:08 +11:00
Jaime Pillora 6997312c1f merge config file watch, minor cleanup 2018-10-20 21:35:49 +11:00
Rohith 00af5b2c96 Chisel Service Health Check
This adds a simple endpoint (nothing more than a 200 OK) on /health to check the chisel service is running
2018-01-17 12:29:31 +00:00
Rohith 1f07744c34 Users Reloading
The current implementation does not permit the reload on server configuration, this PR adds the feature permiting uses to dynamically reload config. Note, at the moment this does not kill off connection already authentication, I'll leave that to another PR
2018-01-17 11:35:02 +00:00
Matt Joiner 98a384727a Some trivial changes 2017-11-15 12:43:50 +11:00
Jaime Pillora 87a853937c add connection counts to verbose logs 2017-04-08 16:28:27 +10:00
Jaime Pillora 26c6b88579 dockerfile fix again, minor logging changes 2017-04-07 23:14:48 +10:00
Jaime Pillora 6cb3ab2186 added SOCKS5 server support, added HTTP CONNECT Proxy client support, improved cli, improve docs, added badges 2017-04-07 20:18:15 +10:00
Lyntor Paul Figueroa 5398b7dd6a Remove unnecessary changes 2016-06-10 19:19:37 +08:00
Lyntor Paul Figueroa 20eb65be57 Fix missing host in addr string 2016-06-09 22:15:33 +08:00
Jaime Pillora 74a9a324c4 added optional client keepalives 2015-03-20 16:08:41 +11:00
Jaime Pillora 4f600f65d9 docs, added timeout to client handshake 2015-03-19 13:06:30 +11:00
Jaime Pillora 1871137e32 ssh working, user auth working, addr whitelisting (mostly) working 2015-03-19 02:41:17 +11:00
Jaime Pillora 68eb79a634 progressing to users and remote address whitelists 2015-03-19 01:25:20 +11:00
Jaime Pillora 5dd999f0ad renamed auth to key, fixed docs 2015-03-17 08:53:33 +11:00
Jaime Pillora 0b084da1d0 combined both programs into one, with two subcommands 2015-03-16 18:49:09 +11:00