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: 920
  • 1736024358814.webp
    1736024358814.webp
    18,7 KB · Görüntüleme: 310
  • opkg_kurulum.pdf
    opkg_kurulum.pdf
    514,9 KB · Görüntüleme: 409
  • Opkg Kurulumu Disksiz.pdf
    Opkg Kurulumu Disksiz.pdf
    558,5 KB · Görüntüleme: 658
  • 1736023316439.webp
    1736023316439.webp
    10,9 KB · Görüntüleme: 241
  • 1736023574926.webp
    1736023574926.webp
    9,8 KB · Görüntüleme: 247
  • 1736622904814.webp
    1736622904814.webp
    28,6 KB · Görüntüleme: 426
  • 1737054958820.webp
    1737054958820.webp
    9,3 KB · Görüntüleme: 178
  • 1737143068168.webp
    1737143068168.webp
    15,4 KB · Görüntüleme: 189
  • 1737143667325.webp
    1737143667325.webp
    690 bayt · Görüntüleme: 190
  • 1737146966131.webp
    1737146966131.webp
    16,6 KB · Görüntüleme: 173
  • 1737147604878.webp
    1737147604878.webp
    10,7 KB · Görüntüleme: 205
Son düzenleme:
Standart DNS yerine HTTPS DNS kullanarak işlem yapıyor anladığım kadarı ile bunun aynısını daha farklı olarak controld üzerinde yapıyorum site veya servis bazlı ülke değiştirme olarak.

Temelde modeme kurmadan bilgisayara kurarak da VPN kullanmadan sansürü aşabilirsiniz.




Chrome tarayıcı bazında işlem yapmak için.



Bu tek başına yeterli değil hocam öncelikle internet servis sağlayıcının kendi DNS'inden kurtulmak gerekiyor DoH ve DoT da bağlantıyı şifreli ve güvenli hale getirmek için daha sonrasında zapret dediğimiz tool normalde OpenWrt modemler için yazılmış olan GoodByeDPI alternatifi bunu Keenetic modeme kuruyoruz özetle bu şekilde ve buradaki olayımız zaten bilgisayar/telefona bağımlı kalmadan direkt kaynakdan engelsiz internet kullanmak.

Maalesef.
 
Son düzenleyen: Moderatör:
Blockcheck betiği ile ISS'imizin ne tür engelleri olduğunu algılıyoruz:
Bu kısımda aşağıdaki hatayı alıyorum ne yapmam lazım?

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.

press enter to continue
 
Bu kısımda aşağıdaki hatayı alıyorum ne yapmam lazım?

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.

press enter to continue

Bileşenlerde IPv6 ve tüm opkg bileşenlerinin yüklü olduğundan emin olun rehberin başında yazmıştım.
 
Zapret dizinine giderek binary yükleme betiğini çalıştırıyoruz:
aarch64 is NOT OK
arm is NOT OK
mips64r2-msb is NOT OK
mips32r1-lsb is NOT OK
mips32r1-msb is OK
installing binaries ...
linking : ../binaries/mips32r1-msb/ip2net => /opt/tmp/zapret/ip2net
linking : ../binaries/mips32r1-msb/mdig => /opt/tmp/zapret/mdig
linking : ../binaries/mips32r1-msb/nfqws => /opt/tmp/zapret/nfq
linking : ../binaries/mips32r1-msb/tpws => /opt/tmp/zapret/tpws

Bu şekilde gözüküyor bundan mı kaynaklı?
Bileşenlerde IPv6 ve tüm opkg bileşenlerinin yüklü olduğundan emin olun rehberin başında yazmıştım.
1736105393653.webp


1736105413459.webp
 
Aarch64 is not ok.
ARM is not ok.
Mips64r2-MSB is not ok.
Mips32r1-lsb is not ok.
Mips32r1-MSB is ok.
İnstalling binaries...
Linking: ../binaries/mips32r1-msb/ip2net => /opt/tmp/zapret/ip2net
Linking: ../binaries/mips32r1-msb/mdig => /opt/tmp/zapret/mdig
Linking: ../binaries/mips32r1-msb/nfqws => /opt/tmp/zapret/nfq
Linking: ../binaries/mips32r1-msb/tpws => /opt/tmp/zapret/tpws

Bu şekilde gözüküyor bundan mı kaynaklı?

Eki Görüntüle 112754

Eki Görüntüle 112755

Binary yükleme sonucunda sorun yok, opkg diye aratmak yerine en aşağıya indiğinizde opkg başlığındaki hepsini seçin örnek görsel yine rehberin başında mevcut.
 
Son düzenleme:
Son düzenleme:
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.

press enter to continue

Tüm bileşenler kurulu olmasına rağmen aynı hatayı alıyorum maalesef.

1736165848799.webp

1736165865775.webp
 
Son düzenleyen: Moderatör: