Advertisement
AZZATSSINS_CYBERSERK

Tsel 0p0k + Join Psiphon pro

Jan 4th, 2020
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.25 KB | None | 0 0
  1. ###wget -O azzatssins.txt https://pastebin.com/raw/H6nPnA9x
  2. ###curl -o azzatssins.txt https://pastebin.com/raw/H6nPnA9x
  3. #######
  4. import os
  5. import sys
  6. import random
  7. import socket
  8. import select
  9. import datetime
  10. import threading
  11.  
  12. lock = threading.RLock(); os.system('cls' if os.name == 'nt' else 'clear')
  13.  
  14. def real_path(file_name):
  15.     return os.path.dirname(os.path.abspath(__file__)) + file_name
  16.  
  17. def filter_array(array):
  18.     for i in range(len(array)):
  19.         array[i] = array[i].strip()
  20.         if array[i].startswith('#'):
  21.             array[i] = ''
  22.  
  23.     return [x for x in array if x]
  24.  
  25. def colors(value):
  26.     patterns = {
  27.         'R1' : '\033[31;1m', 'R2' : '\033[31;2m',
  28.         'G1' : '\033[32;1m', 'Y1' : '\033[33;1m',
  29.         'P1' : '\033[35;1m', 'CC' : '\033[0m'
  30.     }
  31.  
  32.     for code in patterns:
  33.         value = value.replace('[{}]'.format(code), patterns[code])
  34.  
  35.     return value
  36.  
  37. def log(value, status='AZZATSSINS', color='[P1]'):
  38.     value = colors('{color}[{time}] [P1]:: {color}{status} [P1]:: {color}{value}[CC]'.format(
  39.         time=datetime.datetime.now().strftime('%H:%M:%S'),
  40.         value=value,
  41.         color=color,
  42.         status=status
  43.     ))
  44.     with lock: print(value)
  45.  
  46. def log_replace(value, status='AZZATSSINS', color='[G1]'):
  47.     value = colors('{}{} ({})        [CC]\r'.format(color, status, value))
  48.     with lock:
  49.         sys.stdout.write(value)
  50.         sys.stdout.flush()
  51.  
  52. class inject(object):
  53.     def __init__(self, inject_host, inject_port):
  54.         super(inject, self).__init__()
  55.  
  56.         self.inject_host = str(inject_host)
  57.         self.inject_port = int(inject_port)
  58.  
  59.     def log(self, value, color='[G1]'):
  60.         log(value, color=color)
  61.  
  62.     def start(self):
  63.         try:
  64.             socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  65.             socket_server.bind((self.inject_host, self.inject_port))
  66.             socket_server.listen(1)
  67.             frontend_domains = open(real_path('/azzatssins.txt')).readlines()
  68.             frontend_domains = filter_array(frontend_domains)
  69.             if len(frontend_domains) == 0:
  70.                 self.log('Frontend Domains not found. Please check azzatssins.txt', color='[R1]')
  71.                 return
  72.             self.log('INTERNET GRATIS {} port {}'.format(self.inject_host, self.inject_port))
  73.             while True:
  74.                 socket_client, _ = socket_server.accept()
  75.                 socket_client.recv(4096)
  76.                 domain_fronting(socket_client, frontend_domains).start()
  77.         except Exception as exception:
  78.             self.log('INTERNET GRATIS {} port {}'.format(self.inject_host, self.inject_port), color='[R1]')
  79.  
  80. class domain_fronting(threading.Thread):
  81.     def __init__(self, socket_client, frontend_domains):
  82.         super(domain_fronting, self).__init__()
  83.  
  84.         self.frontend_domains = frontend_domains
  85.         self.socket_tunnel = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  86.         self.socket_client = socket_client
  87.         self.buffer_size = 9999
  88.         self.daemon = True
  89.  
  90.     def log(self, value, status='AZZATSSINS', color='[G1]'):
  91.         log(value, status=status, color=color)
  92.  
  93.     def handler(self, socket_tunnel, socket_client, buffer_size):
  94.         sockets = [socket_tunnel, socket_client]
  95.         timeout = 0
  96.         while True:
  97.             timeout += 1
  98.             socket_io, _, errors = select.select(sockets, [], sockets, 3)
  99.             if errors: break
  100.             if socket_io:
  101.                 for sock in socket_io:
  102.                     try:
  103.                         data = sock.recv(buffer_size)
  104.                         if not data: break
  105.                         # SENT -> RECEIVED
  106.                         elif sock is socket_client:
  107.                             socket_tunnel.sendall(data)
  108.                         elif sock is socket_tunnel:
  109.                             socket_client.sendall(data)
  110.                         timeout = 0
  111.                     except: break
  112.             if timeout == 60: break
  113.  
  114.     def run(self):
  115.         try:
  116.             self.proxy_host_port = random.choice(self.frontend_domains).split(':')
  117.             self.proxy_host = self.proxy_host_port[0]
  118.             self.proxy_port = self.proxy_host_port[1] if len(self.proxy_host_port) >= 2 and self.proxy_host_port[1] else '443'
  119.             self.log('MENGHUBUNGKAN ... {} port {}'.format(self.proxy_host, self.proxy_port))
  120.             self.socket_tunnel.connect((str(self.proxy_host), int(self.proxy_port)))
  121.             self.socket_client.sendall(b'HTTP/1.1 200 OK\r\n\r\n')
  122.             self.handler(self.socket_tunnel, self.socket_client, self.buffer_size)
  123.             self.socket_client.close()
  124.             self.socket_tunnel.close()
  125.             self.log('TERSAMBUNG! [R2]({} port {})'.format(self.proxy_host, self.proxy_port), color='[R1]')
  126.         except OSError:
  127.             self.log('Connection error', color='[R1]')
  128.         except TimeoutError:
  129.             self.log('{} not responding'.format(self.proxy_host), color='[R1]')
  130.  
  131. def main():
  132.     print(colors('\n'.join([
  133.         '[R1]AZZATSSINS ', '[CC]',
  134.         '[G1]##########:', '[CC]',
  135.         '[R1]*TELKOMSEL ','[CC]',
  136.         '[Y1]***************    ', '[CC]'
  137.     ])))
  138.     inject('127.0.0.1', '2323').start()
  139.  
  140. if __name__ == '__main__':
  141.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement