Darhwa
8e791e92bc
Further strip unique signatures of tls handshake
...
1. allow users to disable session ticket
2. set default alpn to ["h2", "http/1.1"]
2020-06-18 11:32:37 +08:00
Xiaokang Wang
e4ec9807a2
Merge pull request #12 from zhuobixin/master
...
LocalAddr() should return local address
2020-06-10 17:45:08 +08:00
Shelikhoo
00103d1f73
Fix tests
2020-06-08 16:16:50 +08:00
Shelikhoo
09b81b78c3
regenerate pb data
2020-06-08 16:16:32 +08:00
zhuobixin
dc906cf68a
LocalAddr() should return local address
2020-06-05 11:17:02 +08:00
Kslr
cfbb875546
Revert "Reduce http proxy client overhead by 1RTT"
2020-03-19 19:11:17 +08:00
vcptr
5d13ec9196
code style optmize in dispatch func
2020-03-12 00:42:29 +08:00
vcptr
04a0c04934
doh route strategy optimized
2020-03-12 00:42:29 +08:00
Anonymous-Someneese
82dee01833
Fix reverse proxy with the HTTP optimization
...
And any other protocol that require the connection initializer to send first, E.g. freedom with TFO.
2020-03-12 00:42:29 +08:00
mzz2017
7f4f8091f9
feat/fix: dns query subscriptions group by A and AAAA. fix problem that empty result would poll dns server in DoH mode
2020-03-12 00:42:29 +08:00
mzz2017
4a663f2b25
fix( #2211 ): problem that AAAA query returns A result
2020-03-12 00:42:29 +08:00
ghost
02b658cd2b
revert broken dns changes
2020-01-01 10:23:14 +08:00
vcptr
d6df5d7cf9
doh URL controls full path
2019-12-09 09:37:35 +08:00
vcptr
b4b4b3d032
doh config use RFC8484 url format
2019-12-06 12:55:14 +08:00
vcptr
59e3a2a67c
add comments to exported func
2019-11-26 13:24:46 +08:00
vcptr
ceb77ac8f5
only add to ipIndexMap if GeoIP is configured
...
clearer logging for expectIPs
refactor dns init code
optimal to default port logic
clear message exit if doh met error
2019-11-26 13:05:19 +08:00
vcptr
6ef77246ab
add DOH dns client
2019-11-25 15:41:36 +08:00
vcptr
3b9514ec9f
minor optm
2019-11-22 17:57:16 +08:00
vcptr
fa30713e76
minor changes to dns from pr #2037
2019-11-22 17:40:24 +08:00
Kslr
e52d3fa90b
Merge pull request #2037 from weaving118/master
...
add ip match feature for dns
2019-11-21 22:15:26 +08:00
weaving118
debb7f0c44
ignore if domain already lookup failed
2019-11-21 02:32:09 +08:00
weaving118
1345185b81
add errExpectedIPNonMatch and return nil if empty response
2019-11-21 01:09:23 +08:00
weaving118
e916a3b29d
update confip ip to expectIPs
2019-11-20 17:20:33 +08:00
vcptr
54f903040a
early inited log
2019-11-19 14:06:25 +08:00
weaving118
101f5d32fa
add ip match feature for dns
2019-11-18 23:48:42 +08:00
fcying
1cc7702c51
check detour tag size
2019-10-27 23:14:08 +08:00
fcying
fa926a1d1d
access log add detour tag
2019-10-27 14:24:50 +08:00
vcptr
385fed08de
fix: allow tls outbound http proxy outbound
2019-10-25 18:00:01 +08:00
Yingyu Cheng
1b1146dbaa
fix segment fault when use api remote config
2019-07-20 16:54:58 +08:00
vcptr
01e3a5f809
add StatsService.GetSysStats
2019-07-08 14:12:17 +08:00
Kirill Motkov
0401a91ef4
Some code improvements
...
* Rewrite empty string checks more idiomatically.
* Change strings.ToLower comparisons to strings.EqualFold.
* Rewrite switch statement with only one case as if.
2019-06-28 17:53:44 +03:00
Kslr
66cba31123
return error instead of panic, fixes #1638
2019-04-14 08:57:01 +08:00
Darien Raymond
02d8845093
add scripting support for attributes matching
2019-02-28 14:04:43 +01:00
Darien Raymond
0d31a68694
extract all session context before checking conditions
2019-02-28 09:28:55 +01:00
Darien Raymond
95583b5031
support range list in routing rule
2019-02-24 23:43:00 +01:00
Darien Raymond
3828a463ea
move sniffing request to session
2019-02-23 00:27:21 +01:00
Darien Raymond
95ed5a5ff8
comments
2019-02-23 00:01:23 +01:00
Darien Raymond
7e5e080488
move sniffing result to session
2019-02-22 16:58:16 +01:00
Darien Raymond
f41b07395a
fix error propagation for nxdomain
2019-02-21 15:17:04 +01:00
Darien Raymond
bb8465e1d6
fix dns parsing for unknown header types
2019-02-21 15:04:33 +01:00
Darien Raymond
9957c64b4a
correctly propagate dns errors all the way through.
...
the internal dns system can correctly handle the cases where:
1) domain has no A or AAAA records
2) domain doesn't exist
fixes #1565
2019-02-21 13:43:48 +01:00
Darien Raymond
c27050ad90
fix usability for both IPv4 and v6 in static dns mapping
2019-02-21 00:03:31 +01:00
Darien Raymond
6c31049295
add some log to dns lookup
2019-02-12 21:04:28 +01:00
Darien Raymond
4eb2b5e607
merge ext into core
2019-02-10 19:04:11 +01:00
Darien Raymond
932e09a388
remove dep of assert lib
2019-02-09 15:46:48 +01:00
Darien Raymond
2aa0c08709
check domain name
2019-02-06 21:02:03 +01:00
Darien Raymond
836440c61a
dns outbound proxy
2019-02-06 10:21:04 +01:00
Darien Raymond
bdd71a44b4
remove dep on assert lib
2019-02-02 22:19:30 +01:00
Darien Raymond
1ab94fed79
optimize v2ctl size
2019-02-01 20:08:21 +01:00
Darien Raymond
3b02c02ab4
Revert "move init func to separate files"
...
This reverts commit 3de50a6412
.
2019-02-01 16:56:43 +01:00
Darien Raymond
3de50a6412
move init func to separate files
2019-02-01 16:21:42 +01:00
Darien Raymond
c9958681f7
remove dependency on assert lib
2019-01-31 20:57:01 +01:00
Darien Raymond
ffb3793b26
support domain to domain mapping in static host
2019-01-30 21:04:29 +01:00
Darien Raymond
44d87ed642
inbound tag for dns requests
2019-01-16 20:32:41 +01:00
Darien Raymond
defc93c49d
rename dispatcher to handler
2019-01-12 09:44:59 +01:00
Darien Raymond
163776b182
remove dependency on assert lib
2019-01-08 23:27:02 +01:00
Darien Raymond
edd71de1c3
remove dependency on assert lib
2019-01-07 23:27:59 +01:00
Darien Raymond
4468c60b95
remove usage on assert lib
2019-01-06 23:30:38 +01:00
Darien Raymond
b52725cf65
DialUDP function
2019-01-05 21:43:22 +01:00
Darien Raymond
3de8389361
rename CloseError() to Interrupt()
2018-12-31 21:25:10 +01:00
Darien Raymond
d35c407419
fix #1493
2018-12-31 10:43:08 +01:00
Darien Raymond
1c830472b9
dns protocol package
2018-12-29 09:03:32 +01:00
Darien Raymond
daa8c9c5da
rename NameServerInterface to Client
2018-12-28 20:28:31 +01:00
Darien Raymond
fc1e660c27
change net.IP to net.Address
2018-12-28 20:15:22 +01:00
Darien Raymond
7f1bd9f522
comment
2018-12-27 21:13:02 +01:00
Darien Raymond
0ca762e0e2
fix a deadlock in cacheReader. fix #1471
2018-12-11 09:17:10 +01:00
Darien Raymond
30b5bffad4
support custom log handler
2018-12-06 17:37:05 +01:00
Darien Raymond
b9450d8475
Revert "use default logger for android and ios"
...
This reverts commit 9743380e2d
.
2018-12-06 17:03:15 +01:00
Darien Raymond
9743380e2d
use default logger for android and ios
2018-12-06 14:40:45 +01:00
Darien Raymond
82d562d1f0
use session.Outbound.ResolvedIPs
2018-12-04 20:36:51 +01:00
Darien Raymond
bea521537e
errors.Combine
2018-12-04 14:17:08 +01:00
Darien Raymond
e5314cfb56
domain property
2018-12-01 21:02:36 +01:00
Darien Raymond
057e271588
update proto lib
2018-12-01 17:39:51 +01:00
Darien Raymond
39a092b178
fix #1427
2018-11-22 19:07:49 +01:00
Darien Raymond
9cad27e9bd
skip answer if it is not A or AAAA record
2018-11-22 17:16:44 +01:00
Darien Raymond
1cc3a4832d
fix logic for adding localhost dns
2018-11-22 16:29:09 +01:00
Darien Raymond
3eac22c27d
add missing changes
2018-11-21 14:55:05 +01:00
Darien Raymond
bb8cab9cc7
change from map to slice
2018-11-20 17:15:11 +01:00
Darien Raymond
769f770cf7
migrate NetworkList to []Network
2018-11-20 16:58:26 +01:00
Darien Raymond
7b80322b60
fix function signature
2018-11-20 16:12:14 +01:00
Darien Raymond
6543f5825b
remove usage of NetworkList in NetworkMatcher
2018-11-20 12:27:33 +01:00
Darien Raymond
b9c8506c23
optimize network matcher
2018-11-20 12:25:56 +01:00
Darien Raymond
8a82a3664c
pick IP family by local address in freedom
2018-11-19 21:36:46 +01:00
Darien Raymond
bb1efdebd1
support querying either IPv4 or IPv6 dns
2018-11-19 20:42:02 +01:00
Darien Raymond
afc613f8f3
test case for edns0_subnet
2018-11-19 14:13:20 +01:00
Darien Raymond
d013e8069d
switch to stdlib for dns queries
2018-11-19 13:13:02 +01:00
Darien Raymond
842a089dad
refactor multibuffer
2018-11-18 19:36:36 +01:00
Darien Raymond
0f324a613e
remove MultiBuffer.Release
2018-11-17 22:45:07 +01:00
Darien Raymond
2364f5f280
remove AddressFamily.Either()
2018-11-16 11:13:36 +01:00
Darien Raymond
a01fdc29a6
remove NewMultiBufferValue
2018-11-16 11:08:12 +01:00
Darien Raymond
24288a74a2
update tests
2018-11-15 11:17:20 +01:00
Darien Raymond
a14fae4b35
fix lint warnings
2018-11-13 23:19:58 +01:00
Darien Raymond
58221ebae1
optimize multi-geoip matcher
2018-11-07 23:57:06 +01:00
Darien Raymond
2cc92920fa
test case for balancer
2018-11-07 21:25:43 +01:00
Darien Raymond
73d3be424b
prototype for balancing rules
2018-11-07 21:08:20 +01:00
Darien Raymond
6e82128dc9
remove unused code
2018-11-05 11:36:05 +01:00
Darien Raymond
e13def10c4
more test cases
2018-11-04 19:14:17 +01:00
Darien Raymond
3ccdecaf8f
remove vio package
2018-11-03 13:05:23 +01:00
Darien Raymond
128a90b98b
move link to transport
2018-11-03 12:36:29 +01:00
Darien Raymond
f7b96507f9
simplify buffer extension
2018-11-02 21:34:04 +01:00
Darien Raymond
815c7f09ba
migrate to std lib
2018-11-02 15:47:58 +01:00
Darien Raymond
58e2ed3381
remove closure on ReadFullFrom
2018-11-02 15:01:33 +01:00
Darien Raymond
9360448c59
improve geoip matching performance
2018-11-02 12:30:45 +01:00
Darien Raymond
41956e92a5
migrate to the new geoip matcher
2018-11-01 21:43:16 +01:00
Darien Raymond
5400153827
sort cidr list before use
2018-11-01 21:30:36 +01:00
Darien Raymond
15cd999ed3
comments
2018-11-01 10:39:03 +01:00
Darien Raymond
c73e899f54
prototype for high performance geoip matcher
2018-11-01 09:10:41 +01:00
Darien Raymond
ee74256aac
sort.Interface for CIDR list
2018-11-01 08:44:11 +01:00
Victoria Raymond
2fcc011afe
Merge pull request #1343 from wuxiangzhou2010/patch-2
...
fix a typo
2018-10-29 20:39:54 +01:00
Darien Raymond
ff310d6bc6
detect underlying mux worker closed
2018-10-29 12:51:56 +01:00
Wuxiang
3a4371ad21
fix a typo
2018-10-29 19:24:17 +08:00
Darien Raymond
f3ad8acbe4
release bridge worker when inactive
2018-10-28 21:46:12 +01:00
Darien Raymond
f1ab89d9d8
long running reverse test case
2018-10-28 09:08:43 +01:00
Darien Raymond
715ac9d267
test case for reverse proxy
2018-10-28 07:27:07 +01:00
Darien Raymond
2020bbe606
prototype for reverse proxy
2018-10-28 00:03:11 +02:00
Darien Raymond
53870f1ea7
refactor mux client worker
2018-10-25 09:32:03 +02:00
Darien Raymond
284923664a
split worker picker from client manager
2018-10-24 22:34:48 +02:00
Darien Raymond
f122d0e518
update proto generated files
2018-10-24 12:02:48 +02:00
Darien Raymond
9e66f315e6
update mocks
2018-10-23 22:41:27 +02:00
Darien Raymond
4988b5ad9a
update protbuf gen files
2018-10-23 22:36:33 +02:00
Darien Raymond
5fc606ce9d
relocate mocks
2018-10-23 22:27:45 +02:00
Darien Raymond
838f2919ab
move mux to common
2018-10-23 12:21:12 +02:00
Darien Raymond
c2566e1331
cleanup unused scenarios
2018-10-22 22:40:53 +02:00
Darien Raymond
17e51b277b
move proxy.Dialer to internet.Dialer
2018-10-22 22:12:50 +02:00
Darien Raymond
ed2779e333
more test case for router
2018-10-22 20:59:01 +02:00
Darien Raymond
39134c1b82
remove unnecessary sleep
2018-10-22 16:14:00 +02:00
Darien Raymond
f78cf6cfc2
testing with mock
2018-10-22 15:58:52 +02:00
Darien Raymond
307aac26b3
simplify dependency resolution
2018-10-22 11:26:22 +02:00
Darien Raymond
9decb3fe36
comments
2018-10-22 08:42:10 +02:00
Darien Raymond
ab9ae703fc
remove config from outbound.Handler
2018-10-22 08:26:03 +02:00
Darien Raymond
c29f1c8cf0
merge duplicated code
2018-10-21 21:27:05 +02:00
Darien Raymond
a5dcb0f13e
refactor dependency resolution
2018-10-21 10:27:13 +02:00
Darien Raymond
fb7dd1a577
fix #1322
2018-10-19 06:45:10 +02:00
Darien Raymond
dcae6c63dd
move size stats writer into vio
2018-10-15 09:03:40 +02:00
Darien Raymond
33becfe553
comments
2018-10-15 08:51:24 +02:00
Darien Raymond
595f3d685e
merge user info inbound metadata
2018-10-15 08:36:50 +02:00
Darien Raymond
cb8e7dc9a0
comments
2018-10-14 08:23:49 +02:00
Darien Raymond
e2bfdec012
rename ReadFrom to Unmarshal
2018-10-14 08:05:23 +02:00
Darien Raymond
abf0cb1ec4
move function to features
2018-10-13 15:15:49 +02:00
Darien Raymond
d730637239
Require Type() for Feature
2018-10-12 23:57:56 +02:00
Darien Raymond
c3170dfc8e
fix dns client
2018-10-11 23:09:15 +02:00
Darien Raymond
b4821c5ed5
move policy and dnsClient
2018-10-11 22:34:31 +02:00
Darien Raymond
273342d0b9
move stats and inbound to features directory
2018-10-11 21:14:53 +02:00
Darien Raymond
b6dc31d3fe
first part to move feature interfaces into dedicated directory
2018-10-11 20:43:37 +02:00
Iskander Sharipov
4dfe45ec19
app/router: rewrite if-else chain to switch
...
From effective Go: https://golang.org/doc/effective_go.html#switch
> It's therefore possible—and idiomatic—to write an if-else-if-else chain as a switch.
2018-10-01 12:07:19 +03:00
Darien Raymond
091fa6ad23
use new errorgen
2018-09-30 23:08:41 +02:00
Darien Raymond
56ce5d5f84
use new context
2018-09-30 23:08:14 +02:00
Darien Raymond
d55fbd7f8d
simplify error creation
2018-09-30 18:39:53 +02:00
Darien Raymond
00ea6e3cb2
update protobuf generated files
2018-09-30 18:39:28 +02:00
Darien Raymond
f9f8c21a07
move framemeta onto stack
2018-09-26 13:01:12 +02:00
Darien Raymond
9d646d6039
support tproxy in tcp connections
2018-09-23 20:14:07 +02:00
Darien Raymond
909cb9b27a
announce deprecated proto settings
2018-09-21 16:54:06 +02:00
Darien Raymond
5649c7ba2d
support regex domain type in dns
2018-09-19 16:10:42 +02:00
Darien Raymond
94b880d060
move session based info into session package
2018-09-18 23:09:54 +02:00
Darien Raymond
383b84e7dd
unified tproxy option
2018-09-17 15:12:58 +02:00
Darien Raymond
d068f357bd
update proto lib
2018-09-14 11:00:59 +02:00
Darien Raymond
f9436b3556
skip DNS tests on windows
2018-09-10 23:43:17 +02:00
Darien Raymond
813fdb6235
Revert "move away from dns.Server.ListenAndServe"
...
This reverts commit f0a801142d
.
2018-09-10 23:41:52 +02:00
Darien Raymond
f0a801142d
move away from dns.Server.ListenAndServe
2018-09-10 22:58:37 +02:00
Darien Raymond
dad0892a39
wait until dns server is up
2018-09-10 22:29:35 +02:00
Darien Raymond
156af4241d
add some logs
2018-09-10 22:12:07 +02:00
Darien Raymond
b3847fb7c0
MemoryStreamSettings
2018-09-07 14:50:25 +02:00
Darien Raymond
91109f3657
replace channel with pipe in udp conn
2018-09-03 00:56:43 +02:00
Darien Raymond
1be86e6e3a
update activity in ReadMultiBuffer
2018-09-01 21:19:01 +02:00
Darien Raymond
de74460f15
extract logic for write frame
2018-08-31 15:15:40 +02:00
Darien Raymond
eb05a92592
dont start periodic task until necessary
2018-08-29 23:00:01 +02:00
Darien Raymond
89fa9367ba
release buffer on error
2018-08-29 16:42:14 +02:00
Darien Raymond
ce96941029
reduce waiting time on sniffing
2018-08-28 19:52:31 +02:00
Darien Raymond
54e1bb96cc
introduce in-memory user
2018-08-27 00:11:32 +02:00
Darien Raymond
f227e85b54
support per-domain prioritized name server
2018-08-24 21:51:03 +02:00
Darien Raymond
128ec95218
merge stread reader from mux to crypto
2018-08-23 10:39:53 +02:00
Darien Raymond
4e30ac33d0
reduce delay on passive connections
2018-08-21 23:09:45 +02:00
Darien Raymond
d828aa2fba
add full domain matching
2018-08-21 21:30:32 +02:00
Darien Raymond
059dfdbb97
doc for strmatcher interface
2018-08-20 15:39:58 +02:00
Darien Raymond
fca324a399
fix build break
2018-08-19 22:28:02 +02:00
Darien Raymond
edcf564dd7
improve performance of domain matcher
2018-08-19 21:04:15 +02:00
Darien Raymond
fdb3a7b57d
remove use of buf.NewSize()
2018-08-16 12:05:33 +02:00
Darien Raymond
053fc38d38
refine udp hub api
2018-08-11 22:35:01 +02:00
Darien Raymond
c0fc277551
fix mux closing logic
2018-08-05 18:57:41 +02:00
Darien Raymond
ef679bddbd
test case
2018-08-02 13:28:13 +02:00
Darien Raymond
200ce404c6
fix buffer settings
2018-07-31 16:46:37 +02:00
Darien Raymond
206f52affc
refine buffer interface
2018-07-30 22:45:06 +02:00
Darien Raymond
4b63638dca
update protobuf lib
2018-07-25 00:36:28 +02:00
Darien Raymond
cd7a8595d9
fix #1207
2018-07-23 23:39:55 +02:00
Darien Raymond
72b4fa4a14
fix #1205
2018-07-21 12:11:49 +02:00
Darien Raymond
6276bfa508
rename domain override
2018-07-20 13:09:42 +02:00
Darien Raymond
ecd45ffb65
propagate error when adding domain condition
2018-07-17 17:53:24 +02:00
Darien Raymond
c0e37ef34a
prototype for new sniffing mechanism
2018-07-16 13:47:00 +02:00
Darien Raymond
b288b3c773
grpc for QueryStats
2018-07-10 23:40:58 +02:00
Darien Raymond
e3cc852c57
udp dispatcher takes context with dispatching requests. fixes #1182 .
2018-07-03 21:38:02 +02:00
Darien Raymond
463a9cbef8
tweak dns options
2018-07-02 22:22:04 +02:00
Darien Raymond
4c18b61e6c
fix dns query for CNAME
2018-07-01 17:15:29 +02:00
Darien Raymond
4368edf87c
switch to pubsub in dns service
2018-07-01 12:38:40 +02:00
Darien Raymond
b05597df3a
fix passive connection in mux. fix #1167
2018-06-27 12:21:22 +02:00
Darien Raymond
c9e35bb1ba
fix localnameserver creation
2018-06-27 11:23:39 +02:00
Darien Raymond
69820788b5
fix #1165
2018-06-27 09:12:55 +02:00
Darien Raymond
4477e7436b
simplify client ip design
2018-06-26 23:23:59 +02:00
Darien Raymond
d5f7728acd
support subdomain matching in dns hosts
2018-06-26 22:34:05 +02:00
Darien Raymond
cb0eb91f2b
strmatcher
2018-06-26 21:57:41 +02:00
Darien Raymond
ed34adf967
set udp size in edns
2018-06-26 17:26:34 +02:00