دفترچه‌ی راهنمای کاربر Censorship.no! (سنو)

This manual is aimed at users of Ceno Browser and related technologies, as created for the Censorship.no! project by eQualitie.

If you are looking for technical documentation, please refer to the Ceno documentation repository, where you will find pointers for further reading and details on implementation, as well as the protocol specifications.

مقدمه

The Internet and the World Wide Web have become more and more important for people around the world as a source of all kinds of information, and a way to exercise fundamental rights. At the same time, recent years have seen an increase in all kinds of network censorship and other types of network interference (see the reports from OONI, Magma, Censored Planet), both from private and state actors.

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

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

متأسفانه باز موقعیت‌هایی وجود دارند که در آن اتصال عمومی ضعیف است (کشورهای در حال توسعه یا فرودست، مناطق فقیر یا روستایی)،گران‌قیمت است (همچون کشورهایی که مبالغ بیشتری را برای ترافیک بین‌المللی درخواست می‌کنند) یا فعالانه توسط یک عامل دولتی مسدود شده است (آشکارا یا در نتیجه‌ی یک قطعی عمومی). در این موارد، دسترسی به سرورهای اصلی وب یا حتی سرورهای CDN دشوار یا محال است، و دستگاه شما نخواهد توانست آن محتوا را به دست آورد - حتی اگر من چند ساعت پیش توانسته باشم به‌طریقی به آن دسترسی پیدا کنم و ما با فاصله‌ی چند خیابان از هم زندگی کنیم.

این جایی است که مرورگر CENO و Ouinet وارد بازی می‌شوند. این فصل آن‌ها را به شما معرفی خواهد کرد.

مرورگر سنو چیست؟

Ceno (short for Censorship.no!) is a Web browser for mobile Android devices (such as smartphones and tablets) that uses a novel approach to circumvent Internet censorship and share retrieved content among all users in a peer-to-peer (P2P) fashion. This reduces overall reliance on international network exchanges, and allows frequently requested Web content to persist in the network even during heavy filtering and throttling events.

What sets Ceno apart from most other circumvention initiatives is that users can continue to share Web content even when no (or extremely limited) connectivity exists across national borders. Ceno is thus built in anticipation of aggressive Internet filtering and the establishment of national intranets to fence off nations from the Web.

Ceno Browser is built on an adapted version of Firefox for Android, a popular, modern, feature-rich and secure Free/Libre/Open Source browser. Ceno extends Firefox with Ouinet, the underlying technology allowing it to share content between devices (described in later sections).

چه‌کسی Ceno را توسعه می‌دهد؟

The Censorship.no! project is run by eQualitie in support of Articles 18, 19 and 20 of the Universal Declaration of Human Rights. Ceno and related technologies are developed as Free/Libre/Open Source software (project source), allowing anyone to use, study, share and enhance it. Please contact cenoers@equalitie.org in case of doubt or for further information.

Ouinet برای چه کسانی است؟

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

برای استفاده از Ceno نیازی نیست حتماً یک کاربر پیشرفته‌ی رایانه باشید یا حتی چگونگی کارکرد شبکه‌های همتا-به-همتا را بفهمید. تجربه‌ی کاربر همانند کاربرد یک مرورگر وب استاندارد است (کارکردهای ويژه‌ی سنو عمدتاً پنهان‌اند).

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

Warning: Ceno is not an anonymity tool. In fact, using Ceno may allow others to know whether you have accessed or are sharing certain Web content. Please take careful consideration of which risks you can assume by using this tool. See the sections on Public vs. Personal browsing and risks for further information.

Ouinet چیست؟

Ouinet is a core technology that allows Ceno Browser to share Web content with other devices. Ouinet comes in the form of reusable computer code (a library) that an application like Ceno can use to become a participant in a network of cooperating nodes that communicate directly (peer-to-peer or P2P) to help access and store new Web content, and to request and deliver previously accessed content to others.

Ouinet بر ترکیبی هوشمندانه و استفاده از فناوری‌های موجود برای دست‌یابی به هریک از کارکردهایش استوار است: مکان‌یابی مشارکت‌کنندگان دیگر با تکنیک‌هایی برآمده از دنیای اشتراک فایل (جدول درهم‌سازی توزیع‌شده‌ی بیت‌تورنت) انجام شده است، ارتباط با آن‌ها از پروتکل‌های معمول وب و اشتراک فایل استفاده می‌کند (درخواست‌های پروکسی HTTP و µTP بیت‌تورنت)، و استانداردهای صنعت مدرن امنیت ارتباطات و اصالت محتوای مبادله‌شده را تضمین می‌کند (رمزگذاری TLS و امضاهای Ed25519). Ouinet در صورت لزوم امکان جابجاکردن برخی فناوری‌های خاص با فناوری‌های دیگر را هم می‌دهد (برای مثال، برخی کاربردهای µTP می‌توانند جای خود را به ترابری‌های سرپوش‌دار یا PTهای Tor دهند).

روی دستگاه‌های همراه، Ouinet می‌تواند در قالب نرم‌افزارهای کاربر نهایی (همچون یک کتابخانه‌ی اندروید) گنجانده شود. در رایانه‌ها، از آن می‌توان به‌وسیله‌ی سرویس‌گیرنده‌های معمولی وب مثل مرورگرها (به‌عنوان یک پروکسی محلی HTTP) استفاده کرد.

Same as Ceno Browser, Ouinet is developed by eQualitie as Free/Libre/Open-Source software.

Ouinet برای چه کسانی است؟

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

Please note that Ouinet is an evolving experimental project: some features may not work reliably enough in certain scenarios, bugs may exist and crashes may occur. We encourage you to reach out to us at cenoers@equalitie.org, test it and report back - your feedback is very welcome!

هشدار: Ouinet یک ابزار گمنامی نیست. اگر در مورد شایستگی آن برای یک کاربرد خاص تردید دارید، برای تماس با ما درنگ نکنید.

راهنمای آغاز سریع

Ceno Browser allows you to access any website on the Internet, even if it is censored in your country. Ceno uses a peer-to-peer infrastructure to route your requests, as well as to store and share retrieved content with others. Read more about Ceno.

چگونه آغاز کنید

شما به یک دستگاه اندروید نیاز خواهید داشت:

  1. Install Ceno Browser from Google Play, GitHub or Paskoocheh. No special permissions are needed.
  2. آن را اجرا کنید.
  3. Browse pages normally to help other users access them; if concerned about privacy for some page or if it is not loading as expected, use a Personal tab (see Public vs. Personal browsing).
  4. روی اطلاع‌رسان CENO بزنید تا آن را به‌طور کامل متوقف کنید.

Detailed installation instructions are here.

تنظیم

Ceno Browser should work out-of-the-box. You can find some diagnostics and settings under the Ceno menu entry.

If you want to make sure that your app is also helping others access blocked content, please read this section.

پرسش‌های بیشتر؟

مفاهیم اصلی

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

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

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

در این بخش کارکرد CENO و Ouinet را با مرور چندین سناریو توضیح خواهیم داد. واژگان و مفاهیم مهم مربوط به Ouinet معرفی خواهند شد (که با حروف برجسته بر آن‌ها تأکید می‌شود) و سپس برای کارآیی و جلوگیری از ابهام و سردرگمی به کار خواهند رفت.

دسترسی مستقیم به محتوا

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

نکته‌ی فنی: البته در واقع مشکل کوچکی وجود دارد. از آنجا که سرویس‌گیرنده به‌عنوان یک پروکسی HTTP روی دستگاه شما اجرا می‌شود، برای این‌که سرویس‌گیرنده بتواند درخواست‌های محتوای HTTPS را رمزگشایی و بر اساس آن‌ها عمل کند، نرم‌افزاری که از این سرویس‌گیرنده استفاده می‌کند (یعنی بخش مرورگر وب - مانند فایرفاکس در CENO) نیاز دارد تا یک گواهی خاص صادرشده از طرف خود سرویس‌گیرنده (که فقط روی دستگاه شما استفاده می‌شود) را بپذیرد. مرورگر سنو پیشاپیش این گواهی را برای کاربرد خصوصی‌اش فراهم می‌کند، پس نیازی نیست نگران باشید.

با این حال، این راه‌های مستقیم شاید در دسترس نباشند. برای مثال، شرکت ارائه‌دهنده‌ی خدمات اینترنتی (ISP) شما ممکن است دسترسی به سرور اصلی X یا پراکسی آن را بر اساس یک دستور دولتی مسدود کند (حتی اگر ترافیک دیگر هنوز مجاز باشد). همچون کاربر سرویس‌گیرنده‌ی بالا سمت چپ که در پایین به تصویر کشیده شده است، هردو تلاش برای دسترسی به محتوای X (سند کوچک نزدیک به سرور اصلی آن) برایتان ناکام خواهد ماند. شاید به گره «انژکتور» روی دیاگرام نیز دقت کنید. این را هم‌اینک توضیح خواهیم داد.

Figure: Client cannot reach content directly

با یک مرورگر معمولی شانسی نخواهید داشت. اما، با Ouinet می‌توانید از سرویس‌گیرنده‌های دیگر کپی‌های آن‌ها از محتوای X را درخواست کنید، البته اگر آن‌ها پیشاپیش یک کپی از آن داشته باشند. بیایید ببینیم که Ouinet چگونه این درخواست را اجرا می‌کند.

جست‌وجوی محتوای مشترک

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

In any Web browser, to access content X it needs to know its Uniform Resource Locator (URL), that is the address in the browser's location bar, e.g. https://example.com/foo/x. From that URL, a normal browser would infer that it has to contact the Web server called example.com using the HTTP protocol (the language used to exchange Web resources) over SSL/TLS (a security layer over TCP, the Internet's rules for programs to talk to each other) and request the resource /foo/x.

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

Technical note: One way the index is implemented is using BitTorrent's Distributed Hash Table (DHT) to get the addresses (IP and port) of the clients with the content. The DHT uses a Cryptographic hash function to compute the table key from the content's URL and some other parameters as the injector key (see below), so that several indexes can coexist.

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

سرویس‌گیرنده‌هایی که محتوای خاصی را روی کش توزیع‌شده پیشنهاد می‌دهند به‌اصطلاح آن را دانه‌پاشی می‌کنند یا دانه‌پاش‌های آن‌ها هستند (این اصطلاح‌ها از دنیای اشتراک فایل همتا-به-همتا گرفته شده‌اند). اگر بخواهیم به سناریوی مثال‌مان بازگردیم، دو سرویس‌گیرنده هستند که محتوایی را دانه‌پاشی می‌کنند. متأسفانه، یکی از آن‌ها محتوای Y را و دیگری محتوای Z را دانه‌پاشی می‌کنند، بنابراین سرویس‌گیرنده‌ی شما هیچ مدخلی برای محتوای X در نمایه‌ی کش توزیع‌شده نخواهد یافت، همان‌طور که در پایین به تصویر کشیده شده است:

Figure: Content not found in the distributed cache

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

اشتراکِ محتوای جدید

پروکسی‌های تقویت‌شده

درOuinet، انواع خاصی از سرورهای پروکسی به نام injectors وجود دارند که در بخش آزاد اینترنت قرار گرفته‌اند (دست‌کم امیدواریم چنین باشد) و سرسختانه می‌کوشند تا به‌رغم اقدامات مسدودگرانه در دسترس همگان باقی بمانند:

  • پیش از هرچیز، ارتباطات بین سرویس‌گیرنده‌ها و injectors رمزنگاری شده‌اند (با استفاده از SSL/TLS استاندارد مانند HTTPS) تا مانع شناسایی injectors توسط مهاجمان به‌وسیله‌ی شنود ترافیک وب شوند.

    در ضمن، گواهی‌های injectors در مرورگر CENO ذخیره می‌شوند، و به آن اجازه می‌دهند تا مهاجمانی را که سعی دارند خودشان را به‌جای injectors جا بزنند شناسایی کند.

  • اگر رمزنگاری کافی نبود، برای ارتباطات با injectors می‌توانند از تکنیک‌های مبهم‌سازی ویژه استفاده کنند (مثل I2P و PTها یا ترابری‌های سرپوش‌دار Tor) تا شناسایی را از آن هم دشوارتر کنند.

  • حتی اگر شرکت ارائه‌دهنده‌ی خدمات اینترنت شما یک injector را شناسایی کرد و دسترسی به آن را مسدود کرد، تعداد زیادی از آن‌ها وجود دارد و اهمیتی ندارد که سرویس‌گیرنده‌ی شما با کدام یک از آن‌ها روی اینترنت ارتباط برقرار می‌کند.

  • ممکن است بعضی یا تمام injectors مسدود شوند، اما در آن صورت مجموعه‌ی injectors می‌توانند در گذر زمان تغییر کنند (و injectors جدیدی به آن‌ها افزوده شوند).

    سرویس‌گیرنده‌ی شما لازم نیست نشانی‌های اینترنتی‌اش را از قبل بشناسد؛ در عوض، یک جست‌وجو را در انبوه injectors اجرا می‌کند (اصطلاح دیگری از اشتراک فایل P2P)، یک نمایه‌ی تک‌مدخلی توزیع‌شده همانند کش توزیع‌شده که نشانی‌های injectors اینک در دسترس را فراهم می‌کند.

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

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

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

یک injector می‌تواند مانند یک سرور پروکسی معمولی (گرچه بیش از حد در دسترس) رفتار کند، و این در حقیقت همان کاری است که سرویس‌گیرندگان Ouinet (از جمله مرورگر CENO) در حال حاضر انجام می‌دهند وقتی سعی می‌کنند روی یک پروکسی به محتوایی دسترسی پیدا کنند. در این مورد، انژکتور اطلاعات واقعی جاری بین سرویس‌گیرنده‌ی شما و سرور اصلی را نمی‌بیند (مگر آن که خودش یک ارتباط ساده و رمزگذاری‌نشده‌ی HTTP باشد).

اما ابزارهای دیگری وجود دارند که به شما اجازه می‌دهند تا به پروکسی‌ها در شرایط اختلال شدید شبکه دسترسی پیدا کنید، پس Ouinet injectors چه ویژگی خاصی دارند؟

اعتماد به محتوای اشتراکی

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

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

ما می‌خواهیم کاربرد CENO و Ouinet محتوای هرچه بیشتری را برای مردم هرچه بیشتری تا حد امکان مقیاس و فراهم کند، بنابراین ما می‌خواهیم شما بتوانید محتوا را از مردمی که نمی‌شناسید دریافت کنید. برای این‌که شما را قادر کنیم چنین محتوایی را دریافت کنید، Ouinet از امضای محتوا استفاده می‌کند: سرویس‌گیرنده‌ی شما طوری تنظیم می‌شود که به محتوایی اعتماد کند که با استفاده از یک کلید خاص متعلق به injector امضا می‌شود. هرگاه که یک سرویس‌گیرنده به یک injector می‌گوید تا محتوایی از وب را برای اشتراک بازیابی کند، injector آن را از سرور اصلی می‌گیرد، از کلید برای امضای آن استفاده می‌کند، و محتوای ثبت‌شده را به سرویس‌گیرنده بازمی‌گرداند.

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

injector‌های متفاوت می‌توانند کلیدهای متفاوت داشته باشند، پس شما می‌توانید انتخاب کنید که به چه injector‌هایی اعتماد کنید. این مسئله را این‌طور تصور کنید: شما می‌توانید به سندی با امضای یک دفتر اسناد رسمی از کشورتان اعتماد کنید، فارغ از این‌که چه‌کسی آن را به شما داده است (چه هم‌وطن و چه بیگانه)، در حالی که نیازی نیست سندی به امضای یک دفتر اسناد رسمی از کشوری دیگر را بپذیرید. مرورگر CENO پیشاپیش طوری تنظیم شده است که به مجموعه‌ای از injectorهای اجراشده از سوی شرکت eQualitie اعتماد کند.

نکته‌ی فنی: injectorها از یک جفت کلید عمومی/خصوصی برای ایجاد امضاهای Ed25519 استفاده می‌کنند؛ کلیدهای عمومی به قدر کافی کوچک هستند تا به آن‌ها اجازه دهند همراه با امضاها فرستاده شوند، و در قالب ۶۴ کاراکتر دستگاه اعداد پایه‌ی ۱۶ یا ۵۲ کاراکتر اعداد پایه‌ی ۳۲ رمزگذاری شوند. آن‌ها می‌توانند حتی روی تلفن ردوبدل شوند یا روی یک تکه کاغذ نوشته شوند.

تزریق محتوا

به یاد داشته باشید که در سناریوی مثال ما سرویس‌گیرنده‌ی شما پیش‌تر سعی کرده بود محتوای X را مستقیماً از سرور اصلی و از سایر سرویس‌گیرندگان بازیابد اما موفق نشده بود. سرویس‌گیرنده آخرین ورق وینت‌اش را بازی می‌کند و تلاش می‌کند تا با یک injector مورد اعتماد تماس بگیرد تا نسخه‌ای امضاشده از محتوایی را دریافت کند که بتواند با سایر سرویس‌گیرندگان به اشتراک گذاشته شود.

در شکل زیر می‌توانید یک نتیجه‌ی ممکن از آن عملیات را ببینید: سرویس‌گیرنده نخست سعی می‌کند مستقیماً با injector تماس بگیرد (برای مثال، با استفاده از یک نشانی اینترنتی که آن را از انبوه injectorها گرفته است)، بلکه به طرز غم‌انگیزی پیشاپیش توسط شرکت ارائه‌دهنده‌ی خدمات اینترنتی یا ISP شما مسدود شده است؛ متأسفانه، انبوه پل‌ها نشانی‌های اینترنتی را برای دو سرویس‌گیرنده‌ای نشان می‌دهد که هنوز قادر به دستیابی به یک injector هستند. سرویس‌گیرنده‌ی شما تونلی را از طریق این سرویس‌گیرندگان به روی injector می‌گشاید، بنابراینinjector درخواستِ محتوای X را از سرویس‌گیرنده‌ی شما می‌گیرد، و آن را از سرور اصلی‌اش طلب می‌کند.

Figure: Client reaches for injector

در همان حال که محتوای X از سوی injector دریافت می‌شود، این محتوا را با کلیدش امضا می‌کند، امضا را به محتوا می‌افزاید و آن را از طریق تونلی که از آن درآمده به سرویس‌گیرنده‌تان پس فرستاده می‌شود (مثلاً از طریق قرارگرفتن سرویس‌گیرنده فراتر از انسداد). همین که محتوا به سرویس‌گیرنده‌تان رسید، این سه کار را انجام می‌دهد:

  1. این، آن را به دست شما می‌رساند (در مورد CENO، این محتوا را روی مرورگر نشان می‌دهد).
  2. این محتوا را برای بذرپاشی بعدی به سرویس‌گیرندگان دیگر روی دستگاه‌تان ذخیره می‌کند. این محتوا برای مدت زمانی قابل‌تنظیم در آن‌جا باقی خواهد ماند، یا تا زمانی که شما تصمیم بگیرید تا تمام محتوای ذخیره‌شده را پاک کنید.
  3. این در نمایه‌ی کش توزیع‌شده اعلام می‌کند که یک نسخه از آن محتوا را در اختیار دارد، طوری که سایر سرویس‌گیرندگان بتوانند آن را بیابند.

کل عملیات مرکب بازیابی، امضا، ذخیره‌کردن و اعلام همان چیزی است که ما آن را تزریق محتوا می‌نامیم، همان‌طور که در شکل زیر نشان داده شده است.

Figure: Client receives signed content from injector

مرورگری تحت مسدود بودن کامل

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

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

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

Figure: Client receives signed content from client

اینک آن دستگاه دوم هم نسخه‌ای از محتوای X را در اختیار دارد، پس این را در نمایه‌ی کش توزیع‌شده اعلام می‌نماید، و بدین‌سان به یک بذرپاش بدل می‌گردد. اگر یک شخص سوم که به آن محتوا علاقه دارد از مرورگر CENO برای بازیابی‌اش استفاده کند، سنو اینک دو نشانی را برای این محتوا در نمایه خواهد دید: نشانی دستگاه شما و دستگاه کاربر دوم. اگر حجم آن محتوا سنگین باشد (مثل یک ویدئو)، این دستگاه سوم می‌تواند سعی کند تا نیمی از آن را از هر یک از دستگاه‌های دیگر بگیرد (که در پایین نشان داده شده است)، و بدین‌سان سرعت دانلود را افزایش دهد و از ترافیک مورد استفاده‌ی آن‌ها بکاهد.

Figure: Client receives signed content from multiple clients

در نهایت، وضعیت شاید حتی از این هم بدتر شود، و تمام زیرساخت‌های شبکه‌ی دولتی و تجاری ممکن است از کار بیفتند. در این مورد، Ouinet و CENO Browser نیز از اشتراک‌گذاری محتوای دستگاه-به-دستگاه بین دو سرویس‌گیرنده که در یک شبکه‌ی محلی واحد قرار دارند (مثلاً به یک نقطه‌ی دسترسی وای‌فای مشترک وصل‌اند) تا اندازه‌ای پشتیبانی می‌کنند، حتی اگر این شبکه هیچ دسترسی‌ای به بقیه‌ی شبکه‌ها نداشته باشد.

Public vs. Personal browsing

امتیازهای استفاده از Ceno/Ouinet

امتیازهای اصلی استفاده ازCeno/Ouinet بر سایر فناوری‌های دور زدن سانسور از همکاری سرویس‌گیرندگان و injectors برای پیشبرد ترافیک اینترنتی برای یکدیگر، امضای محتوا برای راستی‌آزمایی بعدی، و ذخیره‌ی محتوای امضاشده برای بذرپاشی به دیگران نشأت می‌گیرند. برخی از امتیازهای ویژه‌ی شایان ذکر عبارت‌اند از:

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

  • افزایش دسترس‌پذیری محتوا: Ouinet قادر به فراهم‌آوردن محتوا به سیاقی کارآمد و معتمد در اوضاع اختلال شدید در شبکه است. هرچه محتوایی خاص پرطرفدارتر شود، نسخه‌های بیشتری از آن به‌وسیله‌ی سرویس‌گیرندگان Ceno/Ouinet بذرپاشی می‌شوند، و آن محتوا دسترس‌پذیرتر می‌گردد.

    محتوای امضاشده شاید در دسترس سرویس‌گیرندگان خاصی در حوزه‌ای قطع‌شده بر وسایل آفلاین (مثل یک حافظه‌ی USB) قرار گیرد و بدین‌سان در دسترس سایر سرویس‌گیرندگان قرار گرفته‌ شده است.

  • Faster browsing: Since your client can retrieve different parts of the same content from various clients at the same time, the load of delivering the content is distributed among different networks and devices, thus avoiding clogging the paths to a single client (especially when delivering a big resource like a video). This is not only useful when infrastructure connecting to other countries is limited, but also for publishers to avoid resource usage spikes at origin servers when some of their content becomes very popular (the so-called Slashdot effect).

  • Cheaper browsing: Content popular in a particular region tends to get copied in Ceno/Ouinet clients in that region, even if the origin server is abroad. If you are interested in that content, your client will probably get it from some other client in your region. In some countries where international traffic is more expensive than local one (e.g. in the presence of a national intranet), this can actually save you money.

خطرات استفاده از Ceno/Ouinet

همچون هر سیستم حسابداری به‌کفایت پیچیده‌ای، و به‌ویژه سیستم نوآورانه‌ای ازاین‌دست، استفاده از مرورگر Ceno (و هر سرویس‌گیرنده‌ی Ouinet در کل) نیز از برخی خطرها عاری نیست. در این بخش این خطرات را گردآوری و توصیف خواهیم کرد تا شما را در فهم دلالت‌های آن‌ها بنا بر نقش‌های متفاوتی که هنگام استفاده از Ceno ممکن است ایفا کنید یاری رسانیم:

  • به‌عنوان یک کاربر که سایت‌های وب را مرور می‌کند
  • به‌عنوان یک بذرپاش که محتوایی را روی کش توزیع‌شده به اشتراک می‌گذارد که شما پیش‌تر از آن بازدید کرده‌اید
  • به‌عنوان یک پل یه کاربران دیگر اجازه‌ی دسترسی به یک injector را دادن

به‌عنوان یک کاربر

آیا پل‌ها می‌توانند ارتباط من با سرور اصلی را مشاهده کنند؟

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

آیا injectorها می‌توانند ارتباط من با سرور اصلی را مشاهده کنند؟

Yes and no. When the user requests content in public browsing mode, all private data (like passwords and cookies) is first removed from the request by the client, and only then is the request encrypted for and forwarded to the injector, which proceeds to decrypt it.

On the other hand, when the request uses Personal browsing mode, it is not modified by the client, but the whole communication is encrypted for the origin server. This means that in this other case the injector cannot decrypt the content.

نکته‌ی فنی: فقط درخواست‌های GET HTTP نامزدهایی برای injection هستند، با حذف پارامترهای پرسش، همراه با همه‌چیز غیر از مجموعه‌ی محدودی از قلمروهای اصلی بنیادین و حافظ حریم خصوصی HTTP.

آیا injectorها می‌توانند نشانی IP مرا ببینند؟

بله. با این حال، injectorها نمی‌توانند تشخیص دهند که آیا یک درخواست از یک کاربر Ceno یا یک پل آمده است یا خیر. بنابراین درخواست‌هایی که به injector می‌رسند، نمی‌توانند به‌طور قابل‌اتکایی به یک نشانی IP نوخاسته منسوب گردند.

آیا داده‌های خصوصی من می‌توانند به کش توزیع‌شده درز کنند؟

امیدواریم چنین نشود. همان‌طور که در بالا اشاره شد، مرورگر Ceno سخت تلاش می‌کند تا هرگونه داده‌ی خصوصی را (رمزهای عبور، کوکی‌ها و...) از هر درخواستی برای Injection حذف کند. افزون بر این، خود injector هیچ بذرپاشی‌ای نمی‌کند؛ در واقع، تنها هدف آن امضای محتوایی است تا سرویس‌گیرندگان Ouinet بتوانند آن را بذرپاشی کنند. این به معنای آن است که وقتی محتوا به سرویس‌گیرنده بازمی‌گردد، بیشتر تحلیل می‌شود، و اگر سرور اصلی اشاره کند که سرشتی خصوصی دارد، Ceno نیز آن را بذرپاشی نخواهد کرد.

Still, there could be cases of badly designed or malicious pages which may collect some information from you (like an email address in a form or some browser fingerprints using JavaScript) and stuff it in another link URL as normal path components (e.g. http://example.com/subscribe/you@example.org). If you suspect that a page may be doing that, better be on the safe side and use Personal browsing for it.

آیا سرور اصلی می‌تواند بداند که من از Ceno استفاده می‌کنم؟

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

با این حال، وقتی این مرورگر از یک injector برای دریافت محتوایی از سرور اصلی‌اش استفاده می‌کند، (دست‌کم) دو راه وجود دارد که سرور اصلی بداند که Ceno و Ouinet به کار رفته است:

  1. نشانی منبع اتصالی که به سرور اصلی می‌رسد در انبوهه‌یinjector یافت می‌شود (از آنجا که اتصال در حقیقت از خود injector برمی‌آید)؛
  2. حضور یا غیابِ اطلاعاتِ معین در درخواستِ محتوا خاصیت ویژه‌ی Ouinet است. این زمانی روی می‌دهد که injector محتوا را درخواست می‌کند چون سرویس‌گیرنده‌ی شما از آن خواسته است که آن محتوا را بازیابی و امضا کند، همان‌طور که injector اطلاعات بی‌همتا به دستگاه خاص‌تان را از درخواست حذف می‌کند.

لطفاً توجه کنید که این‌ها فقط درخواست را برآمده از Ouinet علامت‌گذاری می‌کنند، اما آن‌ها آن را به شما یا دستگاه خاص‌تان متصل نمی‌کنند. با این حال، اگر این درخواست به دلایلی یادشده در پرسش پیشین هنوز شامل اطلاعاتی به‌لحاظ شخصی قابل‌شناسایی باشند، این می‌تواند برای علامت‌گذاریِ شما به‌عنوان یک کاربر Ceno به کار رود.

In general, if a particular website (such as a governmental site) expects you to connect to it as an identifiable individual, from a specific region (or from a national intranet), we recommend that you use a normal Web browser instead of Ceno.

به‌عنوان یک بذرپاش

چه داده‌ای از دستگاه من بذرپاشی می‌شود؟

در حال حاضر، تنها محتوایی که از سوی Ceno بذرپاشی می‌شود هر محتوای وب غیر-خصوصی است که به شیوه‌ی مرور عمومی درخواست شده باشد. این همچنین به معنای آن است که کاربران هیچ چیزی را بذرپاشی نمی‌کنند که خودشان در گذشته‌ی نزدیک به آن دسترسی نداشته‌اند.

آیا کسی می‌تواند پی برد که من چه بذری می‌پاشم؟

بله و خیر. هر کسی با فهمی کافی از عملکردهای Ouinet می‌تواند ابزاری را برای پی‌بردن به این‌که یک محتوای خاص ازکدام نشانی‌های IP به اشتراک گذاشته می‌شود بسازد (مانند بیت‌تورنت). با این حال، هدف‌گرفتن یک نشانی IP مشخص و دریافت لیستی از همه‌ی محتواهای بذرپاشی‌شده از سوی سرویس‌گیرندگان پشت آن‌ها ممکن نیست.

به‌عنوان یک پل

آیا دیگران می‌توانند نشانی IP مرا پیدا کنند؟

بله، هر مرورگر Ceno که قادر به برقراری ارتباط با injectorها باشد نشانی IP اش را در انبوهه‌ی پلی ثبت می‌کند که در آن بقیه‌ی سرویس‌گیرندگان Ouinet می‌توانند آن‌ها را پیدا کنند.

آیا امکان دارد به کسی کمک کنم تا به محتوایی دسترسی پیدا کند که در کشور من غیرقانونی است؟

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

استفاده از مرورگر Ceno

This chapter gives you some hints on the usage of Ceno Browser as far as its Ouinet-related capabilities are concerned. Please always keep in mind that Ceno is based on Firefox for Android, so for all questions on generic browsing topics you should refer to Mozilla's Firefox for Android Support pages.

در صورت لزوم، تصاویری که از صفحه گرفته می‌شود، برای مفهوم‌تر کردن متن گنجانده خواهند شد. لطفاً توجه کنید که این‌ها ممکن است تفاوت‌های اندکی با آن‌چه شما روی دستگاه‌تان می‌بینید، داشته باشند، به‌ویژه در جریان توسعه و پیشرفت Ceno. این سند برای نسخه‌ی 1.6.0 Ceno به‌روز است.

If your application exhibits behaviors substantially different from those described here, do not hesitate to contact us at cenoers@equalitie.org and report the issue.

نصب Ceno

مرورگر Ceno را می‌توان از طریق این روش‌ها نصب کرد:

  • Google Play (Ceno Browser from eQualitie): the recommended source for most Android users.
  • Gitlab: for Android devices without Google Play.
  • Paskoocheh: for users in countries blocking access to the previous channels.

Ceno به یک دستگاه با معماری کامپیوتری ARM64 یا ARM32 با قابلیت نئون نیاز دارد که دارای سیستم‌عامل اندروید نسخه Android 4.1 Jelly Bean به بالا باشد، بنابراین برای اکثر دستگاه‌های تلفن همراه منتشر شده از اواخر سال ۲۰۱۲ به بعد باید امکان‌پذیر باشد. Ceno برای اجرا به مجوزهای خاص نیاز ندارد.

Warning: Please be extremely skeptical about installing Ceno Browser from sources other than the ones listed above. Because of the application's nature, their potential users may become a target for all kinds of fake or manipulated versions used to violate user privacy or attack other Ceno and Ouinet users. If in doubt, please contact cenoers@equalitie.org before installing a suspicious app.

متوقف‌کردن کامل Ceno

هربار که نرم‌افزار را آغاز می‌کنید، یک نشان Ceno روی نوار اطلاع‌رسانی دستگاه‌تان ظاهر خواهد شد. این نشان خدمات مرورگر Ceno را بازمی‌کند، که بخشی از Ceno است که به‌طور دائمی و همیشگی اجرا می‌شود (حتی وقتی شما مرور نمی‌کنید) و به سایر سرویس‌گیرندگان اجازه می‌دهد تا از دستگاه‌تان به‌عنوان یک پل استفاده کنند و محتوا را هرزمان از آن بازیابی کنند.

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

Figure: Tap on the notification to stop the Ceno service

پالایش تمام داده‌های سنو («دکمه‌ هراس»)

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

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

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

Figure: The last action stops Ceno and clears all its data

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

اگر روی این گزینه تقه نزنید در عرض چند ثانیه از بین خواهد رفت.

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

به‌عنوان یک جایگزین شدیدتر، می‌توانید این نرم‌افزار را به‌طور کامل حذف کنید.

هشدار: اندروید ممکن است همچنان ردپاهای دیگری از کاربرد یک نرم‌افزار را به غیر از داده‌هایش نگه دارد؛ برای نمونه در گزارش سیستم‌.

Using Public or Personal browsing

تنظیماتِ Ceno

مرورگر Ceno به شما اجازه می‌دهد تا بعضی از تنظیمات خاص Ouinet را تغییر دهید و اطلاعاتی درباره‌ی سرویس‌گیرنده‌تان را به شیوه‌ای ساده دریافت کنید. این شاید برای عملکرد معمولی لازم نباشد، اما برای تست راهبردهای متفاوت علیه اختلال شبکه مفید خواهد بود، و نیز برای گزارش مشکلات این نرم‌افزار.

نکته‌ی فنی: این گزینه‌ها از سوی افزونه‌ی Ceno فراهم آمده‌اند، یک افزونه‌ی فایرفاکس که از جعبه‌ی Ceno بیرون آمده و نصب شده است و از ادغام درست با Ouinet مانند تواناسازی تزریق محتوا و بازیابی انبار ذیل مرور عمومی مراقبت می‌کند، به کاربر درباره‌ی منبع محتوای به‌تصویرکشیده‌شده سرنخ‌هایی می‌دهد، و درباره‌ی نسخه‌های جدید Ouinet اطلاع می‌دهد.

این ویژگی‌ها روی صفحه‌ای قرار دارند که با انتخاب Ceno در منوی اصلی نرم‌افزار می‌توانند دست‌یافتنی باشند. لطفاً توجه کنید که نمایان‌شدن گزینه‌های منو پس از آغاز نرم‌افزار چه‌بسا چند ثانیه طول بکشد. این صفحه باید چیزی شبیه به این باشد:

Figure: The Ceno Settings page

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

The four checkboxes on the top of the page selectively enable or disable the different mechanisms or sources that Ceno as a Ouinet client uses to retrieve content while using either Public or Personal browsing tabs. All boxes are enabled by default.

  • مستقیم از وب‌سایت (یا دسترسی اصلی) به Ceno امکان می‌دهد تا مستقیماً به سرور اصلی دسترسی پیدا کند پیش از آن‌که برای فعال‌سازی سایر سازوکارها در پایین دست به اقدام بزند.

    Although this mechanism works in both Personal and Public browsing modes, content thus retrieved cannot be shared with others.

    If getting most Web content is not particularly slow or expensive, this mechanism may be more than enough for most use cases. However, such direct connections may be tracked by your ISP or government. To some extent, disabling this option may avoid such connections and trivial tracking (but not completely, see risks).

    Also, when accessing a Web site over insecure HTTP (instead of the more secure HTTPS), a censor may intercept the connection and supply the user with a bogus site, a tampering which Ceno cannot detect by itself. In such cases, it may help to disable this option and thus always resort to other, safer Ceno mechanisms. Please check the section on troubleshooting to learn more about this issue.

  • از طریق شبکه‌ی (خصوصی) Ceno (یا دسترسی پروکسی) به سنو اجازه می‌دهد تا ازinjectors به‌عنوان سرورهای پروکسی HTTP معمولی برای دستیابی به سرورهای اصلی استفاده کند.

    This mechanism only works in Personal browsing mode.

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

  • از طریق شبکه‌ی (عمومی) Ceno (یا دسترسی injector) Ceno را توانا می‌سازد تا درخواست‌ها را از هرگونه اطلاعات خصوصی عاری سازد و آن‌ها را به یک injector بفرستند. injector محتوا را از یک سرور اصلی دریافت می‌کند، آن را امضا می‌کند و به Ceno پس می‌فرستد، که سپس آغاز به بذرپاشی آن می‌کند.

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

    این سازوکار فقط در حالت مرور عمومی کار می‌کند.

  • به اشتراک گذاشته‌شده از سوی سایر کاربران سنو به Ceno اجازه می‌کند تا محتوایی را از انبار توزیع‌شده بازیابی کند، یعنی از سایر سرویس‌گیرندگان Ceno و Ouinet برای بذرپاشی آن استفاده کنند.

    این سازوکار فقط در حالت مرور عمومی کار می‌کند.

Disabling all of the mechanisms available for either Public or Personal browsing mode will render them useless. If you establish such a configuration, a warning will be shown as depicted below:

Figure: Invalid settings for private browsing

درباره‌ی نرم‌افزار شما

این صفحه همچنین اطلاعاتی درباره‌ی نرم‌افزار مرورگر Ceno شما و سرویس‌گیرنده‌ی Ouinet برایتان فراهم می‌آورد:

  • سایز کش محلی تقریبی از حجم اشغال‌شده توسط محتوایی را نشان می‌دهد که از کش محلی دستگاه‌تان بذرپاشی می‌شود.
  • محتوای به اشتراک گذاشته شده از سوی شما به شما اجازه می‌دهد تا محتوای اعلام‌شده توسط دستگاه‌تان را چک کنید.
  • وضعیت سرویس گیرنده Ouinet، اگر در حالت "شروع شده" باشد، به این معنی است که سرویس گیرنده Ouinet شما توانسته با موفقیت برنامه را اجرا کند. در غیر این صورت، ممکن است اشکالات مرتبط با اتصال یا برخی از خطاهای داخلی وجود داشته باشد. لطفا این اطلاعات را در گزارش‌های خود بگنجانید.
  • وضعیت دسترس‌پذیری نشان می‌دهد که دستگاه‌تان تا چه حد می‌تواند در عمل محتوا را به سرویس‌گیرندگان دیگر بذرپاشی کند. این را نیز در گزارش‌ها بگنجانید.
  • وضعیت UPnP نشان می‌دهد که آیا Ceno توانسته بود با روتر یا نقطه‌ی دسترسی شما ارتباط برقرار کند تا اتصالات ورودی به سویش را امکان‌پذیر سازد. این را نیز در گزارش‌ها بگنجانید.
  • نقاط پایانی UDP محلی نشانی‌های اینترنتی هستند در دستگاه شما که Ceno از آن‌ها استفاده می‌کند تا محتوای امضاشده را به سرویس‌گیرندگان دیگر ارسال کند. این‌ها برای کمک به آزمایش و خطایابی از نرم‌افزار نشان داده می‌شوند، و نباید به‌طور عمومی فاش شوند.
  • نقاط پایانی UDP خارجی آدرس های اینترنتی موجود در روتر شما هستند که به ترافیک Ceno شما اختصاص داده می شود. فقط با روترهای دارای UPnP موجود است، آن‌ها همچنین برای تشخیص مشکلات و عیب‌یابی مفید هستند و به طورعمومی افشا نمی‌شوند.
  • نقاط پایانی UDP عمومی آدرس های اینترنتی هستند که سرویس‌گیرنده Ouinet خارج از شبکه شما هنگام برقراری ارتباط با دستگاه شما می بینند. همچنین برای تشخیص مشکلات و عیب‌یابی و نباید فاش شوند.
  • بوت‌استرپ‌های اضافی بیت‌تورنت سرورهایی هستند که برای کمک به دستگاه شما برای ورود به شبکه بیت‌تورنت استفاده می‌شوند، در صورتی که موارد پیش‌فرض عملکرد درستی نداشته باشند. همچنین در بازخوردها و گزارش‌ها گنجانده شود. می‌توانید فهرستی از لیست جداگانه هاست‌ها (با درگاه‌های اختیاری) را ویرایش کنید تا تنظیمات خودتان اعمال شود، سپس گزینه ذخیره‌سازی را انتخاب کنید. نوبت بعدی که سرویس گیرنده Ouinet شما راه‌ افتاد، تغییرات اعمال خواهند شد.
  • مرورگر Ceno نسخه‌ی دقیق Ceno را که شما از آن استفاده می‌کنید، نشان می‌دهد. لطفاً این اطلاعات را در گزارش‌های مشکلات بگنجانید.
  • افزونه‌ی سنو نسخه‌ای از افزونه را نشان می‌دهد که فایرفاکس را با سنو ادغام می‌کند. این را نیز در گزارش‌ها بگنجانید.
  • Ouinet نسخه‌ای از Ouinet را نشان می‌دهد که از Ceno پشتیبانی می‌کند. این را نیز در گزارش‌ها بگنجانید.
  • پروتکل Ouinet شماره‌ی نسخه‌ی پروتکلی است که Ceno به کار می‌برد تا با سایر سرویس‌گیرندگان Ouinet و injectors حرف بزند. این را نیز در گزارش‌ها بگنجانید.

پالودنِ کش محلی

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

اگر می‌خواهید کش مرورگری معمولی Ceno را خالی کنید (همان کش که توسط مرورگر به کار می‌رود اما با دیگران به اشتراک گذاشته نمی‌شود) یا سایر اقلام مثل کوکی‌ها، سابقه‌ی مرور یا صفحات دلخواه، بایستی تنظیمات را در منوی اصلی نرم‌افزار و سپس گزینه‌ی پاک‌کردن داده‌های خصوصی را انتخاب کنید. از شما پرسیده خواهد شد که کدام موارد را می‌خواهید پاک کنید.

To drop everything at the same time (especially if you are in a hurry), please learn how to use the "panic button" feature described in Installing Ceno.

جمع‌آوری پیغام‌های لاگ

در پایین صفحه یک چک‌باکس فعال‌سازیِ فایل لاگ هست که به شما اجازه می‌دهد تا تمام پیغام‌های داخلی Ouinet را جمع‌آوری کنید و آن‌ها را در قالب یک فایل دریافت کنید. از این فایل می‌بایست فقط هنگام عیب‌یابی و تشخیص مشکلات در Ceno استفاده کرد؛ فقط از این قدم‌ها پیروی کنید:

  1. در صفحه‌ی تنظیمات Ceno، گزینه‌ی فعال‌سازیِ فایلِ لاگ را چک کنید.
  2. به مرور وب بازگردید و کارهایی را انجام دهید که جرقه‌ی رفتارهای دردسرساز را می‌زند.
  3. به صفحه‌ی تنظیماتِ Ceno بازگردید و روی لینک دانلود در کنار چک‌باکس فعال‌سازیِ فایلِ لاگ کلیک کنید. فایل را برای استفاده‌ی بعدی ذخیره کنید. اندروید ممکن است از شما بپرسد که آیا در این مقطع به Ceno اجازه‌ی دسترسی به رسانه‌های ذخیره‌شده را می‌دهید: این جواز برای ذخیره‌کردن آن فایل لازم است.
  4. علامت چک‌باکس فعال‌سازیِ فایل لاگ را با کلیک روی آن از بین ببرید تا مانع رشد بیش‌ازاندازه‌ی لاگ‌ها شوید.

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

تست مرورگر

Now that you know how to install and configure Ceno, let us follow some steps to test whether different Ouinet-specific features work. This will involve selectively enabling and disabling different access mechanisms. Keep in mind however that in day-to-day usage of Ceno, you will seldom need to change the default settings at all.

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

All of the tests will be performed using public browsing. If something does not work as expected, please be patient and check the section on troubleshooting. Specifically, if the browser gets stuck for more than a couple of minutes while loading a page, you may hit stop and reload it (although this may alter results slightly).

دسترسی به یک injector

بیایید نخست چک کنیم که آیا مرورگر Ceno شما می‌تواند به یک injector دسترسی پیدا کند. این شاید پیش‌پاافتاده به نظر بیاید، اما سرویس‌گیرنده‌ی شما پیشاپیش چندین ویژگی Ouinet را در این فرایند به کار خواهد بست: جست‌وجوی نشانی injector در انبوهه‌ی injector ها، تلاش برای تماس مستقیم با آن و، اگر این injector از سوی ارائه‌دهنده‌ی دسترسی یا کشورتان مسدود شده بود، جست‌وجوی انبوهه‌ی پل و تلاش برای تماس با injector از طریق یک سرویس‌گیرنده‌ی Ouinet.

در نخستین دستگاه این مرحله‌ها را اجرا کنید:

  1. پیش از هرچیز، Ceno را نصب و اجرا کنید. صفحه‌ی خانگی آن ظاهر خواهد شد.
  2. Open the app's main menu and choose Settings to open the Ceno Settings page. Since we only want to test injector access, uncheck all the boxes for content sources except Via the Ceno network (public).
  3. به صفحه‌ی خانگی Ceno بازگردید. یا یکی از وب‌سایت‌های توصیه‌شده را انتخاب کنید، یا نشانی اینترنتی سایتی دیگر را در نوار نشانی بالای پنجره‌ی مرورگر وارد کنید. اگر سایتی را سراغ دارید که معمولاً برای شما مسدود شده است، نشانی همان سایت را وارد کنید!
  4. سایت انتخاب‌شده باید سرانجام دیده شود.

نکته: اگر به جای صفحه‌ی واقعی یک صفحه‌ی جعلی را دریافت می‌کنید، در ابتدای نشانی اینترنتی سایت در نوار آدرس (به جای http://) https:// را وارد کنید و تست را تکرار کنید.

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

در ضمن، اگر علامت Ceno در نوار نشانی را بفشارید، یک پنجره‌ی جدید مانند پنجره‌ی پایینی گشوده خواهد شد، که نشان می‌دهد چند عنصر از سایت از منابع متفاوت بازیابی شده است. فقط از طریق شبکه‌ی (عمومی) Ceno باید یک ارزش غیر-صفر داشته باشد چرا که سایر منابع غیرفعال شده‌اند.

Figure: Sources used when testing injection

In contrast, if you had used Personal browsing with default settings, you may have seen a popup like the one below, with non-zero counts in Direct from website or Via Ceno network (private).

Figure: Sources used with private browsing

دریافت محتوا از کاربران نزدیک

از آن‌جا که نخستین دستگاه‌تان توانست محتوایی را از یک injector دریافت کند، بیایید تست کنیم که آیا این دستگاه می‌تواند آن را با دستگاه دیگری روی کش توزیع‌شده به اشتراک بگذارد. ساده‌ترین راه استفاده از پشتیبانی دستگاه-به-دستگاه Ceno برای چک‌کردن این است که آیا دریافت و راستی‌آزمایی محتوای امضاشده درست کار می‌کند یا نه.

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

  1. در صورت نیاز Ceno را نصب کنید و مانند قبل آن را اجرا کنید.
  2. مانند قبل صفحه‌ی تنظیمات Ceno را باز کنید. از آن‌جا که ما فقط می‌خواهیم دسترسی به کش توزیع‌شده را تست کنیم، تمام جعبه‌های مربوط به منابع محتوا به جز به‌اشتراک‌گذاشته‌شده از سوی سایر کاربران Ceno را غیرفعال کنید.
  3. به صفحه‌ی خانگی Ceno بازگردید و از همان سایت به همان شیوه‌ی قبلی در بالا بازدید کنید (یعنی با انتخاب یکی از وب‌سایت‌های توصیه‌شده یا واردکردن نشانی اینترنتی آن در نوار نشانی).
  4. سایت انتخاب‌شده باید سرانجام دیده شود.

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

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

Figure: Sources used when testing distributed cache retrieval

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

دریافت محتوا از کاربران دور

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

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

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

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

تبریک می‌گوییم!

کمک به سایر کاربران Ceno برای مرور وب

یک شبکه همتا به همتا (Peer to Peer) از طریق اتصال تک‌تک نقطه‌ها (Nodes) به آن ساخته می‌شود. این بدین معنی است که شما نیز بخشی از این اتصال هستید. هرچقدر که نقاط اتصال بیشتر باشند، شبکه قوی‌تر و کاربردی‌تر می‌شود. اگر شما در کشوری که اینترنت را سانسور نمی‌کند یا دست کم در مقایسه با دیگر کشورها کمتر سانسور می‌کند، از مرورگر Ceno استفاده می‌کنید، می‌توانید با برقراری پل اتصال به دیگر کاربران Ceno کمک کنید. به این شکل می‌توانید ترافیک شبکه را میان کاربران Ceno در کشورهای با سانسور شدید اینترنت و انژکتورهای Ceno هدایت کنید. البته شما قادر به دیدن ترافیک آن‌ها نخواهید بود چرا که این ترافیک از یک تونل رمزنگاری شده عبور می‌کند. همچنین هیچ‌کدام از این ترافیک‌ ها در دستگاه شما ذخیره نخواهد شد.

Note: The configuration described in this section may also help your device to effectively seed content to others on the distributed cache, so please consider applying it as well when using Ceno in a censoring country (but keep in mind the risks of serving such content to others).

چگونه تبدیل به یک پل Ceno بشویم

این ویژگی کاربردی در مرورگر Ceno از قبل طراحی شده است. دستگاه شما باید به اینترنت وای‌فای متصل باشد به طوری که در شبکه وای فای (UPnP (universal plug and play یا همان معیار اجرا و اتصال همگانی فعال باشد یا پورت مستقیم به Ceno داشته باشد.

به هر حال به خاطر داشته باشید که سیستم‌عامل اندروید تنها در شرایطی به یک دستگاه موبایل اجازه فعالیت به عنوان یک پل Ceno را می‌دهد که شما در حال کار با آن باشید. به طور مثال حالت ذخیره انرژی عملکرد Ceno را مختل می‌کند.

Technical note: This is mainly due to Android's Doze mode slowing down the operation of the native Ouinet library. Unfortunately, disabling battery optimization for Ceno does not seem to exclude Ouinet from it. Your particular device may also include its own power-saving features which may interfere with Ceno; please check Don't kill my app! for your device's brand.

بنابراین اگر می‌خواهید که Ceno همیشه به عنوان یک پل در دسترس، روی دستگاه شما فعال باشد علاوه بر داشتن وای‌فای مناسب باید:

  1. گوشی‌تان به طور مدام به برق باشد.

  2. صفحه گوشی‌تان همیشه روشن باشد.

    یک راه ساده برای استفاده از Ceno بدون مصرف بیش از اندازه باتری و روشن بودن دائمی این است که از ویژگی محافظ صفحه نمایش اندروید (Android's screen saver) استفاده کنید. شما می‌توانید این ویژگی را در بخش تنظیمات به آدرس Settings / Display / Screen saver (یا در برخی نسخه‌ها Daydream) فعال کنید. به این صورت که گزینه Clock سپس When to start screen saver و در نهایت While charging یا Either را انتخاب کنید. پس از فعال شدن این گزینه وقتی که موبایل شما فعال نیست، یک ساعت محو روی دستگاه شما نمایان می‌شود.

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

اگر این امکان را در اختیار ندارید، منصرف نشوید! اگر یک کامپیوتر با اتصال خوبی به اینترنت دارید که بیشتر اوقات روشن است، لطفاً به خواندن ادامه دهید.

اجرای یک پل روی یک کامپیوتر

If your computer supports Docker containers, you can run a pre-configured Ceno client on it to act as a bridge. If Docker is not yet installed, please follow the instructions to install the Docker Engine in your platform. For Debian derivatives like Ubuntu or Linux Mint, you can just run: sudo apt install docker.io

برای به‌کارگیری و استقرار یک نگه‌دارنده‌ مخاطب در Ceno فقط لازم است این فرمان را روی یک پایانه اجرا کنید (به نظر ترسناک می‌آید اما می‌توانید به‌سادگی آن را روی نوار فرمان کپی کنید):

sudo docker run --name ceno-client \ -dv Ceno:/var/opt/ouinet --network host \ --restart unless-stopped equalitie/Ceno-client

اگر کامپیوترتان براساس سیستم GNU/Linux کار نمی‌کند، این فرمان را باید کمی تغییر دهید:

sudo docker run --name ceno-client \ -dv ceno:/var/opt/ouinet \ -p 127.0.0.1:8077-8078:8077-8078 -p 28729:28729/udp \ --restart unless-stopped equalitie/ceno-client

The command will start a container named ceno-client that will run on every boot unless you explicitly tell it to stop. Please check the Ceno Docker client documentation for more information on how to manipulate the container.

Note: This client has no Ceno Settings: when instructed below to access that page, open instead the client front-end, which contains mostly equivalent information.

فعال کردن UPnP روی مودم وای‌فای

UPnP is the easiest way of making your Ceno Browser (or computer client) reachable to the Ceno network. The Ceno Settings page will indicate the UPnP status on your local network.

Note: Enabling UPnP on the Wi-Fi router may expose devices on your network to external interference. Please make yourself aware of the risks and also consider using alternative methods as explained below.

وضعیتی مانند مورد زیر نشان می‌دهد که UPnP روی روتر وای‌فای شما در دسترس نیست یا کار نمی‌کند:

وضعیت قابلیت دسترسی

undecided

وضعیت UPnP

disabled / inactive

وضعیت زیر نشان می‌دهد که UPnP به احتمال زیاد در حال کار است و Ceno نیز در حال تایید اتصال است:

وضعیت قابلیت دسترسی

undecided

وضعیت UPnP

enabled

وضعیت زیر نشان می‌دهد که UPnP در حال کار است و شما نیز می‌توانید برای دیگر کاربران Ceno پل اتصال بزنید:

وضعیت قابلیت دسترسی

likely reachable / reachable

وضعیت UPnP

enabled

Note: Even if UPnP is working, your router may still not be reachable from the outside. This can be the case when Ceno Settings reports External UDP endpoints which look like CGNAT addresses 100.X.Y.Z:N with X between 64 and 127 (increasingly common among home ISPs), or like private addresses 10.X.Y.Z:N, 172.X.Y.Z:N with X between 16 and 31, and 192.168.X.Y:N. If so, please contact your ISP or network administrator to get a public address on your router or to establish port forwardings to the external endpoint.

در حال حاضر انواع مودم‌های وای‌فای در بازار وجود دارد و هریک نیز ویژگی‌های خود را دارد. در زیر فهرستی از دستورالعمل‌های تولیدکنندگان مختلف مودم برای فعال کردن UPnP آورده شده‌ است:

استفاده از port forwarding به عنوان جایگزین UPnP

به‌ جای فعال کردن UPnP روی مودم، شما می‌توانید یک دستور port forwarding ایجاد کنید تا از ارسال اتصالات از شبکه Ceno به سمت دستگاه شما مطمئن شوید. برای این کار شما باید به حساب ادمین مودم وارد شوید و گزینه port forwarding را فعال کنید. برای اینکه ببینید اتصال کدام آدرس آی‌پی را فوروارد کنید و همچنین پورت‌ مربوطه، تنظیمات Ceno را باز کنید و زیر گزینه Local UDP endpoints را نگاه کنید.

نقطه‌های انتهایی «یو‌دی‌پی UDP» محلی

192.168.1.132:28729

port forwarding باید برای پروتکل UDP باشد (نه برای TCP). در ابتدا Ceno یک پورت تصادفی را انتخاب می‌کند و آن را برای اجرای بعدی نگه می‌دارد اما آدرس آی‌پی دستگاه محلی شما ممکن است گاه‌به‌گاه تغییر کند. بنابراین باید به طور مرتب تنظیمات Ceno خود را نگاه کنید تا مطمئن شوید که دستگاه شما به شبکه Ceno وصل باشد.

نکات فنی: به عنوان راه‌حل جایگزین، می‌توانید همیشه دقت کنید که مودم آدرس آی‌پی یکسانی را به‌کار می‌گیرد. (به طور مثال، از طریق یک DHCP ثابت برای دستگاه‌های MAC).

شناسایی و رفع ایرادها

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

If problems still persist, please report them to cenoers@equalitie.org. We will try to help you with them.

در منوی نرم‌افزار مدخل Ceno وجود ندارد

افزونه‌ی Ceno شاید هنوز در حال بارگذاری باشد. لطفاً بردبار باشید.

همه‌ی ابزارک‌ها در صفحه‌ی تنظیمات Ceno طوسی شده‌اند

افزونه‌ی Ceno بارگذاری شده است، اما هنوز نتوانسته جایگاه و وضعیت‌اش را از Ouinet بازیابی کند. از آن‌جا که این آماده‌شدن یرای Ouinet شاید دیر به طول انجامد، لطفاً بردبار باشید.

اگر صفحه‌ی تنظیمات بعد از بیش از دو دقیقه همین‌طور باقی می‌ماند، احتمال دارد که Ouinet هنگام آغاز به کار دچار مشکلی شده باشد.

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

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

نکته‌ی فنی: اگر نرم‌افزار دیگری از قبل در حال شنود درگاه‌های TCP یعنی 127.0.0.1:8077 یا 127.0.0.1:8078 باشد ممکن است این اتفاق بیفتد.

وضعیت وی‌نت (Ouinet) سرویس‌گیرنده تحت تنظیمات Ceno آغاز نشده است

مشکلاتی برای سرویس‌گیرنده Ouinet که توسط Ceno اجرا می‌شود، پدید آمده که آغاز آن از دستگاه شما بوده است.

وقتی Ceno را راه‌اندازی می‌کنید، ممکن است وضعیت برای چند ثانیه در حالت «شروع» باشد. این طبیعی است با این حال، اگر وضعیت برای مدت طولانی در حالت "شروع" باقی بماند، ممکن است سیگنالی از مشکلات جدی اتصال باشد که مانع از دسترسی برنامه به شبکه BitTorrent می شود. لطفاً اتصال شبکه خود را بررسی کنید و Ceno را مجدداً راه اندازی کنید. اگر اتصال فعال دارید اما وضعیت همچنان در حالت "شروع" است، لطفاً با ما تماس بگیرید (به‌ویژه اگر وضعیت در اجراهای قبلی در حالت «شروع‌شده» یا Started باشد).

One possible reason for not being able to get into BitTorrent (more so when you run Ceno for the first time), is that the default bootstrap servers used by the Ouinet client are blocked or unreachable. In that case you may want to try providing Ceno with extra BitTorrent bootstrap servers in the Settings page. You can ask us if you do not know of any such server. After setting the extra bootstraps, please restart the application. If the problem persists, contact us.

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

دسترسی به محتوایی خاص پیغام «بازیابی منبع ناموفق بود» را نشان می‌دهد

این یعنی Ceno تمام سازوکارهای موجود برای دسترسی به آن محتوا را امتحان کرده است، اما هیچ‌یک از آن‌ها موفق نبوده‌اند.

برای آن‌که Ceno درست کار کند باید مطمئن شوید که این پیش‌نیازها برآورده شده‌اند:

  • You are running a recent version of Ceno Browser. Obsolete versions may not be able to communicate with newer injectors or other clients. Check the installation instructions to know where to get new versions.
  • All access mechanisms in the Settings page are enabled. Otherwise Ceno will not be able to circumvent some connectivity issues when accessing content.
  • دستگاه شما یک ارتباط کارآ با شبکه دارد، یعنی مرورگر وب معمولی شما می‌تواند برخی از وب‌سایت‌ها را باز کند. Ceno و Ouinet نمی‌توانند در حالتی کار کنند که اتصال شبکه به‌تمامی قطع شده باشد (هرچند کاربران باز شاید بتوانند یک نقطه‌ی دسترسی مشترک وای‌فای برای اشتراک‌گذاری دستگاه‌-به‌-دستگاه بیابند).

اگر مسئله این است، بد نیست توضیح دهیم که چه اتفاقی ممکن است بیفتد که باعث شود تمام سازوکارهای دسترسی ناکام بمانند، تا شما بتوانید تصوری از فرصت‌هایی پیدا کنید که برای دریافت محتوا با استفاده از Ceno دارید.

دسترسی به اصل

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

این مورد کاربرد اصلی برای Ceno است و سازوکارهای دیگر باید آن را جبران کنند.

دسترسی به پروکسی/انژکتور

کسی در حال ایجاد اخلال با اتصال شما به نشانی‌های اینترنتی در انبوهه‌ی injector است. از آن‌جا که با گسترش کاربرد و کشش Ceno (و Ouinet) انتظار رخ‌دادن چنین پیشامدهایی می‌رود، Ceno به دستیابی به injector از طریق سرویس‌گیرندگان دیگری پناه می‌برد که همچون پل عمل می‌کنند.

دلایل متفاوتی برای ناتوانی Cenoدر دستیابی به چنین سرویس‌گیرندگانی وجود دارند:

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

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

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

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

    یک بار دیگر، همان‌طور که Ceno و Ouinet محبوب‌تر می‌شوند، این شانس‌ها افزایش می‌یابند که دست‌کم چند سرویس‌گیرنده در میان باشند که از نوعی دسترسی به سایت‌های بین‌المللی برخوردار باشند. حتی اگر دسترسی مشروط باشد، یک سرویس‌گیرنده‌ی واحد Ouinet که قادر به inject محتوایی به‌درون کشور است برای تواناساختن آن به گسترش (روی انبار توزیع‌شده) بدون هیچ نیاز دیگر به دسترسی به جهان بیرونی کفایت خواهد کرد.

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

کش توزیع‌شده

Keep in mind that an absolute requirement to be able to retrieve any content from the distributed cache is that it has already been injected by some other Ceno or Ouinet user. This means that popular content is more likely to eventually get injected and replicated in a natural manner, while more obscure content is less so, unless someone takes care of using Ceno or some other Ouinet client to inject and keep seeding it (which may further expose them to some risks).

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

همچنین توجه کنید که سرویس‌گیرندگان دارای نسخه‌هایی از محتوای injection لازم است در دسترس شما باقی بمانند. همین ملاحظات توصیف‌شده در نکته‌ی پیشین برای دستیابی به سرویس‌گیرندگان پل در این‌جا نیز مصداق دارند.

یک یادداشت (نکته) در مورد وب‌سایت‌هایی که فقط از HTTP استفاده می‌کنند

Ceno automatically switches to the more secure HTTPS protocol to access sites which would otherwise be accessed using plain, insecure HTTP. This is done by the embedded HTTPS by default extension when you enter a bare domain name like example.com or an HTTP URL like http://example.com/… in the location bar, or when you follow a link with such a URL in a page.

تغییر خودکار به HTTPS برای جلوگیری از رهگیری اتصال HTTP و هدایت آن به یک سرور نامشروع و در نتیجه محتوای جعلی (مانند یک پیام مسدود) انجام می شود. این نوع ربایش برای شناسایی با HTTPS بی‌اهمیت است، بنابراین Ceno می تواند به جای فریب خوردن برای بارگذاری محتوای جعلی، می‌تواند کار خود را انجام دهد.

اگرچه بسیار غیرعادی است، اما برخی از وب‌سایت ها از HTTPS پشتیبانی نمی‌کنند و هیچ مکانیزم دسترسی برای آن‌ها کار نخواهد کرد. اگر کاملاً مطمئن هستید که این مورد برای وب‌سایتی است که به تازگی در Ceno بارگیری نشده است، می‌توانید URL آن را در نوارابزار ویرایش کنید، https:// را به http:// تغییر دهید و دوباره امتحان کنید.

اگر می خواهید همواره به یک وب‌سایت خاص از طریق HTTP ساده دسترسی داشته باشید، می توانید یک مورد استثنا دائمی مثل این اضافه کنید:

  1. در صفحه اصلی تنظیمات اپلیکیشن، گزینه HTTPS by default را انتخاب کنید. صفحه تنظیمات آن افزونه را خواهید دید.
  2. نام دامنه وب‌سایت را همانگونه که در پایین می‌بینید، در کادر متنی وارد کنید. در آن‌جا ببینید که چگونه می‌توان با جداسازی آن‌ها با فاصله یا خطوط جدید وارد چندین سایت شد. لطفاً توجه داشته باشید که وارد کردن example.com شامل همه وب‌سایت‌های تحت آن دامنه، مانند www.example.com یا x.y.example.com نیز می‌شود.
  3. پس از پایان کار، به عقب برگردید یا برگه را ببندید.

Figure: Adding exceptions for HTTP-only sites

Note: In the unfortunate case that a site is only accessible via HTTP, and it is also being hijacked by a censor, you will need to go to the Settings page, disable Origin access, and try again. Please note that this setting affects all sites, and it is not remembered by Ceno for subsequent runs. We encourage you to contact the site administrators and tell them to enable HTTPS support.

صفحه محتوایی جعلی (مانند یک پیغام نامربوط) را نشان می‌دهد

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

یکی از راه‌های رفع این مشکل، پاک کردن کش معمولی مرورگر Ceno با انتخاب گزینه تنظیمات Settings در منوی اصلی برنامه، سپس Clear private data و غیرفعال کردن همه کادرها به جز Cache قبل از ضربه زدن روی Clear data است.

لطفاً توجه کنید که نسخه 1.3.0 Ceno و نسخه‌های جدیدتر، از ربایش وب‌سایت‌های تازه بازدید شده با تنظیم "استفاده همیشگی از HTTPS"، همانطور که در بخش قبل توضیح داده شد، جلوگیری می‌کند.

دیگران نمی‌توانند محتوای بذرپاشی‌شده توسط دستگاه مرا بازیابی کنند

First, make sure that your device is still seeding the content by going to the Ceno Settings page, only leaving the Shared by other Ceno users source box checked, then accessing that content again: it should load (at least partially), and tapping the Ceno address bar icon should only show non-zero values under Shared by other Ceno users or Shared by you.

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

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

اگر دستگاه‌ها در شبکه‌های مختلف بودند، این می‌تواند به دلیل طیفی گوناگون از علت‌ها باشد. یکی از این علت‌ها این است که شبکه‌ی نخستین دستگاه اجازه‌ی ورود اتصال‌های ورودی را نمی‌دهد: اگر صفحه‌ی تنظیمات Ceno را باز کنید، ذیل وضعیت دسترس‌پذیری باید بگوید دسترس‌پذیر یا احتمالاً دسترس‌پذیر. در غیر این صورت بذرپاشی چه‌بسا از آن شبکه چنان‌که هست ممکن نباشد.

Technical note: If your device reports undecided reachability and you can change the configuration of the access point, you may create a permanent port forwarding rule towards your client. See here for further instructions.

پیوست: فرانت‌اند سرویس‌گیرنده‌ی Ouinet

The Ouinet client (as run by e.g. Ceno Browser) offers a front-end page with some information and actions which may be useful for debugging the client. Many of them are also offered by the Ceno Extension via the Ceno Settings page, though others are only available here.

The front-end is accessible using any plain Web browser running on the same device (you can use Ceno too). Its default address is http://127.0.0.1:8078/. If you open it, you will see something like the figure below.

Figure: The client front-end

موارد نشان‌داده‌شده در این صفحه عبارت‌اند از:

  • یک لینک برای فعال‌سازیِ سرویس‌گیرنده به‌عنوان یک مقام رسمی (CA) در مرورگرتان، چون سرویس‌گیرنده نیاز به رهگیریِ ترافیک HTTPS دارد.

    You only need this to use a plain browser for testing the Ouinet client, in which case you will also have to configure its HTTP/HTTPS proxies to 127.0.0.1:8077, and manually enable the Ceno Extension for injection to work. We very strongly recommend using a separate, specific browser profile for this purpose.

    لطفاً توجه کنید که انجام هیچ‌کدام از این کارها برای مرورگر Ceno لازم نیست، چون این مرورگر پیشاپیش به همین صورت تنظیم شده است.

  • این دکمه‌ها برای فعال‌کردن یا غیرفعال‌کردن سازوکارهای متفاوت به‌کاررفته توسط سرویس‌گیرنده برای دسترسی به محتوا به کار می‌روند.

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

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

  • اطلاعات مربوط به وضعیت و نسخه‌ی سرویس‌گیرنده‌ی جهانی. این اطلاعات در زمان گزارش ایرادها به کار می‌آیند.

  • Information about client connectivity and injector addressing. The default bep5 method looks up Internet addresses in a BitTorrent injector swarm, as explained here.

  • کلید عمومی به کار رفته برای راستی‌آزمایی امضاها از injectors در کش توزیع‌شده.

  • اطلاعاتی درباره‌ی کش محلی شما مانند حداکثر عمر محتوا، سایز تقریبی انبار، دکمه‌ای برای پالایش کامل آن، و لینکی به لیست ورودی‌های اعلام‌شده‌ی انبار.

  • دفتر راهنمای انبار ایستای بیرونی در صورت فعال‌بودن (Ceno در حال حاضر از این استفاده نمی‌کند).