Commit Graph

62 Commits

Author SHA1 Message Date
Vadim Vetrov
457a7a7f04
Massive update of argparse system
This is required for furhter maintance of kernel module. Aims to provide
common interface for both
2024-12-08 16:06:50 +03:00
Vadim Vetrov
7480cd31b8
Fix lgerror errno logging 2024-12-06 11:00:09 +03:00
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