An open API service indexing awesome lists of open source software.

https://github.com/aandstep/resultv

Free VPN and proxy client - ResultV
https://github.com/aandstep/resultv

amneziawg golang https hysteria2 proxy proxy-client proxy-manage react shadowsocks socks5 trojan vless vmess vpn vpn-client vpn-manager wails wireguard

Last synced: 6 days ago
JSON representation

Free VPN and proxy client - ResultV

Awesome Lists containing this project

README

          


ResultProxy logo

ResultV (prev. ResultProxy)


Desktop VPN and proxy client for Windows (macOS/Linux support in beta): Wails, Go, and sing-box.

Routing, subscriptions, smart rules, and system integration in one app.


Version
Wails
Go
React
sing-box


Features
User guide
Development
Building
Website


Русский | English


Website and downloads: result-proxy.ruTelegram channel: @resultvpn

---

## Overview

ResultV **3.2.4** is a native desktop application built with **[Wails v2](https://wails.io/)**. The UI is **React 18** with **Vite** and **Tailwind CSS**; traffic is handled by a **Go** backend and **[sing-box](https://github.com/SagerNet/sing-box)** (with project-specific build tags in `wails.json`). The interface is localized with **i18next** (English and Russian).

**Prebuilt releases:** GitHub Actions publishes **Windows amd64** artifacts (portable `.exe` and NSIS installer), **macOS** (`.dmg`) and **Linux** (`.AppImage`, `.deb`, `.rpm`) when a `v*` tag is pushed.

---

## Installation

Prebuilt binaries live on the **[Releases](https://github.com/AandStep/ResultV/releases/latest)** page — you do **not** need to build from source with Wails.

### Windows

Download the `*-installer.exe` (or the portable `.exe`) and run it.

### macOS

Download `ResultV.dmg`, open it and drag the app into `Applications`.

### Linux

The universal option for every distro is the **AppImage** — no installation required:

```bash
chmod +x ResultV*.AppImage
./ResultV*.AppImage
```

If the AppImage doesn't start, install FUSE (`fuse2`): on Debian/Ubuntu — `sudo apt install libfuse2`, on Fedora — `sudo dnf install fuse`, on Arch/CachyOS — `sudo pacman -S fuse2`.

**Arch / CachyOS (and other Arch-based):** the AppImage runs natively (just needs `fuse2`, see above). The `.deb`/`.rpm` packages do not install directly — use the AppImage.

**NixOS:** the AppImage **does not run directly** — the system has no standard FHS loader. Run it through a wrapper:

```bash
nix-shell -p appimage-run --run "appimage-run ./ResultV*.AppImage"
```

Or enable automatic AppImage execution in `configuration.nix` and rebuild:

```nix
programs.appimage.enable = true;
programs.appimage.binfmt = true;
```

After that the AppImage launches with a plain `./ResultV*.AppImage`.

**Debian / Ubuntu** — `.deb`: `sudo apt install ./ResultV*.deb`
**Fedora / RHEL / openSUSE** — `.rpm`: `sudo dnf install ./ResultV*.rpm` (or `sudo zypper install`).

> Current builds target `linux/amd64` (x86_64).

---

## Features

- **Proxy** and **Tunnel (TUN)** modes for system-wide routing where applicable
- **Protocols:** HTTP, HTTPS, SOCKS5, **VLESS**, **VMESS**, **Trojan**, **Shadowsocks**, **WireGuard**, **AmneziaWG**, **Hysteria2**
- **Subscriptions:** add, refresh, remove URL; grouping by provider/country where metadata is available
- **Import:** paste from clipboard or bulk import from `.txt` / `.csv` / `.conf`
- **Smart rules:** Global and Smart modes; **domain** and **application** exclusions (nested rules supported in the engine)
- **Kill Switch**, optional **ad blocking**, **autostart**
- **Encrypted export/import** of configuration (password-protected)
- **Logs** view (UI and backend messages)
- **System tray** integration;
- **Update check** against `update.json` on GitHub (see [Updates](#updates))

---

## Supported protocols and constraints

| Category | Protocols |
|----------|-----------|
| Classic proxy | HTTP, HTTPS, SOCKS5 |
| VPN stack (sing-box) | VLESS, VMESS, Trojan, SS, WireGuard, AmneziaWG, Hysteria2 |

**Important:**

- **WireGuard** and **AmneziaWG** work only in **Tunnel** mode; they are unavailable in Proxy mode (checked in `internal/proxy/manager.go`).
- **AmneziaWG 2.0** — full set of obfuscation fields: classic `Jc/Jmin/Jmax`, packet sizes `S1–S4`, headers `H1–H4`, special junk `I1–I5` + `Itime`, handshake junk `J1–J3`. In the UI they can be set in a structured editor (AmneziaWG tab) or in "Raw JSON" mode. URIs of the form `awg://...?Jc=5&Jmin=10&Jmax=50&S1=16&I1=...&J1=...&Itime=300` are accepted (both lower and upper case — AmneziaVPN clients provide `Jc/Jmin/...`).
- Subscriptions in **JSON** (Xray format with `outbounds[]` and sing-box format with `type`) are parsed for all key protocols, including `wireguard`/`amneziawg` with an `amnezia` block.
- **Tunnel** mode on Windows requires **running as Administrator**.
- **Kill Switch** on Windows may require **administrator privileges** for firewall rules (`internal/system/killswitch_windows.go`).
- If internet remains blocked after a crash or forced app termination, run in **PowerShell (Administrator)**:
`Get-NetFirewallRule -DisplayName 'ResultV_KillSwitch*' -ErrorAction SilentlyContinue | Remove-NetFirewallRule`
- Some subscription providers enforce **HWID device limits**; the app sends a stable `x-hwid` when fetching subscriptions and shows the reason if the provider returned an empty response due to the limit.
- **In case of issues**, please contact TG @resultpoint_manager.

---

## User guide

Screenshots below show the **English** UI (files in [`docs/images/readme/`](./docs/images/readme/)).

### Home

Connect and disconnect, choose **Proxy** / **Tunnel** mode, switch servers, and see traffic summaries when connected.


Home

### Buy proxy

The **Buy** tab links to partner offers ([impVPN:telegram](https://t.me/impVPNBot?start=NzQ3MDczMjUz)), ([impVPN:site](https://my.impio.space/?ref=NzQ3MDczMjUz)) - Best VPN servers at affordable prices, and with the promo code **result** a 20% bonus to the balance top-up. You can skip this step if you already have a server or a subscription.


Buy proxy

### Add server or subscription

Manual input, pasting **subscription links** and share-links, bulk import from clipboard or files.


Add server

### Proxy list

Server cards, **ping**, editing and deleting, working with groups from **subscriptions**, adding servers to favorites.


Proxy list

### Smart rules

**Global** and **Smart** modes; exclusion tabs by **sites** (e.g. `*.example.com`) and by **applications**.


Smart rules



Smart rules

### Logs

Inspect connection and routing messages to diagnose issues.


Logs

### Settings

**Autostart**, **Kill Switch**, **ad blocking**, **custom DNS**, **listening to local network and setting a local port**, password-protected **export/import**.


Settings



Settings

---

## Updates

The app version is taken from the embedded `wails.json` / `GetVersion` and compared with the remote [`update.json`](https://raw.githubusercontent.com/AandStep/ResultProxy/main/update.json). Release metadata and notes are maintained in the root [`update.json`](./update.json).

---

## Development

### Prerequisites

- **Go:** version compatible with [`go.mod`](./go.mod) (see `go` and `toolchain` directives)
- **Node.js:** **20+** recommended (CI uses **24** for releases)
- **Wails CLI v2:** `go install github.com/wailsapp/wails/v2/cmd/wails@latest`
- **Windows:** WebView2 runtime (usually present on current Windows 10/11)

### Run in dev mode

From the repository root:

```bash
wails dev
```

This starts the Vite dev server with hot reload and connects it to the Go backend.

---

## Building

### Local production build

```bash
wails build
```

Add `-nsis` on Windows to produce an installer if NSIS is installed:

```bash
wails build -nsis
```

Outputs land under `build/bin/` (see [`build/README.md`](./build/README.md)).

### CI releases

The [`.github/workflows/release.yml`](./.github/workflows/release.yml) workflow runs `wails build -clean -nsis -platform windows/amd64` and publishes GitHub Release assets.

---

## Tech stack

| Layer | Technology |
|-------|------------|
| Shell | [Wails v2](https://wails.io/) |
| UI | React 18, Vite, Tailwind CSS, i18next |
| Backend | Go |
| Proxy core | sing-box (see `go.mod` and replace directives), project build tags in [`wails.json`](./wails.json) |
| Tray | getlantern/systray (platform-specific code under `internal/getlantern_systray/`) |

---

## License

This project is licensed under the **GNU General Public License v3.0** — see [`LICENSE`](./LICENSE).