سناریوهای فضایی کار کردن با Tor در خط فرمان

اینترنت اسلامی چیزهای زیادی داره که بهمون یاد بده. وقتی داریم با ابزارای خط فرمان با اینترنت کار می‌کنیم و -کارای پیچیده که نه- حتی کارای ساده‌ای مث اضافه کردن یه ppa یا کارکردن با پروتکل https رو هم نمی‌تونیم انجام بدیم، باید هم چیزهای جدید یاد بگیریم. به هر حال این سه تا سناریوییه که تا الان مشکلات من رو حل کرده.

سناریوی اول: کار کردن با سایت‌ها از طریق پروتکل‌های معمول
تو این حالت بهترین راه استفاده از برنامه torify اه. به این ترتیب که برنامه‌ای که می‌خواید از یه سایت بسته شده استفاده کنه رو با استفاده از torify فراخونی می‌کنید. اگر هم که می‌خواید یه محیط کلا آزاد داشته باشید که می‌شه یه ترمینال غیر فیلتر راه انداخت:
[bash]
torify bash
[/bash]
تو این ترمینال هر کاری که بکنید انگار اینترنتتون غیر اسلامیه.

سناریوی دوم: کار کردن با پروتکل https
فرض کنید می‌خواید از طریق پروتکل https با github کار کنید. یا اینکه ناچارید از یه سایتی با پروتکل https چیزی دانلود کنید. در این شرایط احتمالا روش بالا بهتون کمکی نمی‌کنه. علت؟ گاهی برای بعضی پروتکل‌ها تو سیستم یه پروکسی جدا تنظیم می‌شه. برای کنترلش با دستور env کل متغیرهای محیطی سیستم رو می‌بینیم و البته با grep چیزی که دردسر ایجاد کرده رو می‌کشیم بیرون:
[bash]
mohammad@mohammad:~$ env | grep -i proxy
socks_proxy=socks://localhost:9050/
UBUNTU_MENUPROXY=libappmenu.so
https_proxy=https://localhost:9050/
[/bash]
اینجا تو خط سوم نتایج می‌شه دید که سیستم یه پروکسی جدا برای https داره. کافیه برای غیرفعال کردن این پروکسی، این متغیر رو unset کنیم:
[bash]
unset https_proxy
[/bash]
و حالا اون برنامه‌ای رو که می‌خوایم با یه چیزی مثل torsocks صدا بزنیم:
[bash]
torsocks git push
[/bash]
من از این روش برای کار با github و دانلود پکیج‌های sublimetext استفاده کردم.

سناریوی سوم: دستور sudo و tor
اگه برای کارایی مثل اضافه کردن یه پکیج ppa احتیاج داشته باشید از دستور sudo استفاده کنید، هیچ کدوم از روش‌های بالا کار نمی‌کنه. علت قضیه هم اینه که sudo داره به نوعی id کاربر جاری رو عوض می‌کنه و ما رو به root تبدیل می‌کنه. مشکل هم دقیقا از همین جاست: دو تا دستور بالا نمی‌تونن با یه برنامه‌ای که داره آی‌دی کاربر رو عوض می‌کنه کار کنن.

برای حل این مشکل من از سوییچ s دستور sudo استفاده کردم. با این سوییچ کلا به خط فرمان root منتقل می‌شیم. بعدش اونجا می‌تونیم از دستور torsocks به درستی استفاده کنیم:
[bash]
mohammad@mohammad:~$ sudo -s
[sudo] password for mohammad:
root@mohammad:~# torsocks add-apt-repository ppa:whaever
root@mohammad:~# exit
[/bash]

در آخر بگم که اگه برای مهاجرت دلیلی به جز وضعیت اسفبار اینترنت نبود، باز هم همین یک دلیل کافی بود.

به علاوه باید به شدت از نویسنده‌ها و طراحای tor با این ابزار عالیشون تشکر کرد.