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
Manage Clash Core (mihomo) via cli written in Python
Readme 328 KiB
Languages
Python 97.1%
Jupyter Notebook 2.1%
JavaScript 0.8%