لقد قمت مؤخرًا بإنشاء نسخة .onion من موقعي.
\ لماذا؟ لأنه لماذا لا؟ وأيضًا لأنني أستطيع. آه، وحرية التعبير ومكافحة الرقابة وكل تلك الأمور.
\ أود أن أتظاهر بأنه كان تحديًا تكنولوجيًا كبيرًا، لكن إذا كنت صريحًا تمامًا، فقد كان مثل 3 أوامر و4 أسطر من التكوين.
\ إذا كنت ترغب أيضًا في أن تصبح عضوًا في الويب المظلم، فإليك كيف فعلت ذلك:
قبل أن ننتقل إلى "كيفية" كل ذلك، يجب أن أقدم نظرة عامة موجزة عن شكل مجموعة التقنيات الخاصة بي قبل دخولي إلى عالم Onionverse:
أولاً وقبل كل شيء، نحتاج إلى تثبيت Tor. على Debian، إنه موجود في المستودعات الافتراضية:
sudo apt update sudo apt install tor
بعد ذلك، نحتاج إلى تكوين Tor لإنشاء خدمة مخفية لموقعنا على الويب. افتح ملف تكوين Tor (/etc/tor/torrc) في محرر النصوص CLI المفضل لديك (من الأفضل أن يكون vim، وإلا فأنت ميت بالنسبة لي). ليس لدي اهتمام بتشغيل مرحل أو عقدة خروج على VPS الخاص بي، لذلك أجريت بعض التغييرات البسيطة على ملف التكوين، والذي يجب أن يبدو شيئًا مثل هذا (تمت إزالة التعليقات للوضوح):
# Disable SOCKS proxy since we aren't making outbound connections # through Tor SocksPort 0 # Make sure Tor runs as a daemon (i.e. in the background) RunAsDaemon 1 # Setup the hidden service on port 80, this is where we tell Tor to # create a .onion service for our web server HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 # Disable inbound connections, since we aren't running a relay or # exit node ORPort 0 # Disable directory services, since we won't be mirroring directory # information to other Tor nodes DirPort 0
\ هذا كل شيء. يجب تعليق كل شيء آخر باستخدام أحرف #.
الآن، نحتاج إلى إعادة تشغيل خدمة Tor لتطبيق تغييراتنا:
sudo systemctl restart tor
بعد إعادة تشغيل Tor، سيقوم بإنشاء خدمة مخفية جديدة لنا. يمكننا العثور على عنوان .onion الجديد في HiddenServiceDir الذي حددناه سابقًا (/var/lib/tor/hidden_service/). هذا الدليل قابل للقراءة فقط من قبل المستخدم debian-tor، لذلك سنحتاج إلى استخدام sudo لقراءة ملف hostname بالداخل:
sudo cat /var/lib/tor/hidden_service/hostname
\ ما سيتم طباعته على المحطة هو عنوان .onion الجديد الخاص بك. يجب أن يبدو شيئًا مثل هذا:
jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion
يخدم خادم Caddy الخاص بي موقعي على المنفذ 80 بدون أي قيود على IP أو المجال، لذلك لا أحتاج إلى إجراء أي تغييرات على تكوين Caddy الخاص بي، ومع ذلك، إذا قمت بإعداد خادم Caddy الخاص بك صراحةً للرد فقط على مجالات أو عناوين IP معينة، فستحتاج إلى إضافة كتلة موقع جديدة لعنوان .onion الخاص بك، والتي ستبدو شيئًا مثل هذا:
http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion:80 { # Set up a reverse proxy, or serve static files, etc. }
\ نظرًا لأنه لا يمكنك الحصول على شهادات HTTPS لعناوين .onion، ستحتاج إلى تقديم موقعك عبر HTTP العادي. لست متأكدًا مما إذا كان هذا يعتبر مقبولاً بشكل عام داخل شبكة Tor (ربما يمكن لأحد قرائي العشرات أن ينيرني)، لكنني لا أطلب HTTPS لموقعي على أي حال، لذا فهو يعمل لأغراضي.
إذا كنت تريد أن يجد الناس موقع .onion الخاص بك، فستحتاج إلى الإعلان عنه في مكان ما. أنا من محبي الدقة، لذلك قمت بإعداد رأس Onion-Location على موقعي الرئيسي يشير إلى عنوان .onion الخاص بي. بهذه الطريقة، سيتم إعلام أي شخص يزور موقعي العادي باستخدام متصفح يدعم Tor تلقائيًا بوجود نسخة .onion الخاصة بي دون أي نوافذ منبثقة أو لافتات أو عناصر واجهة مستخدم إضافية.
\ للقيام بذلك، ستحتاج إلى إضافة رأس إلى كتلة موقع Caddy الرئيسي الخاص بك كما يلي:
header { Onion-Location http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion{uri} }
\ السبب في أنني أضيف {uri} في النهاية هو أنه إذا زار شخص ما صفحة معينة على موقعي الرئيسي (على سبيل المثال https://flower.codes/some-post)، فإن رأس Onion-Location سيوجههم إلى الصفحة المكافئة على موقع .onion الخاص بي (http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion/some-post)، مما يضيف (على الأقل بالنسبة لي) لمسة من الصقل للتجربة.
مجرد مزاح.
\ في هذه المرحلة، يجب أن تكون نسخة .onion الخاصة بك جاهزة وتعمل. يمكنك اختبارها من خلال زيارة عنوان .onion الخاص بك في أي متصفح يدعم Tor (مثل متصفح Tor أو حتى Brave، الذي يحتوي على دعم Tor مدمج).


