Preskočiť na obsah
Šifrované endpointy, Tor a I2P

Šifrované endpointy, Tor a I2P

API je zverejnené aj ako služba Tor onion a eepsite I2P. Rovnaké cesty, rovnaký kľúč; mení sa len základná URL a proxy.

Základné URL

Štyri adresy vedú na to isté API. Použite tú, ktorá sedí vašej sieti, s rovnakým API kľúčom a rovnakými requestmi.

Sieť Základná URL Ako sa dostanete
Bežný web https://api.shannon-ai.com/v1 Priamo, cez HTTPS.
Šifrované zrkadlo https://api-encrypted.shannon-ai.com/v1 Priamo, cez HTTPS. Druhý názov hostiteľa pre to isté API.
Tor (služba onion) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Cez klienta Tor: proxy SOCKS5, predvolene na 127.0.0.1:9050.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 Cez router I2P: proxy HTTP, predvolene na 127.0.0.1:4444.
  • SDK OpenAI berie základnú URL tak, ako je uvedená, s /v1. SDK Anthropic ju berie bez /v1.
  • Adresu overíte v hlavičkách odpovede z https://api.shannon-ai.com: Onion-Location nesie adresu onion a X-I2P-Location adresu I2P. Adresa onion začína shannon.

Ktoré cesty fungujú

Každá cesta /v1 odpovedá na všetkých štyroch adresách:

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

GET /v1/models nepotrebuje kľúč, vďaka čomu je rýchlym testom, že vaša proxy API dosiahne.

Čo je rovnaké a čo sa líši

Položka Rovnaké? Podrobnosť
Cesty, polia requestu, odpovede, chyby Rovnaké Na každej adrese rovnaké. Žiadna cesta sa nespráva inak podľa názvu hostiteľa.
API kľúč Rovnaké Jeden kľúč funguje na každej adrese, ako Authorization: Bearer alebo x-api-key. Cookies sa na /v1 nikdy nečítajú.
Zostatok a limity Rovnaké Rovnaký zostatok a rovnaký limit 120 requestov za minútu. Obe sa počítajú na účet, nie na adresu.
Veľkosť requestu Rovnaké Do 32 MiB na telo requestu.
Schéma Líši sa https:// na bežnom webe a na zrkadle. http:// na adresách .onion a .b32.i2p, kde samotná sieť šifruje spojenie od konca do konca.
Proxy Líši sa Na bežnom webe žiadna. Proxy SOCKS5 pre Tor, proxy HTTP pre I2P. Názov musí preložiť proxy, nie váš stroj.
Rýchlosť Líši sa Obe siete pridávajú oneskorenie ku každému bajtu. I2P je z oboch pomalšia.

Zostatok a limity sú popísané na vlastnej stránke. Limity a zostatok

cURL cez Tor

Spustite klienta Tor na svojom stroji. Ponúka proxy SOCKS5 na 127.0.0.1:9050. --socks5-hostname odovzdá názov .onion tejto proxy.

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 cez I2P

Spustite router I2P na svojom stroji. Ponúka proxy HTTP na 127.0.0.1:4444, ktorá berie názov .b32.i2p tak, ako je.

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"}]
  }'

Základná URL pre SDK

SDK potrebuje dve zmeny: základnú URL siete a klienta HTTP, ktorý ide cez proxy. V Pythone berú obe oficiálne SDK klienta httpx. Pre proxy SOCKS nainštalujte httpx[socks].

# 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)

Streamovanie funguje v oboch sieťach. Kým je stream otvorený a model ešte nemá čo poslať, API posiela keep-alive, aby spojenie nevyzeralo mŕtve pre proxy ani pre vášho klienta.

Endpoint Keep-alive na otvorenom streame Posiela sa pre
/v1/chat/completions Komentárový riadok (začína :) každých 15 sekúnd. Všetky modely
/v1/messages event: ping alebo komentárový riadok každých 15 sekúnd. Všetky modely
/v1/responses Komentárový riadok každých 15 sekúnd. Hostované open-weight modely
  • Pošlite "stream": true. Streamovaná odpoveď začne prichádzať hneď, ako model píše, a keep-alive ukazuje, že sa na requeste stále pracuje. Odpoveď bez streamovania nepošle nič, kým nie je celá odpoveď hotová.
  • Dajte klientovi dlhý timeout čítania. Ukážky používajú 600 sekúnd. Timeout kratší než 15 sekúnd môže ukončiť stream medzi dvoma keep-alive.
  • Nechajte svoj čítač SSE preskakovať komentárové riadky a udalosti ping. SDK to už robia.
  • Neposielajte request znova v okamihu, keď spojenie padne. Request, ktorý dorazil na API, beží do konca a započíta sa, aj keď spojenie zmizlo.
  • Cestu najprv vyskúšajte cez GET /v1/models. Nepotrebuje kľúč a vráti krátky zoznam JSON.

Problémy so spojením

Príznak Príčina a oprava
Spojenie na 127.0.0.1:9050 alebo 127.0.0.1:4444 je odmietnuté Na vašom stroji nebeží klient Tor ani router I2P, alebo počúva na inom porte. Tor Browser ponúka svoju proxy SOCKS na porte 9150.
Could not resolve host pre názov .onion Klient sa pokúsil preložiť názov sám. V cURL použite --socks5-hostname a v URL proxy socks5h://, aby ho preložil klient Tor.
Proxy I2P odpovedá vlastnou chybovou stránkou Router adresu ešte nenašiel. Router po štarte potrebuje niekoľko minút. Skúste znova.
401 s Missing authentication Request dorazil bez kľúča. Pošlite rovnakú hlavičku ako na bežnom webe.

Každá iná chyba je rovnaká ako na bežnom webe. Spracovanie chýb

Váš kľúč bez JavaScriptu

Shannon má aj web bez JavaScriptu, dostupný na bežnom webe, ako služba onion a ako eepsite. Jeho stránka /keys ukazuje váš API kľúč a umožňuje ho obnoviť, takže kľúč získate bez opustenia Tor alebo I2P. encrypted.shannon-ai.com/keys

Adresy tohto webu vo všetkých troch sieťach sú uvedené tu: Šifrovaný prístup