A cross platform connection manager for V2Ray and other backends.

Overview

Qv2ray Qv2ray - For developers. By developers.

Build for Desktop GitHub Releases GitHub All Releases

AUR badge for qv2ray-static-bin-nightly

Qv2ray is a cross-platform connection manager for V2Ray and other backends.

This is the original Qv2ray project by the author who contributed over 95% code and other contributors. Unlike Qv2ray/Qv2ray whose control has been forcibly taken away from the author by another organization owner.

Development Goal: For developers. By developers.

Further development of this project will focus on my own needs and use cases.

Feature requests from non-developers might get rejected. Code contribution is always welcome.

Compile Dependencies

  • Qt 6.2
  • CMake 3.20.0 (cmake_path command for Windows plugin deployment)
  • gRPC, Protobuf (used by V2RayCorePlugin, can be omitted if not used)
  • OpenSSL (for OpenSSL QtNetwork TLS backend plugin)

OS Support Status:

  • ArchLinux: Tested and Working
  • Windows 10/11: Tested and Working, build system.
  • macOS 12 Beta: Tested and Working
  • macOS 11: Tested and Working.
  • macOS 10.15: Tested and Working, build system.
  • Ubuntu 20.04: Untested, build system.
  • Others: Untested

build system: the CI is done under that OS, although it "should" work there's no runtime guarantee.

Compatibility

This repo is developed based on the original dev-v3 branch, so the plugins, configuration files will not be compatible with the original version.

Xray

No Such Word In My Dictionary

Plugins At A Glance

Not All Plugins Are Available Since I'm Very Busy

Built-in Plugins

  • QvPlugin-BuiltinProtocolSupport Builtin Protocol Support
  • QvPlugin-BuiltinSubscriptionSupport Builtin Subscription Support
  • QvPlugin-BuiltinUtils Builtin Utilities

Utility Plugins

  • QvPlugin-Command Command Hook Plugin
  • QvPlugin-LatencyTest Latency Tests Plugin (ICMP, TCP, HTTPS)
  • QvPlugin-Netfilter Windows Transparent Proxy Plugin

Protocol Support

  • QvPlugin-Trojan-Go Trojan-Go Plugin
  • QvPlugin-NaiveProxy NaiveProxy Plugin

Licencing

This is free software, and you are welcome to redistribute it under certain conditions.

Third-party Libraries and Resources

See: assets/credit.html

Qv2ray is licenced under License: GPL v3

Qv2ray, A Qt frontend for V2Ray. Written in C++

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Star History

stars

Comments
  • Installing form AUR using paru

    Installing form AUR using paru

    I don't know why but it seems to have some problem with curl I'm using paru as my AUR helper

    ==> Sources are ready. qv2ray-static-bin-nightly-20210822-1: parsing pkg list... ==> Making package: qv2ray-static-bin-nightly 20211008-1 (Sun 10 Oct 2021 05:02:58 PM CST) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> WARNING: Using existing $srcdir/ tree ==> Starting pkgver()... ==> Removing existing $pkgdir/ directory... ==> Entering fakeroot environment... ==> Starting package()... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: null ==> ERROR: A failure occurred in package(). Aborting... error: failed to build 'qv2ray-static-bin-nightly-20210822-1': error: packages failed to build: qv2ray-static-bin-nightly-20210822-1

    opened by CCCharls 19
  • can't find libicu

    can't find libicu

    I tried to open qv2ray but this showed up qv2ray: error while loading shared libraries: libicui18n.so.69: cannot open shared object file: No such file or directory

    opened by CCCharls 10
  • qv2ray 3.0 seems can't use with cgproxy

    qv2ray 3.0 seems can't use with cgproxy

    When start cgproxy service. v2ray crashed.

    2021-06-26_11-22

    And I read the Core log with "switch to Core log", but it seems noting useful.

    When I stop cgproxy, everything goes well. And when I use Qv2ray/Qv2ray 2.7 or 2.6.3, it works well with cgproxy.

    Arch Linux, latest related libraries.

    opened by ghost 7
  • 显示连接后无法上网

    显示连接后无法上网

    Screenshot_20211227_105546

    可以测试延迟,显示连接,但是旁边的图没有流量显示,log也不更新,google/wikipedia等也无法访问

    System:
      Host: ThinkPad Kernel: 5.15.11-1-MANJARO x86_64 bits: 64
        Desktop: KDE Plasma 5.23.4 Distro: Manjaro Linux
    Machine:
      Type: Laptop System: LENOVO product: 20WKA000CD v: ThinkPad X13 Gen 2i
    Network:
      Device-1: Intel Ethernet I219-V driver: e1000e
      Device-2: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi
    
    invalid 
    opened by Firestar-Reimu 6
  • System proxy can't be set/unset automatically anymore

    System proxy can't be set/unset automatically anymore

    Version Info

    • OS
      Windows 11
    • Qv2ray
      https://github.com/Shadowsocks-NET/Qv2ray/actions https://github.com/Shadowsocks-NET/Qv2ray/suites/7124057466/artifacts/282776052

    Problem

    • After connecting, system proxy is not set automatically
    • After disconnecting, system proxy is not unset automatically

    More Info

    • If set system proxy manually, it works.
    • For Qv2ray 2.7.0 (https://github.com/Qv2ray/Qv2ray), system proxy can be set/unset automatically.
    opened by playgithub 4
  • Bump lukka/run-vcpkg from 7.3 to 10.1

    Bump lukka/run-vcpkg from 7.3 to 10.1

    Bumps lukka/run-vcpkg from 7.3 to 10.1.

    Release notes

    Sourced from lukka/run-vcpkg's releases.

    [email protected] - support for manifest mode (vcpkg.json) as first class citizen

    Changes:

    • Redesigned the inputs of run-vcpkg in order to support vcpkg's manifest mode: vcpkg.json.
    • Simplified and minimized the set of inputs of the action. Now the default is to not run vcpkg, but to let it run at run-cmake execution time (i.e. when CMake is generating project files).
    • Automatic hash on vcpkg.json for contributing to the key of vcpkg's artifact caching.
    • Automatic computation of primary and fallback keys for maximizing reuse of the cache.

    [email protected] - Fix diagnostic log automatic collection

    Changes:

    Fixes for #83

    Note: to keep your workflow up to date with bug and security fixes, just use the v7 branch to stay on the most recent v7.x version of this action, e.g., uses: lukka/[email protected]

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @moodyhunter.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • Compatible with v2ray 5.0.7?

    Compatible with v2ray 5.0.7?

    There is an important security enhancement in v2ray 5.0.7, see https://github.com/v2fly/v2ray-core/releases

    I've tried Qv2ray 2.7.0 at https://github.com/Qv2ray/Qv2ray/releases/tag/v2.7.0, it is not compatible with v2ray 5.0.4

    Is Qv2ray 3.0.0-rc1 compatible with v2ray 5.0.7?

    opened by playgithub 3
  • Bump actions/checkout from 2 to 3

    Bump actions/checkout from 2 to 3

    Bumps actions/checkout from 2 to 3.

    Release notes

    Sourced from actions/checkout's releases.

    v3.0.0

    • Update default runtime to node16

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    v2.3.2

    Add Third Party License Information to Dist Files

    v2.3.1

    Fix default branch resolution for .wiki and when using SSH

    v2.3.0

    Fallback to the default branch

    v2.2.0

    Fetch all history for all tags and branches when fetch-depth=0

    v2.1.1

    Changes to support GHES (here and here)

    v2.1.0

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @moodyhunter.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump actions/upload-artifact from 2.2.3 to 2.3.1

    Bump actions/upload-artifact from 2.2.3 to 2.3.1

    Bumps actions/upload-artifact from 2.2.3 to 2.3.1.

    Release notes

    Sourced from actions/upload-artifact's releases.

    v2.3.1

    Fix for empty fails on Windows failing on upload #281

    v2.3.0 Upload Artifact

    • Optimizations for faster uploads of larger files that are already compressed
    • Significantly improved logging when there are chunked uploads
    • Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files
    • Various other small bugfixes & optimizations

    v2.2.4

    • Retry on HTTP 500 responses from the service
    Commits
    • 82c141c Bump @​actions/artifact to version 0.6.1 (#286)
    • da838ae Bump @​actions/artifact to version 0.6.0 (#280)
    • f4ac36d Improve readme (#278)
    • 5f375cc Document how to correctly use environment variables for path input (#274)
    • a009a66 Create release-new-action-version.yml (#277)
    • b9bb657 Bump tmpl from 1.0.4 to 1.0.5 (#250)
    • 0b3de3e Fix README.md links and some formatting updates (#273)
    • 54f3f7f Merge pull request #271 from actions/robherley/dupe-issue-template
    • f061e61 rm dupe security vulnerability from issue template
    • ee82d6a Merge pull request #269 from actions/robherley/update-issue-templates
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @moodyhunter.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • wrong aur package name in the latest release

    wrong aur package name in the latest release

    Currently no release artifact for Linux is provided (an AppImage release is planned), for now, Arch Linux users can check out qv2ray-static-nightly-bin in AUR.

    However the right package name is qv2ray-static-bin-nightly : https://aur.archlinux.org/packages/qv2ray-static-bin-nightly/

    opened by syvshc 3
  • 现在应该如何下载qv2ray?

    现在应该如何下载qv2ray?

    旧的qv2ray 2.7 不支持 v2ray5,qv2ray-git是过期包,qv2ray-static-bin-nightly没了

    克隆qv2ray-git的时候:

    Cloning into bare repository '/home/firestar/.cache/yay/qv2ray-git/qv2ray-git'...
      0     0    0     0    0     0      0      0 --:--:--  0:00:59 --:--:--     0
    

    速度为零

    反正很矛盾的事情就是“你需要翻墙才能获得翻墙工具”

    opened by Firestar-Reimu 2
  • Bump jurplel/install-qt-action from 2.14.0 to 3.0.0

    Bump jurplel/install-qt-action from 2.14.0 to 3.0.0

    Bumps jurplel/install-qt-action from 2.14.0 to 3.0.0.

    Release notes

    Sourced from jurplel/install-qt-action's releases.

    install-qt-action v3.0.0

    • Move to aqtinstall v2.0.0 thanks to @​ddalcino
    • Switch to automatic caching thanks to @​bexnoss
    • Countless other things
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Cannot find a kernel for outbound protocol: naive

    Cannot find a kernel for outbound protocol: naive

    Using: qv2ray-git 3.0.0-rc1 with naiveproxy plugin.

    复现:

    1. 添加 naiveproxy 节点 ( 手动添加, type: naiveproxy )并保存
    2. 双击连接
    3. 出现弹窗 (Cannot find a kernel for outbound protocol: naive),连接失败。可以测速,编辑节点信息的时候发现 userpass 均为空。v2ray 和 naiveproxy 内核均已配置

    p.s: naiveproxy 插件是我取消 CMake 里的注释来编译的,是因为他还没有适配所以才故意注释的吗? p.s.s: 看 QvPlugins 那边好像没人理才来主项目发的issue(

    opened by iceBear67 1
  • qv2ray-git: terminated by SIGTRAP when trying to test latency

    qv2ray-git: terminated by SIGTRAP when trying to test latency

    When trying to test latency, qv2ray quits with the following output:

    terminate called after throwing an instance of 'std::bad_function_call'
      what():  bad_function_call
    Signal: 6
    fish: Job 1, 'qv2ray' terminated by signal SIGTRAP (Trace or breakpoint trap)
    

    Tested on GNOME, with qv2ray-git 3.0.0.rc1.r19.g7898f0e2-1. Besides qv2ray-git, AUR package qv2ray-v3, which builds exactly from tag v3.0.0-rc1, also has this issue, while qv2ray-static-nightly-bin seems to be OK.

    opened by SamLukeYes 0
Releases(v3.0.0-rc1)
Owner
Shadowsocks.NET
Equal Internet access for all.
Shadowsocks.NET
PlenOctree Volume Rendering (supports CUDA & fragment shader backends)

PlenOctree Volume Rendering This is a real-time PlenOctree volume renderer written in C++ using OpenGL, constituting part of the code release for: Ple

Alex Yu 530 Jan 4, 2023
"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

Aleksey Hoffman 1.1k Dec 31, 2022
ladar_MB_1R2T connection stm32f103 board

LidarStm32f103 ladar_MB_1R2T connection stm32f103 board An example of connecting Chinese lidar model MB-1R2T V1.5.8 to stm32f103. As an example, the d

Pavel 8 Oct 26, 2022
PoC tool to coerce Windows hosts to authenticate to other machines via MS-EFSRPC EfsRpcOpenFileRaw or other functions.

PetitPotam PoC tool to coerce Windows hosts to authenticate to other machines via MS-EFSRPC EfsRpcOpenFileRaw or other functions :) The tools use the

Topotam 1.4k Jan 4, 2023
The Leap Motion cross-format, cross-platform declarative serialization library

Introduction to LeapSerial LeapSerial is a cross-format, declarative, serialization and deserialization library written and maintained by Leap Motion.

Leap Motion (Ultraleap) 15 Jan 17, 2022
SPIRV-Cross is a tool designed for parsing and converting SPIR-V to other shader languages.

SPIRV-Cross SPIRV-Cross is a tool designed for parsing and converting SPIR-V to other shader languages. Features Convert SPIR-V to readable, usable an

The Khronos Group 1.6k Jan 2, 2023
A cross platform shader language with multi-threaded offline compilation or platform shader source code generation

A cross platform shader language with multi-threaded offline compilation or platform shader source code generation. Output json reflection info and c++ header with your shaders structs, fx-like techniques and compile time branch evaluation via (uber-shader) "permutations".

Alex Dixon 286 Dec 14, 2022
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages

ShaderConductor ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages. Features Converts HLSL to readable, usable and

Microsoft 1.5k Dec 29, 2022
CAN-BUS sniffing for Volkswagen Golf MK7 (and most likely other MQB platform cars)

MQB-sniffer CAN-BUS sniffing for Volkswagen Golf MK7 (and most likely other MQB platform cars). Currently this is more a work log for future reference

null 22 Dec 23, 2022
Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++, the architecture and usage like Cobalt Strike

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.4k Jan 3, 2023
Cross-platform tool to extract wavetables and draw envelopes from sample files, exporting the wavetable and generating the appropriate SFZ text to use in a suitable player.

wextract Cross-platform tool to extract wavetables and draw envelopes from sample files, exporting the wavetable and generating the appropriate SFZ te

Paul Ferrand 9 Jan 5, 2022
Khepri is a Cross-platform agent, the architecture and usage like Coblat Strike but free and open-source.

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.4k Dec 30, 2022
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

AlexandreRouma 2.2k Jan 7, 2023
JWM is a cross-platform Java window management and OS integration library.

JWM aims to expose an interface that abstracts over window creation, input handling and OS integration

JetBrains 403 Jan 9, 2023
A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.

JAXE (Just Another XO-CHIP/CHIP-8 Emulator) Brix Space Invaders (In Debug Mode) Black Rainbow DVN8 Super Neat Boy Chicken Scratch CHIP-8 was a virtual

Kurtis Dinelle 21 Nov 12, 2022
rax/RAX is a C++ extension library designed to provide new, fast, and reliable cross-platform class types.

rax rax/RAX is a C++ extension library designed to provide cross-platform new, fast, and reliable class types for different fields such as work with I

MaxHwoy 5 May 2, 2022
A free and open-source cross-platform application to control your Philips hue compatible lights💡

?? OpenHue ?? A cross platform application to control your Philips hue compatible lights. licensed under the gpl 3.0 license. Currently in super early

BOB450 4 Dec 28, 2022
JWM - Cross-platform window management and OS integration library for Java

Java Window Management library Vision JWM is a cross-platform Java window management and OS integration library. JWM aims to expose an interface that

Humble UI 392 Dec 27, 2022
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.

Turbo Vision A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support. I

null 1.4k Dec 31, 2022