Linux'ta Zapret Kurulumu: Sansür ve Engelleri Aşmanın Profesyonel Yolu
🇹🇷 Linux'ta internet sansürünü ve erişim engellerini aşmak için adım adım Zapret (nfqws/tpws) kurulumu.
📝 Yasal Uyarı
Bu yazı, yalnızca eğitim amaçlıdır. Burada öğrenilen bilgilerin kötüye kullanılması yasalara aykırıdır. Lütfen bu bilgileri yalnızca güvenlik eğitimi ve savunma amaçlı kullanın. Kötü niyetli kullanımlar yasal sonuçlar doğurabilir.
🤔 Zapret Nedir ve Ne İşe Yarar?
İnternet dünyasında bölgesel engeller veya sansür uygulamalarıyla karşılaşmak can sıkıcı olabilir. Neyse ki, Zapret gibi araçlar, bu tür kısıtlamaları aşmanız için güçlü ve esnek bir çözüm sunar. Zapret, esasen Rusya’daki derin paket denetimi (DPI) sistemlerine karşı geliştirilmiş olsa da, benzer mekanizmalara sahip pek çok engeli aşmak için kullanılabilir.
Bu kapsamlı blog yazısında, Zapret’i (özellikle nfqws ve tpws bileşenlerini) Linux sisteminize profesyonelce nasıl kuracağınızı ve yapılandıracağınızı adım adım anlatacağız.
Zapret, temel olarak internet trafiğinizi DPI (Deep Packet Inspection - Derin Paket Denetimi) sistemlerini atlatacak şekilde değiştiren bir dizi araçtır.
- DPI Nasıl Engeller? DPI sistemleri, genellikle HTTP ve TLS/SSL el sıkışma paketlerini analiz ederek, belli anahtar kelimeler, alan adları (SNI) veya IP adreslerine göre trafiği engeller.
- Zapret Ne Yapar? Zapret içindeki araçlar (özellikle
nfqws
vetpws
), bu engelleri aşmak için paketi bölme (packet fragmentation), sahte paketler ekleme (fake desync) gibi yöntemler kullanır. Bu sayede, DPI sistemi engelleme kararını vermeden önce gerçek veri akışı başlar veya DPI sistemi yanıltılır.
Kısacası, Zapret, engellenen sitelere (örneğin popüler Discord gibi hizmetlere) erişiminizi yeniden sağlamak için bir anti-sansür kalkanı görevi görür.
🛠️ Adım 1: Kurulum Dosyalarını İndirme
Öncelikle, Zapret’in en güncel sürümünü GitHub sayfasından indirmemiz gerekiyor. Gömülü (embedded) olmayan standart zip dosyasını indirdiğinizden emin olun.
- Bu bağlantıyı kullanarak Zapret’in en son sürümünün olduğu sayfaya gidin.
- Assets başlığı altından
.zip
uzantılı dosyayı (örneğinzapret-vXX.Y.zip
) indirin. (Source code (zip)
veyaSource code (tar.gz)
olanlar değil.)
Önemli Not:
zapret-vXX.Y-openwrt-embedded.tar.gz
gibi “embedded” etiketli dosyaları indirmeyin. Sadece ana.zip
veya.tar.gz
dosyasını tercih edin.
📂 Adım 2: Dosyaları Sistem Dizinine Taşıma
İndirdiğiniz zip dosyasını açın ve çıkan klasörü sisteminizde /opt/
dizinine taşıyın. Klasör adının basitçe zapret
olduğundan emin olun.
1
2
3
4
5
# İndirilen zip dosyasını açın
unzip zapret-vXX.Y.zip
# Klasörü /opt/ dizinine taşıyın ve adını 'zapret' olarak değiştirin
sudo mv zapret-vXX.Y /opt/zapret
Şimdi kurulum adımlarına geçmek için zapret
dizinine gidelim:
1
cd /opt/zapret/
⚙️ Adım 3: İkili Dosyaları ve Ön Gereksinimleri Yükleme
Zapret, sisteminize uygun ikili dosyaları (binaries) kurmak için kolaylaştırılmış betikler sunar.
-
Sistem Yetkisini Alma: Kurulum işlemleri için root yetkisine ihtiyacınız olacak.
1 2
sudo su # Şifrenizi girdikten sonra komut satırı 'root@...' şeklinde değişecektir.
-
İkili Dosyaları Kurma: Bu betik, sistem mimarinizi (örneğin
linux-x86_64
) algılar ve gerekli çalıştırılabilir dosyaları uygun yerlere bağlar (linkler).1 2 3 4 5 6
./install_bin.sh # Örnek Çıktı: # installing binaries ... # linking : ../binaries/linux-x86_64/ip2net => /opt/zapret/ip2net # ...
⚡ Adım 4: Kolay Kurulum Betiğini Çalıştırma
Şimdi Zapret’in temel servislerini sisteminize entegre edecek olan ana kurulum betiğini çalıştırıyoruz.
-
Kurulumu Başlatın:
1
./install_easy.sh
-
Firewall Seçimi: Kurulum betiği size hangi firewall sistemini kullanacağınızı soracaktır. Modern Linux dağıtımlarında
nftables
önerilir.- Soru geldiğinde:
nftables
seçin.
- Soru geldiğinde:
-
NFQWS’yi Etkinleştirme: Bu, Zapret’in DPI atlatma mekanizmalarını sağlayan ana bileşendir. Bu adımı kesinlikle atlamayın.
enable nfqws ? (default : N) (Y/N) ?
sorusuna:Y
yazın.
-
Diğer ayarlar için herhangi bir değişiklik yapmanız gerekmez. Varsayılan ayarları kabul ederek kuruluma devam edin.
✅ Adım 5: Servis Durumunu Kontrol Etme
Kurulum bittikten sonra Zapret servisinin düzgün çalışıp çalışmadığını kontrol edelim:
1
systemctl status zapret
Beklenen Çıktı:
Eğer her şey yolundaysa, Active:
alanında active (running)
görmelisiniz.
1
2
3
4
● zapret.service
Loaded: loaded (/usr/lib/systemd/system/zapret.service; enabled; preset: disabled)
Active: active (running) since Fri 2025-10-17 15:09:14 +03; 17min ago
# ... diğer detaylar
- Eğer
active (running)
yerine başka bir durum (örneğinfailed
) görüyorsanız, servisi elle başlatın:1
systemctl start zapret
systemctl ile servis yönetimi (enable / start / stop / restart)
Zapret servisini yönetmek için kullanılan systemd komutları:
-
sudo systemctl enable zapret
Sunucu yeniden başlatıldığında Zapret servisinin otomatik olarak başlamasını sağlar. -
sudo systemctl disable zapret
Otomatik başlatmayı devre dışı bırakır. -
sudo systemctl start zapret
Servisi hemen başlatır. -
sudo systemctl stop zapret
Servisi hemen durdurur. -
sudo systemctl restart zapret
Servisi yeniden başlatır (konfig değişikliklerinden sonra kullanışlı). -
sudo journalctl -u zapret -f
Zapret servisinin loglarını gerçek zamanlı izlemek için kullanın.
🌐 Adım 6: Çalıştığını Test Etme ve Sorun Giderme
Servis çalışır durumda göründüğünde, engelli olduğunu bildiğiniz bir siteye (örneğin discord.com) erişmeyi deneyin.
-
Erişim Başarılı:
Tebrikler! Zapret başarıyla çalışıyor.
-
Erişim Başarısız:
Öncelikle bilgisayarınızı yeniden başlatmayı deneyin. Bazen ağ yapılandırmasının tam oturması için bu gerekebilir.
Hala çalışmıyorsa, Blok Testini çalıştıralım.
Blok Testi
Zapret’in kendi blok testi aracı, hangi DPI atlatma stratejilerinin sizin ağınızda işe yaradığını bulmanıza yardımcı olur.
zapret
dizinine gidin:1
cd /opt/zapret
- Blok testini çalıştırın:
1
./blockcheck.sh
Test sonucunda, başarıyla aşılan bir engelleme stratejisi bulunursa, aşağıdaki gibi bir çıktı alırsınız:
1
!!!!! curl_test_http: working strategy found for ipv4 discord.com : tpws --split-pos=method+2,midsld --fix-seg --oob !!!!!
Yapılandırma Güncelleme
Eğer blockcheck.sh
size bir strateji önerirse (örneğin yukarıdaki gibi tpws --split-pos=...
), bu parametreleri Zapret’in ana yapılandırma dosyasına eklemeniz gerekir.
-
Yapılandırma dosyasını açın:
1
nano /opt/zapret/config
-
Dosya içinde
NFQWS_OPT
satırını bulun. Bu alana yeni parametrelerinizi ekleyin. Varsayılan ayarlar şuna benzerdir:1 2 3 4
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> "
-
Bulduğunuz yeni parametreleri, uygun olan satıra (genellikle
NFQWS_OPT
içindeki ilk veya ikinci uzun satıra) ekleyin. (veya komple değiştirin)Örneğin,
blockcheck.sh
çıktınızdaki parametreleri ekleyerek HTTP trafiğini (port 80) hedef alan ilk satırı güncelleyebilirsiniz. -
Değişiklikleri kaydettikten sonra Zapret servisini yeniden başlatın:
1
systemctl restart zapret
🗑️ Adım 7: Zapret’i Kaldırma
Gelecekte Zapret’e ihtiyacınız kalmazsa veya yeni bir ağ yapılandırması denemek isterseniz, sistemi temiz bir şekilde eski haline döndürmeniz önemlidir. Zapret, kolay bir kaldırma betiği de sunar.
-
Zapret Dizine Gidin:
1
cd /opt/zapret
-
Root Yetkisi Alın: Kaldırma işlemleri için de root yetkisine ihtiyacımız var.
1
sudo su
-
Kaldırma Betiğini Çalıştırın: Bu betik,
systemd
servis dosyasını kaldıracak, firewall kurallarını (nftables veya iptables) temizleyecek ve sistemden tüm Zapret dosyalarını silecektir.1
./uninstall.sh
-
Servis Durumunu Kontrol Edin: Kaldırma işleminin başarılı olduğunu teyit etmek için servisin artık bulunmadığından emin olun.
1
systemctl status zapret
Beklenen Çıktı: Servis dosyasının bulunmadığını belirten bir hata mesajı (
Unit zapret.service could not be found.
) görmelisiniz. -
Kalan Dosyaları Temizleme:
uninstall.sh
betiği genellikle/opt/zapret
dizinini silmez. Bu dizini de manuel olarak silebilirsiniz.1
sudo rm -rf /opt/zapret
Başka bir yazıda görüşmek üzere, esen kalın.