diff --git a/apps/tor-socks-proxy/config.json b/apps/tor-socks-proxy/config.json new file mode 100644 index 0000000000..e66808e48d --- /dev/null +++ b/apps/tor-socks-proxy/config.json @@ -0,0 +1,17 @@ +{ + "name": "Tor Socks Proxy", + "id": "tor-socks-proxy", + "available": true, + "short_desc": "Tor Socks5 proxy server inside a Docker container", + "author": "PeterDaveHello", + "port": 9180, + "categories": ["network"], + "description": "The super easy way to set up a Tor Socks5 proxy server inside a Docker container, without Tor relay/exit node function enabled.", + "tipi_version": 1, + "version": "v1.0.0", + "source": "https://github.com/PeterDaveHello/tor-socks-proxy", + "exposable": true, + "supported_architectures": ["arm64", "amd64"], + "created_at": 1729881000000, + "updated_at": 1729881000000 + } \ No newline at end of file diff --git a/apps/tor-socks-proxy/docker-compose.yml b/apps/tor-socks-proxy/docker-compose.yml new file mode 100644 index 0000000000..7cb05bb6bd --- /dev/null +++ b/apps/tor-socks-proxy/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3.9" + +services: + tor-socks-proxy: + container_name: tor-socks-proxy + image: peterdavehello/tor-socks-proxy:latest + restart: unless-stopped + ports: + - ${APP_PORT}:9150/tcp + networks: + - tipi_main_network + \ No newline at end of file diff --git a/apps/tor-socks-proxy/metadata/description.md b/apps/tor-socks-proxy/metadata/description.md new file mode 100644 index 0000000000..693f5e2bfd --- /dev/null +++ b/apps/tor-socks-proxy/metadata/description.md @@ -0,0 +1,93 @@ +

+ +

+ +# Tor-socks-proxy + +![license](https://img.shields.io/badge/license-GPLv3.0-brightgreen.svg?style=flat) +[![Build Status](https://app.travis-ci.com/PeterDaveHello/tor-socks-proxy.svg?branch=master)](https://app.travis-ci.com/PeterDaveHello/tor-socks-proxy) +[![Docker Hub pulls](https://img.shields.io/docker/pulls/peterdavehello/tor-socks-proxy.svg)](https://hub.docker.com/r/peterdavehello/tor-socks-proxy/) + +[![Docker Hub badge](http://dockeri.co/image/peterdavehello/tor-socks-proxy)](https://hub.docker.com/r/peterdavehello/tor-socks-proxy/) + +The super easy way to set up a [Tor](https://www.torproject.org) [SOCKS5](https://en.wikipedia.org/wiki/SOCKS#SOCKS5) [proxy server](https://en.wikipedia.org/wiki/Proxy_server) inside a [Docker](https://en.wikipedia.org/wiki/Docker_(software)) [container](https://en.wikipedia.org/wiki/Container_(virtualization)), without Tor relay/exit node function enabled. + +## Docker image Repository + +We push the built image to Docker Hub and GitHub Container Registry: + +- GitHub Container Registry: + - `ghcr.io/peterdavehello/tor-socks-proxy` + - +- Docker Hub: + - `peterdavehello/tor-socks-proxy` + - + +Use the prefix `ghcr.io/` if you prefer to use GitHub Container Registry. + +## Usage + +### First-Time Setup + +```sh +docker run -d --restart=always --name tor-socks-proxy -p 127.0.0.1:9150:9150/tcp peterdavehello/tor-socks-proxy:latest +``` + +- `--restart=always`: This ensures the container automatically restarts whenever the system reboots. +- `-p 127.0.0.1:9150:9150/tcp`: This binds the container to localhost, and you should not change this IP unless you want to expose the proxy to a local network or the Internet. + - You can change the first `9150` to any available port. Please note that ports `9050`/`9150` may be occupied if you are running another Tor client like TorBrowser. + +### Start or stop an existing Instance manually + +```sh +docker start tor-socks-proxy +``` + +```sh +docker stop tor-socks-proxy +``` + +### Checking the Proxy Status and logs + +```sh +docker logs tor-socks-proxy +``` + +### Configuring a Client to Use the Proxy + +```sh +curl --socks5-hostname 127.0.0.1:9150 https://ipinfo.tw/ip +``` + +### Stopping the Proxy + +```sh +docker stop tor-socks-proxy +``` + +## IP Renewal + +By default, Tor automatically changes IPs every 10 minutes. You can manually renew the IP by restarting the container: + +```sh +docker restart tor-socks-proxy +``` + +## DNS over Tor + +Publish DNS port during setup to query DNS requests over Tor: + +```sh +docker run -d --restart=always --name tor-socks-proxy -p 127.0.0.1:9150:9150/tcp -p 127.0.0.1:53:8853/udp peterdavehello/tor-socks-proxy:latest +``` +## Sponsor + + + +This project is now sponsored by DigitalOcean, providing us with a dedicated development and testing environment. + +For cloud VPS hosting with $200 in free credit, consider using my DigitalOcean referral link: https://m.do.co/c/1fdd0a1d695a + +## Support Tor Project + +Support the Tor project by [setting up Tor bridge/exit nodes](https://trac.torproject.org/projects/tor/wiki/TorRelayGuide) and [donating](https://donate.torproject.org/). \ No newline at end of file diff --git a/apps/tor-socks-proxy/metadata/logo.jpg b/apps/tor-socks-proxy/metadata/logo.jpg new file mode 100644 index 0000000000..2147f5f1a9 Binary files /dev/null and b/apps/tor-socks-proxy/metadata/logo.jpg differ