Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apocelipes/schannel-qt5
A GUI client of schannel powered by therecipe/qt and golang
https://github.com/apocelipes/schannel-qt5
client-side crawler go golang goqt linux qcharts qt5
Last synced: 3 days ago
JSON representation
A GUI client of schannel powered by therecipe/qt and golang
- Host: GitHub
- URL: https://github.com/apocelipes/schannel-qt5
- Owner: apocelipes
- License: mit
- Created: 2018-09-19T15:34:22.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-04-02T05:36:43.000Z (over 5 years ago)
- Last Synced: 2023-12-19T17:12:33.436Z (10 months ago)
- Topics: client-side, crawler, go, golang, goqt, linux, qcharts, qt5
- Language: Go
- Homepage:
- Size: 1.4 MB
- Stars: 35
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## schannel-qt5
A QT based GUI client for [schannel](https://schannel.net/) - written in Golang### Features:
- clear data usage display
- quickly view service information
- supports lots of user settings
- simply & easy to use
- freely configure the ssr client program
- use charts to show data more clearly### Installation
At first we need to install [therecipe/qt](https://github.com/therecipe/qt)Then:
```bash
go get -u github.com/astaxie/beego/orm
go get -u github.com/mattn/go-sqlite3
go get -u github.com/PuerkitoBio/goquery
cd $GOPATH/src
git clone 'https://github.com/apocelipes/schannel-qt5'
# install country flags info
git clone 'https://github.com/matiassingers/emoji-flags' schannel-qt5/emoji-flags
cd schannel-qt5/widgets
qtmoc && qtrcc
cd .. && go build
```Note that schannel-qt5 needs golang >= go1.12.
Because of the flaw in QFont on x11, schannel-qt5 can't set its own font without fontconfig, so you need to install the font "NotoColorEmoji" to support emoji.
Now you can enjoy schannel-qt5!
### Screenshots
login:![login](screenshots/login.png)
logging:
![logging](screenshots/logging.png)
invoices view:
![invoices](screenshots/invoices.png)
![invoiceview](screenshots/invoiceview.webp)
select nodes:
![nodes](screenshots/nodes.png)
service info & client switch:
![client-turn-off](screenshots/service1.webp)
![client-turn-off](screenshots/service2.webp)
user settings:
![settings](screenshots/settings.png)
data charts:
![charts](screenshots/charts.png)
### important configurations:
- `ssrclient.json`: Configure the behavior of the ssr client.
- `~/.local/share/schannel-qt5.json`: Configure the behavior of the schannel-qt5.
- `~/.local/share/schannel-users.db`: Store encrypted user information and traffic usage records (traffic records for chart display).
- `~/.local/share/data/schannel-qt5/GeoIP/`: Store the GeoIP database.### Options in schannel-qt5.json:
- `proxy_url`: The proxy server address used by schannel-qt5, or empty if you don't use a proxy.
- `log_file`: schannel-qt5's log file, uses stdout if it is empty.
- `ssr_node_config_path`: The path of a ssr node config file.
- `ssr_client_config_path"`: The path of ssr client config file.
- `ssr_bin`: The path of ssr client bin.### Todo:
- support system tray icon
- more clearly document
- more testsWelcome feedback questions and submit PRs,
I am looking forward to working with you.