Commit Graph

60 Commits

Author SHA1 Message Date
Vadim Vetrov
ef120ca100 Update logging
Add syslog for daemonize. This allows to log not only to the standard
output but also in system log
2024-11-29 11:22:55 +03:00
Vadim Vetrov
a4975dcdcd Daemonize youtubeUnblock with flags, without any overhead 2024-11-29 11:22:54 +03:00
Vadim Vetrov
aa96769559 Fix youtubeUnblock freeze when more than queue_size packets being sent
as fake_sni_seq_len

The problem affects both the userspace version and kernel space one. The
problem was reported in #166 and hopefully #167 also relates to it. The
problem occures because each packet sent by rawsocket is being enqueued
in the nf_queue, but each rawsocket waits for the packet to be
processed by linux kernel network stack. This leads to the infinitily
waiting rawsocket when the queue fullfills.
2024-10-27 02:42:06 +03:00
Vadim Vetrov
ae9592c71f Userspace: handle --no-ipv6 for PF_INET6 UNBIND/BIND_PF 2024-10-27 00:09:45 +03:00
Vadim Vetrov
7070ddfc74 Userspace: better support for ALLOC_MALLOC
An alternative memory allocation strategy for userspace
2024-10-26 14:50:21 +03:00
Vadim Vetrov
f1ab2ac1a9 Userspace youtubeUnblock: support kernel versions less than 3.8
The behaviour of nfnetlink_queue is changed since then but old kernels
require BIND/UNBIND_PF commands.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0360ae412d09bc6f4864c801effcb20bfd84520e

Co-Authored-by: renr4 <renr4@users.noreply.github.com>
2024-10-22 17:51:41 +03:00
Vadim Vetrov
4c7b63fa7f Add multiple sections with config sets for various domains 2024-10-13 23:31:26 +03:00
Vadim Vetrov
e9b033ccca Update faking strategies
Use random ip4 id for frags, use sequential ip4 id for fakes
2024-10-12 12:23:06 +03:00
Vadim Vetrov
731da0dd50 Delete redunant checksum setter 2024-09-01 16:53:11 +03:00
Vadim Vetrov
491d485260 Allow to change default mark
Related to #96
2024-08-29 09:09:57 +03:00
Vadim Vetrov
5a30ac427b Add option to disable ipv6, document ipv6 2024-08-27 20:01:34 +03:00
Vadim Vetrov
d530dd26d1 Support for ipv6 2024-08-27 19:27:27 +03:00
Vadim Vetrov
1c5d4e68d9 Add few logs, minor improvements 2024-08-16 22:23:55 +03:00
Vadim Vetrov
f3db464b97 Add initial support for QUIC, improve logging capabilities.
Add TRACE logging mode
2024-08-13 20:48:35 +03:00
Vadim Vetrov
e649ef5567 Add option to change TCP winsize 2024-08-12 00:45:30 +03:00
Vadim Vetrov
7d571e6860 Verbosity, debug logs 2024-08-11 21:43:32 +03:00
Vadim Vetrov
9c2d31f51d Merge branch 'main' into enhance_bypasses 2024-08-11 16:26:46 +03:00
Vadim Vetrov
74a9ae3eb1 Do not force user to specify queue number explicitly 2024-08-11 16:21:26 +03:00
Vadim Vetrov
2e96aa150e Add multiple fooling options 2024-08-11 02:10:18 +03:00
Vadim Vetrov
d29177d783 Move args parsers to the separate file 2024-08-10 21:44:04 +03:00
Vadim Vetrov
0126e403fd Do not force user to specify queue number explicitly 2024-08-10 21:38:25 +03:00
Vadim Vetrov
ff5bfc9037 Fix fragmentation strategy none
Related to #43
2024-08-10 02:55:06 +03:00
Vadim Vetrov
8e592d8957 Fix segfault on unrecognized option 2024-08-10 00:40:31 +03:00
Vadim Vetrov
6bbeae3876 Update version output 2024-08-10 00:35:36 +03:00
Vadim Vetrov
8d4fb1f7ad Fix coding style of args parser 2024-08-09 16:03:45 +03:00
zabbius
4963258c0b const char* argv[] -> char* argv[] 2024-08-09 15:40:04 +03:00
zabbius
46e4231f7e minor 2024-08-09 15:31:04 +03:00
zabbius
916d575920 parsing args with getopt 2024-08-09 15:21:54 +03:00
Vadim Vetrov
8e3fa48510 Fix fake sni strategy ttl 2024-08-08 18:58:21 +03:00
Vadim Vetrov
d42ecb2b82 Fix #40 (finally) 2024-08-08 16:18:50 +03:00
Vadim Vetrov
fb47d80543 Fix #40 2024-08-08 15:29:04 +03:00
Vadim Vetrov
84541e8eae Merge branch 'kern_mod' into zabbius-kern_mod 2024-08-07 13:52:40 +03:00
Vadim Vetrov
66906dbe0c Code cleanup 2024-08-07 13:32:01 +03:00
Vadim Vetrov
c9949a3605 Fix tcp4 frag error caused by enabled IP fragmentation
If the packet is fragmented here is no way to deal with it, but we don't
care about DF flag in real
2024-08-07 11:38:26 +03:00
zabbius
69955d5237 commandline options 2024-08-07 03:31:10 +03:00
Vadim Vetrov
1b8d3a0e66 Code cleanup 2024-08-07 00:22:52 +03:00
Vadim Vetrov
3f1e8d3f01 Suuport for fake sni elimination strategy - TTL 2024-08-05 23:13:35 +03:00
Vadim Vetrov
8bb2bb28d2 Module for kernel works now on local machine.
SEG2_DELAY is not implemented yet.
2024-08-04 16:06:13 +03:00
Vadim Vetrov
62a5627c50 Update userspace interactions 2024-08-04 12:57:16 +03:00
Vadim Vetrov
97ee3f1e72 Merge branch 'main' into kern_mod 2024-08-04 02:20:09 +03:00
Vadim Vetrov
be40bc91e7 Add distinct fragmentation strategies
Fix ip4_frag, implement no fragmentation strategy. Related to #24
2024-08-04 00:32:16 +03:00
Vadim Vetrov
ac9f49f937 Be more verbose
I have tired to always enable DEBUG and I dont see the reason why
verbosity should be disabled by default
2024-08-03 01:33:20 +03:00
Vadim Vetrov
571692b6bd Fix #17. Update troubleshooting documentation, update packet marks.
Update for marks may be related to #15. But is primarily used to avoid
random EPERMs.
2024-08-02 23:00:08 +03:00
Vadim Vetrov
709fc4c3be Fix #17 2024-08-02 15:48:23 +03:00
Vadim Vetrov
a96d6213b1 Temporary fix #17
This commit will entirely disable Fake SNI if flag -DNO_FAKE_SNI is set
2024-08-02 10:19:04 +03:00
Vadim Vetrov
8808c49fbd Cleanup code, update readme, fix gen_fake_sni 2024-08-01 21:04:43 +03:00
Vadim Vetrov
57c5b1f6aa Implement fake SNI 2024-08-01 18:45:10 +03:00
Vadim Vetrov
4f78c490f4 Add option to specify 2nd packet delay 2024-08-01 12:35:03 +03:00
Vadim Vetrov
79d592a0ca Makesystem for kernel module 2024-07-31 02:12:59 +03:00
Vadim Vetrov
7490658708 Carry split and detection functions to separate file
This needed to escape code duplication in further development of kernel
module. Also this cleanups the code.
2024-07-30 23:10:00 +03:00