TropX
Cute "Pure Shell" Script-Running CLI
Install / Use
/learn @nodex4/TropXREADME
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
<!-- PROJECT LOGO BELOW --> <br /> <div align="center"> <a href="https://github.com/troopek/TropX"> <img src="images/logo.png" alt="logo" width="100"> </a> <h3 align="center">TropX</h3> <p align="center"> Heyo gope you enjoy <br /> · <a href="https://github.com/troopek/TropX/issues/new">Report Bug</a> · <a href="https://github.com/troopek/TropX/issues/new">Request Feature</a> </p> </div><!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li><a href="#about-the-project">About The Project</a></li> <li><a href="#next-feature">Next Feature</a></li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#installation">Installation</a></li> <li><a href="#setup">Setup</a></li> <li><a href="#initiation">Initiation</a></li> <li><a href="#updates">Updates</a></li> </ul> </li> <li><a href="#usage">Usage</a></li> <li><a href="#custom-scripts">Custom Scripts</a></li> <ul> <li><a href="#bash">Bash</a></li> <li><a href="#python">Python</a></li> <li><a href="#setup">Setup</a></li> <li><a href="#share-your-script">Share your script</li> </ul> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> <li><a href="#credits">Credits</a></li> <li><a href="#donate">Donate</a></li> <li><a href="#compatibility">Compatibility</a></li> <li><a href="#troubleshooting">Troubleshooting</a></li> <li><a href="#disclaimer">Disclaimer</a></li> </ol> </details> <!-- ABOUT THE PROJECT -->
About The Project
<div align="center"> <img src="images/image.png" alt="image"> </div>TropX is a command line application to run penetration testing scripts. It aims to more efficiently run long processes and tedious tasks by allowing the creation of custom scripts in the CLI that can be run whenever. To make scripting even easier, there are premade functions and variables for bash and python to be used to simplify the process. TropX also allows for maximum customization and optimization by providing a settings menu controlled trough the CLI. This project is free and opensource so all funding originates from <a href="#donate">donations</a>.
<p align="right">(<a href="#top">back to top</a>)</p>Next Feature
Vote on the next feature to be implemented into TropX.
- This feature is not setup yet
Getting Started
Learn how to install, setup, and update Tropx.
Installation
A local copy of TropX can be obtained using the git clone command.
- Navigate to your terminal (e.g. Terminator)
- Navigate to the directory you want TropX saved
- Clone the repository using the
git clonecommandgit clone https://github.com/troopek/TropX - Navigate to the TropX folder
cd TropX
Setup
The setup is automatically done after running the setup.sh file. The installation time may vary according to some variables.
- Run the
setup.shfile with bash and follow along with the setup tutorialbash setup.sh
Initiation
To run TropX, you will have to run the main.sh file.
- Navigate to the TropX folder
cd TropX - Run the
main.shfile with bashbash main.sh
Updates
You can update TropX to the newest version without losing any custom scripts and while also preserving your settings and other modified things. You can do this automatically trough TropX.
- <a href="#initiation">Start up TropX</a>
- Select
Check for Updatesin the main menu - If a newer version is available, you will be promted to install it
Usage
Learn how to use TropX efficiently and to it's fullest.
- <a href="#initiation">Start up TropX</a>
- You will be prompted to select out of an ample of scripts
- To select any script, you will have to input its corresponding number like
4and then pressEnter - All tools and scripts will send you back to the main menu after executing
- This same navigation also applies to navigation within scripts.
- To return to the menu you can use
CTRL+C
First Steps
Find out what to do first after <a href="#initiation">Starting up TropX</a>
Function Tree
Currently available tools offered by tropx by default.
System Management
├── Manage Mac & IP
└── Manage Wireless Interface
Wireless Exploits
└── Wifi Cracking
Physical Exploits
Client Side Attacks
Server Side Attacks
Social Engineering
- Configure your wireless Interface in the settings tab
Settings
TropX has a settings page that allows you do customize TropX to the rim
- List of available Settings
- Wireless Interface : (wlan0) | wlan1 | mon0 | mon1
- Animations : ON | MINIMAL | (OFF)
- Default Scripts : (SHOW) | HIDE
- Breadcrumbs : (ON) | OFF
- Primary Color : (WHITE) | RED | BLUE | GREEN | CYAN | PINK | YELLOW | GRAY
- Secondary Color : (RED) | WHITE | BLUE | GREEN | CYAN | PINK | YELLOW | GRAY
- Text Folding : ON | (OFF)
- Developer Mode : (ON) | OFF
Screenshots
Here are some screenshots of how TropX looks like
<img src="images/screenshots/settings.png" width="45%"></img> <img src="images/screenshots/help.png" width="45%"></img> <img src="images/screenshots/ma.png" width="45%"></img> <img src="images/screenshots/update.png" width="45%"></img> <img src="images/screenshots/wi.png" width="45%"></img>
<p align="right">(<a href="#top">back to top</a>)</p> <!-- Scripts / Tools -->Scripts / Tools
Here are all the tools TropX offers by default
- Manage Wireless Interface
- Manage Mac Address
Custom Scripts
You can very easily add Custom Scripts to TropX to further personalize the CLI, it supports both bash and python. Additionally you can clone a tool from github also.
Bash
TropX has some default functions and variables to simplify the programming pillar of custom scripts.
-
Custom Files
- Create custom files for your tool to use
- To add custom files into your tools file tree navigate into the TropX folder and go to the
custom_scriptsfolder, in here you can find your tool's folder and add any file youw ant to. - To acces these files within the file tree you will have to prefix them with the following directory
$folderfor it to look like such:"$folder/wordlist.txt"- It is neccesarry to wrap it in double qoutes
- replace
worldist.txtwith the file you wish to access $folderis a built in variable that holds the folder of the current script
- To add custom files into your tools file tree navigate into the TropX folder and go to the
-
installPackages
- Install Packages more simply and reliably without causing errors and messing up the script
installPackages "python3" "network-manager" "macchanger"- All packages listed after the
installPackagescommand will be installed automatically. - If they already are installed nothing will happen.
- The function accepts an infinite amount of packages.
- All packages listed after the
-
selectOptions
-
With
selectOptionsyou can ask the user to select an option, the CLI equivalent of good navigation.selectOptions "Options" "Select Desired Option" "Select a Valid Option" "Option1" "Option2" "Option3""Options"is the title for the option choices"Enter selection Here" "Try another selection"These two are thetype heretext before the>, the second will be shown in case of an error."Option1" "Option2" "Option3"The rest are options which will be shown to the user, they can be passed singularly or in an Array- The ouput can be saved into a variable like so, where
choiceis the number corresponding to the option, so if you chooseOption2, then$SOand alsochoicewill be set to2. This extra step is recommended as sometimes the variable gets overwritten by this function getting run somewhere else and then its value will change to something completely diffrent and irrelevant.choice=$SO - The function has a built-in check for the selected option to confirm it's validity.
-
getInput
-
With
getInputyou can get user input to save into a variable and use within your custom scriptgetInput "File Name" "Type a file name" "file.txt"-
"File Name"is the title for the get input function -
"Type a file name"is going to be the action they are to perform or write -
"file.txt"is an example of what their input should look likeinput=$SI -
The ouput can be saved into a variable like so, where input is the text inputted, so if you typed in
foo, then$SIand alsoinputwill be set tofoo. This extra step is recommended as sometimes the variable gets overwritten by this function getting run somewhere else and then its value will change to something completely diffrent and irrelevant. -
In the below example im using getInput to obtain a valid path to a file
-
To ensure that your user returns a proper and useful string, you can run it trough an until loop
getInput "File Path" "Please type in the relative or full path of the script" "Do not incldue a file extension" "file.txt" path=$SI
-
