# gorinetd **Repository Path**: mskk/gorinetd ## Basic Information - **Project Name**: gorinetd - **Description**: 用go语言实现一个类似与rinetd的工具,实现tcp的转发。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-17 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gorinetd Go 语言实现的 TCP 端口转发管理服务,支持 Web 界面管理规则。 ## 项目简介 gorinetd 是一个轻量级的 TCP 端口转发服务,采用 Go 语言开发。 它允许用户通过 Web 界面或 REST API 管理 TCP 端口转发规则,数据持久化存储在 SQLite 数据库中。 支持查看系统监听占用的TCP端口。 ## 功能特性 - **TCP 端口转发**:支持将源端口的 TCP 连接转发到目标地址 - **Web 管理界面**:提供可视化的 Web 界面管理转发规则 - **REST API**:支持通过 API 进行规则的增删改查 - **持久化存储**:使用 SQLite 数据库存储转发规则 - **动态规则管理**:运行时动态添加、删除、修改转发规则 ## 技术栈 - **Go**: 开发语言 - **Fiber**: Web 框架 (HTTP 服务) - **SQLite**: 数据库存储 ## 快速开始 ### 编译运行 ```bash # 克隆项目 git clone https://gitee.com/mskk/gorinetd.git cd gorinetd # 编译 go build -o gorinetd . # 运行 ./gorinetd ``` 服务启动后默认监听端口,可以通过 Web 界面访问管理规则。 ### 配置说明 首次运行时会自动创建 SQLite 数据库文件,用于存储转发规则。 ## Web 界面使用 1. 打开浏览器访问服务地址 2. 在表单中填写转发规则: - **源端口**: 接收连接的本地端口 - **目标地址**: 转发目标 (IP:端口) 3. 点击添加按钮创建规则 4. 规则列表中显示所有转发规则,可进行删除操作 ## API 接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /health | 健康检查 | | GET | /api/rules | 获取所有规则 | | GET | /api/rules/:id | 获取指定规则 | | POST | /api/rules | 创建规则 | | PUT | /api/rules/:id | 更新规则 | | DELETE | /api/rules/:id | 删除规则 | ### 创建规则示例 ```bash curl -X POST http://localhost:8080/api/rules \ -H "Content-Type: application/json" \ -d '{ "src_port": 8080, "target_addr": "192.168.1.100:80", "description": "Web转发规则" }' ``` ## 规则结构 ```json { "id": 1, "src_port": 8080, "target_addr": "192.168.1.100:80", "description": "Web转发规则" } ``` ## 许可证 MIT License