Ugrás a tartalomra
Titkosított, Tor és I2P végpontok

Titkosított, Tor és I2P végpontok

Az API Tor onion szolgáltatásként és I2P eepsite-ként is közzé van téve. Ugyanazok az útvonalak, ugyanaz a kulcs; csak az alap URL és a proxy változik.

Alap URL-ek

Négy cím vezet ugyanahhoz az API-hoz. Azt használd, amelyik a hálózatodhoz illik, ugyanazzal az API-kulccsal és ugyanazokkal a kérésekkel.

Hálózat Alap URL Hogyan éred el
Nyílt web https://api.shannon-ai.com/v1 Közvetlenül, HTTPS-en.
Titkosított tükör https://api-encrypted.shannon-ai.com/v1 Közvetlenül, HTTPS-en. Ugyanazon API második hosztneve.
Tor (onion szolgáltatás) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Tor kliensen keresztül: SOCKS5 proxy, alapértelmezés szerint a 127.0.0.1:9050 címen.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 I2P routeren keresztül: HTTP proxy, alapértelmezés szerint a 127.0.0.1:4444 címen.
  • Az OpenAI SDK az alap URL-t úgy veszi, ahogy látod, /v1 résszel. Az Anthropic SDK /v1 nélkül veszi.
  • Egy cím ellenőrzéséhez olvasd a https://api.shannon-ai.com válaszfejléceit: az Onion-Location az onion címet, az X-I2P-Location az I2P címet hordozza. Az onion cím shannon előtaggal kezdődik.

Mely útvonalak működnek

Minden /v1 útvonal válaszol mind a négy címen:

  • POST /v1/chat/completions
  • POST /v1/responses
  • POST /v1/messages
  • POST /v1/messages/count_tokens
  • POST /v1/tokenize
  • GET /v1/models

A GET /v1/models nem kér kulcsot, ezért gyors teszt arra, hogy a proxyd eléri az API-t.

Mi azonos és mi tér el

Tétel Azonos? Részlet
Útvonalak, kérésmezők, válaszok, hibák Azonos Minden címen ugyanazok. Egyetlen útvonal sem viselkedik másként a hosztnév szerint.
API-kulcs Azonos Egy kulcs működik minden címen, Authorization: Bearer vagy x-api-key fejlécként. A /v1 útvonalon a sütiket soha nem olvassa.
Egyenleg és korlátok Azonos Ugyanaz az egyenleg és ugyanaz a percenkénti 120 kérés korlát. Mindkettő fiókonként számolódik, nem címenként.
A kérés mérete Azonos Kéréstörzsenként legfeljebb 32 MiB.
Séma Eltér A nyílt weben és a tükrön https://. A .onion és .b32.i2p címeken http://, ahol maga a hálózat titkosítja a kapcsolatot végponttól végpontig.
Proxy Eltér A nyílt weben nincs. Torhoz SOCKS5 proxy, I2P-hez HTTP proxy. A nevet a proxynak kell feloldania, nem a gépednek.
Sebesség Eltér Mindkét hálózat késleltetést ad minden bájthoz. Az I2P a lassabb a kettő közül.

Az egyenleget és a korlátokat külön oldal írja le. Korlátok és egyenleg

cURL Toron keresztül

Futtass Tor klienst a gépeden. Ez SOCKS5 proxyt kínál a 127.0.0.1:9050 címen. A --socks5-hostname a .onion nevet ennek a proxynak adja át.

cURL · Tor
# 1. Is the onion service reachable? No key needed.
curl --socks5-hostname 127.0.0.1:9050 http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1/models

# 2. A streamed chat call. -N prints the stream as it arrives.
curl -N --socks5-hostname 127.0.0.1:9050 http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-3",
    "stream": true,
    "messages": [{"role": "user", "content": "Hello over Tor"}]
  }'

cURL I2P-n keresztül

Futtass I2P routert a gépeden. Ez HTTP proxyt kínál a 127.0.0.1:4444 címen, amely a .b32.i2p nevet úgy veszi, ahogy van.

cURL · I2P
# 1. Is the eepsite reachable? No key needed.
curl --proxy http://127.0.0.1:4444 http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1/models

# 2. A streamed chat call.
curl -N --proxy http://127.0.0.1:4444 http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-3",
    "stream": true,
    "messages": [{"role": "user", "content": "Hello over I2P"}]
  }'

SDK alap URL

Az SDK-hoz két változtatás kell: a hálózat alap URL-je, és egy HTTP-kliens, amely a proxyn megy át. Pythonban mindkét hivatalos SDK fogad httpx klienst. SOCKS proxyhoz telepítsd az httpx[socks] csomagot.

# pip install openai "httpx[socks]"
import httpx
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1",
    http_client=httpx.Client(proxy="socks5h://127.0.0.1:9050", timeout=600),
)

stream = client.chat.completions.create(
    model="shannon-3",
    messages=[{"role": "user", "content": "Hello over Tor"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

A streaming mindkét hálózaton működik. Amíg a stream nyitva van, és a modellnek még nincs mit küldenie, az API keep-alive jelet küld, így a kapcsolat nem tűnik halottnak a proxynak vagy a kliensednek.

Végpont Keep-alive nyitott streamen Ezeknek küldi
/v1/chat/completions Megjegyzéssor (: jellel kezdődik) 15 másodpercenként. Minden modell
/v1/messages event: ping, vagy megjegyzéssor, 15 másodpercenként. Minden modell
/v1/responses Megjegyzéssor 15 másodpercenként. Hosztolt nyílt súlyú modellek
  • Küldj "stream": true értéket. A streamelt válasz azonnal érkezni kezd, amint a modell ír, a keep-alive pedig mutatja, hogy a kérésen még dolgoznak. A nem streamelt válasz semmit nem küld, amíg a teljes válasz el nem készül.
  • Adj a kliensnek hosszú olvasási timeoutot. A minták 600 másodpercet használnak. A 15 másodpercnél rövidebb timeout két keep-alive között megszakíthat egy streamet.
  • Az SSE-olvasód ugorja át a megjegyzéssorokat és a ping eseményeket. Az SDK-k ezt már megteszik.
  • Ne küldd újra a kérést abban a pillanatban, amikor megszakad a kapcsolat. Az API-hoz eljutott kérés a végéig lefut és számlázódik, akkor is, ha a kapcsolat megszűnt.
  • Az utat először a GET /v1/models hívással próbáld ki. Nem kér kulcsot, és rövid JSON-listát ad.

Kapcsolati problémák

Tünet Ok és javítás
A 127.0.0.1:9050 vagy 127.0.0.1:4444 felé a kapcsolatot elutasítják A gépeden nem fut Tor kliens vagy I2P router, vagy más porton figyel. A Tor Browser a SOCKS proxyját a 9150-es porton kínálja.
Could not resolve host a .onion névre A kliens maga próbálta feloldani a nevet. Használd a cURL-ben a --socks5-hostname kapcsolót, a proxy URL-ben pedig a socks5h:// előtagot, hogy a Tor kliens oldja fel.
Az I2P proxy a saját hibaoldalával válaszol A router még nem találta meg a címet. A routernek indulás után néhány perc kell. Próbáld újra.
401 a Missing authentication üzenettel A kérés kulcs nélkül érkezett. Ugyanazt a fejlécet küldd, mint a nyílt weben.

Minden más hiba ugyanaz, mint a nyílt weben. Hibakezelés

A kulcsod JavaScript nélkül

A Shannonnak van JavaScript nélküli weboldala is, amely elérhető a nyílt weben, onion szolgáltatásként és eepsite-ként. A /keys oldala megmutatja az API-kulcsodat, és lehetővé teszi a cseréjét, így Tor vagy I2P elhagyása nélkül kaphatsz kulcsot. encrypted.shannon-ai.com/keys

Ennek a weboldalnak a címei mind a három hálózaton itt vannak felsorolva: Titkosított hozzáférés