Simple VPN implemented using rust

Overview

fubuki

Simple VPN implemented using rust

fubuki是类似与tincVPN的简单组网工具

不支持对等NAT

支持的平台:

  • Windows
  • Linux

工作机制

它由一台拥有公网IP的服务器来维持各个内网客户端的实际地址映射,在客户端和客户端之间实现P2P通信 image.png

使用

配置文件样例

客户端

Windows

下载wintun(https://www.wintun.net/)

将wintun.dll和fubuki.exe保持相同目录

在管理员模式运行

.\fubuki.exe client client-config.json

stdin "show" 可以打印接入的客户端

Linux

需要内核支持tun模块

sudo ./fubuki client client-config.json

服务端

.\fubuki.exe server server-config.json
You might also like...
Nacos server re-implemented in Rust.
Nacos server re-implemented in Rust.

rnacos 简介 rnacos是一个用rust实现的nacos服务。 rnacos是一个轻量、快速、稳定的服务,包含注册中心、配置中心、web管理控制台功能。 rnacos兼容nacos client sdk用到的协议(包含1.x的http OpenApi,和2.x的grpc协议),支持使用nac

Modrinth API is a simple library for using Modrinth's API in Rust projects

Ferinth is a simple library for using the Modrinth API in Rust projects. It uses reqwest as its HTTP(S) client and deserialises responses to typed structs using serde.

A simple API gateway written in Rust, using the Hyper and Reqwest libraries.

API Gateway A simple API gateway written in Rust, using the Hyper and Reqwest libraries. This gateway can be used to forward requests to different bac

Cross-platform, low level networking using the Rust programming language.

libpnet Linux ∪ OS X Build Status: Windows Build Status: Discussion and support: #libpnet on freenode / #rust-networking on irc.mozilla.org / #rust on

Implementing Bendersnatch curve using Arkwork's framework in Rust.

This is a reference implementation of Bendersnatch curve using Arkwork's framework in Rust. The spec of the curve is available here. There was also a Python reference implementation here.

WIP / POC for using the BL602 wifi blob from Rust

BL602 Wifi Rust This is work in progress and currently more a proof of concept. The code is awfully hacked together - just enough to make it work. It

Examples of interacting with a Polkadot node using Rust

Examples of interacting with a Polkadot node Some examples of using JSON RPC to interact with a Polkadot node, working up to manually building and sub

RusTCP is an attempt to rewrite some of the PyTCP stack functionality using Rust language.
RusTCP is an attempt to rewrite some of the PyTCP stack functionality using Rust language.

RusTCP is an attempt to rewrite some of the PyTCP stack functionality using Rust language. Currently, the main goal of this project is to create a stable IPv6 platform that could be used to facilitate the process of labing the SRv6 technology.

WIP / POC for using the ESP32C3 wifi drivers in bare-metal Rust

Wifi on ESP32C3 (on bare-metal Rust) About This is experimental and work-in-progress! You are welcome to contribute but probably shouldn't use this fo

Comments
  • address pool

    address pool

    please consider to add an ip address pool in the server. when a fubuki client make a socket connection with a successful login to the fubuki server, the server pass a free ip address from the pool to the client for configure the tun.

    { "channel_limit": 100, "tcp_heartbeat_interval_secs": 5, "ip_pool": 192.168.1.0/24, "listeners": [ { "listen_addr": "0.0.0.0:12345", "key": "a123" } ] }

    opened by steom 0
  • routed subnet

    routed subnet

    please consider to add support to route peer subnet network range something like wireguard AllowedIPs:

    "network_ranges": [ { "server_addr": "102.129.255.0:12345", "tun": { "ip": "192.168.1.110", "netmask": "255.255.255.0", "AllowedIPs": "172.168.80.0/20"

    opened by steom 1
Owner
XTY
XTY
A WireGuard UWP VPN plugin.

WireGuard UWP A Universal Windows Platform (UWP) VPN Plug-in for WireGuard® written in Rust. Windows provides a plug-in based model for adding 3rd-par

Luqman Aden 92 Dec 13, 2022
A super naive, (possibly unreliable), VPN implementation.

Poor Man's VPN A super naive, (possibly unreliable), VPN implementation. Try on Docker Containers You can test the VPN on docker containers. up.sh scr

algon 2 Sep 7, 2022
Final Project for "Computer Networking Security": A Layer-3 VPN implementation over TLS

Final Project for "Computer Networking Security": A Layer-3 VPN implementation over TLS

Siger Yang 2 Jun 7, 2022
A virtual network tool (or VPN)

switch A virtual network tool (VPN) 将不同网络下的多个设备虚拟到一个局域网下 示例: 在一台mac设备上运行,获取到ip 10.13.0.2: 在另一台windows上运行,获取到ip 10.13.0.3: 此时这两个设备之间就能用ip相互访问了 输入"list"

null 49 Jan 21, 2023
Rosenpass is a formally verified, post-quantum secure VPN that uses WireGuard to transport the actual data.

Rosenpass README This repository contains A description of the Rosenpass protocol The reference implementation of the protocol – the rosenpass tool A

Rosenpass 597 Mar 19, 2023
A generic Rust based Bigtable connection library implemented using gRPC

A generic Rust based Bigtable connection library refactored out the solana mono-repo so that can be shared for different applications.

Lijun Wang 3 Sep 25, 2022
A µTP (Micro/uTorrent Transport Library) library implemented in Rust

rust-utp A Micro Transport Protocol library implemented in Rust. API documentation Overview The Micro Transport Protocol is a reliable transport proto

Ricardo Martins 134 Dec 11, 2022
A Constrained Application Protocol(CoAP) library implemented in Rust.

coap-rs A fast and stable Constrained Application Protocol(CoAP) library implemented in Rust. Features: CoAP core protocol RFC 7252 CoAP Observe optio

Covertness 170 Dec 19, 2022
TeleMQ is an experimental MQTT broker implemented in Rust language.

TeleMQ TeleMQ is an experimental MQTT broker implemented in Rust language. The broker implements MQTT version 3.1.1 specification. License This projec

null 12 Dec 27, 2022
A minimal ngrok liked reverse proxy implemented in Rust.

rok A minimal ngrok implementation in Rust, for educational purpose. This work is largely based on rathole, especially the very first commit. Other ho

Kai 3 Jun 21, 2022