Total Pageviews

5,445,332

Monday, 14 February 2022

一款体积小, 快速, 稳定, 高效, 轻量的内网穿透/端口转发工具-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加密

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

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

👉 项目将在年后进行异步库迁移 smol => tokio 可自定义运行时, 提高性能与扩展性

Demo

Demo

👀如何使用 (How to use) 

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

服务端部署

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

  2. 参数说明
    -h: 绑定的地址 -p: 监听的端口, 也就是客户端需要连接到服务端的端口
    -l: 日志信息级别 (debuginfotraceerrorwarn)
    --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: 转发类型, 默认自动判定类型 支持: [socks5forward]
    --crypt-type: 传输加密类型 默认使用aes加密
    --crypt-secret: 传输加密密钥, 默认随机
    --handsnake: 前置握手方式, 默认不进行前置握手, 支持: [websocket]
    --bridge-host: 本地桥接绑定地址
    --bridge-port: 本地桥接监听端口
    --s5-pwdSocks5认证时的连接密码, 默认不需要
    -P | --fuso-pwd: 连接到服务端所需密码(预留, 暂未实现)
    -l: 日志信息级别 (debuginfotraceerrorwarn)

# 一个转发例子
# 服务端绑定在 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加密

from https://github.com/editso/fuso

--------------------------------------------

内网穿透开源工具-扶桑fuso

扶桑(fuso)是国人开源的一款跨平台内网穿透,端口转发工具。基于Rust编写,遵守GPL3.0开源协议。

主要功能包括:基本转发 ;传输加密 ; socks5 ;socks5 udp 转发 ; kcp 支持 ; 多映射 ; 级联代理 ; 数据传输压缩 ; Rsa加密 ; Aes加密。

使用方法:

  1. 下载fuso

  2. 解压,得到 fus,fuc两个程序, 将fus上传到你的服务器, 将fuc放到你需要穿透的电脑上

  3. 在服务器上启动fus ,

    默认情况下,服务端监听6722端口

  4. 在需要穿透的电脑上启动fuc

    默认情况下,将转发到127.0.0.1:80, 访问端口将随机分配

  5. 此时访问127.0.0.1:60974即可, 注意: 80端口必须有服务在运行

源码:

https://github.com/editso/fuso

 

 

 

 

No comments:

Post a Comment