https://github.com/projectdiscovery/pdtm
ProjectDiscovery's Open Source Tool Manager
https://github.com/projectdiscovery/pdtm
opensource oss pdtm projectdiscovery tool-manager
Last synced: 5 months ago
JSON representation
ProjectDiscovery's Open Source Tool Manager
- Host: GitHub
- URL: https://github.com/projectdiscovery/pdtm
- Owner: projectdiscovery
- License: mit
- Created: 2022-04-07T06:29:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-02T16:04:23.000Z (6 months ago)
- Last Synced: 2025-05-08T00:45:54.683Z (5 months ago)
- Topics: opensource, oss, pdtm, projectdiscovery, tool-manager
- Language: Go
- Homepage: https://projectdiscovery.io
- Size: 536 KB
- Stars: 842
- Watchers: 22
- Forks: 71
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
![]()
ProjectDiscovery's Open Source Tool Manager
Features •
Installation •
Usage •
Running pdtm •
Join Discord**pdtm** is a simple and easy-to-use golang based tool for managing open source projects from ProjectDiscovery.
![]()
## Installation
**`pdtm`** requires **go1.24.2** to install successfully. Run the following command to install the latest version:
1. Install using go install -
```sh
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest
```2. Install by downloading binary from https://github.com/projectdiscovery/pdtm/releases
> **Notes**:
> - *Currently, projects are installed by downloading the released project binary. This means that projects can only be installed on the platforms for which binaries have been published.*
> - *The path $HOME/.pdtm/go/bin is added to the $PATH variable by default*
## Usage:
```console
pdtm is a simple and easy-to-use golang based tool for managing open source projects from ProjectDiscoveryUsage:
./pdtm [flags]Flags:
CONFIG:
-config string cli flag configuration file (default "$HOME/.config/pdtm/config.yaml")
-bp, -binary-path string custom location to download project binary (default "$HOME/.pdtm/go/bin")INSTALL:
-i, -install string[] install single or multiple project by name (comma separated)
-ia, -install-all install all the projects
-ip, -install-path append path to PATH environment variables
-igp, -install-go-path append GOBIN/GOPATH to PATH environment variablesUPDATE:
-u, -update string[] update single or multiple project by name (comma separated)
-ua, -update-all update all the projects
-up, -self-update update pdtm to latest version
-duc, -disable-update-check disable automatic pdtm update checkREMOVE:
-r, -remove string[] remove single or multiple project by name (comma separated)
-ra, -remove-all remove all the projects
-rp, -remove-path remove path from PATH environment variablesDEBUG:
-sp, -show-path show the current binary path then exit
-version show version of the project
-v, -verbose show verbose output
-nc, -no-color disable output content coloring (ANSI escape codes)
-disable-changelog, -dc disable release changelog in output
```## Running pdtm
```console
$ pdtm -install-all
____
____ ____/ / /_____ ___
/ __ \/ __ / __/ __ __ \
/ /_/ / /_/ / /_/ / / / / /
/ .___/\__,_/\__/_/ /_/ /_/
/_/ v0.0.1projectdiscovery.io
[INF] Installed httpx v1.1.1
[INF] Installed nuclei v2.6.3
[INF] Installed naabu v2.6.3
[INF] Installed dnsx v2.6.3
```### Todo
- support for go setup + project install from source
- support for installing from source as fallback option--------