Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinuxSetupPro

stars release license termux ubuntu fedora arch

LinuxSetupPro is a cross-platform setup and hardening tool for Termux, Debian/Ubuntu, Fedora, and Arch/BlackArch. It installs a curated set of essentials, development runtimes, and networking utilities, then offers an opt-in tier of security and penetration-testing tools, terminal customization, honest per-package reporting, and a persistent terminal banner generator. It detects your platform, picks the right package manager, and never lets one failed package abort the run.

Table of Contents

Section Description
Features Primary and secondary install categories, progress feedback, reporting
Screenshots Visual walkthrough of the tool in action
Requirements Python version, platform, dependencies
Install on Termux Step-by-step setup for Termux
Install on Linux Per-distro instructions for Debian, Fedora, Arch
Updating How to pull the latest changes or pin to a release
CLI Flags All command-line options
Supported Platforms Detection and backend mapping
FAQ Common questions and answers
Contributing How to add packages, error patterns, and new distros
License MIT license
Developer Author and social links

Features

  • Primary categories installed in order: Essentials, Development, Security/Networking, Fun/Terminal Flair, and an interactive Customization step.
  • Opt-in secondary menu of OSINT, network analysis, web-app testing, password-auth, wireless, exploitation, and forensics tools.
  • Real progress feedback per package, alternating a progress bar and a spinner, with a distinct color per status.
  • Honest error reporting: captured stderr is matched against known patterns to explain the cause and suggest a platform-specific fix. Unrecognized errors are shown verbatim, never invented.
  • Per-run reports appended to plain-text files under reports/, readable in any editor.
  • Persistent hacker-style terminal banner generator with figlet fonts and color schemes.
  • --dry-run shows exactly what would change without executing anything.

Screenshots

Startup banner Startup banner detail Progress display

Requirements

  • Python 3.8 or newer
  • One of the supported platforms and its package manager (pkg, apt, dnf, or pacman)
  • Python packages listed in requirements.txt (rich, questionary, PyYAML)

Install on Termux

apt update && apt upgrade -y
pkg install git python
pip install rich questionary PyYAML
git clone https://github.com/Antech-greyhat/LinuxSetupPro.git
cd LinuxSetupPro
python3 main.py

If pip is not available run python3 -m ensurepip --upgrade first. If PyYAML fails to compile, install it from the Termux repo instead: pkg install python-yaml.


Install on Linux

Debian / Ubuntu

sudo apt update && sudo apt upgrade -y
sudo apt install git python3 python3-pip
pip3 install rich questionary PyYAML
git clone https://github.com/Antech-greyhat/LinuxSetupPro.git
cd LinuxSetupPro
python3 main.py

Fedora / RHEL

sudo dnf upgrade -y
sudo dnf install git python3 python3-pip
pip3 install rich questionary PyYAML
git clone https://github.com/Antech-greyhat/LinuxSetupPro.git
cd LinuxSetupPro
python3 main.py

Arch / BlackArch / Manjaro

sudo pacman -Syu
sudo pacman -S git python python-pip
pip install rich questionary PyYAML
git clone https://github.com/Antech-greyhat/LinuxSetupPro.git
cd LinuxSetupPro
python3 main.py

Python 3.8 or newer is required. Check with python3 --version before running. If your version is older, upgrade it first:

# Termux
pkg upgrade python

# Debian / Ubuntu
sudo apt install python3.10

# Fedora
sudo dnf install python3.11

# Arch
sudo pacman -Syu python

Updating

To update an existing clone to the latest changes or a new release, pull inside the project folder and reinstall dependencies in case they changed:

cd LinuxSetupPro
git pull
pip install -r requirements.txt
python3 main.py

If git pull reports a conflict or fails because of local changes (for example a shallow clone from an older version), force your copy to match the remote. This discards local edits inside the folder:

cd LinuxSetupPro
git fetch origin
git reset --hard origin/main
python3 main.py

To move to a specific tagged release instead of the latest commit:

cd LinuxSetupPro
git fetch --tags
git checkout v1.0.0

CLI Flags

Flag Description
--dry-run Show what would install, upgrade, or remove without executing anything.
--only primary Run the primary categories only and skip the secondary menu.
--only secondary Jump straight to the secondary tools menu.
--set-editor Reopen the editor picker, update EDITOR, then exit.
--report Print the saved installation reports from reports/ and exit.
--version Print the tool version and exit.
--no-banner Suppress the startup and end-of-run banners.
--verbose Show raw subprocess output instead of the progress widgets.
--remove-banner Remove the persistent shell banner block and exit.
--public-ip Show your public IP in the startup session block. Makes one outbound request; the default shows the local IP only.

Supported Platforms

Platform Backend Detection
Termux pkg $PREFIX contains com.termux
Debian / Ubuntu apt ID/ID_LIKE in /etc/os-release
Fedora / RHEL dnf ID/ID_LIKE in /etc/os-release
Arch / BlackArch / Manjaro pacman ID/ID_LIKE in /etc/os-release

FAQ

What happens when a package fails to install? The run continues. The package is marked failed, and the report records the cause and a platform-specific suggestion when the error is recognized, or the raw stderr when it is not. Reports are appended to plain-text files under reports/ (primary_installation.txt and secondary_installation.txt); view them with any editor or run python3 main.py --report.

How do I remove the terminal banner? Run python3 main.py --remove-banner. It strips the marked block from your .bashrc or .zshrc. Restart your terminal afterwards.

Does this work on rooted devices or unrooted Termux? It works on both. Tools marked [LOCKED] need a proot Linux chroot or root access to function fully. On stock, unrooted Termux they may install but not run as expected. Use proot-distro to set up a Kali or Parrot chroot for those.

How do I add a custom package? Edit config/packages.yaml and add an entry with its per-backend package names. No code changes are needed. See CONTRIBUTING.md.

Contributing

Contributions are welcome. See CONTRIBUTING.md for how to add packages, error patterns, and new distributions.

License

Released under the MIT License, copyright Antech.

Developer

Built and maintained by Antech.

Platform Link
GitHub Antech-greyhat
Telegram AntechDevSecOps
X (Twitter) Antech1629
LinkedIn Antony Mwendwa
WhatsApp +254714452396

Built by Antech. If LinuxSetupPro is useful to you, consider a star and a follow at github.com/Antech-greyhat.

About

LinuxSetupPro is a cross-platform setup and hardening tool for Termux, Debian/Ubuntu, Fedora, and Arch/BlackArch. It detects your platform, picks the right package manager, and installs your tooling with honest per-package reporting — one failed package never aborts the run.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages