Loo 是一款操作简单的内网穿透工具,支持多个客户端接入同一个服务端。
- TCP 穿透
- 桌面端客户端
- C/S 端监控
- admin 端的操作控制
- UDP 穿透
C/S 端都是基于 SpringBoot 实现的,因此配置文件格式与 SpringBoot 配置文件无异。
server:
port: 8964
password: 123456
# msg-log-range: disconnect,open_server,auth # 指定某个范围的日志
all-log: true # 打开所有日志
# 管理端配置
admin:
enabled: false # 是否接入Admin端
base-url: http://localhost:7989/api
server-name: location_server # 服务名称
server-hostname: 127.0.0.1 # 服务主机名
server.port
: 必填。服务端对外暴露的端口,供客户端接入.server.password
: 必填。密码,客户端接入时认证
client:
serverHost: localhost
serverPort: 8964
password: 123456
proxies:
- host: localhost
port: 4456
protocol: tcp
openPort: 8890
- host: localhost
port: 9011
protocol: tcp
openPort: 8891
- host: localhost
port: 3306
protocol: tcp
openPort: 3361
client.serverHost
: 必填。服务端主机名称;client.serverPort
: 必填。服务端端口;client.password
: 必填。接入服务端时需要的密码,用于接入认证;client.proxies
: 必填。内网代理配置,支持多选;- host: 必填。内网主机(应用程序)
- port: 必填。端口
- openPort: 必填。服务端暴露的端口
与启动 SpringBoot 项目无异。可以在 jar 包所在位置创建一个 config 目录,config 目录下放配置文件.
java -jar server.jar
java -jar client.jar
- 底层协议:
Protobuf
- 服务端:
SpringBoot、Netty、SpringSecurity、MySQL
- 客户端(Rust):
Tauri、Tokio、React、Umi.js
- ui: 管理端页面
- admin: 管理端后端
- core: Java Client/Server 的核心通用模块
- server: Java 版 Server
- client: Java 版 Client
- desktop: 基于 tauri 实现的桌面应用
- rclient: Rust 版 Client
- JDK 17
- Node 18
- Rust 1.85