一个基于 Python 的轻量级 TCP 端口映射/内网穿透工具,支持将本地服务暴露到公网。
- 🖥️ 可视化管理界面(tkinter GUI)
- 👥 多客户端同时连接
- 🔐 客户端认证机制(用户名/密码)
- 📊 实时连接日志
- 🔥 防火墙日志查看
- 🛡️ IP 白名单/黑名单访问控制
- ⚙️ 灵活的端口映射规则配置
- 🌐 中英双语支持(一键切换)
- 🖥️ 可视化配置界面
- 🔄 自动重连机制
- 📝 实时连接日志
- 🔐 密码保护
- 💾 配置文件持久化
- 🌐 中英双语支持(一键切换)
PortPier/
├── server/ # 服务端 (GUI 版本)
│ ├── gui_server.py # GUI 管理界面 (推荐)
│ ├── i18n.py # 国际化模块
│ ├── build.bat # 打包脚本
│ └── legacy/ # 旧版 Web 管理端 (仅供参考)
│ ├── server.py
│ └── common.py
├── client/ # 客户端 (GUI 版本)
│ ├── gui_client.py # GUI 客户端 (推荐)
│ ├── i18n.py # 国际化模块
│ ├── build.bat # 打包脚本
│ └── legacy/ # 旧版命令行客户端 (仅供参考)
│ ├── client.py
│ └── common.py
├── docs/ # 文档
...
- 从 Releases 下载最新版本
- 解压后双击运行
portpier_server.exe或portpier_client.exe - 无需安装 Python 环境
- Python 3.10+
- Windows 10/11
cd server
python gui_server.pycd client
python gui_client.py- 启动服务端 - 双击
portpier_server.exe - 默认账号 - admin / admin
- 配置监听端口 - 默认 8024
- 添加客户端 - 在「客户端管理」选项卡中操作
- 启动客户端 - 双击
portpier_client.exe - 默认密码 - admin
- 配置服务器 - 点击「设置」填写服务器信息
- 添加映射规则 - 点击「规则」添加端口映射
- 连接服务器 - 点击「连接」
点击界面右上角的语言切换按钮,即可在中文和英文之间切换。语言设置会自动保存。
- 所有密码使用 PBKDF2 算法加密存储
- 支持 IP 白名单/黑名单访问控制
- 支持 TCP Keepalive 防止连接超时
- ✨ 体验优化: 语言切换时保留历史日志,不再清空
- ✨ 体验优化: 自动刷新防火墙日志状态
- 🌐 中英双语支持(完整界面国际化)
- 📝 日志消息国际化
- 🐛 修复语言切换按钮显示逻辑
- ✨ 初始版本发布
详见 CHANGELOG.md
| 特性 | PortPier | frp | ngrok | natpass |
|---|---|---|---|---|
| 语言 | Python | Go | Go | Go |
| GUI 界面 | ✅ | ❌ | ❌ | ❌ |
| 中英双语 | ✅ | ❌ | ✅ | ❌ |
| 上手难度 | ⭐ 简单 | ⭐⭐ 中等 | ⭐ 简单 | ⭐⭐⭐ 复杂 |
| 适合人群 | 新手/Windows | 开发者 | 开发者 | 运维 |
| 私有化部署 | ✅ | ✅ | ❌ | ✅ |
欢迎提交 Issue 和 Pull Request!
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
第三方开源组件声明请参见 THIRD_PARTY_NOTICES.md。
- GitHub:@FatFatYoung
- 邮箱:fafafat@qq.com
⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!