Reverse engineer services with style
Project description
Meeshkan
Reverse engineer services with style 🤓💾🚀
Table of Contents
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
- Create virtual environment
- 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
- Bump the version in setup.py if the version is the same as in the published package. Commit and push.
- Run
python setup.py test
,python setup.py typecheck
andpython setup.py dist
to check everything works - To build and upload the package, run
python setup.py upload
. Insert PyPI credentials to upload the pacakge toPyPI
. The command will also rungit 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for meeshkan-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2deb7c2dab5921e534cef996c5397da9d604a6073c92ed208f0317079c7b4e3a |
|
MD5 | 682a40cfb6d3a9a967f1a1683b192743 |
|
BLAKE2b-256 | 24386239882c101fb24d3ca6c3d8732a308922d6a7d48a4c3bd6983a5193b6ae |