Skip to main content

clash_tools is a comprehensive collection of utilities for managing Clash proxy configurations and services.

Project description

clash_tools is a comprehensive collection of utilities for managing Clash proxy configurations and services. It provides multiple command-line tools for different purposes, making it easy to work with Clash in various environments.

Docs: https://clash-tools.readthedocs.io/en/latest/

PyPI version PyPI downloads Test status Codecov

Features

  • 🚀 Docker Integration: One-click enable/disable Docker client and daemon proxy

  • 🔧 Environment Setup: Easy proxy environment variable configuration

  • 🎯 Service Management: Simple Clash service startup and management

  • 📊 Status Monitoring: Real-time proxy status checking

  • 🔄 Configuration Reset: Convenient reset functionality

  • 💻 Multi-platform: Works on Linux systems with systemd support

Tools Overview

The toolkit includes three main utilities:

clash_docker

Docker proxy management tool for enabling/disabling Docker proxy settings

clash_proxy

Shell script for setting up proxy environment variables in the current session

clash_serve

Simple utility for starting the Clash service with proper configuration

Installation

To install clash_tools, use pip:

$ python -m pip install clash_tools

Quick Start

  1. Start Clash service:

$ clash_serve
  1. Set up proxy environment variables (in a new terminal):

$ source clash_proxy
  1. Configure Docker proxy:

$ clash_docker enable
  1. Check proxy status:

$ clash_docker status
  1. Disable proxy when done:

$ clash_docker disable

Configuration

All tools use a config.yaml file to configure the Clash proxy server.

Example configuration:

port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: true
mode: rule
log-level: info
external-controller: '0.0.0.0:9090'
secret: ''

proxies:
  -
    name: 'my-proxy'
    type: ss
    server: your-proxy-server
    port: your-proxy-port
    cipher: your-cipher
    password: your-password
    udp: true

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - 'my-proxy'

rules:
  - MATCH,PROXY

Usage Examples

Complete Workflow:

# Terminal 1: Start Clash service
$ clash_serve

# Terminal 2: Set up environment and test
$ source clash_proxy
$ curl -I http://google.com
$ sudo clash_docker enable
$ docker pull hello-world

Development Environment:

$ source clash_proxy
$ npm install
$ pip install -r requirements.txt
$ git clone https://github.com/example/repo.git

Docker-Only Setup:

$ clash_serve &
$ sudo clash_docker enable
$ docker pull nginx

Documentation

For detailed documentation, visit: https://clash-tools.readthedocs.io/

The documentation includes:

  • Complete installation guide

  • Detailed usage instructions for all tools

  • Configuration examples

  • Troubleshooting guide

  • Best practices and workflows

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clash_tools-2.5.0.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clash_tools-2.5.0-py3-none-any.whl (6.1 MB view details)

Uploaded Python 3

File details

Details for the file clash_tools-2.5.0.tar.gz.

File metadata

  • Download URL: clash_tools-2.5.0.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for clash_tools-2.5.0.tar.gz
Algorithm Hash digest
SHA256 bc80229ebc20d6088c7491b6fb9dc360afd9b9c63ac7d5d5b3a2ee72a17ba485
MD5 5020c1eefab90be9248732624544d370
BLAKE2b-256 1658acd91463234bb7af12b7137a6eb3d025ecc3f0966a948c2e193b55083ff4

See more details on using hashes here.

File details

Details for the file clash_tools-2.5.0-py3-none-any.whl.

File metadata

  • Download URL: clash_tools-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for clash_tools-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f3168292a5a67a7fcbbec8608389fcbe424367723b7b36c7ab8f49797386fc2
MD5 ca913e48687c05470642faa3d1d5d177
BLAKE2b-256 e6342d527b468c6085bc0b1d232dec8f9f2237a61ef9492e77d8d74e84254a91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page