GithubHelp home page GithubHelp logo

qv2ray / qv2ray Goto Github PK

View Code? Open in Web Editor NEW
16.4K 267.0 3.2K 24.96 MB

:star: Linux / Windows / macOS 跨平台 V2Ray 客户端 | 支持 VMess / VLESS / SSR / Trojan / Trojan-Go / NaiveProxy / HTTP / HTTPS / SOCKS5 | 使用 C++ / Qt 开发 | 可拓展插件式设计 :star:

Home Page: https://qv2ray.net

License: GNU General Public License v3.0

C++ 94.82% HTML 0.23% CMake 4.21% AppleScript 0.09% Shell 0.18% Nim 0.12% QML 0.35%
v2ray ssr trojan trojan-go qt5 v2fly qv2ray qv2ray-plugins plugin cpp

qv2ray's Introduction

Qv2ray

Qv2ray - Unleash Your V2Ray

使用 Qt 框架的跨平台 V2Ray 客户端。支持 Windows, Linux, macOS
插件系统支持 SSR / Trojan / Trojan-Go / NaiveProxy

GitHub Releases GitHub All Releases

本项目已不再维护

Qv2ray: 2019-03-28 - 2021-08-17

自 4 月 30 日开发者内部出现矛盾之后的四个月中,并无活跃开发者参与维护,其他组织成员也并未有足够贡献量/能力,因此我们决定停止维护本项目,最新 Release 可见于 v2.7.0

感谢所有 Qv2ray 用户,项目组成员与外部贡献者,V2Fly 项目组成员及 V2Ray-Core 外部贡献者

致敬

gcc 写于 8 月 17 日


Availability & CI/CD Status

Snap Status Qv2ray build debian package Qv2ray Windows Installer Qv2ray build matrix - cmake Qv2ray build matrix - Qt6

ArchLinuxCN ArchlinuxCN Stable
ArchlinuxCN Development
AUR AUR Stable
AUR Development
Fedora OBS Stable
OBS Preview
Flathub flathub
Scoop scoop
Chocolatey Chocolatey Version
Snapcraft snap
openSUSE OBS Stable
OBS Stable

Translation Platform: Crowdin

Special Thanks

JetBrains Developer Toolbox


Licences

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

qv2ray's People

Contributors

actions-user avatar axionl avatar cangyin avatar choohoo avatar chungzh avatar codacy-badger avatar darsvador avatar ducksoft avatar dyhkwong avatar epliar avatar flylai avatar hmsjy2017 avatar hzdrro avatar iseki0 avatar iusearch avatar kidonng avatar kqwyf avatar kslr avatar lhy0403 avatar lianyangcn avatar linghaiyi avatar littleghost2016 avatar mkmark avatar moodyhunter avatar nczitzk avatar sixg0000d avatar transifex-integration[bot] avatar vfreex avatar ymshenyu avatar zzndb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qv2ray's Issues

部分 linux 缺失 OpenSSL 库的问题

找不到 OpenSSL 库
这可能是由于系统中缺少 openssl 包造成的,或者是 AppImage 问题。
如果您正在使用 AppImage,请反馈一个 Bug

!!Version 2.0!!

Version 2.0

v1.3.8.* 大概会是最后一个 v1 版本了
由于学业等原因,v2可能会2020年再与大家相见

Version 2.0 将会包含以下功能更新

核心交互

  • 支持自选的 v2ray 路径
  • (希望在主机列表按下 Enter 键可以连接当前选中的代理)纯键盘操作

连接编辑

  • 路由添加
  • 路由编辑
    • 支持负载均衡
  • 入站编辑
  • 自动启动对应编辑器(简单出站编辑 / 复杂路由编辑)
  • JSON 编辑器
  • PAC 模块 (Simple HTTP Server)

v2ray API

  • 流量统计

分享和导入功能

  • 订阅功能
  • 一键生成 vmess://
  • 在 Vmess 链接导入页面支持同时导入多行
  • (多行导入时)若导入时某个链接 parse 出错,希望可以在日志中报警告并跳过该链接
  • 二维码 QR-Code-generator
    • 通过二维码导入配置
    • 分享二维码

连接配置

  • 本地 socks5 UDP支持
  • IPv6 支持

可选项

  • Windows 网速插件
  • Linux KDE 网速插件

不包含的功能

  • MTProto 出站
  • 自动生成 tProxy 的 iptables 命令(应该挺难的)
  • 自动下载 v2ray core
  • 自动下载更新
  • macOS 网速插件

有没有别的建议可以提出来的,都可以再下面写呀~

深度系统-appimage

简单描述这个 bug:
./Qv2ray-v1.3.7.1-linux.AppImage
深度截图_选择区域_20190926093423

如何复现这个bug:
1.
2.
3.
4.

Qv2ray 本应该是怎样工作的?

如果是连接问题,在其他 v2ray 客户端里出现过吗?

相关截图或日志

日志:

系统信息

  • 系统类型(windows, linux, macos)

  • 是从release下载的还是自己编译的

  • 首选项里的版本号:

其他信息
你认为对我们修复bug有帮助的任何信息都可以在这里写出来:
在提供自己的vmess或者配置文件时,注意隐藏好服务器地址和uuid

错误

Application: Qv2ray (Qv2ray), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".

[Current thread is 1 (Thread 0x7f830b7e7c80 (LWP 2913))]

Thread 6 (Thread 0x7f82f8895700 (LWP 2918)):
#0  0x00007f830d9d9479 in g_mutex_lock () at /usr/lib/libglib-2.0.so.0
#1  0x00007f830da28979 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f830da28b51 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f830f0ef9bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f830f0965ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f830eec92f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f830eeca520 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f830edf057f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f830eb1c0e3 in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f82f98db700 (LWP 2917)):
#0  0x00007f830edf6415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f82f9be4e9c in  () at /usr/lib/dri/i965_dri.so
#2  0x00007f82f9be4a98 in  () at /usr/lib/dri/i965_dri.so
#3  0x00007f830edf057f in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f830eb1c0e3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f8301f69700 (LWP 2916)):
#0  0x00007f830eb11667 in poll () at /usr/lib/libc.so.6
#1  0x00007f830da28a80 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f830da28b51 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f830f0ef9bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f830f0965ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f830eec92f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f830eeca520 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f830edf057f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f830eb1c0e3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f830317a700 (LWP 2915)):
#0  0x00007f830da092e0 in g_thread_self () at /usr/lib/libglib-2.0.so.0
#1  0x00007f830da28b41 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#2  0x00007f830f0ef9bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#3  0x00007f830f0965ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f830eec92f5 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#5  0x00007f830af74b37 in  () at /usr/lib/libQt5DBus.so.5
#6  0x00007f830eeca520 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f830edf057f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f830eb1c0e3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f830a3e7700 (LWP 2914)):
#0  0x00007f830eb11667 in poll () at /usr/lib/libc.so.6
#1  0x00007f830b83c630 in  () at /usr/lib/libxcb.so.1
#2  0x00007f830b83e2db in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f830b0ab049 in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f830eeca520 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f830edf057f in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f830eb1c0e3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f830b7e7c80 (LWP 2913)):
[KCrash Handler]
#6  0x00007f830ea5a755 in raise () at /usr/lib/libc.so.6
#7  0x00007f830ea45851 in abort () at /usr/lib/libc.so.6
#8  0x00007f830ec9481f in __gnu_cxx::__verbose_terminate_handler() () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
#9  0x00007f830eca130a in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:47
#10 0x00007f830eca1367 in std::terminate() () at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:57
#11 0x00007f830eca15bd in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) (obj=<optimized out>, tinfo=0x7f830edd94a0 <typeinfo for std::runtime_error>, dest=0x7f830ecb77e0 <std::runtime_error::~runtime_error()>) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:95
#12 0x00005564c147dfef in x2struct::JsonReader::child(char const*, x2struct::JsonReader*) ()
#13 0x00005564c14a3f4f in void Qv2ray::V2ConfigModels::TransferSettingObjects::TCPObject::__x_to_struct<x2struct::JsonReader>(x2struct::JsonReader&) ()
#14 0x00005564c14a5232 in void Qv2ray::V2ConfigModels::StreamSettingsObject::__x_to_struct<x2struct::JsonReader>(x2struct::JsonReader&) ()
#15 0x00005564c14a62bd in Qv2ray::V2ConfigModels::StreamSettingsObject Qv2ray::Utils::StructFromJSONString<Qv2ray::V2ConfigModels::StreamSettingsObject>(QString const&) ()
#16 0x00005564c1495337 in ConnectionEditWindow::ConnectionEditWindow(QJsonObject, QString, QWidget*) ()
#17 0x00005564c1485899 in MainWindow::on_editConfigButton_clicked() ()
#18 0x00005564c14ba911 in MainWindow::qt_metacall(QMetaObject::Call, int, void**) ()
#19 0x00007f830f0c3acd in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#20 0x00007f830fd01663 in QAbstractButton::clicked(bool) () at /usr/lib/libQt5Widgets.so.5
#21 0x00007f830fd0188c in  () at /usr/lib/libQt5Widgets.so.5
#22 0x00007f830fd02c92 in  () at /usr/lib/libQt5Widgets.so.5
#23 0x00007f830fd02e56 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#24 0x00007f830fdf7ceb in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#25 0x00007f830fc4bcb6 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#26 0x00007f830fdf7d95 in QToolButton::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#27 0x00007f830fc084d5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#28 0x00007f830fc11c6c in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#29 0x00007f830f0979c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#30 0x00007f830fc10d4b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/libQt5Widgets.so.5
#31 0x00007f830fc68211 in  () at /usr/lib/libQt5Widgets.so.5
#32 0x00007f830fc6b154 in  () at /usr/lib/libQt5Widgets.so.5
#33 0x00007f830fc084d5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#34 0x00007f830fc11a21 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#35 0x00007f830f0979c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#36 0x00007f830f5ee789 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#37 0x00007f830f5f005b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/libQt5Gui.so.5
#38 0x00007f830f5c837c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#39 0x00007f830b0abfec in  () at /usr/lib/libQt5XcbQpa.so.5
#40 0x00007f830da26cf4 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#41 0x00007f830da28b11 in  () at /usr/lib/libglib-2.0.so.0
#42 0x00007f830da28b51 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#43 0x00007f830f0ef9a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#44 0x00007f830f0965ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#45 0x00007f830f09e326 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#46 0x00005564c14649ce in main ()
[Inferior 1 (process 2913) detached]

Linux版,建议用linuxdeployqt打包依赖库

系统:Debian9 (未安装QT5)

缺少运行时库Libqt5core.so.5,而完整安装Qt5耗费成本高。

另外,如果可以的话,能请您以完整的.deb包或.rpm包释出Linux版release吗?😄

Help pls. Error Make

Help me figure out why the error.

sony@desktop:~/test/Qv2ray/build$ qmake ../
sony@desktop:~/test/Qv2ray/build$ make
g++ -m64 -Wl,-O1 -o Qv2ray     -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread 
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Makefile:102: recipe for target 'Qv2ray' failed
make: *** [Qv2ray] Error 1
sony@desktop:~/test/Qv2ray/build$ 

[2.0.0] 部分vmess链接解析错误

简单描述这个 bug:
比如这个配置(地址啥的用x代替):

{"ps":"xxxxxx","add":"xxx.xxx.xxx","port":"xxxx","id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","aid":"2","net":"tcp","type":"chacha20-poly1305","host":"","tls":""}

base64编码后变成这个链接:

vmess://eyJwcyI6Inh4eHh4eCIsImFkZCI6Inh4eC54eHgueHh4IiwicG9ydCI6Inh4eHgiLCJpZCI6Inh4eHh4eHh4LXh4eHgteHh4eC14eHh4LXh4eHh4eHh4eHh4eCIsImFpZCI6IjIiLCJuZXQiOiJ0Y3AiLCJ0eXBlIjoiY2hhY2hhMjAtcG9seTEzMDUiLCJob3N0IjoiIiwidGxzIjoiIn0=

这个配置里的那个type:chacha20-poly1305应该是指的security,但软件在导入这个链接时把这个chacha20-poly1305导入到tcp配置里了:

"tcpSettings": {
            "header": {
                "request": {
                    "headers": {
                    },
                    "method": "GET",
                    "path": [
                    ],
                    "version": "1.1"
                },
                "response": {
                    "headers": {
                    },
                    "reason": "OK",
                    "status": "200",
                    "version": "1.1"
                },
                "type": "chacha20-poly1305"
            }
        },

于是在连接这个节点时就会报错:

main: failed to read config file: /home/abc/.qv2ray/generated/config.gen.json > v2ray.com/core/main/json: failed to execute v2ctl to convert config file. > v2ray.com/core/common/platform/ctlcmd: failed to execute v2ctl: v2ray.com/core/infra/conf/command: failed to parse json config > v2ray.com/core/infra/conf/serial: failed to parse json config > v2ray.com/core/infra/conf: Failed to build TCP config. > v2ray.com/core/infra/conf: invalid TCP header config > v2ray.com/core/infra/conf: unknown config id: chacha20-poly1305

 > exit status 255

如何复现这个bug:

  1. 导入那个vmess链接
  2. 连接它

Qv2ray 本应该是怎样工作的?

在配置里,这个type:chacha20-poly1305net:tcp是并列出现的,因此它不应该理解为tcp的子选项吧。

如果是连接问题,在其他 v2ray 客户端里出现过吗?

安卓的kitsunebi软件导入这个链接时是直接没管这个参数,security还是选的auto。

相关截图或日志

日志:

系统信息

  • 系统类型(windows, linux, macos)
    • linux
  • 是从release下载的还是自己编译的
    • aur里装的
  • 首选项里的版本号:
    • 1.3.8.0

其他信息
你认为对我们修复bug有帮助的任何信息都可以在这里写出来:
在提供自己的vmess或者配置文件时,注意隐藏好服务器地址和uuid

首选项里更改HTTP端口时闪退

简单描述这个 bug:
用backspace键删除端口号,在只剩一位的时候继续删除,会闪退

如何复现这个bug:

  1. 用backspace键删除端口号

系统信息

  • 系统类型(windows, linux, macos)
    • windows10
  • 是从release下载的还是自己编译的
    • release
  • 首选项里的版本号:
    • v1.3.7.1

Segmentation Fault occured after calling setcap to v2ray

getcap ./v2ray
----> (no output)

./v2ray                                      
----> V2Ray 4.20.0 (V2Fly, a community-driven edition of V2Ray.) Custom
----> A unified platform for anti-censorship......
----> (blablablabla.............)

sudo setcap CAP_NET_ADMIN,CAP_NET_RAW,CAP_NET_BIND_SERVICE=eip ./v2ray

getcap ./v2ray
----> ./v2ray = cap_net_bind_service,cap_net_admin,cap_net_raw+eip

./v2ray                                      
----> [1]    75971 segmentation fault  ./v2ray

Originally posted by @lhy0403 in #57 (comment)

A typo on version-v1 branch.

@lhy0403
On Debian Buster:

找不到 OpenSSL 库
This could be caused by a missing of `openssl` package in your system.
Please refer to Github Issue #65 to check for solutions.
Github Issue Link: https://github.com/lhy0403/Qv2ray/issues/65

Technical Details
OSsl.Rq.V=OpenSSL 1.0.2g  1 Mar 2016
OSsl.Cr.V=OpenSSL 1.0.2g  1 Mar 2016

Originally posted by @SiqingYu in #65 (comment)

MacOS 支持

有没有人能贡献一只 Mac OS?
虚拟机里面看样子是跑不起来。。。

[2.0] 有关 Qv2ray v2.0 的 Linux 默认安装位置

目前 Qv2ray 安装不论是在 AppImage (内部文件结构) make install 或 release 版本的 AUR 中, 安装位置均为 /opt/Qv2ray
在这个 Issue 中将具体讨论有关 v2.0 的默认安装位置问题

Ubuntu 14.04 无法启动

简单描述这个 bug:
给予运行权限后双击无反应,使用命令行启动报错:
version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

相关截图
image

系统信息

  • 系统类型(windows, linux, macos):Ubuntu 14.04
  • 是从release下载的还是自己编译的:release下载
  • 首选项里的版本号:1.3.6.1

其他信息
你认为对我们修复bug有帮助的任何信息都可以在这里写出来:
在提供自己的vmess或者配置文件时,注意隐藏好服务器地址和uuid

添加新的配置之后在编辑为空

简单描述这个 bug:
手动点击加号添加一个服务器,完成之后服务器列表多出来一个为空的一个Host。点击编辑所有东西都是空的,手动进入.qv2ray文件夹发现此配置文件不存在。

如何复现这个bug:

  1. 点击加号
  2. 粘贴Alias, Host, Port, UUID 和 Alter ID
  3. 点击OK
  4. BUG出现

Qv2ray 本应该是怎样工作的?
正常的配置文件,显示为名字并且点编辑有内容

如果是连接问题,在其他 v2ray 客户端里出现过吗?

相关截图或日志
Free-Converter com-20190929073016-803356845
Free-Converter com-20190929073110-533787845

日志:

系统信息

  • 系统类型(windows, linux, macos)
    • Manjaro KDE 18.1
  • 是从release下载的还是自己编译的
    • 自己编译
  • 首选项里的版本号:
    • origin分支最新版

其他信息
你认为对我们修复bug有帮助的任何信息都可以在这里写出来:
在提供自己的vmess或者配置文件时,注意隐藏好服务器地址和uuid

git clone 默认不会递归克隆

git clone https://github.com/lhy0403/Qv2ray && cd Qv2ray
在README里你的Usage是这样的,但是git不会递归克隆3rd party文件夹内的x2struct,所以会导致编译失败, 找不到依赖。
可以改成
git clone --recursive https://github.com/lhy0403/Qv2ray && cd Qv2ray
或者改成

git clone https://github.com/lhy0403/Qv2ray && cd Qv2ray
lrelease ./Qv2ray.pro

找不到openssl库

└──╼ $./Qv2ray-v1.3.7.1-linux.AppImage
[LICENCE]:
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.

Qv2ray Current Developer Copyright (C) 2019 Leroy.H.Y (@lhy0403)
Hv2ray Initial Idea and Designs Copyright (C) 2019 Hork (@aliyuchang33)
Hv2ray/Qv2ray HTTP Request Helper (partial) Copyright 2019 (C) SOneWinstone (@SoneWinstone)
Qv2ray ArtWork Done By ArielAxionL (@axionl)

Qv2ray v1.3.7.1 running on Parrot GNU/Linux 4.6 x86_64

[UI]: Found Translator: :/translations/en-US.qm
[UI]: Found Translator: :/translations/ru-RU.qm
[UI]: Found Translator: :/translations/zh-CN.qm
[INIT]: Loaded config file.
[UI]: Loaded Translator zh-CN
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: Incompatible version of OpenSSL
[NETWORK]: Current OpenSSL version:
[NETWORK]: Required OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
[NETWORK]: OpenSSL library MISSING, Quitting.

主机列表为空时删除按钮仍可用

简单描述这个 bug:
主机列表为空时,删除按钮仍然可用,甚至还问你要不要删除。

如何复现这个bug:

  1. 空主机列表
  2. 点删除按钮
  3. 出 bug 了

Qv2ray 本应该是怎样工作的?
空列表时不要启用删除按钮。

相关截图或日志
图片

[建议]不要用struct来处理config.json

v2ray-core的config.json是动态变化的,而struct数据格式是固定的,并不适合用来处理配置项会不断增删的情况。然后就会出现很多很难看的"access": null,"error": null, ... 。所以建议用json库来处理config,但是我不会C语言不知道哪个库好。

国内ip分流似乎不完整,有部分国内ip走了代理

简单描述这个 bug:
国内ip分流似乎不完整,有部分国内ip走了代理。
比如www.inspur.com,我在终端里ping它或tcping它的80端口,解析出来的都是222.28.152.178这个ip,这个ip属于国内ip。
但软件日志里显示访问这个网站时走了代理。

如何复现这个bug:

  1. 开启代理,不要勾选“为国内地址启用代理”
  2. 访问www.inspur.com,查看日志
  3. 访问www.baidu.com,查看日志

Qv2ray 本应该是怎样工作的?

相关截图

$ ping www.inspur.com
PING www.inspur.com.wscdns.com (222.28.152.178) 56(84) bytes of data.
64 bytes from 222.28.152.178 (222.28.152.178): icmp_seq=1 ttl=54 time=1.32 ms
64 bytes from 222.28.152.178 (222.28.152.178): icmp_seq=2 ttl=54 time=1.67 ms

$ tcping www.inspur.com 80
Ping tcp://www.inspur.com:80(222.28.152.178:80) - Connected - time=6.833239ms
Ping tcp://www.inspur.com:80(222.28.152.178:80) - Connected - time=3.888434ms

软件日志节选
2019/09/22 15:34:12 [Info] [143033988] v2ray.com/core/proxy/socks: TCP Connect request to tcp:www.inspur.com:80
2019/09/22 15:34:12 tcp:127.0.0.1:50294 accepted tcp:www.inspur.com:80
2019/09/22 15:34:12 [Info] [143033988] v2ray.com/core/app/dispatcher: taking detour [outBound_PROXY] for [tcp:www.inspur.com:80]
……
2019/09/22 15:46:19 [Info] [1434805457] v2ray.com/core/proxy/socks: TCP Connect request to tcp:www.baidu.com:443
2019/09/22 15:46:19 [Info] [1434805457] v2ray.com/core/app/dispatcher: taking detour [outBound_DIRECT] for [tcp:www.baidu.com:443]
2019/09/22 15:46:19 [Info] [1434805457] v2ray.com/core/proxy/freedom: opening connection to tcp:www.baidu.com:443

系统信息

  • 系统类型(windows, linux, macos):Archlinux,源里v2ray相关的包都装了。
  • 是从release下载的还是自己编译的:自己编译的
  • 首选项里的版本号:1.3.7.0

其他信息
你认为对我们修复bug有帮助的任何信息都可以在这里写出来:
在提供自己的vmess或者配置文件时,注意隐藏好服务器地址和uuid

vmess:// links refrence

@aliyuchang33 Sir do you know where the specification of vmess:// comes from?
I've searched lonely on Github but find nothing....

启动过程失败

v2ray core faqt5ct: using qt5ct plugin
Loaded config file.
Loaded translations zh-CN
qt5ct: D-Bus system tray: yes
QMetaObject::connectSlotsByName: No matching signal for on_clbutton_clicked()
Now start a connection: 香港 1 * 2
v2ray core failed with exit code 255
Now start a connection: 香港 2 * 1.5
v2ray core failed with exit code 255

iled with exit code 255

关于v0.9.9b

  • 添加服务器时uuid留空,再点下那个服务器,程序会崩溃。
  • 添加服务器 1.1.1.1:1 然后再添加 1.1.1.1:2 前一个被后一个取代了。有时同一个服务器会在不同端口上提供不同配置的v2ray服务。
  • 首选项窗口每点一次弹一个新的,有点乱。
  • 我把v2ray-core所有文件放到 ./qv2ray.d/core/,尝试启动1.1.1.1的时候提示找不到qv2ray.d\geoip.dat点完OK,状态显示已启动但实际上并没有v2ray.exe的进程(没错,我在用windows)。
  • 启动1.1.1.1后启动1.1.1.2,除了日志清空了好像什么也没发生。
  • 添加、移除非运行中的配置时,v2ray-core重启了。
  • 托盘图标的重启和停止好像反了。

暂时只发现这些。

找不到核心文件

简单描述这个 bug:
提示 v2ray 核心文件未能在这里找到:/home/***/.qv2ray/vcore/v2ray
但是我已经修改了 v2ray asset 路径,却还是在默认路径下寻找,而且安装了也没有如文档所说的默认是 /bin/v2ray 和 /etc/v2ray
我尝试过修改路径为 /bin /bin/ /bin/v2ray,都无效
/bin/下确实有 v2ray & v2ctl 存在
请问改怎么解决?

系统信息

  • 系统类型(windows, linux, macos)
    • Linux
  • 是从release下载的还是自己编译的
    • Arch
  • 首选项里的版本号:
    • 1.3.7.1

BUILD ERROR: QWidget: Must construct a QApplication before a QWidget (已解决)

写了一半解决了。。。但是还是写下来了

似乎是build的时候使用了conda默认的python导致build有点问题,把默认Python换成了/usr/bin/python( 参考 )之后再重新编译一次就好了,但是感觉aur的PKGBUILD应该也要考虑到这种情况

简单描述这个 bug:
Manjaro-deepin无法正常运行qv2ray
使用命令行运行/usr/bin/qv2ray 或是 /opt/Qv2ray/bin/Qv2ray (分别对应dev和stable),显示:

[LICENCE]: 
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.

Qv2ray Current Developer Copyright (C) 2019 Leroy.H.Y (@lhy0403)
Hv2ray Initial Designs & gRPC implementation Copyright (C) 2019 Hork (@aliyuchang33)
Hv2ray/Qv2ray HTTP Request Helper (partial) Copyright 2019 (C) SOneWinstone (@SoneWinstone)
Qv2ray ArtWork Done By ArielAxionL (@axionl)
Qv2ray Russian Translations By TheBadGateway (@thebadgateway)

Qv2ray v1.99.99.3 running on Manjaro Linux x86_64

[UI]: FAILED to find any translations, THIS IS A BUILD ERROR.
QWidget: Must construct a QApplication before a QWidget
[1]    20996 abort (core dumped)  qv2ray

如何复现这个bug:

  1. 通过aur安装qv2ray或是qv2ray-dev-git
  2. 直接通过.desktop文件无法打开
  3. 命令行输入/usr/bin/qv2ray 或是 /opt/Qv2ray/bin/Qv2ray (分别对应dev和stable)显示错误日志

不支持 srtp 混淆?

简单描述这个 bug:
导入 VMess 字符串,连接时报错,最后几句错误提示
”unknown config id: srtp“
> exit status 255
如何复现这个bug:

  1. 导入连接
  2. 导入源选择 VMess 字符串
  3. 选中刚导入的主机,点击连接就会出现报错提示

Qv2ray 本应该是怎样工作的?
本应该正常工作提供 socks 代理

相关截图
如果合适的话,可以在这里粘贴截图
image

系统信息

  • 系统类型(windows, linux, macos):
    Ubuntu 16.04.6
  • 是从release下载的还是自己编译的:
    release
  • 首选项里的版本号:
    1.3.6.1
    其他信息
    你认为对我们修复bug有帮助的任何信息都可以在这里写出来:
    在提供自己的vmess或者配置文件时,注意隐藏好服务器地址和uuid

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.