Warren-Jace / fuso

一款体积小, 快速, 稳定, 高效, 轻量的内网穿透, 端口转发工具 支持多连接,级联代理,传输加密 (A small volume, fast, stable, efficient, and lightweight intranet penetration, port forwarding tool supports multiple connections, cascading proxy, and transmission encryption)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fuso : 扶桑

A fast, stable, cross-platform and efficient intranet penetration and port forwarding tool

一款 快速🚀 稳定 跨平台 高效的内网穿透,端口转发工具

Author Daza Daza Bin GitHub issues Github Stars GitHub forks GitHub license Downloads

Fuso make PortForward & IntranetAccess Easy

👉 这是一款用于内网穿透 端口转发的工具,帮助运维,开发人员快速部署与接入内网

👉 传输采用Rsa + Aes加密

👉 该项目可直接当做库来使用

👉 项目保持长期维护

👉 目前该项目还处于初步开发阶段,欢迎提出功能与意见´◡`

✨Demo

Demo

👀如何使用 (How to use) ❓

  1. 你需要先下载构建Fuso
  2. fuso 分为客户端(fuc)与服务端(fus)
  3. 将你下载或构建好的fus程序部署到服务器
  4. 将你下载或构建好的fuc程序部署到你需要穿透的电脑上

服务端部署

  1. 采用参数传递的形式来部署无需任何配置文件, 并且配置简单大多情况下可使用默认配置

  2. 参数说明
    -h: 绑定的地址 -p: 监听的端口, 也就是客户端需要连接到服务端的端口
    -l: 日志信息级别 (debug, info, trace, error, warn)
    --auth: 认证方式 (预留, 暂未实现)
    --secret: 密码 (预留, 暂未实现)
    -v: 该参数打印的版本目前无效
    -h: 获取帮助信息

客户端部署

  1. 客户端配置相对服务端来说可能会复杂一点, 但大多数情况下也可使用默认配置

  2. 参数说明
    fuc [options]
    <server-host>: 服务端地址, 支持域名
    <server-port>: 服务端监听的端口
    -h | --forward-host: 需要转发的地址, 也就是穿透地址
    -p | --forward-host: 转发的端口, 需要配合 -h参数
    -b | --visit-port: 真实映射成功后访问的端口号, 不指定将自动分配
    -n | --name: 一个标识, 映射服务的名称
    -t | --forward-type: 转发类型, 默认自动判定类型 支持: [socks5, forward]
    --crypt-type: 传输加密类型 默认使用aes加密
    --crypt-secret: 传输加密密钥, 默认随机
    --handsnake: 前置握手方式, 默认不进行前置握手, 支持: [websocket]
    --bridge-host: 本地桥接绑定地址
    --bridge-port: 本地桥接监听端口
    --s5-pwd: Socks5认证时的连接密码, 默认不需要
    -P | --fuso-pwd: 连接到服务端所需密码(预留, 暂未实现)
    -l: 日志信息级别 (debug, info, trace, error, warn)

# 一个转发例子
# 服务端绑定在 xxx.xxx.xxx.xxx:9003
# 转发内网中 10.10.10.8:80 到 xxx.xxx.xxx.xxx:8080
# 需要注意的是:
# 10.10.10.8 必须是能 ping 通的
# 80 端口必须有服务在运行
# 服务端已经在运行,并且服务端80端口没有被占用

# 运行: 
> fuc -h 10.10.10.8 -p 80 -b 8080 xxx.xxx.xxx.xxx 9003

# 该命令运行后既可以是转发模式, 也可以是Socks5模式都可以使用8080端口进行访问


# 一个桥接例子
# 什么时候能用到桥接模式呢? 
# 比如: 
#  你的内网中只有一台机器可以出网, 但是我想访问不能出网机器上所运行的服务
#  那么此时就可以使用桥接模式, 通过可以在出网的机器上开启桥接模式来转发不能出网的服务
#  前提是你不能出网的机器和可以出网的机器在同一个内网中, 并且可以相互 ping 通

# 在可以出网的机器上开启桥接 (0.0.0.0:9004)
# 假设可以出网的内网ip地址为 10.10.10.5
# 运行:
> fuc -h 10.10.10.8 -p 80 -b 8080 --bridge-host 0.0.0.0 --bridge-port 9004 xxx.xxx.xxx.xxx 9003

# 在不可以出网的机器上需要穿透80服务, 并且服务端监听8081端口
# 此时fuc的服务端地址就不应该是服务器地址, 因为并不能出网, 所以需要连接到开启桥接服务的地址
# 运行:
> fuc -h 127.0.0.1 -p 80 -b 8081 10.10.10.5 9004


# 另一种桥接做法
# 假设不能出网机器的ip地址为 10.10.10.6
# 在可以出网的机器上运行:
> fuc -h 10.10.10.6 -p 80 -b 8081 xxx.xxx.xxx.xxx 9003

# 此时也可以达到效果, 但是这样一来可以出网的就无法转发自己所监听的服务

🤔Features

Name ✔(Achieved) / ❌(Unrealized))
基本转发
传输加密
Socks5代理
Socks5 Udp转发
Udp (kcp)支持
多映射
级联代理
数据传输压缩
Websocket
Rsa加密
Aes加密

😶部分功能还待完善敬请期待..

注意

  • 本项目所用技术仅用于学习交流请勿直接用于任何商业场合和非法用途

About

一款体积小, 快速, 稳定, 高效, 轻量的内网穿透, 端口转发工具 支持多连接,级联代理,传输加密 (A small volume, fast, stable, efficient, and lightweight intranet penetration, port forwarding tool supports multiple connections, cascading proxy, and transmission encryption)

License:GNU General Public License v3.0


Languages

Language:Rust 100.0%