{"id":26093073,"url":"https://github.com/matro7sh/smersh-cli","last_synced_at":"2026-01-31T22:39:01.178Z","repository":{"id":47577433,"uuid":"341639661","full_name":"matro7sh/smersh-cli","owner":"matro7sh","description":"A SMERSH command-line client","archived":false,"fork":false,"pushed_at":"2023-06-30T09:40:55.000Z","size":233,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-27T20:20:24.239Z","etag":null,"topics":["cli","cybersecurity","pentest-tool","python3","smersh-cli"],"latest_commit_sha":null,"homepage":"https://smersh.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matro7sh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-02-23T17:47:05.000Z","updated_at":"2025-03-12T14:54:53.000Z","dependencies_parsed_at":"2023-11-22T01:17:19.168Z","dependency_job_id":null,"html_url":"https://github.com/matro7sh/smersh-cli","commit_stats":null,"previous_names":["matro7sh/smersh-cli","cmepw/smersh-cli"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/matro7sh/smersh-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matro7sh%2Fsmersh-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matro7sh%2Fsmersh-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matro7sh%2Fsmersh-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matro7sh%2Fsmersh-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matro7sh","download_url":"https://codeload.github.com/matro7sh/smersh-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matro7sh%2Fsmersh-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28958348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T22:20:19.638Z","status":"ssl_error","status_checked_at":"2026-01-31T22:18:07.061Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cybersecurity","pentest-tool","python3","smersh-cli"],"created_at":"2025-03-09T11:22:16.814Z","updated_at":"2026-01-31T22:39:01.154Z","avatar_url":"https://github.com/matro7sh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smersh-cli ![](https://img.shields.io/github/last-commit/CMEPW/smersh-cli.svg) ![](https://img.shields.io/github/issues/CMEPW/smersh-cli.svg) \n\n**smersh-cli** is a command line client for the [SMERSH API](https://github.com/CMEPW/Smersh) fully written in Python. \nIt is an easy to use interactive command line made with CRUD in mind.\n\n# Usage\n\nTo run smersh-cli, you simply have to invoke the `main.py` script with your SMERSH API url has single argument:\n\n```bash\npython main.py \u003csmersh api url\u003e\n```\n\nYou will then be asked to enter your credentials before having an interactive command line interface (see below for an \nexample).\n\n![Example of a smersh-cli session](img/example.png)\n\n## Commands\n\nsmersh-cli implements every single builtin `cmd2` command (see the [cmd2 documentation](https://cmd2.readthedocs.io/en/latest/features/builtin_commands.html) \nfor more information about these commands). However, please think twice before using commands like `py` or `ipy` because\nyou can easily break something.\n\nIn addition to these commands, smersh-cli implements the following ones:\n\n* show\n* use\n* assign\n* save\n* delete\n* exit\n\nPlease note that every command is documented. The documentation can be shown with the `help` command.\n\n### Commands and contexts\n\nSome commands require a 'context' to be used. This is the case for the `assign`, `save` and `delete` commands. A context \nis used to tell the program about which object the operation you want to perform refers to. To change the context you \nneed to use the `use` command. You can see at any time which context is active thanks to the prompt of the interactive \ncommand line. In order to exit the active context, use the `exit` command (**warning**: every unsaved modification will \nbe lost).\n\n# Installation\n\n## Via Docker\n\nThis project includes a Dockerfile that you can build using the following command:\n\n```bash\ncd \u003cproject folder\u003e\ndocker image build -t smershcli:v1.0 .\n```\n\nOnce the image is built, you can simply run smersh-cli using the following command:\n\n```bash\ndocker run -it \u003ccontainer id\u003e \u003csmersh api url\u003e\n```\n\n## Via Pip\n\nYou can also install the latest release directly from PyPI using the following command:\n\n```bash\npip install smersh_cli\n```\n\n## Manually\n\nsmersh-cli requires at least Python 3.5 because of the usage of typing (see [PEP 484](https://www.python.org/dev/peps/pep-0484/) \nfor more information). However, we recommend Python 3.8 to avoid using a hack to get the project working (see [issue #12](https://github.com/CMEPW/smersh-cli/issues/12)). \nIf you have an older Python version, you will need to upgrade as we won't support any version below 3.5.\n\nsmersh-cli also depends on the following libraries:\n\n* rich\n* cmd2\n* requests\n* dataclasses_json\n* pydantic\n* importlib_metadata\n\nIf you have `setuptools` installed you can use the following command to install all dependencies and the package at once:\n\n```bash\npython setup.py install\n```\n\nYou can then use smersh-cli simply by using the command `smersh-cli`.\n\n# Internationalization\n\nsmersh-cli supports internationalization through the `gettext` library. This library will automatically detect and use \nyour system language. If, however, you want to use (force) another language you can prefix the usual command by \n`LC_MESSAGES=\u003cdesired_two_letters_language_code\u003e`.\n\nCurrently supported languages:\n\n* English (default)\n* Français (100%)\n\nFeel free to create a pull request with a translation file for your language.\n\n# License\n\nThe license has no yet been chosen. We will update this section when we know which license to use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatro7sh%2Fsmersh-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatro7sh%2Fsmersh-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatro7sh%2Fsmersh-cli/lists"}