Spaces:
Sleeping
Home Proxy Panel β give the Space your home IP
The TutorialMaker Space can't fetch transcripts or stream URLs from its datacenter IP
(YouTube blocks it). This tool runs a small authenticated HTTP proxy on your computer
(your home/residential IP) and exposes it through a raw TCP tunnel, then sets it as the
Space's YT_PROXY secret. The Space's YouTube requests then exit from your IP and
stop getting blocked.
Why a TCP tunnel (not Cloudflare/Tailscale): a forward proxy speaks HTTP
CONNECT, which only survives a transparent TCP tunnel. HTTP reverse tunnels (Cloudflare quick-tunnel, Tailscale Funnel) cannot carry it β use ngrok TCP or bore.
1. Install the Python deps
pip install -r tools/requirements.txt
2. Install a tunnel (pick ONE)
Option A β ngrok (more reliable, free account):
- Sign up at https://ngrok.com (free).
- Install the ngrok agent and put
ngrokon your PATH (https://ngrok.com/download). - Copy your authtoken from the ngrok dashboard β you'll paste it into the panel.
Option B β bore (no account, less reliable):
- Download
bore.exefrom https://github.com/ekzhang/bore/releases and put it on your PATH (or in this folder). - That's it β it uses the shared public
bore.pubserver.
3. Launch the panel
python tools/home_proxy_panel.py
4. Use it (in order)
- Proxy port / user / password are pre-filled (a random password is generated). Keep the password β it protects your public proxy from being used by strangers.
- Pick the Tunnel provider (
ngrok,bore, ormanual). For ngrok, paste your authtoken. - Click Start proxy β it runs
proxy.pyon127.0.0.1:<port>. - Click Start tunnel β the Public endpoint field fills in
(
x.tcp.ngrok.io:NNNNorbore.pub:NNNN) and the YT_PROXY URL is computed. - Click Test proxy β in the log, the egress IP should be your home IP and YouTube should be reachable. If so, the proxy works.
- Click Set YT_PROXY on Space β it writes the
YT_PROXYsecret to your Space (auto-detecting your HF token, or paste one). The Space restarts and picks it up.- Or click Copy YT_PROXY URL and paste it into the Space's secret manually.
5. Verify on the Space
Run a topic on the Space. The transcript and screenshot steps should now succeed instead of failing with an SSL/TLS block.
Keep it running
The proxy + tunnel must stay running on your machine while the Space is in use. Close the
panel (or Stop proxy/Stop tunnel) when you're done β the YT_PROXY secret will then
point at a dead endpoint until you start it again (the Space falls back to text-only / a
clear error).
Security notes
- The proxy is public while tunneled, so it requires the username/password β keep them non-trivial (use New password to rotate). Without the right credentials nobody can use your proxy.
- This routes YouTube traffic through your home connection and consumes your bandwidth.
- Stop the tunnel when not needed; rotate the password periodically.
Manual endpoint (router port-forward / other tunnel)
If you forward a router port (and you're not behind CGNAT) or use another raw-TCP
tunnel, choose provider manual and enter the public host:port. The panel will
build the YT_PROXY URL and can set the secret + test it.
Troubleshooting
proxy.pynot found βpip install proxy.py.- ngrok: no tcp tunnel β ensure the authtoken is set; free TCP tunnels are supported but only one at a time β close other ngrok agents.
- Test egress IP is not your home IP β the tunnel/proxy chain is wrong; restart both.
- YouTube still blocked on the Space β confirm the secret value matches the panel's
YT_PROXY URL exactly (including
user:pass@), and that the panel is still running.