Commit Graph

221 Commits

Author SHA1 Message Date
mzz
7ea40151ad
feat/chore: add log file/refine code/add tip for no-load (#219) 2023-07-15 12:23:36 +08:00
mzz
acfc1db679
fix/optimize/refactor(udp): fix potential stuck UDP and optimize reroute logic (#204) 2023-07-13 19:04:48 +08:00
mzz
9c5159f135
fix: No AddrPort presented (#207) 2023-07-11 23:14:48 +08:00
mzz
1cc9edc0c6
fix: truncated dns resp (#203) 2023-07-11 01:25:05 +08:00
mzz
11d2ea945f
feat: latency-based failover (#119) 2023-07-10 19:44:56 +08:00
mzz
00cf4bc3cd
refactor(dns): replace dnsmessage with miekg/dns (#188) 2023-07-09 16:02:17 +08:00
mzz
b82b31e350
feat: support tuic v5 (#176) 2023-07-08 22:07:32 +08:00
mzz
e26a126cba
chore: suppress useless LinkSubscribe error (#181) 2023-07-07 21:07:39 +08:00
mzz
c708e0e975
feat: support to bind to lan lazily and re-bind to lan (#166) 2023-07-07 17:35:01 +08:00
mzz
0d05e88e76
optimize(dns): cache all qtype (not only a/aaaa) (#167) 2023-07-07 14:54:23 +08:00
mzz
dc45339065
fix: samba not work (#173)
Co-authored-by: dae-bot[bot] <136105375+dae-bot[bot]@users.noreply.github.com>
2023-07-02 19:29:18 +08:00
mzz
050f9b8c92
chore: expose the routable dialer for dae-wing (#172) 2023-07-02 16:15:20 +08:00
mzz
0bac1c6ecb
fix: should allow fallbacking ip version if dialing domain (#164) 2023-06-29 22:30:33 +08:00
mzz
6480933117
fix/ci: argument list too long due to packed and use clang-15 (#162) 2023-06-28 01:21:21 +08:00
mzz
d60e644e0c
chore/docs: support to unroll route loop and update troubleshooting.md (#158) 2023-06-27 10:04:07 +08:00
mzz
5508c372c8
fix: bad connectivity check of dns(udp) caused by #80 (#155) 2023-06-25 22:04:43 +08:00
mzz
4d42b2d978
fix: new control plane should reset grpc conn pool cache (#150) 2023-06-18 18:53:26 +08:00
mzz
d5172bde64
fix: enlarge kernel geoip size limit (#130) 2023-06-11 12:49:28 +08:00
mzz
40b553edc9
optimize(routing): fix slow domain++ ip routing (#133) 2023-06-11 12:48:52 +08:00
mzz
ee09ae17e3
feat: support iptables tproxy (#80) 2023-06-04 11:38:05 +08:00
mzz
b936e7ada4
feat(dns): support fixed domain ttl (#100)
* feat(dns): support fixed domain ttl

* docs
2023-05-30 22:10:32 +08:00
秋のかえで
80d3940483
feat: add uTLS support (#94)
* feat: add uTLS

* feat: change `Utls.Imitate` to `UtlsImitate`

* feat: add desc and example config

* chore: refine code and docs

* docs(example.dae): adjust order

---------

Co-authored-by: mzz2017 <2017@duck.com>
2023-05-27 10:52:13 +08:00
mzz
e0d3cb0ecd
fix(dns): cache would never expire caused by #63 by accident (#87) 2023-05-14 22:09:55 +08:00
mzz
bf1d296401
feat: support tcp_check_http_method (#77) 2023-05-13 15:38:28 +08:00
mzz
aea686f277
fix: sniffed domain with brackets (#70)
* fix: sniffed domain with brackets

* Update control/control_plane.go
2023-05-02 16:37:38 +08:00
mzz
a110cadd65
optimize: cache NXDomain and reject with 0.0.0.0/:: (#63) 2023-04-29 13:59:20 +08:00
czybjtu
e71c272693
style: format golang import package code style (#58)
Co-authored-by: Kevin Yu <yqlbu@Bu.edu>
2023-04-23 13:27:29 +08:00
mzz2017
fb2b55ee51 feat: support global.sniffing_timeout 2023-04-13 00:18:42 +08:00
mzz2017
d6ff71fda4 optimize: ignore 'ip -6 rule add' if not support 2023-04-12 22:34:45 +08:00
mzz2017
e61ac598b5 optimize(sniffer): wait data for 300ms instead of 100ms 2023-04-12 22:27:44 +08:00
mzz2017
4efed17ff9 fix: use goroutine instead of SetReadDeadline to try to fix compatibility 2023-04-12 21:45:56 +08:00
mzz2017
8465229e35 refactor(sniffer): refine code 2023-04-10 00:37:48 +08:00
mzz2017
129d6055dd fix(sniffer): server push cases for games 2023-04-09 16:33:21 +08:00
mzz2017
066e856163 optimize(dns): use different ID for another lookup in ipversion prefer mode 2023-04-07 23:13:10 +08:00
mzz2017
38cc66d1d3 feat: support dns.ipversion_prefer 2023-04-07 23:06:04 +08:00
mzz2017
127a000058 fix/optimize: reroute if necessary and add opendns as bootstrap dns 2023-04-07 20:38:06 +08:00
mzz2017
ecadddaeca optimize: reduce loading time and memory requirement by shrinking process name searching length 2023-04-05 00:42:56 +08:00
mzz2017
099c51a95e fix(ebpf): optimize code complexity 2023-04-04 23:29:30 +08:00
mzz2017
85343ac141 fix: should update system DNS every 5 seconds 2023-04-02 17:43:50 +08:00
mzz2017
648710a40e feat: add virtual must_rules outbound 2023-04-02 12:02:57 +08:00
mzz2017
006b7fbfd2 feat: support must_xxx outbounds 2023-04-02 11:07:53 +08:00
mzz2017
0312afaf0d chore: built-in errno-base.h 2023-04-01 23:38:57 +08:00
mzz2017
6657fb329c feat: support reject in dns request routing 2023-03-31 15:46:53 +08:00
mzz2017
f2dc750dbb chore: refine reloading code 2023-03-30 23:28:51 +08:00
mzz2017
f3b80c977c style: beautify log 2023-03-30 01:56:05 +08:00
mzz2017
12febe94cf optimize: remove rush-answer detector because it does always work in all districts 2023-03-29 18:14:13 +08:00
mzz2017
d85e7080fe fix/optimize: fix https h2 problem and add h2 mutiplex 2023-03-27 21:44:13 +08:00
mzz2017
ae618e6c6e fix: preprocess wan_interface 'auto' before ebpf program loading to avoid to fail to insert filter 2023-03-26 12:54:21 +08:00
mzz2017
43d5d81858 feat: support to auto config kernel parameters 2023-03-25 17:16:24 +08:00
mzz2017
c0abd753eb optimize: reduce UDP buffer 2023-03-25 13:52:52 +08:00
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