Skip to content

Commit

Permalink
Merge pull request #2 from ralphwetzel/devel
Browse files Browse the repository at this point in the history
This is 20.1
  • Loading branch information
ralphwetzel authored Jan 12, 2020
2 parents 72f841a + 47ed25d commit 49ddba4
Show file tree
Hide file tree
Showing 27 changed files with 2,649 additions and 1 deletion.
33 changes: 33 additions & 0 deletions .github/workflows/installer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Create Installer for The Onion Pack

on:
release:
types: [published]

jobs:
build:

runs-on: windows-latest

steps:
- uses: actions/checkout@master

- uses: actions/setup-python@v1
with:
python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified

- name: Run setup.py to create sdist
run: python setup.py sdist --dist-dir installer

- name: Run Inno Compiler
run: iscc "installer\theonionpack.iss" "/Dtheonionpack=."

- name: Upload files to a GitHub release
uses: svenstaro/upload-release-action@1.0.1
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: installer\Output\TheOnionPack.exe
asset_name: TheOnionPack.exe
tag: ${{ github.ref }}
overwrite: true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/theonionpack.egg-info/
/installer/Output
/dist
8 changes: 8 additions & 0 deletions INDEPENDENCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Statement of Independence

The Onion Pack
Copyright (c) 2019 - 2020 Ralph Wetzel

This product is produced independently from the Tor(R) anonymity software and
carries no guarantee from The Tor Project about quality, suitability or anything
else.
24 changes: 24 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
The MIT License (MIT)

The Onion Pack
Copyright (c) 2019 - 2020 Ralph Wetzel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

91 changes: 90 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,91 @@
# The Onion Pack
Tor Relay Bundle for Windows
This is The Onion Pack, a **Tor Relay Bundle** for Windows.
It allows you to install everything you need to run a Tor relay (or a Tor bridge) on your Windows computer system & offers you a smart interface to monitor and control your relay.

> **Statement of Independence**
> This product is produced independently from the Tor(R) anonymity software and
carries no guarantee from [The Tor Project](www.torproject.org) about quality, suitability or anything
else.

## Installation
To install The Onion Pack on your Windows computer, download & run [TheOnionPack.exe](https://github.com/ralphwetzel/theonionpack/releases/latest) , its installation programm.

This installation program is going to perform a number of tasks:

* Locate, download & install the latest Tor *Windows Expert Bundle* from the official sources at [torproject.org](https://www.torproject.org/download/tor/).
* Download & install a version of *Embeddable Python* from the official sources at [python.org](https://www.python.org/downloads/windows/).
* Setup an appropriate Python environment.
* Download & install [The Onion Box](http://www.theonionbox.com) (Dashboard to monitor Tor node operations) from the [Python Package Index](https://pypi.org/project/theonionbox/).

and finally

* Install The Onion Pack - a python script to control the Tor relay as well as The Onion Box.

## Additional Activities to be performed prior Operation
There's - usually - one additional activity necessary to finish the setup of The Onion Pack & your new personal Tor relay: You need to tell your router / firewall to forward at least one port to your local Windows system:

Tor - if operated as a relay or bridge - expects that clients can connect to its *ORPort*. If this port is not reachable from the voids of the internet, the relay will not announce it's presence - thus will not be of any use. Therefore you have to ensure that connections can be established to this *ORPort*.

The default value for the *ORPort* of any Tor relay is **9001**. You may alter this via *torrc*.

## Operation
When you run The Onion Pack, it launches your Tor relay - setup according to the configuration you defined - and The Onion Box. If both actions have been performed successfully, The Onion Pack puts an icon into the tray of your desktop.

![image](documentation/toptray.png)

This icon provides a context menu ... to monitor your Tor relay and to control it:


![image](documentation/topcontextmenu.png)


| Tray Menu Command | Action |
|---|---|
| **Monitor...** | Open The Onion Box, the dashboard to monitor your relay. Default (right click) action.
| Relay Control |
| Edit configuration file... | Opens *torrc*, the configuration file of your relay. You may edit & save this file to change the setup of your Tor relay.
| Show logfile... | Show the log messages of your Tor relay. This might be useful in case of trouble!
| Reload relay configuration...| If you've edited *torrc* to modify the configuration definition of your relay, you need to reload this configuration into the relay.
| Stop! | Terminate The Onion Pack

## First Steps
By intension the Tor instance **initially** installed by The Onion Pack is **not operating in relay mode** - yet as a Tor client.
If you deliberately decide to establish a relay, edit the configuration file: **Tray menu > Relay Control > Edit configuration file...**
This will open an editor window - showing an empty file.

Prerequisite to become a relay is the definition of an [*ORPort*](https://2019.www.torproject.org/docs/tor-manual.html.en#ORPort) :
```
ORPort 9001
```
> Remember to define the port number in accordance to your port forwarding settings established at your router!
Additionally you should at least give a name to your relay and define the [*ContactInfo*](https://2019.www.torproject.org/docs/tor-manual.html.en#ContactInfo) parameter.

```
ORPort 9001
Nickname myRelay
ContactInfo mail at mymail dot com
```

As it is explicitely discouraged to run an Exit Relay on any computer system at home, you should - equally explicit - express your request to disable the exit functionality:

```
ORPort 9001
Nickname myRelay
ContactInfo mail at mymail dot com
ExitRelay 0
```

> Please make yourself familiar with the official documentation at [torproject.org](www.torproject.org), especially the [Tor Manual](https://2019.www.torproject.org/docs/tor-manual.html.en), to understand the capabilities of a Tor relay and the power of all its configuration parameters!
You may & should define further configuration parameters ... and if done, save the modified *torrc*.

To enable this configuration, you need to tell your Tor node to reload it's configuration file: **Tray menu > Relay Control > Reload relay configuration**

Afterwards you may either check the logfile of your relay ( **Tray menu > Relay control > Show logfile...** ) or open the dashboard to monitor your relay: **Tray menu > Monitor...**

Have fun!


## Thank you
I'd like to express my humble respect to @jordanrussel and @martjinlaan for their dedication to [Inno Setup](http://www.jrsoftware.org/isinfo.php). This is an amazing piece of software providing endless opportunities to create powerfull installers. Thanks a lot for your efforts to maintain this gem in code over years, offering it's brilliant capabilities to the community.
Binary file added documentation/topcontextmenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/toptray.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions installer/IDP_1.5.1/COPYING.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Copyright (c) 2013-2015 Mitrich Software

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.
Binary file added installer/IDP_1.5.1/ansi/idp.dll
Binary file not shown.
42 changes: 42 additions & 0 deletions installer/IDP_1.5.1/ansi/idplang/default.iss
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[CustomMessages]
IDP_FormCaption =Downloading additional files
IDP_FormDescription =Please wait while Setup is downloading additional files...
IDP_TotalProgress =Total progress
IDP_CurrentFile =Current file
IDP_File =File:
IDP_Speed =Speed:
IDP_Status =Status:
IDP_ElapsedTime =Elapsed time:
IDP_RemainingTime =Remaining time:
IDP_DetailsButton =Details
IDP_HideButton =Hide
IDP_RetryButton =Retry
IDP_IgnoreButton =Ignore
IDP_KBs =KB/s
IDP_MBs =MB/s
IDP_X_of_X =%.2f of %.2f
IDP_KB =KB
IDP_MB =MB
IDP_GB =GB
IDP_Initializing =Initializing...
IDP_GettingFileInformation=Getting file information...
IDP_StartingDownload =Starting download...
IDP_Connecting =Connecting...
IDP_Downloading =Downloading...
IDP_DownloadComplete =Download complete
IDP_DownloadFailed =Download failed
IDP_CannotConnect =Cannot connect
IDP_CancellingDownload =Cancelling download...
IDP_Unknown =Unknown
IDP_DownloadCancelled =Download cancelled
IDP_RetryNext =Check your connection and click 'Retry' to try downloading the files again, or click 'Next' to continue installing anyway.
IDP_RetryCancel =Check your connection and click 'Retry' to try downloading the files again, or click 'Cancel' to terminate setup.
IDP_FilesNotDownloaded =The following files were not downloaded:
IDP_HTTPError_X =HTTP error %d
IDP_400 =Bad request (400)
IDP_401 =Access denied (401)
IDP_404 =File not found (404)
IDP_407 =Proxy authentication required (407)
IDP_500 =Server internal error (500)
IDP_502 =Bad gateway (502)
IDP_503 =Service temporaily unavailable (503)
Loading

0 comments on commit 49ddba4

Please sign in to comment.