ferramentascodes 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785
  1. #!/bin/bash
  2. function_1 () {
  3. msg -bar #echo -e "${cor[1]} ➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶➶ ${cor[0]}"
  4. source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/back/blockT.sh)
  5. msg -bar #echo -e "${cor[1]} ➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷➷ ${cor[0]}"
  6. SHELL=/bin/sh
  7. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  8. export PATH=$PATH:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games
  9. read -p " Presiona Enter para Continuar"
  10. exit
  11. }
  12. function_2 () {
  13. msg -bar #
  14. echo -e 'Aplicando FIX para Vultr VPS Passwd'
  15. echo -e "Añadiendo Registro a PAM.D"
  16. sed -i 's/.*pam_cracklib.so.*/password sufficient pam_unix.so sha512 shadow nullok try_first_pass #use_authtok/' /etc/pam.d/common-password
  17. msg -bar #
  18. echo -e "Registro agregado"
  19. msg -bar #
  20. sleep 2s
  21. cgh
  22. }
  23. function_3 () {
  24. msg -bar
  25. echo -e "${cor[4]} BADVPN se instalará
  26. que no es más que un programa
  27. que libera puertos UDP en el servidor
  28. y así permitir el servicio de VideoLlamadas!"
  29. echo -e "${cor[5]} INICIANDO . . ."
  30. msg -bar
  31. source <(curl -sSL https://www.dropbox.com/s/0stqb3dzm47kky6/budp.sh)
  32. }
  33. function_5 () {
  34. msg -bar
  35. echo -e "${cor[4]} Este Script fue proyectado"
  36. echo -e "${cor[4]} Para Mejorar La Latencia"
  37. echo -e "${cor[4]} y velocidad del servidor!"
  38. msg -bar
  39. echo -e "${cor[5]} analizar"
  40. sleep 1s
  41. if [[ `grep -c "^#ADM" /etc/sysctl.conf` -eq 0 ]]; then
  42. #INSTALA
  43. echo -e "${cor[5]} Este es un script experimental"
  44. echo -e "${cor[5]} ¡Utilice por su propia cuenta y riesgo!"
  45. echo -e "${cor[5]} Este script cambiará algunas"
  46. echo -e "${cor[5]} configuraciones de red (BBR)"
  47. echo -e "${cor[5]} del sistema para reducir"
  48. echo -e "${cor[5]} la latencia y mejorar la velocidad"
  49. msg -bar #echo -e "${cor[1]} ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ${cor[0]}"
  50. read -p " Continuar con la instalación? [s/n]: " -e -i s resp_osta
  51. echo -e "\033[1;37m"
  52. if [[ "$resp_osta" = 's' ]]; then
  53. unset resp_osta
  54. echo "#ADM" >> /etc/sysctl.conf
  55. echo "net.ipv4.tcp_window_scaling = 1
  56. net.core.rmem_max = 16777216
  57. net.core.wmem_max = 16777216
  58. net.ipv4.tcp_rmem = 4096 87380 16777216
  59. net.ipv4.tcp_wmem = 4096 16384 16777216
  60. net.ipv4.tcp_low_latency = 1
  61. net.ipv4.tcp_slow_start_after_idle = 0
  62. net.core.default_qdisc=fq
  63. net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
  64. sysctl -p /etc/sysctl.conf > /dev/null 2>&1
  65. echo -e "${cor[5]} Configuración de red TCP"
  66. echo -e "${cor[5]} se han agregado con éxito"
  67. msg -bar #echo -e "${cor[1]} ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ${cor[0]}"
  68. return
  69. else
  70. msg -bar
  71. return
  72. fi
  73. else
  74. #REMOVE
  75. echo -e "${cor[5]} Configuración de red TCP"
  76. echo -e "${cor[5]} ya se han agregado en el sistema!"
  77. msg -bar
  78. read -p " Desea quitar la configuración TCP? [s/n]: " -e -i n res_posta
  79. if [[ "$res_posta" = 's' ]]; then
  80. unset res_posta
  81. grep -v "^#ADM
  82. net.ipv4.tcp_window_scaling = 1
  83. net.core.rmem_max = 16777216
  84. net.core.wmem_max = 16777216
  85. net.ipv4.tcp_rmem = 4096 87380 16777216
  86. net.ipv4.tcp_wmem = 4096 16384 16777216
  87. net.ipv4.tcp_low_latency = 1
  88. net.ipv4.tcp_slow_start_after_idle = 0
  89. net.core.default_qdisc=fq
  90. net.ipv4.tcp_congestion_control=bbr" /etc/sysctl.conf > /tmp/syscl && mv -f /tmp/syscl /etc/sysctl.conf
  91. sysctl -p /etc/sysctl.conf > /dev/null 2>&1
  92. echo -e "${cor[5]} Configuración de red TCP"
  93. echo -e "${cor[5]} se han eliminado con éxito"
  94. msg -bar
  95. return
  96. else
  97. msg -bar
  98. return
  99. fi
  100. fi
  101. }
  102. function_6 () {
  103. source fai2ban
  104. fail2ban-testcases -x start 2>/dev/null
  105. fail2ban-client -x start 2>/dev/null
  106. }
  107. function_8 () {
  108. msg -bar
  109. echo -e "${cor[5]} OPCION PARA COLOCAR"
  110. echo -e "${cor[5]} CUALQUIER ARCHIVO ONLINE"
  111. echo -e "${cor[5]} QUE ESTE ARCHIVO"
  112. echo -e "${cor[5]} EN EL DIRECTORIO \033[1;31m$HOME"
  113. msg -bar
  114. meu_ip
  115. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m➮\033[0;33m COLOCAR ARCHIVO ONLINE \033[0;32m(#)"
  116. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m➮\033[0;33m REMOVER ARCHIVO ONLINE \033[0;32m(#)"
  117. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m➮\033[0;31m VER MIS ARCHIVOS ONLINE \033[0;33m(#)"
  118. msg -bar
  119. echo -e " \033[0;35m [\033[0;36mENTER\033[0;35m]\033[0;31m ➮ $(msg -bra "\033[1;41m[ Regresar ]\e[0m")"
  120. read -p " 『 1-3 』: " arquivo_online_adm
  121. number_var $arquivo_online_adm
  122. if [ "$var_number" = "" ]; then
  123. return
  124. else
  125. online_adm="$var_number"
  126. fi
  127. if [ "$online_adm" -gt 3 ]; then
  128. echo -e "${cor[5]} VER MIS ARCHIVOS ONLINE"
  129. msg -bar
  130. return
  131. fi
  132. if [ "$online_adm" = 3 ]; then
  133. msg -bar
  134. for my_arqs in `ls /var/www/html`; do
  135. if [ "$my_arqs" != "index.html" ]; then
  136. if [ ! -d "$my_arqs" ]; then
  137. echo -e " \033[1;36mhttp://$IP:81/$my_arqs\033[0m"
  138. fi
  139. fi
  140. done
  141. msg -bar
  142. return
  143. fi
  144. if [ "$online_adm" = 2 ]; then
  145. msg -bar
  146. unset _cont
  147. _cont="1"
  148. for my_arqs in `ls /var/www/html`; do
  149. if [ "$my_arqs" != "index.html" ]; then
  150. if [ ! -d "$my_arqs" ]; then
  151. select_arc[$_cont]="$my_arqs"
  152. echo -e "\033[0;35m [\033[0;36m$_cont\033[0;35m]\033[0;31m ➮ ${cor[3]} $my_arqs => \033[1;36mhttp://$IP:81/$my_arqs\033[0m"
  153. _cont=$(($_cont + 1))
  154. fi
  155. fi
  156. done
  157. _cont=$(($_cont - 1))
  158. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  159. echo -e "${cor[5]} Seleccione un archivo:"
  160. read -p " [ 1-$_cont ]: " slct
  161. number_var $slct
  162. if [ "$var_number" = "" ]; then
  163. return
  164. else
  165. slct="$var_number"
  166. fi
  167. unset _cont
  168. arquivo_move="${select_arc[$slct]}"
  169. if [ "$arquivo_move" = "" ]; then
  170. echo -e "${cor[5]} Ningún archivo ha sido seleccionado"
  171. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  172. return
  173. fi
  174. rm -rf /var/www/html/$arquivo_move > /dev/null 2>&1
  175. rm -rf /var/www/$arquivo_move > /dev/null 2>&1
  176. echo -e "${cor[5]} Procedimiento Hecho Con Éxito"
  177. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  178. return
  179. fi
  180. unset _cont
  181. _cont="1"
  182. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  183. echo -e "${cor[5]} FICHEROS EN $HOME"
  184. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  185. for my_arqs in `ls $HOME`; do
  186. if [ ! -d "$my_arqs" ]; then
  187. select_arc[$_cont]="$my_arqs"
  188. echo -e "\033[0;35m [\033[0;36m$_cont\033[0;35m]\033[0;31m ➮ ${cor[3]}$my_arqs"
  189. _cont=$(($_cont + 1))
  190. fi
  191. done
  192. _cont=$(($_cont - 1))
  193. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  194. echo -e "${cor[5]} ${txt[177]}"
  195. read -p " 『 1-$_cont 』: " slct
  196. number_var $slct
  197. if [ "$var_number" = "" ]; then
  198. return
  199. else
  200. slct="$var_number"
  201. fi
  202. unset _cont
  203. arquivo_move="${select_arc[$slct]}"
  204. if [ "$arquivo_move" = "" ]; then
  205. echo -e "${cor[5]} ${txt[178]}"
  206. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  207. return
  208. fi
  209. if [ ! -d /var ]; then
  210. mkdir /var
  211. fi
  212. if [ ! -d /var/www ]; then
  213. mkdir /var/www
  214. fi
  215. if [ ! -d /var/www/html ]; then
  216. mkdir /var/www/html
  217. fi
  218. if [ ! -e /var/www/html/index.html ]; then
  219. touch /var/www/html/index.html
  220. fi
  221. if [ ! -e /var/www/index.html ]; then
  222. touch /var/www/index.html
  223. fi
  224. chmod -R 755 /var/www
  225. cp $HOME/$arquivo_move /var/www/$arquivo_move
  226. cp $HOME/$arquivo_move /var/www/html/$arquivo_move
  227. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  228. echo -e "${cor[5]} ${txt[180]}"
  229. msg -bar
  230. echo -e "\033[1;36m http://$IP:81/$arquivo_move\033[0m"
  231. msg -bar
  232. echo -e "${cor[5]} ${txt[179]}"
  233. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  234. }
  235. function_9 () {
  236. sudo apt install python3-pip > /dev/null 2>&1
  237. sudo pip install speedtest-cli > /dev/null 2>&1
  238. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  239. echo -e "${cor[4]} ${txt[184]}"
  240. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  241. #ping-down=$(speedtest-cli |awk '{print $10 $11}' |grep -v loss |cut -d = -f2 |sed ':a;N;s/\n//g;ta')
  242. ping=$(ping -c1 google.com |awk '{print $8 $9}' |grep -v loss |cut -d = -f2 |sed ':a;N;s/\n//g;ta')
  243. #starts_test=$(python ./speedtest.py)
  244. down_load=$(speedtest-cli | grep "Download" | awk '{print $2,$3}')
  245. up_load=$(speedtest-cli | grep "Upload" | awk '{print $2,$3}')
  246. echo -e "${cor[5]} ${txt[185]}: $ping "
  247. echo -e "${cor[5]} ${txt[186]}: $up_load"
  248. echo -e "${cor[5]} ${txt[187]}: $down_load"
  249. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  250. }
  251. function_10 () {
  252. null="\033[1;31m"
  253. msg -bar #echo -e "${cor[1]} ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ${cor[0]}"
  254. if [ ! /proc/cpuinfo ]; then
  255. echo -e "${cor[4]} ${txt[188]}"
  256. msg -bar #echo -e "${cor[1]} ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ${cor[0]}"
  257. return
  258. fi
  259. if [ ! /etc/issue.net ]; then
  260. echo -e "${cor[4]} ${txt[188]}"
  261. msg -bar #echo -e "${cor[1]} ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ${cor[0]}"
  262. return
  263. fi
  264. if [ ! /proc/meminfo ]; then
  265. echo -e "${cor[4]} ${txt[188]}"
  266. msg -bar #echo -e "${cor[1]} ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ${cor[0]}"
  267. return
  268. fi
  269. totalram=$(free | grep Mem | awk '{print $2}')
  270. usedram=$(free | grep Mem | awk '{print $3}')
  271. freeram=$(free | grep Mem | awk '{print $4}')
  272. swapram=$(cat /proc/meminfo | grep SwapTotal | awk '{print $2}')
  273. system=$(cat /etc/issue.net)
  274. clock=$(lscpu | grep "CPU MHz" | awk '{print $3}')
  275. based=$(cat /etc/*release | grep ID_LIKE | awk -F "=" '{print $2}')
  276. processor=$(cat /proc/cpuinfo | grep "model name" | uniq | awk -F ":" '{print $2}')
  277. cpus=$(cat /proc/cpuinfo | grep processor | wc -l)
  278. if [ "$system" ]; then
  279. echo -e "${cor[5]} ${txt[189]}: ${null}$system"
  280. else
  281. echo -e "${cor[5]} ${txt[189]}: ${null}???"
  282. fi
  283. if [ "$based" ]; then
  284. echo -e "${cor[5]} ${txt[190]}: ${null}$based"
  285. else
  286. echo -e "${cor[5]} ${txt[190]}: ${null}???"
  287. fi
  288. if [ "$processor" ]; then
  289. echo -e "${cor[5]} ${txt[191]}: ${null}$processor x$cpus"
  290. else
  291. echo -e "${cor[5]} ${txt[191]}: ${null}???"
  292. fi
  293. if [ "$clock" ]; then
  294. echo -e "${cor[5]} ${txt[192]}: ${null}$clock MHz"
  295. else
  296. echo -e "${cor[5]} ${txt[192]}: ${null}???"
  297. fi
  298. echo -e "${cor[5]} ${txt[193]}: ${null}$(ps aux | awk 'BEGIN { sum = 0 } { sum += sprintf("%f",$3) }; END { printf " " "%.2f" "%%", sum}')"
  299. echo -e "${cor[5]} Arquitectura CPU ID : ${null}$(lscpu | grep "Vendor ID" | awk '{print $3}')"
  300. echo -e "${cor[5]} ${txt[194]}: ${null}$(($totalram / 1024))"
  301. echo -e "${cor[5]} ${txt[195]}: ${null}$(($usedram / 1024))"
  302. echo -e "${cor[5]} ${txt[196]}: ${null}$(($freeram / 1024))"
  303. echo -e "${cor[5]} ${txt[197]}: ${null}$(($swapram / 1024))MB"
  304. echo -e "${cor[5]} ${txt[198]}: ${null}$(uptime)"
  305. echo -e "${cor[5]} ${txt[199]}: ${null}$(hostname)"
  306. echo -e "${cor[5]} ${txt[200]}: ${null}$(ip addr | grep inet | grep -v inet6 | grep -v "host lo" | awk '{print $2}' | awk -F "/" '{print $1}')"
  307. echo -e "${cor[5]} ${txt[201]}: ${null}$(uname -r)"
  308. echo -e "${cor[5]} ${txt[202]}: ${null}$(uname -m)"
  309. msg -bar #echo -e "${cor[1]} ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ${cor[0]}"
  310. return
  311. }
  312. function_11 () {
  313. payload="/etc/payloads"
  314. if [ ! -f "$payload" ]; then
  315. echo -e "${cor[5]} $payload ${txt[213]}"
  316. echo -e "${cor[5]} ${txt[214]}"
  317. return
  318. fi
  319. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  320. echo -e "${cor[2]} |1| >${cor[3]} ${txt[215]}"
  321. echo -e "${cor[2]} |2| >${cor[3]} ${txt[216]}"
  322. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  323. read -p " | 1 - 2 |: " var_pay
  324. number_var $var_pay
  325. if [ "$var_number" = "" ]; then
  326. echo -e "\033[1;31m ${txt[217]}"
  327. return
  328. else
  329. var_payload="$var_number"
  330. fi
  331. if [ "$var_payload" -gt "2" ]; then
  332. echo -e "\033[1;31m ${txt[217]}"
  333. return
  334. fi
  335. if [ "$var_payload" = "1" ]; then
  336. echo -e "${cor[4]} ${txt[215]}"
  337. echo -e "${cor[5]} ${txt[218]} $payload:"
  338. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  339. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  340. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  341. read -p " ${txt[219]} ${txt[220]}: " hos
  342. if [[ $hos != \.* ]]; then
  343. echo -e "${cor[5]} ${txt[220]}"
  344. return
  345. fi
  346. host="$hos/"
  347. if [[ -z $host ]]; then
  348. echo -e "${cor[5]} ${txt[221]}"
  349. return
  350. fi
  351. if [[ `grep -c "^$host" $payload` -eq 1 ]]; then
  352. echo -e "${cor[5]} ${txt[222]}"
  353. return
  354. fi
  355. echo "$host" >> $payload && grep -v "^$" $payload > /tmp/a && mv /tmp/a $payload
  356. echo -e "${cor[5]} ${txt[223]}"
  357. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  358. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  359. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  360. if [ ! -f "/etc/init.d/squid" ]; then
  361. service squid3 reload
  362. service squid3 restart
  363. else
  364. /etc/init.d/squid reload
  365. service squid restart
  366. fi
  367. return
  368. fi
  369. if [ "$var_payload" = "2" ]; then
  370. echo -e "${cor[4]} ${txt[216]}"
  371. echo -e "${cor[5]} ${txt[218]} $payload:"
  372. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  373. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  374. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  375. read -p " ${txt[224]} ${txt[220]}: " hos
  376. if [[ $hos != \.* ]]; then
  377. echo -e "${cor[5]} ${txt[220]}"
  378. return
  379. fi
  380. host="$hos/"
  381. if [[ -z $host ]]; then
  382. echo -e "${cor[5]} ${txt[221]}"
  383. return
  384. fi
  385. if [[ `grep -c "^$host" $payload` -ne 1 ]]; then
  386. echo -e "${cor[5]} ${txt[225]}"
  387. return
  388. fi
  389. grep -v "^$host" $payload > /tmp/a && mv /tmp/a $payload
  390. echo -e "${cor[5]} ${txt[223]}"
  391. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  392. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  393. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  394. if [ ! -f "/etc/init.d/squid" ]; then
  395. service squid3 reload
  396. service squid3 restart
  397. else
  398. /etc/init.d/squid reload
  399. service squid restart
  400. fi
  401. return
  402. fi
  403. }
  404. criar_pay () {
  405. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  406. echo -e "${cor[5]} ${txt[258]}"
  407. echo -e "${cor[5]} ${txt[259]}"
  408. echo -e "${cor[5]} ${txt[260]}"
  409. echo -e "${cor[5]} ${txt[261]}"
  410. msg -bar #echo -e "${cor[1]} =================================== ${cor[3]}"
  411. read -p " => " valor1
  412. if [ "$valor1" = "" ]; then
  413. echo -e "${cor[5]} ${txt[262]}"
  414. return
  415. fi
  416. meu_ip
  417. valor2="$IP"
  418. if [ "$valor2" = "" ]; then
  419. valor2="127.0.0.1"
  420. fi
  421. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  422. echo -e "${cor[5]} ${txt[264]} ${cor[3]}"
  423. echo -e " 1-GET"
  424. echo -e " 2-CONNECT"
  425. echo -e " 3-PUT"
  426. echo -e " 4-OPTIONS"
  427. echo -e " 5-DELETE"
  428. echo -e " 6-HEAD"
  429. echo -e " 7-TRACE"
  430. echo -e " 8-PROPATCH"
  431. echo -e " 9-PATCH"
  432. msg -bar #echo -e "${cor[1]} =================================== ${cor[3]}"
  433. read -p " => " valor3
  434. case $valor3 in
  435. 1)req="GET";;
  436. 2)req="CONNECT";;
  437. 3)req="PUT";;
  438. 4)req="OPTIONS";;
  439. 5)req="DELETE";;
  440. 6)req="HEAD";;
  441. 7)req="TRACE";;
  442. 8)req="PROPATCH";;
  443. 9)req="PATCH";;
  444. *)req="GET";;
  445. esac
  446. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  447. echo -e "${cor[5]} ${txt[265]}"
  448. echo -e "${cor[5]} ${txt[266]} ${cor[3]}"
  449. echo -e " 1-realData"
  450. echo -e " 2-netData"
  451. echo -e " 3-raw"
  452. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  453. read -p " => " valor4
  454. case $valor4 in
  455. 1)in="realData";;
  456. 2)in="netData";;
  457. 3)in="raw";;
  458. *)in="netData";;
  459. esac
  460. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  461. name=$(echo $valor1 | awk -F "/" '{print $2'})
  462. if [ "$name" = "" ]; then
  463. name=$(echo $valor1 | awk -F "/" '{print $1'})
  464. fi
  465. esquelet="/etc/adm-lite/payloads"
  466. sed -s "s;realData;abc;g" $esquelet > $HOME/$name.txt
  467. sed -i "s;netData;abc;g" $HOME/$name.txt
  468. sed -i "s;raw;abc;g" $HOME/$name.txt
  469. sed -i "s;abc;$in;g" $HOME/$name.txt
  470. sed -i "s;get;$req;g" $HOME/$name.txt
  471. sed -i "s;mhost;$valor1;g" $HOME/$name.txt
  472. sed -i "s;mip;$valor2;g" $HOME/$name.txt
  473. if [ "$(cat $HOME/$name.txt | egrep -o "$valor1")" = "" ]; then
  474. echo -e ""
  475. echo -e "${cor[3]} ${txt[267]} \033[1;36m${txt[268]}"
  476. rm $HOME/$name.txt
  477. return
  478. fi
  479. echo -e "${cor[3]} ${txt[269]}"
  480. echo -e "${cor[3]} ${txt[270]} \033[1;31m$HOME/$name.txt"
  481. return
  482. }
  483. fun_bar () {
  484. comando="$1"
  485. (
  486. [[ -e $HOME/fim ]] && rm $HOME/fim
  487. $comando -y > /dev/null 2>&1
  488. touch $HOME/fim
  489. ) & > /dev/null
  490. echo -ne "\033[1;33m ["
  491. while true; do
  492. for((i=0; i<=10; i++)); do
  493. echo -ne "\033[1;31m#"
  494. sleep 0.3s
  495. done
  496. [[ -e $HOME/fim ]] && {
  497. rm $HOME/fim
  498. break
  499. }
  500. echo
  501. echo -ne "\033[1;33m ["
  502. done
  503. echo -e "\033[1;33m]\033[1;31m -\033[1;32m 100%\033[1;37m"
  504. }
  505. vnc_fun () {
  506. clear
  507. toolmaster
  508. }
  509. block_torrent () {
  510. mportas () {
  511. unset portas
  512. portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN")
  513. while read port; do
  514. var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}')
  515. [[ "$(echo -e $portas|grep "$var1 $var2")" ]] || portas+="$var1 $var2\n"
  516. done <<< "$portas_var"
  517. i=1
  518. echo -e "$portas"
  519. }
  520. fun_ip () {
  521. MEU_IP=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
  522. MEU_IP2=$(wget -qO- ipv4.icanhazip.com)
  523. [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" || IP="$MEU_IP"
  524. }
  525. barra="${cor[1]} =================================== ${cor[0]}"
  526. [[ -e /etc/adm-lite/idioma_menuinst ]] && id="$(cat /etc/adm-lite/idioma_menuinst)" || id=pt
  527. [[ $(iptables -h|wc -l) -lt 5 ]] && apt-get install iptables -y > /dev/null 2>-1
  528. NIC=$(ip -4 route ls | grep default | grep -Po '(?<=dev )(\S+)' | head -1)
  529. echo -e "$barra\n $(source trans -b pt:${id} "Estas configuraciones van a ser adicionadas")"
  530. echo -e " $(source trans -b pt:${id} "Recuerda, Tener tu VPS Totalmente Configurada!")\n$barra"
  531. echo -e " $(source trans -b pt:${id} "Deseas Continuar?")"
  532. read -p " [S/N]: " -e -i n PROS
  533. [[ $PROS = @(s|S|y|Y) ]] || return 1
  534. fun_ip #Pega IP e armazena em uma variavel
  535. #Inicia Procedimentos
  536. #Parametros iniciais
  537. echo 'iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  538. iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  539. iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  540. iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT' > ./torrent-adm
  541. chmod +x ./torrent-adm
  542. #libera DNS
  543. echo 'iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
  544. iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT' >> ./torrent-adm
  545. #Liberar DHCP
  546. echo 'iptables -A OUTPUT -p tcp --dport 67 -m state --state NEW -j ACCEPT
  547. iptables -A OUTPUT -p udp --dport 67 -m state --state NEW -j ACCEPT' >> ./torrent-adm
  548. #Liberando Serviços Ativos
  549. list_ips=$(mportas|awk '{print $2}')
  550. while read PORT; do
  551. echo "iptables -A INPUT -p tcp --dport $PORT -j ACCEPT
  552. iptables -A INPUT -p udp --dport $PORT -j ACCEPT
  553. iptables -A OUTPUT -p tcp --dport $PORT -j ACCEPT
  554. iptables -A OUTPUT -p udp --dport $PORT -j ACCEPT
  555. iptables -A FORWARD -p tcp --dport $PORT -j ACCEPT
  556. iptables -A FORWARD -p udp --dport $PORT -j ACCEPT
  557. iptables -A OUTPUT -p tcp -d $IP --dport $PORT -m state --state NEW -j ACCEPT
  558. iptables -A OUTPUT -p udp -d $IP --dport $PORT -m state --state NEW -j ACCEPT" >> ./torrent-adm
  559. done <<< "$list_ips"
  560. #Bloqueando Ping
  561. echo 'iptables -A INPUT -p icmp --icmp-type echo-request -j DROP' >> ./torrent-adm
  562. #Liberar WEBMIN
  563. echo 'iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
  564. iptables -A OUTPUT -p tcp --dport 10000 -j ACCEPT' >> ./torrent-adm
  565. #Bloqueando torrent
  566. echo "iptables -t nat -A PREROUTING -i $NIC -p tcp --dport 6881:6889 -j DNAT --to-dest $IP
  567. iptables -A FORWARD -p tcp -i $NIC --dport 6881:6889 -d $IP -j REJECT
  568. iptables -A OUTPUT -p tcp --dport 6881:6889 -j DROP
  569. iptables -A OUTPUT -p udp --dport 6881:6889 -j DROP" >> ./torrent-adm
  570. echo 'iptables -A FORWARD -m string --algo bm --string "BitTorrent" -j DROP
  571. iptables -A FORWARD -m string --algo bm --string "BitTorrent protocol" -j DROP
  572. iptables -A FORWARD -m string --algo bm --string "peer_id=" -j DROP
  573. iptables -A FORWARD -m string --algo bm --string ".torrent" -j DROP
  574. iptables -A FORWARD -m string --algo bm --string "announce.php?passkey=" -j DROP
  575. iptables -A FORWARD -m string --algo bm --string "torrent" -j DROP
  576. iptables -A FORWARD -m string --algo bm --string "announce" -j DROP
  577. iptables -A FORWARD -m string --algo bm --string "info_hash" -j DROP
  578. iptables -A FORWARD -m string --string "get_peers" --algo bm -j DROP
  579. iptables -A FORWARD -m string --string "announce_peer" --algo bm -j DROP
  580. iptables -A FORWARD -m string --string "find_node" --algo bm -j DROP' >> ./torrent-adm
  581. ./torrent-adm
  582. echo -e "$barra\n $(source trans -b pt:${id} "Aplicado!")\n$barra"
  583. }
  584. paybrute () {
  585. chmod +x ./paysnd.sh
  586. ./paysnd.sh
  587. }
  588. function_16 () {
  589. tmp_arq="/tmp/arq-tmp"
  590. if [ -d "/etc/squid" ]; then
  591. pwd="/etc/squid/passwd"
  592. config_="/etc/squid/squid.conf"
  593. service_="squid"
  594. squid_="0"
  595. elif [ -d "/etc/squid3" ]; then
  596. pwd="/etc/squid3/passwd"
  597. config_="/etc/squid3/squid.conf"
  598. service_="squid3"
  599. squid_="1"
  600. fi
  601. [[ ! -e $config_ ]] &&
  602. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}" &&
  603. echo -e " \033[1;36m${txt[326]}" &&
  604. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}" &&
  605. return 0
  606. if [ -e $pwd ]; then
  607. echo -e "${cor[3]} "${txt[330]}""
  608. read -p " [S/N]: " -e -i n sshsn
  609. [[ "$sshsn" = @(s|S|y|Y) ]] && {
  610. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  611. echo -e " \033[1;36mUninstalling DEPENDENCE:"
  612. fun_bar 'apt-get remove apache2-utils'
  613. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  614. cat $config_ | grep -v '#Password' > $tmp_arq
  615. mv -f $tmp_arq $config_
  616. cat $config_ | grep -v '^auth_param.*passwd*$' > $tmp_arq
  617. mv -f $tmp_arq $config_
  618. cat $config_ | grep -v '^auth_param.*proxy*$' > $tmp_arq
  619. mv -f $tmp_arq $config_
  620. cat $config_ | grep -v '^acl.*REQUIRED*$' > $tmp_arq
  621. mv -f $tmp_arq $config_
  622. cat $config_ | grep -v '^http_access.*authenticated*$' > $tmp_arq
  623. mv -f $tmp_arq $config_
  624. cat $config_ | grep -v '^http_access.*all*$' > $tmp_arq
  625. mv -f $tmp_arq $config_
  626. echo -e "
  627. http_access allow all" >> "$config_"
  628. rm -f $pwd
  629. service $service_ restart > /dev/null 2>&1 &
  630. echo -e " \033[1;31m${txt[327]}"
  631. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  632. }
  633. else
  634. echo -e "${cor[3]} "${txt[329]}""
  635. read -p " [S/N]: " -e -i n sshsn
  636. [[ "$sshsn" = @(s|S|y|Y) ]] && {
  637. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  638. echo -e " \033[1;36mInstalling DEPENDENCE:"
  639. fun_bar 'apt-get install apache2-utils'
  640. msg -bar #echo -e "${cor[1]} =================================== ${cor[3]}"
  641. read -e -p " Your desired username: " usrn
  642. [[ $usrn = "" ]] &&
  643. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}" &&
  644. echo -e " \033[1;31m${txt[328]}" &&
  645. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}" &&
  646. return 0
  647. htpasswd -c $pwd $usrn
  648. succes_=$(grep -c "$usrn" $pwd)
  649. if [ "$succes_" = "0" ]; then
  650. rm -f $pwd
  651. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  652. echo -e " \033[1;31m${txt[324]}"
  653. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  654. return 0
  655. elif [[ "$succes_" = "1" ]]; then
  656. cat $config_ | grep -v '^http_access.*all*$' > $tmp_arq
  657. mv -f $tmp_arq $config_
  658. if [ "$squid_" = "0" ]; then
  659. echo -e "#Password
  660. auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
  661. auth_param basic realm proxy
  662. acl authenticated proxy_auth REQUIRED
  663. http_access allow authenticated
  664. http_access deny all" >> "$config_"
  665. service squid restart > /dev/null 2>&1 &
  666. update-rc.d squid defaults > /dev/null 2>&1 &
  667. elif [ "$squid_" = "1" ]; then
  668. echo -e "#Password
  669. auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwd
  670. auth_param basic realm proxy
  671. acl authenticated proxy_auth REQUIRED
  672. http_access allow authenticated
  673. http_access deny all" >> "$config_"
  674. service squid3 restart > /dev/null 2>&1 &
  675. update-rc.d squid3 defaults > /dev/null 2>&1 &
  676. fi
  677. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  678. echo -e " \033[1;32m${txt[325]}"
  679. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  680. fi
  681. }
  682. fi
  683. }
  684. function_17 () {
  685. echo -e "${cor[3]} "${txt[333]}""
  686. read -p " [S/N]: " -e -i n sshsn
  687. [[ "$sshsn" = @(s|S|y|Y) ]] && {
  688. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  689. echo -e "\033[1;36m ${txt[334]}"
  690. sleep 3s
  691. msg -bar #echo -e "${cor[1]} =================================== ${cor[0]}"
  692. echo -e "\033[1;36m OK"
  693. sleep 1s
  694. sudo reboot
  695. }
  696. }
  697. ofuscarte_fun () {
  698. _cont=1
  699. #[[ ! -e /usr/local/bin/shc ]] &&
  700. bash <(wget -qO- https://www.dropbox.com/s/9gror9872zlqjle/ofuscar.sh) || echo -e "SHC Instalado"
  701. echo -e "${cor[5]} ${txt[181]} /root/"
  702. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  703. for my_arqs in `ls $HOME`; do
  704. if [ ! -d "$my_arqs" ]; then
  705. select_arc[$_cont]="$my_arqs"
  706. echo -e "${cor[2]} |$_cont| >${cor[3]}$my_arqs"
  707. _cont=$(($_cont + 1))
  708. fi
  709. done
  710. _cont=$(($_cont - 1))
  711. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  712. echo -e "${cor[5]} Escoje nombre o numero del fichero a Ofuscar : "
  713. read -p " | 1 - $_cont |: " slct
  714. number_var $slct
  715. if [ "$var_number" = "" ]; then
  716. return
  717. else
  718. slct="$var_number"
  719. fi
  720. unset _cont
  721. arquivo_move="${select_arc[$slct]}"
  722. if [ "$arquivo_move" = "" ]; then
  723. echo -e "${cor[5]} ${txt[178]}"
  724. msg -bar #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  725. return
  726. else
  727. echo -e " Archivo $arquivo_move seleccionado "
  728. fi
  729. unset ssnn
  730. #read -p "Escoje nombre del fichero a Ofuscar : " namefichero
  731. shc -rvf "$arquivo_move" && "EXITO AL OFUSCAR" || echo "Error al OFUSCAR"
  732. echo -e "El fichero Ofuscado es $HOME/$arquivo_move.x"
  733. [[ -e $arquivo_move.x ]] && chmod +x "$HOME/$arquivo_move.x" || echo "ERROT AL OFUSCAR"
  734. read -p " Deseas cargar Fichero Online [s/n] : " ssnn
  735. [[ "$ssnn" = @(s|S|y|Y) ]] && {
  736. [[ ! -d /var/www/html/ofus ]] && mkdir /var/www/html/ofus
  737. [[ -e "$arquivo_move.x" ]] && mv $arquivo_move.x /var/www/html/ofus/$arquivo_move
  738. msg -bar
  739. #echo -e "${cor[1]} ====================================================== ${cor[0]}"
  740. echo -e "${cor[5]} ${txt[180]}"
  741. echo -e "\033[1;36m http://$(wget -qO- ifconfig.me):81/ofus/$arquivo_move.sh\033[0m"
  742. echo -e "${cor[5]} ${txt[179]}"
  743. }
  744. }
  745. ############################
  746. [[ "$1" = "1" ]] && function_1
  747. [[ "$1" = "2" ]] && function_2
  748. [[ "$1" = "3" ]] && function_3
  749. [[ "$1" = "4" ]] && function_3
  750. [[ "$1" = "5" ]] && function_5
  751. [[ "$1" = "6" ]] && function_6
  752. [[ "$1" = "7" ]] && function_7
  753. [[ "$1" = "8" ]] && function_8
  754. [[ "$1" = "9" ]] && function_9
  755. [[ "$1" = "10" ]] && function_10
  756. [[ "$1" = "11" ]] && function_11
  757. [[ "$1" = "12" ]] && criar_pay
  758. [[ "$1" = "13" ]] && vnc_fun
  759. [[ "$1" = "14" ]] && paybrute
  760. [[ "$1" = "15" ]] && block_torrent
  761. [[ "$1" = "16" ]] && function_16
  762. [[ "$1" = "17" ]] && function_17