Use deno for any large model secure proxy API to avoid leaking real IP and domain information

Trae

To solve the problem of certain areas can not directly request api.openai.com and so on big model API, or because the agent leaks information leading to blocking the account, before the use of CF proxy, may leak your IP, now there is a safer program.

1. First enter the deno official website to register an account

2. Create a project

Go to https://dash.deno.com/account/projects and click on "New Playground".

使用deno为任意大模型安全的代理API,避免泄露真实IP和域名信息

 

3. Paste the code and save it

import { serve } from "https://deno.land/std/http/server.ts";

const apiMapping = {
'/discord': 'https://discord.com/api',
'/telegram': 'https://api.telegram.org',
'/openai': 'https://api.openai.com',
'/claude': 'https://api.anthropic.com',
'/gemini': 'https://generativelanguage.googleapis.com',
'/meta': 'https://www.meta.ai/api',
'/groq': 'https://api.groq.com/openai',
'/xai': 'https://api.x.ai',
'/cohere': 'https://api.cohere.ai',
'/huggingface': 'https://api-inference.huggingface.co',
'/together': 'https://api.together.xyz',
'/novita': 'https://api.novita.ai',
'/portkey': 'https://api.portkey.ai',
'/fireworks': 'https://api.fireworks.ai',
'/openrouter': 'https://openrouter.ai/api'
};

serve(async (request) => {
const url = new URL(request.url);
const pathname = url.pathname;

if (pathname === '/' || pathname === '/index.html') {
return new Response('Service is running!', {
status: 200,
headers: { 'Content-Type': 'text/html' }
});
} 

if (pathname === '/robots.txt') {
return new Response('User-agent: *\nDisallow: /', {
status: 200,
headers: { 'Content-Type': 'text/plain' }
});
}

const [prefix, rest] = extractPrefixAndRest(pathname, Object.keys(apiMapping));
if (!prefix) {
return new Response('Not Found', { status: 404 });
}

const targetUrl = `${apiMapping[prefix]}${rest}`;

try {
const headers = new Headers();
const allowedHeaders = ['accept', 'content-type', 'authorization'];
for (const [key, value] of request.headers.entries()) {
if (allowedHeaders.includes(key.toLowerCase())) {
headers.set(key, value);
}
}

const response = await fetch(targetUrl, {
method: request.method,
headers: headers,
body: request.body
});

const responseHeaders = new Headers(response.headers);
responseHeaders.set('X-Content-Type-Options', 'nosniff');
responseHeaders.set('X-Frame-Options', 'DENY');
responseHeaders.set('Referrer-Policy', 'no-referrer');

return new Response(response.body, {
status: response.status,
headers: responseHeaders
});

} catch (error) {
console.error('Failed to fetch:', error);
return new Response('Internal Server Error', { status: 500 });
}
});

function extractPrefixAndRest(pathname, prefixes) {
for (const prefix of prefixes) {
if (pathname.startsWith(prefix)) {
return [prefix, pathname.slice(prefix.length)];
}
}
return [null, null];
}

 

使用deno为任意大模型安全的代理API,避免泄露真实IP和域名信息

 

4. Usage

The default domain name is https://hungry-lamb-22.deno.dev/

interviewshttps://hungry-lamb-22.deno.dev/xai is equivalent to visiting https://api.x.ai/

Following the format in the code, you can add a new big model request address

 

5. Customized domain name

Go to Settings and bind your own domain name

使用deno为任意大模型安全的代理API,避免泄露真实IP和域名信息

 

Shared Proxy Address

代理地址源地址
https://api-proxy.me/anthropichttps://api.anthropic.com
https://api-proxy.me/cerebrashttps://api.cerebras.ai
https://api-proxy.me/coherehttps://api.cohere.ai
https://api-proxy.me/discordhttps://discord.com/api
https://api-proxy.me/fireworkshttps://api.fireworks.ai
https://api-proxy.me/geminihttps://generativelanguage.googleapis.com
https://api-proxy.me/groqhttps://api.groq.com/openai
https://api-proxy.me/huggingfacehttps://api-inference.huggingface.co
https://api-proxy.me/metahttps://www.meta.ai/api
https://api-proxy.me/novitahttps://api.novita.ai
https://api-proxy.me/nvidiahttps://integrate.api.nvidia.com
https://api-proxy.me/openaihttps://api.openai.com
https://api-proxy.me/openrouterhttps://openrouter.ai/api
https://api-proxy.me/portkeyhttps://api.portkey.ai
https://api-proxy.me/telegramhttps://api.telegram.org
https://api-proxy.me/togetherhttps://api.together.xyz
https://api-proxy.me/xaihttps://api.x.ai

© Copyright notes
AiPPT

Related posts

No comments

none
No comments...