
Self-hosting Proxyscotch the easy way
Yulei ChenProxyscotch is a lightweight CORS proxy server built by the Hoppscotch team. If you use Hoppscotch to test APIs, you've probably run into CORS issues when calling endpoints from the browser. Proxyscotch solves that by routing requests through your own proxy, bypassing browser CORS restrictions entirely.
Sliplane makes deploying Proxyscotch effortless. With one-click deployment, you get a running CORS proxy in under a minute - no server setup, no reverse proxy configuration, no infrastructure to manage.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server (If you just signed up you get a 48-hour free trial server)
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Proxyscotch preset. Here's what's included:
- Proxyscotch v0.1.4 image from Docker Hub
- Listens on port 9159 by default
- Token-based authentication via
PROXYSCOTCH_TOKENto prevent unauthorized usage - CORS origins set to
*(all origins allowed) by default - No persistent storage needed since Proxyscotch is a stateless proxy
Next steps
Once Proxyscotch is running, you can access it at the domain Sliplane provides (e.g. proxyscotch-xxxx.sliplane.app).
Connecting Hoppscotch
To use your Proxyscotch instance with Hoppscotch:
- Open Hoppscotch in your browser
- Go to Settings
- Under Proxy, select Custom and enter your Proxyscotch URL (e.g.
https://proxyscotch-xxxx.sliplane.app) - Enter the token from your
PROXYSCOTCH_TOKENenvironment variable
Now all your API requests in Hoppscotch will be routed through your own proxy.
Environment variables
You can customize Proxyscotch with these environment variables:
| Variable | Description | Default |
|---|---|---|
PROXYSCOTCH_TOKEN | Authentication token for proxy requests | (randomly generated) |
PROXYSCOTCH_ALLOWED_ORIGINS | Comma-separated list of allowed CORS origins | * |
PROXYSCOTCH_BANNED_OUTPUTS | Block responses containing certain content | (empty) |
PROXYSCOTCH_BANNED_DESTS | Block requests to certain destinations | (empty) |
Logging
Proxyscotch logs to STDOUT by default, which works well with Sliplane's built-in log viewer. For general tips on working with container logs, check out our guide on how to use Docker logs.
Troubleshooting
If requests are failing through the proxy, check these common issues:
- 401 Unauthorized: Make sure the token in your Hoppscotch settings matches the
PROXYSCOTCH_TOKENenvironment variable - CORS errors still showing: Verify that the origin you're calling from is allowed in
PROXYSCOTCH_ALLOWED_ORIGINS - Connection refused: Confirm the service is healthy in the Sliplane dashboard
Cost comparison
You can also self-host Proxyscotch with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU | RAM | Disk | Monthly Cost | Note |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flat rate, 1 TB bandwidth, SSL included |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk and bandwidth billed separately |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB bandwidth, Disk billed separately |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 plan | Pro plan floor, usage-based, bandwidth billed separately |
Click here to see how these numbers were calculated.
(Assuming an always-on instance running 730 hrs/month)
- Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
- Fly.io:
shared-cpu-2x2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU). - Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
- Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.
Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.
FAQ
What is Proxyscotch used for?
Proxyscotch acts as a CORS proxy, allowing browser-based API clients like Hoppscotch to send requests to APIs that would otherwise be blocked by the browser's same-origin policy. It's especially useful for testing third-party APIs that don't set permissive CORS headers.
How do I restrict which origins can use my proxy?
Set the PROXYSCOTCH_ALLOWED_ORIGINS environment variable to a comma-separated list of allowed origins (e.g. https://hoppscotch.io,https://myapp.com). By default, it allows all origins (*).
How do I update Proxyscotch?
Change the image tag in your service settings on Sliplane and redeploy. Check Docker Hub for the latest stable version.
Can I use Proxyscotch without Hoppscotch?
Yes. Proxyscotch is a standalone CORS proxy that works with any HTTP client. You just need to send your requests through it with the correct authentication token. It's not limited to Hoppscotch.
Is Proxyscotch secure?
Proxyscotch supports token-based authentication, so only users with the correct PROXYSCOTCH_TOKEN can use your proxy. You can further lock it down by setting PROXYSCOTCH_ALLOWED_ORIGINS to specific domains and using PROXYSCOTCH_BANNED_DESTS to block requests to sensitive internal endpoints.