You can install Qv2ray via several methods:
# To install the package:
$ snap install qv2ray
# snap install qv2ray --edge (dev branch)
# To update the package:
$ snap refresh qv2ray
- 2.Install Qv2ray:# To install the package:$ flatpak install com.github.Qv2ray# To update the package:$ flatpak update
For Ubuntu 19.04 / Debian 10 (or greater):
qv2ray_VERSION_amd64.deb(Moved to Qv2ray Debian Repository since v2.6.1)
Notes for Linux AppImage users
Although we have bundled
glibcand some basic C++ libraries into the AppImage package to support some old but supported distros, moving yourself to a newer version of Distro/OS is strongly recommended.
Go to the official GitHub Release page of v2fly/v2ray-core and check the recent stable builds. Choose according to your platform in the asset files.
For example, Windows 64-bit users may download
v2ray-windows-64.zip, Mac OS users may download
v2ray-macos-64.zip, and for most of the Linux users,
Extract the v2ray core files into a fixed position. As a default, it is suggested to extract the files into
$QV2RAY_CONFIG_PATHis the directory where Qv2ray store it’s data.
vcorecould be in one of these locations:
configsubdirectory aside Qv2ray executable, which is recommended for Windows Users)
~/.qv2ray/(in a dedicated directory of your home folder)
~/.config/qv2ray/(standard XDG configuration path)
Afterwards, please make sure that these files exists directly in your
v2ray: core executable file
v2ctl: core controlling program
geoip.dat: IP rules database
geosite.dat: domain rules database
Special Hint for Linux / macOS Users
You should always grant executable permission to
v2ctl. This is usually done by executing
chmod +xon these files.
- Core Executable Path: Set this to where your V2Ray executable exists. This can be the full path of your
v2ray.exeon Windows, or that
v2rayexecutable file on Linux / macOS.
- V2Ray Assets Directory: Set this to where
After configuring, you can click on Check V2Ray Core Settings button to validate your V2Ray core settings. Repeat trying until you get the check passed.
Never ever point Core Executable Path to Qv2ray Executable! This will not cause a fork bomb since Qv2ray is single-instanced. Do note that V2Ray Core Executable is like
v2ray.exe, instead of
Hint for Arch Linux Users
If you use
v2raypackage, the suggested configuration is as follows:
- Core Executable Path:
- V2Ray Assets Directory:
- 2.Click on the "Windows V2rayN" button in the API box to copy the API for Qv2ray (it's the same format; we will be adding a specific api for Qv2ray soon).
The API link should start with https://api.wannaflix.link/apiv2.php?type=v2rayn
To import an API, follow these steps:
- 1.Click Subscriptions button in the main window.
- 3.Click to select the newly generated item in Subscription List.
- 4.Input your subscription information on the right side.
- Subscription Name: Fill this as you wish.
- Subscription Address: Use your API link mentioned above.
- Update Interval: Change this according to your own demands.
- 5.Click Update Subscription Data button to update the server list and wait until the process finishes.
- 6.Click OK to apply the settings and close the dialog.
Update through System Proxy
If you encounter connectivity problem with your API upstream (eg: DNS Record Pollution, IP Address Blocking, etc.), you may try to run with Update Subscription with System Proxy option on. However, it's better to inform the upstream as soon as possible, to fix the issue permanently.
Congratulations! There's only one step left in order to access the unlocked Internet!
For Windows and macOS users, almost all of the applications will follow the system proxy settings. For Linux users, some applications such as Firefox and Chromium, but not all, will read and obey the proxy configurations in GNOME/KDE Settings.
Currently, automatic setting of system proxy is supported by Qv2ray, including Windows, macOS and Linux (GNOME/KDE). You may find System Proxy options of Qv2ray in the following positions:
- Qv2ray Tray Menu.
- 1.Right click on the tray icon.
- 2.In the popup menu, choose System Proxy -> Enable/Disable System Proxy.
- Qv2ray Preference Window.
- 1.Click Preferences button in the main window.
- 3.Check the option Set System Proxy.
- 4.Click OK to apply the settings.
Linux Users: KDE/GNOME Proxy Settings
If you are using GNOME as your main desktop environment, you may find it quite useful to set a system proxy. That's because GNOME Proxy Settings is almost universally acknowledged.
However, KDE users may have a difficult time, since KDE Proxy Settings is more like a toy. Even KDE Applications themselves won't read and obey that configuration. In that case, you may seek for an alternative solution to configure your applications.
Windows Users: UWP Loopback Problem
By default, UWP applications are prohibited from using a proxy with a loopback address (127.0.0.1), so the system proxy settings will probably cause your UWP applications cease to work normally.
You can use some third-party tool to enable UWP loopback for your program to be proxied. We here present you this program from Fiddler project.
You can configure Telegram to use proxies in the app. Go to Settings -> Advanced -> Network and proxy and click Connection type, where Proxy Settings dialog will be opened.
In Proxy Settings, click Add Proxy button on the bottom. Choose SOCKS5/HTTP according to your own flavor and fill in the blanks with the information from Qv2ray Inbound Settings.
Finally, click on the proxy entry that you've just configured. You are done.
Almost all web browsers support manual configuration of proxies. Taking Firefox as example, you can find this settings in Preferences -> General -> Network -> Manual Proxy Configuration. Fill these fields with the information from Qv2ray Inbound Settings to use Qv2ray.
Using Proxy Plugins
To avoid switching back and forth among proxy configurations, you may want to use a third-party plugin (eg: SwitchyOmega) to enhance your browser. These plugins can help to implement a more sophisticated configuration, including multiple profiles and further traffic diversion.
For Java applications, you may use configure proxies through JVM arguments.
Here are some examples:
- Using SOCKS5:java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1088 -jar some-application.jar
- Using HTTP(S):java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8000 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8000 -jar some-application.jar
Newer versions of Minecraft (
>=1.5.2) won't follow JVM proxy settings. That is not Qv2ray's problem. If you really want to play Minecraft through proxy, consider setting up a Dokodemo-door inbound for that server and connect directly to
Many CLI programs (for example
wget) will use the proxies given by
Here is a configuration example:
# Change the host and port according to Qv2ray inbound configuration
If authentication is enabled in Qv2ray, use the following settings:
# Change user/pass according to your configuration
export HTTP_PROXY="http://user:[email protected]:8000"
export HTTPS_PROXY="http://user:[email protected]:8000"
Note that if there is a special character in your username or password, you need to encode it. Here's a quick reference:
Or enter the text you want to encode:
For programs running in
sudo, it is required to configure
sudoto preserve these variables if you do not run
sudoin a shell. Call
visudowith root and add the following line:
Defaults env_keep += "HTTP_PROXY HTTPS_PROXY"
Still, there are some programs who are using their own variables. For example,
RSYNC_PROXYfor HTTP proxies:
It is strongly recommended to read the manual of programs that you want to configure proxy with.
If none of the above methods works, you can try using
proxychains, which hijacks program's function/library to redirect network connections into your proxies.
First, you should install
proxychains-ng. Installation methods varies with each operating system.
/etc/proxychains.conf(for global proxychains) or
$HOME/.proxychains/proxychains.conf(for user), edit
[ProxyList]section and change the proxy to SOCKS5 Proxy in Qv2ray:
socks5 127.0.0.1 1088
proxychains, you may use
proxychains <program>in terminal to make
proxychainshijack the program to use the given proxy. If you are fed up with the noisy output, you may append
One thing to note is that
proxychainsdoes not work with statically-linked programs, for example, Golang programs.