# Shell command logger (scl)
[![PyPI version](https://img.shields.io/pypi/v/shell_command_logger)](https://pypi.org/project/shell_command_logger/)
![License](https://img.shields.io/pypi/l/shell_command_logger)
![Python versions](https://img.shields.io/pypi/pyversions/shell_command_logger)
This program uses the linux `script` and `scriptreplay` commands to record and replay the output of any desired commands.
## Documentation
This README just contains basic usage information.
For more please consult the [documentation](https://shell-command-logger.six-two.dev/).
It is also provided in the `docs` folder and can be locally viewed by following these steps:
1. Install development dependencies (only required once):
```bash
python3 -m pip install -r requirements-dev.txt
```
2. Building the documentation and starting a local webserver:
```bash
mkdocs serve
```
3. Open [localhost:8000](http://localhost:8000)
## Installation
Install via `pip`:
```bash
pip install shell-command-logger[full]
```
## Usage
To record a command, you just prefix it with `scl log`:
```bash
scl log ls -1 /
```
You can use `scl replay` to interactively choose and replay a file.
With `scl search` you can search logged commands.
For more information see the [documentation](https://shell-command-logger.six-two.dev/) or run `scl --help`.
## Known issues
- `script` does strange things to input (I think to `\r`), so you should not wrap any netcat variants (`nc`, `ncat`, `netcat`).
- `Ctrl+C` kills `scl`, even if the program you call would handle the key combination.
This is especially annoying with tools like `msfconsole`.
## Notable changes
### Version 0.4.1
- By default do not attempt to deal with "unnecessary" `\r` added by script ay more. It caused too many troubles. If you want/need the old behavior, set the environment variable `SCL_STRIP_CR` to the value `1`.
- Pass `SIGINT` signals (usually triggered by `Ctrl-C`) to the process being logged instead of being interrupted -> logging things like shells should work (better)
- Removed aliases for problematic tools (msfconsole, nc, ncat, netcat)
Raw data
{
"_id": null,
"home_page": "https://github.com/six-two/shell-command-logger",
"name": "shell-command-logger",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "six-two",
"author_email": "pip@six-two.dev",
"download_url": "https://files.pythonhosted.org/packages/6e/e1/664b347247e673b5d586021c63e214793a126b9058baeb3f75aa92543a00/shell-command-logger-0.4.1.tar.gz",
"platform": null,
"description": "# Shell command logger (scl)\n[![PyPI version](https://img.shields.io/pypi/v/shell_command_logger)](https://pypi.org/project/shell_command_logger/)\n![License](https://img.shields.io/pypi/l/shell_command_logger)\n![Python versions](https://img.shields.io/pypi/pyversions/shell_command_logger)\n\nThis program uses the linux `script` and `scriptreplay` commands to record and replay the output of any desired commands.\n\n## Documentation\n\nThis README just contains basic usage information.\nFor more please consult the [documentation](https://shell-command-logger.six-two.dev/).\nIt is also provided in the `docs` folder and can be locally viewed by following these steps:\n\n1. Install development dependencies (only required once):\n ```bash\n python3 -m pip install -r requirements-dev.txt\n ```\n2. Building the documentation and starting a local webserver:\n ```bash\n mkdocs serve\n ```\n3. Open [localhost:8000](http://localhost:8000)\n\n\n## Installation\n\nInstall via `pip`:\n```bash\npip install shell-command-logger[full]\n```\n\n## Usage\n\nTo record a command, you just prefix it with `scl log`:\n\n```bash\nscl log ls -1 /\n```\n\nYou can use `scl replay` to interactively choose and replay a file.\nWith `scl search` you can search logged commands.\nFor more information see the [documentation](https://shell-command-logger.six-two.dev/) or run `scl --help`.\n\n\n## Known issues\n\n- `script` does strange things to input (I think to `\\r`), so you should not wrap any netcat variants (`nc`, `ncat`, `netcat`).\n- `Ctrl+C` kills `scl`, even if the program you call would handle the key combination.\n This is especially annoying with tools like `msfconsole`.\n\n\n## Notable changes\n\n### Version 0.4.1\n\n- By default do not attempt to deal with \"unnecessary\" `\\r` added by script ay more. It caused too many troubles. If you want/need the old behavior, set the environment variable `SCL_STRIP_CR` to the value `1`.\n- Pass `SIGINT` signals (usually triggered by `Ctrl-C`) to the process being logged instead of being interrupted -> logging things like shells should work (better)\n- Removed aliases for problematic tools (msfconsole, nc, ncat, netcat)\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Logs the output of commands, so that it can be replayed later",
"version": "0.4.1",
"project_urls": {
"Homepage": "https://github.com/six-two/shell-command-logger"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d6bef95beac71bf8733ee597e406d2169c9ebda83d935f6c416f4c2da705ee6e",
"md5": "ac1e6e2c64fdd6e82821d82871ba7033",
"sha256": "7badd305ac777fdacff4ec8c443562d4f4ca49e824e2736a901ebc8ae4a02021"
},
"downloads": -1,
"filename": "shell_command_logger-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ac1e6e2c64fdd6e82821d82871ba7033",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 40993,
"upload_time": "2023-09-13T18:24:42",
"upload_time_iso_8601": "2023-09-13T18:24:42.886421Z",
"url": "https://files.pythonhosted.org/packages/d6/be/f95beac71bf8733ee597e406d2169c9ebda83d935f6c416f4c2da705ee6e/shell_command_logger-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6ee1664b347247e673b5d586021c63e214793a126b9058baeb3f75aa92543a00",
"md5": "978e84609501ce8f7ec412bb0719488a",
"sha256": "158f053fbf590c1e58165e46f226ef5338ca0696f8e85ff78e7ea66f64170c3e"
},
"downloads": -1,
"filename": "shell-command-logger-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "978e84609501ce8f7ec412bb0719488a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 29803,
"upload_time": "2023-09-13T18:24:44",
"upload_time_iso_8601": "2023-09-13T18:24:44.219085Z",
"url": "https://files.pythonhosted.org/packages/6e/e1/664b347247e673b5d586021c63e214793a126b9058baeb3f75aa92543a00/shell-command-logger-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-13 18:24:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "six-two",
"github_project": "shell-command-logger",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "shell-command-logger"
}