Scientific Surfing
A Python package for surfing internet scientifically.
Features
- Clash RSS Subscription Support: Download and transform clash rss subscription
- Hook System: Customizable scripts for extending functionality
- Core Configuration Management: Import, export, and manage core configurations
- Binary Management: Automatic updates for core components
Installation
1. Clone into local
git clone ssh://git@gitea.epss.net.cn:2223/klesh/ss.git
cd ss
brew install poetry
poetry config --local virtualenvs.in-project true
2. Add the root directory to system PATH
Quick Start
Subscription Management
# add a subscription
python -m ss subscription add <name> <clash-rss-subscription-url>
# refresh a subscription
python -m ss subscription refresh <name>
# delete a subscription
python -m ss subscription rm <name>
# rename a subscription
python -m ss subscription rename <name> <new-name>
# update subscription URL
python -m ss subscription set-url <name> <new-url>
# activate a subscription
python -m ss subscription activate <name>
# list all subscriptions
python -m ss subscription list
# show storage information
python -m ss subscription storage
Hook Management
# initialize hooks directory with template scripts
python -m ss hook init
# show hooks directory location and list all scripts
python -m ss hook list
# edit a hook script with system editor
python -m ss hook edit <script-name>
# remove a hook script
python -m ss hook rm <script-name>
Core Configuration Management
# import configuration from file
python -m ss core config import <file-path>
# export configuration to file
python -m ss core config export <file-path>
# edit configuration with system editor
python -m ss core config edit
# reset configuration to default values
python -m ss core config reset
# show current configuration
python -m ss core config show
# apply active subscription to generate final config
python -m ss core config apply
Core Management
# update scientific-surfing core components
python -m ss core update [--version <version>] [--force]
Service Management
Linux / macOS
sudo env SF_CONFIG_DIR=$HOME/basicfiles/cli/ss python3 -m ss core service install
Development
This project uses Poetry for dependency management:
poetry install
poetry run pytest
License
MIT License - see LICENSE file for details.
Description
Languages
Python
97.1%
Jupyter Notebook
2.1%
JavaScript
0.8%