Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 2.39 KB

README.md

File metadata and controls

68 lines (56 loc) · 2.39 KB

Shecan CLI

image image image image


The Shecan CLI is used to configure your DNS name server based on Shecan website from the command line.

For more about Shecan see https://shecan.ir/

  • I wrote this script, because I wanted to configure a couple of linux servers to be able to use docker hub, which are blocked in Iran. And I wanted to get an agent to do it.

Introduction

How to use shecan?

Installation

Install via one of these methods:

with pip:

python3 -m venv .venv
source .venv/bin/activate
pip install shecan

Or with pipx:

pipx install shecan

or with uv:

uv tool install llm

Quickstart

  • Run shecan update - It will get Shecan DNS name servers and save them into a configuration file.
  • Run shecan list It will show shecan DNS name servers from the configuration file.
  • Run shecan set This will change your DNS temporarily by moving your current /etc/resolv.conf file and replace it with shecan DNS name server. If you encounter permission problem run the command this way: sudo $(which shecan) set.
  • Run shecan verify It will check your DNS configuration and make sure that shecan works fine for you.
  • Run shecan restore It will restore your previous DNS configuration.
  • Run shecan show It will print your current DNS configuration.
  • Run shecan --version It will show shecan's version.
  • Run shecan --help It will show full command-line options and subcommands.

Contributing

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd shecan-cli
python -m venv .venv
source .venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[dev]'

Or if you are using uv:

uv sync

Install pre-commit hooks to ensure code quality:

pre-commit install
pre-commit install -t pre-push