feat: enhance subscription management with backup option and update CLI commands

This commit is contained in:
Klesh Wong
2026-05-26 12:56:37 +08:00
parent e799ea011f
commit 302d4e6bb5
7 changed files with 156 additions and 33 deletions

View File

@ -29,8 +29,8 @@ pip install -r requirements.txt
# add a subscription
python -m ss subscription add <name> <clash-rss-subscription-url>
# refresh a subscription
python -m ss subscription refresh <name>
# refresh a subscription (with optional backup)
python -m ss subscription refresh <name> [--backup]
# delete a subscription
python -m ss subscription rm <name>
@ -69,23 +69,30 @@ python -m ss hook rm <script-name>
### Core Configuration Management
```bash
# import configuration from file
python -m ss core config import <file-path>
python -m ss core config import <file-path> [--config-file <config.yaml>]
# export configuration to file
python -m ss core config export <file-path>
python -m ss core config export <file-path> [--config-file <config.yaml>]
# edit configuration with system editor
python -m ss core config edit
python -m ss core config edit [--config-file <config.yaml>]
# reset configuration to default values
python -m ss core config reset
python -m ss core config reset [--config-file <config.yaml>]
# show current configuration
python -m ss core config show
python -m ss core config show [--config-file <config.yaml>]
# apply active subscription to generate final config
python -m ss core config apply
# apply subscription to generate final config (with advanced options)
python -m ss core config apply \
[--config-file <config.yaml>] \
[--output-file <output.yaml>] \
[--subscription <subscription-name>]
```
**Options:**
- `--config-file <config.yaml>`: Use a custom config file instead of the default.
- `--output-file <output.yaml>`: Specify the output path for the generated config file.
- `--subscription <subscription-name>`: Use a specific subscription (not just the active one) for config generation.
### Core Management
```bash