Encrypted, Tor & I2P endpoints
A na-ebipụtakwa API dị ka Tor onion service na I2P eepsite. Otu routes, otu key; naanị base URL na proxy na-agbanwe.
Base URLs
Adreesị anọ na-eduga na otu API. Jiri nke dabara netwọk gị, na otu API key na otu requests.
| Netwọk | Base URL | Otu ị si eru ya |
|---|---|---|
| Clear web | https://api.shannon-ai.com/v1 | Ozugbo, site na HTTPS. |
| Encrypted mirror | https://api-encrypted.shannon-ai.com/v1 | Ozugbo, site na HTTPS. Aha host nke abụọ maka otu API. |
| Tor (onion service) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | Site na Tor client: SOCKS5 proxy, na default na 127.0.0.1:9050. |
| I2P (eepsite) | http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1 | Site na I2P router: HTTP proxy, na default na 127.0.0.1:4444. |
- OpenAI SDK na-anara base URL dị ka egosiri, na
/v1. Anthropic SDK na-anara ya na-enweghị/v1. - Iji lelee adreesị, gụọ reply headers nke
https://api.shannon-ai.com:Onion-Locationna-ebu onion address naX-I2P-Locationna-ebu I2P address. Onion address na-amalite nashannon.
Routes na-arụ ọrụ
Route /v1 ọ bụla na-aza na adreesị anọ ahụ niile:
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
GET /v1/models achọghị key, nke na-eme ya ngwa ngwa nlele na proxy gị na-eru API.
Ihe bụ otu na ihe dị iche
| Item | Otu? | Nkọwa |
|---|---|---|
| Routes, request fields, azịza, njehie | Otu | Otu ihe ahụ na adreesị ọ bụla. Enweghị route na-eme n'ụzọ dị iche site na aha host. |
| API key | Otu | Otu key na-arụ ọrụ na adreesị ọ bụla, dị ka Authorization: Bearer ma ọ bụ x-api-key. A naghị agụ cookies na /v1. |
| Balance na limits | Otu | Otu balance na otu oke nke requests 120 n'otu nkeji. Ha abụọ a na-agụ kwa akaụntụ, ọ bụghị kwa adreesị. |
| Nha request | Otu | Ruo 32 MiB kwa request body. |
| Scheme | Dị iche | https:// na clear web na na mirror. http:// na adreesị .onion na .b32.i2p, ebe netwọk n'onwe ya na-ezo njikọ site na njedebe ruo njedebe. |
| Proxy | Dị iche | Ọ nweghị na clear web. SOCKS5 proxy maka Tor, HTTP proxy maka I2P. Proxy ga-edozi aha ahụ, ọ bụghị kọmputa gị. |
| Ọsọ | Dị iche | Netwọk abụọ ahụ na-agbakwunye igbu oge na byte ọ bụla. I2P na-adị nwayọọ karịa n'abụọ ahụ. |
A kọwara balance na limits na peeji nke ha. Limits na balance
cURL site na Tor
Gbaa Tor client na kọmputa gị. Ọ na-enye SOCKS5 proxy na 127.0.0.1:9050. --socks5-hostname na-enyefe aha .onion na proxy ahụ.
# 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 site na I2P
Gbaa I2P router na kọmputa gị. Ọ na-enye HTTP proxy na 127.0.0.1:4444, nke na-anara aha .b32.i2p dị ka ọ dị.
# 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 chọrọ mgbanwe abụọ: base URL nke netwọk, na HTTP client na-agafe proxy. Na Python SDKs gọọmentị abụọ na-anara httpx client. Maka SOCKS proxy wụnye 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) # pip install openai
import httpx
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1",
http_client=httpx.Client(proxy="http://127.0.0.1:4444", timeout=600),
)
stream = client.chat.completions.create(
model="shannon-3",
messages=[{"role": "user", "content": "Hello over I2P"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True) # pip install anthropic "httpx[socks]"
import anthropic
import httpx
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion",
http_client=httpx.Client(proxy="socks5h://127.0.0.1:9050", timeout=600),
)
with client.messages.stream(
model="shannon-1.6-lite",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello over Tor"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True) Streaming na keep-alive na njikọ nwayọọ
Streaming na-arụ ọrụ na netwọk abụọ ahụ. Mgbe stream meghere ma model enweghị ihe ọ ga-ezipu ugbu a, API na-ezipu keep-alive, ya mere njikọ anaghị adị ka nke nwụrụ anwụ n'anya proxy ma ọ bụ client gị.
| Endpoint | Keep-alive na stream meghere | E zipụrụ maka |
|---|---|---|
/v1/chat/completions | Ahịrị comment (ọ na-amalite na :) kwa sekọnd 15. | Models niile |
/v1/messages | event: ping, ma ọ bụ ahịrị comment, kwa sekọnd 15. | Models niile |
/v1/responses | Ahịrị comment kwa sekọnd 15. | Hosted open-weight models |
- Zipụ
"stream": true. Azịza stream na-amalite ịbịa ozugbo model dere, keep-alive na-egosikwa na a ka na-arụ ọrụ na request ahụ. Azịza abụghị stream anaghị ezipu ihe ọ bụla ruo mgbe azịza dum dị njikere. - Nye client read timeout ogologo. Samples na-eji sekọnd 600. Timeout dị mkpụmkpụ karịa sekọnd 15 nwere ike ịkwụsị stream n'etiti keep-alives abụọ.
- Hapụ SSE reader gị ka ọ gafee comment lines na
pingevents. SDKs na-eme nke a ugbu a. - Ezighachila request n'oge njikọ dara. Request bịaruru API na-aga ruo njedebe ma a na-agụ ya, ọbụlagodi mgbe njikọ agwụla.
- Buru ụzọ nwalee ụzọ ahụ na
GET /v1/models. Ọ chọghị key ma na-eweghachi obere ndepụta JSON.
Nsogbu njikọ
| Ihe mgbaàmà | Ihe kpatara na nrụzi |
|---|---|
A jụrụ njikọ gaa 127.0.0.1:9050 ma ọ bụ 127.0.0.1:4444 | Enweghị Tor client ma ọ bụ I2P router na-agba na kọmputa gị, ma ọ bụ ọ na-ege ntị na port ọzọ. Tor Browser na-enye SOCKS proxy ya na port 9150. |
Could not resolve host maka aha .onion | Client nwara idozi aha ahụ n'onwe ya. Jiri --socks5-hostname na cURL na socks5h:// na proxy URL, ka Tor client dozie ya. |
| I2P proxy na-aza na peeji njehie nke ya | Router achọtabeghị adreesị ahụ. Router chọrọ nkeji ole na ole mgbe ọ malitere. Nwaa ọzọ. |
401 nwere Missing authentication | Request bịaruru na-enweghị key. Zipụ otu header ahụ dị ka na clear web. |
Njehie ọ bụla ọzọ bụ otu ihe ahụ dị ka na clear web. Njikwa njehie
Key gị na-enweghị JavaScript
Shannon nwekwara webụsaịtị na-enweghị JavaScript, enwere ike iru ya na clear web, dị ka onion service na dị ka eepsite. Peeji /keys ya na-egosi API key gị ma na-ekwe ka ị gbanwee ya, ya mere ị nwere ike nweta key na-ahapụghị Tor ma ọ bụ I2P. encrypted.shannon-ai.com/keys
Adreesị nke webụsaịtị ahụ na netwọk atọ ahụ niile dị n'ebe a: Encrypted access