모든 대형 모델에 deno의 보안 프록시 API를 사용하여 실제 IP 및 도메인 정보 유출을 방지하세요.

AI 실습 튜토리얼8개월 전 업데이트 AI 공유 서클
10.6K 00

특정 지역의 문제를 해결하기 위해 api.openai.com 등 빅 모델 API를 직접 요청할 수 없거나 에이전트가 계정 차단으로 이어지는 정보를 유출하여 CF 프록시를 사용하기 전에 IP가 유출 될 수 있으므로 이제 더 안전한 솔루션이 있습니다.

1. 먼저 deno 공식 웹사이트로 이동하여 계정을 등록합니다.

2. 프로젝트 만들기

https://dash.deno.com/account/projects 으로 이동하여 '새 놀이터'를 클릭합니다.

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

 

3. 코드를 붙여넣고 저장합니다.

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. 사용법

기본 도메인 이름은 https://hungry-lamb-22.deno.dev/

인터뷰https://hungry-lamb-22.deno.dev/xai 를 방문하는 것과 동일합니다. https://api.x.ai/

코드의 형식에 따라 새로운 빅 모델 요청 주소를 추가할 수 있습니다.

 

5. 사용자 지정 도메인 이름

설정으로 이동하여 고유한 도메인 이름을 바인딩합니다.

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

 

공유 프록시 주소

상담원 주소소스 주소
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

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...