onionshare/desktop
2023-04-19 18:27:37 +05:30
..
onionshare Fixed desktop/scripts/get-tor.py and desktop/onionshare/widgets.py for linux64 2022-12-31 13:39:42 +01:00
package Move windows and mac build scripts into scripts folder 2022-04-03 17:20:31 -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
scripts Merge branch 'fix-builds' of github.com:onionshare/onionshare into pyside6-package 2023-04-19 18:27:37 +05:30
tests Upgraded desktop/{onionshare,tests} to PySide6 2022-10-23 14:09:56 +02:00
org.onionshare.OnionShare.appdata.xml Update obfs4proxy, meek and tor versions. Try building 32-bit snapcraft. Bump Onionshare version to 2.6.1 2022-12-11 16:08:05 +11: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 Change minimum Python version to 3.8, and update all poetry deps 2023-02-05 16:41:07 -08:00
pyproject.toml Change minimum Python version to 3.8, and update all poetry deps 2023-02-05 16:41:07 -08:00
README.md Update Windows build script to support PySide6 2023-02-08 15:28:20 -08:00
setup-freeze.py Remove code to fix obscure cx_Freeze bug 2023-02-06 20:45:38 -08:00
setup.py Update obfs4proxy, meek and tor versions. Try building 32-bit snapcraft. Bump Onionshare version to 2.6.1 2022-12-11 16:08:05 +11: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 the latest version of 3.10 from python.org. For Windows, make sure to check the box to add python to the path on the first page of the installer.

Make sure you have poetry installed:

pip3 install poetry

And install the poetry dependencies:

poetry install

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

Get Tor

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

Windows users: Download and install 7-Zip (x64) from https://7-zip.org/download.html. Add C:\Program Files\7-Zip to your path.

Download Tor Browser and extract the binaries for your platform. The platform must be win64, macos, or linux64.

poetry run python ./scripts/get-tor.py [platform]

Compile dependencies

Install Go. The simplest way to make sure everything works is to install Go by following these instructions.

Compile pluggable transports:

Windows users, in PowerShell:

.\scripts\build-pt-obfs4proxy.ps1
.\scripts\build-pt-snowflake.ps1
.\scripts\build-pt-meek.ps1

macOS and Linux users:

./scripts/build-pt-obfs4proxy.sh
./scripts/build-pt-snowflake.sh
./scripts/build-pt-meek.sh

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