V1.0: Class 1 fax — real-world 4-page send to external number confirmed
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.
This commit is contained in:
@@ -0,0 +1,275 @@
|
||||
# 傳真伺服器市場比較分析
|
||||
|
||||
## 主要競爭產品
|
||||
|
||||
| 產品 | 類型 | 目標市場 | 部署方式 |
|
||||
|------|------|---------|---------|
|
||||
| **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 適合場景
|
||||
|
||||
1. **中小企業** - 預算有限,需要基本傳真功能
|
||||
2. **開發者專案** - 需要可定制、可擴展的方案
|
||||
3. **內部系統整合** - 已有 ERP/CRM,需整合傳真功能
|
||||
4. **新創公司** - 快速原型開發,低成本啟動
|
||||
5. **技術團隊** - 有能力維護開源方案
|
||||
|
||||
### 競品適合場景
|
||||
|
||||
| 場景 | 推薦方案 |
|
||||
|------|---------|
|
||||
| 大型企業 (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 功能
|
||||
└─ 加入雲端備援方案
|
||||
```
|
||||
Reference in New Issue
Block a user