Keenetic Modem'e Zapret Kurulumu - Detaylı Rehber
İndirilmesi Gereken Bileşenler
- USB arabirim
- USB depolama desteği
- SSH sunucusu
- IPv6
- Ext dosya sistemi
- Open Package desteği
- OPKG paketleri kategorisinin altındaki her şey
- Netfilter için çekirdek (kernel) modülleri
- Netfilter için Xtables-addons genişletme paketleri
Zapret Kurulumu
1. Terminal ile SSH Sunucusuna Giriş
Aşağıdaki kod ile giriş yap:
Kod:
ssh -p 222 [email protected]
Şifre: keenetic
2. Gerekli OPKG Paketlerinin Kurulumu
Paketleri güncelle:
Kod:
opkg update
Gerekli paketleri yükle:
Kod:
opkg install curl grep gzip ipset iptables nano ca-certificates unzip
3. Zapret Dosyasının Kurulumu
Dizine gir:
Kod:
cd /opt
Dosyayı indir:
Kod:
curl -FLO https://github.com/bol-van/zapret/releases/download/v70.5/zapret-v70.5.tar.gz
Dosyayı klasöre çıkart:
Kod:
tar xvzf zapret-v70.5.tar.gz
Dosya adını kısaca "zapret" yap:
Kod:
mv zapret-v70.5 zapret
4. install_bin.sh Dosyasının Kurulumu
Dizine gir:
Kod:
cd zapret
"iptables veya ip6tables modülleri bulunamadı" hatasını vermemesi için aşağıdaki kodları gir:
Kod:
insmod /lib/modules/4.9-ndm-5/xt_NFQUEUE.ko
insmod /lib/modules/4.9-ndm-5/xt_connbytes.ko
Kurulum dosyasını çalıştır:
Kod:
./install_bin.sh
5. LAN ve WAN Adreslerine Bakma
Kod:
ip -4 a
6. install_easy.sh Dosyasının Kurulumu
Kurulum dosyasını çalıştır:
Kod:
./install_easy.sh
Çıkan sorulara şu şekilde yanıt ver:
Kod:
do you want the installer to copy it from you? -> Y
do you want to continue? -> Y
select firewall type -> iptables
enable ipv6 support? -> Y
enable tpws socks mode on port 987? -> N
enable tpws transparent mode? -> N
enable nfqws? -> Y
do you want to edit the options? -> N
LAN interface : br0
WAN interface : ANY
select filtering: none
7. /sysv/zapret dosyasının oluşturulması
Dosyayı oluşturmak için editöre gir:
Kod:
nano /opt/zapret/init.d/sysv/zapret
Kod:
#!/bin/sh
### BEGIN INIT INFO
# Provides: zapret
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
WS_USER=nobody
SCRIPT=$(readlink -f "$0")
EXEDIR=$(dirname "$SCRIPT")
ZAPRET_BASE=$(readlink -f "$EXEDIR/../..")
. "$EXEDIR/functions"
NAME=zapret
DESC=anti-zapret
do_start()
{
if lsmod | grep "xt_multiport " &> /dev/null ; then
echo "xt_multiport.ko is already loaded"
else
if insmod /lib/modules/$(uname -r)/xt_multiport.ko &> /dev/null; then
echo "iptable_raw.ko loaded"
else
echo "Cannot find xt_multiport.ko kernel module, aborting"
exit 1
fi
fi
if lsmod | grep "xt_connbytes " &> /dev/null ; then
echo "xt_connbytes.ko is already loaded"
else
if insmod /lib/modules/$(uname -r)/xt_connbytes.ko &> /dev/null; then
echo "xt_connbytes.ko loaded"
else
echo "Cannot find xt_connbytes.ko kernel module, aborting"
exit 1
fi
fi
if lsmod | grep "xt_NFQUEUE " &> /dev/null ; then
echo "xt_NFQUEUE.ko is already loaded"
else
if insmod /lib/modules/$(uname -r)/xt_NFQUEUE.ko &> /dev/null; then
echo "xt_NFQUEUE.ko loaded"
else
echo "Cannot find xt_NFQUEUE.ko kernel module, aborting"
exit 1
fi
fi
zapret_run_daemons
[ "$INIT_APPLY_FW" != "1" ] || { zapret_apply_firewall; }
}
do_stop()
{
zapret_stop_daemons
[ "$INIT_APPLY_FW" != "1" ] || zapret_unapply_firewall
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
start-fw|start_fw)
zapret_apply_firewall
;;
stop-fw|stop_fw)
zapret_unapply_firewall
;;
restart-fw|restart_fw)
zapret_unapply_firewall
zapret_apply_firewall
;;
start-daemons|start_daemons)
zapret_run_daemons
;;
stop-daemons|stop_daemons)
zapret_stop_daemons
;;
restart-daemons|restart_daemons)
zapret_stop_daemons
zapret_run_daemons
;;
reload-ifsets|reload_ifsets)
zapret_reload_ifsets
;;
list-ifsets|list_ifsets)
zapret_list_ifsets
;;
list-table|list_table)
zapret_list_table
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|start-fw|stop-fw|restart-fw|start-daemons|stop-daemons|restart-daemons|reload-ifsets|list-ifsets|list-table}" >&2
exit 1
;;
esac
exit 0
Kod:
`cp -a /opt/zapret/init.d/custom.d.examples.linux/10-keenetic-udp-fix /opt/zapret/init.d/sysv/custom.d/10-keenetic-udp-fi`
`ln -fs /opt/zapret/init.d/sysv/zapret /opt/etc/init.d/S90-zapret`
8. 000-zapret.sh dosyasının oluşturulması
Dosyayı oluşturmak için editöre gir:
Kod:
nano /opt/etc/ndm/netfilter.d/000-zapret.sh
Kod:
#!/bin/sh
[ "$table" != "mangle" ] && [ "$table" != "nat" ] &&exit 0
/opt/zapret/init.d/sysv/zapret restart-fw
exit
Kod:
chmod +x /opt/etc/ndm/netfilter.d/000-zapret.sh
9. S00fix dosyasının oluşturulması
Dosyayı oluşurmak için editöre gir:
Kod:
nano /opt/etc/init.d/S00fix
Kod:
#!/bin/sh
start() {
sysctl -w net.netfilter.nf_conntrack_checksum=0 &> /dev/null
}
stop() {
sysctl -w net.netfilter.nf_conntrack_checksum=1 &> /dev/null
}
case "$1"in
'start')
start
;;
'stop')
stop
;;
*)
stop
start
;;
esac
exit 0
Kod:
chmod +x /opt/etc/init.d/S00fix
10. Config dosyasının düzenlenmesi
Config dosyasına gir:
Kod:
nano /opt/zapret/config
Aşağıdaki kodun solundaki # işaretini sil:
Kod:
WS_USER=nobody
HTTP protokolü
HTTPS protokolü
QUIC protokolü
NFQWS’yi çalıştırıp yasaklı sitelere girmeyi deneyin:
Kod:
--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig,badsum <HOSTLIST> --new
Kod:
--filter-tcp=443 --dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig,badsum --dpi-desync-repeats=15 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin <HOSTLIST> --new
Kod:
--filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=15 --dpi-desync-ttl=0 --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin <HOSTLIST>
NFQWS’yi çalıştırmak için:
NFQWS’yi yeniden başlatmak için:
NFQWS’yi durdurmak için:
Yeniden başlat:
Kod:
/opt/zapret/init.d/sysv/zapret start
Kod:
/opt/zapret/init.d/sysv/zapret restart
Kod:
/opt/zapret/init.d/sysv/zapret stop
Kod:
reboot
11. Zapret'i aktif edince bazı sitelere (bazı bankalar, bazı devlet kurumları vb.) girilememe sorununu çözmek (İsteğe bağlı)
Zapret config dosyasını düzenle:
Kod:
nano /opt/zapret/config
Kod:
MODE_FILTER=hostlist
Kod:
nano /opt/zapret/ipset/zapret-hosts-user.txt
Kod:
nonexistent.domain
discord.com
discordapp.com
discord.gg
pastebin.com
roblox.com
Kod:
nano /opt/zapret/ipset/zapret-hosts-user-exclude.txt
Kod:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
169.254.0.0/16
fc00::/7
fe80::/10
garantibbva.com
garantibbva.com.tr
ziraatbank.com
ziraatbank.com.tr
yapikredi.com
yapikredi.com.tr
isbank.com
isbank.com.tr
denizbank.com
denizbank.com.tr
vakifbank.com
vakifbank.com.tr
qnb.com
qnb.com.tr
akbank.com
akbank.com.tr
mgm.gov.tr
halkbank.com
halkbank.com.tr
paytr.com
paytr.com.tr
shopier.com
shipy.com
tatilbudur.com
etstur.com
ptt.gov.tr
turktelekom.com
turktelekom.com.tr
anadolu.edu.tr
klu.edu.tr