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.
| 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 |
- 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-runshows exactly what would change without executing anything.
- 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)
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.pyIf 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.
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.pysudo 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.pysudo 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.pyPython 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 pythonTo 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.pyIf 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.pyTo move to a specific tagged release instead of the latest commit:
cd LinuxSetupPro
git fetch --tags
git checkout v1.0.0| 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. |
| 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 |
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.
Contributions are welcome. See CONTRIBUTING.md for how to add packages, error patterns, and new distributions.
Released under the MIT License, copyright Antech.
Built and maintained by Antech.
| Platform | Link |
|---|---|
| GitHub | Antech-greyhat |
| Telegram | AntechDevSecOps |
| X (Twitter) | Antech1629 |
| Antony Mwendwa | |
| +254714452396 |
Built by Antech. If LinuxSetupPro is useful to you, consider a star and a follow at github.com/Antech-greyhat.


