No description
- Rust 81%
- Vue 10.4%
- TypeScript 7.7%
- HTML 0.3%
- Batchfile 0.2%
- Other 0.4%
| .vscode | ||
| docs | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| AGENTS.md | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| run-tests.bat | ||
| run-tests.sh | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Shadowsocks-Rust GUI
GUI обёртка над shadowsocks-rust для управления прокси конфигурациями.
Возможности
- Несколько конфигураций Proxy - запуск нескольких конфигураций одновременно
- Одна конфигурация TUN - полный перехват трафика через TUN интерфейс
- Автоматическая загрузка - скачивание sslocal, v2ray-plugin и wintun при первом запуске
- Проверка обновлений - автоматическая проверка новых версий через GitHub API
- SIP008 Online Config - загрузка конфигураций из онлайн источников с автообновлением
- System Tray - уведомления о статусе и быстрое переключение конфигураций
- Импорт конфигураций - импорт из SIP002 URL, QR кодов и JSON файлов
Технологический стек
- Frontend: Vue.js 3.5 + TypeScript + TailwindCSS 4.1 + Pinia 3.0 + Vue Router 4.6
- Backend: Rust (Tauri v2)
- UI: WebView через WRY
Требования
Windows
- Visual Studio Build Tools с C++ компилятором (для компиляции Rust)
- Скачайте с https://visualstudio.microsoft.com/downloads/
- Выберите "Desktop development with C++"
- Node.js 18+
- Rust 1.70+
Linux
- build-essential, pkg-config, libwebkit2gtk-4.0-dev
- Node.js 18+
- Rust 1.70+
macOS
- Xcode Command Line Tools
- Node.js 18+
- Rust 1.70+
Установка Rust
# Установка rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Перезагрузите PATH
source $HOME/.cargo/env
Установка зависимостей проекта
# Установка Tauri CLI
npm install --global @tauri-apps/cli@latest
# Установка зависимостей npm
npm install
Разработка
# Запуск в режиме разработки (требует скомпилированный Rust backend)
npm run tauri:dev
# Только frontend
npm run dev
# Типизация
npm run typecheck
# Линтеры
npm run lint
Сборка
# Сборка для текущей платформы
npm run tauri:build
Структура проекта
shadowsocks-rust-gui/
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands/ # Tauri IPC commands
│ │ ├── core/ # Platform detection, paths
│ │ ├── downloader/ # Binary downloads
│ │ ├── process/ # sslocal process management
│ │ ├── config/ # Config CRUD, SIP008 parsing
│ │ ├── tray/ # System tray
│ │ └── online_config/ # SIP008 support
├── src/ # Vue.js frontend
│ ├── api/ # Tauri API wrappers
│ ├── assets/ # Styles, static files
│ ├── stores/ # Pinia stores
│ ├── types/ # TypeScript types
│ ├── App.vue # Main component
│ └── main.ts # Entry point
└── docs/ # Documentation
Папка приложения
Пользовательские данные хранятся в:
- Windows:
%LOCALAPPDATA%\shadowsocks-gui\ - Linux:
~/.local/share/shadowsocks-gui/ - macOS:
~/Library/Application Support/shadowsocks-gui/
Структура:
shadowsocks-gui/
├── binaries/ # Загруженные исполняемые файлы
├── configs/ # Конфигурации (JSON)
└── logs/ # Логи приложения
Лицензия
MIT