diff --git a/docs/docker.md b/docs/docker.md new file mode 100644 index 00000000..f350bd3d --- /dev/null +++ b/docs/docker.md @@ -0,0 +1,28 @@ +# Running Onionr in Docker + +A Dockerfile is included in the root directory of Onionr. + +In Docker version 20.10 (and probably others), there is a strange bug where Onionr must be run with -it or stdout will be garbled and it may hang. + +## Clone and build the image + +`$ git clone https://git.voidnet.tech/kev/onionr/` +`$ cd onionr` +`$ sudo docker build -t onionr .` + + +## Run Onionr + +`$ sudo docker run -it -p 8080:8080 onionr` + +Onionr will be accessible over any network interface by default, so make sure to either change the entry point bind-address argument or set a firewall rule. + +That said, Onionr does protect it's interface by default with a web token, which will be shown in stdout. + +**However, anyone who can access the port may be able to see what Onionr sites you have saved and potentially deanonymize your node** + +## View the UI + +Visit the address and port for the machine Onionr is running on, for example: http://192.168.1.5:8080/# + +If you want a secure connection to the interface, either use a proxy such as nginx or caddy, or use [SSH tunneling](./vps-cloud-guide.md). diff --git a/docs/vps-cloud-guide.md b/docs/vps-cloud-guide.md new file mode 100644 index 00000000..ff931f46 --- /dev/null +++ b/docs/vps-cloud-guide.md @@ -0,0 +1,18 @@ +# Cloud/Server Hosting Onionr + +Cloud hosting is not the recommended way to run Onionr, as it gives the cloud provider control over your data. + +That said, it is quite useful and by running a 24/7 Onionr node you contribute to the network's health. + +![https://cock.li/img/cockbox.png](https://cockbox.org/?r=12) + +[Cockbox](https://cockbox.org/?r=12) is the recommended provider, as they do not demand personal information and accept Monero. This is an affiliate link, which gives us a commission at no expense or complication to you. + + +1. [Install Onionr like normal](./basic-onionr-user-guide.pdf) or [from Docker](./docker.md) +2. Run with specific host and port to bind to: `$ ./run-onionr-node.py --bind-address 0.0.0.0 --port 8080` +3. Get the web security token: `$ ./onionr.sh get-web` (the long string at the end of the URL) +4. [Configure Firefox for SSH tunneling](https://web.archive.org/web/20210123034529/https://gist.github.com/brentjanderson/6ed800376e53746d2d28ba7b6bdcdc12). `Set network.proxy.allow_hijacking_localhost` to true in about:config + + +Disable random host binding in config (general.security.random_bind_ip = false) if you have Onionr auto start. You may also want to disable deniable block inserts. \ No newline at end of file diff --git a/run-onionr-node.py b/run-onionr-node.py index 96fcdc72..2419c72f 100755 --- a/run-onionr-node.py +++ b/run-onionr-node.py @@ -79,8 +79,9 @@ parser.add_argument( args = parser.parse_args() -p = Popen([sub_script, 'version'], stdout=DEVNULL) +p = Popen([sub_script, 'version']) p.wait() +print("Configuring Onionr before starting daemon") from filepaths import config_file, keys_file from coredb import blockmetadb import onionrcrypto