Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/changlan/kytan
kytan: High Performance Peer-to-Peer VPN in Rust
https://github.com/changlan/kytan
censorship-circumvention rust vpn
Last synced: about 2 months ago
JSON representation
kytan: High Performance Peer-to-Peer VPN in Rust
- Host: GitHub
- URL: https://github.com/changlan/kytan
- Owner: changlan
- License: apache-2.0
- Created: 2016-01-26T20:50:14.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-10-16T07:35:20.000Z (about 1 year ago)
- Last Synced: 2024-04-22T13:31:37.320Z (8 months ago)
- Topics: censorship-circumvention, rust, vpn
- Language: Rust
- Homepage:
- Size: 118 KB
- Stars: 458
- Watchers: 16
- Forks: 59
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - kytan - High Performance Peer-to-Peer VPN (Applications)
- awesome-rust - kytan - to-Peer VPN (Applications)
- awesome-rust-zh - kytan - 高性能点对点 VPN (应用 / 贡献)
- awesome-rust - kytan - High Performance Peer-to-Peer VPN (Applications)
- awesome-rust - kytan - High Performance Peer-to-Peer VPN (应用 Applications)
- awesome-rust-cn - kytan - High Performance Peer-to-Peer VPN (应用)
- fucking-awesome-rust - kytan - High Performance Peer-to-Peer VPN (Applications)
- awesome-rust-cn - kytan
README
[![Build Status](https://travis-ci.org/changlan/kytan.svg?branch=master)](https://travis-ci.org/changlan/kytan)
[![codecov](https://codecov.io/gh/changlan/kytan/branch/master/graph/badge.svg)](https://codecov.io/gh/changlan/kytan)## kytan: High Performance Peer-to-Peer VPN
`kytan` is a high performance peer to peer VPN written in Rust. The goal is to
to minimize the hassle of configuration and deployment with a goal of
multi-platform support.### Supported Platforms
- Linux
- macOS (Client mode only)### Installation
Currently, precompiled `kytan` binaries are available for Linux and macOS.
You can download them from [releases](https://github.com/changlan/kytan/releases).Alternatively, you can compile it from source if
your machine is installed with [Rust](https://www.rust-lang.org/en-US/install.html).```
$ git clone https://github.com/changlan/kytan.git
$ cd kytan
$ cargo build --release
```### Running `kytan`
For complete information:
```
$ sudo ./kytan -h
```#### Server Mode
Like any other VPN server, you need to configure `iptables` as following to make
sure IP masquerading (or NAT) is enabled, which should be done only once. In the
future, `kytan` will automate these steps. You may change `` to the
interface name on your server (e.g. `eth0`):```
$ sudo iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o -j MASQUERADE
```To run `kytan` in server mode and listen on UDP port `9527` with password `hello`:
```
$ sudo ./kytan server -k hello
```
If you want open log display (`info` is log level, you can change it by your idea)```
$ sudo RUST_LOG=info ./kytan server -k hello
```#### Client Mode
To run `kytan` in client mode and connect to the server `:9527` using password `hello`:
```
$ sudo ./kytan client -s -p 9527 -k hello
```if you want open log display (`info` is log level, you can change it by your idea)
```
$ sudo RUST_LOG=info ./kytan client -s -p 9527 -k hello
```### License
Apache 2.0