ssh-vpn.sh 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. #!/bin/bash
  2. # By EvoTeamMalaysia
  3. #
  4. # ==================================================
  5. # initializing var
  6. export DEBIAN_FRONTEND=noninteractive
  7. MYIP=$(wget -qO- https://icanhazip.com);
  8. MYIP2="s/xxxxxxxxx/$MYIP/g";
  9. NET=$(ip -o $ANU -4 route show to default | awk '{print $5}');
  10. source /etc/os-release
  11. ver=$VERSION_ID
  12. #detail nama perusahaan
  13. country=MY
  14. state=Malaysia
  15. locality=Malaysia
  16. organization=www.evoteammalaysia.com
  17. organizationalunit=www.evoteammalaysia.com
  18. commonname=EvoTeamMalaysia
  19. email=admin@EvoTeamMalaysia.com
  20. # simple password minimal
  21. wget -O /etc/pam.d/common-password "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/password"
  22. chmod +x /etc/pam.d/common-password
  23. # go to root
  24. cd
  25. # Edit file /etc/systemd/system/rc-local.service
  26. cat > /etc/systemd/system/rc-local.service <<-END
  27. [Unit]
  28. Description=/etc/rc.local
  29. ConditionPathExists=/etc/rc.local
  30. [Service]
  31. Type=forking
  32. ExecStart=/etc/rc.local start
  33. TimeoutSec=0
  34. StandardOutput=tty
  35. RemainAfterExit=yes
  36. SysVStartPriority=99
  37. [Install]
  38. WantedBy=multi-user.target
  39. END
  40. # nano /etc/rc.local
  41. cat > /etc/rc.local <<-END
  42. #!/bin/sh -e
  43. # rc.local
  44. # By default this script does nothing.
  45. exit 0
  46. END
  47. # Ubah izin akses
  48. chmod +x /etc/rc.local
  49. # enable rc local
  50. systemctl enable rc-local
  51. systemctl start rc-local.service
  52. # disable ipv6
  53. echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
  54. sed -i '$ i\echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6' /etc/rc.local
  55. #update
  56. apt update -y
  57. apt upgrade -y
  58. apt dist-upgrade -y
  59. apt-get remove --purge ufw firewalld -y
  60. apt-get remove --purge exim4 -y
  61. # install wget and curl
  62. apt -y install wget curl
  63. # set time GMT +8
  64. ln -fs /usr/share/zoneinfo/Asia/Kuala_Lumpur /etc/localtime
  65. # set locale
  66. sed -i 's/AcceptEnv/#AcceptEnv/g' /etc/ssh/sshd_config
  67. # install
  68. apt-get --reinstall --fix-missing install -y bzip2 gzip coreutils wget screen rsyslog iftop htop net-tools zip unzip wget net-tools curl nano sed screen gnupg gnupg1 bc apt-transport-https build-essential dirmngr libxml-parser-perl neofetch git lsof
  69. echo "clear" >> .profile
  70. echo "neofetch" >> .profile
  71. # install webserver
  72. apt -y install nginx
  73. cd
  74. rm /etc/nginx/sites-enabled/default
  75. rm /etc/nginx/sites-available/default
  76. wget -O /etc/nginx/nginx.conf "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/nginx.conf"
  77. mkdir -p /home/vps/public_html
  78. wget -O /etc/nginx/conf.d/vps.conf "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/vps.conf"
  79. /etc/init.d/nginx restart
  80. # install badvpn
  81. cd
  82. wget -O /usr/bin/badvpn-udpgw "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/badvpn-udpgw64"
  83. chmod +x /usr/bin/badvpn-udpgw
  84. sed -i '$ i\screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7100 --max-clients 500' /etc/rc.local
  85. sed -i '$ i\screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7200 --max-clients 500' /etc/rc.local
  86. sed -i '$ i\screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300 --max-clients 500' /etc/rc.local
  87. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7100 --max-clients 500
  88. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7200 --max-clients 500
  89. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300 --max-clients 500
  90. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7400 --max-clients 500
  91. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7500 --max-clients 500
  92. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7600 --max-clients 500
  93. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7700 --max-clients 500
  94. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7800 --max-clients 500
  95. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7900 --max-clients 500
  96. # setting port ssh
  97. sed -i 's/Port 22/Port 22/g' /etc/ssh/sshd_config
  98. # install dropbear
  99. apt -y install dropbear
  100. sed -i 's/NO_START=1/NO_START=0/g' /etc/default/dropbear
  101. sed -i 's/DROPBEAR_PORT=22/DROPBEAR_PORT=143/g' /etc/default/dropbear
  102. sed -i 's/DROPBEAR_EXTRA_ARGS=/DROPBEAR_EXTRA_ARGS="-p 109"/g' /etc/default/dropbear
  103. echo "/bin/false" >> /etc/shells
  104. echo "/usr/sbin/nologin" >> /etc/shells
  105. /etc/init.d/dropbear restart
  106. # install squid
  107. cd
  108. apt -y install squid3
  109. wget -O /etc/squid/squid.conf "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/squid3.conf"
  110. sed -i $MYIP2 /etc/squid/squid.conf
  111. # setting vnstat
  112. apt -y install vnstat
  113. /etc/init.d/vnstat restart
  114. apt -y install libsqlite3-dev
  115. wget https://humdi.net/vnstat/vnstat-2.6.tar.gz
  116. tar zxvf vnstat-2.6.tar.gz
  117. cd vnstat-2.6
  118. ./configure --prefix=/usr --sysconfdir=/etc && make && make install
  119. cd
  120. vnstat -u -i $NET
  121. sed -i 's/Interface "'""eth0""'"/Interface "'""$NET""'"/g' /etc/vnstat.conf
  122. chown vnstat:vnstat /var/lib/vnstat -R
  123. systemctl enable vnstat
  124. /etc/init.d/vnstat restart
  125. rm -f /root/vnstat-2.6.tar.gz
  126. rm -rf /root/vnstat-2.6
  127. # install stunnel
  128. apt install stunnel4 -y
  129. cat > /etc/stunnel/stunnel.conf <<-END
  130. cert = /etc/stunnel/stunnel.pem
  131. client = no
  132. socket = a:SO_REUSEADDR=1
  133. socket = l:TCP_NODELAY=1
  134. socket = r:TCP_NODELAY=1
  135. [dropbear]
  136. accept = 443
  137. connect = 127.0.0.1:109
  138. [dropbear]
  139. accept = 777
  140. connect = 127.0.0.1:22
  141. [openvpn]
  142. accept = 442
  143. connect = 127.0.0.1:1194
  144. END
  145. # make a certificate
  146. openssl genrsa -out key.pem 2048
  147. openssl req -new -x509 -key key.pem -out cert.pem -days 1095 \
  148. -subj "/C=$country/ST=$state/L=$locality/O=$organization/OU=$organizationalunit/CN=$commonname/emailAddress=$email"
  149. cat key.pem cert.pem >> /etc/stunnel/stunnel.pem
  150. # konfigurasi stunnel
  151. sed -i 's/ENABLED=0/ENABLED=1/g' /etc/default/stunnel4
  152. /etc/init.d/stunnel4 restart
  153. #OpenVPN
  154. wget https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScript/main/vpn.sh && chmod +x vpn.sh && ./vpn.sh
  155. # install fail2ban
  156. apt -y install fail2ban
  157. # Instal DDOS Flate
  158. if [ -d '/usr/local/ddos' ]; then
  159. echo; echo; echo "Please un-install the previous version first"
  160. exit 0
  161. else
  162. mkdir /usr/local/ddos
  163. fi
  164. clear
  165. echo; echo 'Installing DOS-Deflate 0.6'; echo
  166. echo; echo -n 'Downloading source files...'
  167. wget -q -O /usr/local/ddos/ddos.conf http://www.inetbase.com/scripts/ddos/ddos.conf
  168. echo -n '.'
  169. wget -q -O /usr/local/ddos/LICENSE http://www.inetbase.com/scripts/ddos/LICENSE
  170. echo -n '.'
  171. wget -q -O /usr/local/ddos/ignore.ip.list http://www.inetbase.com/scripts/ddos/ignore.ip.list
  172. echo -n '.'
  173. wget -q -O /usr/local/ddos/ddos.sh http://www.inetbase.com/scripts/ddos/ddos.sh
  174. chmod 0755 /usr/local/ddos/ddos.sh
  175. cp -s /usr/local/ddos/ddos.sh /usr/local/sbin/ddos
  176. echo '...done'
  177. echo; echo -n 'Creating cron to run script every minute.....(Default setting)'
  178. /usr/local/ddos/ddos.sh --cron > /dev/null 2>&1
  179. echo '.....done'
  180. echo; echo 'Installation has completed.'
  181. echo 'Config file is at /usr/local/ddos/ddos.conf'
  182. echo 'Please send in your comments and/or suggestions to zaf@vsnl.com'
  183. # banner /etc/issue.net
  184. wget -O /etc/issue.net "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/banner.conf"
  185. echo "Banner /etc/issue.net" >>/etc/ssh/sshd_config
  186. sed -i 's@DROPBEAR_BANNER=""@DROPBEAR_BANNER="/etc/issue.net"@g' /etc/default/dropbear
  187. # blockir torrent
  188. iptables -A FORWARD -m string --string "get_peers" --algo bm -j DROP
  189. iptables -A FORWARD -m string --string "announce_peer" --algo bm -j DROP
  190. iptables -A FORWARD -m string --string "find_node" --algo bm -j DROP
  191. iptables -A FORWARD -m string --algo bm --string "BitTorrent" -j DROP
  192. iptables -A FORWARD -m string --algo bm --string "BitTorrent protocol" -j DROP
  193. iptables -A FORWARD -m string --algo bm --string "peer_id=" -j DROP
  194. iptables -A FORWARD -m string --algo bm --string ".torrent" -j DROP
  195. iptables -A FORWARD -m string --algo bm --string "announce.php?passkey=" -j DROP
  196. iptables -A FORWARD -m string --algo bm --string "torrent" -j DROP
  197. iptables -A FORWARD -m string --algo bm --string "announce" -j DROP
  198. iptables -A FORWARD -m string --algo bm --string "info_hash" -j DROP
  199. iptables-save > /etc/iptables.up.rules
  200. iptables-restore -t < /etc/iptables.up.rules
  201. netfilter-persistent save
  202. netfilter-persistent reload
  203. # download script
  204. cd /usr/bin
  205. wget -O add-host "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/add-host.sh"
  206. wget -O about "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/about.sh"
  207. wget -O menu "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/menu.sh"
  208. wget -O add-ssh "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/add-ssh.sh"
  209. wget -O trial-ssh "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/trial-ssh.sh"
  210. wget -O del-ssh "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/del-ssh.sh"
  211. wget -O list-ssh "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/list-ssh.sh"
  212. wget -O delete "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/delete.sh"
  213. wget -O cek-ssh "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/cek-ssh.sh"
  214. wget -O restart "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/restart.sh"
  215. wget -O speedtest "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/speedtest_cli.py"
  216. wget -O info "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/info.sh"
  217. wget -O ram "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/ram.sh"
  218. wget -O renew-ssh "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/renew-ssh.sh"
  219. wget -O autokill "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/autokill.sh"
  220. wget -O mulog "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/mulog.sh"
  221. wget -O tendang "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/tendang.sh"
  222. wget -O change-port "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/change.sh"
  223. wget -O port-ovpn "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-ovpn.sh"
  224. wget -O port-ssl "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-ssl.sh"
  225. wget -O port-wg "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-wg.sh"
  226. wget -O port-tr "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-tr.sh"
  227. wget -O port-sstp "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-sstp.sh"
  228. wget -O port-squid "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-squid.sh"
  229. wget -O port-ws "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-ws.sh"
  230. wget -O port-vless "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/port-vless.sh"
  231. wget -O webmin "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/webmin.sh"
  232. wget -O xp "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/xp.sh"
  233. wget -O kernel-up "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/kernel.sh"
  234. wget -O update "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/update-1.2.sh"
  235. wget -O auto-reboot "https://raw.githubusercontent.com/EvoTeamMalaysia/AutoScriptVPS/main/reboot.sh"
  236. chmod +x add-host
  237. chmod +x menu
  238. chmod +x add-ssh
  239. chmod +x trial-ssh
  240. chmod +x del-ssh
  241. chmod +x list-ssh
  242. chmod +x delete
  243. chmod +x cek-ssh
  244. chmod +x restart
  245. chmod +x speedtest
  246. chmod +x info
  247. chmod +x about
  248. chmod +x autokill
  249. chmod +x mulog
  250. chmod +x tendang
  251. chmod +x ceklim
  252. chmod +x ram
  253. chmod +x renew-ssh
  254. chmod +x clear-log
  255. chmod +x change-port
  256. chmod +x port-ovpn
  257. chmod +x port-ssl
  258. chmod +x port-wg
  259. chmod +x port-sstp
  260. chmod +x port-tr
  261. chmod +x port-squid
  262. chmod +x port-ws
  263. chmod +x port-vless
  264. chmod +x webmin
  265. chmod +x xp
  266. chmod +x kernel-up
  267. chmod +x update
  268. chmod +x auto-reboot
  269. echo "0 5 * * * root clear-log && reboot" >> /etc/crontab
  270. echo "0 0 * * * root xp" >> /etc/crontab
  271. # remove unnecessary files
  272. cd
  273. apt autoclean -y
  274. apt -y remove --purge unscd
  275. apt-get -y --purge remove samba*;
  276. apt-get -y --purge remove apache2*;
  277. apt-get -y --purge remove bind9*;
  278. apt-get -y remove sendmail*
  279. apt autoremove -y
  280. # finishing
  281. cd
  282. chown -R www-data:www-data /home/vps/public_html
  283. /etc/init.d/nginx restart
  284. /etc/init.d/openvpn restart
  285. /etc/init.d/cron restart
  286. /etc/init.d/ssh restart
  287. /etc/init.d/dropbear restart
  288. /etc/init.d/fail2ban restart
  289. /etc/init.d/stunnel4 restart
  290. /etc/init.d/vnstat restart
  291. /etc/init.d/squid restart
  292. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7100 --max-clients 500
  293. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7200 --max-clients 500
  294. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300 --max-clients 500
  295. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7400 --max-clients 500
  296. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7500 --max-clients 500
  297. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7600 --max-clients 500
  298. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7700 --max-clients 500
  299. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7800 --max-clients 500
  300. screen -dmS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7900 --max-clients 500
  301. history -c
  302. echo "unset HISTFILE" >> /etc/profile
  303. cd
  304. rm -f /root/key.pem
  305. rm -f /root/cert.pem
  306. rm -f /root/ssh-vpn.sh
  307. # finihsing
  308. clear