docs: restructure comparison table with concise cells
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Yechan Kim committed
Apr 2, 2026 at 22:41 UTC
dfa83edb7a1f6731e117e10559f2d2db375bb9a6
2 files changed
+22
-20
README.md
+11
-10
@@ -18,16 +18,17 @@
18
19
## Comparison
20
21
-| Feature | Portal | ngrok | Cloudflare Tunnel | frp |
22
-|---------|--------|-------|-------------------|-----|
23
-| End-to-end encryption | **Yes** — TLS terminates on your side | Optional — TLS passthrough available, but edge termination by default | No — Cloudflare always decrypts at edge | Tunnel TLS only — client↔server encryption, not end-to-end |
24
-| Account required | **No** — SIWE-based ownership | Yes | Yes | No |
25
-| Self-hostable relay | **Yes** | Enterprise only | No | Yes |
26
-| MITM detection | **Yes** — built-in TLS exporter check | No | No | No |
27
-| Multi-relay failover | **Yes** | Managed by ngrok | Yes — built-in multi-DC | No |
28
-| Custom domain | **Yes** | Paid plans only | Yes | Yes |
29
-| Open source | **Yes** — MIT | No | Client only (cloudflared, Apache 2.0) | Yes — Apache 2.0 |
30
-| Transport | Raw TCP / UDP | HTTP/S, TCP, TLS | HTTP/S, TCP, UDP (private network) | HTTP/S, TCP, UDP |
21
+| | Portal | ngrok | Cloudflare Tunnel | frp |
22
+|---|---|---|---|---|
23
+| End-to-end encryption | **Yes** | Optional | No | No |
24
+| TLS termination | Client-side | Edge (default) | Edge (always) | Server-side |
25
+| MITM detection | **Built-in** | No | No | No |
26
+| Self-hostable | **Yes** | Enterprise only | No | Yes |
27
+| Multi-relay failover | **Yes** | Managed | Built-in multi-DC | No |
28
+| Custom domain | **Yes** | Paid plans | Yes | Yes |
29
+| Transport | Raw TCP / UDP | HTTP/S, TCP, TLS | HTTP/S, TCP, UDP | HTTP/S, TCP, UDP |
30
+| Open source | **MIT** | No | Client only (Apache 2.0) | Apache 2.0 |
31
+| Account required | **No** (SIWE) | Yes | Yes | No |
32
33
## Quick Start
34
README.zh-CN.md
+11
-10
@@ -18,16 +18,17 @@
18
19
## 对比
20
21
-| 功能 | Portal | ngrok | Cloudflare Tunnel | frp |
22
-|------|--------|-------|-------------------|-----|
23
-| 端到端加密 | **是** — TLS 在你这一侧终止 | 可选 — 支持 TLS 透传,但默认在边缘终止 | 否 — Cloudflare 始终在边缘解密 | 仅隧道 TLS — 客户端↔服务器加密,非端到端 |
24
-| 需要账号 | **否** — 基于 SIWE 的所有权验证 | 是 | 是 | 否 |
25
-| 可自托管中继 | **是** | 仅企业版 | 否 | 是 |
26
-| MITM 检测 | **是** — 内置 TLS exporter 检查 | 否 | 否 | 否 |
27
-| 多中继故障切换 | **是** | 由 ngrok 管理 | 是 — 内置多数据中心 | 否 |
28
-| 自定义域名 | **是** | 仅付费方案 | 是 | 是 |
29
-| 开源 | **是** — MIT | 否 | 仅客户端(cloudflared,Apache 2.0) | 是 — Apache 2.0 |
30
-| 传输协议 | 原生 TCP / UDP | HTTP/S, TCP, TLS | HTTP/S, TCP, UDP(私有网络) | HTTP/S, TCP, UDP |
21
+| | Portal | ngrok | Cloudflare Tunnel | frp |
22
+|---|---|---|---|---|
23
+| 端到端加密 | **是** | 可选 | 否 | 否 |
24
+| TLS 终止位置 | 客户端 | 边缘(默认) | 边缘(始终) | 服务器端 |
25
+| MITM 检测 | **内置** | 否 | 否 | 否 |
26
+| 可自托管 | **是** | 仅企业版 | 否 | 是 |
27
+| 多中继故障切换 | **是** | 托管 | 内置多数据中心 | 否 |
28
+| 自定义域名 | **是** | 付费方案 | 是 | 是 |
29
+| 传输协议 | 原生 TCP / UDP | HTTP/S, TCP, TLS | HTTP/S, TCP, UDP | HTTP/S, TCP, UDP |
30
+| 开源 | **MIT** | 否 | 仅客户端(Apache 2.0) | Apache 2.0 |
31
+| 需要账号 | **否**(SIWE) | 是 | 是 | 否 |
32
33
## 快速开始
34