Commit Graph

221 Commits

Author SHA1 Message Date
mzz2017
2ff7e1ba47 feat: add config dir as extern geosite search dir. fix #41 2023-03-25 00:57:04 +08:00
mzz2017
07ff753cf3 optimize: give warning instead of error when invalid domain is given in routing 2023-03-25 00:36:01 +08:00
mzz2017
a04a6be76b feat: support to auto detect WAN interface 2023-03-24 13:30:02 +08:00
mzz2017
a3bf4e1ebd fix: potential overwriting deadline of DNS upstream resolution 2023-03-24 02:35:09 +08:00
mzz2017
6d0d5b899a fix: mac routing would cause bad WAN network 2023-03-23 15:46:58 +08:00
mzz2017
b69cb63a11 fix: rollback reloading and refresh fixed outbound alive state 2023-03-23 15:34:56 +08:00
mzz2017
7adbb2fbb9 chore: zip full source and upload it to release 2023-03-22 23:38:34 +08:00
mzz2017
4592be2320 fix: potential panic and check upstreams format before using them 2023-03-21 18:27:30 +08:00
mzz2017
948cfd3f7f docs: need CONFIG_KPROBE_EVENTS for bpf features judging 2023-03-21 16:11:11 +08:00
mzz2017
40bcbd6c9b docs: need CONFIG_BPF_EVENTS for bpf features judging 2023-03-21 16:07:56 +08:00
mzz2017
950e446183 chore: use CORE_read_user instead of probe_read_user 2023-03-21 13:15:06 +08:00
mzz2017
feaf05af08 chore: allow NOSTRIP 2023-03-17 15:37:12 +08:00
mzz2017
fe3f9c62c3 optimize: refine dns cache behaviour 2023-03-17 13:13:49 +08:00
mzz2017
029f35ce14 optimize: send dns req repeatly until receiving a resp 2023-03-16 23:36:42 +08:00
mzz2017
94f56fcccb fix: should check index before finding outbound 2023-03-16 22:32:48 +08:00
mzz2017
160e17f6e7 fix: should intercept dns traffic even if no dns upstreams 2023-03-16 14:42:08 +08:00
mzz2017
c2d2b0d58f chore: more prompts 2023-03-15 18:15:07 +08:00
mzz2017
86547c6522 feat: add dial_mode domain++ 2023-03-14 18:22:21 +08:00
mzz2017
e2964ee6aa chore: transferred to daeuniverse 2023-03-14 15:01:55 +08:00
mzz2017
a6c2a077db optimize: lower the requirement of bootstrap memory 2023-03-14 13:54:43 +08:00
mzz2017
c086e21998 optimize: should keep the same ID of DNS req and resp 2023-03-14 13:17:13 +08:00
mzz2017
2b25e789db feat: support to suspend 2023-03-14 00:34:38 +08:00
mzz2017
ea568ebce5 fix: should disable rush-answer detecting when dns packet sent to loopback 2023-03-13 22:55:40 +08:00
mzz2017
207c3430eb fix: bad behaviour of must_direct 2023-03-13 22:04:02 +08:00
mzz2017
f061ca7884 optimize(dial_mode): cache for real domain 2023-03-13 16:40:37 +08:00
mzz2017
bbc5b77020 optimize: more accurate dial_mode:domain 2023-03-13 15:52:44 +08:00
mzz2017
3b8ae5eb18 chore: prompt 2023-03-13 14:25:14 +08:00
mzz2017
6736979c57 chore: prompt for memory at startup 2023-03-13 13:29:23 +08:00
mzz2017
5807a7c11a feat: should support to run on ipv6 disabled machines 2023-03-04 21:16:09 +08:00
mzz2017
fd43971eab chore: support docker. fix #30 2023-03-04 13:16:26 +08:00
mzz2017
4706f58d22 fix: dead loop if no dns upstream given 2023-03-03 16:53:09 +08:00
mzz2017
dced73cfdb Revert "chore: include compiled file for lib use"
This reverts commit a25d948515.
2023-03-03 15:33:31 +08:00
mzz2017
a25d948515 chore: include compiled file for lib use 2023-03-03 15:22:11 +08:00
mzz2017
c15c0ee410 fix: should roll back configuration if failure of reload 2023-03-02 22:25:51 +08:00
mzz2017
0433f8d5da fix: should reset kernel program outbound alive status every reload 2023-03-02 21:28:30 +08:00
mzz2017
1eaf4bb7f6 fix: bad udp behaviour 2023-03-02 21:09:24 +08:00
mzz2017
f3845bd452 fix: potential panic 2023-03-01 11:36:08 +08:00
mzz2017
741a8dedb4 chore 2023-02-28 21:25:15 +08:00
mzz2017
a1fb979ee5 fix: init upstreams should be in goroutine 2023-02-27 16:24:16 +08:00
mzz2017
95a8c0ac42 fix: potential panic caused by dns upstream ready callback 2023-02-27 16:21:53 +08:00
mzz2017
a9709d2a57 optimize: allow to bind nothing 2023-02-27 14:57:00 +08:00
mzz2017
2525c0658d chore: send real ready after listening and clean up thoroughly 2023-02-27 14:36:36 +08:00
mzz2017
7783498c03 chore: systemd 2023-02-27 14:07:36 +08:00
mzz2017
01162f3d7e feat: support reload 2023-02-27 13:29:42 +08:00
mzz2017
8b59492fe5 chore: remove selective loading bpf objects 2023-02-27 09:56:00 +08:00
mzz2017
7542884451 chore: log shows dialMode 2023-02-26 20:33:50 +08:00
mzz2017
0cfbd9ab14 docs 2023-02-26 19:44:25 +08:00
mzz2017
e0cec1874a optimize: drop ipv6 send_redirects 2023-02-26 13:36:38 +08:00
mzz2017
27d77d2b42 optimize: disable send_redirects for Real Direct 2023-02-26 05:07:42 +08:00
mzz
5cf6dca509
feat: support export config outline and config marshal (#27) 2023-02-25 22:53:18 +08:00
mzz2017
80cffe8ca9 chore: replace ip with dip, port with dport 2023-02-25 03:12:35 +08:00
mzz
8bd6a77398
feat: dns routing (#26) 2023-02-25 02:38:21 +08:00
mzz2017
33ad434f8a fix: should fix traffic loop sent by dae in WAN mode 2023-02-21 19:10:17 +08:00
mzz2017
ea340372b8 fix: No AddrPort presented for LAN 2023-02-21 16:28:09 +08:00
mzz2017
384b4131a3 feat: add more trace info (pid, pname, mac) 2023-02-21 16:10:44 +08:00
mzz2017
474342c8f0 fix: tgid must be read 2023-02-21 13:43:50 +08:00
mzz
9fd52c4d38
feat: support to mark direct traffic (#24) 2023-02-20 18:06:54 +08:00
mzz2017
9efeada72d chore 2023-02-19 22:17:08 +08:00
mzz2017
a011c2a74c fix: domain match 2023-02-19 14:08:13 +08:00
mzz2017
266f5ffc43 fix: must_direct logic for WAN 2023-02-19 12:37:37 +08:00
mzz2017
500248ea5c chore 2023-02-19 00:13:26 +08:00
mzz2017
55c68a1676 optimize(memory): reuse kernel lpm tries in userspace 2023-02-18 22:18:34 +08:00
mzz2017
23140c1f15 fix: avoid domain matching false positive 2023-02-18 22:04:28 +08:00
mzz2017
b277212715 optimize: memory occupation 2023-02-18 21:39:46 +08:00
mzz
8f6b0a6e2a
feat/optimize: add userspace routing and optimize domain routing (#18) 2023-02-18 18:27:28 +08:00
mzz2017
87efa3d38d optimize: also reject TCP to tproxy port 2023-02-18 14:57:46 +08:00
mzz2017
0bf9e464ff Revert "optimize: no need for rule table for wan and reject TCP to tproxy"
This reverts commit 7452abb158.
2023-02-18 14:55:42 +08:00
mzz2017
7452abb158 optimize: no need for rule table for wan and reject TCP to tproxy 2023-02-18 14:47:34 +08:00
mzz2017
de08c7c861 chore: rename routing final as fallback 2023-02-18 03:01:51 +08:00
mzz2017
272ee60d25 style: converge IP before dial TCP 2023-02-18 02:10:39 +08:00
mzz
e495ee1b7c
feat: support to dial domain for udp and support udp for ssr (#17) 2023-02-18 00:49:35 +08:00
mzz2017
791752399d optimize: show outbound name when notify kernel connectivity change 2023-02-17 02:11:08 +08:00
mzz2017
739682dabc feat: add dial_mode domain+ 2023-02-17 01:07:27 +08:00
mzz2017
91dd65312e fix: NetworkManager should be must_direct 2023-02-16 09:45:31 +08:00
mzz
ebdbf9a4a7
feat: add sniffing suite and dial_mode option (#16) 2023-02-15 01:53:53 +08:00
mzz2017
2a586e6341 fix: ipv4in6 should be converged 2023-02-13 18:26:31 +08:00
mzz2017
11f8683d8f fix: latency comparison had potential arithmetic overflow problem 2023-02-13 15:27:36 +08:00
mzz2017
d88961681e fix: simple-obfs host problem 2023-02-13 14:59:18 +08:00
mzz2017
fe5c2482de style: better connection trace output 2023-02-13 12:54:04 +08:00
mzz2017
a78f8c2cff docs: add prompt for bad lxc 2023-02-13 11:08:19 +08:00
mzz2017
d4c8dba14a feat: retry for broken UDP endpoint 2023-02-13 10:52:40 +08:00
mzz2017
87511472c4 feat: reject packet sent to tproxy port directly for security 2023-02-13 03:41:59 +08:00
mzz2017
0b5263c89b feat: allow tcp_check_url and udp_check_dns are not double stack 2023-02-13 02:40:34 +08:00
mzz2017
9f67642d5b fix: problem that old process did not obey pname rule 2023-02-12 23:15:53 +08:00
mzz2017
feb58925a4 feat: add must_direct outbound 2023-02-12 23:11:40 +08:00
mzz2017
45db7835a5 fix: disable checksum for egress packet due to offload 2023-02-12 22:42:58 +08:00
mzz2017
919fcc32d9 feat: fix port collision problem 2023-02-12 21:50:15 +08:00
mzz2017
7656a6ecaf feat/fix: support allow_insecure and fix ws path with query 2023-02-12 17:17:51 +08:00
mzz2017
4c2f936fa4 feat: support to check independent tcp dns connectivity 2023-02-12 15:39:00 +08:00
mzz2017
f2fba0a261 docs: add more debug info 2023-02-11 21:35:02 +08:00
mzz2017
d67fe075a3 fix: udp panic when udpConn is not net.PacketConn 2023-02-11 21:10:34 +08:00
mzz
4145a79559
feat: add lan_snat_direct option for non-transparent-bridge user (#14) 2023-02-11 13:34:12 +08:00
mzz2017
61014019de fix: RefineSourceToShow should use dst instead of destToSend 2023-02-10 16:38:36 +08:00
mzz2017
ab38277022 docs: README 2023-02-10 11:59:40 +08:00
mzz2017
e758f332d2 feat: add ipforward check 2023-02-10 11:55:00 +08:00
mzz
c54a5a0c30
feat: support subscription tag and subtag filter (#13) 2023-02-10 11:04:16 +08:00
mzz2017
4f4afc5d82 chore: upgrade softwind 2023-02-10 00:29:23 +08:00
mzz2017
158dfb2a27 feat: add check_tolerance to make node selection stable 2023-02-09 21:16:51 +08:00
mzz2017
3060417be7 feat: lazily init dns upstream and tcp/udp check to avoid fatal when start 2023-02-09 19:22:37 +08:00
mzz2017
f0f68ffb84 fix: add DNS header to ResolveNetip req 2023-02-09 13:56:21 +08:00
mzz2017
55bd309b6b chore 2023-02-09 13:42:52 +08:00
mzz2017
2107aead00 fix: problem that not switch to tcp if udp is blocked 2023-02-09 13:27:59 +08:00
mzz2017
d364efc5c7 fix: align all dns resp answer headers 2023-02-09 12:26:44 +08:00
mzz2017
b34af9c6a4 chore: core should be created after right bpf loaded 2023-02-09 12:03:29 +08:00
mzz
15faa3cdd2
feat: support tcp:// and tcp+udp:// for dns_upstream (#11) 2023-02-09 11:40:34 +08:00
mzz2017
ea260ab581 fix: incorrect outbound alive state change result 2023-02-08 23:35:30 +08:00
mzz2017
f3e3ae2ae7 fix: problem that disable l4proto+ipversion when single node is down 2023-02-08 23:35:30 +08:00
mzz2017
00b8c6079e chore: modify tproxy mark to be compatible with 32-bit devices 2023-02-08 23:35:30 +08:00
mzz2017
ef31269b3b chore: use submodule 2023-02-08 23:35:30 +08:00
mzz2017
ac58b6e0f7 chore: remove C headers code 2023-02-08 23:35:30 +08:00
mzz2017
e87c7fa89d fix: should correctly set dialer alive property 2023-02-08 23:35:30 +08:00
mzz2017
a20e1a48d8 optimize: only print routing log for new connection to avoid the log exploded (Quic and BT). 2023-02-08 23:35:30 +08:00
mzz2017
aa38103fee feat: should get new udp endpoint if the dialer has been not alive 2023-02-08 23:35:30 +08:00
mzz2017
2ef332b018 feat: drop frame in kernel to take advance of happy eyeballs if outbound shoud fail 2023-02-08 23:35:30 +08:00
mzz2017
5e7b68822a feat: support independent tcp4, tcp6, udp4, udp6 connectivity check 2023-02-08 23:35:30 +08:00
mzz2017
551e79d9e5 refactor: rename check_url to tcp_check_url and restrict dns_upstream as udp://ip:port 2023-02-08 23:35:30 +08:00
mzz2017
a3d4a06dab chore: refine code and add annotations 2023-02-08 15:38:13 +08:00
mzz2017
7c0418d245 feat: replace iproute2 runtime dep with netlink 2023-02-08 15:23:48 +08:00
mzz2017
3c139765d2 feat: support bind wan and lan in the same interface 2023-02-08 14:36:16 +08:00
mzz2017
00d42d1a6f chore 2023-02-07 23:52:37 +08:00
mzz2017
c49ca89683 chore: adjust directory structure 2023-02-07 23:49:30 +08:00