1
0

initcheck.sh 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. #!/bin/bash
  2. [[ -e /bin/ejecutar/msg ]] && source /bin/ejecutar/msg || source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg)
  3. source /etc/adm-lite/cabecalho
  4. #FUNCION DE SELECCION
  5. selection_fun () {
  6. local selection="null"
  7. local range
  8. for((i=0; i<=$1; i++)); do range[$i]="$i "; done
  9. while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do
  10. echo -ne "\033[1;37m Opcion: " >&2
  11. read selection
  12. tput cuu1 >&2 && tput dl1 >&2
  13. done
  14. echo $selection
  15. }
  16. chk_ip=${IP}
  17. mportas(){
  18. unset portas
  19. portas_var=$(lsof -V -i -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND")
  20. while read port; do
  21. var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}')
  22. [[ "$(echo -e $portas|grep "$var1 $var2")" ]] || portas+="$var1 $var2\n"
  23. done <<< "$portas_var"
  24. i=1
  25. echo -e "$portas"
  26. }
  27. start(){
  28. [[ -e /bin/ejecutar/checkuser.py ]] || wget -q -O /bin/ejecutar/checkuser.py https://www.dropbox.com/s/636hdjb1tw43uws/chekuser.py && chmod +x /bin/ejecutar/checkuser.py
  29. if [[ $(systemctl is-active chekuser) = "active" ]]; then
  30. title 'DESABILITANDO CHEKUSER'
  31. systemctl stop chekuser &>/dev/null
  32. systemctl disable chekuser &>/dev/null
  33. rm -rf /etc/systemd/system/chekuser.service
  34. print_center -verd 'chekuser, se desactivo con exito!'
  35. enter
  36. return
  37. fi
  38. title 'SELECCIONA UN PERTO'
  39. while [[ -z "${chekuser}" ]]; do
  40. dport=$(shuf -i 82-150 -n 1)
  41. chekuser=$(in_opcion -nama "Ingresa un puerto [def = ${dport}]")
  42. [ -z "${chekuser}" ] && chekuser=${dport}
  43. del 1
  44. [[ $chekuser = 0 ]] && return
  45. if [[ ! $chekuser =~ $numero ]]; then
  46. print_center -verm2 'ingresa solo numeros!'
  47. sleep 2
  48. del 1
  49. unset chekuser
  50. elif [[ $chekuser -lt 10 ]]; then
  51. print_center -verm2 'ingresa un numero mayor a 10'
  52. sleep 2
  53. del 1
  54. unset chekuser
  55. elif [[ $chekuser -gt 65535 ]]; then
  56. print_center -verm2 'ingresa un numero menor a 65535'
  57. sleep 2
  58. del 1
  59. unset chekuser
  60. elif [[ $(mportas|grep -w "$chekuser") ]]; then
  61. print_center -verm2 "Puerto en uso!"
  62. sleep 2
  63. del 1
  64. unset chekuser
  65. fi
  66. done
  67. echo " $(msg -ama "Puerto") $(msg -verd "$chekuser")"
  68. msg -bar
  69. print_center 'SELECCIONA UN FORMATO DE FECHA'
  70. msg -bar
  71. menu_func 'YYYY/MM/DD' 'DD/MM/YYYY'
  72. msg -bar
  73. date=$(selection_fun 2)
  74. case $date in
  75. 1)fecha="YYYY/MM/DD";;
  76. 2)fecha="DD/MM/YYYY";;
  77. esac
  78. [[ $date = 0 ]] && return
  79. del 5
  80. echo " $(msg -ama "Formato") $(msg -verd "$fecha")"
  81. enter
  82. del 2
  83. print_center -ama 'Instalandon python3-pip'
  84. if apt install -y python3-pip &>/dev/null; then
  85. del 1
  86. print_center -verd 'Instalandon python3-pip ok'
  87. else
  88. del 1
  89. print_center -verm2 'falla al instalar python3-pip\nintente instalar manualmente\n\ncomando manual >> apt install -y python3-pip\n\nresuelva esta falla para luego intentar'
  90. enter
  91. return
  92. fi
  93. print_center -ama 'Instalandon flask'
  94. if pip3 install flask &>/dev/null; then
  95. del 1
  96. print_center -verd 'Instalandon flask ok'
  97. else
  98. del 1
  99. print_center -verm2 '\nfalla al instalar flask\nintente instalar manualmente\n\ncomando manual >> pip3 install flask\n\nresuelva esta falla para luego intentar'
  100. enter
  101. return
  102. fi
  103. print_center -ama 'Instalandon check'
  104. if wget -O /usr/bin/check https://www.dropbox.com/s/r2madnleejjqhw1/check.sh &>/dev/null; then
  105. chmod +x /usr/bin/check
  106. mkdir /etc/rec
  107. del 1
  108. print_center -verd 'Instalandon check ok'
  109. else
  110. del 1
  111. print_center -verm2 '\nfalla al instalar check\nintente instalar manualmente\n\nresuelva esta falla para luego intentar'
  112. enter
  113. return
  114. fi
  115. print_center -ama 'Iniciando servicio'
  116. if [[ $(systemctl is-active chekuser) = "active" ]]; then
  117. systemctl stop chekuser &>/dev/null
  118. systemctl disable chekuser &>/dev/null
  119. fi
  120. rm -rf /etc/systemd/system/chekuser.service
  121. echo -e "[Unit]
  122. Description=chekuser Service by @ChumoGH
  123. After=network.target
  124. StartLimitIntervalSec=0
  125. [Service]
  126. Type=simple
  127. User=root
  128. WorkingDirectory=/root
  129. ExecStart=/usr/bin/python3 /bin/ejecutar/checkuser.py $chekuser $date
  130. Restart=always
  131. RestartSec=3s
  132. [Install]
  133. WantedBy=multi-user.target" > /etc/systemd/system/chekuser.service
  134. # ExecStart=/usr/bin/python3 ${ADM_inst}/chekuser.py $chekuser $date
  135. # ps x|grep -v grep|grep chekuser.py|awk '{print $7}'
  136. systemctl enable chekuser &>/dev/null
  137. systemctl start chekuser &>/dev/null
  138. if [[ $(systemctl is-active chekuser) = "active" ]]; then
  139. title -verd 'Instalacion completa'
  140. print_center -ama "URL: http://$chk_ip:$chekuser/checkUser"
  141. else
  142. systemctl stop chekuser &>/dev/null
  143. systemctl disable chekuser &>/dev/null
  144. rm -rf /etc/systemd/system/chekuser.service
  145. print_center -verm2 'falla al iniciar servicio chekuser'
  146. fi
  147. enter
  148. }
  149. _onli() {
  150. print_center -ama 'Instalandon check'
  151. if wget -O /usr/bin/onlineapp https://www.dropbox.com/s/x8wcrnj5gho4d39/onlineapp.sh &>/dev/null; then
  152. chmod +x /usr/bin/onlineapp
  153. mkdir /etc/rec
  154. del 1
  155. print_center -verd 'Instalando onlineapp ok'
  156. else
  157. del 1
  158. print_center -verm2 '\nfalla al instalar onlineapp\nintente instalar manualmente\n\nresuelva esta falla para luego intentar'
  159. enter
  160. return
  161. fi
  162. print_center -ama 'Iniciando servicio'
  163. if [[ $(systemctl is-active onliuser) = "active" ]]; then
  164. systemctl stop onliuser &>/dev/null
  165. systemctl disable onliuser &>/dev/null
  166. fi
  167. rm -rf /etc/systemd/system/onliuser.service
  168. echo -e "[Unit]
  169. Description=onliuser Service by @ChumoGH
  170. After=network.target
  171. StartLimitIntervalSec=0
  172. [Service]
  173. Type=simple
  174. User=root
  175. WorkingDirectory=/root
  176. ExecStart=/usr/bin/onlineapp
  177. Restart=always
  178. RestartSec=15s
  179. [Install]
  180. WantedBy=multi-user.target" > /etc/systemd/system/onliuser.service
  181. systemctl enable onliuser &>/dev/null
  182. systemctl start onliuser &>/dev/null
  183. if [[ $(systemctl is-active onliuser) = "active" ]]; then
  184. title -verd 'Instalacion completa'
  185. print_center -ama "URL: http://$chk_ip:81/server/online"
  186. else
  187. systemctl stop onliuser &>/dev/null
  188. systemctl disable onliuser &>/dev/null
  189. rm -rf /etc/systemd/system/onliuser.service
  190. print_center -verm2 'falla al iniciar servicio User Activos'
  191. fi
  192. enter
  193. }
  194. mod_port(){
  195. title 'SELECCIONA UN PERTO'
  196. while [[ -z "${chekuser}" ]]; do
  197. dport=$(shuf -i 82-90 -n 1)
  198. chekuser=$(in_opcion -nama "Ingresa un puerto [def = ${dport}]")
  199. [ -z "${chekuser}" ] && chekuser=${dport}
  200. del 1
  201. if [[ ! $chekuser =~ $numero ]]; then
  202. print_center -verm2 'ingresa solo numeros!'
  203. sleep 2
  204. del 1
  205. unset chekuser
  206. elif [[ $chekuser -lt 10 ]]; then
  207. print_center -verm2 'ingresa un numero mayor a 10'
  208. sleep 2
  209. del 1
  210. unset chekuser
  211. elif [[ $chekuser -gt 65535 ]]; then
  212. print_center -verm2 'ingresa un numero menor a 65535'
  213. sleep 2
  214. del 1
  215. unset chekuser
  216. elif [[ ! $(mportas|grep -w "$PORT") ]]; then
  217. print_center -verm2 "Puerto en uso!"
  218. sleep 2
  219. del 1
  220. unset chekuser
  221. fi
  222. done
  223. echo " $(msg -ama "Puerto") $(msg -verd "$chekuser")"
  224. enter
  225. port_chek=$(ps x|grep -v grep|grep chekuser.py|awk '{print $7}')
  226. systemctl stop chekuser &>/dev/null
  227. systemctl disable chekuser &>/dev/null
  228. sed -i "s/$port_chek/$chekuser/g" /etc/systemd/system/chekuser.service
  229. systemctl enable chekuser &>/dev/null
  230. systemctl start chekuser &>/dev/null
  231. if [[ $(systemctl is-active chekuser) = "active" ]]; then
  232. title -verd 'puerto modificado'
  233. print_center -ama "URL: http://$chk_ip:$chekuser/checkUser"
  234. else
  235. systemctl stop chekuser &>/dev/null
  236. systemctl disable chekuser &>/dev/null
  237. rm -rf /etc/systemd/system/chekuser.service
  238. print_center -verm2 'algo salio mal\nfalla al iniciar servicio chekuser'
  239. fi
  240. enter
  241. }
  242. mod_fdate(){
  243. title 'SELECCIONA UN FORMATO DE FECHA'
  244. menu_func 'YYYY/MM/DD' 'DD/MM/YYYY'
  245. msg -bar
  246. date=$(selection_fun 2)
  247. case $date in
  248. 1)fecha="YYYY/MM/DD";;
  249. 2)fecha="DD/MM/YYYY";;
  250. esac
  251. [[ $date = 0 ]] && return
  252. del 3
  253. echo " $(msg -ama "Formato") $(msg -verd "$fecha")"
  254. enter
  255. formato=$(ps x|grep -v grep|grep chekuser.py|awk '{print $8}')
  256. systemctl stop chekuser &>/dev/null
  257. systemctl disable chekuser &>/dev/null
  258. sed -i "s/$formato/$date/g" /etc/systemd/system/chekuser.service
  259. systemctl enable chekuser &>/dev/null
  260. systemctl start chekuser &>/dev/null
  261. if [[ $(systemctl is-active chekuser) = "active" ]]; then
  262. title -verd 'formato de fecha modificado'
  263. print_center -ama "FORMATO: $fecha"
  264. else
  265. systemctl stop chekuser &>/dev/null
  266. systemctl disable chekuser &>/dev/null
  267. rm -rf /etc/systemd/system/chekuser.service
  268. print_center -verm2 'algo salio mal\nfalla al iniciar servicio chekuser'
  269. fi
  270. enter
  271. }
  272. menu_chekuser(){
  273. title 'VERIFICACION DE USUARIOS ONLINE'
  274. num=1
  275. if [[ $(systemctl is-active chekuser) = "active" ]]; then
  276. formato=$(ps x|grep -v grep|grep chekuser.py|awk '{print $8}')
  277. case $formato in
  278. 1)fecha_data="YYYY/MM/DD";;
  279. 2)fecha_data="DD/MM/YYYY";;
  280. esac
  281. fecha_data=$(printf '%15s' "$fecha_data")
  282. port_chek=$(ps x|grep -v grep|grep checkuser.py|awk '{print $7}')
  283. print_center -ama "URL: http://$chk_ip:$port_chek/checkUser"
  284. port_chek=$(printf '%8s' "$port_chek")
  285. msg -bar
  286. echo " $(msg -verd '[1]') $(msg -verm2 '>') $(msg -verm2 'DESACTIVAR') $(msg -azu 'CHEKUSER')"
  287. echo " $(msg -verd '[2]') $(msg -verm2 '>') $(msg -azu 'MODIFICAR PUERTO') $(msg -verd "$port_chek")"
  288. echo " $(msg -verd '[3]') $(msg -verm2 '>') $(msg -azu 'MODIFICAR FORMATO') $(msg -verd "$fecha_data")"
  289. [[ $(systemctl is-active onliuser) = "active" ]] && echo " $(msg -verd '[4]') $(msg -verm2 '>') $(msg -azu 'DESACTIVAR USER ACTIVOS') $(msg -verd "ON")" ||echo " $(msg -verd '[4]') $(msg -verm2 '>') $(msg -azu 'ACTIVAR ONLINE Usr en APP') $(msg -verd "OFF")"
  290. num=4
  291. else
  292. print_center -verm2 'ADVERTENCIA!!!\nCheckUser PODRIA CONSUMIR RECURSOS \n EN CONEXIONES O METODOS INESTABLES\n RECOMENDABLE ANALIZAR TU METODO PRIMERO'
  293. msg -bar
  294. echo " $(msg -verd '[1]') $(msg -verm2 '>') $(msg -verd 'ACTIVAR') $(msg -azu 'CHEKUSER')"
  295. fi
  296. back
  297. opcion=$(selection_fun $num)
  298. case $opcion in
  299. 1)start;;
  300. 2)mod_port;;
  301. 3)mod_fdate;;
  302. 4)_onli;;
  303. 0)return 1;;
  304. esac
  305. }
  306. while [[ $? -eq 0 ]]; do
  307. menu_chekuser
  308. done