dojo-cli is a Python command line interface and package to interact with the pwn.college API and website.
The easiest way to get started is with uv.
If you don't have uv yet, follow the installation instructions here.
Then run this command to install and launch the CLI:
uvx --from git+https://github.com/hidehiroanto/dojo-cli dojoIf you don't want to type that out every time, install it long term with this command:
uv tool install --from git+https://github.com/hidehiroanto/dojo-cli dojo-cliThen just run dojo to start the CLI.
If you want to add the Python package to your project environment, run this:
uv add git+https://github.com/hidehiroanto/dojo-cliIf you want to add the Python package globally, run this:
uv pip install --break-system-packages --strict --system git+https://github.com/hidehiroanto/dojo-cli- Rich text formatting
- Logging into the API
- Generating an SSH keypair and adding the public key to your account
- Fetching user details
- Getting rankings in dojos and modules (now with images!)
- Getting information about belted users
- Listing the names and descriptions of dojos, modules, and challenges
- Starting, restarting, and stopping a challenge
- Checking the status of a challenge
- Connecting to a challenge with SSH
- Running a remote command on a challenge
- Finding the largest files in your home directory
- Downloading files from and uploading files to the remote server
- Using the Zed code editor to edit files on the remote server
- Getting a hint about the flag
- Submitting flags
- Talking with SensAI
- Custom configuration in either JSON or YAML format
- A TUI to help you navigate all this
- And more!
If you find a bug or want to add a feature, feel free to open an issue or a pull request.
Thank you especially to the following people:
- The entire pwn.college team for creating the platform
- Zeeshan for letting me fork his pypwncollege repo
- COMBAT for the immediate inspiration
