Server-cli
A server management tool which helps you memorize ssh command
Installation:
$ pip install server-cli
Usage:
Type 'sss' to entry interaction interface.
Available subcommands:
- ls [list all servers]
- add [add a new server]
- ping [list all server delays in real time (run under root)]
- help
- del <server id> [delete a server from database by id]
- ssh <server id> [connect a server via ssh]
- tag <tag name> [list all servers contained given tag name]
- modify <server id> [modify attributes of specified server]
Example:
default
List all of services and wait for the specific server id:
$ sss +----+-----------+--------+-----------------+------+--------------------------------+-------------------+ | id | name | user | host | port | tags | description | +----+-----------+--------+-----------------+------+--------------------------------+-------------------+ | 1 | 亚马逊aws | ubuntu | 0.0.0.0 | 22 | shadowsocks,telegramBot,MTpoto | 加利福尼亚机房 | | 2 | 阿里云 | root | 0.0.0.0 | 22 | Wechat,shadowsocks | 阿里云 毕业就到期 | | 3 | 腾讯云1号 | ubuntu | 0.0.0.0 | 22 | Blog,huginn | | | 4 | 腾讯云3号 | kwp | 0.0.0.0 | 22 | script | | +----+-----------+--------+-----------------+------+--------------------------------+-------------------+ id > # and enter id you selected
list
List all of services:
$ sss ls +----+-----------+--------+-----------------+------+--------------------------------+-------------------+ | id | name | user | host | port | tags | description | +----+-----------+--------+-----------------+------+--------------------------------+-------------------+ | 1 | 亚马逊aws | ubuntu | 0.0.0.0 | 22 | shadowsocks,telegramBot,MTpoto | 加利福尼亚机房 | | 2 | 阿里云 | root | 0.0.0.0 | 22 | Wechat,shadowsocks | 阿里云 毕业就到期 | | 3 | 腾讯云1号 | ubuntu | 0.0.0.0 | 22 | Blog,huginn | | | 4 | 腾讯云3号 | kwp | 0.0.0.0 | 22 | script | | +----+-----------+--------+-----------------+------+--------------------------------+-------------------+
ping
List all server delays in real time (run under root):
$ sss ping +----+-----------+-----------------+--------------------------------+-------------------+-----------+ | id | name | host | tags | description | delay(ms) | +----+-----------+-----------------+--------------------------------+-------------------+-----------+ | 1 | 亚马逊aws | 0.0.0.0 | shadowsocks,telegramBot,MTpoto | 加利福尼亚机房 | 310 | | 2 | 阿里云 | 0.0.0.0 | Wechat,shadowsocks | 阿里云 毕业就到期 | 45 | | 3 | 腾讯云1号 | 0.0.0.0 | Blog,huginn | | 30 | | 5 | 腾讯云3号 | 0.0.0.0 | script | | 36 | +----+-----------+-----------------+--------------------------------+-------------------+-----------+
add
Add a new server:
$ sss add name: Test user: root host: 0.0.0.0 port(default: 22): key file path(None if use password): /path/to/your/key tags (use ',' to split): test,local description: this is a test Successfully added!
delete
Delete a server with the specified <server id>:
$ sss del 6 Successfully deleted!
tag
Filter out servers that contain the given <tag name>:
$ sss tag shadowsocks +----+-----------+--------+----------------+------+--------------------------------+-------------------+ | id | name | user | host | port | tags | description | +----+-----------+--------+----------------+------+--------------------------------+-------------------+ | 1 | 亚马逊aws | ubuntu | 0.0.0.0 | 22 | shadowsocks,telegramBot,MTpoto | 加利福尼亚机房 | | 2 | 阿里云 | root | 0.0.0.0 | 22 | Wechat,shadowsocks | 阿里云 毕业就到期 | +----+-----------+--------+----------------+------+--------------------------------+-------------------+
modify
Modify a server with the specified <server id>:
$ sss modify 1 name('亚马逊aws'): user('ubuntu'): host('0.0.0.0'): port(22): key file path('/path/to/your/key', enter '-' if use password): tags([shadowsocks,telegramBot,MTpoto], use ',' to split): description('加利福尼亚机房'):
Todo:
- [x] ping all servers
- [ ] fill password automatically
- [ ] supports Windows