Finished first draft of all features docs
@ -15,3 +15,7 @@
|
|||||||
.wy-nav-content a:hover {
|
.wy-nav-content a:hover {
|
||||||
color: #3091d1;
|
color: #3091d1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wy-nav-content div[role=navigation] {
|
||||||
|
display: none;
|
||||||
|
}
|
BIN
docs/source/_static/screenshots/chat-sharing.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
docs/source/_static/screenshots/chat-torbrowser.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/source/_static/screenshots/chat.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
docs/source/_static/screenshots/receive-sharing.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
docs/source/_static/screenshots/receive-torbrowser.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
docs/source/_static/screenshots/receive.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
docs/source/_static/screenshots/website-files.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
docs/source/_static/screenshots/website.png
Normal file
After Width: | Height: | Size: 45 KiB |
@ -1,9 +1,13 @@
|
|||||||
Advanced Usage
|
Advanced Usage
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
.. _save_tabs:
|
||||||
|
|
||||||
Save Tabs
|
Save Tabs
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
.. _disable_passwords:
|
||||||
|
|
||||||
Disable Passwords
|
Disable Passwords
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ exclude_patterns = []
|
|||||||
html_theme = "sphinx_rtd_theme"
|
html_theme = "sphinx_rtd_theme"
|
||||||
html_logo = "_static/logo.png"
|
html_logo = "_static/logo.png"
|
||||||
html_favicon = "_static/favicon.ico"
|
html_favicon = "_static/favicon.ico"
|
||||||
html_theme_options = {}
|
html_theme_options = {"logo_only": True}
|
||||||
html_static_path = ["_static"]
|
html_static_path = ["_static"]
|
||||||
html_css_files = ["custom.css"]
|
html_css_files = ["custom.css"]
|
||||||
html_show_sourcelink = False
|
html_show_sourcelink = False
|
||||||
|
@ -7,11 +7,9 @@ By default, OnionShare web addresses are protected with a random password. A typ
|
|||||||
|
|
||||||
http://onionshare:constrict-purity@by4im3ir5nsvygprmjq74xwplrkdgt44qmeapxawwikxacmr3dqzyjad.onion
|
http://onionshare:constrict-purity@by4im3ir5nsvygprmjq74xwplrkdgt44qmeapxawwikxacmr3dqzyjad.onion
|
||||||
|
|
||||||
In this case, the Tor onion address is ``by4im3ir5nsvygprmjq74xwplrkdgt44qmeapxawwikxacmr3dqzyjad.onion`` -- this is random, and each time you use OnionShare you'll get a different onion address. The username is always ``onionshare`` and the random password is ``constrict-purity``.
|
You're responsible for securely sharing that URL using a communication channel of your choice like in an encrypted chat message, or using something less secure like a Twitter or Facebook message, depending on your `threat model <https://ssd.eff.org/en/module/your-security-plan>`_.
|
||||||
|
|
||||||
You're responsible for securely sharing that URL using a communication channel of their choice such as in an encrypted chat message, or using something less secure like a Twitter or Facebook message, depending on their `threat model <https://ssd.eff.org/en/module/your-security-plan>`_.
|
The people who you send the URL to must then copy and paste it into `Tor Browser <https://www.torproject.org/>`_ to access the OnionShare service.
|
||||||
|
|
||||||
The people who you send the URL to must then copy and paste it into `Tor Browser <https://www.torproject.org/>`_ (a privacy-protecting anonymous web browser) to access the OnionShare service.
|
|
||||||
|
|
||||||
With OnionShare, *your own computer is the web server*. If you run OnionShare on your laptop to send someone files, and then suspends your laptop before the files have been downloaded, the service will not be available until your laptop is unsuspended and connected to the internet again. OnionShare works best when working with people in real-time.
|
With OnionShare, *your own computer is the web server*. If you run OnionShare on your laptop to send someone files, and then suspends your laptop before the files have been downloaded, the service will not be available until your laptop is unsuspended and connected to the internet again. OnionShare works best when working with people in real-time.
|
||||||
|
|
||||||
@ -20,11 +18,11 @@ Because your own computer is the web server, *no third party can access anything
|
|||||||
Share Files
|
Share Files
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
You can use OnionShare to securely and anonymously send files and folders to people. Just open OnionShare, drag in the files and folders you wish to share, and click "Start sharing".
|
You can use OnionShare to securely and anonymously send files and folders to people. Just open a share tab, drag in the files and folders you wish to share, and click "Start sharing".
|
||||||
|
|
||||||
.. image:: _static/screenshots/share.png
|
.. image:: _static/screenshots/share.png
|
||||||
|
|
||||||
After you add files, you'll see some settings. You can change these settings before you start sharing, but not after, so make sure you choose the setting you're interested in first.
|
After you add files, you'll see some settings. Make sure you choose the setting you're interested in first before you start sharing.
|
||||||
|
|
||||||
.. image:: _static/screenshots/share-files.png
|
.. image:: _static/screenshots/share-files.png
|
||||||
|
|
||||||
@ -36,19 +34,113 @@ When you're ready to share, click the "Start sharing" button. You can always cli
|
|||||||
|
|
||||||
.. image:: _static/screenshots/share-sharing.png
|
.. image:: _static/screenshots/share-sharing.png
|
||||||
|
|
||||||
Now that you have a website that's sharing files, copy the address and send it to the person you want to receive the files. If the files need to stay secure, you should use an encrypted messaging app. That person then must load the address in Tor Browser. After logging in with the random password that's included in the web address, they will be able to download the files directly from your computer.
|
Now that you have a website that's sharing files, copy the address and send it to the person you want to receive the files. If the files need to stay secure, you should use an encrypted messaging app.
|
||||||
|
|
||||||
|
That person then must load the address in Tor Browser. After logging in with the random password that's included in the web address, they will be able to download the files directly from your computer by clicking the "Download Files" link in the corner.
|
||||||
|
|
||||||
.. image:: _static/screenshots/share-torbrowser.png
|
.. image:: _static/screenshots/share-torbrowser.png
|
||||||
|
|
||||||
Receive Files
|
Receive Files
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
You can use OnionShare to let people anonymously upload files directly to your computer, essentially turning it into an anonymous dropbox. Open a receive tab, choose where you want files to get downloaded and other settings, and then click "Start Receive Mode".
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/receive.png
|
||||||
|
|
||||||
|
This will start the OnionShare service. Anyone that loads this address in Tor Browser will be able to upload files to your computer.
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/receive-sharing.png
|
||||||
|
|
||||||
|
You can also click the down arrow icon in the top-right corner to show the history and progress of people sending files to you.
|
||||||
|
|
||||||
|
Here is what it looks like for someone sending you files.
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/receive-torbrowser.png
|
||||||
|
|
||||||
|
When someone uploads files to your receive service, by default they get saved to a folder called ``OnionShare`` in your home folder on your computer, and they get automatically organized into separate subfolders based on the time that the files get uploaded.
|
||||||
|
|
||||||
|
Setting up an OnionShare receiving service is useful for journalists and others that need to securely accept documents from anonymous sources. When used in this way, OnionShare is sort of like a lightweight, simpler, not quite as secure version of `SecureDrop <https://securedrop.org/>`_, the whistleblower submission system.
|
||||||
|
|
||||||
|
Use at your own risk
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Just like with malicious email attachments, it's possible that someone could try to hack your computer by uploading a malicious file to your OnionShare service. OnionShare does not add any safety mechanisms to protect your system from malicious files, so use at your own risk.
|
||||||
|
|
||||||
|
If you receive an Office document or a PDF through OnionShare, you can convert these documents into PDFs that you know are safe to open using `Dangerzone <https://dangerzone.rocks/>`_. You can also protect yourself when opening untrusted documents by opening them in `Tails <https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ disposable VM.
|
||||||
|
|
||||||
|
Tips for running a receive service
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you want to host your own anonymous dropbox using OnionShare, it's recommended that you do it on a separate, dedicated computer that's always powered on and connected to the internet, and not on the one you use on a regular basis.
|
||||||
|
|
||||||
|
If you intend on advertising the OnionShare address on your website or social media profiles, then you should save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`disable_passwords`).
|
||||||
|
|
||||||
Host a Website
|
Host a Website
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
You can use OnionShare to host a static HTML website with just a click. Just open a website tab, drag in the files and folders that make up the static website, and click when you're ready click "Start sharing".
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/website.png
|
||||||
|
|
||||||
|
If you add an ``index.html`` file, when someone loads your website it will render this page. You should also include any other HTML files, CSS files, JavaScript files, and images that make up the website. (Note that OnionShare only supports hosting *static* websites. It can't host websites that execute code or use databases. So you can't, for example, use WordPress.)
|
||||||
|
|
||||||
|
If you don't have an ``index.html`` file, then it will show a directory listing instead, and people who load it can look through the files and download them.
|
||||||
|
|
||||||
|
After you add files, you'll see some settings. Make sure you choose the setting you're interested in first before you start sharing.
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/website-files.png
|
||||||
|
|
||||||
|
Content Security Policy
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
By default OnionShare will help secure your website by setting a strict `Content Security Police <https://en.wikipedia.org/wiki/Content_Security_Policy>`_ header. However this will prevent third-party content from loading inside the web page.
|
||||||
|
|
||||||
|
If you want to load content from third-party websites, like assets or JavaScript libraries from CDNs, then you must check the "Disable Content Security Policy header (allows your website to use third-party resources)" box before starting the service.
|
||||||
|
|
||||||
|
Tips for running a website service
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you want to host a long-term website using OnionShare (that isn't just to quickly show someone something), it's recommended that you do it on a separate, dedicated computer that's always powered on and connected to the internet, and not on the one you use on a regular basis. You should also save the tab (see :ref:`save_tabs`) so that you can resume the website with the same address if you close OnionShare and re-open it later.
|
||||||
|
|
||||||
|
If your website is intended to be viewed by the public, you should run it as a public service (see :ref:`disable_passwords`).
|
||||||
|
|
||||||
Chat Anonymously
|
Chat Anonymously
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
|
You can use OnionShare to set up a completely anonymous, secure chat room that doesn't log anything or leave any traces. Just open a chat tab and click "Start chat server".
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/chat.png
|
||||||
|
|
||||||
|
After you start the server, copy the OnionShare address and send it to the people who will join this anonymous chat room. If it's important to limit exactly who can join, you should use an encrypted messaging app to send the OnionShare address.
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/chat-sharing.png
|
||||||
|
|
||||||
|
People can join the chat room by loading its OnionShare address in Tor Browser. The chat room requires JavasScript, so everyone who wants to participate must set their security level to Standard or Safer instead of Safest.
|
||||||
|
|
||||||
|
When someone joins the chat room they get assigned a random name which they can change in the left panel if they want. No chat history will get displayed at all, even if others were already chatting in the room, because the chat history isn't saved anywhere.
|
||||||
|
|
||||||
|
.. image:: _static/screenshots/chat-torbrowser.png
|
||||||
|
|
||||||
|
In an OnionShare chat room, everyone is anonymous. Anyone can change their name to anything, and there is no way to confirm anyone's identity.
|
||||||
|
|
||||||
|
However, if you create an OnionShare chat room and securely send the address only to a small group of trusted friends using encrypted messages, then you can be reasonably confident that the people who join the chat room are your friends.
|
||||||
|
|
||||||
|
How is this useful?
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you need to already be using an encrypted messaging app, what's the point of an OnionShare chat room to begin with? It leaves less traces.
|
||||||
|
|
||||||
|
If you send a message to a Signal group, for example, a copy of your message ends up on each device (the phones and computers, if they set up Signal Desktop) of each member of the group. Even if disappearing messages is enabled, it's hard to confirm that all copies of the messages were actually deleted from all devices, and from any other places (like notifications databases) they may have been saved to. OnionShare chat rooms don't store any messages anywhere, so this isn't a problem.
|
||||||
|
|
||||||
|
OnionShare chat rooms can also be useful for anonymous people wanting to chat securely with someone without needing to create any accounts. For example, a source can send an OnionShare address to a journalist using a disposable email address, and then wait for the journalist to join the chat room, all without compromosing their anonymity.
|
||||||
|
|
||||||
|
How does the encryption work?
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Because OnionShare relies on Tor onion services, connections between Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When someone posts a message to an OnionShare chat room, they send it to the server through the E2EE onion connection, which then sends it to all other members of the chat room using WebSockets, through their E2EE onion connections.
|
||||||
|
|
||||||
|
OnionShare doesn't implement any chat encryption on its own. It relies on the Tor onion service's encryption instead.
|
||||||
|
|
||||||
Connecting to Tor
|
Connecting to Tor
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|