26497

Becerikli
Katılım
3 Eylül 2025
Mesajlar
268
Çözümler
2
Beğeniler
170
Linux'ta zapret kurmayı göstereceğim. Her dağıtımda işler değişebilir. Sorun yaşarsanız yazın.

Öncelikle gerekli paketleri kuralım:

Debian ve türevleri:


Kod:
sudo apt install -y curl net-tools netcat-openbsd wget build-essential git inetutils-tools libnetfilter-queue-dev libmnl-dev libnfnetlink-dev


Fedora ve türevleri:


Kod:
sudo dnf install -y iputils netcat curl wget gcc make git libnetfilter_queue-devel libmnl-devel libnfnetlink-devel


Şimdi indirelim:


Kod:
cd /opt && sudo git clone https://github.com/bol-van/zapret --depth 1 && cd /opt/zapret && sudo make -j`nproc --all`



(--depth 1 parametresi sadece en son sürümü indirir, geçmiş commit’leri almaz, böylece hafıza tasarrufu sağlar.)


Şimdi blockcheck.sh ile engellenen siteler üzerinde deneme yanılma yaparak en iyi stratejiyi bulacağız. Her operatör farklı strateji ile engelleme yapıyor. Bu durumda deneme yanılma dışında seçeneğimiz yok.



Şimdi blockcheckin düzgün çalışması için devletin DNS zehirlenmesini aşacağız. Bunun için bir betik buldum. İçeriğine bakmak isterseniz:



Şu komutla direkt kurabilirsiniz:


Kod:
wget -qO- https://gist.github.com/liberteryen/bd1a5af0cf2fea145f8ea57a0985b7d0/raw/d91a42a4509151271d5193f97a8812ce799098fa/doh.sh | sudo bash


Şimdi blockchecki kullanalım:


Kod:
cd /opt/zapret && sudo ./blockcheck.sh


İlk çalıştırdığımızda betik birkaç şeyleri test edecek. En son


Kod:
domain(s) (default: rutracker.org) :


kısmı gelecek. Buraya AKLINIZA gelen :sinsi: bir engellenmiş websitesi yazın. Ben örnek olarak discord.com yazacağım.


Sonra


Kod:
ip protocol version(s) - 4, 6 or 46 for both (default: 4) :


kısmı gelecek buraya 4 yazıp enterleyin.



Ondan sonra size şu sorular sorulacak:



Kod:
check http (default : Y) (Y/N) ? n

check https tls 1.2 (default : Y) (Y/N) ? y

TLS 1.3 uses encrypted ServerHello. DPI cannot check domain name in server response.
This can allow more bypass strategies to work.
What works for TLS 1.2 will also work for TLS 1.3 but not vice versa.
Most sites nowadays support TLS 1.3 but not all. If you can't find a strategy for TLS 1.2 use this test.
TLS 1.3 only strategy is better than nothing.
check https tls 1.3 (default : N) (Y/N) ? n

make sure target domain(s) support QUIC or result will be negative in any case
check http3 QUIC (default : Y) (Y/N) ? y



Benim yaptığım gibi sırayla N-Y-N-Y olarak cevaplayın.



Sonra

Kod:
how many times to repeat each test (default: 1) : 1

bu soruya 1 diye cevap verin.


Sonra bu soruya

Kod:
quick - scan as fast as possible to reveal any working strategy


standard - do investigation what works on your DPI


force - scan maximum despite of result


1 : quick


2 : standard


3 : force


2 diye cevap verin.


Sonra

Kod:
press enter to continue

yazısı gelicek entere basın ve deneme-yanılma işlemini başlatın. 5-6 dk sürebilir internetinize göre.



En son şuna benzer bir çıktı alacaksınız:
Kod:
* SUMMARY
curl_test_https_tls12 ipv4 discord.com : tpws --split-pos=2 --oob
curl_test_https_tls12 ipv4 discord.com : tpws --split-pos=2 --oob --disorder
curl_test_https_tls12 ipv4 discord.com : tpws --tlsrec=midsld
curl_test_https_tls12 ipv4 discord.com : tpws --tlsrec=midsld --oob
curl_test_https_tls12 ipv4 discord.com : tpws --tlsrec=midsld --disorder
curl_test_https_tls12 ipv4 discord.com : tpws --tlsrec=midsld --oob --disorder
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=multidisorder --dpi-desync-split-pos=2
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-ttl=4
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=0
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-fooling=ts --dpi-desync-fake-tls=0x00000000
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-fooling=md5sig
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-ttl=4 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=0 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-fooling=ts --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-fooling=md5sig --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-ttl=4
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=0
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-fooling=ts
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-fooling=md5sig
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-ttl=1 --dpi-desync-autottl=-1 --dpi-desync-fake-tls=0x00000000
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-ttl=1 --dpi-desync-autottl=-2 --dpi-desync-fake-tls=0x00000000
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-ttl=1 --dpi-desync-autottl=-3
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-ttl=1 --dpi-desync-autottl=-4
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fake --dpi-desync-ttl=1 --dpi-desync-autottl=-5
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-ttl=1 --dpi-desync-autottl=-1 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-ttl=1 --dpi-desync-autottl=-2 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-ttl=1 --dpi-desync-autottl=-3 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-ttl=1 --dpi-desync-autottl=-4 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=fakedsplit --dpi-desync-ttl=1 --dpi-desync-autottl=-5 --dpi-desync-split-pos=1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-ttl=1 --dpi-desync-autottl=-1
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-ttl=1 --dpi-desync-autottl=-2
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-ttl=1 --dpi-desync-autottl=-3
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-ttl=1 --dpi-desync-autottl=-4
curl_test_https_tls12 ipv4 discord.com : nfqws --dpi-desync=hostfakesplit --dpi-desync-ttl=1 --dpi-desync-autottl=-5
curl_test_http3 ipv4 discord.com : working without bypass
Burada nfqws ile başlayan satırları kullanacağız. nfqws'nin solunda kalan kısımlardan rastgele bir tanesini kopyalayın. Örneğin:
Kod:
--dpi-desync=fakedsplit --dpi-desync-fooling=md5sig --dpi-desync-split-pos=1
Sonra
Kod:
cd /opt/zapret ; sudo ./install_easy.sh
yazarak kurulumu başlatacağız.

İlk soru:
Kod:
select firewall type :
1 : iptables
2 : nftables
your choice (default : iptables) :
1 yazıp entere basın. iptables kullanacağız.
--
Sonra bu soruya:
Kod:
enable ipv6 support (default : N) (Y/N) ?
N yazıp enterleyin.
--
Bu soruda none yani 1 seçin:
Kod:
select filtering :
1 : none
2 : ipset
3 : hostlist
4 : autohostlist
your choice (default : none) :
--
Bu 2 soruya N yazın. tpws ile işimiz yok:
Kod:
enable tpws socks mode on port 987 ? (default : N) (Y/N) ? n
enable tpws transparent mode ? (default : N) (Y/N) ? n
--
Bu soruyu Y ile cevaplayın. nfqws kullanacağız.
Kod:
enable nfqws ? (default : Y) (Y/N) ? Y
--
Sonra kritik yere geldik. Bu soruya da Y yanıtını verin:
Kod:
do you want to edit the options (default : N) (Y/N) ?
Sonra nano ile bir dosya açılacak. İçeriği böyle olacak:
Kod:
NFQWS_PORTS_TCP=80,443
NFQWS_PORTS_UDP=443
NFQWS_TCP_PKT_OUT=9
NFQWS_TCP_PKT_IN=3
NFQWS_UDP_PKT_OUT=9
NFQWS_UDP_PKT_IN=0
NFQWS_PORTS_TCP_KEEPALIVE=
NFQWS_PORTS_UDP_KEEPALIVE=
NFQWS_OPT="
--filter-tcp=80 --dpi-desync=fake,multisplit --dpi-desync-split-pos=method+2 --dpi-desync-fooling=md5sig <HOSTLIST> --new
--filter-tcp=443 --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-fooling=badseq,md5sig <HOSTLIST> --new
--filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 <HOSTLIST_NOAUTO>
"
Son 3 satırdaki her şeyi silin. Ve yukarıdaki sonuç kısmında kopyaladığınız kısmı buraya yapıştırın. Sondaki tırnak işaretini koymayı unutmayın. Unutmayın nano ok tuşlarıyla kullanılır. Mouse ile satır seçmeye çalışmayın.

Örneğin biz yukarda
Kod:
--dpi-desync=fakedsplit --dpi-desync-fooling=md5sig --dpi-desync-split-pos=1
seçmiştik.
Yani nihai config şöyle olacak:
Kod:
NFQWS_PORTS_TCP=80,443
NFQWS_PORTS_UDP=443
NFQWS_TCP_PKT_OUT=9
NFQWS_TCP_PKT_IN=3
NFQWS_UDP_PKT_OUT=9
NFQWS_UDP_PKT_IN=0
NFQWS_PORTS_TCP_KEEPALIVE=
NFQWS_PORTS_UDP_KEEPALIVE=
NFQWS_OPT="
--dpi-desync=fakedsplit --dpi-desync-fooling=md5sig --dpi-desync-split-pos=1"
Sonra Ctrl + X kombinasyonu yapın. Sonra ctrlyi bırakıp Y tuşuna basıp entere basın. Sonra şu soru tekrar sorulacak:
Kod:
do you want to edit the options (default : N) (Y/N) ?
Bu sefer N basıp enterleyin. Çünkü editledik zaten.
--
Sonra 2 adet ağ arayüzü sorusu olacak. İlkine NONE seçin yani 1 yazıp enterleyin:
Kod:
LAN interface :
1 : NONE
2 : eth0
3 : lo
4 : wlan0
your choice (default : NONE) : 1
Sonra WAN arayüzüne ANY seçin yani 1 basıp enterleyin:
Kod:
WAN interface :
1 : ANY
2 : eth0
3 : lo
4 : wlan0
--
Sonra
Kod:
press enter to continue
yazısı gelecek. Entere basınca kurulum tamamlanacak.


Sonra engelli siteler açık mı değil mi diye kontrol edin. Eğer olmaz ise kopyaladığınız yerden nfqws ile başlayan başka bir strateji seçin ve aynı işlemleri tekrarlayın. En iyi yöntem deneme yanılmadır. Muhtemelen tekte yaparsınız hatta benim sonuçlarımdan rastgele birini alarak direkt install_easy.sh yapabilirsiniz.
 
Son düzenleyen: Moderatör:
Bunu manuel olarak kapatıp açmamı sağlayacak bir şey var mı? GoodbyeDPI'da servisi kapatmak için ayrı bir CMD kullanıyorduk.