manageritm
Manage a mitmproxy service on another system over a RESTful API
Getting Started
- Install manageritm.
pip install manageritm gunicorn
- Start manageritm server on port 8000.
gunicorn --bind 0.0.0.0:8000 --workers 1 --log-level debug "manageritm.app:main()"
- In Python, create a client, start the mitmproxy service, stop the mitmproxy service
import manageritm
manageritm_addr = "localhost"
manageritm_port = "8000"
mc = manageritm.client.ManagerITMProxyClient(f'http://{manageritm_addr}:{manageritm_port}')
proxy_details = mc.client()
print(f"proxy port: {proxy_details['port']}")
print(f"proxy webport: {proxy_details['webport']}")
mc.start()
mc.stop()
Or start a video client
- Create a custom configuration file named
flask_config_video.py
MANAGERITM_CLIENT_COMMAND = ['/opt/bin/video.sh']
-
Start manageritm server on port 8000.
gunicorn --bind 0.0.0.0:8000 --workers 1 --log-level debug "manageritm.app:main()"
-
In Python, create a client, start the ffmpeg service, stop the ffmpeg service
import manageritm
manageritm_addr = "localhost"
manageritm_port = "8000"
mc = manageritm.client.ManagerITMCommandClient(f'http://{manageritm_addr}:{manageritm_port}')
client_details = mc.client(additional_env={
'DISPLAY_CONTAINER_NAME': 'hanet_chrome_1',
'DISPLAY_NUM': '99',
'SE_VIDEO_FOLDER': '/videos',
'FILE_NAME': 'blahh.mp4'
})
mc.start()
mc.stop()
Local Development
- Check out this repository
- Create a virtual environment
make pyenv
- Install Python dependencies
make install
- Start the server
make server
- Start a client, in a Python interpreter:
import manageritm
manageritm_addr = "localhost"
manageritm_port = "8000"
mc = manageritm.client.ManagerITMProxyClient(f'http://{manageritm_addr}:{manageritm_port}')
proxy_details = mc.client()
print(f"proxy port: {proxy_details['port']}")
print(f"proxy webport: {proxy_details['webport']}")
mc.start()
- Navigate a web browser to
http://localhost:<proxy webport>
to watch the traffic - Configure a web browser to use the proxy port.
- Stop the client
mc.stop()
Helpful Commands
To build a package for the development version:
make all
To install a copy into your local python virtualenv
make install
To run the test cases:
make test
To run the development version of the service:
make run