V2RayX: A simple GUI for V2Ray on macOS
What is V2Ray?
READ THIS: Project V2Ray.
YOU SHOULD READ V2RAY'S OFFICIAL INSTRUCTION BEFORE USING V2RAYX!
Other V2Ray clients on macOS: V2RayU. (Not related to or endorsed by authors of this repo. USE AT YOUR OWN RISK.)
Download V2RayX
Download from Releases. (compiled by travis-ci.org).
By Homebrew-Cask.
brew cask install v2rayx
How to build
V2RayX.app is built by running one of the following commands in your terminal. You can install this via the command-line with curl.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Cenmrev/V2RayX/master/compilefromsource.sh)"
or step by step:
git clone --recursive https://github.com/Cenmrev/V2RayX.git
open V2RayX.xcodeproj and use Xcode to build V2RayX.
How does V2RayX work
V2RayX provides a GUI to generate the config file for V2Ray. It includes V2Ray's binary executable in the app bundle. V2RayX starts and stops V2Ray with launchd
of macOS.
V2RayX also allows users to change system proxy settings and switch proxy servers on the macOS menu bar.
As default, V2RayX will open a socks5 proxy at port 1081
as the main inbound, as well as a http proxy at port 8001
as an inboundDetour.
V2RayX provide three modes:
- Global Mode: V2RayX asks macOS to route all internet traffic to v2ray core if the network traffic obeys operating system's network rules.
- PAC Mode: macOS will determine the routing based on a pac file and some traffic may be routed to v2ray core.
- Manual Mode: V2RayX will not modify any macOS network settings, but only start or stop v2ray core.
Options in menu list Routing Rule
determine how v2ray core deals with incoming traffic. Core routing rules apply to all three modes above.
auto-run on login
Open macOS System Preferences -> Users & Group -> Login Items, add V2RayX.app to the list.
manually update v2ray-core
replace V2RayX.app/Contents/Resources/v2ray
with the newest v2ray
version from v2ray-core
repo. However, compatibility is not guaranteed.
Uninstall
V2RayX will create the following files and folders:
/Library/Application Support/V2RayX
~/Library/Application Support/V2RayX
~/Library/Preferences/cenmrev.V2RayX.plist
So, to totally uninstall V2RayX, just delete V2RayX.app and the files above. :)
Acknowledge
V2RayX uses GCDWebServer to provide a local pac server. V2RayX also uses many ideas and codes from ShadowsocksX, especially, the codes of v2rays_sysconfig are simply copied from shadowsocks_sysconf with some modifications.
Donation
If Project V2Ray or V2RayX helped you, you can also help us by donation in your will. To donate to Project V2Ray, you may refer to this page.
Disclaimer
This tool is mainly for personal usage. For professional users and technique support, commercial software like proxifier is recommended. Please refer to #60.
The developer does not major in CS nor Software Engineer and currently is busy with grad school courses. So V2rayX will not be updated frequently. Users can replace V2RayX.app/Contents/Resources/v2ray with the newest v2ray-core downloaded from https://github.com/v2ray/v2ray-core/releases.
The developer currently does not have enough time to add more features to V2RayX, nor to merge PRs. However, forking and releasing your own version are always welcome.