Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Shadowsocks Qt5 | 7,866 | 4 years ago | 75 | lgpl-3.0 | C++ | |||||
A cross-platform shadowsocks GUI client | ||||||||||
V2rayx | 7,184 | 6 months ago | 116 | gpl-3.0 | Objective-C | |||||
GUI for v2ray-core on macOS | ||||||||||
Core | 2,614 | a day ago | 185 | bsd-2-clause | PHP | |||||
OPNsense GUI, API and systems backend | ||||||||||
Zan Proxy | 1,378 | 2 | 4 years ago | 1 | January 17, 2019 | 18 | mit | TypeScript | ||
An extensible proxy for PC/Mobile/APP developer | ||||||||||
Clashy | 1,200 | a year ago | 38 | mit | ||||||
A GUI proxy client for Windows / Mac / Ubuntu Desktop based on Clash and Electron. Windows / Mac / Ubuntu 适用的Clash客户端. | ||||||||||
Koolshare Clash | 873 | 3 years ago | 41 | gpl-3.0 | ASP | |||||
:cat: Run Clash Tunnel on Koolshare OpenWrt | ||||||||||
Youtube Dl Wpf | 662 | 12 days ago | 5 | gpl-3.0 | C# | |||||
A simple GUI wrapper for youtube-dl and yt-dlp. | ||||||||||
Engintron | 653 | 21 days ago | 49 | gpl-2.0 | Perl | |||||
Engintron for cPanel/WHM is the easiest way to integrate Nginx on your cPanel/WHM server. Engintron will improve the performance & web serving capacity of your server, while reducing CPU/RAM load at the same time, by installing & configuring the popular Nginx webserver to act as a reverse caching proxy in front of Apache. | ||||||||||
Frpmgr | 515 | 17 days ago | 9 | apache-2.0 | Go | |||||
Windows 平台的 FRP GUI 客户端 / A user-friendly desktop GUI client for FRP on Windows. | ||||||||||
Furious | 280 | 9 days ago | gpl-3.0 | Python | ||||||
A PySide6-based cross platform GUI client that launches your beloved GFW to outer space. Support Xray-core and hysteria. |
Lottip is proxy for MySQL RDBMS with web GUI. It will show you what's happening under the hood of your database layer. As it sits between your application and MySQL server there's no need to use tools like Wireshark or enable general logs to see which queries are being executed. It comes as single binary with zero dependencies and consists of 2 parts: proxy server and embedded GUI.
Query list | Freezed query | Query error | In app results |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Lottip is on it's early stage of development.
For now you can:
Get binaries from releases page
go get github.com/orderbynull/lottip
go install github.com/mjibson/esc
cd $GOPATH/src/github.com/orderbynull/lottip
$GOPATH/bin/esc -o fs.go -prefix web -include=".*\.css|.*\.js|.*\.html|.*\.png" web
go build
./lottip
There're 4 simple steps to get everything up and running:
Run binary from terminal like this: ./lottip_linux_amd64
.
You'll see something like this:
Forwarding queries from '127.0.0.1:4041' to '127.0.0.1:3306'
Web gui available at 'http://127.0.0.1:9999'
Tell your app to connect to MySQL via port 4041 instead of 3306.
Go to http://127.0.0.1:9999 and you'll see nice GUI.
Play with your app and see all SQL-queries flowing between your app and MySQL. No need for page refresh because websockets are used to communicate between frontend and backend.
Here're few use cases i use on my everyday basis so it may be helpful to someone.
Just run lottip on your local machine and point your app to it. You can also run few lottip instances each on it's own port. This is an easy way to keep multiple app separated and view queries independently.
Let's say you're writing your PHP code locally but run it on dev server and do not want to expose lottip to outside world. In this case here's what you may do:
./lottip_linux_amd64
ssh -nNT -L 9999:127.0.0.1:9999 [email protected]
.
This command will map your local :9999
to remote :9999
:4041
You can change default values to whatever you need.
option available | default value | description |
---|---|---|
--proxy |
127.0.0.1:4041 |
<ip>:<port> of proxy server. Your code should make connections to that address to make proxy work. Example: --proxy=127.0.0.1:4045
|
--mysql |
127.0.0.1:3306 |
<ip>:<port> of MySQL server. Example: --mysql=192.168.0.195:3308
|
--gui |
127.0.0.1:9999 |
<ip>:<port> of embedded GUI. Example: --gui=127.0.0.1:8080
|
--mysql-dsn |
"" |
If you need to execute queries from the app you need to provide DSN for MySQL server. DSN format: [username[:password]@][protocol[(address)]]/[dbname[?param1=value1&...¶mN=valueN]] All values are optional. So the minimal DSN is /dbname . If you do not want to preselect a database, leave dbname empty: / Example: --mysql-dsn=root:root@/
|
Currently lottip does not support secure connections via ssl. The workaround is to disable SSL on MySQL server or connect with option like --ssl-mode=DISABLED
You're very welcome to report bugs, make pull requests, share your thoughts and ideas!
MIT