Skip to main content

Reverse engineer services with style

Project description

Meeshkan

CircleCI PyPI PyPi License

Reverse engineer services with style 🤓💾🚀

Table of Contents

  1. Installation
  2. Command-line interface
  3. Development
  4. Contributing

Installation

Install via pip:

$ pip install meeshkan

Note that meeshkan requires Python 3.6+.

Command-line interface

To list available commands, execute meeshkan or meeshkan --help.

Building OpenAPI from recordings

Build OpenAPI schema from recordings:

$ meeshkan build -i path/to/recordings.jsonl [-o path/to/output_directory]

The supported input format for recordings is in the HTTP Types JSON format. The libraries listed there may be used to generate input files in your language of choice. For an example input file, see recordings.jsonl.

Use dash (-i -) to read from standard input:

$ meeshkan build -i - < recordings.jsonl

Converting from pcap

You can convert packet capture files to HTTP Types format using the convert command:

meeshkan convert -i /path/to/file.pcap -o recordings.jsonl

Executable tshark must be present in your PATH.

Converter does not decrypt captured packages, so only files containing plain unencrypted HTTP traffic are currently supported.

Development

Getting started

  1. Create virtual environment
  2. Install dependencies: pip install --upgrade -e '.[dev]'

Tests

Run tests/ with pytest:

pytest
# or
python setup.py test

Configuration for pytest is found in pytest.ini.

Type-checking

Run type-checking by installing pyright globally and running

pyright --lib
# or
python setup.py typecheck

Using the Pyright extension is recommended for development in VS Code.

Automated builds

Configuration for CircleCI build pipeline can be found in .circleci/config.yml.

Publishing package

  1. Bump the version in setup.py if the version is the same as in the published package. Commit and push.
  2. Run python setup.py test, python setup.py typecheck and python setup.py dist to check everything works
  3. To build and upload the package, run python setup.py upload. Insert PyPI credentials to upload the package to PyPI. The command will also run git tag to tag the commit as a release and push the tags to remote.

To see what the different commands do, see Command classes in setup.py.

Contributing

Thanks for wanting to contribute! Take a look at our development guide for notes on how to develop the package locally.

Please note that this project is governed by the Meeshkan Community Code of Conduct. By participating in this project, you agree to abide by its terms.

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

meeshkan-0.2.3.tar.gz (21.0 kB view hashes)

Uploaded Source

Built Distribution

meeshkan-0.2.3-py2.py3-none-any.whl (27.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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