Files
ss/README.md
2025-11-08 08:37:09 +08:00

2.7 KiB

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 https://github.com/klesh/scientific-surfing.git
cd scientific-surfing
poetry install

2. Add the root directory to system PATH

Quick Start

Subscription Management

# add a subscription
python -m scientific_surfing subscription add <name> <clash-rss-subscription-url>

# refresh a subscription
python -m scientific_surfing subscription refresh <name>

# delete a subscription
python -m scientific_surfing subscription rm <name>

# rename a subscription
python -m scientific_surfing subscription rename <name> <new-name>

# update subscription URL
python -m scientific_surfing subscription set-url <name> <new-url>

# activate a subscription
python -m scientific_surfing subscription activate <name>

# list all subscriptions
python -m scientific_surfing subscription list

# show storage information
python -m scientific_surfing subscription storage

Hook Management

# initialize hooks directory with template scripts
python -m scientific_surfing hook init

# show hooks directory location and list all scripts
python -m scientific_surfing hook list

# edit a hook script with system editor
python -m scientific_surfing hook edit <script-name>

# remove a hook script
python -m scientific_surfing hook rm <script-name>

Core Configuration Management

# import configuration from file
python -m scientific_surfing core config import <file-path>

# export configuration to file
python -m scientific_surfing core config export <file-path>

# edit configuration with system editor
python -m scientific_surfing core config edit

# reset configuration to default values
python -m scientific_surfing core config reset

# show current configuration
python -m scientific_surfing core config show

# apply active subscription to generate final config
python -m scientific_surfing core config apply

Core Management

# update scientific-surfing core components
python -m scientific_surfing core update [--version <version>] [--force]

Service Management

macOS

sudo env SF_CONFIG_DIR=(readlink -f ~/basicfiles/cli/scientific_surfing) python -m scientific_surfing core service install

Development

This project uses Poetry for dependency management:

poetry install
poetry run pytest

License

MIT License - see LICENSE file for details.