55bca92691
Core features: - Class 1 T.30 protocol: full send/receive implementation - HDLC: DLE-stuffing, FCS strip, USR5637 bit-reversal handling - T.4 MH encoder/decoder (1728px A4 standard) - Document pipeline: PDF (Ghostscript), PNG, TIFF input - Width clamping: US Letter 1734px → 1728px fax standard - Cover page: CJK rasterization (TW/CN/JP/EN), TIFF + HTML output - OCR verification: Tesseract 5 with eng+chi_tra, CJK space-tolerant - API server (axum): health, send, jobs, cover, retry, cancel - Background worker: auto-poll queue, speed fallback, retry policy - Modem detection, pool management Real-world test results (2026-07-23): - V90 → 25153038: 4 pages, V.17 12000 bps, 2:33 ✅ - USR5637 → 25153038: 4 pages, V.17 12000 bps, 2:26 ✅ - Both faxes confirmed received on remote machine Tested: loopback (100% pixel match), multi-page, all input formats, cover pages, OCR verify, API endpoints, worker processing. 13 unit tests pass, 0 new clippy warnings.
7.9 KiB
7.9 KiB
傳真伺服器市場比較分析
主要競爭產品
| 產品 | 類型 | 目標市場 | 部署方式 |
|---|---|---|---|
| HylaFAX | 開源 | 企業/ISP | On-premise |
| FaxCore | 商業 | 企業/醫療/政府 | Cloud/On-premise/Hybrid |
| ETHERFAX | 商業 | 醫療/政府/企業 | Cloud/Hybrid |
| eFax Enterprise | 商業 | 企業 | Cloud |
| Telfax | 開源 | 企業/開發者 | On-premise |
功能比較表
核心傳真功能
| 功能 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| Class 1 支援 | ✅ | ✅ | ✅ | ✅ |
| Class 2 支援 | ✅ | ✅ | ✅ | ✅ |
| 多 Modem 支援 | ✅ | ✅ | ✅ | ✅ |
| T.4 MH 編碼 | ✅ | ✅ | ✅ | ✅ |
| T.6 MMR 編碼 | ✅ | ✅ | ✅ | ⚠️ 部分 |
| ECM 錯誤修正 | ✅ | ✅ | ✅ | ❌ |
| 自動重試 | ✅ | ✅ | ✅ | ✅ |
| 速率協商 | ✅ | ✅ | ✅ | ⚠️ 基本 |
部署與架構
| 功能 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| On-premise | ✅ | ✅ | ❌ | ✅ |
| Cloud (SaaS) | ❌ | ✅ | ✅ | ❌ |
| Hybrid | ❌ | ✅ | ✅ | ❌ |
| Docker 容器 | ✅ | ❌ | ❌ | ✅ |
| systemd 服務 | ✅ | N/A | N/A | ✅ |
| 輕量級架構 | ❌ (C/C++) | ❌ | ❌ | ✅ (Rust) |
API 與整合
| 功能 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| REST API | ❌ | ✅ | ✅ | ✅ |
| Token 認證 | ❌ | ✅ | ✅ | ✅ |
| Webhook | ❌ | ✅ | ✅ | ❌ |
| Email-to-Fax | ✅ | ✅ | ✅ | ❌ |
| Active Directory | ❌ | ✅ | ✅ | ❌ |
| LDAP 整合 | ✅ | ✅ | ✅ | ❌ |
安全與合規
| 功能 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| HIPAA | ⚠️ 需配置 | ✅ 認證 | ✅ 認證 | ⚠️ 需配置 |
| FedRAMP | ❌ | ❌ | ✅ High | ❌ |
| PCI DSS | ⚠️ 需配置 | ✅ | ✅ | ⚠️ 需配置 |
| TLS 加密 | ✅ | ✅ | ✅ | ✅ |
| AES-256 | ✅ | ✅ | ✅ | ✅ |
| 審計日誌 | ✅ | ✅ | ✅ | ✅ |
監控與管理
| 功能 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| Prometheus metrics | ❌ | ⚠️ 基本 | ❌ | ✅ |
| systemd journal | ✅ | N/A | N/A | ✅ |
| Web 管理介面 | ✅ | ✅ | ✅ | ❌ |
| 即時狀態監控 | ✅ | ✅ | ✅ | ✅ |
| 郵件通知 | ✅ | ✅ | ✅ | ❌ |
文件處理
| 功能 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| PDF 轉換 | ✅ | ✅ | ✅ | ✅ |
| TIFF 生成 | ✅ | ✅ | ✅ | ✅ |
| Cover Page | ✅ | ✅ | ✅ | ✅ |
| 中文支援 | ⚠️ 需配置 | ✅ | ✅ | ✅ |
| OCR | ❌ | ❌ | ✅ AI | ❌ |
| 文件路由 | ❌ | ✅ | ✅ AI | ❌ |
定價比較
| 產品 | 授權模式 | 預估成本 |
|---|---|---|
| HylaFAX | 開源免費 | $0 (需自行維護) |
| FaxCore | 商業授權 | $5,000-50,000/年 |
| ETHERFAX | SaaS 訂閱 | $50-500/月 |
| eFax Enterprise | SaaS 訂閱 | $100-1000/月 |
| Telfax | 開源免費 | $0 (MIT License) |
Telfax 優勢分析
✅ 競爭優勢
| 項目 | 說明 |
|---|---|
| 現代技術棧 | Rust + Tokio async,記憶體安全、高效能 |
| 輕量級 | 單一 binary,無需複雜依賴 |
| 開源免費 | MIT License,可自由修改和商業使用 |
| Container-ready | systemd 服務 + Docker 支援 |
| REST API | 現代 RESTful API,易於整合 |
| Prometheus | 內建 metrics endpoint,易於監控 |
| 中文支援 | 原生 PingFang 字體,完美中文封面頁 |
| 開發者友善 | 清晰的程式碼結構,易於二次開發 |
⚠️ 需改進
| 項目 | 現狀 | 改進方向 |
|---|---|---|
| Web 管理介面 | ❌ 無 | 加入 Web UI |
| Email 整合 | ❌ 無 | Email-to-Fax |
| Active Directory | ❌ 無 | LDAP/AD 整合 |
| ECM | ❌ 無 | 加入錯誤修正模式 |
| OCR | ❌ 無 | 加入 OCR 功能 |
| Webhook | ❌ 無 | 事件通知機制 |
目標市場定位
企業級功能完整度
↑
│
ETHERFAX ● │
FaxCore ● │
│
HylaFAX ● │
│
Telfax ●──────┼──────→ 開發者友善度
│
│
│
↓
輕量級/易部署
Telfax 適合場景
- 中小企業 - 預算有限,需要基本傳真功能
- 開發者專案 - 需要可定制、可擴展的方案
- 內部系統整合 - 已有 ERP/CRM,需整合傳真功能
- 新創公司 - 快速原型開發,低成本啟動
- 技術團隊 - 有能力維護開源方案
競品適合場景
| 場景 | 推薦方案 |
|---|---|
| 大型企業 (500+ 員工) | FaxCore, ETHERFAX |
| 醫療機構 (需 HIPAA) | ETHERFAX, FaxCore |
| 政府機構 (需 FedRAMP) | ETHERFAX |
| ISP/服務供應商 | HylaFAX |
| 技術團隊 (有開發能力) | HylaFAX, Telfax |
| 快速部署、免維護 | ETHERFAX Cloud |
技術架構比較
HylaFAX 架構
┌─────────────┐
│ Clients │
└──────┬──────┘
│
┌──────▼──────┐
│ faxgetty │ ← C 程式,每個 modem 一個 process
├─────────────┤
│ faxq │ ← Queue manager
├─────────────┤
│ hfaxd │ ← Daemon
└─────────────┘
│
┌──────▼──────┐
│ Modems │
└─────────────┘
特點:
- 成熟穩定(1995年至今)
- 複雜配置
- C/C++ 開發
- Client-server 架構
Telfax 架構
┌─────────────┐
│ REST API │ ← Axum (Rust)
└──────┬──────┘
│
┌──────▼──────┐
│ Worker │ ← Tokio async
├─────────────┤
│ ModemPool │ ← 多 modem 管理
├─────────────┤
│ Queue │ ← SQLite
└─────────────┘
│
┌──────▼──────┐
│ Modems │
└─────────────┘
特點:
- 現代 Rust 技術棧
- 單一 binary
- 簡潔配置(TOML)
- 原生 async/await
效能比較
| 指標 | HylaFAX | FaxCore | ETHERFAX | Telfax |
|---|---|---|---|---|
| 記憶體佔用 | ~50-100 MB | ~200 MB | N/A | ~10-20 MB |
| CPU 使用率 | 中 | 中 | N/A | 低 |
| 啟動時間 | 1-2 秒 | 3-5 秒 | N/A | <1 秒 |
| 最大併發 | 100+ | 100+ | 1000+ | 10-50 |
| 二進位大小 | 10+ MB | 100+ MB | N/A | 5-10 MB |
總結
Telfax 核心定位
Telfax = 現代、輕量、開源、可擴展的企業級傳真伺服器
目標:
├─ 提供生產就緒的傳真功能
├─ 降低部署和維護成本
├─ 支援現代開發實踐(API、metrics、container)
└─ 填補開源方案與商業方案的技術鴻溝
特點:
├─ MIT License - 商業友好
├─ Rust 實作 - 安全、高效
├─ REST API - 易於整合
└─ 中文支援 - 亞洲市場
適合:
├─ 有技術團隊的企業
├─ 需要定制化的場景
├─ 整合到現有系統
└─ 學習和研究傳真技術
發展建議
短期 (Phase 1):
├─ 完成 Class 1 協議穩定性
├─ 加入 Web 管理介面
└─ 改進錯誤處理和日誌
中期 (Phase 2):
├─ 加入 Email-to-Fax 支援
├─ 加入 Webhook 通知
└─ 加入 Active Directory 整合
長期 (Phase 3):
├─ 加入 ECM 錯誤修正模式
├─ 加入 OCR 功能
└─ 加入雲端備援方案