A serverless proxy for Deno Deploy that allows you to proxy requests to any URL.
- Go to Deno Deploy Dashboard
- Select "Deploy from GitHub" or "Deploy from local"
- Choose this repository or upload the
main.tsfile - Deployment will run automatically
# Install Deno Deploy CLI (deployctl)
deno install --allow-read --allow-write --allow-env --allow-net --allow-run --no-check -r -f https://deno.land/x/deploy/deployctl.ts
# Deploy to Deno Deploy
deployctl deploy --project=your-project-name main.tsAfter deployment, you can access the proxy with this format:
https://your-project-name.deno.dev/[TARGET_URL]
Proxy a website:
https://quiet-wasp-17.deno.dev/https://example.com
Proxy an API:
https://quiet-wasp-17.deno.dev/https://api.github.com/users/denoland
With query parameters:
https://quiet-wasp-17.deno.dev/https://api.example.com/data?param=value&key=123
- ✅ Supports all HTTP methods (GET, POST, PUT, DELETE, etc.)
- ✅ Forwards headers and request body
- ✅ Supports query parameters
- ✅ CORS enabled by default
- ✅ Proper error handling
- ✅ Simple "Hello World" homepage
Run the server locally for testing:
# Using Deno task
deno task dev
# Or directly
deno run --allow-net --allow-env main.tsThen access:
http://localhost:8000/https://example.com
This proxy is open and can access any URL. For production use:
- Consider adding authentication
- Implement rate limiting
- Create a whitelist of allowed domains
- Monitor usage to prevent abuse
GET Request:
curl https://quiet-wasp-17.deno.dev/https://api.github.com/zenPOST Request:
curl -X POST https://quiet-wasp-17.deno.dev/https://httpbin.org/post \
-H "Content-Type: application/json" \
-d '{"key":"value"}'You can modify main.ts to:
- Add authentication
- Restrict allowed domains
- Add caching
- Log requests
- Implement rate limiting
MIT