# 极简现代化的内网穿透应用-开发中 **Repository Path**: io123/internal_net_bridge ## Basic Information - **Project Name**: 极简现代化的内网穿透应用-开发中 - **Description**: 极简现代化的内网穿透应用,支持windows,macos,linux等系统,点击安装即可使用,无需任何配置。 前端使用flutter框架做跨平台开发,服务端使用go语言开发提高服务性能。 声明:该应用仅仅用于学习参考,不能用于违法行为,违反当地法律使用者后果自负! - **Primary Language**: Dart - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-09-12 - **Last Updated**: 2025-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 页面展示 ![img.png](doc/images/img.png) # 免责声明: ``` 该应用仅仅能用于学习参考 不能用于违法行为 违反当地法律使用者后果自负! ``` # 现代极简华内网穿透应用 一个基于 Flutter 开发的现代化内网穿透管理应用,提供简洁易用的界面来管理和监控内网服务的外网访问。通过强大的内网穿透技术,让您的本地开发环境瞬间拥有公网访问能力,极大提升开发效率和协作体验。 ## 🌟 内网穿透的强大优势 ### 🔧 开发调试场景 - **远程服务调试** - 在任何地方调试本地开发环境,无需复杂的网络配置 - **内网协作调试** - 团队成员可直接访问您的本地服务,实现实时协作开发 - **API接口测试** - 第三方服务回调测试,webhook调试变得轻而易举 - **移动端调试** - 手机直接访问电脑本地服务,移动应用调试更便捷 ### 📁 文件分享与访问 - **快速文件分享** - 瞬间将本地文件夹变成网络共享,无需上传到云盘 - **远程资源访问** - 随时随地访问家里或办公室的内网资源 - **临时文件传输** - 大文件传输不再依赖第三方平台,直接点对点传输 ### 🎯 演示与展示 - **客户演示** - 向客户实时展示本地开发的项目,无需部署到服务器 - **产品预览** - 快速生成可访问链接,让同事或客户预览最新功能 - **测试环境共享** - 将本地测试环境分享给测试团队,提高测试效率 ### 🚀 开发测试优势 - **外网环境测试** - 在真实外网环境下测试本地应用的性能和兼容性 - **跨平台访问** - 不同设备、不同网络环境下都能访问您的本地服务 - **零配置部署** - 无需复杂的服务器配置,一键即可让本地服务对外可访问 ## 功能特性 ### 🚀 核心功能 - **智能服务识别** - 自动识别并支持多种服务类型(Spring Boot、Node.js、Flask、Django、React、Vue、Angular、数据库、游戏服务器等) - **一键穿透连接** - 极简操作,一键建立内网穿透连接,实时显示连接状态和流量统计 - **智能域名管理** - 自动生成美观的访问域名,支持自定义子域名,一键复制和直接打开 - **多协议支持** - 全面支持 HTTP、HTTPS、TCP、UDP、WebSocket 等多种协议 - **实时状态监控** - 连接状态、流量统计、延迟监控一目了然(连接中、已连接、断开、错误) - **安全访问控制** - 支持访问密码、IP白名单等安全策略 - **带宽优化** - 智能压缩和缓存,提供更快的访问速度 ### 💎 会员制度 - **免费版** - 最多启用 2 个服务 - **普通会员** - 最多启用 5 个服务 - **高级会员** - 无限制启用服务 ### 🌍 多语言支持 - 中文(简体) - English ### 🎨 用户体验 - 响应式 UI 设计 - 流畅的动画效果 - 直观的操作界面 - 支持文本选择和复制 ## 技术栈 - **框架**: Flutter 3.24.5 - **语言**: Dart 3.5.4 - **状态管理**: StatefulWidget - **本地存储**: SharedPreferences - **国际化**: flutter_localizations - **UI组件**: Material Design 3 - **网络请求**: 内置 HTTP 客户端 - **平台支持**: macOS, Windows, Linux, iOS, Android ## 项目结构 ``` lib/ ├── main.dart # 应用入口 ├── models/ │ └── service_item.dart # 服务项数据模型 ├── services/ │ └── api_service.dart # API 服务层 ├── widgets/ │ └── service_item_widget.dart # 服务项组件 └── l10n/ ├── app_en.arb # 英文语言包 └── app_zh.arb # 中文语言包 ``` ## 安装运行 ### 环境要求 - Flutter SDK >= 3.24.5 - Dart SDK >= 3.5.4 - 支持的平台:macOS, Windows, Linux, iOS, Android ### 安装步骤 1. **克隆项目** ```bash git clone cd internal-net-bridge ``` 2. **安装依赖** ```bash flutter pub get ``` 3. **运行应用** ```bash # macOS flutter run -d macos # Windows flutter run -d windows # Linux flutter run -d linux # iOS 模拟器 flutter run -d ios # Android 模拟器 flutter run -d android ``` ## 开发说明 ### 主要组件 #### ServiceItem 数据模型 - `id`: 服务唯一标识 - `name`: 服务名称 - `type`: 服务类型 - `port`: 本地端口 - `isEnabled`: 是否启用 - `icon`: 服务图标 #### ApiService 服务层 - 提供模拟的 API 接口 - 支持服务列表获取和状态更新 - 预留真实 API 接口集成点 #### ServiceItemWidget 组件 - 服务项展示和交互 - 连接状态管理 - 域名显示和协议选择 - 动画效果实现 ### 连接流程 1. 用户点击服务开关 2. 显示"连接中..."状态 3. 模拟建立连接(2秒延迟) 4. 连接成功后显示域名和协议选择器 5. 用户可选择协议类型(HTTP/HTTPS/TCP/UDP) 6. 支持复制域名和直接打开链接 ### API 接口预留 项目中预留了以下接口供后续集成: ```dart // 建立连接接口 Future _establishConnection(ServiceItem service) async { // TODO: 实现真实的连接逻辑 // 返回实际的域名地址 } // API 服务接口 class ApiService { // 获取服务列表 Future> getServices() // 更新服务状态 Future updateServiceStatus(String serviceId, bool isEnabled) // 获取本地端口 Future getLocalPort(String serviceId) } ``` ### 会员制度集成 应用支持三种会员类型,通过 `MembershipType` 枚举管理: ```dart enum MembershipType { free, // 免费版:最多2个服务 premium, // 普通会员:最多5个服务 vip // 高级会员:无限制 } ``` ### 国际化支持 项目支持中英文双语,语言文件位于 `lib/l10n/` 目录: - `app_en.arb` - 英文语言包 - `app_zh.arb` - 中文语言包 添加新的翻译文本: 1. 在对应的 `.arb` 文件中添加键值对 2. 运行 `flutter gen-l10n` 生成代码 3. 在代码中使用 `AppLocalizations.of(context).keyName` ## 构建发布 ### macOS ```bash flutter build macos ``` ### Windows ```bash flutter build windows ``` ### Linux ```bash flutter build linux ``` ### iOS ```bash flutter build ios ``` ### Android ```bash flutter build apk # 或 flutter build appbundle ``` ## 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 - 创建 Pull Request --- **注意**: 当前版本使用模拟数据进行演示,实际部署时需要集成真实的内网穿透服务。