http-server.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. #!/bin/bash
  2. IVAR="/etc/http-instas"
  3. onliCHECK=/var/www/html/ChumoGH
  4. LIST="$(echo "NewVPS-" | rev)"
  5. [[ -d /var/www/html/ChumoGH ]] || mkdir ${onliCHECK}
  6. install_fun () {
  7. apt-get install netcat -y
  8. }
  9. fun_ip () {
  10. _hora=$(printf '%(%D-%H:%M:%S)T')
  11. if [[ -e /bin/ejecutar/IPcgh ]]; then
  12. IP="$(cat /bin/ejecutar/IPcgh)"
  13. else
  14. 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)
  15. MEU_IP2=$(wget -qO- ipv4.icanhazip.com)
  16. [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" && echo "$MEU_IP2" || IP="$MEU_IP" && echo "$MEU_IP"
  17. echo "$MEU_IP2" > /bin/ejecutar/IPcgh
  18. IP="$MEU_IP2"
  19. fi
  20. }
  21. #OFUSCATE
  22. ofus () {
  23. unset txtofus
  24. number=$(expr length $1)
  25. for((i=1; i<$number+1; i++)); do
  26. txt[$i]=$(echo "$1" | cut -b $i)
  27. case ${txt[$i]} in
  28. ".")txt[$i]="x";;
  29. "x")txt[$i]=".";;
  30. "5")txt[$i]="s";;
  31. "s")txt[$i]="5";;
  32. "1")txt[$i]="@";;
  33. "@")txt[$i]="1";;
  34. "2")txt[$i]="?";;
  35. "?")txt[$i]="2";;
  36. "4")txt[$i]="0";;
  37. "0")txt[$i]="4";;
  38. "/")txt[$i]="K";;
  39. "K")txt[$i]="/";;
  40. esac
  41. txtofus+="${txt[$i]}"
  42. done
  43. echo "$txtofus" | rev
  44. }
  45. # LISTEN
  46. listen_fun () {
  47. PORTA="8888"
  48. PROGRAMA="/bin/http-server.sh"
  49. while true; do
  50. nc.traditional -l -p "$PORTA" -e "$PROGRAMA"
  51. done
  52. }
  53. # SERVER
  54. server_fun () {
  55. fun_ip
  56. PORTA="8888"
  57. DIR="/etc/http-shell"
  58. unset ENV_ARQ
  59. if [[ ! -d $DIR ]]; then
  60. mkdir $DIR
  61. fi
  62. read URL
  63. KEYZ=($(echo $URL|cut -d ' ' -f2|awk -F "/" '{print $2, $3, $4, $5, $6, $7}'))
  64. KEY=$(echo ${KEYZ[0]}) && [[ ! $KEY ]] && KEY="ERRO"
  65. ARQ=$(echo ${KEYZ[1]}) && [[ ! $ARQ ]] && ARQ="ERRO"
  66. USRIP=$(echo ${KEYZ[2]}) && [[ ! $USRIP ]] && USRIP="ERRO"
  67. FILE2="${DIR}/${KEY}"
  68. FILE="${DIR}/${KEY}/$ARQ"
  69. if [[ -e ${FILE} ]]; then
  70. STATUS_NUMBER="200"
  71. STATUS_NAME="Found"
  72. ENV_ARQ="True"
  73. if [[ -e ${FILE2}/GERADOR ]]; then
  74. if [[ ${USRIP} != "ERRO" ]]; then
  75. FILE="${DIR}/ERROR-KEY"
  76. echo "GERADOR KEY!" > ${FILE}
  77. ENV_ARQ="False"
  78. fi
  79. else
  80. if [[ ${USRIP} = "ERRO" ]]; then
  81. FILE="${DIR}/ERROR-KEY"
  82. echo "KEY DE ChumoGH!" > ${FILE}
  83. ENV_ARQ="False"
  84. fi
  85. fi
  86. else
  87. FILE="${DIR}/ERROR-KEY"
  88. echo "KEY INVALIDA!" > ${FILE}
  89. STATUS_NUMBER="200"
  90. STATUS_NAME="Found"
  91. ENV_ARQ="False"
  92. fi
  93. cat << EOF
  94. HTTP/1.1 $STATUS_NUMBER - $STATUS_NAME
  95. Date: $(date)
  96. Server: ShellHTTP
  97. Content-Length: $(wc --bytes "$FILE" | cut -d " " -f1)
  98. Connection: close
  99. Content-Type: text/html; charset=utf-8
  100. $(cat "$FILE")
  101. EOF
  102. if [[ $ENV_ARQ = "True" ]]; then
  103. (
  104. mkdir /var/www/html/$KEY
  105. mkdir /var/www/$KEY
  106. TIME="20+"
  107. for arqs in `cat $FILE`; do
  108. cp ${FILE2}/$arqs /var/www/html/$KEY/
  109. cp ${FILE2}/$arqs /var/www/$KEY/
  110. TIME+="1+"
  111. done
  112. _key="$(ofus ${IP}:${PORTA}/${KEY}/${LIST})"
  113. echo "$(cat ${FILE2}.name) | $USRIP | ${_key} | $_hora" > /var/www/html/$KEY/checkIP.log
  114. echo "$(cat ${FILE2}.name) | $USRIP | ${_key} | $_hora" > /var/www/$KEY/checkIP.log
  115. RESELL="$(cat /var/www/$KEY/menu_credito)"
  116. TIME=$(echo "${TIME}0"|bc)
  117. sleep ${TIME}s
  118. rm -rf /var/www/html/$KEY
  119. rm -rf /var/www/$KEY
  120. log="/etc/gerar-sh-log"
  121. _hora=$(printf '%(%D-%H:%M:%S)T')
  122. if [[ -d $FILE2 ]]; then
  123. PERM="${DIR}/${KEY}/keyfixa"
  124. if [[ -e $PERM ]]; then
  125. if [[ $(cat $PERM) != "$USRIP" ]]; then
  126. log="/etc/gerar-sh-log"
  127. echo "$(cat ${FILE2}.name) | IP-FIJA:$USRIP | ${_key} | $_hora" >> $log
  128. echo "$(cat ${FILE2}.name) | IP-FIJA:$USRIP | ${_key} | $_hora" >> ${onliCHECK}/checkIP.log && chmod +x ${onliCHECK}/checkIP.log
  129. #cat /etc/gerar-sh-log > ${onliCHECK}/checkIP.log
  130. rm -rf $FILE2
  131. rm -f ${FILE2}.name
  132. fi
  133. else
  134. echo "$(cat ${FILE2}.name) | $USRIP | ${_key} | $_hora" >> $log
  135. echo "$(cat ${FILE2}.name) | $USRIP | ${_key} | $_hora" >> ${onliCHECK}/checkIP.log && chmod +x ${onliCHECK}/checkIP.log
  136. [[ -e /etc/ADM-db/token ]] && {
  137. ID="$(cat ${FILE2}.name)" && ID="$(echo $ID | awk '{print $1}' | sed -e 's/[^0-9]//ig')"
  138. [[ ${ID} -lt '999' ]] && ID='576145089'
  139. TOKEN="$(cat /etc/ADM-db/token)"
  140. urlBOT="https://api.telegram.org/bot$TOKEN/sendMessage"
  141. MENSAJE=" =======================================\n"
  142. MENSAJE+=" ========📩𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙍𝙀𝘾𝙄𝘽𝙄𝘿𝙊📩========\n"
  143. MENSAJE+=" =======================================\n"
  144. MENSAJE+=" ${_key}\n"
  145. MENSAJE+=" =========== ☝️ USADA ☝ ============\n"
  146. #MENSAJE+=" ☝️ USADA ☝️ \n"
  147. MENSAJE+=" API/KEY : ${RESELL}\n"
  148. MENSAJE+=" ID/API: ${ID} ✅ NOTIFICADO \n"
  149. MENSAJE+=" =======================================\n"
  150. MENSAJE+=" IP : $USRIP <-> HORA : $_hora\n"
  151. MENSAJE+=" =======================================\n"
  152. MENSAJE+=' 🔰 Bot generador de key 🔰\n'
  153. MENSAJE+=' ⚜ By @ChumoGH ⚜ \n'
  154. MENSAJE+=" =======================================\n"
  155. #curl -s -X POST $urlBOT -d chat_id=$ID -d text="$(echo -e "$MENSAJE")" &>/dev/null
  156. curl -s --max-time 10 -d "chat_id=$ID&disable_web_page_preview=1&text=$(echo -e "$MENSAJE")" $urlBOT &>/dev/null
  157. }
  158. rm -rf $FILE2
  159. rm -f ${FILE2}.name
  160. fi
  161. num=$(cat ${IVAR})
  162. if [[ $num = "" ]]; then
  163. num=0
  164. fi
  165. let num++
  166. echo $num > $IVAR
  167. fi
  168. ) & > /dev/null
  169. fi
  170. }
  171. [[ $1 = @(-[Ss]tart|-[Ss]|-[Ii]niciar) ]] && listen_fun && exit
  172. [[ $1 = @(-[Ii]stall|-[Ii]|-[Ii]stalar) ]] && listen_fun && exit
  173. server_fun