EasyTier/easytier-gui
Sijie.Sun a78b759741
feat/web (Patchset 2) (#444)
This patch implement a restful server without any auth.

usage:

```bash
# run easytier-web, which acts as an gateway and registry for all easytier-core
$> easytier-web

# run easytier-core and connect to easytier-web with a token
$> easytier-core --config-server udp://127.0.0.1:22020/fdsafdsa

# use restful api to list session
$> curl -H "Content-Type: application/json" -X GET 127.0.0.1:11211/api/v1/sessions
[{"token":"fdsafdsa","client_url":"udp://127.0.0.1:48915","machine_id":"de3f5b8f-0f2f-d9d0-fb30-a2ac8951d92f"}]%

# use restful api to run a network instance
$> curl -H "Content-Type: application/json" -X POST 127.0.0.1:11211/api/v1/network/de3f5b8f-0f2f-d9d0-fb30-a2ac8951d92f -d '{"config": "listeners = [\"udp://0.0.0.0:12344\"]"}'

# use restful api to get network instance info
$> curl -H "Content-Type: application/json" -X GET 127.0.0.1:11211/api/v1/network/de3f5b8f-0f2f-d9d0-fb30-a2ac8951d92f/65437e50-b286-4098-a624-74429f2cb839 
```
2024-10-26 00:04:22 +08:00
..
.vscode 🎈 perf: event log 2024-10-12 19:57:36 +08:00
locales feat: display 2024-10-12 20:17:45 +08:00
src feat/web (Patchset 2) (#444) 2024-10-26 00:04:22 +08:00
src-tauri Feat/web (PatchSet 1) (#436) 2024-10-19 18:10:02 +08:00
.gitignore Android Support (#166) 2024-07-15 00:03:55 +08:00
.npmrc 🐳 chore: eslint config 2024-05-07 23:01:06 +08:00
eslint.config.js 🐳 chore: eslint config and script 2024-05-07 23:01:06 +08:00
index.html introduce gui based on tauri (#52) 2024-04-14 23:29:34 +08:00
package.json 🐳 chore: use vue 3.4.38 (#438) 2024-10-22 14:08:25 +08:00
pnpm-lock.yaml 🐳 chore: use vue 3.4.38 (#438) 2024-10-22 14:08:25 +08:00
postcss.config.js introduce gui based on tauri (#52) 2024-04-14 23:29:34 +08:00
README.md Get dev_name from the global_ctx of each instance 2024-09-24 16:52:38 +08:00
tailwind.config.js 🌈 style: eslint lint 2024-05-07 22:57:56 +08:00
tsconfig.json 🌈 style: eslint lint 2024-05-07 22:57:56 +08:00
vite.config.ts Perf/front page (#316) 2024-09-11 09:13:00 +08:00

GUI for EasyTier

this is a GUI implementation for EasyTier, based on Tauri2.

Compile

Install prerequisites

apt install npm
npm install -g pnpm

For Desktop (Win/Mac/Linux)

cd ../tauri-plugin-vpnservice
pnpm install
pnpm build

cd ../easytier-gui
pnpm install
pnpm tauri build

For Android

Need to install android SDK / emulator / NDK / Java (easy with android studio)

# For ArchLinux
sudo pacman -Sy sdkmanager
sudo sdkmanager --install platform-tools platforms\;android-34 ndk\;r26 build-tools
export PATH=/opt/android-sdk/platform-tools:$PATH
export ANDROID_HOME=/opt/android-sdk/
export NDK_HOME=/opt/android-sdk/ndk/26.0.10792818/
rustup target add aarch64-linux-android

install java 20

Java version depend on gradle version specified in (easytier-gui\src-tauri\gen\android\build.gradle.kts)

See Gradle compatibility matrix for detail .

pnpm install
pnpm tauri android init
pnpm tauri android build