Coder Social home page Coder Social logo

shadowsocks / libqtshadowsocks Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 646.0 4.82 MB

A lightweight and ultra-fast shadowsocks library written in C++14 with Qt framework

License: GNU Lesser General Public License v3.0

C++ 95.90% CMake 3.96% C 0.14%
c-plus-plus library network proxy qt5 shadowsocks

libqtshadowsocks's Introduction

Removed according to regulations.

libqtshadowsocks's People

Contributors

begeekmyfriend avatar christyweinstein avatar librehat avatar mylxiaoyi avatar pikachuhy avatar w1ndy 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

libqtshadowsocks's Issues

Support botan-1.8

So far botan-1.8 is fully compatible with botan-1.10 for our project.

But due to different pkg-config package name, we need to do some work in qmake file.

Multi-threaded TCP Server

Subclass QTcpServer and make it multi-threaded. This could improve the overall throughput and achieve auto system load balance.

64bit builds will crash using RC4 or RC4-MD5

32bit client performs perfectly

v1d hyv migeg 2bgx n5me

64bit client gets APPCRASH error

j s1 3cen ziu8 6ts1o16a

This issue extended to shadowsocks-qt5.
As you see that I use Windows 8.1 PRO 64bit with latest updates.

You can infer about further information about how to reproduce the issue.

Botan init results in a crash

/usr/lib64/libbotan-1.10.so.0(+0x91caa)[0x7ff2d0e8fcaa]
/usr/lib64/libbotan-1.10.so.0(_ZN5Botan13Library_StateD1Ev+0x7a)[0x7ff2d0f81f5a]
/usr/lib64/libbotan-1.10.so.0(_ZN5Botan23Global_State_Management16set_global_stateEPNS_13Library_StateE+0x16)[0x7ff2d0f811d6]

Win64 client APPCRASH

问题签名:
问题事件名称: APPCRASH
应用程序名: sslocal-libqss.exe
应用程序版本: 0.0.0.0
应用程序时间戳: 2e646e65
故障模块名称: sslocal-libqss.exe
故障模块版本: 0.0.0.0
故障模块时间戳: 2e646e65
异常代码: c0000005
异常偏移: 00000000000d1e11
OS 版本: 6.3.9600.2.0.0.256.48
区域设置 ID: 2052
其他信息 1: a57b
其他信息 2: a57b842e4c20cd33c052f692776ba77c
其他信息 3: 4006
其他信息 4: 400657197d6e3e09c660ef64f9fe6237

config.json 配置正确,如配置错误(密码错误等)则不会崩溃,不太清楚问题原因
Win32 版使用正常

无法打开youporn等网站

在windows server上搭建了ss服务,然后,youporn等网站就打不开了,chrome,ie ,firefox全都打不开。chrome直接提示页面崩溃。换成linux下之前搭建的ss服务就能打开。

求助

dpkg-buildpackage -uc -us -b 报错 tail: 无法打开"debian/changelog" 读取数据: 没有那个文件或目录
dpkg-buildpackage: error: tail of debian/changelog gave error exit status 1
怎么回事啊???

Can't be compiled with Bortan-1.11

I directly changed BOTAN_VERSION in project file itself, (1.10 -> 1.11), but when I trying to compile the library got the following errors:

cipher.cpp: In static member function ‘static bool QSS::Cipher::isSupported(const QByteArray&)’:
cipher.cpp:128:16: error: ‘have_algorithm’ is not a member of ‘Botan’
return Botan::have_algorithm(algorithm);
^
Makefile.libQtShadowsocks:646: recipe for target 'cipher.o' failed
make[1]: *** [cipher.o] Error 1
make[1]: Leaving directory '/home/XXX/Source/libQtShadowsocks/lib'
Makefile:43: recipe for target 'sub-lib-libQtShadowsocks-pro-make_first-ordered' failed
make: *** [sub-lib-libQtShadowsocks-pro-make_first-ordered] Error 2

安装时,提示依赖关系:shadowsocks-libqtshadowsocks 依赖于 libqtshadowsocks

环境:Debian7.8,Gnome3.14.1
我已经安装好所需要的依赖并打包deb成功。但是,安装时出错:
命令:sudo dpkg -i shadowsocks-libqtshadowsocks_1.4.1-1_amd64.deb
结果:
正准备解包 shadowsocks-libqtshadowsocks_1.4.1-1_amd64.deb ...
正在将 shadowsocks-libqtshadowsocks (1.4.1-1) 解包到 (1.4.1-1) 上 ...
dpkg: 依赖关系问题使得 shadowsocks-libqtshadowsocks 的配置工作不能继续:
shadowsocks-libqtshadowsocks 依赖于 libqtshadowsocks;然而:
未安装软件包 libqtshadowsocks。

dpkg: 处理软件包 shadowsocks-libqtshadowsocks (--install)时出错:
依赖关系问题 - 仍未被配置
在处理时有错误发生:
shadowsocks-libqtshadowsocks
这的确有点搞笑!请问是我的操作失误吗?

RC4-MD5 crashes on 64-bit Linux machines

In fact, it resulted in crashed on Windows as well. But I recompiled the botan without unaligned memory, which avoids this crash.

To solve this issue completely, we may need to create our own RC4-MD5 class just as what we did for ChaCha20.

Note: This issue is due to upstream botan library.

API breaks in 1.7.0

Unfortunately, but I have to make some API breaks in 1.7.0.

  • Struct Profile contains a new member variable http_proxy
  • Struct Profile contains a new member variable debug
  • Message signals changed (debug, info, error are not bound anymore)

Due to these changes, all software using this library may have to change the interface accordingly. And because I can only guarateen that no API breaks would occur in patched version (i.e. no breaks between 1.6.0 and 1.6.1), it'd be better for packagers to specify the version of libQtShadowsocks to be lower than next minor versioin.

The major version number will differ if the underlying code gets rewritten and break even more APIs.

No valid windows build

This is due to that QCA 2.1.0 can't be built as a static lib on Windows.

If anyone build QCA 2.1.0 with MinGW successfully, please share it with me.

怎么安装啊?

第二步没看明白,Run qmake to generate Makefile. 是解压那个压缩文件后操作吗?能给出话具体安装代码吗?本人菜鸟,谢谢了!

invalid header with addr type 117

use ss-server from shadowsocks-libev as the testing server.

currently, the connection will be terminated by remote server and the log output is:

ERROR: invalid header with addr type 117

Buggy Table

使用table加密直接闪退,而改成rc4-md5就能正常使用.

Segmentation fault

Either server or local mode, the firstly exited one will get segmentation fault.

Still unknown reason.

Cannot connect to weibo.com

currently don't know why... seems the IP address is incorrect. (IP is correct)

no one need proxy to get access to weibo.com though. but it is a bug after all.

Broken transfer in server mode

The data transfer seems broken sometimes on some websites such as http://testmy.net/download

What's weird is that is a problem that only happens in server mode. So if you use python-shadowsocks or shadowsocks-libev as your server-side programs, you're not affected by this bug.

There is, however, no error messages generated, which makes the debug process difficult.

Missing some connections

Some certain connections are missing comparing to other shadowsocks ports. This caused kinda serious problems which might prevents some websites from displaying correctly. (i.e. weibo.com)

Currently, I don't have a clue where goes wrong. But this bug should be fixed ASAP.

Cipher test failed?

~ » shadowsocks-libqss -c /etc/shadowsocks/config.json
"Initialising ciphers..."
"TABLE (table) initialised."
"Listen UDP socket state changed to QAbstractSocket::BoundState "
"Running in local mode."
"TCP server listen at port 8883"
Cipher test failed.

然而用golang版的ss就没有问题

Possible memory leak in server mode on Windows

shadowsocks-libqss-v1.6.1-win64 于win7 x64下做服务端。
客户端用qt5或者其他,浏览普通网页没问题,但下载iso或者其他大文档时,大概下到300MB的时候就会中断,观察服务端任务管理器,发现进程突然消失然后又启动。
如果把服务端换成python版的就没有一点问题。

以下只测试了win环境
shadowsocks-libqss-v1.6.1-win64的优点:初始内存占用小。
缺点:相比python版,它不稳定,CPU占用率显著高于python版,而且下载大文件时,它读写硬盘较大。
python版性能最好,而且非常稳定,CPU占用率也很低。同等条件下下载大文件,libqss CPU >20%,python版 ~10%.
硬件条件:AMD athlon II X2 250 ,win7 x64, 100M局域网

Windows10运行报错

64位libqss以客户端命令运行,提示:
Qt: Untested Windows version 10.0 detected!
Unknown options: p, k, m, b, l.

不能在win10使用啊,亲

Qt: Untested Windows version 10.0 detected!
can't open config file config.json
Initialising ciphers...
The method is not supported.
Initialisation failed.
Controller is not valid. Maybe improper setup?

Make ChaCha20 compatible

There must be a pitfall in our ChaCha cipher implementation, which makes it incompatible with other ports.

Need some investigations.

debian sid下编译失败,未定义的引用

log:

g++ -m64 -Wl,-O1 -o shadowsocks-libqss client.o main.o utils.o moc_client.o   -L/home/liujianfeng/下载/ss-qt5/libQtShadowsocks-1.6.1/client/../lib -L../lib -lQtShadowsocks -lbotan-1.10 -lQt5Network -lQt5Core -lpthread 
/home/liujianfeng/下载/ss-qt5/libQtShadowsocks-1.6.1/client/../lib/libQtShadowsocks.so:对‘Botan::get_cipher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Botan::OctetString const&, Botan::OctetString const&, Botan::Cipher_Dir)’未定义的引用
/home/liujianfeng/下载/ss-qt5/libQtShadowsocks-1.6.1/client/../lib/libQtShadowsocks.so:对‘Botan::have_algorithm(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
/home/liujianfeng/下载/ss-qt5/libQtShadowsocks-1.6.1/client/../lib/libQtShadowsocks.so:对‘Botan::LibraryInitializer::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
collect2: error: ld returned 1 exit status
Makefile.shadowsocks-libqss:91: recipe for target 'shadowsocks-libqss' failed
make[2]: *** [shadowsocks-libqss] Error 1
make[2]: Leaving directory '/home/liujianfeng/下载/ss-qt5/libQtShadowsocks-1.6.1/client'
Makefile:86: recipe for target 'sub-client-shadowsocks-libqss-pro-make_first-ordered' failed
make[1]: *** [sub-client-shadowsocks-libqss-pro-make_first-ordered] Error 2
make[1]: Leaving directory '/home/liujianfeng/下载/ss-qt5/libQtShadowsocks-1.6.1'
dh_auto_build: make -j1 returned exit code 2
debian/rules:6: recipe for target 'build' failed
make: *** [build] Error 25
dpkg-buildpackage: error: debian/rules build gave error exit status 2

windows下构建时找不到botan头文件

你好,我下了libQtShadowsocks的release1.6.1版本,到windows上编译,使用的编译器是vs2013的,qt版本是msvc2013-5.5.0,botan是1.11.19。
我在libQtShadowsocks.pro中添加了一句INCLUDEPATH += C:\Botan\include\botan-1.11用来指定botan头文件的路径,但是构建项目的时候却报找不到头文件的错误,具体错误如下:D:\libQtShadowsocks\libQtShadowsocks-1.6.1\lib\cipher.cpp:23: error: C1083: 无法打开包括文件: “botan/auto_rng.h”: No such file or directory
D:\libQtShadowsocks\libQtShadowsocks-1.6.1\lib\cipher.h:36: error: C1083: 无法打开包括文件: “botan/pipe.h”: No such file or directory
D:\libQtShadowsocks\libQtShadowsocks-1.6.1\lib\controller.cpp:25: error: C1083: 无法打开包括文件: “botan/init.h”: No such file or directory
D:\libQtShadowsocks\libQtShadowsocks-1.6.1\lib\chacha.cpp:25: error: C1083: 无法打开包括文件: “botan/loadstor.h”: No such file or directory
本人菜鸟,还请大神不吝赐教。。。

New Message ABI and API

Change log message signals into info and debug. info is used for general information, where debug includes only debug-level information. In this way, the API is kept but ABI is broken (prior to 1.7, debug includes general information as well).

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.