RapidRepoPull : Quickly Pull & Install Repos from its List

RapidRepoPull goal is to quickly pull and install repos from its list. This program uses Python to clone/maintain multiple security related repos using threading and multiprocessing.

Use cases

  • Quickly install your favorite Security repos on a new system
  • Kick off multiple concurrent git clone tasks utilizing Python
  • Add remove repos to the worker_data list as needed in order to address indivudual use case/project needs

Requirements

  • This program was tested with Python version 3.7.2 64-bit
  • Ensure the Python3 virtual environment package is installed (Ubuntu)

sudo apt-get install python3-venv

  • Ensure git is installed (Ubuntu)

sudo apt-get install git

Also Read – Remot3d : A Simple Tool Created for Large Pentesters

Usage Option 1 Automatic (Docker)

  • Clone code repo

git clone https://github.com/tbalz2319/RapidRepoPull.git

  • Change directory into RapidRepoPull

cd RapidRepoPull

  • The script will run in a minimal Alpine Docker container (126 MB) and extract the dirs in the current working dir

docker-compose up –build

Usage Option 2 Local Install

  • Clone code repo

git clone https://github.com/tbalz2319/RapidRepoPull.git

  • Change directory into RapidRepoPull

cd RapidRepoPull

  • Execute the script below

./install.sh

Usage Option 3 Manual

  • Clone code repo

git clone https://github.com/tbalz2319/RapidRepoPull.git

  • Change directory into RapidRepoPull

cd RapidRepoPull

  • Create a virtual Python3 environment to run this code

python3 -m venv venv

  • Activate the virual enivornment

source venv/bin/activate

  • Install requirements

pip install -r requirements.txt

  • Run program

python3 rapid.py

Update Program

  • Run the following script

./update.sh

Mass Update all existing repos

  • Run the command to maintain all existing repos by attempting to pull latest version

./update_repos.sh

To do

  • Add error handling

Clean up code

R K

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

4 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

4 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

5 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago