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:

  1. 24/7 İnternet bağlantısı
  2. 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)
  3. 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

  1. Ö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.

  2. İ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.

  3. Lütfen vekil sunucunun altında çalıştırılacağı kullanıcı hesabıyla aşağıdaki adımları uygulayın. rootkullanıcısını kullanmayın. Sistemde kısıtlı haklara sahip ayrı bir snowflake hesabı oluşturmanız önerilir.

  4. Kaynak kodunu kopyalayın.

    git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
    
  5. Snowflake vekil sunucusunu derleyin.

    cd snowflake/proxy
    go build
    
  6. 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 &
    
  7. 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 &