add documentation
This commit is contained in:
parent
40da72e855
commit
5ef7c8b852
6 changed files with 197 additions and 7 deletions
|
@ -72,7 +72,6 @@ services:
|
|||
image: luuul/4get:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- FOURGET_VERSION=6
|
||||
- FOURGET_PROTO=http
|
||||
- FOURGET_SERVER_NAME=4get.ca
|
||||
|
||||
|
@ -91,7 +90,6 @@ services:
|
|||
image: luuul/4get:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- FOURGET_VERSION=6
|
||||
- FOURGET_PROTO=https
|
||||
- FOURGET_SERVER_NAME=4get.ca
|
||||
|
||||
|
@ -117,7 +115,6 @@ services:
|
|||
image: luuul/4get:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- FOURGET_VERSION=6
|
||||
- FOURGET_PROTO=http
|
||||
- FOURGET_SERVER_NAME=4get.ca
|
||||
- FOURGET_BOT_PROTECTION=1
|
||||
|
@ -140,7 +137,6 @@ services:
|
|||
image: luuul/4get:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- FOURGET_VERSION=6
|
||||
- FOURGET_PROTO=http
|
||||
- FOURGET_SERVER_NAME=4get.ca
|
||||
|
||||
|
@ -150,3 +146,7 @@ services:
|
|||
volumes:
|
||||
- ./banners:/var/www/html/4get/banner
|
||||
```
|
||||
|
||||
##### Tor
|
||||
|
||||
You can route incoming and outgoing requests through tor by following [docker tor documentation](./docker_tor.md)
|
||||
|
|
172
docs/docker_tor.md
Normal file
172
docs/docker_tor.md
Normal file
|
@ -0,0 +1,172 @@
|
|||
#### Overview
|
||||
|
||||
This guide will walk you through using 4get in docker with tor running in
|
||||
another container. This guide covers how to make outgoing and incoming traffic
|
||||
go through tor.
|
||||
|
||||
|
||||
##### Starting tor
|
||||
|
||||
This guide will use `luuul/tor` which is a simple image that installs and starts
|
||||
tor in an alpine container SocksPort set to 0.0.0.0:9050
|
||||
|
||||
For additional configuration you can mount your own `torrc` file to `/etc/tor/torrc`
|
||||
Remember to set `SocksPort 0.0.0.0:9050` otherwise communication between containers won't work.
|
||||
|
||||
You will see this warning `Other people on the Internet might find your computer and use it as an open proxy. Please don't allow this unless you have a good reason.`
|
||||
|
||||
As long as you don't publish this port (-p or --publish) it shouldn't be accessible to outside world.
|
||||
|
||||
|
||||
Tor always starts a socks5 proxy on port 9050 by default.
|
||||
|
||||
|
||||
##### Route outgoing requests over tor
|
||||
|
||||
create a folder named `proxies` and create a file in that folder named `onion.txt`
|
||||
this folder will be mounted to `/var/www/html/4get/data/proxies/`
|
||||
|
||||
directory structure
|
||||
|
||||
```
|
||||
proxies/
|
||||
onion.txt
|
||||
```
|
||||
|
||||
put the following content into `onion.txt`
|
||||
More information about this file available in [proxy documentation](./configure.md#Proxies).
|
||||
|
||||
```
|
||||
# proxies/onion.txt
|
||||
|
||||
# Specify proxies by following this format:
|
||||
# <protocol>:<address>:<port>:<username>:<password>
|
||||
#
|
||||
# Examples:
|
||||
# https:1.3.3.7:6969:abcd:efg
|
||||
# socks4:1.2.3.4:8080::
|
||||
# raw_ip::::
|
||||
#
|
||||
# Available protocols:
|
||||
# raw_ip, http, https, socks4, socks5, socks4a, socks5_hostname
|
||||
|
||||
# Local tor proxy
|
||||
# Note: "tor" is the service name of luuul/tor in docker-compose.yaml
|
||||
socks5:tor:9050::
|
||||
```
|
||||
|
||||
create a file named `docker-compose.yaml` with the following content
|
||||
This docker compose file will run `luuul/tor` and `luuul/4get` and configure 4get to load `proxies/onion.txt` for outgoing requests.
|
||||
|
||||
```
|
||||
# docker-compose.yaml
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
tor:
|
||||
image: luuul/tor:latest
|
||||
restart: unless-stopped
|
||||
# Warning: Do not publish port 9050
|
||||
|
||||
fourget:
|
||||
image: luuul/4get:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- FOURGET_PROTO=http
|
||||
- FOURGET_SERVER_NAME=4get.ca
|
||||
- FOURGET_PROXY_DDG="onion" # loads proxies/onion.txt
|
||||
- FOURGET_PROXY_BRAVE="onion"
|
||||
- FOURGET_PROXY_FB="onion"
|
||||
- FOURGET_PROXY_GOOGLE="onion"
|
||||
- FOURGET_PROXY_QWANT="onion"
|
||||
- FOURGET_PROXY_MARGINALIA="onion"
|
||||
- FOURGET_PROXY_MOJEEK="onion"
|
||||
- FOURGET_PROXY_SC="onion"
|
||||
- FOURGET_PROXY_SPOTIFY="onion"
|
||||
- FOURGET_PROXY_WIBY="onion"
|
||||
- FOURGET_PROXY_CURLIE="onion"
|
||||
- FOURGET_PROXY_YT="onion"
|
||||
- FOURGET_PROXY_YEP="onion"
|
||||
- FOURGET_PROXY_PINTEREST="onion"
|
||||
- FOURGET_PROXY_SEZNAM="onion"
|
||||
- FOURGET_PROXY_NAVER="onion"
|
||||
- FOURGET_PROXY_GREPPR="onion"
|
||||
- FOURGET_PROXY_CROWDVIEW="onion"
|
||||
- FOURGET_PROXY_MWMBL="onion"
|
||||
- FOURGET_PROXY_FTM="onion"
|
||||
- FOURGET_PROXY_IMGUR="onion"
|
||||
- FOURGET_PROXY_YANDEX_W="onion"
|
||||
- FOURGET_PROXY_YANDEX_I="onion"
|
||||
- FOURGET_PROXY_YANDEX_V="onion"
|
||||
|
||||
ports:
|
||||
- "80:80"
|
||||
|
||||
depends_on:
|
||||
- tor
|
||||
|
||||
volumes:
|
||||
- ./proxies/:/var/www/html/4get/data/proxies/
|
||||
```
|
||||
|
||||
You can now start both containers with `docker compose up -d`
|
||||
|
||||
|
||||
#### Route incoming requests over tor
|
||||
|
||||
This will create a hidden service that will be accessible via an onion link.
|
||||
|
||||
1. create a file named `torrc` with the following content
|
||||
|
||||
```
|
||||
# torrc
|
||||
User root
|
||||
DataDirectory /var/lib/tor
|
||||
|
||||
HiddenServiceDir /var/lib/tor/4get/
|
||||
HiddenServicePort 80 fourget:80
|
||||
|
||||
```
|
||||
|
||||
2. create a folder named "4get" which will contain your hidden service keys.
|
||||
|
||||
Make sure it has permission `600` otherwise you will get an error
|
||||
|
||||
```
|
||||
Permissions on directory /var/lib/tor/4get/ are too permissive.
|
||||
```
|
||||
|
||||
4. create a `docker-compose.yaml` with the following content
|
||||
|
||||
```
|
||||
# docker-compose.yaml
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
fourget:
|
||||
image: luuul/4get:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- FOURGET_PROTO=http
|
||||
- FOURGET_SERVER_NAME=4get.ca
|
||||
|
||||
depends_on:
|
||||
- tor
|
||||
|
||||
tor:
|
||||
image: luuul/tor:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./torrc:/etc/tor/torrc
|
||||
- ./4get:/var/lib/tor/4get
|
||||
```
|
||||
|
||||
4. You can now start both with `docker compose up -d`
|
||||
|
||||
5. print onion hostname with
|
||||
|
||||
```
|
||||
docker exec `docker ps -qf ancestor=luuul/tor:latest` sh -c "cat /var/lib/tor/4get/hostname"
|
||||
```
|
||||
|
||||
or `cat ./4get/hostname`
|
Loading…
Add table
Add a link
Reference in a new issue