Resources
Curated list of resources and references
Curated indexed URLS useful resources about all kind of things.
Linux
- CyberCiti.biz - SysAdmin Blog: A comprehensive blog covering various topics on system administration, including tutorials, tips, and guides.
- SELinux System Administration - Second Edition (PDF): An in-depth PDF book about SELinux system administration.
- Free DevOps Books: A GitHub repository with a collection of free books on DevOps and related topics.
- Cheat.sh: A quick reference and cheat sheet for various programming languages and tools.
Pentesting
- HackTricks: HackTricks is a educational Wiki that compiles knowledge about cyber-security.
- Payload All The Things: A list of useful payloads and bypasses for Web Application Security. Feel free to improve with your payloads and techniques !
Anti-virus Evasion Tools
- AntiVirus Evasion Tool (AVET) - Post-process exploits containing executable files targeted for Windows machines to avoid being recognized by antivirus software.
- CarbonCopy - Tool that creates a spoofed certificate of any online website and signs an Executable for AV evasion.
- Hyperion - Runtime encryptor for 32-bit portable executables ("PE
.exe
s"). - Shellter - Dynamic shellcode injection tool, and the first truly dynamic PE infector ever created.
- UniByAv - Simple obfuscator that takes raw shellcode and generates Anti-Virus friendly executables by using a brute-forcable, 32-bit XOR key.
- Veil - Generate metasploit payloads that bypass common anti-virus solutions.
- peCloakCapstone - Multi-platform fork of the peCloak.py automated malware antivirus evasion tool.
- Amber - Reflective PE packer for converting native PE files to position-independent shellcode.
Books
See also DEF CON Suggested Reading.
- Advanced Penetration Testing by Wil Allsopp, 2017
- Advanced Penetration Testing for Highly-Secured Environments by Lee Allen, 2012
- Advanced Persistent Threat Hacking: The Art and Science of Hacking Any Organization by Tyler Wrightson, 2014
- Android Hacker's Handbook by Joshua J. Drake et al., 2014
- BTFM: Blue Team Field Manual by Alan J White & Ben Clark, 2017
- Black Hat Python: Python Programming for Hackers and Pentesters by Justin Seitz, 2014
- Bug Hunter's Diary by Tobias Klein, 2011
- Car Hacker's Handbook by Craig Smith, 2016
- Effective Software Testing, 2021
- Fuzzing: Brute Force Vulnerability Discovery by Michael Sutton et al., 2007
- Metasploit: The Penetration Tester's Guide by David Kennedy et al., 2011
- Penetration Testing: A Hands-On Introduction to Hacking by Georgia Weidman, 2014
- Penetration Testing: Procedures & Methodologies by EC-Council, 2010
- Professional Penetration Testing by Thomas Wilhelm, 2013
- RTFM: Red Team Field Manual by Ben Clark, 2014
- The Art of Exploitation by Jon Erickson, 2008
- The Art of Network Penetration Testing, 2020
- The Basics of Hacking and Penetration Testing by Patrick Engebretson, 2013
- The Database Hacker's Handbook, David Litchfield et al., 2005
- The Hacker Playbook by Peter Kim, 2014
- The Mac Hacker's Handbook by Charlie Miller & Dino Dai Zovi, 2009
- The Mobile Application Hacker's Handbook by Dominic Chell et al., 2015
- Unauthorised Access: Physical Penetration Testing For IT Security Teams by Wil Allsopp, 2010
- Violent Python by TJ O'Connor, 2012
- iOS Hacker's Handbook by Charlie Miller et al., 2012
Malware Analysis Books
See awesome-malware-analysis § Books.
CTF Tools
- CTF Field Guide - Everything you need to win your next CTF competition.
- Ciphey - Automated decryption tool using artificial intelligence and natural language processing.
- RsaCtfTool - Decrypt data enciphered using weak RSA keys, and recover private keys from public keys using a variety of automated attacks.
- ctf-tools - Collection of setup scripts to install various security research tools easily and quickly deployable to new machines.
- shellpop - Easily generate sophisticated reverse or bind shell commands to help you save time during penetration tests.
Cloud Platform Attack Tools
See also HackingThe.cloud.
- Cloud Container Attack Tool (CCAT) - Tool for testing security of container environments.
- CloudHunter - Looks for AWS, Azure and Google cloud storage buckets and lists permissions for vulnerable buckets.
- Cloudsplaining - Identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report with a triage worksheet.
- Endgame - AWS Pentesting tool that lets you use one-liner commands to backdoor an AWS account's resources with a rogue AWS account.
- GCPBucketBrute - Script to enumerate Google Storage buckets, determine what access you have to them, and determine if they can be privilege escalated.
Exfiltration Tools
- DET - Proof of concept to perform data exfiltration using either single or multiple channel(s) at the same time.
- Iodine - Tunnel IPv4 data through a DNS server; useful for exfiltration from networks where Internet access is firewalled, but DNS queries are allowed.
- TrevorC2 - Client/server tool for masking command and control and data exfiltration through a normally browsable website, not typical HTTP POST requests.
- dnscat2 - Tool designed to create an encrypted command and control channel over the DNS protocol, which is an effective tunnel out of almost every network.
- pwnat - Punches holes in firewalls and NATs.
- tgcd - Simple Unix network utility to extend the accessibility of TCP/IP based network services beyond firewalls.
- QueenSono - Client/Server Binaries for data exfiltration with ICMP. Useful in a network where ICMP protocol is less monitored than others (which is a common case).
Exploit Development Tools
See also Reverse Engineering Tools.
- H26Forge - Domain-specific infrastructure for analyzing, generating, and manipulating syntactically correct but semantically spec-non-compliant video files.
- Magic Unicorn - Shellcode generator for numerous attack vectors, including Microsoft Office macros, PowerShell, HTML applications (HTA), or
certutil
(using fake certificates). - Pwntools - Rapid exploit development framework built for use in CTFs.
- Wordpress Exploit Framework - Ruby framework for developing and using modules which aid in the penetration testing of WordPress powered websites and systems.
- peda - Python Exploit Development Assistance for GDB.
File Format Analysis Tools
- ExifTool - Platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files.
- Hachoir - Python library to view and edit a binary stream as tree of fields and tools for metadata extraction.
- Kaitai Struct - File formats and network protocols dissection language and web IDE, generating parsers in C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby.
- peepdf - Python tool to explore PDF files in order to find out if the file can be harmful or not.
- Veles - Binary data visualization and analysis tool.
GNU/Linux Utilities
- Hwacha - Post-exploitation tool to quickly execute payloads via SSH on one or more Linux systems simultaneously.
- Linux Exploit Suggester - Heuristic reporting on potentially viable exploits for a given GNU/Linux system.
- Lynis - Auditing tool for UNIX-based systems.
- checksec.sh - Shell script designed to test what standard Linux OS and PaX security features are being used.
Hash Cracking Tools
- BruteForce Wallet - Find the password of an encrypted wallet file (i.e.
wallet.dat
). - CeWL - Generates custom wordlists by spidering a target's website and collecting unique words.
- duplicut - Quickly remove duplicates, without changing the order, and without getting OOM on huge wordlists.
- GoCrack - Management Web frontend for distributed password cracking sessions using hashcat (or other supported tools) written in Go.
- Hashcat - The more fast hash cracker.
- hate_crack - Tool for automating cracking methodologies through Hashcat.
- JWT Cracker - Simple HS256 JSON Web Token (JWT) token brute force cracker.
- John the Ripper - Fast password cracker.
- Rar Crack - RAR bruteforce cracker.
Hex Editors
- Bless - High quality, full featured, cross-platform graphical hex editor written in Gtk#.
- Frhed - Binary file editor for Windows.
- Hex Fiend - Fast, open source, hex editor for macOS with support for viewing binary diffs.
- HexEdit.js - Browser-based hex editing.
- Hexinator - World's finest (proprietary, commercial) Hex Editor.
- hexedit - Simple, fast, console-based hex editor.
- wxHexEditor - Free GUI hex editor for GNU/Linux, macOS, and Windows.
Industrial Control and SCADA Systems
See also awesome-industrial-control-system-security.
- Industrial Exploitation Framework (ISF) - Metasploit-like exploit framework based on routersploit designed to target Industrial Control Systems (ICS), SCADA devices, PLC firmware, and more.
- s7scan - Scanner for enumerating Siemens S7 PLCs on a TCP/IP or LLC network.
- OpalOPC - Commercial OPC UA vulnerability assessment tool, sold by Molemmat.
Intentionally Vulnerable Systems
See also awesome-vulnerable.
Intentionally Vulnerable Systems as Docker Containers
- Damn Vulnerable Web Application (DVWA) -
docker pull citizenstig/dvwa
. - OWASP Juice Shop -
docker pull bkimminich/juice-shop
. - OWASP Mutillidae II Web Pen-Test Practice Application -
docker pull citizenstig/nowasp
. - OWASP NodeGoat -
docker-compose build && docker-compose up
. - OWASP Security Shepherd -
docker pull ismisepaul/securityshepherd
. - OWASP WebGoat Project 7.1 docker image -
docker pull webgoat/webgoat-7.1
. - OWASP WebGoat Project 8.0 docker image -
docker pull webgoat/webgoat-8.0
. - Vulnerability as a service: Heartbleed -
docker pull hmlio/vaas-cve-2014-0160
. - Vulnerability as a service: SambaCry -
docker pull vulnerables/cve-2017-7494
. - Vulnerability as a service: Shellshock -
docker pull hmlio/vaas-cve-2014-6271
. - Vulnerable WordPress Installation -
docker pull wpscanteam/vulnerablewordpress
.
Lock Picking
See awesome-lockpicking.
macOS Utilities
- Bella - Pure Python post-exploitation data mining and remote administration tool for macOS.
- EvilOSX - Modular RAT that uses numerous evasion and exfiltration techniques out-of-the-box.
Multi-paradigm Frameworks
- Armitage - Java-based GUI front-end for the Metasploit Framework.
- AutoSploit - Automated mass exploiter, which collects target by employing the Shodan.io API and programmatically chooses Metasploit exploit modules based on the Shodan query.
- Decker - Penetration testing orchestration and automation framework, which allows writing declarative, reusable configurations capable of ingesting variables and using outputs of tools it has run as inputs to others.
- Faraday - Multiuser integrated pentesting environment for red teams performing cooperative penetration tests, security audits, and risk assessments.
- Metasploit - Software for offensive security teams to help verify vulnerabilities and manage security assessments.
- Pupy - Cross-platform (Windows, Linux, macOS, Android) remote administration and post-exploitation tool.
- Ronin - Free and Open Source Ruby Toolkit for Security Research and Development, providing many different libraries and commands for a variety of security tasks, such as recon, vulnerability scanning, exploit development, exploitation, post-exploitation, and more.
Network Tools
- CrackMapExec - Swiss army knife for pentesting networks.
- IKEForce - Command line IPSEC VPN brute forcing tool for Linux that allows group name/ID enumeration and XAUTH brute forcing capabilities.
- Intercepter-NG - Multifunctional network toolkit.
- Legion - Graphical semi-automated discovery and reconnaissance framework based on Python 3 and forked from SPARTA.
- Network-Tools.com - Website offering an interface to numerous basic network utilities like
ping
,traceroute
,whois
, and more. - Ncrack - High-speed network authentication cracking tool built to help companies secure their networks by proactively testing all their hosts and networking devices for poor passwords.
- Praeda - Automated multi-function printer data harvester for gathering usable data during security assessments.
- Printer Exploitation Toolkit (PRET) - Tool for printer security testing capable of IP and USB connectivity, fuzzing, and exploitation of PostScript, PJL, and PCL printer language features.
- SPARTA - Graphical interface offering scriptable, configurable access to existing network infrastructure scanning and enumeration tools.
- SigPloit - Signaling security testing framework dedicated to telecom security for researching vulnerabilites in the signaling protocols used in mobile (cellular phone) operators.
- Smart Install Exploitation Tool (SIET) - Scripts for identifying Cisco Smart Install-enabled switches on a network and then manipulating them.
- THC Hydra - Online password cracking tool with built-in support for many network protocols, including HTTP, SMB, FTP, telnet, ICQ, MySQL, LDAP, IMAP, VNC, and more.
- Tsunami - General purpose network security scanner with an extensible plugin system for detecting high severity vulnerabilities with high confidence.
- Zarp - Network attack tool centered around the exploitation of local networks.
- dnstwist - Domain name permutation engine for detecting typo squatting, phishing and corporate espionage.
- dsniff - Collection of tools for network auditing and pentesting.
- impacket - Collection of Python classes for working with network protocols.
- pivotsuite - Portable, platform independent and powerful network pivoting toolkit.
- routersploit - Open source exploitation framework similar to Metasploit but dedicated to embedded devices.
- rshijack - TCP connection hijacker, Rust rewrite of
shijack
.
DDoS Tools
- Anevicon - Powerful UDP-based load generator, written in Rust.
- D(HE)ater - D(HE)ater sends forged cryptographic handshake messages to enforce the Diffie-Hellman key exchange.
- HOIC - Updated version of Low Orbit Ion Cannon, has 'boosters' to get around common counter measures.
- Low Orbit Ion Canon (LOIC) - Open source network stress tool written for Windows.
- Memcrashed - DDoS attack tool for sending forged UDP packets to vulnerable Memcached servers obtained using Shodan API.
- SlowLoris - DoS tool that uses low bandwidth on the attacking side.
- T50 - Faster network stress tool.
- UFONet - Abuses OSI layer 7 HTTP to create/manage 'zombies' and to conduct different attacks using;
GET
/POST
, multithreading, proxies, origin spoofing methods, cache evasion techniques, etc.
Network Reconnaissance Tools
- ACLight - Script for advanced discovery of sensitive Privileged Accounts - includes Shadow Admins.
- AQUATONE - Subdomain discovery tool utilizing various open sources producing a report that can be used as input to other tools.
- CloudFail - Unmask server IP addresses hidden behind Cloudflare by searching old database records and detecting misconfigured DNS.
- DNSDumpster - Online DNS recon and search service.
- Mass Scan - TCP port scanner, spews SYN packets asynchronously, scanning entire Internet in under 5 minutes.
- OWASP Amass - Subdomain enumeration via scraping, web archives, brute forcing, permutations, reverse DNS sweeping, TLS certificates, passive DNS data sources, etc.
- ScanCannon - POSIX-compliant BASH script to quickly enumerate large networks by calling
masscan
to quickly identify open ports and thennmap
to gain details on the systems/services on those ports. - XRay - Network (sub)domain discovery and reconnaissance automation tool.
- dnsenum - Perl script that enumerates DNS information from a domain, attempts zone transfers, performs a brute force dictionary style attack, and then performs reverse look-ups on the results.
- dnsmap - Passive DNS network mapper.
- dnsrecon - DNS enumeration script.
- dnstracer - Determines where a given DNS server gets its information from, and follows the chain of DNS servers.
- fierce - Python3 port of the original
fierce.pl
DNS reconnaissance tool for locating non-contiguous IP space. - netdiscover - Network address discovery scanner, based on ARP sweeps, developed mainly for those wireless networks without a DHCP server.
- nmap - Free security scanner for network exploration & security audits.
- passivedns-client - Library and query tool for querying several passive DNS providers.
- passivedns - Network sniffer that logs all DNS server replies for use in a passive DNS setup.
- RustScan - Lightweight and quick open-source port scanner designed to automatically pipe open ports into Nmap.
- scanless - Utility for using websites to perform port scans on your behalf so as not to reveal your own IP.
- smbmap - Handy SMB enumeration tool.
- subbrute - DNS meta-query spider that enumerates DNS records, and subdomains.
- zmap - Open source network scanner that enables researchers to easily perform Internet-wide network studies.
Protocol Analyzers and Sniffers
See also awesome-pcaptools.
- Debookee - Simple and powerful network traffic analyzer for macOS.
- Dshell - Network forensic analysis framework.
- Netzob - Reverse engineering, traffic generation and fuzzing of communication protocols.
- Wireshark - Widely-used graphical, cross-platform network protocol analyzer.
- netsniff-ng - Swiss army knife for network sniffing.
- sniffglue - Secure multithreaded packet sniffer.
- tcpdump/libpcap - Common packet analyzer that runs under the command line.
Network Traffic Replay and Editing Tools
- TraceWrangler - Network capture file toolkit that can edit and merge
pcap
orpcapng
files with batch editing features. - WireEdit - Full stack WYSIWYG pcap editor (requires a free license to edit packets).
- bittwist - Simple yet powerful libpcap-based Ethernet packet generator useful in simulating networking traffic or scenario, testing firewall, IDS, and IPS, and troubleshooting various network problems.
- hping3 - Network tool able to send custom TCP/IP packets.
- pig - GNU/Linux packet crafting tool.
- scapy - Python-based interactive packet manipulation program and library.
- tcpreplay - Suite of free Open Source utilities for editing and replaying previously captured network traffic.
Proxies and Machine-in-the-Middle (MITM) Tools
See also Intercepting Web proxies.
- BetterCAP - Modular, portable and easily extensible MITM framework.
- Ettercap - Comprehensive, mature suite for machine-in-the-middle attacks.
- Habu - Python utility implementing a variety of network attacks, such as ARP poisoning, DHCP starvation, and more.
- Lambda-Proxy - Utility for testing SQL Injection vulnerabilities on AWS Lambda serverless functions.
- MITMf - Framework for Man-In-The-Middle attacks.
- Morpheus - Automated ettercap TCP/IP Hijacking tool.
- SSH MITM - Intercept SSH connections with a proxy; all plaintext passwords and sessions are logged to disk.
- dnschef - Highly configurable DNS proxy for pentesters.
- evilgrade - Modular framework to take advantage of poor upgrade implementations by injecting fake updates.
- mallory - HTTP/HTTPS proxy over SSH.
- oregano - Python module that runs as a machine-in-the-middle (MITM) accepting Tor client requests.
- sylkie - Command line tool and library for testing networks for common address spoofing security vulnerabilities in IPv6 networks using the Neighbor Discovery Protocol.
- PETEP - Extensible TCP/UDP proxy with GUI for traffic analysis & modification with SSL/TLS support.
- friTap - Intercept SSL/TLS connections with frida; Allows TLS key extraction and decryption of TLS payload as PCAP in real time.
Transport Layer Security Tools
- CryptoLyzer - Fast and flexible server cryptographic (TLS/SSL/SSH/HTTP) settings analyzer library for Python with CLI.
- SSLyze - Fast and comprehensive TLS/SSL configuration analyzer to help identify security mis-configurations.
- crackpkcs12 - Multithreaded program to crack PKCS#12 files (
.p12
and.pfx
extensions), such as TLS/SSL certificates. - testssl.sh - Command line tool which checks a server's service on any port for the support of TLS/SSL ciphers, protocols as well as some cryptographic flaws.
- tls_prober - Fingerprint a server's SSL/TLS implementation.
- tlsmate - Framework to create arbitrary TLS test cases. Comes with a TLS server scanner plugin.
Secure Shell Tools
- ssh-audit - SSH server & client auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc).
Wireless Network Tools
- Aircrack-ng - Set of tools for auditing wireless networks.
- Airgeddon - Multi-use bash script for Linux systems to audit wireless networks.
- BoopSuite - Suite of tools written in Python for wireless auditing.
- Bully - Implementation of the WPS brute force attack, written in C.
- Cowpatty - Brute-force dictionary attack against WPA-PSK.
- Fluxion - Suite of automated social engineering based WPA attacks.
- KRACK Detector - Detect and prevent KRACK attacks in your network.
- Kismet - Wireless network detector, sniffer, and IDS.
- PSKracker - Collection of WPA/WPA2/WPS default algorithms, password generators, and PIN generators written in C.
- Reaver - Brute force attack against WiFi Protected Setup.
- WiFi Pineapple - Wireless auditing and penetration testing platform.
- WiFi-Pumpkin - Framework for rogue Wi-Fi access point attack.
- Wifite - Automated wireless attack tool.
- infernal-twin - Automated wireless hacking tool.
- krackattacks-scripts - WPA2 Krack attack scripts.
- pwnagotchi - Deep reinforcement learning based AI that learns from the Wi-Fi environment and instruments BetterCAP in order to maximize the WPA key material captured.
- wifi-arsenal - Resources for Wi-Fi Pentesting.
Network Vulnerability Scanners
- celerystalk - Asynchronous enumeration and vulnerability scanner that "runs all the tools on all the hosts" in a configurable manner.
- kube-hunter - Open-source tool that runs a set of tests ("hunters") for security issues in Kubernetes clusters from either outside ("attacker's view") or inside a cluster.
- Nessus - Commercial vulnerability management, configuration, and compliance assessment platform, sold by Tenable.
- Netsparker Application Security Scanner - Application security scanner to automatically find security flaws.
- Nexpose - Commercial vulnerability and risk management assessment engine that integrates with Metasploit, sold by Rapid7.
- OpenVAS - Free software implementation of the popular Nessus vulnerability assessment system.
- Vuls - Agentless vulnerability scanner for GNU/Linux and FreeBSD, written in Go.
Web Vulnerability Scanners
- ACSTIS - Automated client-side template injection (sandbox escape/bypass) detection for AngularJS.
- Arachni - Scriptable framework for evaluating the security of web applications.
- JCS - Joomla Vulnerability Component Scanner with automatic database updater from exploitdb and packetstorm.
- Nikto - Noisy but fast black box web server and web application vulnerability scanner.
- SQLmate - Friend of
sqlmap
that identifies SQLi vulnerabilities based on a given dork and (optional) website. - SecApps - In-browser web application security testing suite.
- WPScan - Black box WordPress vulnerability scanner.
- Wapiti - Black box web application vulnerability scanner with built-in fuzzer.
- WebReaver - Commercial, graphical web application vulnerability scanner designed for macOS.
- cms-explorer - Reveal the specific modules, plugins, components and themes that various websites powered by content management systems are running.
- joomscan - Joomla vulnerability scanner.
- skipfish - Performant and adaptable active web application security reconnaissance tool.
- w3af - Web application attack and audit framework.
- nuclei - Fast and customizable vulnerability scanner based on simple YAML based DSL.
Online Resources
Online Operating Systems Resources
- DistroWatch.com's Security Category - Website dedicated to talking about, reviewing, and keeping up to date with open source operating systems.
Online Penetration Testing Resources
- MITRE's Adversarial Tactics, Techniques & Common Knowledge (ATT&CK) - Curated knowledge base and model for cyber adversary behavior.
- Metasploit Unleashed - Free Offensive Security Metasploit course.
- Open Web Application Security Project (OWASP) - Worldwide not-for-profit charitable organization focused on improving the security of especially Web-based and Application-layer software.
- PENTEST-WIKI - Free online security knowledge library for pentesters and researchers.
- Penetration Testing Execution Standard (PTES) - Documentation designed to provide a common language and scope for performing and reporting the results of a penetration test.
- Penetration Testing Framework (PTF) - Outline for performing penetration tests compiled as a general framework usable by vulnerability analysts and penetration testers alike.
- XSS-Payloads - Resource dedicated to all things XSS (cross-site), including payloads, tools, games, and documentation.
Other Lists Online
- .NET Programming - Software framework for Microsoft Windows platform development.
- Infosec/hacking videos recorded by cooper - Collection of security conferences recorded by Cooper.
- Android Exploits - Guide on Android Exploitation and Hacks.
- Android Security - Collection of Android security related resources.
- AppSec - Resources for learning about application security.
- Awesome Awesomeness - The List of the Lists.
- Awesome Malware - Curated collection of awesome malware, botnets, and other post-exploitation tools.
- Awesome Shodan Queries - Awesome list of useful, funny, and depressing search queries for Shodan.
- Awesome Censys Queries - A collection of fascinating and bizarre Censys Search Queries.
- AWS Tool Arsenal - List of tools for testing and securing AWS environments.
- Blue Team - Awesome resources, tools, and other shiny things for cybersecurity blue teams.
- C/C++ Programming - One of the main language for open source security tools.
- CTFs - Capture The Flag frameworks, libraries, etc.
- Forensics - Free (mostly open source) forensic analysis tools and resources.
- Hacking - Tutorials, tools, and resources.
- Honeypots - Honeypots, tools, components, and more.
- InfoSec § Hacking challenges - Comprehensive directory of CTFs, wargames, hacking challenge websites, pentest practice lab exercises, and more.
- Infosec - Information security resources for pentesting, forensics, and more.
- JavaScript Programming - In-browser development and scripting.
- Kali Linux Tools - List of tools present in Kali Linux.
- Node.js Programming by @sindresorhus - Curated list of delightful Node.js packages and resources.
- Pentest Cheat Sheets - Awesome Pentest Cheat Sheets.
- Python Programming by @svaksha - General Python programming.
- Python Programming by @vinta - General Python programming.
- Python tools for penetration testers - Lots of pentesting tools are written in Python.
- Rawsec's CyberSecurity Inventory - An open-source inventory of tools, resources, CTF platforms and Operating Systems about CyberSecurity. (Source)
- Red Teaming - List of Awesome Red Teaming Resources.
- Ruby Programming by @Sdogruyol - The de-facto language for writing exploits.
- Ruby Programming by @dreikanter - The de-facto language for writing exploits.
- Ruby Programming by @markets - The de-facto language for writing exploits.
- SecLists - Collection of multiple types of lists used during security assessments.
- SecTools - Top 125 Network Security Tools.
- Security Talks - Curated list of security conferences.
- Security - Software, libraries, documents, and other resources.
- Serverless Security - Curated list of awesome serverless security resources such as (e)books, articles, whitepapers, blogs and research papers.
- Shell Scripting - Command line frameworks, toolkits, guides and gizmos.
- YARA - YARA rules, tools, and people.
Penetration Testing Report Templates
- Public Pentesting Reports - Curated list of public penetration test reports released by several consulting firms and academic security groups.
- T&VS Pentesting Report Template - Pentest report template provided by Test and Verification Services, Ltd.
- Web Application Security Assessment Report Template - Sample Web application security assessment reporting template provided by Lucideus.
Open Sources Intelligence (OSINT)
See also awesome-osint.
- DataSploit - OSINT visualizer utilizing Shodan, Censys, Clearbit, EmailHunter, FullContact, and Zoomeye behind the scenes.
- Depix - Tool for recovering passwords from pixelized screenshots (by de-pixelating text).
- GyoiThon - GyoiThon is an Intelligence Gathering tool using Machine Learning.
- Intrigue - Automated OSINT & Attack Surface discovery framework with powerful API, UI and CLI.
- Maltego - Proprietary software for open sources intelligence and forensics.
- PacketTotal - Simple, free, high-quality packet capture file analysis facilitating the quick detection of network-borne malware (using Zeek and Suricata IDS signatures under the hood).
- Skiptracer - OSINT scraping framework that utilizes basic Python webscraping (BeautifulSoup) of PII paywall sites to compile passive information on a target on a ramen noodle budget.
- Sn1per - Automated Pentest Recon Scanner.
- Spiderfoot - Multi-source OSINT automation tool with a Web UI and report visualizations.
- creepy - Geolocation OSINT tool.
- gOSINT - OSINT tool with multiple modules and a telegram scraper.
- image-match - Quickly search over billions of images.
- recon-ng - Full-featured Web Reconnaissance framework written in Python.
- sn0int - Semi-automatic OSINT framework and package manager.
- Keyscope - An extensible key and secret validation for auditing active secrets against multiple SaaS vendors.
- Facebook Friend List Scraper - Tool to scrape names and usernames from large friend lists on Facebook, without being rate limited.
Data Broker and Search Engine Services
- Hunter.io - Data broker providing a Web search interface for discovering the email addresses and other organizational details of a company.
- Threat Crowd - Search engine for threats.
- Virus Total - Free service that analyzes suspicious files and URLs and facilitates the quick detection of viruses, worms, trojans, and all kinds of malware.
- surfraw - Fast UNIX command line interface to a variety of popular WWW search engines.
Dorking tools
- BinGoo - GNU/Linux bash based Bing and Google Dorking Tool.
- dorkbot - Command-line tool to scan Google (or other) search results for vulnerabilities.
- github-dorks - CLI tool to scan GitHub repos/organizations for potential sensitive information leaks.
- GooDork - Command line Google dorking tool.
- Google Hacking Database - Database of Google dorks; can be used for recon.
- dork-cli - Command line Google dork tool.
- dorks - Google hack database automation tool.
- fast-recon - Perform Google dorks against a domain.
- pagodo - Automate Google Hacking Database scraping.
- snitch - Information gathering via dorks.
Email search and analysis tools
- SimplyEmail - Email recon made fast and easy.
- WhatBreach - Search email addresses and discover all known breaches that this email has been seen in, and download the breached database if it is publicly available.
Metadata harvesting and analysis
- FOCA (Fingerprinting Organizations with Collected Archives) - Automated document harvester that searches Google, Bing, and DuckDuckGo to find and extrapolate internal company organizational structures.
- metagoofil - Metadata harvester.
- theHarvester - E-mail, subdomain and people names harvester.
Network device discovery tools
- Censys - Collects data on hosts and websites through daily ZMap and ZGrab scans.
- Shodan - World's first search engine for Internet-connected devices.
- ZoomEye - Search engine for cyberspace that lets the user find specific network components.
OSINT Online Resources
- CertGraph - Crawls a domain's SSL/TLS certificates for its certificate alternative names.
- GhostProject - Searchable database of billions of cleartext passwords, partially visible for free.
- NetBootcamp OSINT Tools - Collection of OSINT links and custom Web interfaces to other services.
- OSINT Framework - Collection of various OSINT tools broken out by category.
- WiGLE.net - Information about wireless networks world-wide, with user-friendly desktop and web applications.
Source code repository searching tools
See also Web-accessible source code ripping tools.
- vcsmap - Plugin-based tool to scan public version control systems for sensitive information.
- Yar - Clone git repositories to search through the whole commit history in order of commit time for secrets, tokens, or passwords.
Web application and resource analysis tools
- BlindElephant - Web application fingerprinter.
- EyeWitness - Tool to take screenshots of websites, provide some server header info, and identify default credentials if possible.
- GraphQL Voyager - Represent any GraphQL API as an interactive graph, letting you explore data models from any Web site with a GraphQL query endpoint.
- VHostScan - Virtual host scanner that performs reverse lookups, can be used with pivot tools, detect catch-all scenarios, aliases and dynamic default pages.
- Wappalyzer - Wappalyzer uncovers the technologies used on websites.
- WhatWaf - Detect and bypass web application firewalls and protection systems.
- WhatWeb - Website fingerprinter.
- wafw00f - Identifies and fingerprints Web Application Firewall (WAF) products.
- webscreenshot - Simple script to take screenshots of websites from a list of sites.
Operating System Distributions
- Android Tamer - Distribution built for Android security professionals that includes tools required for Android security testing.
- ArchStrike - Arch GNU/Linux repository for security professionals and enthusiasts.
- AttifyOS - GNU/Linux distribution focused on tools useful during Internet of Things (IoT) security assessments.
- BlackArch - Arch GNU/Linux-based distribution for penetration testers and security researchers.
- Buscador - GNU/Linux virtual machine that is pre-configured for online investigators.
- Kali - Rolling Debian-based GNU/Linux distribution designed for penetration testing and digital forensics.
- Network Security Toolkit (NST) - Fedora-based GNU/Linux bootable live Operating System designed to provide easy access to best-of-breed open source network security applications.
- Parrot - Distribution similar to Kali, with support for multiple hardware architectures.
- PentestBox - Open source pre-configured portable penetration testing environment for the Windows Operating System.
- The Pentesters Framework - Distro organized around the Penetration Testing Execution Standard (PTES), providing a curated collection of utilities that omits less frequently used utilities.
Periodicals
- 2600: The Hacker Quarterly - American publication about technology and computer "underground" culture.
- Phrack Magazine - By far the longest running hacker zine.
Physical Access Tools
- AT Commands - Use AT commands over an Android device's USB port to rewrite device firmware, bypass security mechanisms, exfiltrate sensitive information, perform screen unlocks, and inject touch events.
- Bash Bunny - Local exploit delivery tool in the form of a USB thumbdrive in which you write payloads in a DSL called BunnyScript.
- LAN Turtle - Covert "USB Ethernet Adapter" that provides remote access, network intelligence gathering, and MITM capabilities when installed in a local network.
- PCILeech - Uses PCIe hardware devices to read and write from the target system memory via Direct Memory Access (DMA) over PCIe.
- Packet Squirrel - Ethernet multi-tool designed to enable covert remote access, painless packet captures, and secure VPN connections with the flip of a switch.
- Poisontap - Siphons cookies, exposes internal (LAN-side) router and installs web backdoor on locked computers.
- Proxmark3 - RFID/NFC cloning, replay, and spoofing toolkit often used for analyzing and attacking proximity cards/readers, wireless keys/keyfobs, and more.
- Thunderclap - Open source I/O security research platform for auditing physical DMA-enabled hardware peripheral ports.
- USB Rubber Ducky - Customizable keystroke injection attack platform masquerading as a USB thumbdrive.
Privilege Escalation Tools
- Active Directory and Privilege Escalation (ADAPE) - Umbrella script that automates numerous useful PowerShell modules to discover security misconfigurations and attempt privilege escalation against Active Directory.
- GTFOBins - Curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems.
- LOLBAS (Living Off The Land Binaries and Scripts) - Documents binaries, scripts, and libraries that can be used for "Living Off The Land" techniques, i.e., binaries that can be used by an attacker to perform actions beyond their original purpose.
- LinEnum - Scripted local Linux enumeration and privilege escalation checker useful for auditing a host and during CTF gaming.
- Postenum - Shell script used for enumerating possible privilege escalation opportunities on a local GNU/Linux system.
- unix-privesc-check - Shell script to check for simple privilege escalation vectors on UNIX systems.
Password Spraying Tools
- DomainPasswordSpray - Tool written in PowerShell to perform a password spray attack against users of a domain.
- SprayingToolkit - Scripts to make password spraying attacks against Lync/S4B, Outlook Web Access (OWA) and Office 365 (O365) a lot quicker, less painful and more efficient.
Reverse Engineering
See also awesome-reversing, Exploit Development Tools.
Reverse Engineering Books
- Gray Hat Hacking The Ethical Hacker's Handbook by Daniel Regalado et al., 2015
- Hacking the Xbox by Andrew Huang, 2003
- Practical Reverse Engineering by Bruce Dang et al., 2014
- Reverse Engineering for Beginners by Dennis Yurichev
- The IDA Pro Book by Chris Eagle, 2011
Reverse Engineering Tools
- angr - Platform-agnostic binary analysis framework.
- Capstone - Lightweight multi-platform, multi-architecture disassembly framework.
- Detect It Easy(DiE) - Program for determining types of files for Windows, Linux and MacOS.
- Evan's Debugger - OllyDbg-like debugger for GNU/Linux.
- Frida - Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
- Fridax - Read variables and intercept/hook functions in Xamarin/Mono JIT and AOT compiled iOS/Android applications.
- Ghidra - Suite of free software reverse engineering tools developed by NSA's Research Directorate originally exposed in WikiLeaks's "Vault 7" publication and now maintained as open source software.
- Immunity Debugger - Powerful way to write exploits and analyze malware.
- Interactive Disassembler (IDA Pro) - Proprietary multi-processor disassembler and debugger for Windows, GNU/Linux, or macOS; also has a free version, IDA Free.
- Medusa - Open source, cross-platform interactive disassembler.
- OllyDbg - x86 debugger for Windows binaries that emphasizes binary code analysis.
- PyREBox - Python scriptable Reverse Engineering sandbox by Cisco-Talos.
- Radare2 - Open source, crossplatform reverse engineering framework.
- UEFITool - UEFI firmware image viewer and editor.
- Voltron - Extensible debugger UI toolkit written in Python.
- WDK/WinDbg - Windows Driver Kit and WinDbg.
- binwalk - Fast, easy to use tool for analyzing, reverse engineering, and extracting firmware images.
- boxxy - Linkable sandbox explorer.
- dnSpy - Tool to reverse engineer .NET assemblies.
- plasma - Interactive disassembler for x86/ARM/MIPS. Generates indented pseudo-code with colored syntax code.
- pwndbg - GDB plug-in that eases debugging with GDB, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers, and exploit developers.
- rVMI - Debugger on steroids; inspect userspace processes, kernel drivers, and preboot environments in a single tool.
- x64dbg - Open source x64/x32 debugger for windows.
Security Education Courses
- ARIZONA CYBER WARFARE RANGE - 24x7 live fire exercises for beginners through real world operations; capability for upward progression into the real world of cyber warfare.
- Cybrary - Free courses in ethical hacking and advanced penetration testing. Advanced penetration testing courses are based on the book 'Penetration Testing for Highly Secured Environments'.
- European Union Agency for Network and Information Security - ENISA Cyber Security Training material.
- Offensive Security Training - Training from BackTrack/Kali developers.
- Open Security Training - Training material for computer security classes.
- Roppers Academy Training - Free courses on computing and security fundamentals designed to train a beginner to crush their first CTF.
- SANS Security Training - Computer Security Training & Certification.
Shellcoding Guides and Tutorials
- Exploit Writing Tutorials - Tutorials on how to develop exploits.
- Shellcode Examples - Shellcodes database.
- Shellcode Tutorial - Tutorial on how to write shellcode.
- The Shellcoder's Handbook by Chris Anley et al., 2007
Side-channel Tools
- ChipWhisperer - Complete open-source toolchain for side-channel power analysis and glitching attacks.
- SGX-Step - Open-source framework to facilitate side-channel attack research on Intel x86 processors in general and Intel SGX (Software Guard Extensions) platforms in particular.
- TRRespass - Many-sided rowhammer tool suite able to reverse engineer the contents of DDR3 and DDR4 memory chips protected by Target Row Refresh mitigations.
Social Engineering
See also awesome-social-engineering.
Social Engineering Books
- Ghost in the Wires by Kevin D. Mitnick & William L. Simon, 2011
- No Tech Hacking by Johnny Long & Jack Wiles, 2008
- Social Engineering in IT Security: Tools, Tactics, and Techniques by Sharon Conheady, 2014
- The Art of Deception by Kevin D. Mitnick & William L. Simon, 2002
- The Art of Intrusion by Kevin D. Mitnick & William L. Simon, 2005
- Unmasking the Social Engineer: The Human Element of Security by Christopher Hadnagy, 2014
Social Engineering Online Resources
- Social Engineering Framework - Information resource for social engineers.
Social Engineering Tools
- Beelogger - Tool for generating keylooger.
- Catphish - Tool for phishing and corporate espionage written in Ruby.
- Evilginx2 - Standalone Machine-in-the-Middle (MitM) reverse proxy attack framework for setting up phishing pages capable of defeating most forms of 2FA security schemes.
- FiercePhish - Full-fledged phishing framework to manage all phishing engagements.
- Gophish - Open-source phishing framework.
- King Phisher - Phishing campaign toolkit used for creating and managing multiple simultaneous phishing attacks with custom email and server content.
- Modlishka - Flexible and powerful reverse proxy with real-time two-factor authentication.
- ReelPhish - Real-time two-factor phishing tool.
- Social Engineer Toolkit (SET) - Open source pentesting framework designed for social engineering featuring a number of custom attack vectors to make believable attacks quickly.
- SocialFish - Social media phishing framework that can run on an Android phone or in a Docker container.
- phishery - TLS/SSL enabled Basic Auth credential harvester.
- wifiphisher - Automated phishing attacks against WiFi networks.
Static Analyzers
- Brakeman - Static analysis security vulnerability scanner for Ruby on Rails applications.
- FindBugs - Free software static analyzer to look for bugs in Java code.
- Progpilot - Static security analysis tool for PHP code.
- RegEx-DoS - Analyzes source code for Regular Expressions susceptible to Denial of Service attacks.
- bandit - Security oriented static analyser for Python code.
- cppcheck - Extensible C/C++ static analyzer focused on finding bugs.
- sobelow - Security-focused static analysis for the Phoenix Framework.
- cwe_checker - Suite of tools built atop the Binary Analysis Platform (BAP) to heuristically detect CWEs in compiled binaries and firmware.
Steganography Tools
- Cloakify - Textual steganography toolkit that converts any filetype into lists of everyday strings.
- StegOnline - Web-based, enhanced, and open-source port of StegSolve.
- StegCracker - Steganography brute-force utility to uncover hidden data inside files.
Vulnerability Databases
- Bugtraq (BID) - Software security bug identification database compiled from submissions to the SecurityFocus mailing list and other sources, operated by Symantec, Inc.
- CISA Known Vulnerabilities Database (KEV) - Vulnerabilities in various systems already known to America's cyber defense agency, the Cybersecurity and Infrastructure Security Agency, to be actively exploited.
- CXSecurity - Archive of published CVE and Bugtraq software vulnerabilities cross-referenced with a Google dork database for discovering the listed vulnerability.
- China National Vulnerability Database (CNNVD) - Chinese government-run vulnerability database analoguous to the United States's CVE database hosted by Mitre Corporation.
- Common Vulnerabilities and Exposures (CVE) - Dictionary of common names (i.e., CVE Identifiers) for publicly known security vulnerabilities.
- Exploit-DB - Non-profit project hosting exploits for software vulnerabilities, provided as a public service by Offensive Security.
- Full-Disclosure - Public, vendor-neutral forum for detailed discussion of vulnerabilities, often publishes details before many other sources.
- GitHub Advisories - Public vulnerability advisories published by or affecting codebases hosted by GitHub, including open source projects.
- HPI-VDB - Aggregator of cross-referenced software vulnerabilities offering free-of-charge API access, provided by the Hasso-Plattner Institute, Potsdam.
- Inj3ct0r - Exploit marketplace and vulnerability information aggregator. (Onion service.)
- Microsoft Security Advisories and Bulletins - Archive and announcements of security advisories impacting Microsoft software, published by the Microsoft Security Response Center (MSRC).
- Mozilla Foundation Security Advisories - Archive of security advisories impacting Mozilla software, including the Firefox Web Browser.
- National Vulnerability Database (NVD) - United States government's National Vulnerability Database provides additional meta-data (CPE, CVSS scoring) of the standard CVE List along with a fine-grained search engine.
- Open Source Vulnerabilities (OSV) - Database of vulnerabilities affecting open source software, queryable by project, Git commit, or version.
- Packet Storm - Compendium of exploits, advisories, tools, and other security-related resources aggregated from across the industry.
- SecuriTeam - Independent source of software vulnerability information.
- Snyk Vulnerability DB - Detailed information and remediation guidance for vulnerabilities known by Snyk.
- US-CERT Vulnerability Notes Database - Summaries, technical details, remediation information, and lists of vendors affected by software vulnerabilities, aggregated by the United States Computer Emergency Response Team (US-CERT).
- VulDB - Independent vulnerability database with user community, exploit details, and additional meta data (e.g. CPE, CVSS, CWE)
- Vulnerability Lab - Open forum for security advisories organized by category of exploit target.
- Vulners - Security database of software vulnerabilities.
- Vulmon - Vulnerability search engine with vulnerability intelligence features that conducts full text searches in its database.
- Zero Day Initiative - Bug bounty program with publicly accessible archive of published security advisories, operated by TippingPoint.
Web Exploitation
- FuzzDB - Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
- Offensive Web Testing Framework (OWTF) - Python-based framework for pentesting Web applications based on the OWASP Testing Guide.
- Raccoon - High performance offensive security tool for reconnaissance and vulnerability scanning.
- WPSploit - Exploit WordPress-powered websites with Metasploit.
- autochrome - Chrome browser profile preconfigured with appropriate settings needed for web application testing.
- authoscope - Scriptable network authentication cracker.
- gobuster - Lean multipurpose brute force search/fuzzing tool for Web (and DNS) reconnaissance.
- sslstrip2 - SSLStrip version to defeat HSTS.
- sslstrip - Demonstration of the HTTPS stripping attacks.
Intercepting Web proxies
See also Proxies and Machine-in-the-Middle (MITM) Tools.
- Burp Suite - Integrated platform for performing security testing of web applications.
- Fiddler - Free cross-platform web debugging proxy with user-friendly companion tools.
- OWASP Zed Attack Proxy (ZAP) - Feature-rich, scriptable HTTP intercepting proxy and fuzzer for penetration testing web applications.
- mitmproxy - Interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Web file inclusion tools
- Kadimus - LFI scan and exploit tool.
- LFISuite - Automatic LFI scanner and exploiter.
- fimap - Find, prepare, audit, exploit and even Google automatically for LFI/RFI bugs.
- liffy - LFI exploitation tool.
Web injection tools
- Commix - Automated all-in-one operating system command injection and exploitation tool.
- NoSQLmap - Automatic NoSQL injection and database takeover tool.
- SQLmap - Automatic SQL injection and database takeover tool.
- tplmap - Automatic server-side template injection and Web server takeover tool.
Web path discovery and bruteforcing tools
- DotDotPwn - Directory traversal fuzzer.
- dirsearch - Web path scanner.
- recursebuster - Content discovery tool to perform directory and file bruteforcing.
Web shells and C2 frameworks
- Browser Exploitation Framework (BeEF) - Command and control server for delivering exploits to commandeered Web browsers.
- DAws - Advanced Web shell.
- Merlin - Cross-platform post-exploitation HTTP/2 Command and Control server and agent written in Golang.
- PhpSploit - Full-featured C2 framework which silently persists on webserver via evil PHP oneliner.
- SharPyShell - Tiny and obfuscated ASP.NET webshell for C# web applications.
- weevely3 - Weaponized PHP-based web shell.
Web-accessible source code ripping tools
- DVCS Ripper - Rip web accessible (distributed) version control systems: SVN/GIT/HG/BZR.
- GitTools - Automatically find and download Web-accessible
.git
repositories. - git-dumper - Tool to dump a git repository from a website.
- git-scanner - Tool for bug hunting or pentesting websites that have open
.git
repositories available in public.
Web Exploitation Books
- The Browser Hacker's Handbook by Wade Alcorn et al., 2014
- The Web Application Hacker's Handbook by D. Stuttard, M. Pinto, 2011
Windows Utilities
- Bloodhound - Graphical Active Directory trust relationship explorer.
- Commando VM - Automated installation of over 140 Windows software packages for penetration testing and red teaming.
- Covenant - ASP.NET Core application that serves as a collaborative command and control platform for red teamers.
- ctftool - Interactive Collaborative Translation Framework (CTF) exploration tool capable of launching cross-session edit session attacks.
- DeathStar - Python script that uses Empire's RESTful API to automate gaining Domain Admin rights in Active Directory environments.
- Empire - Pure PowerShell post-exploitation agent.
- Fibratus - Tool for exploration and tracing of the Windows kernel.
- Inveigh - Windows PowerShell ADIDNS/LLMNR/mDNS/NBNS spoofer/machine-in-the-middle tool.
- LaZagne - Credentials recovery project.
- MailSniper - Modular tool for searching through email in a Microsoft Exchange environment, gathering the Global Address List from Outlook Web Access (OWA) and Exchange Web Services (EWS), and more.
- PowerSploit - PowerShell Post-Exploitation Framework.
- RID_ENUM - Python script that can enumerate all users from a Windows Domain Controller and crack those user's passwords using brute-force.
- Responder - Link-Local Multicast Name Resolution (LLMNR), NBT-NS, and mDNS poisoner.
- Rubeus - Toolset for raw Kerberos interaction and abuses.
- Ruler - Abuses client-side Outlook features to gain a remote shell on a Microsoft Exchange server.
- SCOMDecrypt - Retrieve and decrypt RunAs credentials stored within Microsoft System Center Operations Manager (SCOM) databases.
- Sysinternals Suite - The Sysinternals Troubleshooting Utilities.
- Windows Credentials Editor - Inspect logon sessions and add, change, list, and delete associated credentials, including Kerberos tickets.
- Windows Exploit Suggester - Detects potential missing patches on the target.
- mimikatz - Credentials extraction tool for Windows operating system.
- redsnarf - Post-exploitation tool for retrieving password hashes and credentials from Windows workstations, servers, and domain controllers.
- wePWNise - Generates architecture independent VBA code to be used in Office documents or templates and automates bypassing application control and exploit mitigation software.
- WinPwn - Internal penetration test script to perform local and domain reconnaissance, privilege escalation and exploitation.
Windows PE Custom
SysAdmin
Automation
Build automation.
- Apache Ant - Automation build tool, similar to make, a library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. (Source Code)
Apache-2.0
Java
- Apache Maven - Build automation tool mainly for Java. A software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. (Source Code)
Apache-2.0
Java
- Bazel - A fast, scalable, multi-language and extensible build system. Used by Google. (Source Code)
Apache-2.0
Java
- Bolt - You can use Bolt to run one-off tasks, scripts to automate the provisioning and management of some nodes, you can use Bolt to move a step beyond scripts, and make them shareable. (Source Code)
Apache-2.0
Ruby
- GNU Make - The most popular automation build tool for many purposes, make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. (Source Code)
GPL-3.0
C
- Gradle - Another build automation system. (Source Code)
Apache-2.0
Groovy/Java
- Rake - Build automation tool similar to Make, written in and extensible in Ruby. (Source Code)
MIT
Ruby
Backups
Backup software.
See also: Restic's list of Linux backup software
- Amanda - Backup and archive many computers on a network to disk, tape changer/drive or cloud storage. (Source Code)
MIT
C
- Backupninja - Lightweight, extensible meta-backup system, provides a centralized way to configure and coordinate many different backup utilities.
GPL-2.0
Shell
- BackupPC - High-performance, enterprise-grade system for backing up to a server's disk.. (Source Code)
GPL-3.0
Perl
- Bareos - Cross-network backup solution which preserves, archives, and recovers data from all major operating systems. (Source Code)
AGPL-3.0
C++/C
- Barman - Backup and Recovery Manager for PostgreSQL. (Source Code)
GPL-3.0
Python
- BorgBackup - Deduplicating archiver with compression and authenticated encryption. (Source Code)
BSD-3-Clause
Python
- Burp - Network backup and restore program. (Source Code)
AGPL-3.0
C
- Dar - Which stands for Disk ARchive, is a robust and rich featured archiving and backup software of the tar style. (Source Code)
GPL-2.0
C++
- Duplicati - Backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers. (Source Code)
LGPL-2.1
C#
- Duplicity - Encrypted bandwidth-efficient backup using the rsync algorithm. (Source Code)
GPL-2.0
Python
- Proxmox Backup Server - Proxmox Backup Server is an enterprise-class, client-server backup solution thatis capable of backing up virtual machines, containers, and physical hosts. (Source Code)
GPL-3.0
Rust
- rclone - Command-line program to sync files and directories to and from different cloud storage providers.. (Source Code)
MIT
Go
- Rdiff-backup - Reverse differential backup tool, over a network or locally. (Source Code)
GPL-2.0
Python
- Restic - Easy, fast, verifiable, secure and efficient remote backup tool. (Source Code)
BSD-2-Clause
Go
- Rsnapshot - Filesystem snapshot utility based on rsync. (Source Code)
GPL-2.0
Perl
- Shield - A pluggable architecture for backup and restore of database systems.
MIT
Go
- UrBackup - Client/Server Open Source Network Backup for Windows, MacOS and Linux. (Source Code)
AGPL-3.0
C/C++
Build and software organization tools
Build and software organization tools.
- EasyBuild - EasyBuild builds software and modulefiles for High Performance Computing (HPC) systems in an efficient way. (Source Code)
GPL-2.0
Python
- Environment Modules - Environment Modules provides for the dynamic modification of a user's environment via modulefiles. (Source Code)
GPL-2.0
Tcl
- Lmod - Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem. (Source Code)
MIT
Lua
- Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. (Source Code)
MIT/Apache-2.0
Python
ChatOps
Conversation-driven development and management.
_See also: /r/chatops*
- Eggdrop - The oldest Internet Relay Chat (IRC) bot still in active development. (Source Code)
GPL-2.0
C
- Errbot - Plugin based chatbot designed to be easily deployable, extensible and maintainable. (Source Code)
GPL-3.0
Python
- Hubot - A customizable, life embetterment robot. (Source Code)
MIT
Nodejs
Cloud Computing
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user.
Please visit Cloud Native Software Landscape
Code Review
Code review is a software quality assurance activity in which one or several people check a program mainly by viewing and reading parts of its source code.
Please visit awesome-selfhosted/Software Development - Project Management
Configuration Management
Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life.
- Ansible - Provisioning, configuration management, and application-deployment tool. (Source Code)
GPL-3.0
Python
- CFEngine - Configuration management system for automated configuration and maintenance of large-scale computer systems. (Source Code)
GPL-3.0
C
- Chef - Configuration management tool using a pure-Ruby, domain-specific language (DSL) for writing system configuration "recipes". (Source Code)
Apache-2.0
Ruby
- Puppet - Software configuration management tool which includes its own declarative language to describe system configuration. (Source Code)
Apache-2.0
Ruby/C
- Rudder - Scalable and dynamic configuration management system for patching, security & compliance, based on CFEngine. (Source Code)
GPL-3.0
Scala
- Salt - Event-driven IT automation, remote task execution, and configuration management software. (Source Code)
Apache-2.0
Python
Configuration Management Database
Configuration management database (CMDB) software.
Related: IT Asset Management
- Collins - At Tumblr, it's the infrastructure source of truth and knowledge. (Source Code)
Apache-2.0
Docker/Scala
- i-doit - IT Documentation and CMDB.
AGPL-3.0
PHP
- iTop - Complete ITIL web based service management tool. (Source Code)
AGPL-3.0
PHP
- netbox - IP address management (IPAM) and data center infrastructure management (DCIM) tool. (Demo, Source Code)
Apache-2.0
Python
Continuous Integration & Continuous Deployment
Continuous integration/deployment software.
- Buildbot - Python-based toolkit for continuous integration. (Source Code)
GPL-2.0
Python
- CDS - Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform. (Source Code)
BSD-3-Clause
Go
- Concourse - Concourse is a CI tool that treats pipelines as first class objects and containerizes every step along the way. (Demo, Source Code)
Apache-2.0
Go
- drone - Drone is a Continuous Delivery platform built on Docker, written in Go. (Source Code)
Apache-2.0
Go
- Factor - Programmatically define and run workflows to connect configuration management, source code management, build, continuous integration, continuous deployment and communication tools. (Source Code)
MIT
Ruby
- GitLab CI - Gitlab's built-in, full-featured CI/CD solution. (Source Code)
MIT
Ruby
- GoCD - Continuous delivery server. (Source Code)
Apache-2.0
Java/Ruby
- Jenkins - Continuous Integration Server. (Source Code)
MIT
Java
- Laminar - Fast, lightweight, simple and flexible Continuous Integration. (Source Code)
GPL-3.0
C++
- PHP Censor - Open source self-hosted continuous integration server for PHP projects.
BSD-2-Clause
PHP
- PHPCI - Free and open source continuous integration specifically designed for PHP. (Source Code)
BSD-2-Clause
PHP
- Strider - Open Source Continuous Deployment / Continuous Integration platform. (Source Code)
MIT
Nodejs
- werf - Open Source CI/CD tool for building Docker images and deploying to Kubernetes via GitOps. (Source Code)
Apache-2.0
Go
- Woodpecker - Community fork of Drone that uses Docker containers. (Source Code)
Apache-2.0
Go
Control Panels
Web hosting and server or service control panels.
- Ajenti - Control panel for Linux and BSD. (Source Code)
MIT
Python/Shell
- Cockpit - Web-based graphical interface for servers. (Source Code)
LGPL-2.1
C
- Froxlor - Lightweight server management software with Nginx and PHP-FPM support. (Source Code)
GPL-2.0
PHP
- HestiaCP - Web server control panel (fork of VestaCP). (Demo, Source Code)
GPL-3.0
PHP/Shell/Other
- ISPConfig - Manage Linux servers directly through your browser. (Source Code)
BSD-3-Clause
PHP
- Sentora - Open-Source Web hosting control panel for Linux, BSD (fork of ZPanel). (Source Code)
GPL-3.0
PHP
- Virtualmin - Powerful and flexible web hosting control panel for Linux and BSD systems. (Source Code)
GPL-3.0
Shell/Perl/Other
- Webmin - Web-based interface for system administration for Unix. (Source Code)
BSD-3-Clause
Perl
Databases
Database servers.
Please visit dbdb.io - Database of Databases
See also: awesome-selfhosted/Database Management
Deployment Automation
Tools and scripts to support deployments to your servers.
- Capistrano - Deploy your application to any number of machines simultaneously, in sequence or as a rolling set via SSH (rake based). (Source Code)
MIT
Ruby
- CloudSlang - Flow-based orchestration tool for managing deployed applications, with Docker capabilities. (Source Code)
Apache-2.0
Java
- CloudStack - Cloud computing software for creating, managing, and deploying infrastructure cloud services. (Source Code)
Apache-2.0
Java/Python
- Cobbler - Cobbler is a Linux installation server that allows for rapid setup of network installation environments. (Source Code)
GPL-2.0
Python
- Fabric - Python library and cli tool for streamlining the use of SSH for application deployment or systems administration tasks. (Source Code)
BSD-2-Clause
Python
- Genesis - A template framework for multi-environment BOSH deployments.
MIT
Perl
- munki - Webserver-based repository of packages and package metadata, that allows macOS administrators to manage software installs. (Source Code)
Apache-2.0
Python
- Overcast - Deploy VMs across different cloud providers, and run commands and scripts across any or all of them in parallel via SSH. (Source Code)
MIT
Nodejs
Diagramming
Tools used to create diagrams of networks, flows, etc.
- Diagrams.net - A.K.A. Draw.io. Easy to use Diagram UI with a plethora of templates. (Source Code)
Apache-2.0
JavaScript/Docker
- Kroki - API for generating diagrams from textual descriptions. (Source Code)
MIT
Java
- Mermaid - Javascript module with a unique, easy, shorthand syntax. Integrates into several other tools like Grafana. (Source Code)
MIT
Nodejs/Docker
Distributed Filesystems
Network distributed filesystems.
See also: awesome-selfhosted/File Transfer - Object Storage & File Servers
- Ceph - Distributed object, block, and file storage platform. (Source Code)
LGPL-3.0
C++
- DRBD - Distributed replicated storage system, implemented as a Linux kernel driver. (Source Code)
GPL-2.0
C
- GlusterFS - Software-defined distributed storage that can scale to several petabytes, with interfaces for object, block and file storage. (Source Code)
GPL-2.0/LGPL-3.0
C
- Hadoop Distributed Filesystem (HDFS) - Distributed file system that provides high-throughput access to application data. (Source Code)
Apache-2.0
Java
- JuiceFS - Distributed POSIX file system built on top of Redis and S3. (Source Code)
Apache-2.0
Go
- Kubo - Implementation of IPFS, a global, versioned, peer-to-peer filesystem that seeks to connect all computing devices with the same system of files.
Apache-2.0/MIT
Go
- LeoFS - Highly available, distributed, replicated eventually consistent object/blob store. (Source Code)
Apache-2.0
Erlang
- Lustre - Parallel distributed file system, generally used for large-scale cluster computing. (Source Code)
GPL-2.0
C
- Minio - High-performance, S3 compatible object store built for large scale AI/ML, data lake and database workloads. (Source Code)
AGPL-3.0
Go
- MooseFS - Fault tolerant, network distributed file system. (Source Code)
GPL-2.0
C
- OpenAFS - Distributed network file system with read-only replicas and multi-OS support. (Source Code)
IPL-1.0
C
- Openstack Swift - A highly available, distributed, eventually consistent object/blob store. (Source Code)
Apache-2.0
Python
- Perkeep - A set of open source formats, protocols, and software for modeling, storing, searching, sharing and synchronizing data (previously Camlistore). (Source Code)
Apache-2.0
C
- TahoeLAFS - Secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system. (Source Code)
GPL-2.0
Python
- XtreemFS - Distributed, replicated and fault-tolerant file system for federated IT infrastructures.. (Source Code)
BSD-3-Clause
Java
DNS - Control Panels & Domain Management
DNS server control panels, web interfaces and domain management tools.
Related: DNS - Servers
See also: awesome-selfhosted/DNS
- Atomia DNS - DNS management system.
ISC
Perl
- Designate - DNSaaS services for OpenStack. (Source Code)
Apache-2.0
Python
- DNSControl - Synchronize your DNS to multiple providers from a simple DSL. (Source Code)
MIT
Go/Docker
- DomainMOD - Manage your domains and other internet assets in a central location. (Source Code)
GPL-3.0
PHP
- nsupdate.info - Dynamic DNS service. (Demo, Source Code)
BSD-3-Clause
Python
- octoDNS - DNS as code - Tools for managing DNS across multiple providers.
MIT
Python
- Poweradmin - Web-based DNS control panel for PowerDNS server. (Source Code)
GPL-3.0
PHP
- SPF Toolbox - Application to look up DNS records such as SPF, MX, Whois, and more. (Source Code)
MIT
PHP
DNS - Servers
DNS servers.
Related: DNS - Control Panels & Domain Management
See also: awesome-selfhosted/DNS
- Bind - Versatile, classic, complete name server software. (Source Code)
MPL-2.0
C
- CoreDNS - Flexible DNS server. (Source Code)
Apache-2.0
Go
- djbdns - A collection of DNS applications, including tinydns. (Source Code)
CC0-1.0
C
- dnsmasq - Provides network infrastructure for small networks: DNS, DHCP, router advertisement and network boot. (Source Code)
GPL-2.0
C
- Knot - High performance authoritative-only DNS server. (Source Code)
GPL-3.0
C
- NSD - Authoritative DNS name server developed speed, reliability, stability and security. (Source Code)
BSD-3-Clause
C
- PowerDNS Authoritative Server - Versatile nameserver which supports a large number of backends. (Source Code)
GPL-2.0
C++
- Unbound - Validating, recursive, and caching DNS resolver. (Source Code)
BSD-3-Clause
C
- Yadifa - Clean, small, light and RFC-compliant name server implementation developed from scratch by .eu. (Source Code)
BSD-3-Clause
C
Editors
Open-source code editors.
- Atom Community - A fork of atom A hackable text editor from Github.
MIT
JavaScript
- Brackets - Code editor for web designers and front-end developers. (Source Code)
MIT
JavaScript
- Eclipse - IDE written in Java with an extensible plug-in system. (Source Code)
EPL-1.0
Java
- Geany - GTK2 text editor. (Source Code)
GPL-2.0
C/C++
- GNU Emacs - An extensible, customizable text editor-and more. (Source Code)
GPL-3.0
C
- Haroopad - Markdown editor with live preview. (Source Code)
GPL-3.0
JavaScript
- ICEcoder - Code editor awesomeness, built with common web languages. (Demo, Source Code)
MIT
PHP
- jotgit - Git-backed real-time collaborative code editing.
MIT
Nodejs
- KDevelop - IDE by the people behind KDE. (Source Code)
GFDL-1.2
C++
- Micro - A modern and intuitive terminal-based text editor. (Source Code)
MIT
Go
- Nano - Easy to use, customizable text editor. (Source Code)
GPL-3.0
C
- Notepad++ - GPLv2 multi-language editor with syntax highlighting for Windows. (Source Code)
GPL-2.0
C++
- TextMate - A graphical text editor for OS X. (Source Code)
GPL-3.0
C++
- Vim - A highly configurable text editor built to enable efficient editing. (Source Code)
Vim
C
- VSCodium - An open source cross-platform extensible code editor based on VS Code by Microsoft removing their non-free additions. (Source Code)
MIT
TypeScript
Identity Management
Identity management (IdM), also known as identity and access management (IAM or IdAM), is a framework of policies and technologies to ensure that the right users (that are part of the ecosystem connected to or within an enterprise) have the appropriate access to technology resources.
Please visit Identity Management - LDAP, Identity Management - Tools and web interfaces, Identity Management - Single Sign-On SSO
Identity Management - LDAP
Lightweight Directory Access Protocol (LDAP) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network.
- 389 Directory Server - Enterprise-class Open Source LDAP server for Linux. (Source Code)
GPL-3.0
C
- Apache Directory Server - Extensible and embeddable directory server, certified LDAPv3 compatible, with Kerberos 5 and Change Password Protocol support, triggers, stored procedures, queues and views. (Source Code)
Apache-2.0
Java
- FreeIPA - Integrated security information management solution combining Linux (Fedora), 389 Directory Server, Kerberos, NTP, DNS, and Dogtag Certificate System (web interface and command-line administration tools). (Source Code)
GPL-3.0
Python/C/JavaScript
- FreeRADIUS - Multi-protocol policy server (radiusd) that implements RADIUS, DHCP, BFD, and ARP and associated client/PAM library/Apache module. (Source Code)
GPL-2.0
C
- lldap - Light (simplified) LDAP implementation with a simple, intuitive web interface and GraphQL support.
GPL-3.0
Rust
- OpenLDAP - Open-source implementation of the Lightweight Directory Access Protocol (server, libraries and clients). (Source Code)
OLDAP-2.8
C
Identity Management - Single Sign-On (SSO)
Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems.
- Authelia - The Single Sign-On Multi-Factor portal for web apps. (Source Code)
Apache-2.0
Go
- Authentik - Flexible identity provider with support for different protocols. (OAuth 2.0, SAML, LDAP and Radius). (Source Code)
MIT
Python
- KeyCloak - Open Source Identity and Access Management. (Source Code)
Apache-2.0
Java
Identity Management - Tools and web interfaces
Miscellaneous utilities and web interfaces for identity management systems.
- BounCA - A personal SSL Key / Certificate Authority web-based tool for creating self-signed certificates. (Source Code)
Apache-2.0
Python
- easy-rsa - Bash script to build and manage a PKI CA.
GPL-2.0
Shell
- Fusion Directory - Improve the Management of the services and the company directory based on OpenLDAP. (Source Code)
GPL-2.0
PHP
- LDAP Account Manager (LAM) - Web frontend for managing entries (e.g. users, groups, DHCP settings) stored in an LDAP directory. (Source Code)
GPL-3.0
PHP
- Libravatar - Libravatar is a service which delivers your avatar (profile picture) to other websites. (Source Code)
AGPL-3.0
Python
- Pomerium - An identity and context aware access-proxy inspired by BeyondCorp. (Source Code)
Apache-2.0
Docker/Go
- Samba - Active Directory and CIFS protocol implementation. (Source Code)
GPL-3.0
C
- Smallstep Certificates - A private certificate authority (X.509 & SSH) and related tools for secure automated certificate management. (Source Code)
Apache-2.0
Go
- ZITADEL - Cloud-native Identity & Access Management solution providing a platform for secure authentication, authorization and identity management. (Source Code)
Apache-2.0
Go/Docker/K8S
IT Asset Management
IT asset management software.
- GLPI - Information Resource-Manager with an additional Administration Interface. (Source Code)
GPL-3.0
PHP
- OCS Inventory NG - Asset management and deployment solution for all devices in your IT Department. (Source Code)
GPL-2.0
PHP/Perl
- OPSI - Hardware and software inventory, client management, deployment, and patching for Linux and Windows. (Source Code)
GPL-3.0/AGPL-3.0
OVF/Python
- RackTables - Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration. (Demo, Source Code)
GPL-2.0
PHP
- Ralph - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks. (Demo, Source Code)
Apache-2.0
Python/Docker
- Snipe IT - Asset & license management software. (Source Code)
AGPL-3.0
PHP
Log Management
Log management tools: collect, parse, visualize...
- Fluentd - Data collector for unified logging layer. (Source Code)
Apache-2.0
Ruby
- Flume - Distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. (Source Code)
Apache-2.0
Java
- GoAccess - Real-time web log analyzer and interactive viewer that runs in a terminal or through the browser. (Source Code)
MIT
C
- Loki - Log aggregation system designed to store and query logs from all your applications and infrastructure. (Source Code)
AGPL-3.0
Go
- rsyslog - Rocket-fast system for log processing. (Source Code)
GPL-3.0
C
Mail Clients
An email client, email reader or, more formally, message user agent (MUA) or mail user agent is a computer program used to access and manage a user's email.
- aerc - Terminal MUA with a focus on plaintext and features for developers. (Source Code)
MIT
Go
- Claws Mail - Old school email client (and news reader), based on GTK+. (Source Code)
GPL-3.0
C
- ImapSync - Simple IMAP migration tool for copying mailboxes to other servers. (Source Code)
NLPL
Perl
- Mutt - Small but very powerful text-based mail client. (Source Code)
GPL-2.0
C
- Sylpheed - Still developed predecessor to Claws Mail, lightweight mail client. (Source Code)
GPL-2.0
C
- Thunderbird - Free email application that's easy to set up and customize. (Source Code)
MPL-2.0
C/C++
Metrics & Metric Collection
Metric gathering and display software.
Related: Databases, Monitoring
- Beats - Single-purpose data shippers that send data from hundreds or thousands of machines and systems to Logstash or Elasticsearch. (Source Code)
Apache-2.0
Go
- Collectd - System statistics collection daemon. (Source Code)
MIT
C
- Diamond - Daemon that collects system metrics and publishes them to Graphite (and others).
MIT
Python
- Grafana - A Graphite & InfluxDB Dashboard and Graph Editor. (Source Code)
AGPL-3.0
Go
- Graphite - Scalable graphing server. (Source Code)
Apache-2.0
Python
- RRDtool - Industry standard, high performance data logging and graphing system for time series data. (Source Code)
GPL-2.0
C
- Statsd - Daemon that listens for statistics like counters and timers, sent over UDP or TCP, and sends aggregates to one or more pluggable backend services.
MIT
Nodejs
- tcollector - Gathers data from local collectors and pushes the data to OpenTSDB. (Source Code)
LGPL-3.0/GPL-3.0
Python
- Telegraf - Plugin-driven server agent for collecting, processing, aggregating, and writing metrics.
MIT
Go
Miscellaneous
Software that does not fit in another section.
- Chocolatey - The package manager for Windows. (Source Code)
Apache-2.0
C#/PowerShell
- Clonezilla - Partition and disk imaging/cloning program. (Source Code)
GPL-2.0
Perl/Shell/Other
- DadaMail - Mailing List Manager, written in Perl. (Source Code)
GPL-2.0
Perl
- Fog - Cloning/imaging solution/rescue suite. (Source Code)
GPL-3.0
PHP/Shell
- phpList - Newsletter and email marketing software. (Source Code)
AGPL-3.0
PHP
Monitoring
Monitoring software.
Related: Metrics & Metric Collection
- Adagios - Web based Nagios interface for configuration and monitoring (replacement to the standard interface), and a REST interface. (Source Code)
AGPL-3.0
Docker/Python
- Alerta - Distributed, scalable and flexible monitoring system. (Source Code)
Apache-2.0
Python
- Bloonix - Bloonix is a monitoring solution that helps businesses to ensure high availability and performance. (Source Code)
GPL-3.0
Perl
- Bosun - Monitoring and alerting system by Stack Exchange. (Source Code)
MIT
Go
- Cacti - Web-based network monitoring and graphing tool. (Source Code)
GPL-2.0
PHP
- cadvisor - Analyzes resource usage and performance characteristics of running containers.
Apache-2.0
Go
- checkmk - Comprehensive solution for monitoring of applications, servers, and networks. (Source Code)
GPL-2.0
Python/PHP
- dashdot - A simple, modern server dashboard for smaller private servers. (Demo)
MIT
Nodejs/Docker
- EdMon - A command-line monitoring application helping you to check that your hosts and services are available, with notifications support.
MIT
Java
- eZ Server Monitor - A lightweight and simple dashboard monitor for Linux, available in Web and Bash application. (Source Code)
GPL-3.0
PHP/Shell
- glances - Open-source, cross-platform real-time monitoring tool with CLI and web dashboard interfaces and many exporting options. (Source Code)
GPL-3.0
Python
- Healthchecks - Monitoring for cron jobs, background services and scheduled tasks. (Source Code)
BSD-3-Clause
Python
- Icinga - Nagios fork that has since lapped nagios several times. Comes with the possibility of clustered monitoring. (Source Code)
GPL-2.0
C++
- LibreNMS - Fully featured network monitoring system that provides a wealth of features and device support. (Source Code)
GPL-3.0
PHP
- Linux Dash - A low-overhead monitoring web dashboard for a GNU/Linux machine.
MIT
Nodejs/Go/Python/PHP
- Monit - Small utility for managing and monitoring Unix systems. (Source Code)
AGPL-3.0
C
- Munin - Networked resource monitoring tool. (Source Code)
GPL-2.0
Perl/Shell
- Naemon - Network monitoring tool based on the Nagios 4 core with performance enhancements and new features. (Source Code)
GPL-2.0
C
- Nagios - Computer system, network and infrastructure monitoring software application. (Source Code)
GPL-2.0
C
- Netdata - Distributed, real-time, performance and health monitoring for systems and applications. Runs on Linux, FreeBSD, and MacOS. (Source Code)
GPL-3.0
C
- NetXMS - Open Source network and infrastructure monitoring and management. (Source Code)
LGPL-3.0/GPL-3.0
Java/C++/C
- Observium Community Edition - Network monitoring and management platform that provides real-time insight into network health and performance.
QPL-1.0
PHP
- openITCOCKPIT Community Edition - Monitoring Suite featuring seamless integrations with Naemon, Checkmk, Grafana and more. (Demo, Source Code)
GPL-3.0
deb/Docker
- Performance Co-Pilot - Lightweight, distributed system performance and analysis framework. (Source Code)
LGPL-2.1/GPL-2.0
C
- PHP Server Monitor - Open source tool to monitor your servers and websites. (Source Code)
GPL-3.0
PHP
- PhpSysInfo - A customizable PHP script that displays information about your system nicely. (Source Code)
GPL-2.0
PHP
- Prometheus - Service monitoring system and time series database. (Source Code)
Apache-2.0
Go
- Riemann - Flexible and fast events processor allowing complex events/metrics analysis. (Source Code)
EPL-1.0
Java
- rtop - Interactive, remote system monitoring tool based on SSH.
MIT
Go
- ruptime - Classic system status server.
AGPL-3.0
Shell
- Scrutiny - Web UI for hard drive S.M.A.R.T monitoring, historical trends & real-world failure thresholds.
MIT
Go
- Sensu - Monitoring tool for ephemeral infrastructure and distributed applications. (Source Code)
MIT
Go
- Status - Simple and lightweight system monitoring tool for small homeservers with a pleasant web interface. (Demo
MIT
Python
- Thruk - Multibackend monitoring web interface with support for Naemon, Nagios, Icinga and Shinken. (Source Code)
GPL-1.0
Perl
- Wazuh - Unified XDR and SIEM protection for endpoints and cloud workloads. (Source Code)
GPL-2.0
C
- Zabbix - Enterprise-class software for monitoring of networks and applications. (Source Code)
GPL-2.0
C
Network Configuration Management
Network configuration management tools.
- GNS3 - Graphical network simulator that provides a variety of virtual appliances. (Source Code)
GPL-3.0
Python
- OpenWISP - Open Source Network Management System for OpenWRT based routers and access points. (Demo, Source Code)
GPL-3.0
Python
- Oxidized - Network device configuration backup tool.
Apache-2.0
Ruby
- phpIPAM - Open source IP address management with PowerDNS integration. (Source Code)
GPL-3.0
PHP
- RANCID - Monitor network devices configuration and maintain history of changes. (Source Code)
BSD-3-Clause
Perl/Shell
- rConfig - Network device configuration management tool. (Source Code)
GPL-3.0
PHP
PaaS
Platform-as-a-Service software allows customers to provision, instantiate, run, and manage a computing platform and one or more applications, without the complexity of building and maintaining the infrastructure typically associated with developing and launching the application. Also includes Serverless computing and Function-as-a-service (FaaS) software.
- CapRover - Build your own PaaS in a few minutes. (Demo, Source Code)
Apache-2.0
Docker/Nodejs
- Coolify - An open-source & self-hostable Heroku / Netlify alternative (and even more). (Source Code)
Apache-2.0
Docker
- Dokku - An open-source PaaS (alternative to Heroku). (Source Code)
MIT
Docker/Shell/Go/deb
- fx - A tool to help you do Function as a Service with painless on your own servers.
MIT
Go
- Kubero - A self-hosted Heroku PaaS alternative for Kubernetes that implements GitOps. (Demo, Source Code)
GPL-3.0
K8S/Nodejs/Go
- LocalStack - LocalStack is a fully functional local AWS cloud stack. This includes Lambda for serverless computation. (Source Code)
Apache-2.0
Python/Docker/K8S
- Nhost - Firebase Alternative with GraphQL. Get a database and backend configured and ready in minutes. (Source Code)
MIT
Docker/Nodejs/Go
- OpenFaaS - Serverless Functions Made Simple for Docker & Kubernetes. (Source Code)
MIT
Go
- Tau - Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging. (Source Code)
BSD-3-Clause
Go/Rust/Docker
- Trusted-CGI - Lightweight self-hosted lambda/applications/cgi/serverless-functions platform.
MIT
Go/deb/Docker
Packaging
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
- aptly - Swiss army knife for Debian repository management. (Source Code)
MIT
Go
- fpm - Versatile multi format package creator. (Source Code)
MIT
Ruby
- omnibus-ruby - Easily create full-stack installers for your project across a variety of platforms.
Apache-2.0
Ruby
- tito - Builds RPMs for git-based projects.
GPL-2.0
Python
Project Management
Web-based project management and bug tracking systems.
Please visit awesome-selfhosted/Project Management
Queuing
Message queues and message broker software, typically used for inter-process communication (IPC), or for inter-thread communication within the same process.
See also: Cloud Native Landscape - Streaming & Messaging
- ActiveMQ - Java message broker. (Source Code)
Apache-2.0
Java
- BeanstalkD - A simple, fast work queue. (Source Code)
MIT
C
- Gearman - Fast multi-language queuing/job processing platform. (Source Code)
BSD-3-Clause
C++
- NSQ - A realtime distributed messaging platform. (Source Code)
MPL-2.0
Go
- ZeroMQ - Lightweight queuing system. (Source Code)
GPL-3.0
C++
Remote Desktop Clients
Remote Desktop client software.
See also: awesome-selfhosted/Remote Access
- Remmina - Feature-rich remote desktop application for linux and other unixes. (Source Code)
GPL-2.0
C
- Tiger VNC - High-performance, multi-platform VNC client and server. (Source Code)
GPL-2.0
C++
- X2go - X2Go is an open source remote desktop software for Linux that uses the NoMachine/NX technology protocol. (Source Code)
GPL-2.0
Perl
Router
Software for management of router hardware.
- DD-WRT - A Linux-based firmware for wireless routers and access points, originally designed for the Linksys WRT54G series. (Source Code)
GPL-2.0
C
- OpenWrt - A Linux-based router featuring Mesh networking, IPS via snort and AQM among many other features. (Source Code)
GPL-2.0
C
- OPNsense - An open source FreeBSD-based firewall and router with traffic shaping, load balancing, and virtual private network capabilities. (Source Code)
BSD-2-Clause
C/PHP
- pfSense CE - Free network firewall distribution, based on the FreeBSD operating system with a custom kernel and including third party free software packages for additional functionality. (Source Code)
Apache-2.0
Shell/PHP/Other
Service Discovery
Service discovery is the process of automatically detecting devices and services on a computer network.
- Consul - Consul is a tool for service discovery, monitoring and configuration. (Source Code)
MPL-2.0
Go
- etcd - Distributed K/V-Store, authenticating via SSL PKI and a REST HTTP Api for shared configuration and service discovery. (Source Code)
Apache-2.0
Go
- ZooKeeper - ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. (Source Code)
Apache-2.0
Java/C++
Software Containers
Operating system–level virtualization.
- Docker Compose - Define and run multi-container Docker applications. (Source Code)
Apache-2.0
Go
- Docker Swarm - Manage cluster of Docker Engines. (Source Code)
Apache-2.0
Go
- Docker - Platform for developers and sysadmins to build, ship, and run distributed applications. (Source Code)
Apache-2.0
Go
- LXC - Userspace interface for the Linux kernel containment features. (Source Code)
GPL-2.0
C
- LXD - Container "hypervisor" and a better UX for LXC. (Source Code)
Apache-2.0
Go
- OpenVZ - Container-based virtualization for Linux. (Source Code)
GPL-2.0
C
- Podman - Daemonless container engine for developing, managing, and running OCI Containers on your Linux System. Containers can either be run as root or in rootless mode. Simply put:
alias docker=podman
. (Source Code)Apache-2.0
Go
- Portainer Community Edition - Simple management UI for Docker. (Source Code)
Zlib
Go
- systemd-nspawn - Lightweight, chroot-like, environment to run an OS or command directly under systemd. (Source Code)
GPL-2.0
C
Status Pages
Uptime is a measure of system reliability, expressed as the percentage of time a machine, typically a computer, has been working and available.
Please visit awesome-selfhosted/Status / Uptime Pages
Troubleshooting
Troubleshooting tools.
- grml - Bootable Debian Live CD with powerful CLI tools. (Source Code)
GPL-3.0
Shell
- mitmproxy - A Python tool used for intercepting, viewing and modifying network traffic. Invaluable in troubleshooting certain problems. (Source Code)
MIT
Python
- mtr - Network utility that combines traceroute and ping. (Source Code)
GPL-2.0
C
- Sysdig - Capture system state and activity from a running Linux instance, then save, filter and analyze. (Source Code)
Apache-2.0
Docker/Lua/C
- Wireshark - The world's foremost network protocol analyzer. (Source Code)
GPL-2.0
C
Version control
Software versioning and revision control.
- Darcs - Cross-platform version control system, like git, mercurial or svn but with a very different approach: focus on changes rather than snapshots. (Source Code)
GPL-2.0
Haskell
- Fossil - Distributed version control with built-in wiki and bug tracking. (Source Code)
BSD-2-Clause
C
- Git - Distributed revision control and source code management (SCM) with an emphasis on speed. (Source Code)
GPL-2.0
C
- Mercurial - Distributed source control management tool. (Source Code)
GPL-2.0
Python/C/Rust
- Subversion - Client-server revision control system. (Source Code)
Apache-2.0
C
Virtualization
Virtualization software.
- Ganeti - Cluster virtual server management software tool built on top of KVM and Xen. (Source Code)
BSD-2-Clause
Python/Haskell
- KVM - Linux kernel virtualization infrastructure. (Source Code)
GPL-2.0/LGPL-2.0
C
- OpenNebula - Build and manage enterprise clouds for virtualized services, containerized applications and serverless computing. (Source Code)
Apache-2.0
C++
- oVirt - Manages virtual machines, storage and virtual networks. (Source Code)
Apache-2.0
Java
- Packer - A tool for creating identical machine images for multiple platforms from a single source configuration. (Source Code)
MPL-2.0
Go
- Proxmox VE - Virtualization management solution. (Source Code)
GPL-2.0
Perl/Shell
- QEMU - QEMU is a generic machine emulator and virtualizer. (Source Code)
LGPL-2.1
C
- Vagrant - Tool for building complete development environments. (Source Code)
BUSL-1.1
Ruby
- VirtualBox - Virtualization product from Oracle Corporation. (Source Code)
GPL-3.0/CDDL-1.0
C++
- XCP-ng - Virtualization platform based on Xen Source and Citrix® Hypervisor (formerly XenServer). (Source Code)
GPL-2.0
C
- Xen - Virtual machine monitor for 32/64 bit Intel / AMD (IA 64) and PowerPC 970 architectures. (Source Code)
GPL-2.0
C
VPN
VPN software.
- DefGuard - True enterprise WireGuard with MFA/2FA and SSO. (Source Code)
Apache-2.0
Rust
- Dockovpn - Out-of-the-box stateless dockerized OpenVPN server which starts in less than 2 seconds. (Source Code)
GPL-2.0
Docker
- Firezone - WireGuard based VPN Server and Firewall. (Source Code)
Apache-2.0
Docker
- Gluetun VPN client - VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
MIT
docker
- Headscale - Self-hostable fork of Tailscale, cross-platform clients, simple to use, built-in (currently experimental) monitoring tools.
BSD-3-Clause
Go
- Nebula - A scalable p2p VPN with a focus on performance, simplicity and security.
MIT
Go
- ocserv - Cisco AnyConnect-compatible VPN server. (Source Code)
GPL-2.0
C
- OpenVPN - Uses a custom security protocol that utilizes SSL/TLS for key exchange. (Source Code)
GPL-2.0
C
- SoftEther - Multi-protocol software VPN with advanced features. (Source Code)
Apache-2.0
C
- sshuttle - Poor man's VPN.
LGPL-2.1
Python
- strongSwan - Complete IPsec implementation for Linux. (Source Code)
GPL-2.0
C
- WireGuard - Very fast VPN based on elliptic curve and public key crypto. (Source Code)
GPL-2.0
C
Web
Web servers and reverse proxies.
Please visit awesome-selfhosted/Web Servers
List of Licenses
AGPL-3.0
- GNU Affero General Public License 3.0Apache-2.0
- Apache, Version 2.0BSD-2-Clause
- BSD 2-clause "Simplified"BSD-3-Clause
- BSD 3-Clause "New" or "Revised"BUSL-1.1
- Business Source License 1.1CC0-1.0
- Public Domain/Creative Common Zero 1.0CDDL-1.0
- Common Development and Distribution License 1.0EPL-1.0
- Eclipse Public License 1.0GFDL-1.2
- GNU Free Documentation License 1.2GPL-1.0
- GNU General Public License 1.0GPL-2.0
- GNU General Public License 2.0GPL-3.0
- GNU General Public License 3.0IPL-1.0
- IBM Public License v1.0ISC
- ISC LicenseLGPL-2.0
- GNU Lesser General Public License v2LGPL-2.1
- GNU Lesser General Public License v2.1LGPL-3.0
- GNU Lesser General Public License v3MIT
- MIT LicenseMPL-2.0
- Mozilla Public LicenseNLPL
- No Limit Public LicenseOLDAP-2.8
- Open LDAP Public License v2.8QPL-1.0
- Q Public License 1.0Vim
- Vim LicenseZlib
- zlib License
External links
Communities / Forums
- ArsTechnica OpenForum - IT Forum which is attached to a large news site.
- Reddit - Really, really large bulletin board system.
- /r/Linux - News and information about Linux.
- /r/LinuxQuestions
- /r/SysAdmin
- Spiceworks Community - General enterprise IT news and small articles.
- StackExchange Network - Q&A communities.
- Server Fault - StackExchange community for system and network administrators.
Repositories
Software package repositories.
- AlternativeTo - Find alternatives to software you know and discover new software.
- deb.sury.org - Repository with LAMP updated packages for Debian and Ubuntu.
- ElRepo - Community Repo for Enterprise Linux (RHEL, CentOS, etc).
- EPEL - Repository for RHEL and compatibles (CentOS, Scientific Linux).
- IUS - Community project that provides RPM packages for newer versions of select software for Enterprise Linux distributions.
- Remi - Repository with LAMP updated packages for RHEL/Centos/Fedora.
- Software Collections - Community Release of Red Hat Software Collections. Provides updated packages of Ruby, Python, etc. for CentOS/Scientific Linux 6.x.
Websites
- Cloud Native Software Landscape - Compilation of software and tools for cloud computing.
- ArchWiki - Arch Linux Wiki which has really nice written articles valid for other distros.
- Gentoo Wiki - Gentoo Linux Wiki with a lot in-detail description of Linux components.
- Awesome SysAdmin @ LibHunt - Your go-to SysAdmin Toolbox. Based on the list here.
- Ops School - Comprehensive program that will help you learn to be an operations engineer.
- Digital Ocean Tutorials - 6,000+ tutorials for getting the basics of certain applications/tools/systems administration topics.