2020-10-13 20:28:54 -04: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 ](https://support.torproject.org/apt/tor-deb-repo/ ), or from your package manager.
#### macOS
#### Windows
### Prepare the code
Get the source code and change to the `desktop` folder:
```sh
git clone https://github.com/micahflee/onionshare.git
cd onionshare/desktop
```
OnionShare uses [Briefcase ](https://briefcase.readthedocs.io/en/latest/ ).
Install Briefcase dependencies by following [these instructions ](https://docs.beeware.org/en/latest/tutorial/tutorial-0.html#install-dependencies ).
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:
```
2020-10-14 22:22:39 -04:00
briefcase dev -d
2020-10-13 20:28:54 -04:00
```
## Running tests
Install these packages inside your virtual environment:
```sh
pip install pytest pytest-briefcase pytest-faulthandler pytest-qt
```
Then run the tests:
```sh
./tests/run.sh
```
2020-10-14 23:42:20 -04:00
If you want to run tests while hiding the GUI, you must have the `xvfb` package installed, and then:
2020-10-14 23:17:08 -04:00
```sh
xvfb-run ./tests/run.sh
```
2020-10-13 20:28:54 -04:00
## Making a release