Commit Graph

365 Commits

Author SHA1 Message Date
Vadim Vetrov
d225e673c7 Implement Aho-Corasick algorithm 2025-02-02 20:00:57 +03:00
Vadim Vetrov
d9c360910b procfs for old kernels 2025-02-01 21:02:05 +03:00
Vadim Vetrov
42917a75fc Add youtubeUnblock statistics
The statistis will be printed on exit in userspace version. In kernel
space version, use `cat /proc/kyoutubeUnblock`.

The feature was proposed by @IceCat74 in #220
2025-02-01 20:38:33 +03:00
Vadim Vetrov
a03d05ca19 Fixed entware hash v1.0.0-rc6 2025-01-28 19:05:45 +03:00
Vadim Vetrov
91f8210437 Merge pull request #223 from Waujito/sni_domains_file
Allow to specify sni domains as file
2025-01-27 20:03:43 +03:00
Vadim Vetrov
ef78f5e185 Add --fake-custom-sni-file option
Allows to specify fake as a binary file
2025-01-27 19:51:28 +03:00
Vadim Vetrov
4eaeceed4e Fix README jumps 2025-01-27 16:55:31 +03:00
Vadim Vetrov
ab3e1b7dd1 Increase connbytes limit
As reported in #220
2025-01-27 16:54:42 +03:00
Vadim Vetrov
134a326cc7 Update README.md 2025-01-27 16:44:24 +03:00
Vadim Vetrov
baf9ca58c1 Update README.md 2025-01-27 16:40:13 +03:00
Vadim Vetrov
49de2cad6a Allow to specify sni domains as file 2025-01-20 22:26:17 +03:00
Vadim Vetrov
2289b4c738 Fix all domains with bruteforce analyzer 2025-01-19 21:26:56 +03:00
Vadim Vetrov
3f11a65a73 Disable conntrack by default
On some devices conntrack may return EPERM
2025-01-19 18:08:09 +03:00
Vadim Vetrov
bb133f8b88 Merge branch 'dev' 2025-01-18 23:21:54 +03:00
Vadim Vetrov
2809a5cc74 Fix Illegal instruction 2025-01-18 23:20:47 +03:00
Vadim Vetrov
b434c922ea Update README.md 2025-01-17 19:55:52 +03:00
Vadim Vetrov
12d6617d95 Merge pull request #214 from Waujito/kmod_fix
Kmod fix #213
2025-01-16 13:51:16 +03:00
Vadim Vetrov
f68f1ff6c7 Builder for 3.0.101 2025-01-12 03:34:33 +03:00
Vadim Vetrov
452e640d9f kmod -DNO_IPV6 packet filter 2025-01-12 01:45:31 +03:00
Vadim Vetrov
dfedde9aa8 Deglobalize struct config.
New config structure allows to implement refcounting in the kernel module to
escape borderline cases on module exit or config hot swap.
2025-01-11 03:42:50 +03:00
Vadim Vetrov
1027240062 Fix old kernel versions builders 2025-01-10 14:41:16 +03:00
Vadim Vetrov
351bbfb097 Use register_pernet_subsys for nf hook registration 2025-01-10 13:30:59 +03:00
Vadim Vetrov
2e67c161f8 Fix sni bruteforce when domain is at the end 2025-01-09 21:40:34 +03:00
Vadim Vetrov
d87ab29199 Use mallocs instead of NETBUF_ALLOC
malloc won't hurt when youtubeUnblock is processing the packet. But it
is better for kmod and a way cleaner than NETBUF_ALLOC defines.
2025-01-09 19:44:30 +03:00
Vadim Vetrov
9985fcea49 More verbose payload_split loggers 2025-01-09 18:31:38 +03:00
Vadim Vetrov
6393c11960 Use skb_copy_bits instead of skb_linearize
Encountered noticeable issues in performance caused by skb_linearize
2025-01-09 18:30:23 +03:00
Vadim Vetrov
9b58869864 Add --no-dport-filter flag
This flag allows to reduce amount of network packet to analyze.
2025-01-09 00:53:56 +03:00
Vadim Vetrov
37c8a798fd Disallow to use --no-ipv6 in kernel space 2025-01-09 00:21:12 +03:00
Vadim Vetrov
16ba8801c1 Concurrency defenders in config parse and module destroy
This commit is parr of #213 fix.
In this issue kernel module crashes on high bandwidth usage has been
reported. The part of the problem is concurrency usage: when config gets
freed, callbacks keep to depend on it.
2025-01-09 00:21:12 +03:00
Vadim Vetrov
cadec5a05c Allow to disable conntrack in userspace 2025-01-09 00:20:20 +03:00
Vadim Vetrov
59581e91b2 Allow to disable conntrack in kernel module 2025-01-09 00:09:47 +03:00
Vadim Vetrov
84d47b8a3d Add conntrack parse skeleton 2025-01-08 03:44:20 +03:00
Vadim Vetrov
8bf2ab9e9b Add libcyclone.a to gitignore 2025-01-08 03:43:07 +03:00
Vadim Vetrov
a3bd918484 Update trace logging 2025-01-07 23:28:01 +03:00
Vadim Vetrov
7b321b5a2d Use size_t instead of uint32_t
Encountered some crossplatform errors with uint_t-like length type
definition.
2025-01-07 13:51:07 +03:00
Vadim Vetrov
1b62bb6cb2 Fix segfault in parse_quic_decrypted 2025-01-07 13:26:29 +03:00
Vadim Vetrov
40e1101d68 Do not hide sni domains with tls disabled 2025-01-04 19:27:12 +03:00
Vadim Vetrov
71c105a900 Disable early approve with all domains 2025-01-04 19:25:05 +03:00
Vadim Vetrov
e852d37edb Differ quic initial salt versions 2025-01-04 19:22:54 +03:00
Vadim Vetrov
e98bb5ecad Implement sni-detection brute for QUIC 2025-01-04 17:47:49 +03:00
Vadim Vetrov
60e33318cb Fix workflow commit hash 2025-01-04 15:44:46 +03:00
Vadim Vetrov
fff2309863 Rename parsed to parse in --udp-filter-quic 2025-01-04 01:25:02 +03:00
Vadim Vetrov
0b9bc8e72a Add quic disassemble
Project all the CRYPTO messages to one buffer according to length/offset
2025-01-04 01:24:54 +03:00
Vadim Vetrov
2470c590fb Fix tls sni ext in the end of the packet parser 2025-01-03 18:04:40 +03:00
Vadim Vetrov
b89c8a29ff Fix default domain list
The default domain list may lead to conflicts in QUIC parse support in
some browsers. Especially, QUIC drop for googleapis domain may disable all the QUIC.
2025-01-03 15:53:29 +03:00
Vadim Vetrov
0280fe383f Add --udp-filter-quic=parse
This will enable QUIC decryption and parsing.
2025-01-03 15:52:53 +03:00
Vadim Vetrov
91e6825cb2 Fix error messages 2025-01-03 03:24:37 +03:00
Vadim Vetrov
43823cab57 Fix dvs for mangle tcp 2025-01-03 00:04:56 +03:00
Vadim Vetrov
ded8c49e4b Add copyright notices
youtubeUnblock becames bigger and copyright notices in each file will
make it easier for anyone to do something over it.
2025-01-02 22:28:29 +03:00
Vadim Vetrov
defaa25172 Fix quic_crypto buildsystem 2025-01-02 20:49:29 +03:00