A powerful API proxy server that bypasses CORS restrictions and enables flexible request customization with headers, parameters, and authentication.
🌐 Live Demo: https://proxy-forwarding-silk.vercel.app
- 🔄 Full HTTP Method Support: GET, POST, PUT, PATCH, DELETE
- 🔐 Advanced Authentication: Basic Auth and Bearer Token built-in
- 🌐 CORS Bypass: Access any API endpoint without cross-origin restrictions
- 📋 Request Customization: Headers, query parameters, and body content
- 🔒 Secure Encoding: Base64URL parameter encoding for reliable transmission
- 🌙 Dark Mode Interface: Modern UI with automatic dark theme
- 📱 Fully Responsive: Optimized for all device sizes
- ⚡ High Performance: Built on Next.js for optimal speed
https://proxy-forwarding-silk.vercel.app/api/{method}?data={encodedData}
Where:
{method}is one of:get,post,put,delete,patch{encodedData}is your base64url-encoded request configuration
The data parameter accepts a base64url-encoded JSON object with this structure:
{
"url": "https://target-api.com/endpoint",
"headers": {
"Authorization": "Bearer your-token",
"Content-Type": "application/json"
},
"params": {
"filter": "active",
"limit": "100"
},
"body": "{\"key\":\"value\"}"
}function encodeProxyRequest(config) {
return btoa(JSON.stringify(config))
.replace(/\+/g, "-")
.replace(/\//g, "_")
.replace(/=+$/, "");
}// Target: https://api.example.com/users
const config = {
url: "https://api.example.com/users"
};
const encodedData = encodeProxyRequest(config);
const proxyUrl = `https://proxy-forwarding-silk.vercel.app/api/get?data=${encodedData}`;
fetch(proxyUrl)
.then(response => response.json())
.then(data => console.log(data));// Target: https://api.example.com/data?type=premium
const config = {
url: "https://api.example.com/data",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Accept": "application/json"
},
params: {
"type": "premium",
"format": "detailed"
}
};
const encodedData = encodeProxyRequest(config);
const proxyUrl = `https://proxy-forwarding-silk.vercel.app/api/get?data=${encodedData}`;
// Use in your application// Target: https://api.example.com/create
const config = {
url: "https://api.example.com/create",
headers: {
"Content-Type": "application/json",
"X-API-Key": "your-api-key"
},
body: JSON.stringify({
name: "New Resource",
status: "active",
properties: {
color: "blue",
size: "medium"
}
})
};
const encodedData = encodeProxyRequest(config);
const proxyUrl = `https://proxy-forwarding-silk.vercel.app/api/post?data=${encodedData}`;
// Use with fetch or axiosThe proxy automatically rewrites URLs in HTML responses to route them through the proxy:
- CSS Links:
href="/style.css"→href="/api/get?data={encoded-url}" - JavaScript:
src="/app.js"→src="/api/get?data={encoded-url}" - Images:
src="/image.png"→src="/api/get?url={encoded-url}"
- Client sends request to proxy with encoded configuration
- Proxy decodes the base64url data to extract request details
- Proxy forwards the request to the target API with specified options
- Response is captured and processed (headers cleaned, links rewritten)
- Final response is returned to the client
- No server-side request logs (privacy-focused)
- Content encoding headers are properly handled
- Clean response headers to prevent conflicts
If you prefer to run your own instance:
# Clone and install
git clone https://github.com/yourusername/proxy-forwarding-server.git
cd proxy-forwarding-server
npm install
# Start server
npm run dev
# Or deploy directly to Vercel
npm install -g vercel && vercelMIT License - See LICENSE file for details.
