shell-command-logger


Nameshell-command-logger JSON
Version 0.4.1 PyPI version JSON
download
home_pagehttps://github.com/six-two/shell-command-logger
SummaryLogs the output of commands, so that it can be replayed later
upload_time2023-09-13 18:24:44
maintainer
docs_urlNone
authorsix-two
requires_python>=3.8
licenseMIT License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.11659s