Kkevsterrr / geneva

automated censorship evasion for the client-side and server-side
https://censorship.ai
BSD 3-Clause "New" or "Revised" License
1.87k stars 176 forks source link

Exception out of run_nfqueue() #22

Closed FireMasterK closed 3 years ago

FireMasterK commented 3 years ago
ubuntu@instance-20200501-0913:~/geneva$ sudo python3 engine.py --server-port 80 --strategy "[TCP:flags:PA]-duplicate(tamper{TCP:dataofs:replace:10}(tamper{TCP:chksum:corrupt},),)-|" --log debug
2020-08-24 13:18:59 WARNING:[ENGINE] No environment ID given, one has been generated (w2rlta48)
2020-08-24 13:18:59 DEBUG:[ENGINE] Engine created with strategy [TCP:flags:PA]-duplicate(tamper{TCP:dataofs:replace:10}(tamper{TCP:chksum:corrupt},),)-| \/ (ID w2rlta48) to port 80
2020-08-24 13:18:59 DEBUG:[ENGINE] Configuring iptables rules
2020-08-24 13:18:59 DEBUG:[ENGINE] iptables -A OUTPUT -p tcp --dport 80 -j NFQUEUE --queue-num 2
2020-08-24 13:18:59 DEBUG:[ENGINE] iptables -A INPUT -p tcp --sport 80 -j NFQUEUE --queue-num 1
2020-08-24 13:18:59 DEBUG:[ENGINE] iptables -A OUTPUT -p udp --dport 80 -j NFQUEUE --queue-num 2
2020-08-24 13:18:59 DEBUG:[ENGINE] iptables -A INPUT -p udp --sport 80 -j NFQUEUE --queue-num 1
2020-08-24 13:18:59 DEBUG:[ENGINE] NFQueue Initialized after 0
2020-08-24 13:19:00 ERROR:[ENGINE] Exception out of run_nfqueue() (direction=in)
Traceback (most recent call last):
  File "engine.py", line 197, in run_nfqueue
    nfqueue.run_socket(nfqueue_socket)
SystemError: <method 'run_socket' of 'netfilterqueue.NetfilterQueue' objects> returned NULL without setting an error
2020-08-24 13:19:00 ERROR:[ENGINE] Exception out of run_nfqueue() (direction=out)
Traceback (most recent call last):
  File "engine.py", line 197, in run_nfqueue
    nfqueue.run_socket(nfqueue_socket)
SystemError: <method 'run_socket' of 'netfilterqueue.NetfilterQueue' objects> returned NULL without setting an error

OS: Ubuntu 20.04

Any idea on what I can do to help to debug the issue?

Thanks

ghost commented 3 years ago

I meet the same issue both on Ubuntu 20.04 and Debian 10.5 on virtual machine. By the way, when I run "pip3 install -r requirements.txt", it tells me "slackclient 1.3.1 has requirement websocket-client<0.55.0,>=0.35, but you'll have websocket-client 0.57.0 which is incompatible."

Kkevsterrr commented 3 years ago

Hey @FireMasterK and @ZR-RAN - thanks for reaching out! This issue appears to be in the netfilterqueue project itself, which is unfortunately out of our hands. I'd recommend opening an issue with them. For now, we can update the documentation to encourage the use of supported Linux distributions (like Ubuntu 18.04).

@ZR-RAN we can remove the slackclient dependency - that doesn't belong there anymore.

FireMasterK commented 3 years ago

The problem with that is that that project seems to be extremely inactive, there hasn't been any activity for the past 2 years, it's quite unlikely that this would be fixed upstream.

DravenJohnson commented 3 years ago

Thank @Kkevsterrr and @FireMasterK for the reply. Is that mean the netfilterqueue and geneva won't support running on Debian 10 due to the netfilterqueue upstream inactive?