Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to python 3 and up to date packages #222

Open
wants to merge 69 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
b71dd14
katoolin -> katoolin3
Sep 5, 2019
88b0b65
Enabled Issuing
s-h-3-l-l Sep 5, 2019
c3ebd6b
Added 'Message to author'-issuing
s-h-3-l-l Sep 5, 2019
6d66d09
Updated README
Sep 5, 2019
1b5a1e6
Added remove feature
Sep 5, 2019
703e822
Improved Usage section
Sep 5, 2019
ed35f6f
Made release-ready
Sep 5, 2019
c1a9976
Added installation instructions
Sep 5, 2019
bb56d24
Installation recieves Kalis keys
Sep 5, 2019
60718cb
Uninstall old katoolin configuration
Sep 6, 2019
a0f25a8
Improved output a little bit
Sep 6, 2019
f4dc3b0
Dont display installed packages differently
Sep 6, 2019
570c6e0
Added confirmation to huge operations
Sep 6, 2019
eb8fe97
Added diff tool
Sep 6, 2019
39e1957
Restructured project folders
Sep 6, 2019
d63d764
Improved maintenance capabilities
Sep 6, 2019
f36dab2
Updated package list
Sep 6, 2019
8d1b81a
Improved Ubuntu support
Sep 8, 2019
7282b75
Installation instructions are more clear
Sep 8, 2019
e2021a5
Fix for issue 3: Using python3-apt instead of python2-apt
Sep 8, 2019
9e96a52
First shot with apt API
Sep 8, 2019
26256b3
Added Update-feature
Sep 8, 2019
57b1191
Added search-feature
Sep 8, 2019
e89d6ff
Finalized apt-api
Sep 8, 2019
f2131b5
Added update functionality
Sep 14, 2019
9b02b99
Improved maintenance
Sep 14, 2019
72a443f
Updated README
Sep 14, 2019
22a80f4
Set theme jekyll-theme-dinky
s-h-3-l-l Sep 14, 2019
848bdbd
Added uninstall script
Sep 18, 2019
18837df
Improved code, updated packages, improved maintenance
Sep 18, 2019
c009063
Updated comments
Sep 19, 2019
41b92fa
Improved scripts
Sep 20, 2019
5e4eb28
Some minor corrections
Sep 21, 2019
0bf92ba
Attempted fix for issue 4: Ignore APT-internal errors
Sep 23, 2019
feef8f2
Catching more errors from apt library
Sep 23, 2019
09ffe83
Temporarily disabled upgrade mechanism
Sep 23, 2019
428f78d
Fix for issue 6: Ignore missing packages in category listing
Sep 24, 2019
a2a7541
Set theme jekyll-theme-hacker
s-h-3-l-l Sep 24, 2019
9dc24b1
Minor corrections
Sep 25, 2019
c2011cf
Fixed buggy columns, beautified output
Sep 25, 2019
366dc36
be friendly
Sep 25, 2019
2db4c36
Added more functionality in the menus
Sep 25, 2019
3d47559
Updated tool list
Sep 25, 2019
bfa088e
Updated README
Sep 25, 2019
5f3abfd
Made python3.5 compatible
Sep 26, 2019
f3e8cb6
Added installation warning about python3-apt
Sep 26, 2019
cd0da5d
Fix for issue 8: Improved key fetching mechanism
Sep 30, 2019
df746de
Added progress to installation
Sep 30, 2019
31403e0
Merge branch 'master' of https://github.com/s-h-3-l-l/katoolin3
Sep 30, 2019
ca38821
Detect architecture
Sep 30, 2019
1c2919d
Corrected README
Sep 30, 2019
98061f1
Dump troubleshooting
Sep 30, 2019
9395c9e
Verbose error messages
Oct 2, 2019
c2f0719
minifix
Oct 2, 2019
4149ab1
Put a disclaimer in README
Oct 24, 2019
cc762b3
Updated tool list
Nov 12, 2019
741d0a7
Updated TODO
Nov 12, 2019
bcfc4f1
Added LICENSE
Nov 12, 2019
16dc1b4
Improved maintenance stuff
Nov 12, 2019
5820c76
Improved installation scripts
Nov 13, 2019
cdb9168
Updated tool list
Jan 5, 2020
be71777
Updated maintenance README
Jan 5, 2020
17ebc67
Included Last-updated in README
Jan 5, 2020
ef2f6e9
Issue 13: Extended Warning in README and added a disclaimer
Jan 8, 2020
0e2f739
Semi-fix for issue 13: Removing gqrx-sdr from the package list
Jan 10, 2020
bc4535b
Issue 13: Removed packages that break Kubuntu 19.10
Jan 14, 2020
6a2d6c7
Updated README
Jan 14, 2020
047c87e
Updated .gitignore
Feb 18, 2020
91670e6
Updated tool list
Feb 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/message-to-author.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Message to author
about: Send a message to the maintainers of the program.
title: ''
labels: ''
assignees: ''

---

*Your message here*
59 changes: 3 additions & 56 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,57 +1,4 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/
maintenance/sorted.lst
maintenance/tools.lst
deb/
7 changes: 0 additions & 7 deletions Changelog.txt

This file was deleted.

53 changes: 0 additions & 53 deletions LICENCE → LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -279,59 +279,6 @@ POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

{description}
Copyright (C) {year} {fullname}

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

{signature of Ty Coon}, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
Expand Down
126 changes: 90 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,101 @@
![katoolin](https://cloud.githubusercontent.com/assets/8742190/9415562/83397aae-4840-11e5-8f72-28dfffcc70a9.png)
# katoolin
Automatically install all Kali linux tools
# katoolin3
Katoolin3 brings all programs available in Kali Linux to Debian and Ubuntu.

# Features
- Add Kali linux repositories
- Remove kali linux repositories
- Install Kali linux tools
### Description
This program is a port of [katoolin](https://github.com/LionSec/katoolin) from [LionSec](https://github.com/LionSec) to python3. Katoolin3 offers several improvements over katoolin:
- __Up to date packages__
The old katoolin uses an outdated package list. Katoolin3 always keeps its package list up to date.
_(Last updated: 18 Feb 2020)_

# Requirements
- Python 2.7
- An operating system (tested on Ubuntu)
- __Improved handling of missing packages__
The old katoolin breaks if a package isn't available in the repositories anymore. Katoolin3 detects those and simply ignores them.

# Installation
- sudo su
- git clone https://github.com/LionSec/katoolin.git && cp katoolin/katoolin.py /usr/bin/katoolin
- chmod +x /usr/bin/katoolin
- sudo katoolin
- __Removal of packages__
You can now remove all packages installed by katoolin3 (individually or all at once).

# Video
https://www.youtube.com/watch?v=8VxCWVoZEEE
- __Upgrading wont break your system anymore__
...because the Kali repositories only get enabled during the runtime of katoolin3.

# Usage
- Typing the number of a tool will install it
- Typing 0 will install all Kali Linux tools
- back : Go back
- gohome : Go to the main menu
- By installing armitage , you will install metasploit
- __Better utilization of the APT ecosystem__
The old katoolin does potentially dangerous operations such as modifying and *deleting* important system configuration files. This has been changed.

# Warning
Before updating your system , please remove all Kali-linux repositories to avoid any kind of problem .
- __Easier maintenance of Kalis packages__
The old katoolin makes it difficult to add new packages to the package list due to the way katoolin was programmed. Maintaining the package list is now a lot easier.

# I have some questions!
- __Cleaner code__
Due to poor code quality katoolin was unmaintainable and had to be rewritten from scratch. katoolin3 aims to be more readable and easier to maintain.

Please visit https://github.com/LionSec/katoolin/issues
### Warning for Ubuntu users
Installing programs from repositories for different operating systems
is generally considered dangerous!
Some packages might (and probably will) break
your system. Be careful when installing the tools and don't blame katoolin3 for
any inconveniences.
The optimal solution is to install specific tools from
[tools.kali.org](https://tools.kali.org/tools-listing).
It is not recommended to install all tools.

# Donations
- Paypal : https://www.paypal.me/lionsec
- skrill : [email protected]
### Requirements
- apt as a package manager
- Python >= 3.5
- Root privileges
- sh, bash
- python3-apt

### Installation
```bash
git clone https://github.com/s-h-3-l-l/katoolin3;
cd katoolin3;
chmod +x ./install.sh;
sudo ./install.sh;
```

# Contact
- Website : https://neodrix.com
- Youtube : https://youtube.com/inf98es
- Facebook : https://facebook.com/in98
- Twitter: @LionSec1
- Email : [email protected]
__Important:__ If you get the error ```Please install the python3-apt package```
please make sure katoolin3 runs with exactly the same python3 version as the
```python3-apt``` package. On modern distributions ```python3-apt``` is only for python3.7 and
on older distributions ```python3-apt``` is only for python3.5. Katoolin3 has to be run accordingly
with python3.7 or python3.5.

### Usage
The program flow of katoolin3 is realized by presenting
a list of options that you can choose from.
These lists look like that:
```
0) ...
1) ...
2) ...
```
#### Installing tools
To install a package enter the corresponding number.
To install multiple packages at once specify a range like ```3-5```, a list like ```1,2,3``` or combine them like ```1,2,5-7,9```.
You can also install all packages at once.

#### Uninstalling tools
This works just like installing except that you have to prepend a ```~``` before your selection. You can also uninstall all packages at once.

#### Searching
Katoolin3 supports searching the package cache.
E.g. if you want to install some tools related to SQL injections you can go into the search menu and search for ```sql injection```.
If you want to have specific information about a package just enter the package name in the same search menu.



*For more functionalities see the help dialogue inside the program.*

### Updating
To update your tool list execute
```bash
chmod +x ./update.sh;
sudo ./update.sh;
```

### Something doesn't work?
Hit me up on [Github](https://github.com/s-h-3-l-l/katoolin3/issues/new/choose).

### Uninstalling
To uninstall katoolin3 execute
```bash
chmod +x ./uninstall.sh;
sudo ./uninstall.sh;
```
Uninstalling the Kali tools can be done inside katoolin3.
1 change: 1 addition & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Maybe add manpage
1 change: 1 addition & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-hacker
17 changes: 17 additions & 0 deletions conf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Contains values used by all shell scripts #
#############################################

# The installation directory:
DIR="/usr/local/bin";

# The name of the program after installation:
PROGRAM="katoolin3";

# Show error message and quit:
die(){
if [ "$*" ];
then
echo $*;
fi
exit 1;
}
Empty file removed core/__init__.py
Empty file.
Loading