onionshare/desktop
2020-10-14 20:42:20 -07:00
..
install 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
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
src/onionshare PySide2 datetimes use .toPython instead of .toPyDateTime 2020-10-14 20:25:49 -07:00
tests Load onionshare_cli from source tree instead of pip dependency, and start making tests work with PySide2 2020-10-14 20:17:08 -07:00
.gitignore Move docs back to root, move onionshare_gui into briefcase app, and make modifications so briefcase app will work 2020-10-13 17:28:54 -07:00
BUILD.md 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
pyproject.toml Load onionshare_cli from source tree instead of pip dependency, and start making tests work with PySide2 2020-10-14 20:17:08 -07:00
README.md Change CircleCI to run CLI tests, then GUI tests 2020-10-14 20:42:20 -07:00

OnionShare Desktop

Building OnionShare

Install platform-specific dependencies

Linux

If you're using Linux, install tor and obfs4proxy from either the official Debian repository, or from your package manager.

macOS

Windows

Prepare the code

Get the source code and change to the desktop folder:

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

OnionShare uses Briefcase.

Install Briefcase dependencies by following these instructions.

Now create and/or activate a virtual environment.

python3 -m venv venv
. venv/bin/activate

While your virtual environment is active, install briefcase from pip.

pip install briefcase

Run OnionShare from the source tree like this:

briefcase dev -d

Running tests

Install these packages inside your virtual environment:

pip install pytest pytest-briefcase pytest-faulthandler pytest-qt

Then run the tests:

./tests/run.sh

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

xvfb-run ./tests/run.sh

Making a release