Files
OmniRoute/docs/i18n/ja/docs/ops/PROXY_GUIDE.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

46 KiB
Raw Blame History

🌐 OmniRoute Proxy Guide (日本語)

🌐 Languages: 🇺🇞 English · 🇪🇹 am · 🇞🇊 ar · 🇊🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇚🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇞 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇊🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇟 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇎 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇎 ro · 🇷🇺 ru · 🇱🇰 si · 🇞🇰 sk · 🇞🇮 sl · 🇷🇞 sr · 🇞🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇊 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇚🇳 zh-CN · 🇹🇌 zh-TW


地理的なブロックを回避し、個人情報を保護しながら、あらゆるプロキシ経由で AI トラフィックをルヌティング — 耇雑な蚭定は䞀切䞍芁です。

OmniRoute には、䞊流の AI プロバむダヌぞのトラフィックを HTTP、HTTPS、たたは SOCKS5 プロキシ経由でルヌティングできる、フル機胜のプロキシ管理システムが含たれおいたす。ブロック察象地域にいる堎合、IP ロヌテヌションが必芁な堎合、ステルスフィンガヌプリンティングを䜿甚したい堎合など、このガむドでは必芁な情報をすべお説明したす。


目次


プロキシを䜿甚する理由

倚くの AI プロバむダヌは、地域に基づいおアクセスを制限しおいたす。ロシア、䞭囜、むラン、キュヌバ、トルコなどの囜にいる開発者は、次のような゚ラヌに遭遇したす。

unsupported_country_region_territory

ブロック察象地域倖であっおも、プロキシは次の甚途に圹立ちたす。

ナヌスケヌス 説明
地域制限の回避 ブロック察象囜から OpenAI、Anthropic、Codex、Copilot にアクセスする
IP ロヌテヌション レヌト制限を回避するため、耇数の IP にリク゚ストを分散する
プラむバシヌ 䞊流プロバむダヌから実際の IP を隠す
コンプラむアンス 特定の管蜄区域を経由しおトラフィックをルヌティングする
テスト 異なる地域からのリク゚ストをシミュレヌトする

アヌキテクチャの抂芁

┌───────────────────────────────────────────────────────────────┐
│                       OmniRoute サヌバヌ                       │
│                                                               │
│  ┌─────────────┐    ┌──────────────┐    ┌──────────────────┐  │
│  │ プロキシ     │    │ プロキシ      │    │ プロキシ           │  │
│  │ レゞストリ   │───▶│ ディスパッチャヌ│───▶│ Fetchundici   │  │
│  │SQLite    │    │キャッシュ枈み│    │                  │  │
│  └─────────────┘    └──────────────┘    └────────┬─────────┘  │
│         ▲                                        │            │
│         │                                        â–Œ            │
│  ┌──────┮──────┐                        ┌──────────────────┐  │
│  │ 1proxy 同期  │                        │ 䞊流             │  │
│  │無料プヌル │                        │ プロバむダヌ API   │  │
│  └─────────────┘                        └──────────────────┘  │
└───────────────────────────────────────────────────────────────┘

䞻芁コンポヌネント

コンポヌネント ファむル 圹割
プロキシレゞストリ src/lib/db/proxies.ts プロキシ゚ントリずスコヌプ割り圓おの CRUD
プロキシディスパッチャヌ open-sse/utils/proxyDispatcher.ts キャッシュ機胜を備えた undici ProxyAgent/SOCKS ディスパッチャヌを䜜成する
プロキシ Fetch open-sse/utils/proxyFetch.ts プロキシディスパッチャヌを泚入しお fetch() をラップする
蚭定ルヌト src/app/api/settings/proxy/route.ts 埓来のプロキシ蚭定 APIGET/PUT/DELETE
管理ルヌト src/app/api/v1/management/proxies/route.ts レゞストリ CRUD APIGET/POST/PATCH/DELETE
1proxy DB src/lib/db/oneproxy.ts 無料プロキシマヌケットプレむスの氞続化

4レベルのプロキシシステム

OmniRouteは、優先順䜍に埓っお解決される4぀の独立したスコヌプでのプロキシ蚭定をサポヌトしおいたす。

優先順䜍による解決順序最高 → 最䜎:

  1. 🔵 アカりント/接続プロキシ  →  APIキヌ/OAuth接続ごず
  2. 🟡 プロバむダヌプロキシ     →  プロバむダヌごず䟋: すべおのOpenAIトラフィック
  3. 🟠 コンボプロキシ           →  コンボ/ルヌティング蚭定ごず
  4. 🟢 グロヌバルプロキシ       →  すべおのトラフィック、すべおのプロバむダヌ

解決の仕組み

OmniRouteがアップストリヌムプロバむダヌにリク゚ストを送信するず、resolveProxyForConnectionFromRegistry()が呌び出され、各レベルが順番に確認されたす。

  1. アカりントレベル — この特定の接続IDにプロキシが割り圓おられおいるか
  2. プロバむダヌレベル — このプロバむダヌ䟋: openaiにプロキシが割り圓おられおいるか
  3. グロヌバルレベル — グロヌバルプロキシが蚭定されおいるか
  4. プロキシなし — プロバむダヌに盎接接続したす。

最初に䞀臎した蚭定が䜿甚されたす。぀たり、グロヌバルプロキシをフォヌルバックずしお蚭定し、特定のプロバむダヌや接続に察しお䞊曞きできたす。

プロキシ経由ずなる察象

トラフィックの皮類 プロキシ経由 備考
チャット補完 ✅ すべおの/v1/chat/completionsリク゚スト
埋め蟌み ✅ /v1/embeddings
画像生成 ✅ /v1/images/generations
音声TTS/STT ✅ /v1/audio/*
OAuthトヌクン亀換 ✅ unsupported_country_region_territoryを解決
接続テスト ✅ 「接続をテスト」ボタンでプロキシを䜿甚
トヌクン曎新 ✅ バックグラりンドでのOAuth曎新
モデル同期 ✅ モデルの䞀芧取埗ず怜出

プロキシレゞストリCRUD

プロキシレゞストリは、すべおのプロキシを保存するSQLiteテヌブルproxy_registryです。各プロキシには以䞋のフィヌルドがありたす。

フィヌルド 型 説明
id UUID 䞀意の識別子
name 文字列 人が刀読できるラベル
type 文字列 プロトコル: http、https、socks5
host 文字列 プロキシのホスト名たたはIP
port 敎数 ポヌト番号
username 文字列 認蚌ナヌザヌ名保存時に暗号化
password 文字列 認蚌パスワヌド保存時に暗号化
region 文字列 地理的リヌゞョンのラベル
notes 文字列 自由蚘述のメモ
status 文字列 activeたたはinactive
source 文字列 manualたたはoneproxy

プロキシの䜜成

ダッシュボヌドから:

  1. 蚭定 → プロキシに移動したす
  2. プロキシを远加をクリックしたす
  3. タむプ、ホスト、ポヌト、および任意の認蚌情報を入力したす
  4. 保存したす

APIから:

curl -X POST http://localhost:20128/api/v1/management/proxies \
  -H "Content-Type: application/json" \
  -d '{
    "name": "US Proxy",
    "type": "http",
    "host": "proxy.example.com",
    "port": 8080,
    "username": "user",
    "password": "pass",
    "region": "US"
  }'

プロキシの曎新

curl -X PATCH http://localhost:20128/api/v1/management/proxies \
  -H "Content-Type: application/json" \
  -d '{
    "id": "proxy-uuid-here",
    "host": "new-proxy.example.com",
    "port": 9090
  }'

泚: 明瀺的に空でない眮換倀を送信しない限り、認蚌情報は保持されたす。username/passwordに空文字列を送信した堎合、保存枈みの倀が維持されたす。

プロキシの削陀

# プロキシがいずれかのスコヌプに割り圓おられおいる堎合は倱敗
curl -X DELETE "http://localhost:20128/api/v1/management/proxies?id=proxy-uuid"

# 匷制削陀割り圓おも削陀
curl -X DELETE "http://localhost:20128/api/v1/management/proxies?id=proxy-uuid&force=1"

プロキシの䞀芧衚瀺

curl "http://localhost:20128/api/v1/management/proxies?limit=50&offset=0"

スコヌプぞのプロキシの割り圓お

# グロヌバルスコヌプに割り圓お
curl -X PUT http://localhost:20128/api/settings/proxy \
  -H "Content-Type: application/json" \
  -d '{"level": "global", "proxy": {"type":"http","host":"proxy.example.com","port":8080}}'

# 特定のプロバむダヌに割り圓お
curl -X PUT http://localhost:20128/api/settings/proxy \
  -H "Content-Type: application/json" \
  -d '{"level": "provider", "id": "openai", "proxy": {"type":"socks5","host":"socks.example.com","port":1080}}'

# 特定の接続/キヌに割り圓お
curl -X PUT http://localhost:20128/api/settings/proxy \
  -H "Content-Type: application/json" \
  -d '{"level": "key", "id": "connection-uuid", "proxy": {"type":"http","host":"key-proxy.com","port":3128}}'

有効なプロキシの解決

指定した接続にどのプロキシが䜿甚されるかを確認したす。

curl "http://localhost:20128/api/settings/proxy?resolve=connection-uuid"

解決されたプロキシが、そのレベルaccount、provider、たたはglobalおよび゜ヌスずずもに返されたす。

䞀括割り圓お

1぀のプロキシを耇数のプロバむダヌたたは接続に䞀括で割り圓おたす。

curl -X POST http://localhost:20128/api/v1/management/proxies/bulk-assign \
  -H "Content-Type: application/json" \
  -d '{
    "scope": "provider",
    "scopeIds": ["openai", "anthropic", "codex"],
    "proxyId": "proxy-uuid"
  }'

むンポヌト/゚クスポヌト

プロキシはバックアップ/埩元システムに含たれたす。OmniRoute蚭定を゚クスポヌトする堎合:

  1. ダッシュボヌド → 蚭定 → バックアップに移動したす
  2. ゚クスポヌトをクリックしたす — プロキシレゞストリず割り圓おも含たれたす
  3. 埩元するには、むンポヌトをクリックしおバックアップファむルをアップロヌドしたす

プロキシレゞストリは、host+portによるupsertもサポヌトしおいたす。すでに存圚するプロキシホストずポヌトが同じをむンポヌトするず、重耇を䜜成する代わりに既存のプロキシが曎新されたす。

レガシヌマむグレヌション

以前のバヌゞョンレゞストリ導入前でプロキシを蚭定しおいた堎合、OmniRoute はそれらを自動的に移行したす。

埓来の key_value ストア → proxy_registry + proxy_assignments

この凊理は、アップグレヌド埌の初回起動時に䞀床だけ実行されたす。再実行するには、migrateLegacyProxyConfigToRegistry({ force: true }) を䜿甚しおください。


1proxy 無料プロキシマヌケットプレむス

🆕 @oyi77 によるコントリビュヌション — PR #1847Issue #1788

OmniRoute は 1proxy コミュニティプラットフォヌムず統合されおおり、䞖界䞭の怜蚌枈み無料プロキシ数癟件を利甚できたす。独自のプロキシむンフラストラクチャを持たないナヌザヌに最適です。

仕組み

┌─────────────┐   同期      ┌─────────────────┐  ロヌテヌション  ┌────────────┐
│  1proxy API │ ──────────▶ │  proxy_registry  │ ──────────────▶ │ プロバむダヌ │
│   倖郚   │ 最倧500ä»¶   │  source=oneproxy │    品質順        │    API     │
└─────────────┘ プロキシ     └─────────────────┘                  └────────────┘
  1. 同期 — OmniRoute が 1proxy API から怜蚌枈みプロキシを取埗したす
  2. 保存 — プロキシは source = 'oneproxy' ずしお同じ proxy_registry テヌブルに保存されたす
  3. フィルタリング — プロトコル、囜、品質スコアでフィルタリングしたす
  4. ロヌテヌション — 品質、ランダム、たたは順次戊略を䜿甚しお最適なプロキシを遞択したす
  5. 自動劣化 — 倱敗したプロキシの品質スコアを䞋げ、しきい倀を䞋回るず非アクティブずしおマヌクしたす

プロキシの同期

ダッシュボヌドから

  1. Settings → 1proxy タブに移動したす
  2. **「Sync Now」**をクリックしたす
  3. 統蚈情報プロキシ総数、アクティブ数、平均品質、囜別内蚳を確認したす

API から

# 同期を開始
curl -X POST http://localhost:20128/api/settings/oneproxy \
  -H "Content-Type: application/json" \
  -d '{}'

# レスポンス
# { "success": true, "added": 127, "updated": 45, "failed": 2, "total": 172 }

プロキシのフィルタリング

# プロトコルでフィルタリング
curl "http://localhost:20128/api/settings/oneproxy?protocol=socks5"

# 囜でフィルタリング
curl "http://localhost:20128/api/settings/oneproxy?countryCode=US"

# 最小品質スコアでフィルタリング
curl "http://localhost:20128/api/settings/oneproxy?minQuality=80"

# フィルタヌを組み合わせる
curl "http://localhost:20128/api/settings/oneproxy?protocol=http&countryCode=DE&minQuality=70"

プロキシ品質スコア

各 1proxy プロキシには、次のメタデヌタが含たれたす

フィヌルド 説明
qualityScore 1proxy の怜蚌による0100の評䟡
latencyMs 枬定されたネットワヌク遅延
anonymity transparent、anonymous、たたは elite
googleAccess プロキシが Google サヌビスにアクセス可胜かどうか
countryCode 2文字の ISO 囜コヌド
lastValidated 最終怜蚌時のタむムスタンプ

品質スコアは動的に調敎されたす

  • 倱敗したリク゚ストごずにスコアが10ポむント䞋がりたす
  • スコアが10以䞋に䜎䞋 → プロキシが inactive ずしおマヌクされたす
  • 非アクティブなプロキシはロヌテヌションから陀倖されたす

ロヌテヌション戊略

# 品質順にロヌテヌション最適なプロキシを優先— デフォルト
curl -X POST http://localhost:20128/api/settings/oneproxy/rotate \
  -H "Content-Type: application/json" \
  -d '{"strategy": "quality"}'

# ランダムロヌテヌション
curl -X POST http://localhost:20128/api/settings/oneproxy/rotate \
  -d '{"strategy": "random"}'

# 順次ロヌテヌション最終怜蚌日時が叀いものを優先
curl -X POST http://localhost:20128/api/settings/oneproxy/rotate \
  -d '{"strategy": "sequential"}'

サヌキットブレヌカヌ

1proxy の同期にはサヌキットブレヌカヌが組み蟌たれおいたす

  • 5回連続で同期に倱敗するず、それ以降の同期詊行はブロックされたす
  • resetOneproxyCircuitBreaker() を䜿甚するか、サヌバヌを再起動しおリセットしたす
  • 同期ステヌタスは GET /api/settings/oneproxy?action=status で確認できたす

1proxy プロキシの削陀

# 1件の 1proxy プロキシを削陀
curl -X DELETE "http://localhost:20128/api/settings/oneproxy?id=proxy-uuid"

# すべおの 1proxy プロキシを削陀手動プロキシには圱響したせん
curl -X DELETE "http://localhost:20128/api/settings/oneproxy?clearAll=1"

怜出回避ずステルス

OmniRoute は単にプロキシ経由でトラフィックをルヌティングするだけではなく、トラフィックを正芏のものに芋せたす。

TLS フィンガヌプリントの停装

wreq-js を䜿甚しおブラりザヌのような TLS フィンガヌプリントを生成し、ブラりザヌ以倖の TLS ハンドシェむクを怜出するボット怜出システムを回避したす。

CLI フィンガヌプリントの䞀臎

CLI フィンガヌプリント切り替え蚭定 → セキュリティは、HTTP ヘッダヌず JSON ボディフィヌルドを䞊べ替え、ネむティブ CLI バむナリClaude Code、Codex などのシグネチャず正確に䞀臎させたす。これはプロキシに远加しお機胜したす。

あなたの IPブロック察象→ プロキシ IP米囜→ プロバむダヌ API
                              + TLS 停装
                              + CLI フィンガヌプリント

IP マスキングずリク゚ストの真正性を同時に実珟できたす。

プロキシ IP の維持

ダッシュボヌドの色分けされたバッゞに、どのプロキシレベルが有効かが衚瀺されたす。

バッゞ レベル 意味
🟢 グロヌバル すべおのトラフィックがこのプロキシを経由したす
🟡 プロバむダヌ このプロバむダヌのトラフィックのみがプロキシされたす
🔵 接続 この特定のキヌアカりントがこのプロキシを䜿甚したす

バッゞには、確認甚に名前解決されたプロキシ IP も衚瀺されたす。


アップストリヌムプロキシモヌド

CLIProxyAPI パタヌンを䜿甚するプロバむダヌ向けに、OmniRoute は 3 ぀のアップストリヌムプロキシモヌドをサポヌトしおいたす。

モヌド 説明
native OmniRoute がプロキシルヌティングを盎接凊理したすデフォルト
cliproxyapi 倖郚の CLIProxyAPI むンスタンスに凊理を委任したす
fallback 最初に native を詊し、倱敗した堎合は CLIProxyAPI を䜿甚したす

プロバむダヌごずに蚭定したす。

curl -X PUT "http://localhost:20128/api/upstream-proxy/openai" \
  -H "Content-Type: application/json" \
  -d '{"mode": "native", "enabled": true}'

ダッシュボヌド UI

蚭定 → プロキシタブ

  • グロヌバルプロキシの蚭定すべおのトラフィックに察しお䞀床だけ蚭定
  • プロバむダヌごずのプロキシによるオヌバヌラむド
  • 接続ごずのプロキシの割り圓お
  • 蚭定枈みプロキシ経由の接続テスト
  • 有効なプロキシレベルを瀺す色分けされたバッゞ

蚭定 → 1proxy タブ

  • 無料プロキシを取埗するための今すぐ同期ボタン
  • 統蚈カヌド合蚈、アクティブ、平均品質、最終同期
  • フィルタヌプロトコル、囜コヌド、最䜎品質
  • ホスト、プロトコル、囜、品質スコア、レむテンシヌ、匿名性、Google ぞのアクセス可吊を衚瀺するプロキシテヌブル
  • 成功倱敗の远跡ず連続倱敗回数を衚瀺する同期ステヌタスパネル
  • すべおの 1proxy ゚ントリヌを削陀するすべおクリア

API リファレンス

プロキシ蚭定 API

メ゜ッド ゚ンドポむント 説明
GET /api/settings/proxy プロキシ蚭定党䜓を取埗
GET /api/settings/proxy?level=global グロヌバルプロキシを取埗
GET /api/settings/proxy?level=provider&id=openai プロバむダヌプロキシを取埗
GET /api/settings/proxy?resolve=connectionId 有効なプロキシを解決
PUT /api/settings/proxy プロキシ蚭定を曎新
DELETE /api/settings/proxy?level=provider&id=openai 指定レベルのプロキシを削陀

プロキシレゞストリ API

メ゜ッド ゚ンドポむント 説明
GET /api/v1/management/proxies すべおのプロキシを䞀芧衚瀺
GET /api/v1/management/proxies?id=uuid ID でプロキシを取埗
GET /api/v1/management/proxies?id=uuid&where_used=1 プロキシの割り圓おを取埗
POST /api/v1/management/proxies プロキシを䜜成
PATCH /api/v1/management/proxies プロキシを曎新
DELETE /api/v1/management/proxies?id=uuid プロキシを削陀
DELETE /api/v1/management/proxies?id=uuid&force=1 匷制削陀
POST /api/v1/management/proxies/bulk-assign 䞀括割り圓お
GET /api/v1/management/proxies/assignments 割り圓おを䞀芧衚瀺
GET /api/v1/management/proxies/health プロキシのヘルス統蚈を取埗

トンネル API

プロキシ経由でアりトバりンドトラフィックをルヌティングする代わりに、OmniRoute むンスタンスを公開むンタヌネットに公開する方法Cloudflare/ngrok/Tailscaleに぀いおは、TUNNELS_GUIDE.md を参照しおください。トンネル REST API は /api/tunnels/{cloudflared,ngrok,tailscale}/* 配䞋にあり、䞊蚘のアりトバりンドプロキシチェヌンずは独立しおいたす。

1proxy API

メ゜ッド ゚ンドポむント 説明
GET /api/settings/oneproxy 1proxy のプロキシを䞀芧衚瀺
GET /api/settings/oneproxy?action=stats 統蚈ず同期ステヌタスを取埗
GET /api/settings/oneproxy?action=status 同期ステヌタスのみを取埗
POST /api/settings/oneproxy 同期を開始
POST /api/settings/oneproxy/rotate 次のプロキシにロヌテヌション
DELETE /api/settings/oneproxy?id=uuid 1 件を削陀
DELETE /api/settings/oneproxy?clearAll=1 すべおクリア

アップストリヌムプロキシ API

メ゜ッド ゚ンドポむント 説明
GET /api/upstream-proxy/:providerId アップストリヌムプロキシ蚭定を取埗
PUT /api/upstream-proxy/:providerId アップストリヌムプロキシモヌドを蚭定
DELETE /api/upstream-proxy/:providerId アップストリヌムプロキシ蚭定を削陀

環境倉数

倉数 デフォルト 説明
ENABLE_SOCKS5_PROXY true SOCKS5プロキシのサポヌトを有効化.env.exampleのデフォルトはtrue

トラブルシュヌティング

「SOCKS5 proxy is disabled」

.envファむルでENABLE_SOCKS5_PROXY=trueを蚭定し、再起動しおください。

プロキシ経由で「socket hang up」゚ラヌが発生する

アむドル状態の接続を切断する安䟡なプロキシでは、これは正垞な動䜜です。OmniRouteでは、以䞋の方法ですでに察凊しおいたす。

  • プロキシ接続のキヌプアラむブを無効化keepAliveTimeout: 1
  • パむプラむン凊理を無効化pipelining: 0
  • ディスパッチャヌをキャッシュし、ハンドシェむクの繰り返しを回避

問題が解消しない堎合は、別のプロキシを詊すか、1proxyのロヌテヌション機胜を䜿甚しおください。

OAuth䞭に「unsupported_country_region_territory」が発生する

OAuthフロヌを開始する前にプロキシが蚭定されおいるこずを確認しおください。OmniRouteは、蚭定されたプロキシを経由しおOAuthトヌクン亀換を行いたす。最初にグロヌバルプロキシたたはプロバむダヌレベルのプロキシを蚭定しおから、接続しおください。

プロキシが䜿甚されない

解決の優先順䜍を確認しおください。

  1. GET /api/settings/proxy?resolve=your-connection-idで確認する
  2. プロキシのstatusがactiveinactiveではないであるこずを確認する
  3. プロキシ割り圓おのスコヌプが接続ず䞀臎しおいるこずを確認する

1proxyの同期に倱敗する

同期ステヌタスを確認しおください。

curl "http://localhost:20128/api/settings/oneproxy?action=status"

consecutiveFailures >= 5の堎合、サヌキットブレヌカヌが䜜動しおいたす。サヌバヌを再起動しおリセットするか、手動でリセットされるたで埅っおください。


デヌタベヌススキヌマ

proxy_registryテヌブル

CREATE TABLE proxy_registry (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  type TEXT NOT NULL DEFAULT 'http',
  host TEXT NOT NULL,
  port INTEGER NOT NULL,
  username TEXT DEFAULT '',
  password TEXT DEFAULT '',
  region TEXT,
  notes TEXT,
  status TEXT DEFAULT 'active',
  source TEXT NOT NULL DEFAULT 'manual',    -- 'manual'たたは'oneproxy'
  quality_score INTEGER,                     -- 01001proxyのみ
  latency_ms INTEGER,                        -- ミリ秒1proxyのみ
  anonymity TEXT,                            -- transparent/anonymous/elite
  google_access INTEGER DEFAULT 0,           -- Googleにアクセス可胜か1proxy
  last_validated TEXT,                       -- ISOタむムスタンプ1proxy
  country_code TEXT,                         -- ISO 2文字コヌド1proxy
  created_at TEXT NOT NULL,
  updated_at TEXT NOT NULL
);

proxy_assignmentsテヌブル

CREATE TABLE proxy_assignments (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  proxy_id TEXT NOT NULL REFERENCES proxy_registry(id),
  scope TEXT NOT NULL,        -- 'global'、'provider'、'account'、'combo'
  scope_id TEXT,              -- プロバむダヌID、接続ID、たたはコンボID
  created_at TEXT NOT NULL,
  updated_at TEXT NOT NULL,
  UNIQUE(scope, scope_id)
);

プロキシのヘルスチェックv3.8.16以降

OmniRouteのプロキシ高速倱敗メカニズムsrc/lib/proxyHealth.tsは、簡易TCP接続チェックによっお2秒未満で停止䞭のプロキシを怜出し、リク゚ストごずのオヌバヌヘッドを避けるために結果をキャッシュしたす。

動䜜の仕組み

リク゚スト ──▶ ProxyHealthCache.get(url)
                 │
                 ├─ キャッシュヒット有効  ──▶ キャッシュされたステヌタスを返す
                 │
                 └─ キャッシュミス期限切れ  ──▶ host:portにTCP接続
                                                    タむムアりトFAST_FAIL_TIMEOUT_MS
                                                    ──▶ HEALTH_CACHE_TTL_MSの間キャッシュ
                                                    ──▶ 結果を返す

この仕組みがない堎合、停止䞭のプロキシは倱敗するたで、すべおのリク゚ストをPROXY_TIMEOUT_MSの党期間デフォルトは30秒ブロックしたす。

調敎可胜な環境倉数

倉数 デフォルト 甹途
PROXY_FAST_FAIL_TIMEOUT_MS 2000 ヘルスチェックごずのTCP接続タむムアりト
PROXY_HEALTH_CACHE_TTL_MS 30000 ヘルスチェック結果をキャッシュする期間

掚奚倀

シナリオ 高速倱敗タむムアりト キャッシュTTL 理由
高スルヌプットAPIゲヌトりェむ 1500ms 60000ms 積極的に早期倱敗させ、キャッシュを長くしおチェック回数を削枛
地理的に分散したノヌド 3000ms 15000ms 䜎速なネットワヌクには長い時間が必芁。キャッシュを短くしお迅速にフェむルオヌバヌ
開発テスト 1000ms 10000ms ロヌカルプロキシで迅速に反埩
ステルス怜出回避 2500ms 45000ms レヌト制限を匕き起こす可胜性がある短時間での繰り返しチェックを回避

プロキシのヘルス状態を確認する

import { getAllProxyHealthStatuses, invalidateProxyHealth } from "omniroute/proxyHealth";

const statuses = getAllProxyHealthStatuses();
for (const s of statuses) {
  console.log(`${s.proxyUrl} → healthy=${s.healthy}, stale=${s.stale}`);
}

// 特定のプロキシを匷制的に再チェック
invalidateProxyHealth("http://user:pass@203.0.113.7:8080");

キャッシュ゚ントリがHEALTH_CACHE_TTL_MSを超過し、次のリク゚ストで新しいチェックが実行される堎合、staleフラグはtrueになりたす。

プロキシタむプごずのデフォルト

ヘルスチェックでは、URLスキヌムに基づいお適切なデフォルト倀が䜿甚されたす。

スキヌム デフォルトポヌト
http:// 8080
https:// 443
socks5:// / socks5h:// 1080

URL内のカスタムポヌトhttp://host:9999は、垞にスキヌムのデフォルトより優先されたす。


プロキシ分析ず可芳枬性

OmniRoute はプロキシごずの䜿甚状況を远跡し、オペレヌタヌがルヌティングパタヌン、レむテンシの急増、繰り返し発生する障害を蚺断できるようにしたす。

远跡される項目

蚭定枈みのプロキシを経由するすべおのリク゚ストに぀いお、OmniRoute は以䞋を蚘録したす。

メトリクス 説明
proxy_url 完党なプロキシ URL認蚌情報はマスキング枈み
provider アップストリヌムプロバむダヌ IDopenai、anthropic など
latency_ms プロキシハンドシェむクを含む合蚈埀埩時間
connect_ms TCP 接続時間のみ
status アップストリヌムから返された HTTP ステヌタスコヌド
error リク゚ストが倱敗した堎合の゚ラヌクラス
timestamp ISO 8601 UTC

デヌタぞのアクセス

# 最近のプロキシむベント
curl -H "Authorization: Bearer $OMNIROUTE_KEY" \
  "http://localhost:20128/api/usage/proxy-logs?limit=100"

実際の゚ンドポむントは /api/usage/proxy-logs ですsrc/app/api/usage/proxy-logs/route.ts を参照。この゚ンドポむントは以䞋をサポヌトしたす。

  • GET /api/usage/proxy-logs — プロキシログを取埗
  • DELETE /api/usage/proxy-logs — すべおのプロキシログを消去

必芁に応じお、集蚈統蚈を SQL を䜿甚しお proxy_logs テヌブルから盎接照䌚できたす。ダッシュボヌド UI でも集蚈ビュヌが提䟛される堎合がありたす。

䞀般的なパタヌン

䞍安定なプロキシを怜出する成功ず倱敗を繰り返す堎合

SELECT proxy_url,
       COUNT(*) AS total,
       SUM(CASE WHEN status >= 500 THEN 1 ELSE 0 END) AS errors,
       ROUND(100.0 * SUM(CASE WHEN status >= 500 THEN 1 ELSE 0 END) / COUNT(*), 1) AS error_pct
FROM proxy_logs
WHERE timestamp > datetime('now', '-1 hour')
GROUP BY proxy_url
HAVING error_pct > 5
ORDER BY error_pct DESC;

䜎速なプロキシを特定するp95 レむテンシが 2 秒を超える堎合

WITH ranked AS (
  SELECT proxy_url, latency_ms,
         PERCENT_RANK() OVER (PARTITION BY proxy_url ORDER BY latency_ms) AS pct
  FROM proxy_logs
  WHERE timestamp > datetime('now', '-24 hour')
)
SELECT proxy_url, latency_ms
FROM ranked
WHERE pct >= 0.95
ORDER BY latency_ms DESC;

ロヌテヌション戊略の決定ツリヌ

耇数のプロキシがスコヌプに割り圓おられおいる堎合、OmniRoute はロヌテヌション戊略を䜿甚しお、各リク゚ストに䜿甚するプロキシを遞択したす。戊略はスコヌプレベルグロヌバル、プロバむダヌごず、アカりントごず、組み合わせごずで蚭定されたす。

利甚可胜な戊略

戊略 䜿甚する状況 トレヌドオフ
qualityデフォルト 品質が混圚するプロキシを䜿甚する本番環境 高評䟡のプロキシを優先するため、䜎評䟡のものが䜿甚されない堎合がある
random 負荷分散、プラむバシヌ 均等に分散するが、品質シグナルは無芖する
sequential デバッグ、決定論的テスト プロキシを順番に巡回するため、動䜜を理解しやすい

決定ツリヌ

                    プロキシの品質スコアがありたすか
                    │
        ┌───────────┮───────────┐
        │                       │
       はい                    いいえ
        │                       │
   すべおのプロキシの           │
   品質はほが同じですか       │
        │                       │
   ┌────┮────┐                  │
   │         │                  │
  はい      いいえ             䜿甚
   │         │              `random`
   │         │              均等な分散により
   │         │              時間の経過ずずもに
   │         │              品質デヌタを蓄積
   │         │
   │    `quality` を䜿甚
   │    品質が混圚する堎合に
   │    最適
   │
`random` を䜿甚
負荷を均等に
分散

独自プロキシの障害時自動陀倖

1proxy マヌケットプレむスプヌルでは、障害が発生したプロキシをすでに自動的に降栌させたすプロキシ品質スコアを参照。レゞストリに自身で远加したプロキシに぀いおは、バックグラりンドのヘルススケゞュヌラヌsrc/lib/proxyHealth/scheduler.tsにより、䜕も削陀するこずなく、同様に「停止したメンバヌをチェヌンから自動的に陀倖する」動䜜を実珟できたす。

# .env — 3回連続でプロヌブに倱敗した埌、プロキシを゜フト無効化し、
# プロヌブぞの応答が再開されたら自動的に再有効化したす。
PROXY_AUTO_DISABLE=true
PROXY_AUTO_REMOVE_AFTER=3

マルチプロキシチェヌンでの動䜜

  1. スケゞュヌラヌは、登録されおいるすべおのプロキシを PROXY_HEALTH_INTERVAL_MS ごずにプロヌブしたすデフォルトは10分、最小は1分。
  2. PROXY_AUTO_REMOVE_AFTER 回連続で確定的な障害実際の接続障害。タむムアりトやプロヌブ察象自䜓の 5xx はカりントされたせん。プロキシヘルスチェックを参照が発生するず、プロキシの status が dead に蚭定されたす。
  3. dead は、プヌルロヌテヌションの解決時に䜿甚される皌働ステヌタスフィルタヌによっお陀倖されるステヌタスの1぀です。そのため、スコヌプのロヌテヌションラりンドロビンランダムスティッキヌレむテンシヌ。ロヌテヌション戊略の決定朚を参照は、新しいリク゚ストぞのそのプロキシの割り圓おを盎ちに停止したす。プヌル内の他のプロキシには圱響せず、プヌル党䜓が暗黙的に盎接接続ぞフォヌルバックするこずもありたせん。4段階プロキシシステムのフェむルクロヌズ保護を参照しおください。
  4. スケゞュヌラヌは、同じ間隔で dead プロキシのプロヌブを継続したす。次のプロヌブが成功するず status が active に戻り、そのプロキシはロヌテヌションに再参加したす。手動で再远加する必芁はありたせん。

これは意図的にオプトむンか぀非砎壊的な仕組みです。デフォルトでは、スケゞュヌラヌは障害のカりントずログ蚘録のみを行いdecision.ts のポリシヌ C を参照、PROXY_AUTO_DISABLE が行を削陀するこずはありたせん。行を削陀するのは、別の、より積極的な PROXY_AUTO_REMOVE フラグです。䞡方が true に蚭定されおいる堎合は、PROXY_AUTO_REMOVE が優先されたすたもなく削陀されるプロキシを、その前に゜フト無効化しおも意味がないためです。倉数の完党な䞀芧に぀いおは、環境蚭定リファレンスを参照しおください。


📖 関連ドキュメント