├── README.md ├── DDoS.sh ├── Phishing.sh ├── Hacking.sh ├── BruteForce.sh ├── Information-Gathering.sh ├── KaliSetup.sh └── LICENSE /README.md: -------------------------------------------------------------------------------- 1 | # KaliSetup 2 | This is a multi-use bash script for Linux systems to automate best hacking tools installation 3 | 4 | ## Requirements: 5 | 6 | * bash 7 | 8 | * apt 9 | 10 | * git 11 | 12 | 13 | # How to use? 14 | 15 | ## INSTALLATION 16 | 17 | $ sudo apt-get update && sudo apt-get upgrade 18 | 19 | $ sudo apt-get install git 20 | 21 | $ git clone https://github.com/PaposinDT/KaliSetup.git 22 | 23 | $ cd KaliSetup 24 | 25 | ## SETUP 26 | 27 | $ chmod +x * 28 | 29 | ## RUNNING 30 | 31 | $ ./KaliSetup.sh 32 | -------------------------------------------------------------------------------- /DDoS.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Author.......: Riccardo Papa 3 | 4 | mkdir -p ./DDoS 5 | ./BruteForce.sh 6 | cd ./DDoS 7 | 8 | spinner() { 9 | local pid=$! 10 | local delay=0.1 11 | local spinstr='|/-\' 12 | while kill -0 $pid 2>/dev/null; do 13 | for (( i=0; i<${#spinstr}; i++ )); do 14 | printf "\r%s [%c]" "$spinner_message" "${spinstr:$i:1}" 15 | sleep $delay 16 | done 17 | done 18 | printf "\r%s [✔]\n" "$spinner_message" 19 | } 20 | 21 | clone_repo() { 22 | local url=$1 23 | local folder=$2 24 | local name=$3 25 | 26 | if [ -d "$folder" ]; then 27 | echo "Skipping $name (already cloned)" 28 | return 29 | fi 30 | 31 | # Per il controllo uso URL senza .git perché alcune repo lo richiedono 32 | repo_url="${url%.git}" 33 | status=$(curl -o /dev/null -s -w "%{http_code}" "$repo_url") 34 | 35 | if [ "$status" -ne 200 ]; then 36 | echo "Repository $name not found or inaccessible (HTTP $status). Skipping." 37 | return 38 | fi 39 | 40 | spinner_message="Cloning $name" 41 | git clone "$url" --quiet & 42 | spinner 43 | } 44 | 45 | echo 46 | echo "INSTALLING DDOS TOOLS" 47 | sleep 2 48 | echo "Cloning 18 repositories" 49 | echo 50 | sleep 2 51 | 52 | clone_repo "https://github.com/5inco/PHDoS.git" "PHDoS" "PHDoS" 53 | clone_repo "https://github.com/H1R0GH057/Anonymous.git" "Anonymous" "Anonymous" 54 | clone_repo "https://github.com/Hydra7/Planetwork-DDOS.git" "Planetwork-DDOS" "Planetwork-DDOS" 55 | clone_repo "https://github.com/foreni-packages/t50.git" "t50" "t50" 56 | clone_repo "https://github.com/Anlos0023/webdos-ddoser.git" "webdos-ddoser" "webdos-ddoser" 57 | clone_repo "https://github.com/gkbrk/slowloris.git" "slowloris" "slowloris" 58 | clone_repo "https://github.com/jseidl/GoldenEye.git" "GoldenEye" "GoldenEye" 59 | clone_repo "https://github.com/grafov/hulk.git" "hulk" "hulk" 60 | clone_repo "https://github.com/Leeon123/CC-attack.git" "CC-attack" "CC-attack" 61 | # Aggiungi altre repo qui se vuoi 62 | 63 | sleep 2 64 | 65 | -------------------------------------------------------------------------------- /Phishing.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #Author.......: Riccardo Papa 3 | 4 | mkdir -p ./Phishing 5 | ./Information-Gathering.sh 6 | cd ./Phishing || { echo "Failed to enter Phishing directory"; exit 1; } 7 | 8 | echo 9 | echo "INSTALLING PHISHING TOOLS" 10 | sleep 2 11 | echo "Cloning 12 repositories" 12 | echo 13 | sleep 2 14 | 15 | spinner() { 16 | local pid=$1 17 | local delay=0.1 18 | local spinstr='|/-\' 19 | while kill -0 "$pid" 2>/dev/null; do 20 | for i in $(seq 0 3); do 21 | printf "\r[%c] Cloning in progress..." "${spinstr:i:1}" 22 | sleep $delay 23 | done 24 | done 25 | printf "\r[✔] Clone completed! \n" 26 | } 27 | 28 | clone_repo() { 29 | local url=$1 30 | local folder=$2 31 | local name=$3 32 | 33 | if [ -d "$folder" ]; then 34 | echo "Skipping $name (already cloned)" 35 | return 36 | fi 37 | 38 | repo_url="${url%.git}" 39 | status=$(curl -o /dev/null -s -w "%{http_code}" "$repo_url") 40 | 41 | if [ "$status" -ne 200 ]; then 42 | echo "Repository $name not found or inaccessible (HTTP $status). Skipping." 43 | return 44 | fi 45 | 46 | echo "Cloning $name: $folder" 47 | git clone "$url" --quiet & 48 | spinner $! 49 | } 50 | 51 | clone_repo "https://github.com/xHak9x/SocialPhish.git" "SocialPhish" "SocialPhish" 52 | clone_repo "https://github.com/UndeadSec/SocialFish.git" "SocialFish" "SocialFish" 53 | clone_repo "https://github.com/rsmusllp/king-phisher.git" "king-phisher" "king-phisher" 54 | clone_repo "https://github.com/BiZken/PhishMailer.git" "PhishMailer" "PhishMailer" 55 | clone_repo "https://github.com/DarkSecDevelopers/HiddenEye-Legacy.git" "HiddenEye-Legacy" "HiddenEye" 56 | clone_repo "https://github.com/yezz123/Phisher.git" "Phisher" "Phisher" 57 | clone_repo "https://github.com/jaykali/maskphish.git" "maskphish" "maskphish" 58 | clone_repo "https://github.com/elceef/dnstwist.git" "dnstwist" "dnstwist" 59 | clone_repo "https://github.com/Anish-M-code/URL-obfuscator.git" "URL-obfuscator" "URL-obfuscator" 60 | clone_repo "https://github.com/swagkarna/Bypass-Insta-2FA-.git" "Bypass-Insta-2FA-" "Bypass-Insta-2FA" 61 | clone_repo "https://github.com/xbaysal11/phish-js.git" "phish-js" "phish-js" 62 | 63 | sleep 2 64 | -------------------------------------------------------------------------------- /Hacking.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Author.......: Riccardo Papa 3 | 4 | mkdir -p ./Hacking 5 | ./Phishing.sh 6 | cd ./Hacking 7 | 8 | spinner() { 9 | local pid=$! 10 | local delay=0.1 11 | local spinstr='|/-\' 12 | while kill -0 $pid 2>/dev/null; do 13 | for (( i=0; i<${#spinstr}; i++ )); do 14 | printf "\r%s [%c]" "$spinner_message" "${spinstr:$i:1}" 15 | sleep $delay 16 | done 17 | done 18 | printf "\r%s [✔]\n" "$spinner_message" 19 | } 20 | 21 | clone_repo() { 22 | local url=$1 23 | local folder=$2 24 | local name=$3 25 | 26 | if [ -d "$folder" ]; then 27 | echo "Skipping $name (already cloned)" 28 | return 29 | fi 30 | 31 | repo_url="${url%.git}" 32 | status=$(curl -o /dev/null -s -w "%{http_code}" "$repo_url") 33 | 34 | if [ "$status" -ne 200 ]; then 35 | echo "Repository $name not found or inaccessible (HTTP $status). Skipping." 36 | return 37 | fi 38 | 39 | spinner_message="Cloning $name" 40 | git clone "$url" --quiet & 41 | spinner 42 | } 43 | 44 | echo 45 | echo "INSTALLING HACKING TOOLS" 46 | sleep 2 47 | echo "Cloning 15 repositories" 48 | echo 49 | sleep 2 50 | 51 | clone_repo "https://github.com/thehackingsage/hacktronian.git" "hacktronian" "hacktronian" 52 | clone_repo "https://github.com/rajkumardusad/onex.git" "onex" "onex" 53 | clone_repo "https://github.com/jaykali/hackerpro.git" "hackerpro" "hackerpro" 54 | clone_repo "https://github.com/noob-hackers/infect.git" "infect" "infect" 55 | clone_repo "https://github.com/noob-hackers/grabcam.git" "grabcam" "grabcam" 56 | clone_repo "https://github.com/iBotPeaches/Apktool.git" "Apktool" "Apktool" 57 | clone_repo "https://github.com/CISOfy/lynis.git" "lynis" "lynis" 58 | clone_repo "https://github.com/Cesar-Hack-Gray/FotoSploit.git" "FotoSploit" "FotoSploit" 59 | clone_repo "https://github.com/1N3/Sn1per.git" "Sn1per" "Sn1per" 60 | clone_repo "https://github.com/jekil/awesome-hacking.git" "awesome-hacking" "awesome-hacking" 61 | clone_repo "https://github.com/aydinnyunus/Keylogger.git" "Keylogger" "Keylogger" 62 | clone_repo "https://github.com/D4Vinci/Cr3dOv3r.git" "Cr3dOv3r" "Cr3dOv3r" 63 | clone_repo "https://github.com/thehackingsage/fluxion.git" "fluxion" "fluxion" 64 | clone_repo "https://github.com/chinarulezzz/refluxion.git" "refluxion" "refluxion" 65 | clone_repo "https://github.com/We5ter/Scanners-Box.git" "Scanners-Box" "Scanners-Box" 66 | 67 | sleep 2 68 | -------------------------------------------------------------------------------- /BruteForce.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Author.......: Riccardo Papa 3 | 4 | mkdir -p ./BruteForce 5 | cd ./BruteForce 6 | 7 | spinner() { 8 | local pid=$! 9 | local delay=0.1 10 | local spinstr='|/-\' 11 | while kill -0 $pid 2>/dev/null; do 12 | for (( i=0; i<${#spinstr}; i++ )); do 13 | printf "\r%s [%c]" "$spinner_message" "${spinstr:$i:1}" 14 | sleep $delay 15 | done 16 | done 17 | printf "\r%s [✔]\n" "$spinner_message" 18 | } 19 | 20 | run_with_spinner() { 21 | spinner_message="$1" 22 | shift 23 | "$@" & spinner 24 | } 25 | 26 | echo "INSTALLING BRUTEFORCE TOOLS" 27 | sleep 2 28 | echo "Cloning 12 repositories" 29 | echo 30 | sleep 2 31 | 32 | clone_repo() { 33 | local url=$1 34 | local folder=$2 35 | local name=$3 36 | 37 | if [ -d "$folder" ]; then 38 | echo "Skipping $name (already cloned)" 39 | return 40 | fi 41 | 42 | # Check repo accessibility silently 43 | status=$(curl -o /dev/null -s -w "%{http_code}\n" "$url") 44 | if [ "$status" -ne 200 ]; then 45 | echo "Repository $name not found or inaccessible (HTTP $status). Skipping." 46 | return 47 | fi 48 | 49 | spinner_message="Cloning $name" 50 | git clone "$url" --quiet & 51 | spinner 52 | } 53 | 54 | clone_all() { 55 | clone_repo "https://github.com/Bitwise-01/Instagram-.git" "Instagram-" "Insta-Brute" 56 | clone_repo "https://github.com/1N3/BruteX.git" "BruteX" "BruteX" 57 | clone_repo "https://github.com/kitabisa/ssb.git" "ssb" "ssb" 58 | clone_repo "https://github.com/duyet/bruteforce-database.git" "bruteforce-database" "bruteforce-database" 59 | clone_repo "https://github.com/insightglacier/Dictionary-Of-Pentesting.git" "Dictionary-Of-Pentesting" "Dictionary-Of-Pentesting" 60 | clone_repo "https://github.com/Screetsec/BruteSploit.git" "BruteSploit" "BruteSploit" 61 | clone_repo "https://github.com/Gioelio/Hack-Google-Password.git" "Hack-Google-Password" "Google-Password" 62 | clone_repo "https://github.com/Manisso/fsociety.git" "fsociety" "fsociety" 63 | clone_repo "https://github.com/The404Hacking/ZIP-Password-BruteForcer.git" "ZIP-Password-BruteForcer" "ZIP-BruteForcer" 64 | clone_repo "https://github.com/ReddyyZ/URLBrute-Py.git" "URLBrute-Py" "URLBrute-Py" 65 | clone_repo "https://github.com/vanhauser-thc/thc-hydra.git" "thc-hydra" "thc-hydra" 66 | clone_repo "https://github.com/LandGrey/pydictor.git" "pydictor" "pydictor" 67 | } 68 | 69 | run_with_spinner "Cloning all repositories" clone_all 70 | 71 | sleep 2 72 | -------------------------------------------------------------------------------- /Information-Gathering.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Author.......: Riccardo Papa 3 | 4 | mkdir -p ./Information-Gathering 5 | ./DDoS.sh 6 | cd ./Information-Gathering 7 | 8 | spinner() { 9 | local pid=$! 10 | local delay=0.1 11 | local spinstr='|/-\' 12 | while kill -0 $pid 2>/dev/null; do 13 | for (( i=0; i<${#spinstr}; i++ )); do 14 | printf "\r%s [%c]" "$spinner_message" "${spinstr:$i:1}" 15 | sleep $delay 16 | done 17 | done 18 | printf "\r%s [✔]\n" "$spinner_message" 19 | } 20 | 21 | clone_repo() { 22 | local url=$1 23 | local folder=$2 24 | local name=$3 25 | 26 | if [ -d "$folder" ]; then 27 | echo "Skipping $name (already cloned)" 28 | return 29 | fi 30 | 31 | repo_url="${url%.git}" 32 | status=$(curl -o /dev/null -s -w "%{http_code}" "$repo_url") 33 | 34 | if [ "$status" -ne 200 ]; then 35 | echo "Repository $name not found or inaccessible (HTTP $status). Skipping." 36 | return 37 | fi 38 | 39 | spinner_message="Cloning $name" 40 | git clone "$url" --quiet & 41 | spinner 42 | } 43 | 44 | echo 45 | echo "INSTALLING INFORMATION GATHERING TOOLS" 46 | sleep 2 47 | echo "Cloning 21 repositories" 48 | echo 49 | sleep 2 50 | 51 | clone_repo "https://github.com/Tuhinshubhra/RED_HAWK.git" "RED_HAWK" "RED_HAWK" 52 | clone_repo "https://github.com/Moham3dRiahi/Th3inspector.git" "Th3inspector" "Th3inspector" 53 | clone_repo "https://github.com/sherlock-project/sherlock.git" "sherlock" "sherlock" 54 | clone_repo "https://github.com/xHak9x/fbi.git" "fbi" "fbi" 55 | clone_repo "https://github.com/r3vn/badKarma.git" "badKarma" "badKarma" 56 | clone_repo "https://github.com/cryptomarauder/TrackUrl.git" "TrackUrl" "TrackUrl" 57 | clone_repo "https://github.com/evyatarmeged/Raccoon.git" "Raccoon" "Raccoon" 58 | clone_repo "https://github.com/trimstray/sandmap.git" "sandmap" "sandmap" 59 | clone_repo "https://github.com/secforce/sparta.git" "sparta" "sparta" 60 | clone_repo "https://github.com/jaygreig86/dmitry.git" "dmitry" "dmitry" 61 | clone_repo "https://github.com/damianofalcioni/IP-Biter.git" "IP-Biter" "IP-Biter" 62 | clone_repo "https://github.com/HACKE-RC/webdork.git" "webdork" "webdork" 63 | clone_repo "https://github.com/dwisiswant0/stargather.git" "stargather" "stargather" 64 | clone_repo "https://github.com/anonymousproo/IP-Tracker.git" "IP-Tracker" "IP-Tracker" 65 | clone_repo "https://github.com/Ankesh054-official/LittleBrother-GUI-.git" "LittleBrother-GUI-" "LittleBrother" 66 | clone_repo "https://github.com/osint-dev-team/osint-framework.git" "osint-framework" "osint-framework" 67 | clone_repo "https://github.com/The404Hacking/URLExtractor.git" "URLExtractor" "URLExtractor" 68 | clone_repo "https://github.com/shmilylty/OneForAll.git" "OneForAll" "OneForAll" 69 | clone_repo "https://github.com/m4ll0k/Infoga.git" "Infoga" "Infoga" 70 | clone_repo "https://github.com/dalunacrobate/DaProfiler.git" "DaProfiler" "DaProfiler" 71 | clone_repo "https://github.com/sundowndev/PhoneInfoga.git" "PhoneInfoga" "PhoneInfoga" 72 | 73 | sleep 2 74 | 75 | -------------------------------------------------------------------------------- /KaliSetup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #Title........: KaliSetup.sh 3 | #Description..: This is a tool that automate best tools installation. 4 | #Author.......: Riccardo Papa 5 | #Version......: 2.4 6 | #Usage........: sudo ./KaliSetup.sh 7 | # copyright(please read the license before sharing the code) 8 | 9 | clear 10 | echo """ 11 | ____________________________________________ 12 | | | 13 | | The Code By :- Riccardo Papa | 14 | | Telegram :- @PaposinDT | 15 | | Facebook :- https://cutt.us/kfNBv | 16 | | Youtube :- https://cutt.us/fp49D | 17 | | Git Hub :- github.com/PaposinDT | 18 | | Instagram:- https://cutt.us/2ZDRu | 19 | |___________________________________________ | 20 | """ 21 | 22 | sleep 2 23 | echo " Version 1.1 24 | Coded By Riccardo Papa 25 | Want to support me? paypal.me/ricky2006 26 | This tool is created for educational purpose only!" 27 | echo 28 | sleep 1 29 | echo "The installation speed depends on the signal strength." 30 | echo 31 | sleep 1 32 | echo "The installation process could take up to 7 minutes" 33 | echo 34 | sleep 1 35 | echo "Installing..." 36 | echo 37 | sleep 1 38 | 39 | mkdir -p ./Tools 40 | ./Hacking.sh 41 | cd ./Tools || { echo "Failed to enter Tools directory"; exit 1; } 42 | 43 | echo 44 | echo "INSTALLING GENERIC TOOLS" 45 | sleep 2 46 | echo "Cloning 14 repositories" 47 | echo 48 | sleep 2 49 | 50 | # Spinner function 51 | spinner() { 52 | local pid=$1 53 | local delay=0.1 54 | local spinstr='|/-\' 55 | while kill -0 "$pid" 2>/dev/null; do 56 | for i in $(seq 0 3); do 57 | printf "\r[%c] Cloning in progress..." "${spinstr:i:1}" 58 | sleep $delay 59 | done 60 | done 61 | printf "\r[✔] Clone completed! \n" 62 | } 63 | 64 | clone_repo() { 65 | local url=$1 66 | local folder=$2 67 | local name=$3 68 | 69 | # Se non specificato, folder = nome repo senza .git 70 | if [ -z "$folder" ]; then 71 | folder=$(basename "${url%.git}") 72 | fi 73 | 74 | if [ -d "$folder" ]; then 75 | echo "Skipping $name (already cloned)" 76 | return 77 | fi 78 | 79 | # Controlla che il repo esista (200 OK) 80 | repo_url="${url%.git}" 81 | status=$(curl -o /dev/null -s -w "%{http_code}" "$repo_url") 82 | 83 | if [ "$status" -ne 200 ]; then 84 | echo "Repository $name not found or inaccessible (HTTP $status). Skipping." 85 | return 86 | fi 87 | 88 | echo "Cloning $name: $folder" 89 | git clone "$url" "$folder" --quiet & 90 | spinner $! 91 | } 92 | 93 | clone_repo "https://github.com/v1s1t0r1sh3r3/airgeddon.git" "" "airgeddon" 94 | clone_repo "https://github.com/capture0x/XCTR-Hacking-Tools.git" "" "XCTR-Hacking-Tools" 95 | clone_repo "https://github.com/tiagorlampert/sAINT.git" "" "sAINT" 96 | clone_repo "https://github.com/jofpin/trape.git" "" "trape" 97 | clone_repo "https://github.com/georgenicolaou/androidlockcracker.git" "" "androidlockcracker" 98 | clone_repo "https://github.com/3xploitGuy/lazyaircrack.git" "" "lazyaircrack" 99 | clone_repo "https://github.com/trustedsec/social-engineer-toolkit.git" "setoolkit" "setoolkit" 100 | clone_repo "https://github.com/iridakos/stup.git" "" "stup" 101 | clone_repo "https://github.com/future-architect/vuls.git" "" "vuls" 102 | clone_repo "https://github.com/Scriptim/bash-prompt-generator.git" "" "bash-prompt-generator" 103 | clone_repo "https://github.com/toolswatch/blackhat-arsenal-tools.git" "" "blackhat-arsenal-tools" 104 | clone_repo "https://github.com/persianhydra/Xeexe-TopAntivirusEvasion.git" "" "Xeexe" 105 | clone_repo "https://github.com/anshumanpattnaik/http-request-smuggling.git" "" "http-req-smuggling" 106 | 107 | sleep 1 108 | 109 | cd .. 110 | echo "Removing unnecessary files." 111 | sleep 1 112 | rm -f Hacking.sh LICENSE README.md KaliSetup.sh Phishing.sh Information-Gathering.sh DDoS.sh BruteForce.sh 113 | sleep 1 114 | 115 | echo "Renaming Folder into \"Ethical-Hacking\"." 116 | cd .. 117 | if [ -d "KaliSetup" ]; then 118 | mv KaliSetup Ethical-Hacking 119 | else 120 | echo "Directory KaliSetup does not exist. Skipping rename." 121 | fi 122 | sleep 1 123 | mv Ethical-Hacking/* . 124 | rmdir Ethical-Hacking 125 | 126 | echo "INSTALLATION COMPLETED. IF YOU LIKE THE SCRIPT, PLEASE LEAVE A STAR ON THE GITHUB REPOSITORY!" 127 | 128 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | --------------------------------------------------------------------------------