onionshare/desktop
Saptak Sengupta a998a327af
Merge pull request #1563 from mig5/tab_shortcuts_and_accessible_main_page
Add shortcuts for modes and new/close tab. Set accessible string for modes on mode chooser
2022-04-28 00:45:39 +05:30
..
onionshare Merge pull request #1563 from mig5/tab_shortcuts_and_accessible_main_page 2022-04-28 00:45:39 +05:30
package Codesign .dylib files too, and properly delete unused PySide2 files 2022-01-16 13:25:05 -08:00
screenshots Add onionshare CLI to cli folder, move GUI to desktop folder, and start refactoring it to work with briefcase 2020-10-12 22:40:55 -07:00
scripts Updates the repository to download the flags from to include all flags 2022-03-31 18:20:29 +05:30
tests Remove useless CLI stuff from GUI tests, and refactor so that qtapp is a singleton and all tests can be run at once 2022-03-06 14:26:51 -08:00
org.onionshare.OnionShare.appdata.xml Update release docs, and fix screenshot link in appdata 2022-01-17 10:34:11 -08:00
org.onionshare.OnionShare.desktop Move the rest of the desktop files out of the src folder 2021-12-19 17:33:00 -08:00
org.onionshare.OnionShare.svg Move the rest of the desktop files out of the src folder 2021-12-19 17:33:00 -08:00
poetry.lock Update flask to 2.0.3, flask-socketio to 5.1.1, update socketio js, and the rest of the pip deps 2022-03-06 11:35:01 -08:00
pyproject.toml Update flask to 2.0.3, flask-socketio to 5.1.1, update socketio js, and the rest of the pip deps 2022-03-06 11:35:01 -08:00
README.md Fix built-in bridge detection, and update built-in bridges. Also update README after setting up Windows dev environment 2022-03-27 12:44:41 -07:00
setup-freeze.py Update copyright year to 2022 2022-01-16 16:15:49 -08:00
setup.py Make snapcraft work 2022-01-17 12:56:39 -08:00

OnionShare Desktop

Building OnionShare

Start by getting the source code and changing to the desktop folder:

git clone https://github.com/onionshare/onionshare.git
cd onionshare/desktop

Make sure you have Python 3 installed. If you're using Windows or macOS, install version 3.9.9 from python.org. For Windows, make sure to install the 32-bit (x86) version, and to check the box to add python to the path on the first page of the installer.

Make sure you have poetry installed, and then install the dependencies:

poetry install

In Windows, you may need to install Microsoft C++ Build Tools, making sure to check "Desktop development with C++", before poetry install will work properly.

Install platform-specific dependencies

Linux

In Ubuntu 20.04 you need the libxcb-xinerama0 package installed.

Download Tor Browser and extract the binaries:

poetry run ./scripts/get-tor-linux.py

macOS

Download Tor Browser and extract the binaries:

poetry run ./scripts/get-tor-osx.py

Windows

These instructions include adding folders to the path in Windows. To do this, go to Start and type "advanced system settings", and open "View advanced system settings" in the Control Panel. Click Environment Variables. Under "System variables" double-click on Path. From there you can add and remove folders that are available in the PATH.

Download and install 7-Zip from https://7-zip.org/download.html. I downloaded 7z1900.exe. Add C:\Program Files (x86)\7-Zip to your path.

Download Tor Browser and extract the binaries:

poetry run python scripts\get-tor-windows.py

Compile dependencies

Install Go. The simplest way to make sure everything works is to install Go by following these instructions. (In Windows, make sure to install the 32-bit version of Go, such as go1.17.5.windows-386.msi.)

Download and compile meek-client:

./scripts/build-meek-client.py

Or in Windows:

python .\scripts\build-meek-client.py

Running OnionShare from the source code tree

To run OnionShare from the source tree:

poetry run onionshare
poetry run onionshare --help
poetry run onionshare -v
poetry run onionshare -v --local-only

You can also run onionshare-cli from the source tree, and it will look for Tor binaries in desktop/onionshare/resources/tor.

poetry run onionshare-cli --help

Running tests

Run the tests:

poetry run ./tests/run.sh

If you want to run tests while hiding the GUI, you must have the xvfb package installed, and then:

xvfb-run poetry run ./tests/run.sh