چگونه OnionShare کار میکند

سرورهای وب به صورت محلی در رایانه شما راه اندازی می شوند و در دسترس افراد دیگر قرار می گیرند به عنوان Tor<https://www.torproject.org/>`_`سرویس های پیاز.

به طور پیش‌گزینه، آدرس‌های وب OnionShare با یک کلید خصوصی محافظت می‌شوند.

آدرس‌های OnionShare چیزی شبیه به این هستند:

http://oy5oaslxxzwib7fsjaiz5mjeyg3ziwdmiyeotpjw6etxi722pn7pqsyd.onion

و کلیدهای خصوصی ممکن است چیزی شبیه به این باشند:

K3N3N3U3BURJW46HZEZV2LZHBPKEFAGVN6DPC7TY6FHWXT7RLRAQ

شما مسئول هستید که آن URL و کلید خصوصی را با استفاده از یک کانال ارتباطی دلخواه مانند یک پیام چت رمزگذاری شده یا با استفاده از چیزی با امنیت کمتر مانند ایمیل رمزگذاری نشده، به صورت ایمن به اشتراک بگذارید که بستگی دارد به مدل تهدیدتان.

ٰافرادی که آدرس URL را برایشان ارسال می‌کنید، آن را کپی کرده و در مرورگر Tor <https://www.torproject.org/> قرار می‌دهند تا به سرویس OnionShare دسترسی پیدا کنند. مرورگر Tor سپس کلید خصوصی را درخواست می‌کند که افراد می‌توانند آن را کپی کرده و در مرورگر خود قرار دهند.

_images/private-key.png

اگر OnionShare را روی لپ‌تاپ خود اجرا کنید تا فایل‌هایی را برای کسی ارسال کنید، و سپس قبل از ارسال فایل‌ها، آن را به حالت تعلیق درآورید، این سرویس تا زمانی که لپ‌تاپ شما از حالت تعلیق خارج نشده و دوباره به اینترنت متصل نشود، در دسترس نخواهد بود. OnionShare هنگام کار با افراد به صورت بلادرنگ بهترین عملکرد را دارد.

از آنجا که رایانه شخصی شما سرور وب است، هیچ شخص ثالثی نمی‌تواند به هر اتفاقی که در OnionShare می‌افتد دسترسی پیدا کند، حتی توسعه‌دهندگان OnionShare. این کاملاً خصوصی است. و از آنجا که OnionShare مبتنی بر سرویس‌های Tor نیز هست، از ناشناس بودن شما نیز محافظت می‌کند. برای اطلاعات بیشتر به security design مراجعه کنید.

به اشتراک‌گذاشتن فایل‌ها

شما می‌توانید از OnionShare برای ارسال فایل‌ها و پوشه‌ها به افراد به صورت ایمن و ناشناس استفاده کنید. یک تب اشتراک‌گذاری را باز کنید، فایل‌ها و پوشه‌هایی را که می‌خواهید به اشتراک بگذارید، آنها را بکشید و روی «شروع به اشتراک‌گذاشتن» کلیک کنید.

_images/share.png

بعد از اضافه کردن فایل‌ها، تنظیماتی را مشاهده خواهید کرد. قبل از شروع اشتراک‌گذاری، مطمئن شوید که تنظیمات مورد نظر خود را انتخاب کرده‌اید.

_images/share-files.png

به محض اینکه کسی دانلود فایل‌های شما را تمام کند، OnionShare به طور خودکار سرور را متوقف می‌کند و وب‌سایت را از اینترنت حذف می‌کند. برای اینکه چندین نفر بتوانند آنها را دانلود کنند، علامت چک مارک کادر «اشتراک‌گذاری را پس از ارسال فایل‌ها متوقف کنید (برای مجاز کردن دانلود فایل‌های جداگانه، علامت کادر را بردارید)» را بردارید.

همچنین، اگر این کادر را بردارید، افراد می‌توانند فایل‌های تکی که به اشتراک می‌گذارید را دانلود کنند، نه یک نسخه فشرده از همه فایل‌ها.

وقتی آماده اشتراک‌گذاری شدید، روی دکمه «شروع اشتراک‌گذاری» کلیک کنید. همیشه می‌توانید روی «توقف اشتراک‌گذاری» کلیک کنید یا از OnionShare خارج شوید و بلافاصله وب‌سایت را از دسترس خارج کنید. همچنین می‌توانید روی نماد «↑» در گوشه بالا سمت راست کلیک کنید تا تاریخچه و پیشرفت افرادی که فایل‌های شما را دانلود کرده‌اند را نشان دهید.

_images/share-sharing.png

حالا که OnionShare دارید، آدرس و کلید خصوصی را کپی کنید و آن را برای شخصی که می‌خواهید فایل‌ها را دریافت کند ارسال کنید. اگر فایل‌ها نیاز به ایمن ماندن دارند، یا شخص در معرض خطر دیگری است، از یک برنامه پیام‌رسان رمزگذاری شده استفاده کنید.

سپس آن شخص باید آدرس را در مرورگر Tor بارگذاری کند. پس از ورود به سیستم با کلید خصوصی، فایل‌ها را می‌توان با کلیک روی پیوند «دانلود فایل‌ها» در گوشه، مستقیماً از رایانه شما دانلود کرد.

_images/share-torbrowser.png

‬دریافت فایل‌ها و پیام‌ها

شما می‌توانید از OnionShare استفاده کنید تا افراد به صورت ناشناس فایل‌ها و پیام‌ها را مستقیماً به رایانه شما ارسال کنند، که اساساً آن را به یک دراپ‌باکس ناشناس تبدیل می‌کند. یک برگه دریافت (receive tab) باز کنید و تنظیمات مورد نظر خود را انتخاب کنید.

_images/receive.png

می‌توانید پوشه‌ای را برای ذخیره پیام‌ها و فایل‌های ارسالی جستجو کنید.

اگر می‌خواهید فقط آپلود فایل مجاز باشد، می‌توانید گزینه «غیرفعال کردن ارسال متن» را تیک بزنید و اگر می‌خواهید فقط ارسال پیام‌های متنی، مانند فرم تماس ناشناس، مجاز باشد، می‌توانید گزینه «غیرفعال کردن آپلود فایل‌ها» را تیک بزنید.

اگر می‌خواهید وقتی کسی فایل یا پیامی را به سرویس OnionShare شما ارسال می‌کند، مطلع شوید، می‌توانید گزینه «استفاده از اعلان وب هوک» را تیک بزنید و سپس یک URL وب هوک انتخاب کنید. اگر از این ویژگی استفاده کنید، OnionShare هر زمان که کسی فایل یا پیامی ارسال کند، یک درخواست HTTP POST به این URL ارسال می‌کند. برای مثال، اگر می‌خواهید یک پیام متنی رمزگذاری شده در برنامه پیام‌رسان Keybase دریافت کنید، می‌توانید با @webhookbot مکالمه‌ای را شروع کنید، !webhook create onionshare-alerts را تایپ کنید و با یک URL پاسخ داده می‌شود. از آن به عنوان URL وب‌هوک اعلان استفاده کنید. اگر کسی فایلی را در سرویس حالت دریافت شما آپلود کند، @webhookbot پیامی در Keybase برای شما ارسال می‌کند و به محض وقوع، شما را مطلع می‌کند.

وقتی آماده شدید، روی «شروع حالت دریافت» کلیک کنید. این کار سرویس OnionShare را شروع می‌کند. هر کسی که این آدرس را در مرورگر Tor خود بارگذاری کند، می‌تواند فایل‌ها و پیام‌هایی را که در رایانه شما بارگذاری می‌شوند، ارسال کند.

_images/receive-sharing.png

همچنین می‌توانید روی آیکون «↓» در گوشه بالا سمت راست کلیک کنید تا تاریخچه و روند ارسال فایل توسط افراد را مشاهده کنید.

این شکلی است که برای کسی که برای شما فایل و پیام ارسال می‌کند، نمایش داده می‌شود.

_images/receive-torbrowser.png

وقتی شخصی فایل‌ها یا پیام‌هایی را به سرویس دریافت شما ارسال می‌کند، به‌طور پیش‌گزینه در پوشه‌ای به نام OnionShare در پوشه اصلی رایانه شما ذخیره می‌شود که به طور خودکار در زیرپوشه‌های جداگانه بر اساس زمان آپلود فایل‌ها سازماندهی می‌شود.

راه‌اندازی یک سرویس دریافت OnionShare برای روزنامه‌نگاران و دیگرانی که نیاز به پذیرش امن اسناد از منابع ناشناس دارند، مفید است. وقتی از این طریق استفاده می‌شود، OnionShare شبیه یک نسخه سبک‌وزن، ساده‌تر و نه کاملاً امنتر از `SecureDrop <https://securedrop.org/>`سیستم ارسال افشاگران است، عمل میکند.

با مسئولیت خود استفاده کنید

درست مانند پیوست‌های مخرب در یک ایمیل، ممکن است شخصی با آپلود یک فایل مخرب در سرویس OnionShare به رایانه شما حمله کند. OnionShare هیچ مکانیزم ایمنی برای محافظت از سیستم شما در برابر فایل های مخرب اضافه نمی کند.

اگر یک فایل Office یا یک فایل PDF را از طریق OnionShare دریافت می‌کنید، می‌توانید این اسناد را به فایل‌های قابل اعتماد PDF تبدیل کنید با استفاده از Dangerzone. همچنین می‌توانید هنگام باز کردن اسناد نامعتبر با باز کردن آنها در Tails یا در Qubes disposableVM از خود محافظت کنید.

با این حال، باز کردن پیام‌های متنی ارسال شده از طریق OnionShare همیشه بی‌خطر است.

نکاتی برای اجرای سرویس دریافت

اگر می‌خواهید با استفاده از OnionShare، دراپ‌باکس ناشناس خود را میزبانی کنید، توصیه می‌شود این کار را روی یک کامپیوتر جداگانه و اختصاصی که همیشه روشن و متصل به اینترنت است انجام دهید، و نه روی کامپیوتری که مرتباً از آن استفاده می‌کنید.

اگر قصد دارید آدرس OnionShare را در وب‌سایت یا پروفایل‌های رسانه‌های اجتماعی خود قرار دهید، تب را ذخیره کنید (به ذخیره تب ها مراجعه کنید) و آن را به عنوان یک سرویس عمومی اجرا کنید (به کلید خصوصی را خاموش کنید مراجعه کنید). همچنین ایده خوبی است که یک عنوان دلخواه به آن بدهید (به عنوان‌های سفارشی مراجعه کنید).

سایر نکات احتیاطی که باید در حالت دریافت از آنها آگاه باشید

گزارش‌هایی وجود دارد مبنی بر اینکه OnionBrowser در دستگاه‌های iOS قادر به آپلود فایل‌ها در OnionShare در حالت دریافت (Receive Mode) و در حالت امنیتی «نقره‌ای» نیست. برای بررسی امکان آپلود پیام یا فایل، حالت‌های برنزی یا طلایی را امتحان کنید.

از یک وب‌سایت میزبانی کنید

برای میزبانی یک وب‌سایت HTML استاتیک با OnionShare، یک برگه وب‌سایت را باز کنید، فایل‌ها و پوشه‌هایی که محتوای استاتیک را تشکیل می‌دهند به آنجا بکشید و وقتی آماده شدید، روی «شروع اشتراک‌گذاری» کلیک کنید.

_images/website.png

اگر یک فایل index.html اضافه کنید، وقتی کسی وب‌سایت شما را بارگذاری می‌کند، این فایل رندر می‌شود. همچنین باید سایر فایل‌های HTML، فایل‌های CSS، فایل‌های جاوا اسکریپت و تصاویری که وب‌سایت را تشکیل می‌دهند را نیز اضافه کنید. (توجه داشته باشید که OnionShare فقط از میزبانی وب‌سایت‌های استاتیک پشتیبانی می‌کند. نمی‌تواند وب‌سایت‌هایی را که کد اجرا می‌کنند یا از پایگاه داده استفاده می‌کنند، میزبانی کند. بنابراین، مثلاً نمی‌توانید از وردپرس استفاده کنید.)

اگر فایل index.html نداشته باشید، به جای آن فهرستی از دایرکتوری‌ها نمایش داده می‌شود و افرادی که آن را بارگذاری می‌کنند می‌توانند فایل‌ها را بررسی کرده و آنها را دانلود کنند.

بعد از اضافه کردن فایل‌ها، تنظیماتی را مشاهده خواهید کرد. قبل از شروع اشتراک‌گذاری، مطمئن شوید که تنظیمات مورد نظر خود را انتخاب کرده‌اید.

_images/website-files.png

سیاست امنیت محتوا

به طور پیش‌فرض، OnionShare با تنظیم یک سربرگ سختگیرانه با عنوان` «سیاست امنیت محتوا <https://en.wikipedia.org/wiki/Content_Security_Policy>`_» به ایمن‌سازی وب‌سایت شما کمک می‌کند. با این حال، این کار از بارگیری محتوای شخص ثالث در داخل صفحه وب جلوگیری می‌کند.

اگر می‌خواهید محتوا را از وب‌سایت‌های شخص ثالث، مانند دارایی‌ها یا کتابخانه‌های جاوا اسکریپت از CDNها بارگذاری کنید، دو گزینه دارید:

  • شما می‌توانید ارسال سربرگ سیاست امنیتی محتوا را با علامت زدن کادر «سربرگ سیاست امنیتی محتوا ارسال نشود (به وب‌سایت شما اجازه می‌دهد از منابع شخص ثالث استفاده کند)» قبل از شروع سرویس، غیرفعال کنید.

  • شما می‌توانید یک هدر سفارشی برای سیاست امنیت محتوا ارسال کنید.‎‎

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

اگر می‌خواهید با استفاده از OnionShare یک وب‌سایت را برای مدت طولانی میزبانی کنید (منظور فقط نمایش سریع چیزی به کسی نیست)، توصیه می‌شود این کار را روی یک رایانه جداگانه و اختصاصی که همیشه روشن و متصل به اینترنت است انجام دهید، و نه روی رایانه‌ای که مرتباً از آن استفاده می‌کنید. تب را ذخیره کنید (به ذخیره تب ها مراجعه کنید) تا اگر OnionShare را بستید و بعداً دوباره باز کردید، بتوانید وب‌سایت را با همان آدرس از سر بگیرید.

اگر وب‌سایت شما برای عموم در نظر گرفته شده است، باید آن را به عنوان یک سرویس عمومی اداره کنید (به کلید خصوصی را خاموش کنید مراجعه کنید).

چت ناشناس

شما می‌توانید از OnionShare برای راه‌اندازی یک اتاق چت خصوصی و امن که هیچ چیزی را ثبت نمی‌کند، استفاده کنید. فقط یک تب گفتگو را باز کنید و روی «شروع سرور چت» کلیک کنید.

_images/chat.png

بعد از اینکه سرور را روشن کردید، آدرس OnionShare و کلید خصوصی آن را کپی کنید و برای افرادی که می‌خواهید در اتاق چت ناشناس باشند ارسال کنید. اگر محدود کردن دقیق افرادی که می‌توانند بپیوندند مهم است، از یک برنامه پیام‌رسان رمزگذاری شده برای ارسال آدرس و کلید خصوصی OnionShare استفاده کنید.

_images/chat-sharing.png

افراد می‌توانند با بارگذاری آدرس OnionShare در مرورگر Tor به اتاق چت بپیوندند. این اتاق چت به JavasScript نیاز دارد، بنابراین هر کسی که می‌خواهد شرکت کند باید سطح امنیتی مرورگر Tor خود را به جای "ایمن ترین" روی "استاندارد" یا "ایمن تر" تنظیم کند.

وقتی کسی به اتاق چت می‌پیوندد، یک نام تصادفی به او اختصاص داده می‌شود. او می‌تواند با تایپ کردن نام جدید در کادر پنل سمت چپ و فشار دادن دکمه ↵، نام خود را تغییر دهد. از آنجایی که تاریخچه چت در هیچ جایی ذخیره نمی‌شود، حتی اگر دیگران از قبل در اتاق در حال چت کردن بودند، اصلاً نمایش داده نمی‌شود.

_images/chat-torbrowser.png

در یک اتاق چت OnionShare، همه ناشناس هستند. هر کسی می‌تواند نام خود را به هر چیزی تغییر دهد و هیچ راهی برای تأیید هویت کسی وجود ندارد.

با این حال، اگر یک اتاق چت OnionShare ایجاد کنید و آدرس را به صورت ایمن فقط برای گروه کوچکی از دوستان مورد اعتماد با استفاده از پیام‌های رمزگذاری شده ارسال کنید، می‌توانید تا حد زیادی مطمئن باشید که افرادی که به اتاق گفتگو می‌پیوندند، دوستان شما هستند.

این چقدر مفید است؟

اگر از قبل نیاز به استفاده از یک برنامه پیام‌رسان رمزگذاری‌شده دارید، دیگر چه نیازی به اتاق چت OnionShare دارید؟ این اتاق چت ردپای کمتری از خود به جا می‌گذارد.

برای مثال، اگر شما پیامی را به یک گروه سیگنال ارسال کنید، یک کپی از پیام شما در هر دستگاه (گوشی‌های هوشمند و رایانه‌ها در صورت تنظیم سیگنال دسکتاپ) هر یک از اعضای گروه قرار می‌گیرد. حتی اگر پیام‌های ناپدید شونده روشن باشد، تأیید اینکه همه کپی‌های پیام‌ها واقعاً از همه دستگاه‌ها حذف شده‌اند و از هر مکان دیگری (مانند پایگاه‌های داده اعلان‌ها) که ممکن است در آن ذخیره شده باشند، دشوار است. اتاق‌های چت OnionShare هیچ پیامی را در هیچ جایی ذخیره نمی‌کنند، بنابراین مشکل به حداقل می‌رسد.

اتاق‌های چت OnionShare همچنین می‌توانند برای افرادی که می‌خواهند به صورت ناشناس و ایمن با کسی چت کنند، بدون نیاز به ایجاد حساب کاربری، مفید باشند. به عنوان مثال، یک منبع می‌تواند با استفاده از یک آدرس ایمیل یکبار مصرف، آدرس OnionShare را برای یک روزنامه‌نگار ارسال کند و سپس منتظر بماند تا روزنامه‌نگار به اتاق گفتگو بپیوندد، بدون اینکه ناشناس بودن آنها به خطر بیفتد.

رمزنگاری چگونه کار می‌کند؟

از آنجا که OnionShare به سرویس‌های Tor onion متکی است، ارتباطات بین مرورگر Tor و OnionShare همگی رمزگذاری سرتاسری (E2EE) دارند. وقتی کسی پیامی را در یک اتاق چت OnionShare ارسال می‌کند، آن را از طریق اتصال onion E2EE به سرور ارسال می‌کند، که سپس آن را با استفاده از WebSockets و از طریق اتصالات onion E2EE خود به سایر اعضای اتاق گفتگو ارسال می‌کند.

OnionShare به خودی خود هیچ رمزگذاری چتی را پیاده‌سازی نمی‌کند. در عوض، به رمزگذاری سرویس Tor onion متکی است.