Мазмұнға өту
Шифрланған, Tor және I2P endpoint-тері

Шифрланған, Tor және I2P endpoint-тері

API сондай-ақ Tor onion қызметі және I2P eepsite ретінде жарияланған. Жолдар бірдей, кілт бірдей; тек base URL және прокси өзгереді.

Base URL-дер

Төрт мекенжай бір API-ге апарады. Желіңізге сай келетінін қолданыңыз, API кілті және сұраулар бірдей.

Желі Base URL Оған қалай жетесіз
Ашық желі https://api.shannon-ai.com/v1 Тікелей, HTTPS арқылы.
Шифрланған айна https://api-encrypted.shannon-ai.com/v1 Тікелей, HTTPS арқылы. Сол API-дің екінші хост атауы.
Tor (onion қызметі) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Tor клиенті арқылы: SOCKS5 прокси, әдепкі бойынша 127.0.0.1:9050 мекенжайында.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 I2P роутері арқылы: HTTP прокси, әдепкі бойынша 127.0.0.1:4444 мекенжайында.
  • OpenAI SDK base URL-ді көрсетілгендей, /v1 қосып алады. Anthropic SDK оны /v1 жоқ алады.
  • Мекенжайды тексеру үшін https://api.shannon-ai.com жауап тақырыптарын оқыңыз: Onion-Location onion мекенжайын, X-I2P-Location I2P мекенжайын алып жүреді. Onion мекенжайы shannon деп басталады.

Қай жолдар жұмыс істейді

Әр /v1 жолы барлық төрт мекенжайда жауап береді:

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

GET /v1/models кілтті қажет етпейді, сондықтан прокси API-ге жететінін жылдам тексеру болады.

Не бірдей, не өзгеше

Элемент Бірдей ме? Мәлімет
Жолдар, сұрау өрістері, жауаптар, қателер Бірдей Әр мекенжайда бірдей. Ешбір жол хост атауына қарай басқаша жұмыс істемейді.
API кілті Бірдей Бір кілт әр мекенжайда жұмыс істейді, Authorization: Bearer немесе x-api-key ретінде. Cookie-лер /v1 бойынша ешқашан оқылмайды.
Баланс және лимиттер Бірдей Баланс та, минутына 120 сұрау лимиті де бірдей. Екеуі де мекенжай бойынша емес, аккаунт бойынша саналады.
Сұрау көлемі Бірдей Сұрау денесі 32 MiB-қа дейін.
Схема Айырмашылығы бар Ашық желіде және айнада https://. .onion және .b32.i2p мекенжайларында http://, мұнда желінің өзі қосылымды басынан аяғына дейін шифрлайды.
Прокси Айырмашылығы бар Ашық желіде жоқ. Tor үшін SOCKS5 прокси, I2P үшін HTTP прокси. Атауды компьютеріңіз емес, прокси шешуі керек.
Жылдамдық Айырмашылығы бар Екі желі де әр байтқа кідіріс қосады. I2P екеуінің ішінде баяуы.

Баланс және лимиттер өз бетінде сипатталған. Шектеулер және баланс

Tor арқылы cURL

Компьютеріңізде Tor клиентін іске қосыңыз. Ол 127.0.0.1:9050 мекенжайында SOCKS5 прокси ұсынады. --socks5-hostname .onion атауын сол проксиге береді.

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

I2P арқылы cURL

Компьютеріңізде I2P роутерін іске қосыңыз. Ол 127.0.0.1:4444 мекенжайында HTTP прокси ұсынады, ол .b32.i2p атауын сол күйінде қабылдайды.

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 base URL-і

SDK-ға екі өзгеріс қажет: желінің base URL-і және проксидің арасынан өтетін HTTP клиенті. Python-да екі ресми SDK де httpx клиентін қабылдайды. SOCKS прокси үшін 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)

Streaming екі желіде де жұмыс істейді. Стрим ашық тұрғанда және модельдің жіберетін ештеңесі жоқ кезде, API keep-alive жібереді, сондықтан қосылым проксиге немесе клиентіңізге өлі болып көрінбейді.

Endpoint Ашық стримдегі keep-alive Қайсысына жіберіледі
/v1/chat/completions Әр 15 секунд сайын түсініктеме жолы (: деп басталады). Барлық модельдер
/v1/messages Әр 15 секунд сайын event: ping немесе түсініктеме жолы. Барлық модельдер
/v1/responses Әр 15 секунд сайын түсініктеме жолы. Hosted open-weight модельдер
  • "stream": true жіберіңіз. Стримделген жауап модель жазған бойда келе бастайды, ал keep-alive сұраудың әлі өңделіп жатқанын көрсетеді. Стримделмеген жауап бүкіл жауап дайын болғанша ештеңе жібермейді.
  • Клиентке ұзақ оқу таймаутын беріңіз. Мысалдарда 600 секунд қолданылған. 15 секундтан қысқа таймаут стримді екі keep-alive арасында үзуі мүмкін.
  • SSE оқушыңыз түсініктеме жолдары мен ping оқиғаларын өткізіп жіберсін. SDK-лар мұны өзі жасайды.
  • Қосылым үзілген бойда сұрауды қайта жібермеңіз. API-ге жеткен сұрау соңына дейін орындалады және есептеледі, қосылым жоғалса да.
  • Жолды алдымен GET /v1/models арқылы тексеріңіз. Ол кілтті қажет етпейді және қысқа JSON тізімін қайтарады.

Қосылым мәселелері

Белгісі Себебі және түзету
127.0.0.1:9050 немесе 127.0.0.1:4444 қосылымы қабылданбады Компьютеріңізде Tor клиенті немесе I2P роутері жұмыс істемейді, немесе ол басқа портты тыңдайды. Tor Browser өз SOCKS проксиін 9150 портында ұсынады.
.onion атауы үшін Could not resolve host Клиент атауды өзі шешуге тырысты. cURL-де --socks5-hostname, прокси URL-інде socks5h:// қолданыңыз, сонда атауды Tor клиенті шешеді.
I2P проксиі өз қате бетімен жауап береді Роутер мекенжайды әлі таппады. Роутерге іске қосылғаннан кейін бірнеше минут қажет. Қайталап көріңіз.
Missing authentication бар 401 Сұрау кілтсіз келді. Ашық желідегідей тақырыпты жіберіңіз.

Барлық басқа қателер ашық желідегідей. Қателерді өңдеу

JavaScript-сіз кілтіңіз

Shannon-да JavaScript-сіз веб-сайт та бар, ол ашық желіде, onion қызметі ретінде және eepsite ретінде қолжетімді. Оның /keys беті API кілтіңізді көрсетеді және оны ауыстыруға мүмкіндік береді, сондықтан Tor немесе I2P желісінен шықпай кілт ала аласыз. encrypted.shannon-ai.com/keys

Сол веб-сайттың үш желідегі мекенжайлары мұнда тізілген: Шифрланған қолжетімділік