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: 903
  • 1736024358814.webp
    1736024358814.webp
    18,7 KB · Görüntüleme: 283
  • opkg_kurulum.pdf
    opkg_kurulum.pdf
    514,9 KB · Görüntüleme: 391
  • Opkg Kurulumu Disksiz.pdf
    Opkg Kurulumu Disksiz.pdf
    558,5 KB · Görüntüleme: 645
  • 1736023316439.webp
    1736023316439.webp
    10,9 KB · Görüntüleme: 231
  • 1736023574926.webp
    1736023574926.webp
    9,8 KB · Görüntüleme: 223
  • 1736622904814.webp
    1736622904814.webp
    28,6 KB · Görüntüleme: 403
  • 1737054958820.webp
    1737054958820.webp
    9,3 KB · Görüntüleme: 169
  • 1737143068168.webp
    1737143068168.webp
    15,4 KB · Görüntüleme: 178
  • 1737143667325.webp
    1737143667325.webp
    690 bayt · Görüntüleme: 181
  • 1737146966131.webp
    1737146966131.webp
    16,6 KB · Görüntüleme: 163
  • 1737147604878.webp
    1737147604878.webp
    10,7 KB · Görüntüleme: 193
Son düzenleme:
Tüm bileşenler kurulu olmasına rağmen aynı hatayı alıyorum maalesef.

Eki Görüntüle 112903
Eki Görüntüle 112904

Sorunu aşağıdaki kodlarla modülleri yükleyerek çözdüm hocam;

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

Bu arada aşağıdaki kodda bulunan ip6tables çalışmadı bende. iptables olarak değiştirince çalıştı.

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

Dipnot: Bende pastebin.com hâlâ çalışmıyor garip bir şekilde. :D Fakat Cloudflare Zero Trust kapalı halde Discord'a sorunsuzca giriş yapabildim.

Yardımcı olmaya çalıştığınız için teşekkür ederim. 🙏
 
CD zapret.
/İnstall_bin. Sh komutusu no such file or directory hatası alıyorum

Hocam
CD zapret.<br>./install_bin. Sh kodunu girince bu hatayı alıyorum
CD to zapret: No such file or directory.
Hatası alıyorum. Cihaz: K2112
 
Son düzenleyen: Moderatör:
CD zapret.
/İnstall_bin. Sh komutusu no such file or directory hatası alıyorum

Hocam
CD zapret.<br>./install_bin. Sh kodunu girince bu hatayı alıyorum
CD to zapret: No such file or directory.
Hatası alıyorum. Cihaz: K2112

Komutları sırayla yazın hocam, orada bir karışıklık olmuş. Tek bir kod yok o alanda.

sırasıyla;

cd zapret (noktasız)
./install_bin.sh
 
Komutları sırayla yazın hocam, orada bir karışıklık olmuş. Tek bir kod yok o alanda.

Sırasıyla;

cd zapret (noktasız)
./install_bin.sh

Hocam onu halletim şimdi ise./blockcheck. Sh yazınca

/opt/tmp/zapret #./blockcheck. Sh.
* Checking System.
Linux detected.
Firewall type is iptables.
  • Checking privileges.
  • Checking prerequisites.
Nfqueue iptables or IP6tables target is missing. Pls install modules. Diyor.
 
Arkadaşlar sorun yaşayanlar Telegram üzerinden iletişim kurabilirler, kullanıcı adım burası ile aynıdır. Kötü bir amacım kesinlikle yok sadece tüm Keenetic cihazlarda sorunsuz çalışması gereken bir yöntem (tabii tüm işlemler rehber ile bire bir aynı yapıldığı sürece) amacım yardımcı olmak ama forum üzerinden bire bir şekilde olmuyor. Sorun yaşayanlar iletişim kurarlarsa yardımcı olup sorunu çözeriz sonra da forumda diğer kullanıcılar için buraya çözüm olarak geri dönüş yaparız.
 
Hocam onu halletim şimdi ise ./blockcheck. Sh yazınca

Kod:
/opt/tmp/zapret # ./blockcheck.sh
* checking system
Linux detected
firewall type is iptables
* checking privileges
* checking prerequisites
NFQUEUE iptables or ip6tables target is missing. pls install modules.
Diyor.

Bir önceki mesajımda belirtmiştim hocam bunun çözümünü. Aşağıya alıntılıyorum;

Sorunu aşağıdaki kodlarla modülleri yükleyerek çözdüm hocam;

Kod:
insmod /lib/modules/4.9-ndm-5/xt_NFQUEUE.ko
insmod /lib/modules/4.9-ndm-5/xt_connbytes.ko
 
Rehberi sabah sabah uykulu kafayla düzgün yapamamıştım şimdi başardım.

Sabah ki denememde blockcheck.sh dosyası ipv6 modülü yüklü olmasına rağmen düzgün çıktı vermiyordu. Şimdi ki denememde 22 portunu kullanarak admin kullanıcısı üzerinden işlemleri gerçekleştirdiğimin hatasını fark ettim. 222 portunu kullanarak root kullanıcısı üzerinden işlemleri gerçekleştirince tüm sorunlar düzeldi. SSH bağlantısını yaparken 222 portu ile bağlandığınızdan ve root kullanıcına giriş yaptığınızdan emin olun.

Arayüz kısmında ben PPP0 arayüzünü seçmek yerine any seçeneğini kullandım umarım sonradan bir sıkıntı çıkartmaz.

Rehber için teşekkürler, ellerinize sağlık.
 
Rehber için çok teşekkürler oldukça detaylı derli toplu olmuş.

4 gün önce Vodafone FiberNET'ten Superonline'a geçiş yaptım, en son 5 sene önce superonline üyesiydim ve sansür olaylarından haberim yoktu. Oldukça pişmanım, sadece 100mbit'ten 1000'e çıkmak için katlanıyorum zira diğer sağlayıcılar buraya 1gbit hizmeti vermiyor.

Konuyu görünce Hopper sipariş ettim, geldi, @Rootsy 'nin yaşadığı ufak sorunu yaşadım ve bahsi geçen çözüm ile hallettim. Zapret'i başarıyla kurdum fakat Hopper'la aldığım hız 950 civarı yerine 250-300'e sınırlanıyor ve asla geçmiyor. Sanki elle girilmiş gibi.
Ignore DNS'ler açık, DoT ve DoH olarak Quad9 girili. Keenetic'i söküp kendi Zyxel EX3501-T0 modemini taktığım an hız tekrar 950/50'ye çıkıyor. Ben hayatımda böyle saçmalık görmedim.

Zyxel'in MAC adresini Keenetic'e yazmayı vs. de denedim. O da olmadı. Fikri olan arkadaşlarım var ise çok mutlu olurum.
 
Rehber için çok teşekkürler oldukça detaylı derli toplu olmuş.

4 gün önce Vodafone Fibernet'ten Superonline'a geçiş yaptım, en son 5 sene önce Superonline üyesiydim ve sansür olaylarından haberim yoktu. Oldukça pişmanım, sadece 100Mbit'ten 1000'e çıkmak için katlanıyorum zira diğer sağlayıcılar buraya 1gbit hizmeti vermiyor.

Konuyu görünce hopper sipariş ettim, geldi, @Rootsy'nin yaşadığı ufak sorunu yaşadım ve bahsi geçen çözüm ile hallettim. Zapret'i başarıyla kurdum fakat Hopper'la aldığım hız 950 civarı yerine 250-300'e sınırlanıyor ve asla geçmiyor. Sanki elle girilmiş gibi.
Ignore DNS'ler açık, dot ve DoH olarak Quad9 girili. Keenetic'i söküp kendi ZyXEL EX3501-T0 modemini taktığım an hız tekrar 950/50'ye çıkıyor. Ben hayatımda böyle saçmalık görmedim.

ZyXEL'in MAC adresini Keenetic'e yazmayı vs. de denedim. O da olmadı. Fikri olan arkadaşlarım var ise çok mutlu olurum.

Aldığınız hız Wi-Fi üzerinden mi kablolu mu, Wi-Fi ise bir kablo ile deneyebilir misiniz önce. Bir de DNS olarak Quad9 yerine Cloudflare'de deneyebilirsiniz ki bende şu an bir problemden dolayı Cloudflare geçtim.

Screenshot_20250109-030801.webp
 
Aldığınız hız Wi-Fi üzerinden mi kablolu mu, Wi-Fi ise bir kablo ile deneyebilir misiniz önce. Bir de DNS olarak Quad9 yerine Cloudflare'de deneyebilirsiniz ki bende şu an bir problemden dolayı Cloudflare geçtim.

Eki Görüntüle 113616

Yukarıda yazdıklarım kablolu (CAT6) bağlantı için geçerli.

WiFi / Kablosuz: Sansüronline modeminden 750 civarı alıyor 16 Pro Max. Keenetic'den ise Quad9 DNS ile tam 300 alıyor.

Cloudflare yaptığımda işler daha da kötüleşiyor, 200 alıyorum ve rakamlar elle yazılmış gibi. 200 çıkıyor sanki otomatik bir cap var mış da sınırlıyormuş gibi.

MAC adresine ONT cihazının adresini yazdım, kısa bir süreliğine 950 gördü, bi 15 dakika sonra yine 300'e düştü.