ساخت یک وب‌ سایت ساده روی شبکه Tor

22-اردیبهشت-1404 / خواندن 4 دقیقه

تو این مقاله می‌خوایم یاد بگیریم چطور یک وب‌سایت خیلی ساده که فقط شامل یک فایل index.html هست رو روی شبکه Tor راه‌اندازی کنیم.

توضیحاتی درباره تور (Tor) و نحوه کارش

Tor (مخفف The Onion Router) یک شبکه‌ی غیرمتمرکز و رمزنگاری شده‌ست که ترافیک اینترنت شما رو از چندین سرور (یا نود) عبور میده تا هویتتون مخفی بمونه.
تو بستر Tor، شما می‌تونید وب‌سایت‌هایی ایجاد کنید که فقط از طریق مرورگر Tor قابل دسترسی هستن، و این سایت‌ها دامنه‌هایی با پسوند .onion دارند. این مدل وب‌سایت‌ها تحت عنوان Hidden Service یا سرویس مخفی شناخته میشن و امنیت و ناشناس بودن بیشتری نسبت به اینترنت معمولی (clearnet) ارائه میدن.

چیزهایی که نیاز داریم

  • یک سیستم لینوکسی که بتونیم روش پکیج Tor رو نصب کنیم.
  • یک فایل ساده HTML به عنوان وب‌سایت.

نصب Tor

روی آرچ لینوکس (Arch Linux):

sudo pacman -S tor

روی دبیان و اوبونتو (Debian/Ubuntu):

sudo apt update
sudo apt install tor

روی فدورا (Fedora):

sudo dnf install tor

ساخت فایل‌های وب‌سایت

یک دایرکتوری برای پروژه وب‌سایتتون بسازید:

mkdir mywebsite
cd mywebsite

داخل این پوشه یک فایل index.html ایجاد کنید و داخلش یک محتوای خیلی ساده بنویسید:

<h1>Hello, welcome to my website on Tor</h1>

فایل رو ذخیره کنید.

حالا برای تست اولیه می‌تونید یک سرور محلی راه بندازید:

python3 -m http.server 8080

اگر پروژه‌تون با Django یا Flask نوشته شده، همونطوری که قبلاً ران می‌کردید رانش کنید.

بعد برید به آدرس localhost:8080 توی مرورگر و ببینید که صفحه‌ی HTML لود شده یا نه.

تنظیم کانفیگ Tor

حالا نوبتشه که Tor رو جوری کانفیگ کنیم که وب‌سایتمون رو به عنوان یک Hidden Service منتشر کنه.

فایل پیکربندی Tor رو باز کنید:

sudo vim /etc/tor/torrc

و این خطوط رو به انتهای فایل اضافه کنید:

HiddenServiceDir /var/lib/tor/my_hidden_service/
HiddenServicePort 80 127.0.0.1:8080

توضیح این تنظیمات:

  • HiddenServiceDir: جایی که Tor اطلاعات مربوط به سرویس مخفی (مثل کلیدهای خصوصی و hostname) رو ذخیره می‌کنه.
  • HiddenServicePort: پورت لوکال شما (8080) رو به پورت 80 در شبکه‌ی Tor متصل می‌کنه. یعنی وقتی کسی با دامین .onion شما وصل شد، ترافیکش میاد روی localhost:8080.

ریستارت کردن سرویس Tor

بعد از تغییرات، باید سرویس Tor رو ریستارت کنید:

sudo systemctl restart tor

اگه خواستید وضعیتش رو چک کنید:

sudo systemctl status tor

دریافت آدرس .onion

بعد از ریستارت، Tor یه دامین .onion برای شما ساخته. برای دیدنش:

sudo cat /var/lib/tor/my_hidden_service/hostname

مثلاً خروجی چیزی شبیه این میشه:

6z4uoiz7nb5lakazz6sugelrpchqeztla76lindk3h73igqwwoxr3zyd.onion

این آدرس فقط از طریق مرورگر Tor قابل دسترسی هست!

نکات امنیتی و تفاوت این روش با سرورهای معمولی

  • سرورهای Hidden Service نیازی به آی‌پی ثابت یا حتی قابل دیدن ندارن. حتی فایروال‌های سختگیر هم جلوی دسترسی بهشون رو نمیگیرن.
  • شما نیازی ندارید پورت‌های خاصی رو در اینترنت باز کنید. فقط کافیه Tor بتونه به اینترنت متصل شه.
  • کل هویت سرور شما (آی‌پی، مکان و...) برای بازدیدکننده‌ها مخفی میمونه.
  • اما یادتون باشه: اگر روی همین سرور اطلاعات دیگه‌ای (مثل اسکریپت‌های آسیب‌پذیر یا اطلاعات لو دهنده) باشه، احتمال لو رفتن هویت وجود داره.
  • حتماً سعی کنید سرور و فایل‌هاتون رو امن نگه دارید و فقط اطلاعات لازم رو به اشتراک بذارید.

شما میتونید یه نسخه‌ی حرفه‌ای‌تر هم بنویسید که با Nginx و Tor HiddenService بهتر و امن‌تر این کار رو انجام بدید!