Přeskočit na obsah
Šifrované endpointy, Tor a I2P

Šifrované endpointy, Tor a I2P

API je také zveřejněno jako služba Tor onion a eepsite I2P. Stejné cesty, stejný klíč; mění se jen základní URL a proxy.

Základní URL

Čtyři adresy vedou ke stejnému API. Použijte tu, která vyhovuje vaší síti, se stejným klíčem API a stejnými požadavky.

Síť Základní URL Jak se k němu dostanete
Běžný web https://api.shannon-ai.com/v1 Přímo, přes HTTPS.
Šifrované zrcadlo https://api-encrypted.shannon-ai.com/v1 Přímo, přes HTTPS. Druhý název hostitele pro stejné API.
Tor (služba onion) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Přes klienta Tor: proxy SOCKS5, ve výchozím nastavení na 127.0.0.1:9050.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 Přes router I2P: proxy HTTP, ve výchozím nastavení na 127.0.0.1:4444.
  • SDK OpenAI přijímá základní URL tak, jak je uvedena, s /v1. SDK Anthropic ji přijímá bez /v1.
  • Adresu ověříte čtením hlaviček odpovědi z https://api.shannon-ai.com: Onion-Location nese adresu onion a X-I2P-Location adresu I2P. Adresa onion začíná shannon.

Které cesty fungují

Každá cesta /v1 odpovídá na všech čtyřech 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 nepotřebuje klíč, takže je to rychlý test, zda vaše proxy na API dosáhne.

Co je stejné a co se liší

Položka Stejné? Podrobnosti
Cesty, pole požadavků, odpovědi, chyby Stejné Stejné na každé adrese. Žádná cesta se podle názvu hostitele nechová jinak.
Klíč API Stejné Jeden klíč funguje na každé adrese, jako Authorization: Bearer nebo x-api-key. Cookies se na /v1 nikdy nečtou.
Zůstatek a limity Stejné Stejný zůstatek a stejný limit 120 požadavků za minutu. Obojí se počítá na účet, ne na adresu.
Velikost požadavku Stejné Až 32 MiB na tělo požadavku.
Schéma Liší se https:// na běžném webu a na zrcadle. http:// na adresách .onion a .b32.i2p, kde spojení šifruje od konce ke konci sama síť.
Proxy Liší se Na běžném webu žádná. Proxy SOCKS5 pro Tor, proxy HTTP pro I2P. Název musí překládat proxy, ne váš počítač.
Rychlost Liší se Obě sítě přidávají zpoždění ke každému bajtu. I2P je z nich pomalejší.

Zůstatek a limity jsou popsány na vlastní stránce. Limity a zůstatek

cURL přes Tor

Spusťte na svém počítači klienta Tor. Nabízí proxy SOCKS5 na 127.0.0.1:9050. --socks5-hostname předá název .onion této 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 přes I2P

Spusťte na svém počítači router I2P. Nabízí proxy HTTP na 127.0.0.1:4444, která přijímá název .b32.i2p tak, jak 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 pro SDK

SDK potřebuje dvě změny: základní URL sítě a klienta HTTP, který jde přes proxy. V Pythonu přijímají obě oficiální SDK klienta httpx. Pro proxy SOCKS nainstalujte 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)

Streamování funguje přes obě sítě. Dokud je stream otevřený a model zatím nemá co poslat, API posílá keep-alive, aby spojení nevypadalo jako mrtvé pro proxy ani pro vašeho klienta.

Endpoint Keep-alive na otevřeném streamu Posílá se pro
/v1/chat/completions Komentářový řádek (začíná :) každých 15 sekund. Všechny modely
/v1/messages event: ping nebo komentářový řádek každých 15 sekund. Všechny modely
/v1/responses Komentářový řádek každých 15 sekund. Hostované modely s otevřenými váhami
  • Pošlete "stream": true. Streamovaná odpověď začne přicházet, jakmile model píše, a keep-alive ukazuje, že se na požadavku pořád pracuje. Nestreamovaná odpověď neposílá nic, dokud není hotová celá odpověď.
  • Dejte klientovi dlouhý timeout čtení. Ukázky používají 600 sekund. Timeout kratší než 15 sekund může ukončit stream mezi dvěma keep-alive.
  • Nechte svou čtečku SSE přeskakovat komentářové řádky a události ping. SDK to už dělají.
  • Neposílejte požadavek znovu v okamžiku, kdy spojení spadne. Požadavek, který na API dorazil, doběhne do konce a započítá se, i když spojení zmizelo.
  • Cestu nejdřív vyzkoušejte přes GET /v1/models. Nepotřebuje klíč a vrací krátký seznam JSON.

Problémy se spojením

Příznak Příčina a oprava
Spojení na 127.0.0.1:9050 nebo 127.0.0.1:4444 je odmítnuto Na vašem počítači neběží klient Tor ani router I2P, nebo naslouchá na jiném portu. Tor Browser nabízí svou proxy SOCKS na portu 9150.
Could not resolve host pro název .onion Klient se pokusil název přeložit sám. V cURL použijte --socks5-hostname a v URL proxy socks5h://, aby název přeložil klient Tor.
Proxy I2P odpovídá vlastní chybovou stránkou Router adresu zatím nenašel. Router po spuštění potřebuje několik minut. Zkuste to znovu.
401 s Missing authentication Požadavek dorazil bez klíče. Pošlete stejnou hlavičku jako na běžném webu.

Každá další chyba je stejná jako na běžném webu. Zpracování chyb

Váš klíč bez JavaScriptu

Shannon má také web bez JavaScriptu, dostupný na běžném webu, jako služba onion a jako eepsite. Jeho stránka /keys ukazuje váš klíč API a umožňuje jej vyměnit, takže klíč získáte, aniž byste opustili Tor nebo I2P. encrypted.shannon-ai.com/keys

Adresy tohoto webu ve všech třech sítích jsou uvedeny zde: Šifrovaný přístup