Commit graph

107 commits

Author SHA1 Message Date
Sergey Frolov
2a9402b786 Fix TestWhitelistAllowing 2021-02-28 16:16:35 -07:00
Sergey Frolov
75511e6fbe Remove dialLocal 2021-02-28 15:04:44 -07:00
Matthew Holt
84f6867cde
Minor cleanups and tidying 2021-02-24 13:25:55 -07:00
Matthew Holt
509e7ecf8a
Finish updating tests for now 2021-02-08 15:12:37 -07:00
Matthew Holt
9fe12929b4
Run gofmt 2020-12-05 19:07:47 -07:00
Matthew Holt
9bab45d9d1
Merge branch 'master' into caddy2 2020-12-05 19:05:09 -07:00
Sergey Frolov
b3a96fb34d
Golang 1.15 support (#83)
* CI: bump Golang version to 1.15
* Update quic-go mod and it's dependencies
2020-12-05 02:10:08 -07:00
Sergey Frolov
87f2f2ffe0
Fix Probe Resist tests' output 2020-12-04 19:11:43 -07:00
Sergey Frolov
0c30e89e19
TestConnectAuthWrongProbeResist: add debug print 2020-12-04 19:07:04 -07:00
Sergey Frolov
ebb2fce603
revert TestConnectAuthWrongProbeResist
responseProbeResist and responseForwardProxy must be different
2020-12-04 19:00:31 -07:00
Matthew Holt
7b5b582619
General cleanup 2020-12-04 10:15:42 -07:00
klzgrad
8d6f47b4c4
Support v2 Caddyfile (#79)
* Fix probe_resistance config parsing

* Support Caddyfile

* Support HTTP/3

* Revert "Support HTTP/3"

This reverts commit f01c163ad5145cdb0a0756345a259310b2cd50aa.

* Fix review comments

* Update README.md to new directive names

* Use Caddy 2 logger
2020-10-01 21:14:08 -06:00
單dar 于ɦʷa
03a7df4bf7
Fix misuse of sync.Pool (#76) 2020-06-20 11:21:32 -06:00
Matthew Holt
e92fe979d0 Begin refactor for Caddy 2
All the tests pass. I tried to keep as much as possible the same, but a
few things don't translate well to Caddy 2, notably one test in
probe_resist_test.go on L200, I had to change that test case since I
didn't quite understand why it was the way it was before.

Does not yet have v2 Caddyfile support.
2020-04-20 17:22:47 -06:00
stmps
247c0bafaa Minor formatting of README (#69) 2019-10-02 13:52:48 -06:00
sergeyfrolov
f984f4655f
Remove out-of-date comments in header 2019-08-23 22:46:36 -06:00
sergeyfrolov
2c824de707
README: probe resistance update
Remove recommendation for secret links of the probe resistance feature to use *.localhost
2019-08-23 21:36:47 -06:00
sergeyfrolov
05540a763b
Change caddy path to github.com/caddyserver/caddy (#63) 2019-07-06 20:35:37 -06:00
sergeyfrolov
694cbc9ec0
Add realm to Proxy-Authenticate with probe resist (#58)
In #53 we added a realm to the Proxy-Authenticate header, but the realm
only is added, when `probe_resistance` is off.
With this change, Proxy-Authenticate header will have a realm
when `probe_resistance` is on as well.
2019-05-29 12:25:55 -06:00
Sergey Frolov
7af135a175 Doc update 2019-05-01 00:36:59 -06:00
Sergey Frolov
04b4aab23b Add go installable cmd/caddy 2019-05-01 00:36:50 -06:00
sergeyfrolov
b6aa109176
Go modularize forwardproxy (#56) 2019-04-30 15:27:41 -06:00
Sergey Frolov
77cd5d827e Fix up the tests after TLS changes in Caddy 2019-02-03 17:23:15 -07:00
Sergey Frolov
ae59fae1dc Add realm to Proxy-Authenticate header
Resolves #52

Squid's default realm is "Squid proxy-caching web server",
so I decided to give descriptive realm to Caddy as well.
2019-02-03 17:23:15 -07:00
sergeyfrolov
3dd9971580
Expand README, clarify about reverse proxy 2018-10-29 14:39:40 -06:00
sergeyfrolov
9bc935b615
CI: update link to golint 2018-10-12 12:49:31 -06:00
sergeyfrolov
9777d5b316
README: add build instructions 2018-10-12 12:36:38 -06:00
sergeyfrolov
05b2092e07
Add http.Transport + performance improvements (#47)
Add http.Transport + performance improvements
2018-08-17 17:01:52 -04:00
sergeyfrolov
4c991a9635
README: add gitter badge 2018-08-08 16:35:00 -04:00
Sergey Frolov
6bf4c3f426 Bump CI golang version 2018-08-02 10:40:04 -04:00
Sergey Frolov
a035ebe8d6 Change DialTLS signature
Make it look closer to standard Transport.DialTLS, because it's good to be
like standard things.
This also allows usage of thrid party TLS stacks, enabling
https://github.com/refraction-networking/utls.Roller integration.
2018-08-02 10:40:04 -04:00
sergeyfrolov
9ab4d8910e
Fix h2 tests (#42)
Fix tests: start actually using http2 in tests
2018-07-27 12:29:12 -04:00
sergeyfrolov
27401ebe3f
Add HTTPConnectDialer for upstream requests (#41)
- HTTP/2 support with connection reuse support
 - Allows to forward client's IP
2018-07-24 17:14:51 -04:00
sergeyfrolov
99689c1ec3
Make issue template forwardproxy specific 2018-07-06 11:49:27 -04:00
Sergey Frolov
3e8b65c3af Parse Host field
We stopped parsing hostname from Host field, this fixes it back.
Implicit port 80 is good not only for GET, so I changed the logic to try
port 80 on all non-connects.
While testing, I also realized that switchy omega doesn't actually presend credentials,
(somehow I thought it did), so I removed a link to it from the README.md to avoid
confusion.
Fixes #36
2018-07-03 13:09:44 -04:00
sergeyfrolov
7791846e12
Add Access Control Lists (#31)
We settled on a powerful, but a bit complicated acl design.
This commit makes a couple of cosmetic improvements. It also removes
http.Transport, which was previously used to dial and write http
requests for insecure GET requests. Now we have to dial manually,
so we can check the access control list.
2018-06-26 10:53:24 -04:00
sergeyfrolov
9ff8f882ff
Add upstream proxy support, fix tests, cosmetics (#27) 2018-06-15 16:36:08 -04:00
Sergey Frolov
6c88222892 Upgrade Travis CI golang version from 1.8 to 1.9 2018-02-04 11:27:30 -07:00
Sergey Frolov
e5b9ea4b7d Add contributing guide, PR and issue templates 2018-02-04 11:24:50 -07:00
sergeyfrolov
91e13119f3
Set HiddenPage's Content-Type to text/html (#19)
Subsumes #16
2018-01-31 06:50:59 -07:00
Jim Ma
12605a2195 Reuse the original request, avoid the abnormal ContentLength
Fixes: abnormal ContentLength; empty schema due to the out of position check.
Handling of  HTTP GET requests: original request and URL are now reused. `generateForwardRequest()` is removed for simplicity.
2017-12-08 14:48:49 -07:00
sergeyfrolov
0aa89fbcd7
README: add CI build status 2017-11-30 14:45:34 -07:00
sergeyfrolov
f02ca52169
Update .travis.yml 2017-11-30 14:41:08 -07:00
Sergey Frolov
b4141bbbc6 gofmt 2017-11-30 12:29:35 -07:00
Sergey Frolov
f606760cc4 Add option to hide "Via" header
Partially implements #8.
2017-11-27 11:23:05 -07:00
sergeyfrolov
b48024bc77
README: add note for secret link to be visitable 2017-11-27 11:02:19 -07:00
Sergey Frolov
362cf568a0 Add warning for uppercase secret domain
Partially addresses #7
2017-11-27 10:34:01 -07:00
sergeyfrolov
c54dd8ff23
Add notice about WebRTC to hide_ip section 2017-11-10 21:14:15 -07:00
sergeyfrolov
a4a240315c
More tweaks to README 2017-11-01 18:20:38 -06:00
Matt Holt
79d988ac98
More clarifications and tweaks to README 2017-11-01 17:50:45 -06:00