Rehber Güncellenme Tarihi:
17.01.2025

Merhaba arkadaşlar,

Keenetic Hero DSL modem ile sansüronline internet kullanmaktayım. GitHub'da açık kaynak olarak bulunan OpenWrt için hazırlanan Zapret isimli yazılımı kullanarak internetteki engelleri aşabiliyoruz. Bu sayede Windows'ta veya Android'de ekstra bir yazılım kullanmamıza gerek kalmıyor.

GitHub'da halihazırda bir anlatım mevcut ancak bu anlatıma göre yapılırsa Keenetic modemlerin çökme durumları oluşuyormuş o yüzden biraz değişiklik ile yapacağız.

SSH bağlantılar için ben MobaXterm programını tercih ettim, rehberde bu program üzerinden tarif edilecektir.

Keenetic OS 3.8 üstü bir versiyona sahip çoğu modem/routerda sorunsuz çalışacaktır. Eski/Desteği kesilmiş bir Keenetic Modem/Router kullanıyorsanız Delta güncelleme kanalına geçerek şu an için delta kanalının en güncel sürümü olan 4.1.7 sürüme güncelleyebilirsiniz.

Delta güncelleme kanalına geçiş ve hakkında daha fazla bilgi için bağlantıya göz atabilirsiniz.

Dikkat, Önemli !
Rehbere başlamadan önce aşağıdaki bileşenlerin yüklü olması gerkelidir. Bende kullanıldıklarından dolayı zorunlu gözükenler sizde kurulu olmayabilir, Kurulu olduklarından emin olmanız daha iyi olur.
Öncelikle Keenetic modemimizde IPv6 bileşeninin yüklü olması gerekiyor. Sonra aşağıdaki tüm OPKG bağımlılıklarınıda yüklemeniz gereklidir.
(Not : Eğer OPKG önceden aktif edildiyse ve IPv6 Sonradan aktif edildiyse OPKG bileşenlerinin altına ek bir bileşen daha geliyor onu da seçerek yüklemeniz gerekiyor)

1737053834503.webp

1737053809165.webp

1737143780291.webp

1736021748020.webp


Ek bir ayar:

Aşağıdaki ayarı bağlantının düzgün filtrelenmesi için kapatmanız daha iyi olacaktır.

1737054383105.webp


DNS ayarları:

Herşeyden önce modemimizde veya bilgisayarımızda ekstra herhangi bir DNS veya VPN varsa hepsini kaldırıyoruz.
Öncelikle ISS DNS'ini devre dışı bırakmanız gereklidir.
Bu ayara PPPoE bağlantınızın altından gelişmiş ayarlar üzerinden ulaşabilirsiniz.

1736022375981.webp


ve ardından internet bağlantınız kesilecek, ben hızlı ve güvenilir bir DNS olan CloudFlare DNS'i tercih ederek ağ kuralları > internet güvenliği > DNS yapılandırması ayarları altından CloudFlare DNS'i hem DoT(DNS over TLS) hem de DoH (DNS over HTTPS) olarak ekledim ki bağlantımızda şifreli ve güvenli olsun.

1736450716004.webp


DNS ayarlamamızdan sonra DNS Leak Test ile standart bir test yaparak tüm DNS sunucularımızın CloudFlare olduğunu doğruluyoruz, eğer ki DNS sunucularında farklı bir server görürseniz bu durumda bilgisayar/modem ayarlarını kontrol edin yine çözemezseniz modeminizi fabrika ayarlarına sıfırlayarak yeniden kurun.

1737141841360.webp



OPKG kurulumu;

Dikkat, Önemli !
OPKG Kurulumu yanlızca bileşenlerden OPKG etkinleştirerek tamamlanmıyor. Bileşenlerden etkinleştirdikten sonra Entware kurulumu yapılması gerekiyor ve kurulumunu iki farklı şekilde yapabiliyoruz.

İlk metot disksiz kurulum, modem ya da routerınızın dahili depolaması yeterli boyutta ise direk kendi içerisine kurulum yapabiliyoruz.
İkinci metot harici USB/harddisk üzerine kurulum yapabiliyoruz.
İki yöntem için de Keenetic'in kendi kurulum yönergesi mevcut ancak İngilizce, ilgili kaynaklara buradan ve buradan ulaşabilirsiniz ama onun yerine konunun eklerinde bulunan PDF'lerde Türkçe anlatımlara da ulaşabilirsiniz.

SSH/Telnet bağlantı için MobaXterm tercih ettim.

OPKG Kurulumları için yukarıda referans verilen linkler veya konunun ekindeki PDF'leri takip ederek MobaXterm üzerinden Telnet port 23'e bağlanarak
Kullanıcı adı : admin ve şifreniz arayüz şifreniz olarak oturum açarak takip edebilirsiniz.

1737142790481.webp



OPKG kurulumu tamamlandıktan sonra Zapret kurulumuna geçebilirsiniz.

Zapret Kurulumu

Mobaxterm ile 222 portuna SSH ile bağlanıyoruz. Kullanıcı adı : rootŞifre : keenetic olarak oturum açıyoruz. (Şifreniz yazarken gözükmeyecektir.)

1736623010092.webp

OPKG paketlerini güncelliyoruz:​


Kod:
opkg update

Gerekli paketleri yüklüyoruz:​

Önemli Not: Bu aşamada bazen tüm paketler tek seferde kurulmuyor ve ekranda bazı uyarılar veriyor bu yüzden komut tamamlanınca aynı komutu tekrar çalıştırın. 2 Defa çalıştırdığınızda yüklenmeyen paketlerde yüklenecektir.

Kod:
opkg install coreutils-sort curl git-http grep gzip ipset iptables kmod_ndms nano xtables-addons_legacy cron

Çalışma dizinimizi ayarlıyoruz:​


Kod:
cd /opt/tmp

Zapret'i indiriyoruz:​


Kod:
git clone --depth=1 https://github.com/AlexFBG/zapret.git

Zapret dizinine giderek binary yükleme betiğini çalıştırıyoruz:​

(Not: Her satır ayrı bir komut içermektedir her satırı yazdıktan sonra Enter'a basarak komutu yürütünüz.)

Kod:
cd zapret
./install_bin.sh

Gereklilikleri yüklemek için betiği çalıştırıyoruz:​


Kod:
./install_prereq.sh

Firewall türünü 1 olarak seçiyoruz.

1736023082363.webp


Blockcheck betiği ile ISS'imizin ne tür engelleri olduğunu algılıyoruz:​

Kod:
./blockcheck.sh

Önemli Not: Bu aşamada aşağıdaki şekilde bir hata ile karşılaşırsanız bu iki komutu girerek ./blockcheck.sh komutunu yeniden çalıştırdığınızda hata düzelecektir. Eğer bir sorun yaşamadıysanız çözümden sonrasına atlayabilirsiniz.

1737055003735.webp


Hatanın çözümü :


Kod:
insmod /lib/modules/4.9-ndm-5/xt_NFQUEUE.ko
insmod /lib/modules/4.9-ndm-5/xt_connbytes.ko

Sizden engelli olan bir URL girmenizi isteyecek ben burada pastebin.com olarak girdim.
Soruların hepsini varsayılan bırakabilirsiniz sadece son soruda deneme süresini 1 yani quick olarak seçiyoruz.
Eğer herhangi bir method Available olarak gözükmezse bu aşamada 2 yani standart seçerek yeniden deneyebilirsiniz.

1736023460144.webp


Bulunan engel aşma metotları! Available! Şeklinde gözükecektir ve betik tamamlandıktan sonra özet olarak tüm metotları verecektir.

Kod:
* SUMMARY.

ipv4 pastebin.com curl_test_http : nfqws --hostspell=hoSt
ipv4 pastebin.com curl_test_https_tls12 : nfqws --dpi-desync=fake --dpi-desync-ttl=2
ipv4 pastebin.com curl_test_https_tls13 : nfqws --dpi-desync=fake --dpi-desync-ttl=2

Bu kısmı not ederek devam ediyoruz.

Zapret kurulumu:​


Kod:
./install_easy.sh

Uyarılara y - evet diyerek ilerliyoruz.

1736023785019.webp


Zapret'i OPT altına kuruyoruz.

1736023798542.webp


Güvenlik duvarı olarak iptables seçiyoruz.

1736023889135.webp


IPv6 kullanmadığımız için default - n olarak bırakıyoruz ve ardından mod olarak 3 yani nfqws seçiyoruz.

1736023934388.webp


Ayarları düzenlemek istiyor musunuz sorusuna y ile devam ediyoruz.

1736023984939.webp


Not almış olduğumuz ayarları açılan ekrana uyarlayarak yazıyoruz, referans olarak görsele bakabilirsiniz.

1737148555607.webp


CTRL X > Y > enter ile dosyayı kaydediyoruz.
Tekrar düzenlemeyi sorduğunda N diyerek ilerliyoruz.
Ardından WAN arayüzümüzü soracak, bu aşamada 2. bir SSH penceresi açarak (yine 192.168.1.1 ve 222 portuna) ve ifconfig komutunu çalıştırarak WAN IP'mizin olduğu arayüzü buluyoruz bende bu PPP0 olarak çıktı, Sizin Keenetic OS versiyonunuzda 4.0 üzerindeyse %90 ihtimal ile arayüz PPP0 olacaktır.

1736024325184.webp


Yani bu aşamada 17 yazarak PPP0 arayüzünü seçiyorum.

1736024389150.webp


Geriye kalan işlemlere de varsayılanları seçerek ilerliyoruz.

1736024467275.webp


En sonda Enter'a basarak betiği tamamlıyoruz.

tmp dizinini temizliyoruz:​


Kod:
cd
rm -rf /opt/tmp/zapret

Zapret'i Keenetic cihazımızın açılışında başlatacak şekilde ayarlıyoruz:​


Kod:
ln -fs /opt/zapret/init.d/sysv/zapret /opt/etc/init.d/S90-zapret

Açılış betiğini düzenliyoruz.

Kod:
nano /opt/zapret/init.d/sysv/zapret

Dosyanın başlangıcına aşağıdaki komutları ekliyoruz.

Kod:
PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
WS_USER=nobody

Aşağıdaki şekilde gözükmesi gerekiyor;

1736024699553.webp


CTRL X > Y > enter ile dosyayı kaydediyoruz.
Ardından küçük bir betik oluşturarak KeeneticOS'un kuralları unutmamasını sağlıyoruz.

Kod:
nano /opt/etc/ndm/netfilter.d/000-zapret.sh

Aşağıdaki komutları dosyanın içerisine yapıştırıyoruz;

Kod:
#!/bin/sh
[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "mangle" ] && exit 0
/opt/zapret/init.d/sysv/zapret restart-fw

CTRL X > Y > enter ile dosyayı kaydediyoruz.
Dosyaya yürütme izini veriyoruz.

Kod:
chmod +x /opt/etc/ndm/netfilter.d/000-zapret.sh

Kod:
iptables-save

Ardından ister bu kodu çalıştırarak;

Kod:
/opt/zapret/init.d/sysv/zapret start

İster Modem/Router'ımızı yeniden başlatarak pastebin veya sizin istediğiniz engelli bir siteye girmeyi deniyoruz.

İşlem bu kadar. :)

@Recep Baltaş Goodbye DPI videosunun sonunda bir sonraki rehberde modeme kuracağız demiştin ama bayağıdır beklediğim için ben dayanamayıp kurulum rehberi hazırladım :)
 

Dosya Ekleri

  • 1736024120999.webp
    1736024120999.webp
    18,1 KB · Görüntüleme: 902
  • 1736024358814.webp
    1736024358814.webp
    18,7 KB · Görüntüleme: 282
  • opkg_kurulum.pdf
    opkg_kurulum.pdf
    514,9 KB · Görüntüleme: 390
  • Opkg Kurulumu Disksiz.pdf
    Opkg Kurulumu Disksiz.pdf
    558,5 KB · Görüntüleme: 644
  • 1736023316439.webp
    1736023316439.webp
    10,9 KB · Görüntüleme: 230
  • 1736023574926.webp
    1736023574926.webp
    9,8 KB · Görüntüleme: 222
  • 1736622904814.webp
    1736622904814.webp
    28,6 KB · Görüntüleme: 402
  • 1737054958820.webp
    1737054958820.webp
    9,3 KB · Görüntüleme: 168
  • 1737143068168.webp
    1737143068168.webp
    15,4 KB · Görüntüleme: 177
  • 1737143667325.webp
    1737143667325.webp
    690 bayt · Görüntüleme: 180
  • 1737146966131.webp
    1737146966131.webp
    16,6 KB · Görüntüleme: 162
  • 1737147604878.webp
    1737147604878.webp
    10,7 KB · Görüntüleme: 192
Son düzenleme:
Güzel makale öncelikle teşekkürler. Ben daha önce superonline ile kullanıyordum harici sürücü ile. Şimdi ise ttnet'e geçtim ve hem SOL'da hem de TTNET'te ipv6 kullanıyorum. Bu nedenle ayarlarda ipv4 ile ipv6'yı da seçmem gerekir mi?

Diğer bir sorum ise dnsleak testinde SOL'da cloudflare almanya gözüküyorken TTNET'te istanbul gözükmekte. Bu bir sorun teşkil eder mi?
 
merhaba, türk telekom kullanıyorum bölgemde ipv6'da aktif.
bu sebeple pastebin.com domainini girdikten sonra nfwqs olarak ilerledim.
bulunan engel aşma metodları ise şu şekilde;
Kod:
* SUMMARY
ipv4 pastebin.com curl_test_http : nfqws --hostspell=hoSt
ipv4 pastebin.com curl_test_https_tls12 : nfqws --dpi-desync=fake --dpi-desync-ttl=2
ipv4 pastebin.com curl_test_https_tls13 : nfqws --dpi-desync=disorder2
ipv6 pastebin.com curl_test_http : nfqws --hostspell=hoSt
ipv6 pastebin.com curl_test_https_tls12 : nfqws --dpi-desync=split2
ipv6 pastebin.com curl_test_https_tls13 : nfqws --dpi-desync=split2 --dpi-desync-split-tls=sniext

bu çözümleri tmp dizini altındaki zvars dosyasına hangi formatta ekleyeceğim konusunda yardıma ihtiyacım var. yardımcı olabilecek var mı acaba?

1755954868851.webp
 
KN3611'de Entware mimarisini bulamadım. Mips ve Mipsel denedim ancak ikisinde de ekte belirttiğim hatayı aldım. Ne yapmamı öneriyorsunuz? Sürüm 5.0.4

1769799096766.webp
 
KN3611'de Entware mimarisini bulamadım. Mips ve Mipsel denedim ancak ikisinde de ekte belirttiğim hatayı aldım. Ne yapmamı öneriyorsunuz? Sürüm 5.0.4

Eki Görüntüle 222930
OPKG ve Entware kurduysanız aramayın öyle o ne kuracak bulamadım diye. Neredeyse kusursuz bir betik yazdım kullanın rahat edin.

 
Kablonet bağlantıda 1.1.1.1 Cloudflare DoH veya dot kullanmak zapret ile sayfalar yüklendiğinde bazı görsellerin yüklenmemesine veya YouTube izlerken videonun donmasına veya ilk tıklandığında hiç alışmamasına F5 yapmadan vs. sebep oluyordu bunları çözebilmek için NextDNS'e geçiş yaptım bu çok stabildi 1 hafta önceye kadar. Şu an NextDNS ile kullanırsam engelli siteler Discord vs. açılmıyor. Bu sorunu çözebilmek için tavsiye ettiğiniz böyle ağır DPI uygulanmayan bir DNS servisi var mı? Cloudflare her şeyi aynı IP'ler ile yaptığı için tam olarak engellenemiyor tabii ama connection reset oluyor bazı paketlerde bu da internette genel olarak kullanımda sorun yaşatıyor. NextDNS sorunsuz çalışıyordu şimdi onda da bir engelleme var belli ki Kablonet tarafında.