A fast, stable, efficient, and lightweight intranet penetration, port forwarding tool supports multiple connections, cascading proxy, and transmission encryption

Overview

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 😁

👉 这是一款用于内网穿透 端口转发的神器,帮助运维 开发 快速部署与接入内网 同时支持CobaltStrike 一键转发等功能

👉 还在因为工具的参数过多,体积大而烦恼吗? 我们只实现Socks5与端口转发,快捷的接入与转发内网流量且体积小方便实用

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

👉 项目保持长期维护

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

Demo

Demo

👀 如何使用 (How to use)

  1. 你需要先下载构建Fuso

  2. 服务端程序为fus, 客户端程序为fuc

  3. 测试

    1. 运行fus(服务端默认监听9003端口) 与 fuc(客户端默认转发80端口)
    2. 确保服务端端口(9003)未被使用
    3. 确保转发的端口(80)有服务在运行
    4. 转发成功后需要访问的端口由服务端随机分配
    5. 服务端出现 New mapping xxxx -> xxxx日志则代表转发服务已准备就绪
  4. 配置
    Fuso 的所有配置都是通过参数传递的方式
    打开终端运行 [fus or fuc] --help 即可获取帮助信息

  5. 高级用法 >1.0.2

    1. 支持从客户端指定服务端要监听的端口(前提你所指定的端口没有被占用!) 用法:
      fuc [--bind or -b] 端口
    2. 支持多连接
    3. 级联代理(桥接模式), 支持级联代理, 用法:
      开启桥模式 fuc [--bridge ] 端口 开启后它既支持桥接也支持穿透互不影响
      使用 fuc 已开启桥接模式的地址 端口 其它参数基本一致

🤔 Features

Name (Achieved) / (Unrealized))
基本转发 (Forward)
传输加密 (Encrypt)
Socks5代理 (Socks5)
UDP支持 (udp support)
多映射
级联代理
数据传输压缩

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

注意

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

    external IP forward

    The fuso server will take the external IP of the connected player and transfer it to the fuso client so that the players have the correct IP on the Minecraft game server

    The function will be useful for game servers\various sites

    opened by lootoos 5
  • 大佬 fuso 如何像frp一样配置socks5

    大佬 fuso 如何像frp一样配置socks5

    服务端 fus -l 0.0.0.0 -p 39123 内网的客户端 fuc.exe --socks 服务端IP 39123 结果显示 [2022-08-14T05:23:08.833Z INFO ] the server listens on [::39123] T [2022-08-14T05:27:34.008Z INFO ] client is xxxx:3543 T and the server is [::42348] T [2022-08-14T05:27:34.008Z INFO ] please visit [::39465] T for port mapping [2022-08-14T05:41:21.563Z INFO ] client is 222.187.86.50:3866 T and the server is [::40135] T [2022-08-14T05:41:21.563Z INFO ] please visit [::44463] T for port mapping [2022-08-14T05:41:26.217Z WARN ] client error Connection reset by peer (os error 104) [2022-08-14T05:41:26.217Z WARN ] client error xxxx:3543 T, err: Connection reset by peer (os error 104) [2022-08-14T05:41:26.217Z WARN ] An error occurred Connection reset by peer (os error 104) [2022-08-14T05:41:26.217Z WARN ] stop processing

    我挂 服务器ip:44463 这个端口 无法成功 这个是像frp一样的么?

    opened by AndyJuL 1
  • will you add tcp-fast-open?

    will you add tcp-fast-open?

    TCP Fast Open (TFO), is an extension to the transmission control protocol (TCP) that helps reduce network latency by enabling data to be exchanged during the sender's initial TCP SYN. A traditional TCP handshake is a three step process that is carried out as follows.

    The sender sends a SYN packet to the receiver to initiate the connection The receiver sends a SYN-ACK packet back to the sender to let it know that it is ready to start transmitting data The sender sends an ACK packet to the receiver https://www.keycdn.com/support/tcp-fast-open

    opened by lootoos 1
  • repo request

    repo request

    Would it be possible for you to make separated github posts for the socks5 server and socks5 client so they are independent and less confusing when trying to make the socks server only

    opened by RaquisDawLn 1
  • 支持域名前置的代理

    支持域名前置的代理

    现在客户端跟服务端的通信用的是xor加密的tcp连接,李哥说将来打算支持kcp协议。

    是否可以支持https或者wss通讯,并且host可以用户自定义,这样就可以使用cdn 进行域名前置了。隐藏真实服务端的ip。 image image

    frp可以实现,参考这个https://buaq.net/go-52132.html

    good first issue 
    opened by daikerSec 1
  • 大佬 fuso 怎么配置socks5 一直没成功

    大佬 fuso 怎么配置socks5 一直没成功

    服务端 fus -l 0.0.0.0 -p 39123 内网的客户端 fuc.exe --socks 服务端IP 39123 结果显示 [2022-08-14T05:23:08.833Z INFO ] the server listens on [::39123] T [2022-08-14T05:27:34.008Z INFO ] client is xxxx:3543 T and the server is [::42348] T [2022-08-14T05:27:34.008Z INFO ] please visit [::39465] T for port mapping [2022-08-14T05:41:21.563Z INFO ] client is 222.187.86.50:3866 T and the server is [::40135] T [2022-08-14T05:41:21.563Z INFO ] please visit [::44463] T for port mapping [2022-08-14T05:41:26.217Z WARN ] client error Connection reset by peer (os error 104) [2022-08-14T05:41:26.217Z WARN ] client error xxxx:3543 T, err: Connection reset by peer (os error 104) [2022-08-14T05:41:26.217Z WARN ] An error occurred Connection reset by peer (os error 104) [2022-08-14T05:41:26.217Z WARN ] stop processing

    我挂 服务器ip:44463 这个端口 无法成功 这个是像frp一样的么?

    opened by AndyJuL 0
  • 增加连接时可选密钥校验

    增加连接时可选密钥校验

    在文档中似乎没有看到跟秘钥相关的内容,感觉似乎不太安全?

    在一台具有公网IP的服务器上启动 fus ,并且对外开放了 6722 端口。如果不小心泄露了 IP 和端口,或者被恶意扫描出了这个端口,那么任何人都可以通过 fuc 连接这台服务器的 fus ,并且指定端口来使用内网穿透。

    如果这可行的话,一些奇怪的网站可以指定服务器的 80 端口(假设服务器未使用该端口),然后外网访问该 IP 就直接访问到网站,服务器拥有者莫名其妙就背锅了……

    enhancement 
    opened by Pandaft 1
  • server Aborted (core dumped)

    server Aborted (core dumped)

    server log [2022-10-05T13:37:06.528Z INFO ] the server listens on [::6722] T [2022-10-05T13:37:10.953Z INFO ] client is 127.0.0.1:6001 T and the server is [::36265] T [2022-10-05T13:37:10.953Z INFO ] please visit [::3389] T for port mapping memory allocation of 4230021168 bytes failed Aborted (core dumped)

    bug 
    opened by dusbin 3
  • Bump axum-core from 0.2.6 to 0.2.8

    Bump axum-core from 0.2.6 to 0.2.8

    Bumps axum-core from 0.2.6 to 0.2.8.

    Release notes

    Sourced from axum-core's releases.

    axum-core - v0.2.8

    Security

    • breaking: Added default limit to how much data Bytes::from_request will consume. Previously it would attempt to consume the entire request body without checking its length. This meant if a malicious peer sent an large (or infinite) request body your server might run out of memory and crash.

      The default limit is at 2 MB and can be disabled by adding the new DefaultBodyLimit::disable() middleware. See its documentation for more details.

      This also applies to String which used Bytes::from_request internally.

      (#1346)

    #1346: tokio-rs/axum#1346

    axum-core - v0.2.7

    • fix: Fix typos in RequestParts docs (#1147)

    #1147: tokio-rs/axum#1147

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • will you add proxy-protocol support?

    will you add proxy-protocol support?

    in order to be able to get normal IP addresses to the minecraft server. in order for the server to be able to receive external IP addresses of players. by the way, nginx supports proxy_protocol (https://imgbb.com/FnpFhPk), will you introduce such functionality in fuso?

    enhancement 
    opened by lootoos 11
Releases(v1.0.5-beta.7)
Owner
editso
永远相信美好的事情即将到来!
editso
A tcp port forwarding system like ngrok.

Pruxy A tcp port forwarding system like ngrok. Todo http request handler agent <-> server connection agent How to use Generate cert files mkdir ssl_ce

null 1 Jan 24, 2022
Simple port-forwarding utility

fport Simple port-forwarding utility using the NAT-PMP protocol. Installation Install the Rust lang toolchain from here. Then run the following comman

null 3 May 18, 2022
Drop-in proxy for Discord gateway connections and sessions allowing for zero downtime deploys

gateway-proxy This is a very hacky project, so it might stop working if Discord changes their API core. This is unlikely, but keep that in mind while

Jens Reidel 39 Nov 26, 2022
Lightweight proxy that allows redirect HTTP(S) traffic through a proxy.

Proxyswarm Proxyswarm is a lightweight proxy that allows redirect HTTP(S) traffic through a proxy. WARNING: This app isn't recomended for download lar

Jorge Alejandro Jimenez Luna 4 Apr 16, 2022
A fast and stable reverse proxy for NAT traversal, written in Rust

rathole A fast and stable reverse proxy for NAT traversal, written in Rust rathole, like frp, can help to expose the service on the device behind the

Yujia Qiao 4.6k Dec 30, 2022
Web3-proxy: a fast caching and load balancing proxy for web3 (Ethereum or similar) JsonRPC servers.

web3-proxy Web3-proxy is a fast caching and load balancing proxy for web3 (Ethereum or similar) JsonRPC servers. Signed transactions (eth_sendRawTrans

null 55 Jan 8, 2023
RCProxy - a lightweight, fast but powerful Redis Cluster Proxy written in Rust

RCProxy - a lightweight, fast but powerful Redis Cluster Proxy written in Rust

Cris Liao 16 Dec 4, 2022
Hopper - Fast, configurable, lightweight Reverse Proxy for Minecraft

Hopper Hopper is a lightweight reverse proxy for minecraft. It allows you to connect multiple servers under the same IP and port, with additional func

Pietro 174 Jun 29, 2023
UDP proxy with Proxy Protocol and mmproxy support

udppp UDP proxy with Proxy Protocol and mmproxy support. Features Async Support Proxy Protocol V2 SOCKET preserve client IP addresses in L7 proxies(mm

b23r0 10 Dec 18, 2022
Lightweight p2p library. Support build robust stable connection on p2p/distributed network.

Chamomile Build a robust stable connection on p2p network features Support build a robust stable connection between two peers on the p2p network. Supp

CympleTech 94 Jan 6, 2023
Proxy sentry request to a sentry server using a tunnel/proxy endpoint

Sentry Tunnel This is a proxy that forwards tunneled sentry requests to the real sentry server. The implementation is based on the explanation provide

Paul FLORENCE 14 Dec 20, 2022
A TCP proxy using HTTP - Reach SSH behind a Nginx reverse proxy

?? TCP over HTTP ?? The Questions ?? What does it do? You can proxy TCP traffic over HTTP. A basic setup would be: [Your TCP target] <--TCP-- [Exit No

Julian 185 Dec 15, 2022
A versatile and efficient proxy framework with nice features suitable for various use cases.

A versatile and efficient proxy framework with nice features suitable for various use cases.

null 1.7k Jan 9, 2023
♻ A simple and efficient Gemini-to-HTTP proxy written in Rust.

September A simple and efficient Gemini-to-HTTP proxy written in Rust. Usage Docker $ docker run -d [ -e ROOT="gemini://fuwn.me" ] [ -e PORT="8080"] [

GemRest 10 Jul 2, 2022
Easy-to-use wrapper for WebRTC DataChannels peer-to-peer connections written in Rust and compiling to WASM.

Easy-to-use wrapper for WebRTC DataChannels peer-to-peer connections written in Rust and compiling to WASM.

null 58 Dec 11, 2022
A library for easily creating WebRTC data channel connections in Rust

Cyberdeck A library for easily creating WebRTC data channel connections in Rust.

RICHΛRD ΛNΛYΛ 34 Nov 10, 2022
Reliable p2p network connections in Rust with NAT traversal

Reliable p2p network connections in Rust with NAT traversal. One of the most needed libraries for any server-less / decentralised projects

MaidSafe-Archive 948 Dec 20, 2022
Reliable p2p network connections in Rust with NAT traversal

Reliable p2p network connections in Rust with NAT traversal. One of the most needed libraries for any server-less, decentralised project.

MaidSafe-Archive 948 Dec 20, 2022
A lightweight Rust reverse proxy.

Brachyura A reverse proxy, which I am primarily using as a Rust / Hyper learning project. I utilize Nginx as part of my home lab providing reverse pro

William Howard 8 Jan 8, 2023