Агуулга руу алгасах
Шифрлэгдсэн, Tor ба I2P endpoint-ууд

Шифрлэгдсэн, Tor ба I2P endpoint-ууд

API нь Tor onion service ба I2P eepsite хэлбэрээр бас нийтлэгдсэн. Ижил замууд, ижил түлхүүр; зөвхөн үндсэн URL ба proxy солигдоно.

Үндсэн URL-ууд

Дөрвөн хаяг нэг API руу хөтөлнө. Сүлжээндээ тохирохыг нь, ижил API түлхүүр ба ижил хүсэлттэй ашиглана уу.

Сүлжээ Үндсэн URL Хэрхэн хүрэх
Нээлттэй вэб https://api.shannon-ai.com/v1 Шууд, HTTPS-ээр.
Шифрлэгдсэн mirror https://api-encrypted.shannon-ai.com/v1 Шууд, HTTPS-ээр. Ижил API-ийн хоёр дахь хостын нэр.
Tor (onion service) http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 Tor клиентээр: SOCKS5 proxy, үндсэн утгаар 127.0.0.1:9050 дээр.
I2P (eepsite) http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 I2P router-ээр: HTTP proxy, үндсэн утгаар 127.0.0.1:4444 дээр.
  • OpenAI SDK үндсэн URL-ийг үзүүлснээр нь, /v1-тэй авна. Anthropic SDK /v1-гүй авна.
  • Хаягийг шалгахын тулд https://api.shannon-ai.com-ийн хариуны header-ийг уншина уу: 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 түлхүүр шаардахгүй тул таны proxy API-д хүрч байгааг шалгах түргэн туршилт болно.

Юу адил, юу ялгаатай

Зүйл Адил уу? Дэлгэрэнгүй
Замууд, хүсэлтийн талбар, хариу, алдаа Адил Хаяг бүр дээр адилхан. Ямар ч зам хостын нэрээр өөрөөр ажиллахгүй.
API түлхүүр Адил Нэг түлхүүр хаяг бүр дээр ажиллана, Authorization: Bearer эсвэл x-api-key хэлбэрээр. /v1 дээр cookie-г хэзээ ч уншдаггүй.
Үлдэгдэл ба хязгаар Адил Ижил үлдэгдэл, минутад 120 хүсэлтийн ижил хязгаар. Хоёулаа хаягаар бус бүртгэлээр тоологдоно.
Хүсэлтийн хэмжээ Адил Хүсэлтийн body 32 MiB хүртэл.
Протокол Ялгаатай Нээлттэй вэб ба mirror дээр https://. Сүлжээ өөрөө холболтыг төгсгөлөөс төгсгөл хүртэл шифрлэдэг .onion ба .b32.i2p хаягууд дээр http://.
Proxy Ялгаатай Нээлттэй вэб дээр байхгүй. Tor-д SOCKS5 proxy, I2P-д HTTP proxy. Нэрийг таны машин биш proxy тайлах ёстой.
Хурд Ялгаатай Хоёр сүлжээ байт бүрт саатал нэмнэ. I2P нь хоёрын удаан нь.

Үлдэгдэл ба хязгаарыг тусдаа хуудсанд тайлбарласан. Хязгаар ба үлдэгдэл

Tor-оор cURL

Өөрийн машин дээр Tor клиент ажиллуулна уу. Энэ нь 127.0.0.1:9050 дээр SOCKS5 proxy санал болгоно. --socks5-hostname нь .onion нэрийг тэр 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"}]
  }'

I2P-ээр cURL

Өөрийн машин дээр I2P router ажиллуулна уу. Энэ нь 127.0.0.1:4444 дээр HTTP proxy санал болгох бөгөөд .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-ийн үндсэн URL

SDK-д хоёр өөрчлөлт хэрэгтэй: сүлжээний үндсэн URL, мөн proxy-гоор дамждаг HTTP клиент. Python дээр хоёр албан ёсны SDK httpx клиент авна. SOCKS proxy-д 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 хоёр сүлжээгээр ажиллана. Stream нээлттэй, загвар илгээх зүйлгүй байхад API keep-alive илгээдэг тул холболт proxy эсвэл таны клиентэд үхсэн мэт харагдахгүй.

Endpoint Нээлттэй stream дэх keep-alive Илгээх хэнд
/v1/chat/completions 15 секунд тутам тайлбар мөр (:-оор эхэлнэ). Бүх загвар
/v1/messages 15 секунд тутам event: ping эсвэл тайлбар мөр. Бүх загвар
/v1/responses 15 секунд тутам тайлбар мөр. Hosted open-weight загварууд
  • "stream": true илгээнэ үү. Stream хариу загвар бичих даруйд ирж эхэлдэг бөгөөд keep-alive нь хүсэлт ажиллагаатай хэвээр байгааг харуулна. Stream хийгээгүй хариу бүх хариулт бэлэн болтол юу ч илгээхгүй.
  • Клиентэд урт read timeout өгнө үү. Жишээнүүд 600 секунд ашигладаг. 15 секундээс богино timeout нь хоёр keep-alive-ийн хооронд stream-ийг таслаж болно.
  • SSE уншигчаараа тайлбар мөр ба ping event-үүдийг алгасуулна уу. SDK-ууд үүнийг аль хэдийн хийдэг.
  • Холболт тасрах даруйд хүсэлтийг дахин бүү илгээнэ үү. API-д хүрсэн хүсэлт төгсгөл хүртэл ажиллаж тоологдох бөгөөд холболт тасарсан ч мөн ингэнэ.
  • Замаа эхлээд GET /v1/models-ээр турших. Түлхүүр шаардахгүй бөгөөд богино JSON жагсаалт буцаана.

Холболтын асуудал

Шинж тэмдэг Шалтгаан ба засвар
127.0.0.1:9050 эсвэл 127.0.0.1:4444 руу холболт татгалзагдсан Таны машин дээр Tor клиент эсвэл I2P router ажиллахгүй байна, эсвэл өөр порт дээр сонсож байна. Tor Browser SOCKS proxy-гоо 9150 порт дээр санал болгодог.
.onion нэрэнд Could not resolve host Клиент нэрийг өөрөө тайлахыг оролдсон. Tor клиент тайлахын тулд cURL дээр --socks5-hostname, proxy URL дотор socks5h:// ашиглана уу.
I2P proxy өөрийн алдааны хуудсаар хариулна Router хаягийг хараахан олоогүй. Router эхэлсний дараа хэдэн минут шаардана. Дахин оролдоно уу.
401 ба Missing authentication Хүсэлт түлхүүргүй ирсэн. Нээлттэй вэб дээрх header-ийг адилхан илгээнэ үү.

Бусад бүх алдаа нээлттэй вэб дээрхтэй адил. Алдаа боловсруулах

JavaScript-гүйгээр таны түлхүүр

Shannon-д JavaScript-гүй вэбсайт бас байдаг бөгөөд нээлттэй вэб, onion service, eepsite хэлбэрээр хүрч болно. Түүний /keys хуудас таны API түлхүүрийг харуулж, шинэчлэх боломж олгодог тул Tor эсвэл I2P-ээс гаралгүйгээр түлхүүр авч болно. encrypted.shannon-ai.com/keys

Тэр вэбсайтын гурван сүлжээн дэх хаягийг энд жагсаасан: Шифрлэгдсэн хандалт