Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # ------------- EDIT THESE NUMBERS IF YOU WANT ---------------------------
- # COORDINATES TO ATTACK
- center = [173,738] # ricksfoot
- user_input_x = raw_input("Startpos X: ")
- user_input_y = raw_input("Startpos Y: ")
- if user_input_x != "" and user_input_y != "":
- center = [int(user_input_x),int(user_input_y)]
- # COLOR TO PLACE - 3 IS BLACK MOTHERFUCKERS
- void_color = 3
- # ------------------------------------------------------------------------
- import urllib
- import urllib2
- import time
- import json
- import random
- import math
- __version__ = 1.0
- print "Build the Void"
- print "For each account you want to use, enter it in like username:password"
- print "When you're done, type 'done'"
- accounts = []
- while True:
- user_input = raw_input("Account-> ")
- if user_input.lower() != 'done' and user_input!= '':
- accounts.append(user_input)
- else:
- break
- # ------------------------------------------------------------------------
- def main( accounts ):
- print "Getting user agent list for anonymity (please wait)"
- user_agent_list=list(set([ua for ua in urllib.urlopen("https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/txt/user-agents.txt").read().splitlines() if not ua.startswith("#")]))
- sessions = {}
- opener = urllib2.build_opener()
- opener.addheaders = [('User-Agent', random.choice(user_agent_list))]
- for account in accounts:
- username = account.split(":")[0]
- password = ':'.join(account.split(":")[1:])
- data = urllib.urlencode({'op': 'login-main', 'user': username, 'passwd': password, 'api_type': 'json'})
- rawresp = opener.open('https://www.reddit.com/api/login/'+urllib.quote(username), data).read()
- response = json.loads(rawresp)
- if not response['json'].get('errors'):
- sessions[username] = response['json']['data']['cookie']
- else:
- print 'Error: connection problem for account: '+username
- print response
- continue
- print "Running Build the Void on pos",center[0],center[1]
- while True:
- # Fill the void
- for session in sessions.keys():
- "##########################################"
- cookie = sessions[session]
- color = void_color
- counter = 0
- xtest = 0
- ytest = 0
- visited = []
- def add_check ( coords ):
- for e in visited:
- if e[0] == coords[0] and e[1] == coords[1]:
- return 0
- return 1
- while color == void_color :
- if counter == 9:
- counter = 0
- center[0] += random.randint(-2,2)
- center[1] += random.randint(-2,2)
- if counter == 0:
- xtest = center[0]
- ytest = center[1]
- if counter == 1:
- xtest = center[0]+1
- ytest = center[1]-1
- if counter == 2:
- xtest = center[0]+1
- ytest = center[1]
- if counter == 3:
- xtest = center[0]+1
- ytest = center[1]+1
- if counter == 4:
- xtest = center[0]-1
- ytest = center[1]-1
- if counter == 5:
- xtest = center[0]-1
- ytest = center[1]
- if counter == 6:
- xtest = center[0]-1
- ytest = center[1]+1
- if counter == 7:
- xtest = center[0]
- ytest = center[1]+1
- if counter == 8:
- xtest = center[0]
- ytest = center[1]-1
- counter += 1
- if add_check ( [xtest,ytest] ):
- resp = opener.open("https://www.reddit.com/api/place/pixel.json?x="+str(xtest)+"&y="+str(ytest)).read()
- try:
- color = int(json.loads(resp)["color"])
- except Exception, e:
- color = void_color
- if color == void_color:
- visited.append([xtest,ytest])
- visited = []
- "##########################################"
- print time.asctime( time.localtime(time.time()) )," Found a non-void color at", xtest, ytest
- data = urllib.urlencode({'x': xtest, 'y': ytest, 'color': void_color})
- newopener = urllib2.build_opener()
- newopener.addheaders = [('User-Agent', random.choice(user_agent_list))]
- newopener.addheaders.append(('Cookie', 'reddit_session='+cookie))
- modhash = json.loads(newopener.open("https://reddit.com/api/me.json").read())["data"]["modhash"]
- newopener.addheaders.append(('x-modhash', modhash))
- next=newopener.open("https://www.reddit.com/api/place/draw.json", data).read()
- print " ",next
- finalresp = newopener.open("https://www.reddit.com/api/place/pixel.json?x="+str(xtest)+"&y="+str(ytest)).read()
- if session in finalresp:
- print " Added successfully"
- else:
- print finalresp
- time.sleep(305)
- # ------------------------------------------------------------------------
- # If any problem occurs, keep retrying forever. All hail the void.
- genSessions( accounts )
- while True:
- # TODO: Keep track of individual account cooldowns. Currently if an account in the queue has a cooldown the others after it aren't tried until that cooldown is finished
- try:
- main( accounts )
- except Exception as e:
- if str(e) == "HTTP Error 502: Bad Gateway":
- print '502 error! Reddit being shit as always!'
- print 'Retrying in 2 seconds...'
- time.sleep(2);
- else:
- print 'Error: ' + str(e) + '\n'
- print '429 error! Account is on cooldown.'
- print 'Retrying in 15 seconds'
- time.sleep(15)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement