cpolar - 安全、稳定、快速的内网穿透工具
版本: 最新稳定版
适用系统: macOS / Linux / Windows / NAS
文档更新日期: 2026-04-13
cpolar 是一款强大的内网穿透工具,可以将本地服务器安全地暴露到公网,支持:
✅ 全球基础设施 - 多个数据中心,选择最佳节点
✅ 安全可靠 - 支持 TLS 加密、IP 白名单、密码保护
✅ 简单易用 - Web UI 和命令行双界面
✅ 跨平台 - 支持 Windows、macOS、Linux、NAS
✅ 免费套餐 - 提供基础的免费穿透服务
✅ 自定义域名 - 支持绑定自己的域名
方法一:官方安装(推荐)
bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后配置环境变量:
bash# Apple Silicon (M1/M2/M3)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# Intel Mac
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
方法二:国内镜像安装(网络不佳时使用)
bash/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
💡 提示: 执行后选择镜像,建议选择镜像 2(速度较快)
验证安装:
bashbrew --version
bash# 添加 cpolar 源并安装
brew tap probezy/core && brew install cpolar
验证安装:
bashcpolar version
bashcpolar authtoken xxxxxxx
将 xxxxxxx 替换为你的实际 Token。
bash# 安装服务
sudo cpolar service install
# 启动服务
sudo cpolar service start
# 查看服务状态
sudo cpolar service status
在浏览器中打开:
http://127.0.0.1:9200
使用你的 cpolar 账号登录即可开始使用。
国内用户:
bashcurl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
国外用户:
bashcurl -sL https://git.io/cpolar | sudo bash
bashcpolar version
bashcpolar authtoken xxxxxxx
bashcpolar http 8080
按 Ctrl+C 退出测试。
bash# 设置开机自启
sudo systemctl enable cpolar
# 启动服务
sudo systemctl start cpolar
# 查看服务状态
sudo systemctl status cpolar
访问:https://dashboard.cpolar.com/status
/usr/local/bin/cpolar/usr/local/etc/cpolar/cpolar.yml双击安装包,一路默认安装即可。
打开命令提示符(CMD)或 PowerShell:
bashcpolar authtoken xxxxxxx
cpolar 会自动安装为 Windows 服务并启动。
浏览器访问:
http://127.0.0.1:9200
bashcpolar authtoken your-token-here
bash# 查看配置信息
cpolar config
# 或查看配置文件
cat ~/.cpolar/cpolar.yml
http://127.0.0.1:9200
使用 cpolar 账号密码登录。
127.0.0.1:8080(你的本地服务端口)127.0.0.1:22(SSH)或 127.0.0.1:3389(远程桌面)CNAME your-domain.com -> xxx.cpolar.cn
bash# 基本用法
cpolar http 8080
# 指定子域名
cpolar http -subdomain=myapp 8080
# 指定自定义域名
cpolar http -hostname=example.com 8080
# 启用 HTTPS
cpolar http -bind-tls=true 8080
# 同时支持 HTTP 和 HTTPS
cpolar http -bind-tls=both 8080
bash# 基本用法(随机端口)
cpolar tcp 22
# 使用预留端口
cpolar tcp -remote-addr=12345 22
# 指定地区
cpolar tcp -region=cn_vip 22
bashcpolar tcp 21
bash# 查看运行中的隧道
cpolar status
# 或在 Web UI 查看
# http://127.0.0.1:4040/status
bash# 使用默认配置文件
cpolar start-all
# 启动特定隧道
cpolar start web
cpolar start ssh
# 指定配置文件路径
cpolar start-all --config=/path/to/cpolar.yml
bash# 查看所有命令
cpolar --help
# 查看子命令帮助
cpolar http --help
cpolar tcp --help
适用场景: Web 应用、API 服务、前端开发
bash# 示例:暴露本地 3000 端口的 Web 服务
cpolar http 3000
# 输出示例:
# Forwarding http://abc123.cpolar.cn -> 127.0.0.1:3000
# Forwarding https://abc123.cpolar.cn -> 127.0.0.1:3000
特性:
适用场景: SSH、远程桌面、数据库、游戏服务器
bash# SSH 远程访问
cpolar tcp 22
# MySQL 数据库
cpolar tcp 3306
# 远程桌面
cpolar tcp 3389
# Minecraft 服务器
cpolar tcp 25565
输出示例:
Forwarding tcp://6.tcp.cpolar.top:12345 -> 127.0.0.1:22
连接方式:
bash# SSH 连接
ssh user@6.tcp.cpolar.top -p 12345
# MySQL 连接
mysql -h 6.tcp.cpolar.top -P 12345 -u root -p
适用场景: 文件传输服务
bashcpolar tcp 21
💡 注意: FTP 需要额外配置被动模式端口范围
bashcpolar tls 443
bashcpolar tls -hostname=secure.example.com 8443
限制只有特定 IP 可以访问你的隧道:
Web UI 配置:
192.168.1.100192.168.1.0/24为隧道添加基本的 HTTP 认证:
bashcpolar http -auth="username:password" 8080
访问 Web UI 的检查界面:
http://127.0.0.1:4040
功能:
支持通配符域名:
bashcpolar http -hostname="*.example.com" 8080
HTTP 隧道自动支持 WebSockets:
bashcpolar http 3000
# WebSocket 连接: ws://abc123.cpolar.cn/ws
如果你的网络需要代理上网:
bashexport HTTPS_PROXY=http://proxy-server:8080
cpolar http 8080
| 系统 | 路径 |
|---|---|
| macOS | ~/.cpolar/cpolar.yml |
| Linux | /usr/local/etc/cpolar/cpolar.yml |
| Windows | C:\Users\用户名\.cpolar\cpolar.yml |
yaml# 认证令牌
authtoken: "your-token-here"
# 日志级别:debug、info、warn、error
log_level: info
# 日志文件路径
log: /var/log/cpolar.log
# Web UI 地址
web_addr: 127.0.0.1:9200
# 区域选择
region: cn_vip
# 隧道定义
tunnels:
# Web 服务隧道
web:
proto: http
addr: 8080
subdomain: myapp
# SSH 隧道
ssh:
proto: tcp
addr: 22
remote_addr: 12345
# 数据库隧道
mysql:
proto: tcp
addr: 3306
remote_addr: 23456
ip_whitelist:
- 192.168.1.0/24
yamlauthtoken: "xxxxxxxxxxxxxxx"
region: cn_vip
tunnels:
# 本地开发服务器
dev:
proto: http
addr: 3000
subdomain: mydev
# SSH 远程访问
ssh:
proto: tcp
addr: 22
remote_addr: 10234
# 远程桌面
rdp:
proto: tcp
addr: 3389
remote_addr: 20345
bash# 启动所有隧道
cpolar start-all
# 启动特定隧道
cpolar start web ssh
# 后台运行
nohup cpolar start-all &
bash# 安装服务
sudo cpolar service install
# 启动服务
sudo cpolar service start
# 停止服务
sudo cpolar service stop
# 重启服务
sudo cpolar service restart
# 查看状态
sudo cpolar service status
# 卸载服务
sudo cpolar service uninstall
bash# 开机自启
sudo systemctl enable cpolar
# 启动服务
sudo systemctl start cpolar
# 停止服务
sudo systemctl stop cpolar
# 重启服务
sudo systemctl restart cpolar
# 查看状态
sudo systemctl status cpolar
# 查看日志
sudo journalctl -u cpolar -f
bash# 以服务方式启动
cpolar service start
# 停止服务
cpolar service stop
或在"服务"管理工具中管理 cpolar 服务。
问题: 访问 http://127.0.0.1:9200 无法打开
解决方案:
bash# 1. 检查 cpolar 是否运行
ps aux | grep cpolar
# 2. 检查端口是否被占用
lsof -i :9200
# 3. 修改 Web UI 端口
# 编辑配置文件 ~/.cpolar/cpolar.yml
web_addr: 127.0.0.1:9201
# 4. 重启服务
sudo cpolar service restart
问题: Web UI 登录提示用户不一致
解决方案:
编辑配置文件:
bashnano ~/.cpolar/cpolar.yml
修改:
yamlweb_addr: 127.0.0.1:9200 # 改为你想要的端口
重启服务:
bashsudo cpolar service restart
常见问题:
端口未开放: 检查是否使用预留端口
防火墙拦截: 检查本地防火墙设置
SSH 服务未启动:
bash# macOS
sudo systemsetup -setremotelogin on
# Linux
sudo systemctl start sshd
连接命令错误:
bash# 正确格式
ssh user@服务器地址 -p 端口号
检查清单:
nslookup 检查)bash# 检查 DNS
nslookup your-domain.com
排查步骤:
bash# Linux
sudo journalctl -u cpolar -f
# 查看日志文件
tail -f /var/log/cpolar.log
解决方案:
用户名@计算机名 格式如果遇到 CORS 问题,在隧道配置中添加:
yamltunnels:
web:
proto: http
addr: 8080
host_header: rewrite
inspect: true
bash# 1. 停止服务
sudo cpolar service stop
# 2. 卸载服务
sudo cpolar service uninstall
# 3. 删除 cpolar
brew uninstall cpolar
brew untap probezy/core
# 4. 删除配置文件
rm -rf ~/.cpolar
# 5. 删除日志(如果存在)
rm -rf ~/Library/Logs/cpolar
bash# 方法一:使用卸载脚本
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash -s -- --remove
# 方法二:手动卸载
# 1. 停止服务
sudo systemctl stop cpolar
sudo systemctl disable cpolar
# 2. 删除服务文件
sudo rm /etc/systemd/system/cpolar.service
sudo systemctl daemon-reload
# 3. 删除程序
sudo rm /usr/local/bin/cpolar
# 4. 删除配置
sudo rm -rf /usr/local/etc/cpolar
# 5. 删除日志
sudo rm -rf /var/log/cpolar.log
C:\Users\用户名\.cpolar
bash# 确认命令不存在
which cpolar
# 应返回空
# 确认进程不存在
ps aux | grep cpolar
# 应只有 grep 进程
✅ 使用强密码 - 为重要服务添加认证
✅ 配置 IP 白名单 - 限制访问来源
✅ 使用 HTTPS - 加密传输数据
✅ 定期更新 - 保持 cpolar 最新版本
✅ 监控日志 - 定期检查访问日志
yaml# 优化配置示例
log_level: warn # 生产环境使用 warn 或 error
log: /dev/null # 不需要日志时禁用
bash# 1. 启动本地开发服务器
npm run dev # 或 python manage.py runserver
# 2. 在另一个终端启动 cpolar
cpolar http 3000
# 3. 将生成的 URL 分享给测试人员
# https://abc123.cpolar.cn
# 4. 在 4040 端口监控请求
# http://127.0.0.1:4040
bash# 1. 使用配置文件
cpolar start-all --config=/etc/cpolar/production.yml
# 2. 设置为系统服务
sudo systemctl enable cpolar
sudo systemctl start cpolar
# 3. 监控服务状态
sudo systemctl status cpolar
bash# 快速启动 HTTP 隧道
cpolar http 8080
# 快速启动 TCP 隧道
cpolar tcp 22
# 查看所有隧道
cpolar status
# 查看帮助
cpolar --help
# 更新配置
cpolar config
# 查看版本
cpolar version
祝你使用愉快! 🎉
本文作者:JACK WEI
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!