diff --git a/Caddyfile b/Caddyfile index cfc5a4d..5686d52 100644 --- a/Caddyfile +++ b/Caddyfile @@ -1,10 +1,8 @@ -{$DOMAIN:localhost} { +(common) { root * /srv encode gzip - # Security headers header { - Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" X-Content-Type-Options "nosniff" X-Frame-Options "DENY" Referrer-Policy "no-referrer" @@ -12,13 +10,20 @@ Content-Security-Policy "default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self'; connect-src 'self'; form-action 'none'; frame-ancestors 'none'; base-uri 'none'" } - # Short URL rewrite: /s/CODE -> s.php?c=CODE @shorturl path_regexp short ^/s/([a-zA-Z0-9]+)$ rewrite @shorturl /s.php?c={re.short.1} - # PHP via FPM php_fastcgi 127.0.0.1:9000 - - # Static files file_server } + +# Clearnet (auto-HTTPS) +{$DOMAIN:localhost} { + import common + header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" +} + +# Tor hidden service (HTTP only, no TLS needed) +:8080 { + import common +} diff --git a/Dockerfile b/Dockerfile index 60d571c..e433b9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ COPY Caddyfile /etc/caddy/Caddyfile COPY docker-entrypoint.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/docker-entrypoint.sh -EXPOSE 80 443 +EXPOSE 80 443 8080 VOLUME ["/srv/data", "/data/caddy"] diff --git a/README.md b/README.md index 27c5b50..1173f46 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ You need a VPS with a domain pointing to it. Then: curl -sL https://xmrpay.link/install.sh | sh -s your-domain.com ``` -Done. HTTPS is automatic (via Caddy + Let's Encrypt). +Done. HTTPS is automatic (via Caddy + Let's Encrypt). A **Tor hidden service** (.onion) is included — the installer shows your onion address after setup. ### Requirements @@ -66,6 +66,9 @@ XMRPAY_IMAGE=schmidt1024/xmrpay:latest EOF docker compose pull && docker compose up -d + +# Show your onion address +docker exec xmrpay-tor cat /var/lib/tor/hidden_service/hostname ``` ### Uninstall diff --git a/docker-compose.yml b/docker-compose.yml index 7030887..f36d54f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,6 +12,29 @@ services: - xmrpay-data:/srv/data - caddy-data:/data/caddy + tor: + image: alpine:latest + container_name: xmrpay-tor + restart: unless-stopped + depends_on: + - xmrpay + entrypoint: /bin/sh + command: + - -c + - | + apk add --no-cache tor > /dev/null 2>&1 + mkdir -p /var/lib/tor/hidden_service + chmod 700 /var/lib/tor/hidden_service + cat > /etc/tor/torrc <