v2ray+chk_FastlyCDN_U18


SUBMITTED BY: repremaq09

DATE: Aug. 23, 2023, 9:18 p.m.

UPDATED: Oct. 12, 2024, 2:53 p.m.

FORMAT: Text only

SIZE: 18.7 kB

HITS: 4826

  1. mediafire.com/file/pz93ofnhbw1c0gs/METODO_V2RAY_%2528FOGO_NO_PARQUINHO%2529.zip/file
  2. -Desligar CF dos dominios!
  3. -BACKUP ---> script->10->10->7 | /etc/v2ray/config.json | v2Back_n_IPTV ... So fazer a remocao dos user, de fato, depois de transferi o vps e pa
  4. -Se for venda de VPS, injetar 10 uuid Worms na maq do cli /etc/v2ray/config.json :)
  5. -Atentar ao fato de que a CDN queima IP, por isso a VPS tem que estar em uma plataforma, e prover servicos, que possam ter as VPS destruidas para renovacao de IP.
  6. -v2ray VPS need be install WO IPV6, with 1.1.1.1/32 CIDIR ip to invalid update on this. After this, change to MANUAL NETPLAN scheme. See FTP paste! This /32 install model, already will creat an default structures NETPLAN .yaml. Simply see Vultr 'our networking configuration tips' and paste this shit xD
  7. -CAUTION TO RESTART VPS! AWAYS stop script, stop v2ray(on v2ray cmd) and set again passwd! this shit is constantly fuckng root password(add this UNCHAGE to some script)! Remember to ban BTT on v2ray app!
  8. - To ANY IO error on app during conection. VeriFY CDN!
  9. -Rebooting this VPS can cause fuck(ATT ON PASSWD LOOP ALSO!) to networking. Cuz v2ray depends on DNS, n wrong restart this shit fuck the DNS sys on vps :P
  10. -/\So much accessess on same link can fuck this shit traffic out. /\
  11. BEGIN
  12. --------------------------------------
  13. Fastly so da 50usd free(+-250gb)... ai tem q ir fazendo conta
  14. https://manage.fastly.com/auth/sign-in
  15. Cria CNAME e aponta esse link j.sni.global.fastly.net ... depois que seta o script la e ta tudo SUCCESS, muda pra -> landing.filestack.com ... na CF
  16. -Scriptage deve comecar apos a configuracao da distribuicao do CDN(ja na parte do "Check Cache")
  17. -Fazer o procedimento de ate a metade do video ;).
  18. CDN Lbspybot94))))0
  19. -------------------------------------- Lbspybot94))))0> joneasmatos45213@outlook.com devops fastfast.online afrika, silvilbastos676@outlook.com front111222 manchestyer tube452.bid queiremelo@outlook.com spanha
  20. (REDE 3G CLARO QUEIMADA? - esse xxxipcon foi na ordem inverzsa XD o proximo tem q ser o front111222 e ir seguihnt :P) ,,, vpssystem.uk devops paris luissobral3232@outlook.com infraestructure-leadership,,,
  21. -Criacao de conta/distribuicao e Outlook deve ser feita em MAQUINA+MAC/BROWSER LIMPOS, em IP 3g ou diferenciado e com dominio/paísVPS novo(pode usar msm conjunto de dominios se mudar pais da VPS)! Esse dominio temque ter o CACHE PURGADO(la na CF)!
  22. Ou seja, antes de abrir o NAVEGADOR(Brave em experimento) LIMPO(dados de todo o tempo limpos):
  23. -Limpar maquina com Ccleaner PRO(depois Brave com crtl+del ALL), trabalhar mudanca de MAC com TMAC e Mudar IP/PAIS de VPS(destruir vps Vultr p muda ip/rede/pais da VPS)
  24. CF domínio tipo A com IP da vps
  25. Proxy das operadoras
  26. TIM EXPIRADO = js-agent.newrelic.com
  27. 151.101.2.133
  28. 151.101.66.133
  29. 151.101.130.133
  30. 151.101.194.133
  31. TIM -> SNI V2RAY PEGANDO
  32. *sni*: giphy.com
  33. *Tim saldo válida*
  34. *Sejam felizes*
  35. CLARO = westcoastkids.ca
  36. VIVO = 151.101.2.133
  37. landing.filestack.com
  38. 146.75.122.133
  39. 104.18.7.41
  40. 172.64.150.8 easy spotify
  41. SNI -> landing.filestack.com
  42. Vcl da cdn
  43. if (req.http.Upgrade) {
  44. return (upgrade);
  45. }
  46. SCRIPTING
  47. --------------------------------------
  48. -Por junto qualquer WebS/S80 que seja de payload versatil(aquelas que podem ser alteradas sem trocar IP c vendor). Ex.: TIM DAT.EXP. & VIVO WebSS80/80
  49. -Usar SCRIPT SOMENTE pra configurar[1][2][4], adicionar[5], eliminar(so o q esta listado no Kiritoº)[6] e consultar dias[7].
  50. -Consultar UUID[7] para apagar user através da chave no /etc/v2ray/config.json e dar restart v2ray(nao precisa apagar do script, pode por varios user igual la xD).
  51. - esse file tb faz o BACKUP dos user la do block /\
  52. - cheaterEmail.sh filtra log para que seja mostrado a "quantidade de IPs" conectadas à 1 'email'. e vai expor o primeiro 'email' que possui mais de um IP. e armazenar ele no file ./emailprefix
  53. - getUUID.sh imprime o id associado a esse email(do emailprefix), oriundos do /etc/v2ray/config.json. E, esse mesmo script tambem pode zerar e reiniciar o v2ray, caso altere algum UUID.
  54. A operacao do conjunto consiste em verificar o `mail` que tem mais de uma conexao simultanea(cheaterEmail.sh), injeta-la no ./emailprefix, e, depois que o email estiver formatado nesse ./emailprefix(1 mail so), lanca getUUID.sh pra pegar o UUID do email que ta la dento
  55. *Loop do script rodara de 1 em 1m. pois o resultado é o null do UUID, "bloqueando" o acesso do usuario.
  56. /var/log/v2ray/acesss.log shows live user logon by e-mail and (xxx).(xxx).(xxx).xxx set lines. ao qual qualque (xxx) é diferente na medida em que é outro device entra com mesmo e-mail user E em rede/antena mais distante, portanto se ler access.log e identificar entradas do mesmo e-mail mas com (xxx) diferente, significa que outro device esta logando com o mesmo e-mail/UUID.
  57. BACKUPING/Ciclo da CDN
  58. -------------------------------------------
  59. - Its made by Saving n transplanting the /etc/v2ray/config.json big user(only) block to the new generated config.json(new path and domain), n restart v2ray service. After that its necessary to instruct all clients(and revs) to change Path and Domain in their NapsternetV v2ray config ;)
  60. - ./v2Back_n_IPTV is the ethernal moving file xDDD dont erase it
  61. ---------------------------------
  62. CODE
  63. -----------------------
  64. ############# WPANEL _V2 USER LOOKUP/EXCLUSING ##############
  65. -Deixar criado um `./v2List.sh>./v2snap` em tempo de outrora. Pra em tempo presente criar o `./v2List.sh>./v2snap2` e usar ./v2SnapCheck.sh pra ver os q tinha em outrora q n tem mais xD
  66. -Os users novos, que aparecerão no snap atual(./v2List.sh), estaão posicionados abaixo do último user, não excluido, do snap anterior(./v2snap).
  67. -------------- LISTA '_V2'/'_V2' USERS IN WPANEL --------------
  68. cat v2List.sh
  69. #!/bin/bash
  70. # Defina o caminho para o arquivo /etc/passwd
  71. passwd_file="/etc/passwd"
  72. # Inicialize uma variável para contar os usuários
  73. count=0
  74. # Use um loop while para ler cada linha do arquivo /etc/passwd
  75. while IFS= read -r line; do
  76. username=$(echo "$line" | cut -d: -f1)
  77. if [[ "$username" == *_v2* || "$username" == *_V2* ]]; then
  78. echo "$username"
  79. chage -l "$username" | grep "Account expires" | cut -d: -f2- | sed 's/^[[:space:]]*//'
  80. ((count++))
  81. fi
  82. done < "$passwd_file"
  83. # Imprima o número total de usuários encontrados
  84. echo "Número total de usuários que terminam em '_v2' ou '_V2': $count"
  85. -------------- ANALIZA ./v2snap E ./v2snap2 PRA VER QUAIS ESTAO EM 1 E N EM 2 --------------
  86. ** Ou seja, os user que os rev apagaram desde a criacao do v2snap.
  87. ** Antes de executar tem que criar o v2snap2 ;)
  88. cat v2SnapCheck.sh
  89. #!/bin/bash
  90. # Define os caminhos dos arquivos v2snap e v2snap2
  91. file1="./v2snap"
  92. file2="./v2snap2"
  93. # Verifica se os arquivos existem
  94. if [ ! -e "$file1" ] || [ ! -e "$file2" ]; then
  95. echo "Um ou ambos os arquivos não existem."
  96. exit 1
  97. fi
  98. # Lê os usuários do arquivo v2snap e armazena em uma matriz
  99. mapfile -t users_file1 < "$file1"
  100. # Lê os usuários do arquivo v2snap2 e armazena em outra matriz
  101. mapfile -t users_file2 < "$file2"
  102. # Percorre a matriz de usuários do v2snap
  103. for user1 in "${users_file1[@]}"; do
  104. # Verifica se o usuário não está presente no v2snap2
  105. if ! [[ " ${users_file2[*]} " =~ " $user1 " ]]; then
  106. echo "Usuário exclusivo em $file1: $user1"
  107. fi
  108. done
  109. # Finaliza o script
  110. exit 0
  111. ############# VERIFICAR CONEXOES SIMULTANEAS SCRIPTING ##############
  112. Analisa as linhas de LOG e faz o procedimento para, dar como saida, as classes de ip(XXX.XXX.XXX.xxx) diferente, que o mesmo usuario acessou o server
  113. GERA FILE DE LINHAS do LOG -> 'tail -n 600 /var/log/v2ray/access.log > ./LINHAS'
  114. \/ linha abaixo que dev ser acompanhada
  115. echo $first_multiple_ips_group"@gmail.com" > ./emailprefix
  116. cat cheaterEmail.sh
  117. #!/bin/bash
  118. # Lê as linhas do arquivo "LINHAS" no mesmo diretório do script
  119. tail -n 600 /var/log/v2ray/access.log > ./LINHAS
  120. mapfile -t lines < "$(dirname "${BASH_SOURCE[0]}")/LINHAS"
  121. declare -A grouped_results
  122. first_multiple_ips_group=""
  123. for line in "${lines[@]}"; do
  124. # Extrair endereço IP da terceira coluna
  125. ip=$(echo $line | awk '{split($3, ip, ":"); print ip[1]}')
  126. # Verificar se o IP está no formato xxx.xxx.xxx.xxx
  127. if [[ $ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
  128. # Extrair as três partes do endereço IP e juntá-las
  129. ip_parts=$(echo $ip | awk -F "." '{print $1"."$2"."$3}')
  130. # Extrair parte antes do "@" do endereço de e-mail
  131. email_prefix=$(echo $line | awk -F "@" '{print $1}' | awk '{print $NF}')
  132. # Verificar se o email_prefix tem 10 caracteres e não contém caracteres especiais
  133. if [[ ${#email_prefix} -eq 10 && ! "$email_prefix" =~ [^a-zA-Z0-9] ]]; then
  134. # Agrupar resultados com base no email_prefix
  135. if [ -z "${grouped_results[$email_prefix]}" ]; then
  136. grouped_results["$email_prefix"]=$ip_parts
  137. else
  138. # Adicionar IP apenas se ainda não foi incluído
  139. if [[ ! "${grouped_results[$email_prefix]}" =~ "$ip_parts" ]]; then
  140. grouped_results["$email_prefix"]+=" $ip_parts"
  141. fi
  142. fi
  143. # Verificar se este grupo tem mais de 1 IP e guardar o prefixo do e-mail
  144. if [ $(echo "${grouped_results[$email_prefix]}" | wc -w) -gt 1 ]; then
  145. if [ -z "$first_multiple_ips_group" ]; then
  146. first_multiple_ips_group="$email_prefix"
  147. fi
  148. fi
  149. fi
  150. fi
  151. done
  152. # Exibir os resultados agrupados
  153. for email_prefix in "${!grouped_results[@]}"; do
  154. echo "Email Prefix: $email_prefix"
  155. echo "IPs: ${grouped_results[$email_prefix]}"
  156. echo "----------------------"
  157. done
  158. # Exibir o Email Prefix do primeiro grupo com mais de 1 IP
  159. if [ -n "$first_multiple_ips_group" ]; then
  160. echo "Primeiro grupo com mais de 1 IPs: $first_multiple_ips_group"
  161. echo $first_multiple_ips_group"@gmail.com" > ./emailprefix
  162. else
  163. echo "Nenhum grupo encontrado com mais de 1 IPs."
  164. echo "" > ./emailprefix
  165. fi
  166. -------------- PEGA UUID DO user contido em ./emailprefix SCRIPTING --------------
  167. cat getUUID.sh
  168. #!/bin/bash
  169. # Lê o conteúdo do arquivo de texto emailprefix
  170. email=$(cat ./emailprefix)
  171. # Localiza o "id" com base no email na seção "inbounds" do JSON
  172. id=$(jq -r --arg email "$email" '.inbounds[].settings.clients[] | select(.email == $email) | .id' /etc/v2ray/config.json)
  173. echo "O id correspondente ao email $email é: $id"
  174. ############ \/\/\/ SEGMENTO OPCIONAL PARA SUBSTITUICAO E RESTART \/\/\/ ##################
  175. # Substitui a ocorrência do ID pelo valor desejado no JSON
  176. jq --arg email "$email" --arg new_id "00000000-0000-0000-0000-000000000000" '
  177. .inbounds[].settings.clients |= map(if .email == $email then .id = $new_id else . end)
  178. ' /etc/v2ray/config.json > /etc/v2ray/config.json.tmp
  179. mv /etc/v2ray/config.json.tmp /etc/v2ray/config.json
  180. echo "ID substituído por 00000000-0000-0000-0000-000000000000 no JSON."
  181. systemctl restart v2ray
  182. else
  183. echo "Nenhum id encontrado para o email $email na seção 'inbounds'."
  184. fi
  185. ############# RECEPTOR SCRIPTING ##############
  186. passwd.sh
  187. #!/bin/bash
  188. sleep 2
  189. echo lbadwath
  190. sleep 2
  191. echo lbadwath
  192. scriptGet.sh
  193. #!/bin/bash
  194. while :
  195. do
  196. ./passwd.sh | passwd
  197. ./getVPSFile.sh | yafc ftpuser:lbadwath@192.99.252.3
  198. chmod 777 ./backup.vps
  199. ./restoremacro.sh | menu
  200. #./limiterOvpn.sh
  201. sync; echo 1 > /proc/sys/vm/drop_caches
  202. sleep 5
  203. sync; echo 2 > /proc/sys/vm/drop_caches
  204. done
  205. getVPSFile.sh
  206. #!/bin/bash
  207. sleep 1
  208. echo "ls"
  209. sleep 1
  210. echo "get backup.vps"
  211. sleep 1
  212. echo "y"
  213. sleep 1
  214. echo "exit"
  215. restoremacro.sh
  216. #!/bin/bash
  217. echo "15"
  218. echo "2"
  219. sleep 4
  220. echo -ne "\n"
  221. echo "0"
  222. echo "0"
  223. echo "0"
  224. ############# SUBTRATOR DE DIAS TXT(script) BACKUP / IPTV USERS ##############
  225. ########### ESSE SUBTRATOR IMPRIME A SUBTRACAO ############
  226. É usado por pipeamento: cat v2Back_n_IPTV | ./v2BackupPipeSubtrator.sh
  227. cat ./v2BackupPipeSubtrator.sh
  228. #!/bin/bash
  229. # Loop para processar cada linha da entrada
  230. while IFS= read -r linha; do
  231. valor_coluna1=$(echo "$linha" | awk '{print $1}')
  232. valor_colchetes=$(echo "$linha" | awk -F'[][]' '{print $2}')
  233. novo_valor_colchetes=$((valor_colchetes - 1))
  234. linha_modificada=$(echo "$linha" | sed "s/\[$valor_colchetes\]/\[$novo_valor_colchetes\]/")
  235. echo "$linha_modificada"
  236. done
  237. ########### ESSE SUBTRATOR MUDA O FILE ./v2Back_n_IPTV COM SUBTRACAO ############
  238. É usado por pipeamento: cat v2Back_n_IPTV | ./pipeSubtrator.sh
  239. cat pipeSubtrator.sh
  240. #!/bin/bash
  241. # Nome do arquivo de entrada
  242. arquivo_origem="./v2Back_n_IPTV"
  243. # Nome do arquivo temporário
  244. arquivo_temporario="temp.txt"
  245. # Loop para processar cada linha do arquivo de origem
  246. while IFS= read -r linha; do
  247. valor_coluna1=$(echo "$linha" | awk '{print $1}')
  248. valor_colchetes=$(echo "$linha" | awk -F'[][]' '{print $2}')
  249. novo_valor_colchetes=$((valor_colchetes - 1))
  250. linha_modificada=$(echo "$linha" | sed "s/\[$valor_colchetes\]/\[$novo_valor_colchetes\]/")
  251. echo "$linha_modificada"
  252. done < "$arquivo_origem" > "$arquivo_temporario"
  253. # Substituir o arquivo de origem pelo arquivo temporário
  254. mv "$arquivo_temporario" "$arquivo_origem"
  255. -------- REMOVE LINHAS EM BRANCO DO ./v2Back_n_IPTV ---------
  256. cat removeBlank.sh
  257. #!/bin/bash
  258. # Nome do arquivo de entrada
  259. arquivo_origem="./v2Back_n_IPTV"
  260. # Nome do arquivo temporário
  261. arquivo_temporario="temp.txt"
  262. # Remove linhas em branco do arquivo de origem
  263. grep -v '^$' "$arquivo_origem" > "$arquivo_temporario"
  264. # Substituir o arquivo de origem pelo arquivo temporário
  265. mv "$arquivo_temporario" "$arquivo_origem"
  266. # Mensagem de conclusão
  267. echo "Linhas em branco removidas com sucesso do arquivo $arquivo_origem."
  268. ########### RELOGIO QPRA O ./pipeSubtrator.sh + ./removeBlank.sh ############
  269. -crontab -e
  270. -add linha à seguir, que programa o bang pra 1:15AM todo dia \/
  271. 15 1 * * * /bin/cat v2Back_n_IPTV | ./pipeSubtrator.sh
  272. 16 1 * * * /bin/cat v2Back_n_IPTV | ./removeBlank.sh
  273. ########### EXTERNA LINHAS EXPIRADAS ############
  274. ./expirados.sh
  275. #!/bin/bash
  276. # Ler o conteúdo do arquivo v2Back_n_IPTV linha por linha
  277. while IFS= read -r line; do
  278. # Use um comando de expressão regular para extrair o valor entre colchetes
  279. value=$(echo "$line" | grep -oE '\[[0-9-]+\]' | tr -d '[]')
  280. # Verifique se o valor é menor ou igual a 0
  281. if [ "$value" -le 0 ]; then
  282. echo "$line"
  283. fi
  284. done < v2Back_n_IPTV
  285. ########### EXIBE LINHAS COM DIAS <= 0 DO ./v2Back_n_IPTV ############
  286. -É so usar ./exibeExp.sh no mesmo dir(sem pipeamento)
  287. cat exibeExp.sh
  288. #!/bin/bash
  289. # Nome do arquivo de entrada
  290. arquivo="./v2Back_n_IPTV"
  291. # Loop através das linhas do arquivo de entrada
  292. while IFS= read -r linha; do
  293. # Use um comando regex para encontrar os valores entre colchetes
  294. valores_entre_colchetes=$(echo "$linha" | grep -o '\[[^]]*\]')
  295. # Loop através dos valores encontrados
  296. while IFS= read -r valor; do
  297. # Remova colchetes e verifique se o valor é menor que ou igual a 0
  298. valor_sem_colchetes=$(echo "$valor" | tr -d '[]')
  299. if [ "$valor_sem_colchetes" -le 0 ]; then
  300. # Se for menor ou igual a 0, exiba essa linha
  301. echo "$linha"
  302. break
  303. fi
  304. done <<< "$valores_entre_colchetes"
  305. done < "$arquivo"
  306. ########### REMOVE LINHAS COM DIAS <= 0 DO ./v2Back_n_IPTV ############
  307. -É so usar ./deleteExp.sh no mesmo dir(sem pipeamento)
  308. cat deleteExp.sh
  309. #!/bin/bash
  310. # Nome do arquivo de entrada
  311. arquivo="./v2Back_n_IPTV"
  312. # Crie um arquivo temporário para armazenar as linhas válidas
  313. tempfile=$(mktemp)
  314. # Loop através das linhas do arquivo de entrada
  315. while IFS= read -r linha; do
  316. # Use um comando regex para encontrar os valores entre colchetes
  317. valores_entre_colchetes=$(echo "$linha" | grep -o '\[[^]]*\]')
  318. # Loop através dos valores encontrados
  319. while IFS= read -r valor; do
  320. # Remova colchetes e verifique se o valor é menor que 0
  321. valor_sem_colchetes=$(echo "$valor" | tr -d '[]')
  322. if [ "$valor_sem_colchetes" -le 0 ]; then
  323. # Se for menor que 0, não copie essa linha para o arquivo temporário
  324. continue 2
  325. fi
  326. done <<< "$valores_entre_colchetes"
  327. # Se chegou aqui, a linha é válida, copie-a para o arquivo temporário
  328. echo "$linha" >> "$tempfile"
  329. done < "$arquivo"
  330. # Substitua o arquivo original pelo arquivo temporário
  331. mv "$tempfile" "$arquivo"
  332. # Exibindo o arquivo modificado
  333. cat "$arquivo"
  334. ###########
  335. ########### Extrai IDs de ./v2Back_n_IPTV e config.json
  336. ############
  337. ###########
  338. printa uuids de ./bloco1.txt e ./bloco2.txt
  339. allUUID.sh ... | sort | uniq -c | awk '$1 == 1 {print $2}' <- printa somente as linhas únicas da saida do script ;)
  340. #!/bin/bash
  341. # Função para extrair e imprimir as strings do bloco1.txt
  342. extract_strings_from_bloco1() {
  343. while IFS="|" read -r uuid _; do
  344. # Remove espaços em branco no início e no fim da string
  345. uuid=$(echo "$uuid" | tr -d ' ')
  346. # Verifica se a string corresponde ao formato esperado
  347. if [[ $uuid =~ ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ ]]; then
  348. echo "$uuid"
  349. fi
  350. done < bloco1.txt
  351. }
  352. # Função para extrair e imprimir as strings do bloco2.txt
  353. extract_strings_from_bloco2() {
  354. # Use grep com uma expressão regular para extrair as UUIDs
  355. grep -oE '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' bloco2.txt
  356. }
  357. # Chamando as funções para extrair e imprimir as strings
  358. echo "Strings do bloco1.txt:"
  359. extract_strings_from_bloco1
  360. echo "Strings do bloco2.txt:"
  361. extract_strings_from_bloco2
  362. ############ OU PELO CHATGPT ############
  363. -Identifique todos os padroes "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" do arquivo de texto à seguir, e informe quais desses padroes aparecem apenas 1 vez:
  364. ARQUIVO C /etc/v2ray/config(only users) /n v2Back_n_IPTV
  365. -Converta esse código Python para Shell Script
  366. ------------- MISC COMANDOS ---------------
  367. timedatectl list-timezones
  368. sudo timedatectl set-timezone your_time_zone

comments powered by Disqus