mirror of
https://github.com/EasyTier/easytier.github.io.git
synced 2025-05-19 10:27:06 +00:00
🌈 style: lint
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
# Community and Contribution
|
||||
|
||||
We welcome and encourage community contributions! If you want to get involved, please submit a [GitHub PR](https://github.com/KKRainbow/EasyTier/pulls). Detailed contribution guidelines can be found in [CONTRIBUTING.md](https://github.com/KKRainbow/EasyTier/blob/main/CONTRIBUTING.md).
|
||||
|
||||
We welcome and encourage community contributions! If you want to get involved, please submit a [GitHub PR](https://github.com/KKRainbow/EasyTier/pulls). Detailed contribution guidelines can be found in [CONTRIBUTING.md](https://github.com/KKRainbow/EasyTier/blob/main/CONTRIBUTING.md).
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# Contact
|
||||
|
||||
|
||||
- Ask questions or report problems: [GitHub Issues](https://github.com/KKRainbow/EasyTier/issues)
|
||||
- Discussion and exchange: [GitHub Discussions](https://github.com/KKRainbow/EasyTier/discussions)
|
||||
- QQ Group: [949700262](https://qm.qq.com/q/LDxBN5L3kA)
|
||||
- Telegram: https://t.me/easytier
|
||||
- Telegram: https://t.me/easytier
|
||||
|
||||
@@ -6,9 +6,11 @@
|
||||
2. **Install via crates.io**
|
||||
|
||||
::: code-group
|
||||
|
||||
```sh [cargo]
|
||||
cargo install easytier
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
3. **Install from source code**
|
||||
@@ -16,4 +18,4 @@
|
||||
```sh [cargo]
|
||||
cargo install --git https://github.com/KKRainbow/EasyTier.git
|
||||
```
|
||||
:::
|
||||
:::
|
||||
|
||||
@@ -5,7 +5,7 @@ EasyTier is a simple, safe and decentralized VPN networking solution implemented
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
|
||||
- **Decentralized**: No need to rely on centralized services, nodes are equal and independent.
|
||||
- **Safe**: Use WireGuard protocol to encrypt data.
|
||||
- **High Performance**: Full-link zero-copy, with performance comparable to mainstream networking software.
|
||||
@@ -16,4 +16,4 @@ EasyTier is a simple, safe and decentralized VPN networking solution implemented
|
||||
- **Smart Routing**: Selects links based on traffic to reduce latency and increase throughput.
|
||||
- **TCP Support**: Provides reliable data transmission through concurrent TCP links when UDP is limited, optimizing performance.
|
||||
- **High Availability**: Supports multi-path and switches to healthy paths when high packet loss or network errors are detected.
|
||||
- **IPv6 Support**: Supports networking using IPv6.
|
||||
- **IPv6 Support**: Supports networking using IPv6.
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
# License
|
||||
|
||||
EasyTier is released under the [Apache License 2.0](https://github.com/KKRainbow/EasyTier/blob/main/LICENSE).
|
||||
|
||||
EasyTier is released under the [Apache License 2.0](https://github.com/KKRainbow/EasyTier/blob/main/LICENSE).
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
# Configurations
|
||||
|
||||
You can use ``easytier-core --help`` to view all configuration items
|
||||
You can use `easytier-core --help` to view all configuration items
|
||||
|
||||
|
||||
```` sh
|
||||
```sh
|
||||
Options:
|
||||
--network-name <NETWORK_NAME>
|
||||
network name to identify this vpn network
|
||||
network name to identify this vpn network
|
||||
[default: default]
|
||||
--network-secret <NETWORK_SECRET>
|
||||
network secret to verify this node belongs to the vpn network
|
||||
network secret to verify this node belongs to the vpn network
|
||||
[default: ]
|
||||
-i, --ipv4 <IPV4>
|
||||
ipv4 address of this vpn node
|
||||
@@ -20,39 +19,39 @@ Options:
|
||||
-n, --proxy-networks <PROXY_NETWORKS>
|
||||
export local networks to other peers in the vpn
|
||||
-r, --rpc-portal <RPC_PORTAL>
|
||||
rpc portal address to listen for management
|
||||
rpc portal address to listen for management
|
||||
[default: 127.0.0.1:15888]
|
||||
-l, --listeners <LISTENERS>
|
||||
listeners to accept connections, pass '' to avoid listening.
|
||||
listeners to accept connections, pass '' to avoid listening.
|
||||
[default: tcp://0.0.0.0:11010 udp://0.0.0.0:11010 wg://0.0.0.0:11011]
|
||||
--net-ns <NET_NS>
|
||||
specify the linux network namespace, default is the root namespace
|
||||
--console-log-level <CONSOLE_LOG_LEVEL>
|
||||
console log level
|
||||
console log level
|
||||
[possible values: trace, debug, info, warn, error, off]
|
||||
--file-log-level <FILE_LOG_LEVEL>
|
||||
file log level
|
||||
file log level
|
||||
[possible values: trace, debug, info, warn, error, off]
|
||||
--file-log-dir <FILE_LOG_DIR>
|
||||
directory to store log files
|
||||
-m, --instance-name <INSTANCE_NAME>
|
||||
instance name to identify this vpn node in same machine
|
||||
instance name to identify this vpn node in same machine
|
||||
[default: default]
|
||||
-d, --instance-id <INSTANCE_ID>
|
||||
instance uuid to identify this vpn node in whole vpn network example: 123e4567-e89b-12d3-a456-426614174000
|
||||
instance uuid to identify this vpn node in whole vpn network example: 123e4567-e89b-12d3-a456-426614174000
|
||||
--vpn-portal <VPN_PORTAL>
|
||||
url that defines the vpn portal, allow other vpn clients to connect.
|
||||
example: wg://0.0.0.0:11010/10.14.14.0/24, means the vpn portal is a wireguard server listening on vpn.example.com:11010, and the vpn client is in network of 10.14.14.0/24
|
||||
example: wg://0.0.0.0:11010/10.14.14.0/24, means the vpn portal is a wireguard server listening on vpn.example.com:11010, and the vpn client is in network of 10.14.14.0/24
|
||||
--default-protocol <DEFAULT_PROTOCOL>
|
||||
default protocol to use when connecting to peers
|
||||
-u, --disable-encryption
|
||||
disable encryption for peers communication, default is false, must be same with peers
|
||||
--multi-thread
|
||||
use multi-thread runtime, default is single-thread
|
||||
use multi-thread runtime, default is single-thread
|
||||
--disable-ipv6
|
||||
do not use ipv6
|
||||
-h, --help
|
||||
Print help
|
||||
-V, --version
|
||||
Print version
|
||||
````
|
||||
```
|
||||
|
||||
@@ -8,4 +8,4 @@ sudo easytier-core --ipv4 10.144.144.2 --peers udp://22.1.1.1:11010
|
||||
|
||||
The `--peers` parameter can fill in the listening address of any node already in the virtual network.
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Networking without Public IP
|
||||
|
||||
EasyTier supports networking using shared public nodes. The currently deployed shared public node is
|
||||
EasyTier supports networking using shared public nodes. The currently deployed shared public node is
|
||||
|
||||
``tcp://easytier.public.kkrainbow.top:11010``
|
||||
`tcp://easytier.public.kkrainbow.top:11010`
|
||||
|
||||
When using shared nodes, each node entering the network needs to provide the same ``--network-name`` and ``--network-secret`` parameters as the unique identifier of the network.
|
||||
When using shared nodes, each node entering the network needs to provide the same `--network-name` and `--network-secret` parameters as the unique identifier of the network.
|
||||
|
||||
Taking two nodes as an example, Node A executes:
|
||||
|
||||
|
||||
@@ -32,15 +32,15 @@ Subnet proxy information will automatically sync to each node in the virtual net
|
||||
```sh
|
||||
easytier-cli route
|
||||
```
|
||||
|
||||
| ipv4 | hostname | proxy_cidrs | next_hop_ipv4 | next_hop_hostname | next_hop_lat | cost |
|
||||
| :----------- | :------- | :---------- | :------------ | :---------------- | :----------- | :--- |
|
||||
| 10.144.144.1 | abc-dec | 10.1.1.0/24 | DIRECT | | 3.25 | 1 |
|
||||
|
||||
|
||||
2. Test whether Node A can access nodes under the proxied subnet
|
||||
|
||||
```sh
|
||||
ping 10.1.1.2
|
||||
```
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
# Two-node Networking
|
||||
|
||||
|
||||
Assuming the network topology of the two nodes is as follows
|
||||
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
|
||||
|
||||
subgraph Node A IP 22.1.1.1
|
||||
nodea[EasyTier\n10.144.144.1]
|
||||
end
|
||||
|
||||
|
||||
subgraph Node B
|
||||
nodeb[EasyTier\n10.144.144.2]
|
||||
end
|
||||
|
||||
|
||||
nodea <-----> nodeb
|
||||
|
||||
|
||||
```
|
||||
|
||||
1. Execute on Node A:
|
||||
|
||||
```sh
|
||||
sudo easytier-core --ipv4 10.144.144.1
|
||||
```
|
||||
|
||||
Successful execution of the command will print the following.
|
||||
|
||||
```sh
|
||||
@@ -52,9 +54,10 @@ nodea <-----> nodeb
|
||||
xxxx-xx-xx xx:xx:xx: tun device ready. dev: tun0
|
||||
xxxx-xx-xx xx:xx:xx: new listener added. listener: tcp://0.0.0.0:11010
|
||||
xxxx-xx-xx xx:xx:xx: new listener added. listener: udp://0.0.0.0:11010
|
||||
````
|
||||
```
|
||||
|
||||
2. Execute on Node B
|
||||
|
||||
```sh
|
||||
sudo easytier-core --ipv4 10.144.144.2 --peers udp://22.1.1.1:11010
|
||||
```
|
||||
@@ -62,23 +65,27 @@ nodea <-----> nodeb
|
||||
3. Test Connectivity
|
||||
|
||||
The two nodes should connect successfully and be able to communicate within the virtual subnet
|
||||
|
||||
```sh
|
||||
ping 10.144.144.2
|
||||
```
|
||||
|
||||
Use easytier-cli to view node information in the subnet
|
||||
|
||||
```sh
|
||||
easytier-cli peer
|
||||
```
|
||||
| ipv4 | hostname | cost | lat_ms | loss_rate | rx_bytes | tx_bytes | tunnel_proto | nat_type | id |
|
||||
| :------------ | :------- | :--- | :----- | :-------- | :------- | :------- | :----------- | :------- | :-------- |
|
||||
| 10.144.144.1 | abc-dec | 1 | 3.452 | 0 | 17.33kB | 20.42kB | udp | FullCone | 390879727 |
|
||||
|
||||
|
||||
| ipv4 | hostname | cost | lat_ms | loss_rate | rx_bytes | tx_bytes | tunnel_proto | nat_type | id |
|
||||
| :----------- | :------- | :--- | :----- | :-------- | :------- | :------- | :----------- | :------- | :-------- |
|
||||
| 10.144.144.1 | abc-dec | 1 | 3.452 | 0 | 17.33kB | 20.42kB | udp | FullCone | 390879727 |
|
||||
|
||||
```sh
|
||||
easytier-cli route
|
||||
```
|
||||
|
||||
| ipv4 | hostname | proxy_cidrs | next_hop_ipv4 | next_hop_hostname | next_hop_lat | cost |
|
||||
| :----------- | :------- | :---------- | :------------ | :---------------- | :----------- | :--- |
|
||||
| 10.144.144.1 | abc-dec | | DIRECT | | 3.646 | 1 |
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
@@ -52,4 +52,4 @@ connected_clients:
|
||||
|
||||
```
|
||||
|
||||
Before using the Client Config, you need to modify the Interface Address and Peer Endpoint to the client's IP and the IP of the EasyTier node, respectively. Import the configuration file into the WireGuard client to access the EasyTier network.
|
||||
Before using the Client Config, you need to modify the Interface Address and Peer Endpoint to the client's IP and the IP of the EasyTier node, respectively. Import the configuration file into the WireGuard client to access the EasyTier network.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Networking
|
||||
|
||||
::: tip tips
|
||||
The following text only describes the use of the command-line tool; the GUI program can be configured by referring to the following concepts.
|
||||
:::
|
||||
|
||||
Make sure EasyTier is installed according to the [Installation Guide](/en/guide/installation), and both easytier-core and easytier-cli commands are available.
|
||||
Make sure EasyTier is installed according to the [Installation Guide](/en/guide/installation), and both easytier-core and easytier-cli commands are available.
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@
|
||||
- [ ] Improve documentation and user guides.
|
||||
- [ ] Support features such as encryption, TCP hole punching,etc.
|
||||
- [ ] Support Android, IOS and other mobile platforms.
|
||||
- [ ] Support Web configuration management.
|
||||
- [ ] Support Web configuration management.
|
||||
|
||||
Reference in New Issue
Block a user