View difference between Paste ID: MGwZ0iMu and 4FiczzRc
SHOW: | | - or go back to the newest paste.
1
import urllib
2
import urllib
3
import urllib2
4
import time
5
import json
6
import random
7
8
print "Build the Void"
9
10
print "Getting user agent list for anonymity (please wait)"
11
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("#")]))
12
13
accounts = []
14
sessions = {}
15
print "For each account you want to use, enter it in like username:password"
16
print "When you're done, type 'done'"
17
user_input = ""
18
while (user_input != "done"):
19
    user_input = raw_input("Account-> ")
20
    if user_input.lower() != "done":
21
        accounts.append(user_input)
22
23
opener = urllib2.build_opener()
24
opener.addheaders = [('User-Agent', random.choice(user_agent_list))]
25
for account in accounts:
26
    username = account.split(":")[0]
27
    password = account.split(":")[1]
28
    data = urllib.urlencode({'op': 'login-main', 'user': username, 'passwd': password, 'api_type': 'json'})
29
    resp = opener.open('https://www.reddit.com/api/login/'+urllib.quote(username), data).read()
30
    _data = json.loads(resp)["json"].get("data")
31
    while _data == None:
32
        opener = urllib2.build_opener()
33
        opener.addheaders = [('User-Agent', random.choice(user_agent_list))]
34
        resp = opener.open('https://www.reddit.com/api/login/'+urllib.quote(username), data).read()
35
        _data = json.loads(resp)["json"].get("data")
36
    sessions[username] = _data["cookie"]
37
38
def paint_black(xtest,ytest):
39
    try:
40
        data = urllib.urlencode({'x': xtest, 'y': ytest, 'color': void_color})
41
        newopener = urllib2.build_opener()
42
        newopener.addheaders = [('User-Agent', random.choice(user_agent_list))]
43
        newopener.addheaders.append(('Cookie', 'reddit_session='+cookie))
44
        modhash = json.loads(newopener.open("https://reddit.com/api/me.json").read())["data"]["modhash"]
45
        newopener.addheaders.append(('x-modhash', modhash))
46
        next=newopener.open("https://www.reddit.com/api/place/draw.json", data).read()
47
        print next
48
        finalresp = newopener.open("https://www.reddit.com/api/place/pixel.json?x="+str(xtest)+"&y="+str(ytest)).read()
49
        return finalresp
50
    except urllib2.HTTPError:
51
        print 'skipping'
52
53
print "Running Build the Void"
54
void_color = 3 # BLACK
55-
center = [805, 417] # x,y of center of void
55+
center = [25, 25] # x,y of center of void
56
while True:
57
    # Fill the void
58
    for session in sessions.keys():
59
        cookie = sessions[session]
60
        color = 3
61
        counter = 5
62
        while color == void_color:
63
            cx=[ x for x in range(center[0]-counter,center[0]+counter) ]
64
            cy=[ x for x in range(center[1]-counter,center[1]+counter) ]
65
            checklist = []
66
            for x in cx:
67
                for y in cy:
68
                    checklist.append((x,y))
69
            random.shuffle(checklist)
70
            for check in checklist:
71
                # Find a non-black square
72
                xtest = check[0]
73
                ytest = check[1]
74
                resp = opener.open("https://www.reddit.com/api/place/pixel.json?x="+str(xtest)+"&y="+str(ytest)).read()
75
                try:
76
                    color = int(json.loads(resp)["color"])
77
                except Exception, e:
78
                    print "Exception"
79
                    print resp
80
                    color = 3
81
                if color != void_color:
82
                    break
83
            counter += 10
84
        print "Found a non-void color at", xtest, ytest
85
        print 'https://www.reddit.com/r/place/#x=%s&y=%s' % (xtest, ytest)
86
        finalresp = paint_black(xtest,ytest)
87
        if finalresp:
88
            if session in finalresp:
89
                print "Added successfully"
90
            else:
91
                print finalresp
92
    time.sleep(305)