BSDTR

Güvenli sörf - DNSCrypt-proxy + Güncelleme

Daha önceki DNSCrypt-proxy anlatımımızda Debian depodan kurulumu anlatmıştım.
Bu sefer ki anlatım bizzat DNSCrypt-proxy 'in Githup sayfasından ki tar.gz 'sinden kuracağız.

Ayrıca bu kuruluma, kendi güncelleme betiğini de ilave edeceğiz.
Aslında bu kurulum /opt dizini altına olduğu için, biraz daha kolay anlaşılır bir kurulumdur.
Ve tabii son sürüme geçmek daha kısa sürede olmaktadır. Debian depoları en son sürüme hemen geçmiyor.
Kuruluma geçmeden şunları da söyleyelim, daha önce kurduysanız sistemden tamamen kaldırın DNSCrypt-proxy'i, resolv.conf 'ta eski halin de olsun.

İlk önce son sürümü tespit edelim, curl kodu son sürümü size konsolda söyleyecektir.
$ cd /tmp
$ curl -s https://api.github.com/repositories/116739828/releases | grep "tag_name" | head -1 | cut -d \" -f 4

Örn. 2.1.2 çıktı diyelim, (rehber hazırlandığında son sürüm 2.1.2 idi)
ver= ilave edip konsolda döndürün komutu.
$ ver=2.1.2

Artık aynı konsolda son sürümü çekmeye, ve işlemlere başlayabiliriz.
$ wget -c https://github.com/jedisct1/dnscrypt-proxy/releases/download/$ver/dnscrypt-proxy-linux_x86_64-$ver.tar.gz
$ tar -zxvf dnscrypt-proxy-linux_x86_64*
# mv linux-x86_64/ /opt/dnscrypt-proxy
# cd /opt/dnscrypt-proxy
# cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml

kontrol edelim, bir hata göstermezse, CTRL+C ile kapatın satırı.
# ./dnscrypt-proxy

Servisleri yükleyelim.
# ./dnscrypt-proxy -service install
# ./dnscrypt-proxy -service start

resolv.conf'ta değişiklik yapmamız gerekiyor, içine nameserver 127.0.0.1 adresi koyulmalı.
# rm -f /etc/resolv.conf
# touch /etc/resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# chattr +a /etc/resolv.conf

/opt/dnscrypt-proxy.toml dosyası DNSCrypt-proxy'in yapılandırması dosyasıdır, orada server_names = kısmı değiştirerek, istediğiniz DNS lerin isimlerini girerek oluyor. Varsayılan olarak ['cloudflare'] dir, virgül koyarak daha fazla sunucularda eklenebilir.
server_names = ['cloudflare', 'cloudflare-ipv6'] gibi.

İşiniz bittiğinde servise restart atınız.
# service dnscrypt-proxy restart

Buradan da kullanılabilecek diğer sunucu adreslerine de ulaşabilirsiniz.
https://dnscrypt.info/public-servers/
https://github.com/dyne/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv

TESTLER için önceki konuya bakabilirsiniz.

---

Kara Liste (Blocklist) - Reklam engelleme 
# mkdir /opt/dnscrypt-proxy/generate-domains-blocklist
$ cd /opt/dnscrypt-proxy/generate-domains-blocklist
Altaki adresleri bir dosyaya kaydedin, adıda linkler.txt olsun
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-allowlist.txt
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-blocklist-local-additions.txt
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-blocklist.conf
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-time-restricted.txt
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/generate-domains-blocklist.py
Konsoldan bunu döndürün.
$ wget -i linkler.txt -P . -q --show-progress
Devam...
# chmod a+x generate-domains-blocklist.py
# /usr/bin/python3 generate-domains-blocklist.py > dnscrypt-blocklist-domains.txt
# cd ..
# ln -s generate-domains-blocklist/dnscrypt-blocklist-domains.txt dnscrypt-blocklist-domains.txt
# nano dnscrypt-proxy.toml
Dosya içine bunları yerleştir. #Pattern-based blocking (blacklists) bölümü   
[blacklist]
blacklist_file = 'dnscrypt-blocklist-domains.txt'

Servislere restart.
# service dnscrypt-proxy restart
Eğer filtre için bir güncelleme betiği isterseniz, bunu kullanabilirsiniz.
#!/bin/sh 
cd /opt/dnscrypt-proxy/generate-domains-blocklist 
a=$(du -sb dnscrypt* | awk '{print $1}') ; a1=$(du -sh dnscrypt* | awk '{print $1}')
/usr/bin/python3 generate-domains-blocklist.py > dnscrypt-blocklist-domains.txt
service dnscrypt-proxy restart 
b=$(du -sb dnscrypt* | awk '{print $1}') ; b1=$(du -sh dnscrypt* | awk '{print $1}')
echo ; clear
if [ "$a" != "$b" ]; then
echo ; echo " Guncellendi: $b kb ✓" ; echo ; exit 0
else
echo ; echo " Güncellenmedi: $a kb !!" ; echo ; fi ; exit

Tarayıcınızı kapatıp/açın artık reklam görmemeniz lazım, başka bir ayar yapmanıza gerek yok.
https://github.com/jedisct1/dnscrypt-proxy/wiki/Public-blacklists

---

GÜNCELLEME
Versiyon güncellemesi için şurada ki ayarları kullanabilirsiniz.
Betiği oradan indirip, istediğiniz silinmeyecek bir yere koyun.
Adı da dnscrypt-proxy-update.sh olsun.
Zamanlanmış görev olarakta ekleyebilirsiniz. (Her gece 22:00)

# crontab -e
# 00 22 * * * /dosya yolu yaz/dnscrypt-proxy-update.sh

Not:
Karaliste ayarları yaptıysanız güncelleme için bu betiği kullanın.
Yoksa net bağlantınız kesilecektir.

Kolay gelsin.

yorum yok:

Yorum Gönder

2010 - 2024 Beastie BSD Türkiye 🇹🇷