Skip to content

projectdiscovery/pdtm

Repository files navigation


ProjectDiscovery's Open Source Tool Manager

FeaturesInstallationUsageRunning pdtmJoin Discord

pdtm is a simple and easy-to-use golang based tool for managing open source projects from ProjectDiscovery.

Installation

pdtm requires go1.19 to install successfully. Run the following command to install the latest version:

  1. Install using go install -
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest
  1. 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:

pdtm is a simple and easy-to-use golang based tool for managing open source projects from ProjectDiscovery

Usage:
  ./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

UPDATE:
   -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 check

REMOVE:
   -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 variables

DEBUG:
   -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

$ pdtm -install-all
                ____          
     ____  ____/ / /_____ ___ 
    / __ \/ __  / __/ __ __  \
   / /_/ / /_/ / /_/ / / / / /
  / .___/\__,_/\__/_/ /_/ /_/ 
 /_/                          v0.0.1

      projectdiscovery.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

pdtm is made with ❤️ by the projectdiscovery team and distributed under MIT License.

Join Discord