Giter Club home page Giter Club logo

shadowsocks-qt5's Introduction

Shadowsocks-Qt5

This project is no longer being maintained

Build Status

Please check project's wiki for "how-tos".

Introduction

Shadowsocks-Qt5 is a native and cross-platform shadowsocks GUI client with advanced features.

Features

  • Shadowsocks-Qt5 is written in C++ with Qt 5.
  • Support traffic statistics
  • Support server latency (lag) test
  • Use multiple profiles simultaneously
  • config.ini is located under ~/.config/shadowsocks-qt5/ on *nix platforms, or under the application's directory on Windows.

LICENSE

Copyright © 2014-2017 Symeon Huang

This project is licensed under version 3 of the GNU Lesser General Public License.

shadowsocks-qt5's People

Contributors

baislsl avatar czbix avatar ehfive avatar felixonmars avatar glymehrvrd avatar hosiet avatar hzxie avatar jat001 avatar jemyzhang avatar librehat avatar pjrobertson avatar wzhy90 avatar zzhiyi 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

shadowsocks-qt5's Issues

[opensuse]qmake failed

opensuse 13.2

$ qmake INSTALL_PREFIX=/usr
"Project ERROR: Package QtShadowsocks not found"

I'm sure I have installed all dependences(qt5-qtbase, botan, libQtShadowsocks,qrencode).

[讨论] 内建C++/Qt的后端?

目前Shadowsocks-Qt5其实只是一个shell的角色(图形前端),实际上最核心的功能是依赖于各个Shadowsocks后端(Python、libev、Go、NodeJS)。请在本issue下参与是否有必要用C++/Qt写一个后端并内建于Shadowsocks-Qt5的讨论。

好处

  • Shadowsocks-Qt5自此成为一个standalone的客户端。免去用户再安装、配置其它后端的烦恼(电脑小白们的用户体验会高很多)。但是保留调用目前「四大Shadowsocks金刚」作为后端的功能。
  • 前后端更加紧密的结合
  • 新后端可以作为独立项目「libqt5shadowsocks」,写成library以供调用

坏处

  • 明显地需要投入大量精力去开发和测试(而我显然没有这么多时间,如果没人帮忙填坑,开发进度就会异常缓慢)
  • 一旦clowwindy在shadowsocks-python版加入新功能,内建后端也会需要跟进,即需要后期持续性的投入
  • 用户并不一定需要一个新的后端,现有的四个版本的后端已经足够使用(?)

This application failed to start because it could not find or load the Qt platform plugin "xcb".

I can't understand the section very well,
https://github.com/librehat/shadowsocks-qt5#dependencies
does it mean I need to install Qt?

But after installing under the instruction of
https://github.com/librehat/shadowsocks-qt5#ubuntu
I got these staff in my terminal:

sunjizu@HP-Pavilion-g4-Notebook-PC:~/Documents/rdesktop$ ss-qt5
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Reinstalling the application may fix this problem.
Aborted (core dumped)

What should I do?

My environment:

  • Ubuntu 14.04 LTS 64bit
  • Locating xcb?
sunjizu@HP-Pavilion-g4-Notebook-PC:~/Documents/rdesktop$ locate libxcb.so.1
/opt/teamviewer/tv_bin/RTlib/libxcb.so.1
/opt/teamviewer/tv_bin/RTlib/libxcb.so.1.1.0
/usr/lib/libxcb.so.1
/usr/lib/i386-linux-gnu/libxcb.so.1
/usr/lib/i386-linux-gnu/libxcb.so.1.1.0
/usr/lib/x86_64-linux-gnu/libxcb.so.1
/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0

Address already in use when using ss-python as Backend Type

when i choose ShadowSocksPython as Backend Type
ss-Qt5 can not be started for Address already in use, even thought i restart my PC
log shows:

2015-01-21 15:38:21 INFO     loading libcrypto from libcrypto.so.1.0.0
2015-01-21 15:38:21 INFO     starting local at 127.0.0.1:1080
2015-01-21 15:38:21 ERROR    [Errno 98] Address already in use
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/shadowsocks/local.py", line 60, in main
    udp_server = udprelay.UDPRelay(config, dns_resolver, True)
  File "/usr/local/lib/python2.7/dist-packages/shadowsocks/udprelay.py", line 127, in __init__
    server_socket.bind((self._listen_addr, self._listen_port))
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 98] Address already in use

and libQtShadowSocks works fine for me.
how to solve this?
thx ;)

ss-qt5闪退

系统:ubuntu 14.04 x64 ss-qt5从ppa安装
以下是出错信息:
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Reinstalling the application may fix this problem.
Aborted (core dumped)

Failed to compile in Arch Linux

username:shadowsocks-qt5-0.9.0/ $ qmake INSTALL_PREFIX=/usr
username:shadowsocks-qt5-0.9.0/ $ make
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -W -D_REENTRANT -fPIE -DAPP_VERSION="0.9.0" -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I/usr/lib/qt/mkspecs/linux-g++ -I. -isystem /usr/include/qtshadowsocks -isystem /usr/include/botan-1.10 -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtConcurrent -isystem /usr/include/qt/QtDBus -isystem /usr/include/qt/QtCore -I. -I. -o ss_process.o src/ss_process.cpp
src/ss_process.cpp: In constructor ‘SS_Process::SS_Process(QObject_)’:
src/ss_process.cpp:13:29: error: ‘runningStateChanged’ is not a member of ‘QSS::Controller’
connect(qssController, &QSS::Controller::runningStateChanged, [&](bool running) {
^
Makefile:412: recipe for target 'ss_process.o' failed
make: *_* [ss_process.o] Error 1

无法识别Shadowsocks-Nodejs后端

操作系统:win8.1 x64
Node.js 0.10.26 (x64)(官网下载)
已经运行过npm install -g shadowsocks安装成功。看日志输出这个组件被安装到
C:\Users\用户名\AppData\Roaming\npm\node_modules\shadowsocks\bin
当中。ss-qt5无法识别,只有libev后端能用

运行一段时间后出错...

使用内置的libshadowsocks,正常使用一段时间后有随机发生这一错误,ss-qt5-v0.6.0-win64&win32都会:
2014-11-15_035523

PS:同时运行的另外一个后端用shadowsocks-local-win64-1.1.3链接同一个ss服务器,本地不同端口的,就不会出错...

可以支持走vpn吗?

电脑需连vpn访问外网,通过qt5代理之后不能访问外网了,好像是没走vpn吧

密码总是被清空

在配置已保存的情况下, 点击密码文本框后, 再点击其它文本框, 密码就被清空了.

Reset 配置项导致 Crash

操作步骤如下

  1. 修改服务器配置项中的某一项,使 Reset 按钮可点击
  2. 点击 Reset 按钮,出现 Add Profile 窗口
  3. 点击取消, 程序 Crash

Windows 7 用户名中含有空格无法使用

使用node.js后端,直接在命令行里sslocal可以运行。但由于windows用户名中含有空格,即使正确指向了sslocal.cmd也无法运行,求解

module.js:340
throw err;
^
Error: Cannot find module 'C:\Users\Tsing'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3

support more backend types

TODO

  • Support shadowsocks-go
  • Support shadowsocks-nodejs
  • Support shadowsocks-python
  • Autodetect backend type

Segmentation fault on Linux Mint 17

Can't start program , just appear for 1s !
I updated ss-qt5 to the latest version after i saw the post on V2ex

My OS: Linux mint 17
LOG:

Warning: gui-config.json does not exist! 

(process:14963): Gtk-CRITICAL **: IA__gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:14963): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:14963): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:14963): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:14963): GLib-GObject-WARNING **: value "TRUE" of type 'gboolean' is invalid or out of range for property 'visible' of type 'gboolean'

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(process:14963): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:14963): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(process:14963): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:14963): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

(process:14963): Gtk-WARNING **: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(process:14963): Gdk-CRITICAL **: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): Gdk-CRITICAL **: IA__gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(process:14963): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:14963): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:14963): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:14963): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:14963): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): Gdk-CRITICAL **: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed

(process:14963): Gdk-CRITICAL **: IA__gdk_x11_display_get_xdisplay: assertion 'GDK_IS_DISPLAY (display)' failed

(process:14963): Gdk-CRITICAL **: IA__gdk_screen_get_number: assertion 'GDK_IS_SCREEN (screen)' failed
Segmentation fault

Ubuntu + Unity 最小化后消失

Ubuntu 14.04 + Unity 环境,点击最小化后消失。
已安装 sni-qt,同样使用 Qt 的为知客户端可以正常显示状态栏图标。

请问能否把"后端"窗口的改成可直接编辑的窗口?

"后端"框现在用的是选择这个动作,出现的是一个ss-local.exe的全路径.
我因为把ss的客户端当做portable用,绝对路径经常变动,因此,每次都需要指定下"后端".
实际上直接编辑gui-config.json,改成""backend": "ss-local.exe",这样任意目录就可以使用了.

Ubuntu 上无法正常安装

执行 make install 提示

ln -s /usr/local/stow/shadowsocks-qt5/share/icons/hicolor/512x512/apps/shadowsocks-qt5.png /usr/local/stow/shadowsocks-qt5/share/pixmaps/shadowsocks-qt5.png
ln: failed to create symbolic link ‘/usr/local/stow/shadowsocks-qt5/share/pixmaps/shadowsocks-qt5.png’: No such file or directory

猜测原因是没有 pixmaps 目录, 手动在 share 中创建 pixmaps 后正常.

gnome shell里过段时间窗口就隐藏了?

打开之后过段时间窗口就隐藏了, 托盘在窗口在的时候虽然看不见icon,但是可以使用,窗口消失之后托盘还在,就是gnome里看不见icon找起来麻烦。再启动一次之后会出现一个新的进程。环境是archlinux, shadowsocks-qt5-0.8.0-1-x86_64。

Ubuntu 14.04 安装时发现无法解决依赖 shadowsocks-libev

_Ubuntu 14.04 安装时发现无法解决依赖 shadowsocks-libev_
shadowsocks-qt5 依赖于 shadowsocks-libev,但是Ubuntu源并没有 shadowsocks-libev包

_解决方法:_
必须先添加作者的另一个 PPA
sudo add-apt-repository ppa:hzwhuang/ss-libev
来自https://code.launchpad.net/~hzwhuang/+archive/ubuntu/ss-libev
然后添加 shadowsocks-qt5 的 PPA 并安装:
sudo add-apt-repository ppa:hzwhuang/ss-qt5
来自https://code.launchpad.net/~hzwhuang/+archive/ubuntu/ss-qt5?field.series_filter=trusty
sudo apt-get update
sudo apt-get install shadowsocks-qt5

_写在这里,希望作者能更新一下安装指南_

软件体积能不能缩减

rt,我知道qt编译的软件采用的是静态编译,但体积还是太大了,人家skype也是qt,也就22M,你这个已经达到了18M之巨,我觉得毛玻璃界面什么的完全可以去除

程序 crash 后无法启动

终端里提示 Abort. Another instance of Shadowsocks-Qt5 is already running.
尝试手动删除 /tmp/qipc_sharedmemory_shadowsocksqt... 后才能正常启动.

请问后端和自定义参数一定要填吗?

我的Android使用正常,但是在相同参数下,在ubuntu中shadowsocks-qt5提示设置错误的弹框。请问这两个参数是什么?如何填写?还有Unity的显示问题,一定要在master分支才可以解决吗?

TODO Add animations

Add animations for interface changing (profile configuration field hide/show).

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.