Skip to content
This repository has been archived by the owner on Nov 17, 2020. It is now read-only.

BriFuture/minor-sspymgr

Repository files navigation

Minor-sspymgr (sspymgr): Manager Written in Python

This Project is another version that is written with Python of shadowsocks-manager which is based on Nodejs.

The original purpose of this project is to enable the manager to run in a machine whose memory is not so sufficient. It is based on myself needs, because I found that it takes almost 100M of memories to run Shadowsocks on my server whose memory is only 512M. It's a little expensive when running the server. Alternatively, you can keep only the ssmgr program running in background.

It is a python-learning project for me. I learned a lot from shadowsocks-manager which is written in JavaScript, then i make a more suitable program named minor-sspymgr for personal usage. The advantage of this application is that it may consume 50M memory while running, much less compared with shadowsocks-manager.

How to use

It's simple to use sspymgr to deploy a website with shadowsocks service running backend, you can install it by pip / pip3:

pip install sspymgr

Note: sspymgr only supports python3.x.

Or you can download the source code from github if you got git:

  1. git clone https://github.com/brifuture/minor-sspymgr.git
  2. cd minor-sspymgr
  3. python3 ./setup.py install

After installation, simply type sspymgr in console will start sspymgr which would launch a website at 80 port (or 5050 port when debug is enabled). You can see more command line arguments by typing sspymgr -h.

You may find some useful instructions in addition.doc. Or if you want to know more about how I make this website application, you may have a look on about_sspymgr.md although some parts may be out of date because it changed a lot as I developed the application.

TODO List

  • database
    • database lazy loading and creation, command line arguments option add -c or --config to set config file
  • admin
    • setting subsystem optimizing
    • order subsystem details for confirm
  • other
    • optional: data migration and database upgrade
    • plugin system optimize, all helper instances should be attached to app instance
  • translating
    • now all text within python code uses English default, they are translated in Chinese but no methods provided to change Language Setting which would be necessary if the system Language is not Chinese while the manager want to use Chinese to display INFORMATION.

Thanks To Following Projects

  • Backend: flask and some extensions for flask such as flask_sqlalchemy, shedule
  • UI(frontend): vue, bootstrap, ant-design, ext.
  • Reference: shadowsocks-manager

License

License is under GPLv3