Commit Graph

103 Commits

Author SHA1 Message Date
mo
5c0531b64d add original reference 2020-04-19 17:13:57 +08:00
mo
f9d8b24022 fix readme 2020-04-19 17:11:00 +08:00
mo
b4107cb925 add go mod
use standard packet context
2020-04-19 17:08:22 +08:00
Armon Dadgar
e75332964e Merge pull request #14 from stbuehler/feature-without-resolve
support not resolving FQDN
2016-09-02 11:42:37 -07:00
Armon Dadgar
770e040d1c Merge pull request #13 from stbuehler/feature-half-close-interface
half-close all connections supporting `CloseWrite() error`
2016-09-02 11:38:53 -07:00
Stefan Bühler
d948001d94 support not resolving FQDN
Although one can put the FQDN into the context and retrieve it later, this
makes it more straightforward.

Usecase: forwarding to another (SOCKS-)proxy, filtering/routing based on FQDN.
2016-08-14 12:22:40 +02:00
Stefan Bühler
836d3b2bda half-close all connections supporting CloseWrite() error
Usecase: support TCP and UNIX connections, support "wrapped" connections (peek
first bytes to support multiple protocols on one listening socket).
2016-08-14 12:15:52 +02:00
Armon Dadgar
b34cad17d2 Merge pull request #11 from cybozu-go/master
golang.org/x/net/context support
2016-03-20 16:33:43 -07:00
ymmt2005
385bbe4759 Add golang.org/x/net/context support.
Read http://blog.golang.org/context for its benefits.

This PR has not utilized contexts yet; just passing them
to every customization points to help them add/retrieve
request context values.
2016-03-08 23:29:11 +09:00
Armon Dadgar
3a873e99f5 Merge pull request #9 from ymmt2005/master
Let proxy pass down EOF (FIN) to the other end.
2016-02-26 11:28:52 -05:00
ymmt2005
66ca0497df Let proxy pass down EOF (FIN) to the other end.
This PR improves proxy() implementation so that it passes down EOF
(i.e. TCP FIN) from the read end to the write end by using
TCPConn.CloseWrite().  This is a must for TCP proxy as TCP sockets
can be half-closed.

Moreover, Server.handleConnect() should wait for two acks from
errCh to guarantee that the communication is completely over.
This is also fixed.

Lastly, noisy debug log is removed.
2016-02-23 20:35:36 +09:00
Armon Dadgar
8a8737ba34 Merge pull request #8 from getlantern/master
Made dialer configurable
2016-02-05 17:12:22 -08:00
Ox Cart
d251d351c1 Cleaned up address construction 2016-02-05 06:51:42 -06:00
Ox Cart
0126026885 Made dialer configurable 2016-02-04 13:25:27 -06:00
Armon Dadgar
b7e3cc6811 Merge pull request #6 from ap4y/request_struct
Auth based rewrites and rulesets
2016-01-18 14:18:52 -08:00
ap4y
eb24bec29f Use new Request struct for the Server api 2016-01-11 21:24:54 +13:00
ap4y
ae345732fa Refactor handleRequest using new Request struct 2016-01-11 21:01:29 +13:00
ap4y
353e906a7b Introduce AuthContext struct and refactor auth api using it 2016-01-11 20:52:06 +13:00
ap4y
aad92b1d46 Refactor RuleSet api using Request struct 2016-01-11 20:37:41 +13:00
ap4y
1fcd99d996 Use Request struct in rewrite interface 2016-01-11 20:29:20 +13:00
ap4y
8a2ebe32dc Introduce Request struct
Encapsulates state of the incoming request
2016-01-11 20:21:34 +13:00
Armon Dadgar
00354d696e Merge pull request #5 from svent/add-logger-to-config
Add configuration option for the log target
2015-09-11 11:46:39 -07:00
svent
05a64adbf8 Adjust tests to use the logger config option 2015-09-07 02:19:34 +02:00
svent
1b0ce4078f Add configuration option for the log target 2015-09-07 01:47:05 +02:00
Armon Dadgar
e586115c2d Usage example 2014-06-27 13:39:00 +08:00
Armon Dadgar
4ead3ac2f3 Ensure backwards compatibility of configuration 2014-02-22 12:31:12 -08:00
Armon Dadgar
94cefb4919 Merge pull request #1 from bigmartha/master
Pluggable authentication mechanisms.
2014-02-22 12:28:36 -08:00
bigmartha
6ac72d6c4a Pluggable authentication mechanisms. 2014-02-18 17:21:03 +03:00
Armon Dadgar
df5acec0ee Testing failure rules 2014-02-13 10:49:35 -08:00
Armon Dadgar
85e909eb88 Fixing bind port return value 2014-01-24 14:31:58 -08:00
Armon Dadgar
4d1f2ce7ad Always send an address in the reply, set to zero 2014-01-24 14:20:55 -08:00
Armon Dadgar
c9813fbde2 Add support for address rewriting 2014-01-23 16:55:08 -08:00
Armon Dadgar
86690d7131 Expose AddrSpec 2014-01-23 16:46:32 -08:00
Armon Dadgar
b6ffce37c3 Fix a panic condition 2014-01-23 16:23:59 -08:00
Armon Dadgar
08b93ecec3 Prefix logs with 'socks' 2014-01-23 15:55:54 -08:00
Armon Dadgar
633d3d7152 Clarify log messages 2014-01-23 15:17:43 -08:00
Armon Dadgar
17966cd8fe Adding Travis CI support 2014-01-23 14:25:04 -08:00
Armon Dadgar
3ef4eaaa59 Fill out the README 2014-01-23 14:22:07 -08:00
Armon Dadgar
197b77d49f Adding end to end test 2014-01-23 14:16:44 -08:00
Armon Dadgar
9aca0ed614 Testing the CONNECT handling 2014-01-23 14:07:39 -08:00
Armon Dadgar
5437f80e57 Support for the CONNECT command 2014-01-23 13:42:35 -08:00
Armon Dadgar
39ddd6adce Apply rules to command 2014-01-23 13:11:58 -08:00
Armon Dadgar
33b28de3c3 Resolver uses net.IP 2014-01-23 13:07:13 -08:00
Armon Dadgar
d543a0147b Working on request parsing 2014-01-23 12:04:20 -08:00
Armon Dadgar
3c27508400 Use net.IP instead of IPAddr 2014-01-23 11:42:09 -08:00
Armon Dadgar
a56c8ea151 Adding request file 2014-01-23 11:29:13 -08:00
Armon Dadgar
5c369f00d4 Adding base socks server 2014-01-23 11:28:30 -08:00
Armon Dadgar
6c690b91b0 Adding authentication handlers 2014-01-23 11:27:48 -08:00
Armon Dadgar
aa25f19bf1 Adding simple ruleset interface 2014-01-23 11:15:53 -08:00
Armon Dadgar
7223243430 Adding simple resolver interface 2014-01-23 11:14:06 -08:00