Encrypted, Tor & I2P endpoints
እቲ API ከም Tor onion service ከምኡውን I2P eepsite እውን ይሕተም። ተመሳሳሊ routes፣ ተመሳሳሊ ቁልፊ፤ base URL ከምኡውን proxy ጥራይ ይቕየሩ።
Base URLs
ኣርባዕተ ኣድራሻታት ናብ ሓደ API የብጽሑ። እቲ ምስ መርበብካ ዝሰማማዕ ተጠቐም፣ ምስ ሓደ API key ከምኡውን ሓደ ጠለባት።
| መርበብ | Base URL | ከመይ ትበጽሖ |
|---|---|---|
| Clear web | https://api.shannon-ai.com/v1 | ብቐጥታ፣ ብ HTTPS። |
| Encrypted mirror | https://api-encrypted.shannon-ai.com/v1 | ብቐጥታ፣ ብ HTTPS። ካልእ ስም host ን ሓደ API። |
| Tor (onion service) | http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1 | ብ Tor client፦ ሓደ 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 እቲ base URL ከም ዝተርኣየ፣ ምስ
/v1ይወስድ። Anthropic SDK ብዘይ/v1ይወስድ። - ኣድራሻ ንምርግጋጽ፣ headers ናይ ምላሽ ናይ
https://api.shannon-ai.comኣንብብ፦Onion-Locationኣድራሻ onion ይሕዝ ከምኡውንX-I2P-Locationኣድራሻ I2P። ኣድራሻ onion ብshannonይጅምር።
ኣየኖት routes ይሰርሑ
ነፍሲ ወከፍ route /v1 ኣብ ኩሎም ኣርባዕተ ኣድራሻታት ይምልስ፦
POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesPOST /v1/messages/count_tokensPOST /v1/tokenizeGET /v1/models
GET /v1/models ቁልፊ ኣየድልዮን፣ ስለዚ proxy ናትካ ናብ API ከም ዝበጽሕ ቅልጡፍ ፈተና እዩ።
እንታይ ተመሳሳሊ ከምኡውን እንታይ ዝፈላለ
| ኣተዋብ | ተመሳሳሊ? | ዝርዝር |
|---|---|---|
| Routes፣ fields ናይ ጠለብ፣ ምላሻት፣ ጌጋታት | ተመሳሳሊ | ኣብ ነፍሲ ወከፍ ኣድራሻ ተመሳሳሊ። ዋላ ሓደ route ብስም host ብተፈለየ ኣይሰርሕን። |
| API key | ተመሳሳሊ | ሓደ ቁልፊ ኣብ ነፍሲ ወከፍ ኣድራሻ ይሰርሕ፣ ከም Authorization: Bearer ወይ x-api-key። Cookies ኣብ /v1 ፈጺሞም ኣይነበቡን። |
| ሚዛንን ወሰናትን | ተመሳሳሊ | ተመሳሳሊ ሚዛን ከምኡውን ተመሳሳሊ ወሰን 120 ጠለባት ኣብ ደቒቕ። ክልቲኦም ብኣካውንት እምበር ብኣድራሻ ኣይቑጸሩን። |
| መጠን ጠለብ | ተመሳሳሊ | ክሳብ 32 MiB ንነፍሲ ወከፍ body ናይ ጠለብ። |
| Scheme | ዝፈላለ | https:// ኣብ clear web ከምኡውን ኣብ mirror። http:// ኣብ ኣድራሻታት .onion ከምኡውን .b32.i2p፣ እቲ መርበብ ባዕሉ ርክብ ካብ መጀመርታ ክሳብ መወዳእታ ኣብ ዝሕብቀሉ። |
| Proxy | ዝፈላለ | ኣብ clear web የለን። SOCKS5 proxy ን Tor፣ HTTP proxy ን I2P። እቲ ስም ብ proxy እምበር ብማሽንካ ክፍታሕ ኣለዎ። |
| ቅልጣፈ | ዝፈላለ | ክልቲኦም መርበባት ንነፍሲ ወከፍ byte ደንጋጽ ይውስኹ። I2P ካብ ክልቲኡ ዝነዘሐ እዩ። |
ሚዛንን ወሰናትን ኣብ ናቱ ገጽ ተገሊጾም ኣለዉ። ገደባትን ሚዛንን
cURL ብ Tor
Tor client ኣብ ማሽንካ ኣስርሕ። SOCKS5 proxy ኣብ 127.0.0.1:9050 የቕርብ። --socks5-hostname ንስም .onion ናብ ሽዑ proxy የሕልፎ።
# 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 ብ I2P
Router I2P ኣብ ማሽንካ ኣስርሕ። ንሱ HTTP proxy ኣብ 127.0.0.1:4444 የቕርብ፣ ንስም .b32.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 client ብ proxy ዝሓልፍ። ኣብ Python ክልቲኦም ወግዓውያን SDKs client 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) # 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 ከምኡውን keep-alive ኣብ ድኹም ርክባት
Streaming ኣብ ክልቲኦም መርበባት ይሰርሕ። stream ክፉት ከሎ እቲ ሞዴል ገና ዘለኣኾ ዘይብሉ እዋን፣ API keep-alive ይልእኽ፣ ስለዚ ርክብ ንproxy ወይ ንclient ናትካ ከም ዝሞተ ኣይመስልን።
| Endpoint | Keep-alive ኣብ ዝተኸፍተ stream | ዝልኣኸሉ |
|---|---|---|
/v1/chat/completions | መስመር ርእይቶ (ብ : ትጅምር) ኣብ ነፍሲ ወከፍ 15 ሰከንድ። | ኩሎም ሞዴላት |
/v1/messages | event: ping፣ ወይ መስመር ርእይቶ፣ ኣብ ነፍሲ ወከፍ 15 ሰከንድ። | ኩሎም ሞዴላት |
/v1/responses | መስመር ርእይቶ ኣብ ነፍሲ ወከፍ 15 ሰከንድ። | ዝተሃንደሱ open-weight ሞዴላት |
"stream": trueልኣኽ። ዝውሕዝ ምላሽ እቲ ሞዴል ምስ ጸሓፈ ብቕልጡፍ ክበጽሕ ይጅምር፣ እቲ keep-alive ድማ እቲ ጠለብ ገና ይሰርሕ ከም ዘሎ ይሕብር። ዘይውሕዝ ምላሽ ክሳብ ምሉእ መልሲ ዝድሉ ዋላ ሓንቲ ኣይልእክን።- ን client ነዊሕ read timeout ሃቦ። እቶም ኣብነታት 600 ሰከንድታት ይጥቀሙ። timeout ካብ 15 ሰከንድታት ዝሓጸረ stream ኣብ መንጎ ክልተ keep-alives ክቋርጽ ይኽእል።
- SSE reader ናትካ መስመራት ርእይቶ ከምኡውን events
pingይሕልፍ። እቶም SDKs ድሮ ይገብርዎ። - ርክብ ምስ ተቐርጸ ብቕጽበት እቲ ጠለብ ደጊምካ ኣይትልእኽ። ናብ API ዝበጽሐ ጠለብ ክሳብ መወዳእታኡ ይሰርሕ ከምኡውን ይቑጸር፣ ርክብ ምስ ጠፍአ እውን።
- እቲ መገዲ ቅድም ብ
GET /v1/modelsፈትኖ። ቁልፊ ኣየድልዮን ከምኡውን ሓጺር ዝርዝር JSON ይመልስ።
ጸገማት ርክብ
| ምልክት | ምኽንያትን ፍታሕን |
|---|---|
ርክብ ናብ 127.0.0.1:9050 ወይ 127.0.0.1:4444 ተነጺጉ | Tor client ወይ I2P router ኣብ ማሽንካ ኣይሰርሕን፣ ወይ ኣብ ካልእ port ይሰምዕ። Tor Browser SOCKS proxy ናቱ ኣብ port 9150 የቕርብ። |
Could not resolve host ን ስም .onion | እቲ client ነቲ ስም ባዕሉ ክፍትሖ ፈተነ። ኣብ cURL --socks5-hostname ከምኡውን ኣብ URL ናይ proxy socks5h:// ተጠቐም፣ ስለዚ Tor client ይፍትሖ። |
| I2P proxy ብናቱ ገጽ ጌጋ ይምልስ | እቲ router ንኣድራሻ ገና ኣይረኸቦን። ሓደ router ድሕሪ ምጅማሩ ውሑዳት ደቓይቕ የድልዮ። ደጊምካ ፈትን። |
401 ምስ Missing authentication | እቲ ጠለብ ብዘይ ቁልፊ በጽሐ። ከም ኣብ clear web ተመሳሳሊ header ልኣኽ። |
ኩሉ ካልእ ጌጋ ከም ኣብ clear web ተመሳሳሊ እዩ። ሓጋይ ኣስተዳደር
ቁልፍካ ብዘይ JavaScript
Shannon website ብዘይ JavaScript እውን ኣለዎ፣ ኣብ clear web፣ ከም onion service ከምኡውን ከም eepsite ይርከብ። ገጽ /keys ናቱ API key ናትካ የርኢ ከምኡውን ክትቅይሮ የኽእለካ፣ ስለዚ ካብ Tor ወይ I2P ከይወጻእካ ቁልፊ ክትረክብ ትኽእል። encrypted.shannon-ai.com/keys
ኣድራሻታት ናይዚ website ኣብ ኩሎም ሰለስተ መርበባት ኣብዚ ተዘርዚሮም ኣለዉ፦ Encrypted access