Bu rehber sansürlenen kullanıcıların Tor ağıyla bağlantı kurmasına yardımcı olmak için bir sunucu üzerinde bağımsız bir Snowflake vekil sunucusunun nasıl kurulacağı hakkında bilgi verir.
Tek gereksinim İnternet bağlantısıdır. Ancak bağımsız Snowflake vekil sunucusunun ana faydalarından biri, sunucu üzerine kurulabilmesi ve kısıtlayıcı bir NAT veya güvenlik duvarı arkasındaki kullanıcılar için daha yüksek bir bant genişliği ve daha güvenilir bir seçenek sunmasıdır.
Bu nedenle, özellikle şunları öneriyoruz:
- 24/7 İnternet bağlantısı
- Ne tür bir NAT arkasında olduğunuzu anlamak için bir tam koni NAT (bu NAT davranışı aracını kullanabilirsiniz).
Aradığınız özellikler, adresten bağımsız eşleştirme ve adresten bağımsız veya adrese bağlı süzmedir)
cat /proc/sys/net/ipv4/ip_local_port_range
açık bağlantı noktası aralığının tamamında (ya da isteğe bağlı -ephemeral-ports-range
seçeneği kullanılarak ayarlanmış aralıkta) gelen UDP ile, kullanılmayan ya da kısıtlanmayan bir NAT arkasındaki bir sunucu.
Bağımsız bir snowflake vekil sunucusu kurmanın ve çalıştırmanın birkaç yolu vardır.
Docker kurulumu
Öncelikle Docker ve docker-compose kurulmuş olmalıdır.
Snowflake vekil sunucu kurulumunu kolaylaştırmak için bir Docker kalıbımız var.
Önce docker-compose.yml dosyasını indirin.
Şu komutu kullanarak vekil sunucuyu kurup başlatın:
docker-compose up -d snowflake-proxy
Şu çıktıyı görmelisiniz:
Creating snowflake-proxy ... done
böylece vekil sunucunuz çalışmaya başladı!
docker-compose.yml içinde, Snowflake docker kapsayıcısındaki güncellemeleri her gün otomatik olarak kontrol edecek, indirecek ve çalıştıracak şekilde yapılandırılmış bir watchtower
kapsayıcısı bulunur.
Yani bunu kullanıyorsanız Snowflake vekil sunucunuz otomatik olarak güncellenir!
Yoksa, en son kapsayıcıyı düzenli olarak çekip el ile yeniden başlatmanız gerekir.
Ansible
Artık Jacobo Nájera tarafından geliştirilmiş, Debian, Fedora, Arch Linux, FreeBSD ve Ubuntu üzerine bir Snowflake vekil sunucusu kurmanızı sağlayan bir Ansible rolü var.
Ansible ile Snowflake işletme rehberine bakabilirsiniz.
Kaynak kodundan derlemek ve çalıştırmak
Öncelikle kaynak kodunu kullanarak bağımsız bir vekil sunucu oluşturmak için Go derleyicisini kurmanız ve yapılandırmanız gerekir.
Lütfen sudo
yetkilerine sahip bir kullanıcı hesabı ile ya da doğrudan root
olarak oturum açın (bu durumda aşağıdaki komutlarda sudo
bölümünü atlayın).
Ubuntu veya Debian kullanıyorsanız, Go kurmak için apt install golang
komutunu yürütebilirsiniz.
Fedora, Red Hat ya da Amazon Linux kullanıyorsanız, sudo yum install golang
ya da sudo dnf install golang
komutlarını yürütebilirsiniz .
İşletim sisteminiz farklıysa https://golang.org/dl/ adresinden alabilirsiniz.
Snowflake vekil sunucusunu çalıştırmak için Go 1.21 ya da üzerindeki bir sürüme gerek duyacaksınız.
Kurulu sürümünüzü go version
komutuyla denetleyebilirsiniz.
İkinci olarak, Snowflake kaynak kodunu indirmek için git istemcisine gerek duyacaksınız.
Lütfen sudo
yetkilerine sahip bir kullanıcı hesabı ile ya da doğrudan root
olarak oturum açın (bu durumda aşağıdaki komutlarda sudo
bölümünü atlayın).
Ubuntu veya Debian kullanıyorsanız, git kurmak için sudo apt install git
komutunu yürütebilirsiniz.
Fedora, Red Hat ya da Amazon Linux kullanıyorsanız, sudo yum install git
ya da sudo dnf install git
komutlarını yürütebilirsiniz .
Bunun dışındaki durumlarda, işletim sisteminizin belgelerine bakın.
Lütfen vekil sunucunun altında çalıştırılacağı kullanıcı hesabıyla aşağıdaki adımları uygulayın.
root
kullanıcısını kullanmayın.
Sistemde kısıtlı haklara sahip ayrı bir snowflake
hesabı oluşturmanız önerilir.
Kaynak kodunu kopyalayın.
git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
Snowflake vekil sunucusunu derleyin.
cd snowflake/proxy
go build
Snowflake vekil sunucusunu çalıştırın.
nohup ./proxy &
Vekil sunucu çıktısını bir günlük dosyasına kaydetmek istiyorsanız, şu komutları kullanabilirsiniz:
nohup ./proxy >snowflake.log 2>&1 &
Sistem yeniden başlatıldıktan sonra vekil sunucunun başlatıldığından emin olun:
crontab -e
Aşağıdaki satırı yazın (örnekteki yolları durumunuza göre uyarlayın)
@reboot nohup /home/snowflake/snowflake/proxy/proxy > /home/snowflake/snowflake/proxy/snowflake.log 2>&1 &
Lütfen sistemi yeniden başlatıp günlüğü denetleyerek bunun işe yarayıp yaramadığını doğrulayın.
Bazı Linux kurulumlarında bu işe yaramayabilir.
Snowflake vekil sunucunuzu güncel tutmak için birkaç haftada bir aşağıdaki komutları yürütün (vekil sunucu kurulumu sırasında kullandığınız kullanıcı hesabıyla oturum açın):
kill -9 $(pidof proxy)
cd snowflake/
git pull
cd proxy
go build
nohup ./proxy >snowflake.log 2>&1 &