diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1d3dfe3..9840a8b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ on: version: description: 'Version for this release' type: string - default: 'v1.2.2' + default: 'v1.2.3' required: true make_latest: description: 'Mark this release as latest' diff --git a/Cargo.lock b/Cargo.lock index 835501b..64f3587 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1597,7 +1597,7 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "easytier" -version = "1.2.2" +version = "1.2.3" dependencies = [ "aes-gcm", "anyhow", @@ -1684,7 +1684,7 @@ dependencies = [ [[package]] name = "easytier-gui" -version = "1.2.2" +version = "1.2.3" dependencies = [ "anyhow", "chrono", diff --git a/README.md b/README.md index 4f6c5e7..70cdeff 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ EasyTier is a simple, safe and decentralized VPN networking solution implemented - **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. -- **Cross-platform**: Supports MacOS/Linux/Windows, will support IOS and Android in the future. The executable file is statically linked, making deployment simple. +- **Cross-platform**: Supports MacOS/Linux/Windows/Android, will support IOS in the future. The executable file is statically linked, making deployment simple. - **Networking without public IP**: Supports networking using shared public nodes, refer to [Configuration Guide](#Networking-without-public-IP) - **NAT traversal**: Supports UDP-based NAT traversal, able to establish stable connections even in complex network environments. - **Subnet Proxy (Point-to-Network)**: Nodes can expose accessible network segments as proxies to the VPN subnet, allowing other nodes to access these subnets through the node. @@ -57,7 +57,7 @@ EasyTier is a simple, safe and decentralized VPN networking solution implemented 5. **Install by script (For Linux Only)** ```sh - wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/easytier.sh" && bash /tmp/easytier.sh install + wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh" && bash /tmp/easytier.sh install ``` You can also uninstall/update Easytier by the command "uninstall" or "update" of this script @@ -132,6 +132,13 @@ nodea <-----> nodeb ![alt text](/assets/image-1.png) + + ```sh + easytier-cli node + ``` + + ![alt text](assets/image-10.png) + --- ### Multi-node Networking @@ -282,7 +289,7 @@ You can use ``easytier-core --help`` to view all configuration items - [ ] Improve documentation and user guides. - [ ] Support features such as encryption, TCP hole punching, etc. -- [ ] Support Android, IOS and other mobile platforms. +- [ ] Support iOS. - [ ] Support Web configuration management. ## Community and Contribution diff --git a/README_CN.md b/README_CN.md index 0fe2b90..7d1e4f6 100644 --- a/README_CN.md +++ b/README_CN.md @@ -22,7 +22,7 @@ - **去中心化**:无需依赖中心化服务,节点平等且独立。 - **安全**:支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保护中转流量。 - **高性能**:全链路零拷贝,性能与主流组网软件相当。 -- **跨平台**:支持 MacOS/Linux/Windows,未来将支持 IOS 和 Android。可执行文件静态链接,部署简单。 +- **跨平台**:支持 MacOS/Linux/Windows/Android,未来将支持 IOS。可执行文件静态链接,部署简单。 - **无公网 IP 组网**:支持利用共享的公网节点组网,可参考 [配置指南](#无公网IP组网) - **NAT 穿透**:支持基于 UDP 的 NAT 穿透,即使在复杂的网络环境下也能建立稳定的连接。 - **子网代理(点对网)**:节点可以将可访问的网段作为代理暴露给 VPN 子网,允许其他节点通过该节点访问这些子网。 @@ -57,7 +57,7 @@ 5. **使用一键脚本安装 (仅适用于 Linux)** ```sh - wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/easytier.sh" && bash /tmp/easytier.sh install + wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh" && bash /tmp/easytier.sh install ``` 使用本脚本安装的 Easytier 可以使用脚本的 uninstall/update 对其卸载/升级 @@ -132,6 +132,12 @@ nodea <-----> nodeb ![alt text](/assets/image-1.png) + ```sh + easytier-cli node + ``` + + ![alt text](assets/image-10.png) + --- ### 多节点组网 @@ -286,7 +292,7 @@ connected_clients: - [ ] 完善文档和用户指南。 - [ ] 支持 TCP 打洞等特性。 -- [ ] 支持 Android、IOS 等移动平台。 +- [ ] 支持 iOS。 - [ ] 支持 Web 配置管理。 ## 社区和贡献 diff --git a/assets/image-10.png b/assets/image-10.png new file mode 100644 index 0000000..e421880 Binary files /dev/null and b/assets/image-10.png differ diff --git a/easytier-gui/package.json b/easytier-gui/package.json index 69937fa..8742e0c 100644 --- a/easytier-gui/package.json +++ b/easytier-gui/package.json @@ -1,7 +1,7 @@ { "name": "easytier-gui", "type": "module", - "version": "1.2.2", + "version": "1.2.3", "private": true, "scripts": { "dev": "vite", diff --git a/easytier-gui/src-tauri/Cargo.toml b/easytier-gui/src-tauri/Cargo.toml index d7e8b26..5c9ded7 100644 --- a/easytier-gui/src-tauri/Cargo.toml +++ b/easytier-gui/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "easytier-gui" -version = "1.2.2" +version = "1.2.3" description = "EasyTier GUI" authors = ["you"] edition = "2021" diff --git a/easytier-gui/src-tauri/tauri.conf.json b/easytier-gui/src-tauri/tauri.conf.json index d500402..a6a7ac7 100644 --- a/easytier-gui/src-tauri/tauri.conf.json +++ b/easytier-gui/src-tauri/tauri.conf.json @@ -17,7 +17,7 @@ "createUpdaterArtifacts": false }, "productName": "easytier-gui", - "version": "1.2.2", + "version": "1.2.3", "identifier": "com.kkrainbow.easytier", "plugins": {}, "app": { diff --git a/easytier/Cargo.toml b/easytier/Cargo.toml index 38ee820..10726c4 100644 --- a/easytier/Cargo.toml +++ b/easytier/Cargo.toml @@ -3,7 +3,7 @@ name = "easytier" description = "A full meshed p2p VPN, connecting all your devices in one network with one command." homepage = "https://github.com/EasyTier/EasyTier" repository = "https://github.com/EasyTier/EasyTier" -version = "1.2.2" +version = "1.2.3" edition = "2021" authors = ["kkrainbow"] keywords = ["vpn", "p2p", "network", "easytier"] diff --git a/script/easytier.sh b/script/install.sh similarity index 89% rename from script/easytier.sh rename to script/install.sh index e1db0c5..5382310 100644 --- a/script/easytier.sh +++ b/script/install.sh @@ -2,9 +2,6 @@ # This script copy from alist , Thank for it! -# INSTALL_PATH='/opt/easytier' -VERSION='latest' - SKIP_FOLDER_VERIFY=false SKIP_FOLDER_FIX=false @@ -52,6 +49,12 @@ SHAN='\e[1;33;5m' RES='\e[0m' # clear +# check if unzip is installed +if ! command -v unzip >/dev/null 2>&1; then + echo -e "\r\n${RED_COLOR}Error: unzip is not installed${RES}\r\n" + exit 1 +fi + echo -e "\r\n${RED_COLOR}----------------------NOTICE----------------------${RES}\r\n" echo " This is a temporary script to install EasyTier " echo " EasyTier requires a dedicated empty folder to install" @@ -60,13 +63,6 @@ echo " Using EasyTier requires some basic skills " echo " You need to face the risks brought by using EasyTier at your own risk " echo -e "\r\n${RED_COLOR}-------------------------------------------------${RES}\r\n" -read -p "Enter \"yes\" to accept our policy and continue: " -r agreement -if [[ ! "$agreement" =~ ^[Yy]es$ ]] -then - echo "You do not accept your policy, the script will exit ..." - exit 1 -fi - # Get platform if command -v arch >/dev/null 2>&1; then platform=$(arch) @@ -128,9 +124,6 @@ CHECK() { exit 0 fi fi - if [ $check_port ]; then - kill -9 $check_port - fi if [ ! -d "$INSTALL_PATH/" ]; then mkdir -p $INSTALL_PATH else @@ -183,7 +176,38 @@ INIT() { fi # Create default blank file config - touch $INSTALL_PATH/config/default.conf + cat >$INSTALL_PATH/config/default.conf </etc/systemd/system/easytier@.service <