Simon 29d526b5fc proxy pool: spread rule34video enrichment over checked public proxies
Rework the unused ALL_PROXIES list into util/proxy_pool.rs:
- hourly sweep of the public lists, TLS-verified cloudflare trace checks,
  >=2 successes with a median under 1.5s, one proxy per exit IP; proxies
  that show our own IP are dropped, two failures in a row evict
- per-site sets checked against a site URL (rule34video: robots.txt),
  round-robin, 10-min per-site cooldown on 429/challenge pages, live
  request outcomes fed back
- started from main (PROXY_POOL=0 disables; PROXY_POOL_LISTS,
  PROXY_POOL_CONCURRENCY), /api/proxies shows its status without credentials
- wreq "socks" feature enabled: SOCKS proxies silently failed before

rule34video enrichment is back, through the pool: full detail pages
(1080p..360p formats, tags, artist), 8 concurrent, one 4s deadline per
listing; late pages keep running and land in the 2h detail cache, which
cached listings are re-merged with on every serve. No ready proxies means
no enrichment (no direct fallback). Requester::get_via sends a pooled
request with certificate checks, sharing the session's cookie jar.

Also adds an ignored live probe showing /embed/ shares the 429 limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AEp724zDpCWNaSeCrMSvjx
2026-11-05 21:59:28 +00:00
2026-05-20 18:25:46 +00:00
2026-04-11 21:45:00 +00:00
2026-05-18 16:52:25 +00:00
2025-05-31 09:28:30 +00:00
2026-06-18 11:24:09 +00:00
2026-06-25 20:53:51 +00:00
2026-06-25 20:53:51 +00:00
2026-10-17 05:11:17 +00:00
2025-06-05 18:50:28 +00:00
2026-01-13 18:13:51 +00:00
2026-08-05 14:24:11 +00:00
2025-09-29 15:15:34 +00:00
2025-07-20 07:50:10 +00:00

hottub

Rust based hottub server

the following URL:

hottub.spacemoehre.de

build it yourself

Get, Build and Host the docker image:

git clone https://gitea.spacemoehre.de/simon/hottub
sudo docker build hottub
cd hottub && cargo build --release
nano docker-compose.yml # adjust compose file
sudo docker compose up -d

Verify setup, replace the url with your setup url

curl -v http://127.0.0.1

->

*   Trying 127.0.0.1:80...
* Connected to 127.0.0.1 (127.0.0.1) port 80
> GET / HTTP/1.1
> Host: 127.0.0.1:80
> User-Agent: curl/8.5.0
> Accept: */*
> 
< HTTP/1.1 302 Found
< content-length: 0
< location: hottub://source?url=127.0.0.1:80
< date: Mon, 29 Sep 2025 14:58:15 GMT
< 
* Connection #0 to host 127.0.0.1 left intact

make sure that you get a code 302 to a hottub:// url

Update via git pull

To Update (i.e. for new supported sites) do

cd /path/to/hottub && git pull && cargo build --release && sudo docker container restart hottub
Description
Rust based hottub server
Readme 11 MiB
Languages
Rust 83%
Swift 16.2%
Python 0.8%