Compare commits

143 Commits
Author SHA1 Message Date
TobyandGitHub 278d731b6f Merge pull request #147 from kpetku/feat-expose-netlink-config-options
Quality check / Tests (push) Successful in 9m55s
Quality check / Static analysis (push) Successful in 19m42s
feat: netlink queueNum/table config options
2024-10-27 18:55:30 -07:00
Haruue 0e97c9f086 feat: connmark accept/drop config options 2024-10-28 10:17:46 +09:00
Haruue 5f4df7e806 chore: rm nfqueueNum parameter in setupNft() 2024-10-27 15:44:13 +09:00
Haruue d8d7c5b477 chore: allow set nfqueue num to 0 2024-10-27 15:44:04 +09:00
Keith Petkus d3f1785ac9 feat: netlink queueNum/table config options 2024-08-08 13:24:49 -04:00
TobyandGitHub 1de95ed53e Merge pull request #136 from apernet/wip-pcapgo
Add pcap back
2024-05-08 17:40:55 -07:00
Haruue 1934c065ec feat(pcap): impl realtime wait() with time offset 2024-05-08 19:45:10 +08:00
Haruue 301f9af3d4 Revert "ci: install pcap for build 2"
This reverts commit 0daaa32fc6.
2024-05-08 19:26:19 +08:00
Haruue cb0427bfbb Revert "ci: install pcap for build"
This reverts commit 5e15fd6dd9.
2024-05-08 19:26:15 +08:00
Haruue 7456e5907e refactor(pcap): switch to pcapgo 2024-05-08 19:22:17 +08:00
Haruue 8cab86b924 Reapply "Merge pull request #132 from eddc005/feat-pcap"
This reverts commit 2ac8783eb6.
2024-05-08 19:13:49 +08:00
TobyandGitHub 3ec5456e86 Merge pull request #135 from apernet/revert-pcap
Revert pcap
2024-05-07 23:46:46 -07:00
Toby b51ea5fa07 Revert "Merge pull request #134 from apernet/ci-cgo"
This reverts commit 5014523ae0, reversing
changes made to c453020349.
2024-05-07 23:44:00 -07:00
Toby 2ac8783eb6 Revert "Merge pull request #132 from eddc005/feat-pcap"
This reverts commit c453020349, reversing
changes made to 5723490a6c.
2024-05-07 23:43:54 -07:00
TobyandGitHub 5014523ae0 Merge pull request #134 from apernet/ci-cgo
ci: enable cgo
2024-05-07 23:40:17 -07:00
Toby dabcc9566c ci: enable cgo 2024-05-07 23:38:28 -07:00
TobyandGitHub c453020349 Merge pull request #132 from eddc005/feat-pcap
feat: add support for pcap replay
2024-05-07 23:18:03 -07:00
Toby 0daaa32fc6 ci: install pcap for build 2 2024-05-07 23:13:58 -07:00
Toby 5e15fd6dd9 ci: install pcap for build 2024-05-07 23:12:24 -07:00
Toby 76c0f47832 chore: do not default replay.realtime to true 2024-05-07 23:05:06 -07:00
Toby 70fee14103 chore: format 2024-05-07 22:50:58 -07:00
eddc005 abd7725fed close pcap properly and implement ProtectedDialContext 2024-05-07 21:50:06 +01:00
eddc005 f01b79e625 rebase and remove replayDelay 2024-05-06 23:04:54 +01:00
eddc005 94387450cf feat: add support for pcap replay 2024-05-06 22:53:11 +01:00
TobyandGitHub 5723490a6c Merge pull request #133 from apernet/fix-timestamp
fix: provide correct timestamp for TCP reassembler
2024-05-06 14:38:35 -07:00
Toby d7506264ad fix: provide correct timestamp for TCP reassembler 2024-05-06 14:35:31 -07:00
TobyandGitHub 245ac46b65 Merge pull request #130 from apernet/fix-geo-leak
fix: do not reload geoip/geosite when reloading ruleset to prevent leaking references to streams
2024-04-10 22:57:18 -07:00
Toby 107e29ee20 fix: do not reload geoip/geosite when reloading ruleset to prevent leaking references to streams 2024-04-10 21:30:37 -07:00
TobyandGitHub 5f447d4e31 Merge pull request #124 from apernet/wip-tcp-flush
feat: TCP timeout flush
2024-04-09 11:07:20 -07:00
Toby 347667a2bd feat: TCP timeout flush 2024-04-08 11:54:35 -07:00
TobyandGitHub 393c29bd2d Merge pull request #123 from apernet/wip-lookup
feat: dns lookup function
2024-04-07 17:49:33 -07:00
Toby 9c0893c512 feat: added protected dial support, removed multi-IO support for simplicity 2024-04-06 14:42:45 -07:00
Toby ae34b4856a feat: dns lookup function 2024-04-03 20:02:57 -07:00
TobyandGitHub d7737e9211 Merge pull request #119 from apernet/update-readme
docs: update readme feature list
2024-04-01 21:50:07 -07:00
Toby dd9ecc3dd7 docs: update readme feature list 2024-04-01 21:49:06 -07:00
TobyandGitHub 980d59ed2e Merge pull request #118 from apernet/ci-release
ci: rework release workflow
2024-04-01 20:55:22 -07:00
Toby af14adf313 ci: rework release workflow 2024-04-01 20:54:24 -07:00
TobyandGitHub ab28fc238d Merge pull request #114 from KujouRinka/feat-openvpn
feat: add openVPN analyzer
2024-04-01 20:47:30 -07:00
Toby e535769086 fix: make sure rx_pkt_cnt & tx_pkt_cnt both always exist 2024-03-30 14:30:20 -07:00
Toby ecd60d0ff1 chore: improve case spelling 2024-03-30 13:29:19 -07:00
Toby 98264d9e27 chore: format 2024-03-30 13:23:46 -07:00
TobyandGitHub bb5d4e32ff Merge pull request #116 from apernet/update-trojan
feat: further improve trojan detection
2024-03-29 23:19:36 -07:00
Toby ca574393d3 feat: further improve trojan detection 2024-03-29 23:02:20 -07:00
KujouRinka 0e2ee36865 refactor: merge openvpn_tcp and openvpn_udp to openvpn 2024-03-30 12:00:17 +08:00
TobyandGitHub b02738cde8 Merge pull request #115 from apernet/update-readme
docs: move to website
2024-03-29 13:08:14 -07:00
Toby 0735fa831d docs: move to website 2024-03-29 13:06:29 -07:00
KujouRinka 2232b553b3 chore: fix typo 2024-03-29 21:37:09 +08:00
KujouRinka b2f6dec909 feat: add openVPN analyzer 2024-03-29 20:29:30 +08:00
TobyandGitHub 47a3c9875c Merge pull request #112 from apernet/docs-dep
docs: update dependency install command for openwrt
2024-03-24 11:42:10 -07:00
Toby 4e604904af docs: update dependency install command for openwrt 2024-03-24 11:41:17 -07:00
TobyandGitHub bf2988116a Merge pull request #109 from apernet/wip-io-rst
feat: io tcp reset support (forward only)
2024-03-21 18:43:43 -07:00
Haruue ef1416274d refactor(io): nft/ipt generator func 2024-03-22 02:04:25 +08:00
Toby 57c818038c feat: io tcp reset support (forward only) 2024-03-20 19:01:26 -07:00
TobyandGitHub 6ad7714c9a Merge pull request #108 from apernet/fix-trojan-doc
docs: remove trojan-killer ref
2024-03-20 18:41:45 -07:00
Toby ff9c4ccf79 docs: remove trojan-killer ref 2024-03-20 18:40:49 -07:00
TobyandGitHub e1d9406fdb Merge pull request #107 from apernet/fix-trojan
fix: trojan analyzer heuristics
2024-03-20 18:39:05 -07:00
Toby b8e5079b8a fix: trojan analyzer heuristics 2024-03-20 18:37:43 -07:00
TobyandGitHub f3b72895ad Merge pull request #106 from apernet/wip-new-trojan
feat: new heuristics for trojan analyzer
2024-03-20 18:11:09 -07:00
Toby 0732dfa7a5 docs: no longer use trojan-killer 2024-03-20 18:10:22 -07:00
Toby 9d96acd8db feat: new heuristics for trojan analyzer 2024-03-20 18:07:26 -07:00
TobyandGitHub d1775184ce Merge pull request #102 from macie/badge_fix
docs: Fix status badge URL
2024-03-14 00:37:37 -07:00
macie 05d56616fc ci: Add readable name for workflow
It is visible on Workflows list inside GH Actions tab.
2024-03-14 08:14:30 +01:00
macie ede70e1a87 docs: Fix badge URL 2024-03-14 08:06:27 +01:00
TobyandGitHub 920783bd65 Merge pull request #98 from macie/ci
CI/CD: New workflow for testing and static analysis
2024-03-13 19:29:36 -07:00
macie 3a45461c19 test: Remove broken integration test
This tests fails when there are no specific binary files, but there is
no method to get the files during test.

Marking the tests as a skipped will gives us a false sense of security. So it's
better to remove it at all.
2024-03-12 12:15:10 +01:00
macie 3022bde81b fix: Linter errors
Fixed:
- "ineffective break statement. Did you mean to break out of the outer loop?" (SA4011)
- "channels used with os/signal.Notify should be buffered" (SA1017)
- "os.Kill cannot be trapped (did you mean syscall.SIGTERM?)" (SA1016)
- "func envOrDefaultBool is unused" (U1000)
- "should use time.Since instead of time.Now().Sub" (S1012)
2024-03-12 12:14:58 +01:00
macie d98136bac7 ci: Add quality check
Runs tests and linters after each commit.
2024-03-11 22:19:26 +01:00
macie c0e2483f6c test: Add basic tests for packet parsing
Tests performed on real-like packets secure expected behavior.
2024-03-11 21:25:34 +01:00
macie 3bd02ed46e refactor: Improve parsing docs
Reveal intentions by:
- extracting magic numbers into constants
- changing function names with >1 responsibilities
- documenting non-obvious behaviors.
2024-03-11 20:35:01 +01:00
TobyandGitHub 4257788f33 Merge pull request #92 from apernet/wip-doc-openwrt-ipt
docs: instruction for OpenWrt 22.02 or earlier
2024-03-09 09:23:53 -08:00
Haruue e77c2fabea docs: instruction for OpenWrt 22.02 or earlier 2024-03-09 21:42:49 +08:00
TobyandGitHub 1dce82745d Merge pull request #85 from apernet/wip-buf
feat: netlink rcv/snd buffer config options
2024-02-29 11:23:08 -08:00
Toby 50cc94889f feat: netlink rcv/snd buffer config options 2024-02-28 17:45:24 -08:00
TobyandGitHub 5d2d874089 Merge pull request #82 from apernet/update-fet
feat: update FET analyzer to better reflect what's described in the paper
2024-02-26 15:28:33 -08:00
Toby 797dce3dc2 feat: update FET analyzer to better reflect what's described in the paper 2024-02-26 15:27:35 -08:00
TobyandGitHub 420286a46c Merge pull request #81 from apernet/update-gfwreport
chore: update gfw report links
2024-02-26 15:17:33 -08:00
Toby 531a7b0ceb chore: update gfw report links 2024-02-26 15:17:07 -08:00
TobyandGitHub 20e0637756 Merge pull request #79 from apernet/update-ci
fix: release workflow
2024-02-26 10:50:44 -08:00
Toby 74dcc92fc6 fix: release workflow 2024-02-26 10:49:19 -08:00
TobyandGitHub b780ff65a4 Merge pull request #76 from apernet/fix-enobufs
fix: engine exit with "netlink receive: recvmsg: no buffer space available" when too many packets hit NFQUEUE
2024-02-26 10:40:08 -08:00
Haruue 8bd34d7798 chore: go mod tidy 2024-02-26 16:48:39 +08:00
Haruue bed34f94be fix: engine exit when too many packets hit NFQUEUE 2024-02-26 16:46:50 +08:00
TobyandGitHub bc2e21e35d Merge pull request #75 from apernet/fix-missing-verdict
fix: verdict is missing for multicast packets
2024-02-26 00:12:42 -08:00
Haruue a0b994ce22 fix: verdict is missing for multicast packets 2024-02-26 15:45:07 +08:00
TobyandGitHub 8b07826de6 Merge pull request #71 from apernet/wip-log
feat: logging support in ruleset
2024-02-23 19:51:18 -08:00
TobyandGitHub aa6484dfa8 Merge pull request #73 from apernet/wip-readme2
docs: update README
2024-02-23 18:31:30 -08:00
Toby 29adf99dc1 docs: update README 2024-02-23 18:31:16 -08:00
TobyandGitHub 71c739c18f Merge pull request #72 from apernet/update-readme
chore: better README
2024-02-23 15:43:25 -08:00
Toby 182a6cf878 chore: better README 2024-02-23 15:43:08 -08:00
Toby ed9e380a57 fix: variable support & update example in doc 2024-02-23 14:37:05 -08:00
Toby 7353a16358 feat: logging support in ruleset 2024-02-23 14:13:35 -08:00
TobyandGitHub 465373eaf1 Merge pull request #66 from apernet/readme-tg
docs: add telegram group link
2024-02-17 22:34:56 -08:00
Toby f598cb572d docs: add telegram group link 2024-02-17 22:34:38 -08:00
TobyandGitHub 54f62ce0bb Merge pull request #64 from apernet/wip-quic
feat: QUIC analyzer
2024-02-17 22:08:59 -08:00
Haruue Icymoon 22bbf0d9c7 fix: typo in test 2024-02-18 12:26:03 +08:00
Toby 7e511e94de fix merge 2024-02-17 14:39:12 -08:00
TobyandGitHub e177837301 Merge branch 'master' into wip-quic 2024-02-17 14:38:19 -08:00
TobyandGitHub be672a97ab Merge pull request #65 from apernet/update-gopkt
feat: update gopacket to latest master
2024-02-17 14:34:23 -08:00
Toby 5c77cede3d feat: update gopacket to latest master 2024-02-17 14:28:57 -08:00
ebff4308e4 Add CIDR support for expr (#62)
* feat: add cidr support for expr

* docs: add example for cidr

* minor code tweaks

---------

Co-authored-by: Toby <tobyxdd@gmail.com>
2024-02-17 14:21:12 -08:00
94cfe7b2c1 Add the configuration for the path of geoip and geosite. (#57)
* Update README.md

* Update README.zh.md

* Update README.ja.md

* minor tweaks

---------

Co-authored-by: Toby <tobyxdd@gmail.com>
2024-02-17 14:03:50 -08:00
Toby ef352450a2 docs: add QUIC 2024-02-17 13:56:33 -08:00
TobyandGitHub 4ede93ce7b fix: incorrect "virgin" handling causing rules with only built-in keywords to fail (#61) 2024-02-16 19:08:19 -08:00
Toby c1e90960dd feat: quic analyzer (client side only) 2024-02-11 22:25:37 -08:00
TobyandGitHub 7a52228ec6 docs: add a section about openwrt (#53) 2024-02-11 13:12:49 -08:00
TobyandGitHub 6d33a0d51c fix: incorrect verdict handling that caused packets to pass through even after they had been blocked (#52) 2024-02-11 13:05:05 -08:00
TobyandGitHub 27c9b91a61 feat: nftables support (#50)
* feat: nftables support

* fix: format
2024-02-11 13:04:49 -08:00
TAKAHASHI ShuujiandGitHub 36bb4b796d docs: update README.ja.md (#49) 2024-02-05 20:44:56 -08:00
TobyandGitHub 843f17896c fix: netlink race condition (#48) 2024-02-05 19:32:52 -08:00
TobyandGitHub 6871244809 chore: improve built-in funcs handling (#43) 2024-02-04 11:17:19 -08:00
TobyandGitHub f8f0153664 feat: rules hot reload via SIGHUP (#44) 2024-02-03 10:55:20 -08:00
8d94400855 Add WireGuard analyzer (#41)
* feat: add WireGuard analyzer

* chore(wg): reduce map creating for non wg packets

* chore: import format

* docs: add wg usage

---------

Co-authored-by: Toby <tobyxdd@gmail.com>
2024-01-30 18:05:51 -08:00
f07a38bc47 Add GeoIP and GeoSite support for expr (#38)
* feat: copy something from hysteria/extras/outbounds/acl

* feat: add geoip and geosite support for expr

* refactor: geo matcher

* fix: typo

* refactor: geo matcher

* feat: expose config options to specify local geoip/geosite db files

* refactor: engine.Config should not contains geo

* feat: make geosite and geoip lazy downloaded

* chore: minor code improvement

* docs: add geoip/geosite usage

---------

Co-authored-by: Toby <tobyxdd@gmail.com>
2024-01-30 17:30:35 -08:00
Toby e23f8e06a2 docs: add socks4 2024-01-27 13:58:35 -08:00
Toby 3367cccf8c docs: update socks rules 2024-01-27 13:56:08 -08:00
TobyandGitHub e6e9656ec6 Merge pull request #31 from eltociear/add_ja-readme
docs: add Japanese README
2024-01-27 13:49:06 -08:00
TobyandGitHub 73d78489b5 Merge pull request #35 from KujouRinka/master
Add Socks4/4a Analyzer
2024-01-27 13:47:50 -08:00
Toby 63510eda5e chore: minor doc fix 2024-01-27 13:40:29 -08:00
Toby a2475d3722 fix: remove "reject with tcp reset" for now as it doesn't work properly 2024-01-27 13:27:27 -08:00
KujouRinka bd724f43c0 docs: update socks doc 2024-01-27 21:01:40 +08:00
KujouRinka ff27ee512a refactor: merge sock4 and socks5 into one 2024-01-27 20:45:11 +08:00
KujouRinka 1ae0455fd5 docs: add sock4/4a doc 2024-01-27 14:09:21 +08:00
KujouRinka 96716561e0 feat: add sock4/4a analyzer 2024-01-27 14:05:28 +08:00
KujouRinka ddfb2ce2af style: rename vars to avoid namespace pollution 2024-01-27 11:17:39 +08:00
Toby 90542be7f2 docs: add SOCKS5 2024-01-26 14:03:22 -08:00
TobyandGitHub fe2ff6aa69 Merge pull request #34 from KujouRinka/master
Add Socks5 Analyzer
2024-01-26 13:59:26 -08:00
Toby bd92e716ce docs: improve grammar 2024-01-26 13:57:15 -08:00
Toby e0712f1d51 fix: import format 2024-01-26 13:54:34 -08:00
Toby 4581d0babe Merge branch 'master' of https://github.com/KujouRinka/OpenGFW into feat-socks5 2024-01-26 13:37:41 -08:00
KujouRinka b0106c9941 docs: add socks5 doc 2024-01-26 14:45:26 +08:00
TobyandGitHub eeb234552c Merge pull request #33 from Fangliding/master
Add ECH in doc
2024-01-25 22:00:30 -08:00
风扇滑翔翼 cbbca0353e Add ECH in doc 2024-01-26 12:54:20 +08:00
KujouRinka f004d17522 feat: set Limit for socks5 analyzer 2024-01-26 11:31:11 +08:00
KujouRinka d2d4fa723a feat: socks5 analyzer 2024-01-26 11:24:36 +08:00
Toby d7d3437d3c docs: analyzers 2024-01-24 20:01:53 -08:00
Ikko Eltociear Ashimine ce9f0145da docs: add Japanese README 2024-01-25 13:01:43 +09:00
Toby 7441d24aea docs: trivial updates 2024-01-21 16:11:01 -08:00
Toby 99403d3150 docs: logo transparency 2024-01-21 15:33:18 -08:00
Toby 1041d5fde1 feat: Trojan analyzer based on github.com/XTLS/Trojan-killer 2024-01-21 14:48:54 -08:00
Toby 00d88d7fbf fix: incorrect prop update logic 2024-01-21 12:26:23 -08:00
Toby f9864628d2 feat: add invalid threshold to DNS analyzer for UDP offloading 2024-01-20 11:51:17 -08:00
Toby 25241c9df0 ci: add release workflow action 2024-01-20 10:42:14 -08:00
Toby 4f86f91a15 first 2024-01-19 16:45:01 -08:00

Diff Content Not Available