کمک به راه اندازی SNOWFLAKE برای کمک به دور زدن فیلترینگ

کمک به راه اندازی SNOWFLAKE برای کمک به دور زدن فیلترینگ

برای زن, زندگی و آزادی


تور / Tor یک سیستمی است که به بقیه افراد سراسر جهان کمک میکنه به سایت ها و برنامه های سانسور شده / فیلتر شده دسترسی پیدا کنند.

توی این مطلب کوتاه راه های مختلف اینکه چطوری میشه به کمک SNOWFLAKE ظرفیت این شبکه رو زیاد کرد رو توضیح میدیم. در واقع شما راه هایی رو نشون میدیم که کار بچه های داخل ایران رو برای دور زدن فیلترینگ آسون میکنه.

این راه حل مناسب افرادی هست که خارج از ایران زندگی میکنند.

SNOWFLAKE چیست؟



برای اتصال از طریق Snowflake میتونید با استفاده از Tor Browser در اندروید و ویندوز (و لینوکس) , Onion Browser  در IOS و  Orbot  در اندروید استفاده کنید.

قبل از اینکه درباره راه حل ها صحبت کنم, اگر دانش فنی اولیه دارید راه اندازی به صورت docker-compose و باینتری راه بهتر و پایدار تری هست. البته بهترین راه حل کامپایل کردن و نسخه باینری هست که کمتر سربار رو نسبت به بقیه موارد دارد.

نحوه راه اندازی Snowflake:


راه حل های ساده:

نصب افزونه مرورگر

ساده ترین راه کمک به این سیستم این هست که با استفاده از مرورگر خودتون این کار رو کنید.

این راه حل مناسب افرادی هست که خارج از ایران زندگی میکنند.

پیش نیاز ها:

  • داشتن مرورگر کروم یا firfox در دکستاپ (ویندوز / لینوکس / mac os)
  • دسترسی به اینترنتی آزاد


نصب افزونه برای مرورگر فایرفاکس

از طریق لینک افزونه وارد فروشگاه افزونه فایر فاکس شوید.


سپس روی دکمه Add to Firfox بزنید


سپس مرورگر از شما سوالی میپرسد که باید روی دکمه Add بزنید.



نصب افزونه برای مرورگر گوگل کروم


از طریق لینک افزونه وارد فروشگاه افزونه گوگل کروم شوید.

سپس روی دکمه Add to Chrome بزنید

سپس دکمه Add extension را بزنید.




به همین سادگی افزونه فعال شد و به شما تبریک میگم.


قرار دادن کد در سایت خودتان و همکاری کاربری

در صورتی که یک سایت دارید میتونید با قرار دادن کد زیر توی بخشی از سایت مانند نمونه به این فرایند کمک کنید.

<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe> 

نمونه توی خروجی:


راه حل های پیچیده تر و بهتر:

راه حل های پیچیده تر نیازمند دانش اولیه در زمینه سیستم عاملی که استفاده میکنید و برنامه نویسی هست بهتر است از راه حل های ساده شروع کنید.

نصب از طریق docker compose - همه موارد مورد نیاز یک جا

برای نصب داکر با توجه به سیستم عامل روش های مختلفی وجود دارد, لطفا این دو لینک رو مطالعه کنید و در صورتی که از سیستم عامل لینوکس توزیع ubuntu - استفاده میکنید یک راه حل سریع در ادامه برای شما قرار گرفته.

https://docs.docker.com/engine/install/

https://docs.docker.com/compose/install/

برای نصب سریع در سیستم عامل لینوکس توزیع ubuntu

ابتدا برای ساخت فایل ابتدا با استفاده از هر ویرایش گری که میدونید توی ترمینال یک فایل بسازید به هر اسمی مثلا docker و محتویات زیر رو عینا توش کپی کنید:

#!/bin/sh
# Uninstall old versions
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo service docker start
sudo docker run hello-world
# Configure Docker to start on boot
# sudo systemctl enable docker.service
# sudo systemctl enable containerd.service

wget https://gitlab.torproject.org/tpo/anti-censorship/docker-snowflake-proxy/raw/main/docker-compose.yml
docker-compose up -d snowflake-proxy

اگر میخواهید که بالا اومدن اتوماتیک داکر رو فعال کنید دو خط زیر رو ازش # رو حذف کنید

# sudo systemctl enable docker.service
# sudo systemctl enable containerd.service

(توجه کنید که بقیه خط ها رو باید توی ترمینال تایپ کنید)

حالا فایلی که ساختید رو اجرایی کنید با دستور :

sudo chmod +x docker

حالا فایل رو با استفاده از

./docker

اجرا کنید که همه مراحل را از نصب تا راه اندازی را انجام دهد.

برای دفعات بعدی فقط کافیست بزنید

docker-compose up -d snowflake-proxy


رفع مشکل network io zero در نسخه داکر

در صورتی که با استفاده docker compose سرویس snowflake رو بالا اوردید احتمالا متوجه شدید ممکن هست network شما رو صفر نشون بده وقتی که بررسی میکنید و برداشت کنید که هیچ داده ای رد و بدل نمیشه. در واقع اگر از اتصال اینترنت خودتون مطمئن هستید به این معناست که به درستی کار میکنه ولی به دلیل اینکه network_mode: host به شما نشون نمیده. میتونید با استفاده از ابزار های چک کردن پهنای باند سیستم بعد از حدود یک ساعت بررسی کنید تا مطمئن بشید. (اکثر روتر ها این قابلیت رو دارند)

یک راه حل این هست که یک فایل جداگانه docker compose بسازید در پوشه ای با محتویات زیر که لاگش رو بتونید ذخیره کنید.

version: "3.8"

services:
  snowflake-proxy:
    network_mode: host
    image: thetorproject/snowflake-proxy:latest
    container_name: snowflake-proxy
    restart: unless-stopped
    command: [ "-log" , "/tmp/snowflake_log" ]
    volumes:
     - /tmp:/tmp

نصب و کامپایل از طریق source code

یک راه دیگر این است که مستقیم کد منبع را کامپایل کنیم و اجرا این راه حل یکم سختر از قبلی هست. و نیاز دارد شما درکی از برنامه نویسی و بلید کردن داشته باشید و بتونید خروجی بلید شده را اجرا کنید.

پیش نیاز ها:

در صورتی که از دبیان / اوبونتو استفاده میکنید (توزیع های لینوکس) با استفاده از

sudo apt install golang git

میتونید پیشنیاز ها را نصب کنید.

سپس مراحلی که پیش رو داریم

۱- کلون کردن کد (کپی همه کد از مخزن گیت هاب به دستگاهمون)

git clone https://git.torproject.org/pluggable-transports/snowflake.git

۲- وارد شدن به پوشه مربوط

cd snowflake/proxy

۳- بلید کردن کد

go build

حالا خروجی که به شما داده میشود رو اجرا کنید.



لینک های وابسته

https://snowflake.torproject.org/

https://community.torproject.org/relay/setup/snowflake/standalone/

Report Page