163
總倉庫數
22
活躍 Active
18
維護 Maintenance
38
休眠 Dormant
85
棄置 Abandoned
6
安全風險
12
重複/可合併
~5.8 GB
可清理空間
43/100
iSeek 健康度(17 repo 深度分析)
帳號分佈
72
raixcreen(組織帳號)
iSeek 平台、RAIConnect、客戶專案、AI/ML 工具、基礎設施
語言分佈
98
Python
12
Dart/Flutter
9
Vue
5
Go
6
JavaScript
2
TypeScript
6
C/C++
25
其他/空
關鍵發現摘要
- 安全多個 repo 含有硬編碼密碼、API Key、Firebase 金鑰(iSeekService, iseekwebv2, wra_backend, notify_logging 等)Firebase 計劃廢棄
- 安全深度分析發現 5+ 服務存在 SQL Injection(f-string 拼接 SQL):iSeekService, kafka_notify, notify_logging, dispatcher, model_manager P0 — 8 項立即修復
- 技術債DeepStream 將統一至 Python 版(C 版維護至過渡完成)已確認,Triton 全部廢棄已確認
- 架構iSeek 系統健康度 43/100:安全性 25、可測試性 20、可觀測性 35 為最低分項。詳見「iSeek 深度分析」分頁。
- 架構iSeek 平台微服務拓撲完整但有 Gateway/BFF 重複,部分服務未在 GitHub 上(Model Manager, Vision Logic)
- 流程分支策略不統一(main/master/dev/dev2/dev4),缺乏統一的 CI/CD 和版本管理。14/17 iSeek 倉庫零測試覆蓋。
- 清理個人帳號 75 個 repo 中 60 個已棄置,含多個超大 repo(合計 ~5.8GB 可清理)
- 清理公司專案散落在個人帳號(rehabus, nmns, bella, iseek_backstage 等),應統一管理
raixcreen 組織倉庫(72 個)
| 倉庫 | 群組 | 用途 | 技術棧 | 狀態 | 重要程度 | 最後推送 | 預設分支 | Beta 分支 | 部署分支 | 部署主機 |
|---|
ddasdkimo 個人帳號倉庫(91 個)
| 倉庫 | 類型 | 用途 | 語言 | 狀態 | 最後推送 | 大小 | 建議 |
|---|
服務群組 — API 互相呼叫關聯
以下群組根據程式碼中的環境變數、API 呼叫、Kafka 主題、Redis 頻道等實際連接關係建立。
iSeek 核心平台(7 服務)
- iSeekGateway — API 閘道,代理所有外部請求
- iSeekService — 核心業務 API (Port 5433)
- iseekwebv2 — 前端 Vue3 + Flask BFF
- iSeekDeepStream — C 版 AI 推理引擎
- iSeekPythonDeepStream — Python 版 AI 推理引擎
- iSeekMediaService — MediaMTX 媒體服務
- iseek_feature — Traefik/監控/IaC 基礎設施
連接:HTTP 代理鏈 | Kafka topics | Redis | PostgreSQL | RTSP/MediaMTX
AI 監控管線(4 服務)
- kafka_notify — Kafka 消費者,觸發通知
- notify_logging — 影像處理 + 日誌後端 (Port 16012)
- Notifier — 多通道通知 Hub (Discord/LINE/Telegram/Email)
- dispatcher — 攝影機分配器 + 遮罩管理
連接:Kafka deepstream-container-* | Redis Pub/Sub | HTTP POST /notify
RAIConnect 串流平台(3 服務)
- RAIConnectServer — 雲端設備管理 (Go, Port 8091)
- RAIConnectEdge — 邊緣 RTSP 代理 (Go)
- auth_token_service — JWT/RBAC 認證中心 (FastAPI, Port 8100)
連接:JWKS 驗證 | FRP 隧道 | RTSP/MediaMTX | REST API
模型訓練管線(4 工具)
- cvat-trainer — 完整訓練平台 (YOLO/Timm/SAM3)
- training_mission — 自動化訓練監控
- model_manager — 模型 Registry API (Port 6001)
- gradio-cvat-pipeline — 標註 + 推論 Pipeline
連接:CVAT REST API | PostgreSQL | comet_ml | Brev Cloud GPU
推論引擎群(決策已確認)
- iSeekPythonDeepStream — 未來統一版本,積極開發中 ✓
- iSeekDeepStream (C) — 維護至 Python 版上線後退役
- raiPythonIseek — Pure Python 版 ✓
deepstream_ai— DS 7.1 實驗(歸檔)rai_ds— DS 7.1 + Redis(歸檔)deepstream8-python-by-claude-ia— 空(刪除)Triton 系列 x4— 全部廢棄歸檔
已確認:統一到 Python 版 | C 版過渡維護 | Triton 全廢棄
CVAT 工具鏈(4 工具)
- CVAT_migrator — 跨實例遷移
- CVAT_Upload_Scheduler — 排程上傳
- autoupload_cvat — AI 偵測後自動上傳
- cvat_train_yolov8 — 下載資料 + 訓練
連接:CVAT API (192.168.50.15:8080 / 192.168.1.248:8080)
客戶-城鄉計畫(4 repo)
- town_country — 後端 Flask + YOLO + Whisper
- town_country_front — 前端 Vue 3
- town_country_front_app — 行動版前端
- towncountrytextchange — 文字工具
域名:towncountry.intemotech.com
客戶-WRA 水利署(3 repo)
- wra_frontend — Nuxt 4 前端
- wra_backend — Flask API 閘道
- wra_anythingllm — AnythingLLM 設定
RAG 知識庫系統 | 部署 192.168.53.254
客戶-FNG 好歸塑(3 repo)
- fng_front — 前端 Vue 3
- FNG_nx — Jetson NX 邊緣 AI
- FNG_backend — 後端 Flask + timm
塑膠回收分類 AI 系統
客戶-洗腎 DialysisAI(2 repo)
- DialysisAI — MODBUS PLC + 物件辨識
- dialysis_analytics — 數據分析
MODBUS TCP/IP + WebSocket + React
NAT 穿透工具(2 repo,已被取代)
RAIIntraLink— SSH 隧道版(休眠)RaiIntraPiLink— FRP 版(已棄置)
功能已整合至 RAIConnect 的 FRP 隧道
Kiosk 方舟(3 repo,已棄置)
kiosk_bella_frontend— Vue 前端kiosk_bella_backend— Node.js + LLaMAkiosk_bella_web— Android Web 版
2024 年中停止開發
iSeek 平台完整服務拓撲
┌─────────────────────────────────────┐
│ Traefik (iseek_feature) │
│ *.intemotech.com SSL │
└──────────────────┬──────────────────┘
│
┌──────────────────────────────┼──────────────────────────────┐
│ │ │
┌──────▼──────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ iseekwebv2 │ │ iSeekGateway │ │auth_token_service│
│ Vue3 + BFF │──── HTTP ───▶│ API 閘道 │ │ FastAPI JWT/RBAC│
│ │ │ Port 30000 │ │ Port 8100 │
└─────────────┘ └───────┬─────────┘ └────────┬────────┘
│ │
┌───────────────┬────────────┼──────────────┐ │
│ │ │ │ │ JWKS
▼ ▼ ▼ ▼ ▼
┌──────────────┐ ┌────────────┐ ┌──────────┐ ┌────────────────┐
│iSeekService │ │model_manger│ │Notifier │ │RAIConnectServer│
│核心業務 API │ │模型 Registry│ │通知 Hub │ │設備管理 Go │
│Port 5433 │ │Port 6001 │ │Port 30666│ │Port 8091 │
└──────┬───────┘ └────────────┘ └────┬─────┘ └───────┬────────┘
│ │ │
┌─────────────┼──────────────┐ Redis Pub/Sub│ FRP Tunnel
│ │ │ ┌────┬───┬───┘ │
▼ ▼ ▼ ▼ ▼ ▼ ┌──────▼──────┐
┌────────┐ ┌─────────┐ ┌──────────┐ Discord LINE │RAIConnectEdge│
│Postgres│ │ Redis │ │ MediaMTX │ Telegram Email │邊緣 RTSP 代理│
│ │ │ │ │RTSP/HLS │ Zalo └─────────────┘
└────────┘ └─────┬────┘ └────┬─────┘
│ │
┌─────────────┼────────────┼─────────────────────────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌────────────────────┐ ┌────────────────────┐ ┌──────────────┐ ┌───────────────────┐
│iSeekDeepStream (C) │ │iSeekPythonDS (Py) │ │raiPythonIseek│ │deepstream8-python │
│DeepStream 8.0 │ │DeepStream 8.0 pyds │ │Pure Python │ │DS 8.0 YOLO11n │
│TensorRT + GStreamer │ │(未來統一版本) │ │Ultralytics │ │Kafka 生產者 │
└─────────┬──────────┘ └─────────┬──────────┘ └──────┬───────┘ └────────┬──────────┘
│ │ │ │
└───────────────────────┼─────────────────────┼───────────────────┘
▼
┌─────────────┐ ┌──────────────────┐
│ Kafka │────────▶│ kafka_notify │
│ Broker │ │ (消費者) │
└─────────────┘ └────────┬─────────┘
│
┌─────────────┼─────────────┐
▼ ▼
┌──────────────────┐ ┌────────────────────┐
│ notify_logging │ │Alert_Feedback_Loop │
│ 影像處理+日誌 │ │Gemini AI 分析 │
│ Port 16012 │ │+ CVAT 回標 │
└──────────────────┘ └────────────────────┘
Kafka 主題映射
| 主題模式 | 生產者 | 消費者 | 用途 |
|---|---|---|---|
deepstream-container-{id} | DeepStream 引擎 | kafka_notify, notify_logging | AI 偵測結果 JSON |
deepstream-frames-raw-container-{id} | DeepStream 引擎 | notify_logging | 原始影像幀 |
deepstream-frames-raw-bin-container-{id} | DeepStream 引擎 | notify_logging | 二進制影像幀 |
iseek-detections | deepstream8-python | kafka_notify | 偵測結果 |
iseek-status | deepstream8-python | — | Worker 狀態 |
Redis Pub/Sub 頻道
| 頻道 | 發布者 | 訂閱者 | 用途 |
|---|---|---|---|
discord | Notifier Hub | discord_notify | Discord 通知 |
email | Notifier Hub | email_notify | Email 通知 |
line | Notifier Hub | line_notify | LINE 通知 |
telegram | Notifier Hub | telegram_notify | Telegram 通知 |
內網 IP 服務映射
| IP | 服務 | Port |
|---|---|---|
| 192.168.53.220 | iSeekService (Dev) | 5433 |
| 192.168.53.77 | iSeekService (Prod) | 5433 |
| 192.168.53.99 | iSeekService (Staging) | 5433 |
| 192.168.53.25 | Model Manager / Notifier (keepalived VIP) | 6001 / 30666 |
| 192.168.53.150 | Notifier (Dev) (keepalived VIP) | 30666 |
| 192.168.53.22 | Kafka Broker | 9092 |
| 192.168.53.254 | notify_logging / WRA | 5000 / 16012 |
| 192.168.53.35 | Sinon API (興農) | 5002 |
| 192.168.50.15 | CVAT Server | 8080 |
狀況回報
iSeek 系統健康度(17 倉庫深度分析)
基於 2026-03-03 程式碼審計,涵蓋 iSeekService, iSeekGateway, iSeekDeepStream 等 17 個倉庫。標記【推測】表示未實際驗證執行環境。
43
整體健康度 / 100
高風險
需立即處理安全漏洞
需立即處理安全漏洞
62
架構清晰度
45
可維護性
20
可測試性
50
部署一致性
35
可觀測性
40
可靠性
65
效能
25
安全性
8
P0 安全漏洞(SQL injection + 憑證外洩 + 無認證)
5+
服務含 SQL Injection(f-string 拼接)
14/17
零測試覆蓋的倉庫
1/17
有 CI/CD 的倉庫(僅 iseekwebv2 Drone)
17
已分析倉庫數(含 4 個推論引擎)
前 5 關鍵風險
P0 SQL Injection 遍佈 5+ 核心服務
iSeekService camera_repo.py / log_db.py、kafka_notify base_repo.py、dispatcher、model_manager 均使用 f-string 直接拼接 SQL 查詢,攻擊者可透過 API 參數注入任意 SQL。
影響範圍:所有攝影機管理、日誌查詢、通知觸發、模型查詢 API
P0 硬編碼憑證大規模外洩
Firebase 金鑰 JSON(iSeekService)、Metabase Secret Key 6 處(iseekwebv2)、PostgreSQL 密碼 a123321a(notify_logging)、Gemini API Key(Alert_Feedback_Loop)、GitHub OAuth(iseek_feature .drone.yml)。
影響範圍:全系統認證、第三方 API、資料庫直接存取
P0 多個內部 API 無認證保護
iSeekDeepStream TCP socket 8888 無認證、Notifier /notify 端點無認證、model_manager 全 API 無認證、iSeekGateway token 只檢查存在性不驗簽章/過期。
影響範圍:推理引擎可被遠端控制、通知可被任意觸發、模型可被篡改
P1 零測試覆蓋 + 無 CI/CD
17 個倉庫中僅 iSeekService 有少量測試(test_stream_status.py, test_auth_token_integration.py),其餘完全無測試。僅 iseekwebv2 有 Drone CI,所有部署均手動。
影響範圍:任何程式碼變更都可能引入隱性回歸,部署品質無保障
P1 Kafka 訊息 Schema 未版本化
DeepStream 推理結果透過 Kafka 傳遞(deepstream-container-{id} 主題),但 JSON schema 無版本控制。生產者和消費者升級不同步時,將導致靜默資料損壞或通知失敗。【推測】
影響範圍:DeepStream → kafka_notify → notify_logging → Notifier 整條告警管線
iSeek 倉庫狀態矩陣(17 倉庫)
| 倉庫 | 群組 | 狀態 | 重要性 | 健康 | 風險標籤 | 審閱深度 | Beta 分支 | 部署分支 |
|---|---|---|---|---|---|---|---|---|
| iSeekService | 核心平台 | Active | Critical | High Risk | SQL Injection Firebase Key | S3 | dev4 | (待填) |
| iSeekGateway | 核心平台 | Active | Critical | High Risk | Token 不驗簽 CORS * | S3 | dev | (待填) |
| iseekwebv2 | 核心平台 | Active | Critical | High Risk | Metabase Key x6 CORS * | S3 | iseek2.0 | (待填) |
| iSeekDeepStream | 推理引擎 | Maint | High | Needs Improve | TCP 無認證 | S3 | main | main |
| iSeekPythonDeepStream | 推理引擎 | Active | Critical | Needs Improve | 已知 Bug HTTP 明文 | S3 | main | main |
| kafka_notify | 監控管線 | Active | High | High Risk | SQL Injection 硬編碼 IP | S2 | main | main【推測】 |
| notify_logging | 監控管線 | Active | High | High Risk | 硬編碼密碼 Path Traversal | S2 | refactor/... | (待填) |
| Notifier | 監控管線 | Maint | High | Needs Improve | /notify 無認證 | S2 | master | master【推測】 |
| dispatcher | 監控管線 | Dormant | Medium | High Risk | SQL Injection Path Traversal WS 無認證 | S2 | dev | (待填) |
| iSeek_Alert_Feedback_Loop | AI 回饋 | Active | High | Needs Improve | Gemini Key CVAT 憑證 | S2 | main | main【推測】 |
| model_manager | 模型管理 | Maint | High | High Risk | SQL Injection 無認證 API | S2 | master | master【推測】 |
| iseek_feature | 基礎設施 | Active | Critical | Needs Improve | GitHub OAuth 洩漏 | S1 | main | main |
| raiPythonIseek | 推理引擎 | Active | High | Acceptable | Kafka 無 SASL | S1 | main | main【推測】 |
| deepstream8-python | 推理引擎 | Maint | High | Acceptable | 有 CLAUDE.md | S1 | main | main【推測】 |
| iSeekRulePOCSystem | 核心平台 | Active | Medium | Healthy | POC 階段 | S1 | master | (待填) |
| iSeekBFF | 核心平台 | Dormant | Low | High Risk | 僅骨架 debug=True | S1 | main | — |
| iSeekMediaService | 核心平台 | Maint | High | Needs Improve | 匿名認證 僅 1 commit | S0 | main | main |
審閱深度:S3=完整分析(結構+關鍵檔案+邏輯追蹤) | S2=結構+關鍵檔案 | S1=結構概覽 | S0=未深入分析
端到端資料流(推理 → 告警 → 通知)
═══════════════════════════════════════════════════════════════════════════════
即時推理管線(Inference Pipeline)
═══════════════════════════════════════════════════════════════════════════════
RTSP 攝影機串流
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ iSeekPythonDeepStream / iSeekDeepStream (C) │
│ nvurisrcbin → streammux → pgie(TensorRT) → tracker → nvdsosd → tee│
│ │
│ 輸出三路: │
│ ├─ RTSP/HLS → MediaMTX (iSeekMediaService) → 前端即時預覽 │
│ ├─ JPEG 截圖 → HTTP POST → notify_logging → 影像儲存 │
│ └─ JSON 偵測結果 → Kafka → 告警觸發 │
└──────────────────┬───────────────────────────────────────────────────┘
│
▼ Kafka topics: deepstream-container-{id}
┌──────────────────────────────────────────────────────────────────────┐
│ kafka_notify(Kafka Consumer) │
│ ├─ 解析 JSON 偵測結果 │
│ ├─ 查詢 iSeekService 取得攝影機通知設定 │
│ ├─ 檢查冷卻時間(cooldown)避免重複告警 │
│ └─ 觸發 HTTP POST → notify_logging + Notifier │
└──────┬──────────────────────────────────────┬───────────────────────┘
│ │
▼ ▼
┌────────────────────┐ ┌─────────────────────────┐
│ notify_logging │ │ Notifier Hub │
│ ├─ 影像裁切/縮放 │ │ ├─ Redis Pub/Sub 分發 │
│ ├─ 日誌寫入 PG │ │ ├─ discord → Discord │
│ └─ 提供查詢 API │ │ ├─ line → LINE Notify │
└────────────────────┘ │ ├─ telegram → Telegram │
│ ├─ email → SMTP │
│ └─ zalo → Zalo │
└─────────────────────────┘
═══════════════════════════════════════════════════════════════════════════════
AI 回饋迴圈(Feedback Loop)
═══════════════════════════════════════════════════════════════════════════════
告警影像 → iSeek_Alert_Feedback_Loop
├─ Gemini AI 分析(誤報判定 + 原因分析)
├─ CVAT API 自動回標(正確/誤報標記)
└─ 累積資料供模型重訓
═══════════════════════════════════════════════════════════════════════════════
模型管理(Model Lifecycle)
═══════════════════════════════════════════════════════════════════════════════
CVAT 標註 → cvat-trainer 訓練 → model_manager 註冊
│ ├─ latest_category_model API
│ └─ 版本 tag (latest/v1/v2)
▼
iSeekService config → CONTAINER_X_MODEL_ID 環境變數
→ Worker 註冊時取得最新 model_id
→ DeepStream 載入 TensorRT engine
耦合點與故障邊界
- [Kafka 單點] 所有推理結果經由 192.168.53.22:9092 Kafka Broker,若 Broker 故障,告警管線全部中斷。無 Kafka cluster / replication 設定。【推測】
- [Redis 多角色] Redis 同時承擔:iSeekService 快取、Celery Broker、Notifier Pub/Sub、dispatcher 狀態。單一 Redis 故障影響全系統。【推測】
- [PostgreSQL 共用] iSeekService / notify_logging / dispatcher / model_manager 各自連接 PostgreSQL,但部分共用同一實例(192.168.53.220)。連線池管理不一致。
- [HTTP 同步鏈] Gateway → iSeekService → Model Manager 為同步 HTTP 呼叫鏈。任一環節逾時或錯誤,整條鏈失敗。無 circuit breaker 或 retry with backoff。
- [認證斷點] Gateway 到 iSeekService 的 token 轉發僅檢查 header 存在,不驗簽章。內部服務間(kafka_notify → iSeekService)無認證。
- [MediaMTX 匿名] iSeekMediaService 的 MediaMTX 啟用匿名認證(anonymous auth),RTSP 串流可被任意存取。【推測】
- [Frame Drop] iSeekPythonDeepStream 有 smart backoff 機制,但 penalty 機制被註解未啟用。C 版有 RTSP 重連(max 20 retries)但無 queue 溢出保護。
- [Schema 版本] Kafka JSON 訊息無 schema 版本欄位,生產者/消費者升級不同步可能導致欄位遺失或格式錯誤。
iSeek 專屬建議摘要(28 項 — 詳見「系統性建議」分頁)
| 嚴重度 | 數量 | 類別分佈 |
|---|---|---|
| P0 — 立即修復 | 8 | SQL Injection ×4、憑證外洩 ×2、無認證 ×2 |
| P1 — 高優先 | 7 | 架構缺陷 ×5、安全加固 ×2 |
| P2 — 中優先 | 7 | 測試 ×1、觀測 ×1、部署 ×1、架構 ×2、技術債 ×2 |
| P3 — 低優先 | 6 | 流程 ×3、架構 ×2、觀測 ×1 |
審閱進度與最小補件清單
將 S1/S2 推至 S3 所需的最小檔案閱讀清單(每倉庫 3-5 個關鍵檔案)。
| 倉庫 | 目前 | 目標 | 最小補件清單 |
|---|---|---|---|
| kafka_notify | S2 | S3 | consumer.py, notification_handler.py, cooldown_logic.py, docker-compose.yml |
| notify_logging | S2 | S3 | image_processor.py, redis_queue.py, api/routes.py, models.py |
| Notifier | S2 | S3 | pubsub_handler.py, channels/*.py, config.py |
| dispatcher | S2 | S3 | ws_handler.py, camera_allocator.py, mask_manager.py, models.py |
| iSeek_Alert_Feedback_Loop | S2 | S3 | gemini_analyzer.py, cvat_client.py, feedback_pipeline.py |
| model_manager | S2 | S3 | routes/*.py, models.py, file_storage.py, alembic/versions/*.py |
| iseek_feature | S1 | S2 | traefik/dynamic/*.yml, prometheus/prometheus.yml, loki/config.yml, gatus/config.yaml |
| raiPythonIseek | S1 | S2 | inference.py, kafka_producer.py, config.py, Dockerfile |
| deepstream8-python | S1 | S2 | pipeline.py, kafka_sink.py, config/*.yml |
| iSeekRulePOCSystem | S1 | S2 | src/stores/*.ts, src/components/RuleBuilder.tsx, src/types/*.ts |
| iSeekBFF | S1 | S2 | app.py, routes/*.py(僅骨架,預計歸檔) |
| iSeekMediaService | S0 | S1 | mediamtx.yml, docker-compose.yml, Dockerfile(僅 1 commit,內容有限) |
分析方法說明
- 分析日期:2026-03-03 | 分析範圍:raixcreen org 下 17 個 iSeek 相關倉庫
- 分析方式:本地 git clone + 程式碼靜態分析(結構、依賴、安全、架構、測試)
- 標記為【推測】的項目:基於程式碼推論但未實際驗證運行環境或部署配置
- 檢查清單:架構邊界、背壓/丟幀策略、Schema 版本化、冪等/重試、可觀測性、部署一致性、安全性、測試覆蓋、模型更新/回滾、成本/效能
intemotech.com DNS A 記錄清理
未認領的網域將在確認後計劃性刪除。請各位認領目前正在使用的網域,避免被誤刪。
認領身份:
(選擇身份後即可認領網域)
| 子網域 | IP | 狀態 | Proxied | 認領者 | 說明 | 動作 |
|---|
* Dead = TCP 連線測試不可達 Private = 私有 IP(192.168.x.x / 172.x.x.x) Alive = 可達
* 資料產生日期:2026-03-01 共 297 筆 A 記錄(已刪除 97 筆 Dead 未認領) 21 個不重複 IP
* 資料產生日期:2026-03-01 共 297 筆 A 記錄(已刪除 97 筆 Dead 未認領) 21 個不重複 IP
DNS 刪除紀錄
2026-03-03 刪除 97 筆 Dead + 未認領記錄
點擊展開/收合
| 子網域 | 原 IP |
|---|