From 94dce81f3feec64fb82229b4f34a1cbb7bfa79d2 Mon Sep 17 00:00:00 2001
From: Risewill23 <69612616+Risewill23@users.noreply.github.com>
Date: Sun, 3 Apr 2022 22:38:42 -0400
Subject: [PATCH 01/14] Fix proxy and Tor again
---
main.py | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/main.py b/main.py
index 275d0774..16d40c7c 100755
--- a/main.py
+++ b/main.py
@@ -109,7 +109,11 @@ def set_pixel_and_check_ratelimit(
}
response = requests.request(
- "POST", url, headers=headers, data=payload, proxies=proxy.get_random_proxy()
+ "POST",
+ url,
+ headers=headers,
+ data=payload,
+ proxies=proxy.get_random_proxy(self),
)
logger.debug("Thread #{} : Received response: {}", thread_index, response.text)
@@ -260,7 +264,7 @@ def get_board(self, access_token_in):
requests.get(
msg["data"]["name"],
stream=True,
- proxies=proxy.get_random_proxy(),
+ proxies=proxy.get_random_proxy(self),
).content
)
),
@@ -465,12 +469,17 @@ def task(self, index, name, worker):
while True:
try:
client = requests.Session()
+ client.proxies = proxy.get_random_proxy(self)
client.headers.update(
{
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"
}
)
- r = client.get("https://www.reddit.com/login")
+
+ r = client.get(
+ "https://www.reddit.com/login",
+ proxies=proxy.get_random_proxy(self),
+ )
login_get_soup = BeautifulSoup(r.content, "html.parser")
csrf_token = login_get_soup.find(
"input", {"name": "csrf_token"}
@@ -485,7 +494,7 @@ def task(self, index, name, worker):
r = client.post(
"https://www.reddit.com/login",
data=data,
- proxies=proxy.get_random_proxy(),
+ proxies=proxy.get_random_proxy(self),
)
break
except Exception:
@@ -502,7 +511,9 @@ def task(self, index, name, worker):
else:
logger.success("Authorization successful!")
logger.info("Obtaining access token...")
- r = client.get("https://new.reddit.com/")
+ r = client.get(
+ "https://new.reddit.com/", proxies=proxy.get_random_proxy(self)
+ )
data_str = (
BeautifulSoup(r.content, features="html.parser")
.find("script", {"id": "data"})
From eb4bc72732f4c1aa738af9a3a51a0a43a8aace08 Mon Sep 17 00:00:00 2001
From: Risewill23 <69612616+Risewill23@users.noreply.github.com>
Date: Sun, 3 Apr 2022 22:39:09 -0400
Subject: [PATCH 02/14] Fix proxy
---
src/proxy.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/proxy.py b/src/proxy.py
index 5a8f9e1a..66d47dc4 100644
--- a/src/proxy.py
+++ b/src/proxy.py
@@ -112,7 +112,7 @@ def get_random_proxy(self):
return random_proxy
return random_proxy
else:
- tor_reconnect()
+ tor_reconnect(self)
self.logger.debug("Using Tor. Selecting first proxy: {}.", str(self.proxies[0]))
return self.proxies[0]
From 2616c4753aa989e6e543d4bd5a659b12d51a7801 Mon Sep 17 00:00:00 2001
From: Risewill23 <69612616+Risewill23@users.noreply.github.com>
Date: Sun, 3 Apr 2022 22:56:53 -0400
Subject: [PATCH 03/14] Remove self. from some things
---
src/proxy.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/proxy.py b/src/proxy.py
index 66d47dc4..d0564c54 100644
--- a/src/proxy.py
+++ b/src/proxy.py
@@ -8,14 +8,14 @@
def Init(self):
self.proxies = (
- self.GetProxies(self.json_data["proxies"])
+ get_proxies(self.json_data["proxies"])
if "proxies" in self.json_data and self.json_data["proxies"] is not None
else None
)
if self.proxies is None and os.path.exists(
os.path.join(os.getcwd(), "proxies.txt")
):
- self.proxies = self.get_proxies_text()
+ self.proxies = get_proxies_text()
self.compactlogging = (
self.json_data["compact_logging"]
if "compact_logging" in self.json_data
From eb7820e06aef622d5802d936fc707aada0c15ffb Mon Sep 17 00:00:00 2001
From: Risewill23 <69612616+Risewill23@users.noreply.github.com>
Date: Sun, 3 Apr 2022 23:30:09 -0400
Subject: [PATCH 04/14] Personal Proxy Update
---
src/proxy.py | 260 ++++++++++++++++++++++++++-------------------------
1 file changed, 132 insertions(+), 128 deletions(-)
diff --git a/src/proxy.py b/src/proxy.py
index d0564c54..8caea152 100644
--- a/src/proxy.py
+++ b/src/proxy.py
@@ -1,128 +1,132 @@
-import os
-import random
-import subprocess
-import time
-from stem import Signal, InvalidArguments, SocketError, ProtocolError
-from stem.control import Controller
-
-
-def Init(self):
- self.proxies = (
- get_proxies(self.json_data["proxies"])
- if "proxies" in self.json_data and self.json_data["proxies"] is not None
- else None
- )
- if self.proxies is None and os.path.exists(
- os.path.join(os.getcwd(), "proxies.txt")
- ):
- self.proxies = get_proxies_text()
- self.compactlogging = (
- self.json_data["compact_logging"]
- if "compact_logging" in self.json_data
- and self.json_data["compact_logging"] is not None
- else True
- )
- self.using_tor = (
- self.json_data["using_tor"]
- if "using_tor" in self.json_data and self.json_data["using_tor"] is not None
- else False
- )
- self.tor_password = (
- self.json_data["tor_password"]
- if "tor_password" in self.json_data
- and self.json_data["tor_password"] is not None
- else "Passwort" # this is intentional, as I don't really want to mess around with the torrc again
- )
- self.tor_delay = (
- self.json_data["tor_delay"]
- if "tor_delay" in self.json_data and self.json_data["tor_delay"] is not None
- else 10
- )
- self.use_builtin_tor = (
- self.json_data["use_builtin_tor"]
- if "use_builtin_tor" in self.json_data
- and self.json_data["use_builtin_tor"] is not None
- else True
- )
- self.tor_port = (
- self.json_data["tor_port"]
- if "tor_port" in self.json_data and self.json_data["tor_port"] is not None
- else 1881
- )
- self.tor_control_port = (
- self.json_data["tor_control_port"]
- if "tor_port" in self.json_data
- and self.json_data["tor_control_port"] is not None
- else 9051
- )
-
- # tor connection
- if self.using_tor:
- self.proxies = get_proxies(self, ["127.0.0.1:" + str(self.tor_port)])
- if self.use_builtin_tor:
- subprocess.Popen(
- '"'
- + os.path.join(os.getcwd(), "./tor/Tor/tor.exe")
- + '"'
- + " --defaults-torrc "
- + '"'
- + os.path.join(os.getcwd(), "./Tor/Tor/torrc")
- + '"'
- + " --HTTPTunnelPort "
- + str(self.tor_port),
- shell=True,
- )
- try:
- self.tor_controller = Controller.from_port(port=self.tor_control_port)
- self.tor_controller.authenticate(self.tor_password)
- self.logger.info("successfully connected to tor!")
- except (ValueError, SocketError):
- self.logger.error("connection to tor failed, disabling tor")
- self.using_tor = False
-
-
-def get_proxies_text(self):
- path_proxies = os.path.join(os.getcwd(), "proxies.txt")
- f = open(path_proxies)
- file = f.read()
- f.close()
- proxies_list = file.splitlines()
- self.proxies = []
- for i in proxies_list:
- self.proxies.append({"https": i, "http": i})
- self.logger.debug("loaded proxies {} from file {}", i, path_proxies)
-
-
-def get_proxies(self, proxies):
- proxies_list = []
- for i in proxies:
- proxies_list.append({"https": i, "http": i})
-
- self.logger.debug("Loaded proxies: {}", str(proxies_list))
- return proxies_list
- return proxies_list
-
-
-def get_random_proxy(self):
- if not self.using_tor:
- random_proxy = None
- if self.proxies is not None:
- random_proxy = self.proxies[random.randint(0, len(self.proxies) - 1)]
- self.logger.debug("Using proxy: {}", str(random_proxy))
- return random_proxy
- return random_proxy
- else:
- tor_reconnect(self)
- self.logger.debug("Using Tor. Selecting first proxy: {}.", str(self.proxies[0]))
- return self.proxies[0]
-
-
-def tor_reconnect(self):
- if self.using_tor:
- try:
- self.tor_controller.signal(Signal.NEWNYM)
- self.logger.info("New Tor connection processing")
- time.sleep(self.tor_delay)
- except (InvalidArguments, ProtocolError):
- self.logger.error("couldn't establish new tor connection, disabling tor")
- self.using_tor = False
+import os
+import random
+import subprocess
+import time
+from stem import Signal, InvalidArguments, SocketError, ProtocolError
+from stem.control import Controller
+
+
+def Init(self):
+ self.proxies = (
+ get_proxies(self.json_data["proxies"])
+ if "proxies" in self.json_data and self.json_data["proxies"] is not None
+ else None
+ )
+ if self.proxies is None and os.path.exists(
+ os.path.join(os.getcwd(), "proxies.txt")
+ ):
+ self.proxies = get_proxies_text()
+ self.compactlogging = (
+ self.json_data["compact_logging"]
+ if "compact_logging" in self.json_data
+ and self.json_data["compact_logging"] is not None
+ else True
+ )
+ self.using_tor = (
+ self.json_data["using_tor"]
+ if "using_tor" in self.json_data and self.json_data["using_tor"] is not None
+ else False
+ )
+ self.tor_password = (
+ self.json_data["tor_password"]
+ if "tor_password" in self.json_data
+ and self.json_data["tor_password"] is not None
+ else "Passwort" # this is intentional, as I don't really want to mess around with the torrc again
+ )
+ self.tor_delay = (
+ self.json_data["tor_delay"]
+ if "tor_delay" in self.json_data and self.json_data["tor_delay"] is not None
+ else 10
+ )
+ self.use_builtin_tor = (
+ self.json_data["use_builtin_tor"]
+ if "use_builtin_tor" in self.json_data
+ and self.json_data["use_builtin_tor"] is not None
+ else True
+ )
+ self.tor_port = (
+ self.json_data["tor_port"]
+ if "tor_port" in self.json_data and self.json_data["tor_port"] is not None
+ else 1881
+ )
+ self.tor_control_port = (
+ self.json_data["tor_control_port"]
+ if "tor_port" in self.json_data
+ and self.json_data["tor_control_port"] is not None
+ else 9051
+ )
+
+ # tor connection
+ if self.using_tor:
+ self.proxies = get_proxies(self, ["127.0.0.1:" + str(self.tor_port)])
+ if self.use_builtin_tor:
+ subprocess.Popen(
+ '"'
+ + os.path.join(os.getcwd(), "./tor/Tor/tor.exe")
+ + '"'
+ + " --defaults-torrc "
+ + '"'
+ + os.path.join(os.getcwd(), "./Tor/Tor/torrc")
+ + '"'
+ + " --HTTPTunnelPort "
+ + str(self.tor_port),
+ shell=True,
+ )
+ try:
+ self.tor_controller = Controller.from_port(port=self.tor_control_port)
+ self.tor_controller.authenticate(self.tor_password)
+ self.logger.info("successfully connected to tor!")
+ except (ValueError, SocketError):
+ self.logger.error("connection to tor failed, disabling tor")
+ self.using_tor = False
+
+
+def get_proxies_text(self):
+ path_proxies = os.path.join(os.getcwd(), "proxies.txt")
+ f = open(path_proxies)
+ file = f.read()
+ f.close()
+ proxies_list = file.splitlines()
+ self.proxies = []
+ for i in proxies_list:
+ self.proxies.append({"https": i, "http": i})
+ self.logger.debug("loaded proxies {} from file {}", i, path_proxies)
+
+
+def get_proxies(self, proxies):
+ proxies_list = []
+ for i in proxies:
+ proxies_list.append({"https": i, "http": i})
+
+ self.logger.debug("Loaded proxies: {}", str(proxies_list))
+ return proxies_list
+ return proxies_list
+
+def get_random_proxy(self, name):
+ if not self.using_tor:
+ random_proxy = None
+ if name is not None:
+ if self.json_data["workers"][name]["personal_proxy"] is not None:
+ proxy = self.json_data["workers"][name]["personal_proxy"]
+ return {"https": proxy, "http": proxy}
+ if self.proxies is not None:
+ random_proxy = self.proxies[random.randint(0, len(self.proxies) - 1)]
+ self.logger.debug("Using proxy: {}", str(random_proxy))
+ return random_proxy
+
+ return random_proxy
+ else:
+ tor_reconnect(self)
+ self.logger.debug("Using Tor. Selecting first proxy: {}.", str(self.proxies[0]))
+ return self.proxies[0]
+
+
+def tor_reconnect(self):
+ if self.using_tor:
+ try:
+ self.tor_controller.signal(Signal.NEWNYM)
+ self.logger.info("New Tor connection processing")
+ time.sleep(self.tor_delay)
+ except (InvalidArguments, ProtocolError):
+ self.logger.error("couldn't establish new tor connection, disabling tor")
+ self.using_tor = False
From bd771ce06c7ce6cbbbeb530a4d1bc0df1104c14b Mon Sep 17 00:00:00 2001
From: Risewill23 <69612616+Risewill23@users.noreply.github.com>
Date: Sun, 3 Apr 2022 23:30:35 -0400
Subject: [PATCH 05/14] Personal Proxy Update
---
src/proxy.py | 264 +++++++++++++++++++++++++--------------------------
1 file changed, 132 insertions(+), 132 deletions(-)
diff --git a/src/proxy.py b/src/proxy.py
index 8caea152..bdfa7dbd 100644
--- a/src/proxy.py
+++ b/src/proxy.py
@@ -1,132 +1,132 @@
-import os
-import random
-import subprocess
-import time
-from stem import Signal, InvalidArguments, SocketError, ProtocolError
-from stem.control import Controller
-
-
-def Init(self):
- self.proxies = (
- get_proxies(self.json_data["proxies"])
- if "proxies" in self.json_data and self.json_data["proxies"] is not None
- else None
- )
- if self.proxies is None and os.path.exists(
- os.path.join(os.getcwd(), "proxies.txt")
- ):
- self.proxies = get_proxies_text()
- self.compactlogging = (
- self.json_data["compact_logging"]
- if "compact_logging" in self.json_data
- and self.json_data["compact_logging"] is not None
- else True
- )
- self.using_tor = (
- self.json_data["using_tor"]
- if "using_tor" in self.json_data and self.json_data["using_tor"] is not None
- else False
- )
- self.tor_password = (
- self.json_data["tor_password"]
- if "tor_password" in self.json_data
- and self.json_data["tor_password"] is not None
- else "Passwort" # this is intentional, as I don't really want to mess around with the torrc again
- )
- self.tor_delay = (
- self.json_data["tor_delay"]
- if "tor_delay" in self.json_data and self.json_data["tor_delay"] is not None
- else 10
- )
- self.use_builtin_tor = (
- self.json_data["use_builtin_tor"]
- if "use_builtin_tor" in self.json_data
- and self.json_data["use_builtin_tor"] is not None
- else True
- )
- self.tor_port = (
- self.json_data["tor_port"]
- if "tor_port" in self.json_data and self.json_data["tor_port"] is not None
- else 1881
- )
- self.tor_control_port = (
- self.json_data["tor_control_port"]
- if "tor_port" in self.json_data
- and self.json_data["tor_control_port"] is not None
- else 9051
- )
-
- # tor connection
- if self.using_tor:
- self.proxies = get_proxies(self, ["127.0.0.1:" + str(self.tor_port)])
- if self.use_builtin_tor:
- subprocess.Popen(
- '"'
- + os.path.join(os.getcwd(), "./tor/Tor/tor.exe")
- + '"'
- + " --defaults-torrc "
- + '"'
- + os.path.join(os.getcwd(), "./Tor/Tor/torrc")
- + '"'
- + " --HTTPTunnelPort "
- + str(self.tor_port),
- shell=True,
- )
- try:
- self.tor_controller = Controller.from_port(port=self.tor_control_port)
- self.tor_controller.authenticate(self.tor_password)
- self.logger.info("successfully connected to tor!")
- except (ValueError, SocketError):
- self.logger.error("connection to tor failed, disabling tor")
- self.using_tor = False
-
-
-def get_proxies_text(self):
- path_proxies = os.path.join(os.getcwd(), "proxies.txt")
- f = open(path_proxies)
- file = f.read()
- f.close()
- proxies_list = file.splitlines()
- self.proxies = []
- for i in proxies_list:
- self.proxies.append({"https": i, "http": i})
- self.logger.debug("loaded proxies {} from file {}", i, path_proxies)
-
-
-def get_proxies(self, proxies):
- proxies_list = []
- for i in proxies:
- proxies_list.append({"https": i, "http": i})
-
- self.logger.debug("Loaded proxies: {}", str(proxies_list))
- return proxies_list
- return proxies_list
-
-def get_random_proxy(self, name):
- if not self.using_tor:
- random_proxy = None
- if name is not None:
- if self.json_data["workers"][name]["personal_proxy"] is not None:
- proxy = self.json_data["workers"][name]["personal_proxy"]
- return {"https": proxy, "http": proxy}
- if self.proxies is not None:
- random_proxy = self.proxies[random.randint(0, len(self.proxies) - 1)]
- self.logger.debug("Using proxy: {}", str(random_proxy))
- return random_proxy
-
- return random_proxy
- else:
- tor_reconnect(self)
- self.logger.debug("Using Tor. Selecting first proxy: {}.", str(self.proxies[0]))
- return self.proxies[0]
-
-
-def tor_reconnect(self):
- if self.using_tor:
- try:
- self.tor_controller.signal(Signal.NEWNYM)
- self.logger.info("New Tor connection processing")
- time.sleep(self.tor_delay)
- except (InvalidArguments, ProtocolError):
- self.logger.error("couldn't establish new tor connection, disabling tor")
- self.using_tor = False
+import os
+import random
+import subprocess
+import time
+from stem import Signal, InvalidArguments, SocketError, ProtocolError
+from stem.control import Controller
+
+
+def Init(self):
+ self.proxies = (
+ get_proxies(self.json_data["proxies"])
+ if "proxies" in self.json_data and self.json_data["proxies"] is not None
+ else None
+ )
+ if self.proxies is None and os.path.exists(
+ os.path.join(os.getcwd(), "proxies.txt")
+ ):
+ self.proxies = get_proxies_text()
+ self.compactlogging = (
+ self.json_data["compact_logging"]
+ if "compact_logging" in self.json_data
+ and self.json_data["compact_logging"] is not None
+ else True
+ )
+ self.using_tor = (
+ self.json_data["using_tor"]
+ if "using_tor" in self.json_data and self.json_data["using_tor"] is not None
+ else False
+ )
+ self.tor_password = (
+ self.json_data["tor_password"]
+ if "tor_password" in self.json_data
+ and self.json_data["tor_password"] is not None
+ else "Passwort" # this is intentional, as I don't really want to mess around with the torrc again
+ )
+ self.tor_delay = (
+ self.json_data["tor_delay"]
+ if "tor_delay" in self.json_data and self.json_data["tor_delay"] is not None
+ else 10
+ )
+ self.use_builtin_tor = (
+ self.json_data["use_builtin_tor"]
+ if "use_builtin_tor" in self.json_data
+ and self.json_data["use_builtin_tor"] is not None
+ else True
+ )
+ self.tor_port = (
+ self.json_data["tor_port"]
+ if "tor_port" in self.json_data and self.json_data["tor_port"] is not None
+ else 1881
+ )
+ self.tor_control_port = (
+ self.json_data["tor_control_port"]
+ if "tor_port" in self.json_data
+ and self.json_data["tor_control_port"] is not None
+ else 9051
+ )
+
+ # tor connection
+ if self.using_tor:
+ self.proxies = get_proxies(self, ["127.0.0.1:" + str(self.tor_port)])
+ if self.use_builtin_tor:
+ subprocess.Popen(
+ '"'
+ + os.path.join(os.getcwd(), "./tor/Tor/tor.exe")
+ + '"'
+ + " --defaults-torrc "
+ + '"'
+ + os.path.join(os.getcwd(), "./Tor/Tor/torrc")
+ + '"'
+ + " --HTTPTunnelPort "
+ + str(self.tor_port),
+ shell=True,
+ )
+ try:
+ self.tor_controller = Controller.from_port(port=self.tor_control_port)
+ self.tor_controller.authenticate(self.tor_password)
+ self.logger.info("successfully connected to tor!")
+ except (ValueError, SocketError):
+ self.logger.error("connection to tor failed, disabling tor")
+ self.using_tor = False
+
+
+def get_proxies_text(self):
+ path_proxies = os.path.join(os.getcwd(), "proxies.txt")
+ f = open(path_proxies)
+ file = f.read()
+ f.close()
+ proxies_list = file.splitlines()
+ self.proxies = []
+ for i in proxies_list:
+ self.proxies.append({"https": i, "http": i})
+ self.logger.debug("loaded proxies {} from file {}", i, path_proxies)
+
+
+def get_proxies(self, proxies):
+ proxies_list = []
+ for i in proxies:
+ proxies_list.append({"https": i, "http": i})
+
+ self.logger.debug("Loaded proxies: {}", str(proxies_list))
+ return proxies_list
+ return proxies_list
+
+def get_random_proxy(self, name):
+ if not self.using_tor:
+ random_proxy = None
+ if name is not None:
+ if self.json_data["workers"][name]["personal_proxy"] is not None:
+ proxy = self.json_data["workers"][name]["personal_proxy"]
+ return {"https": proxy, "http": proxy}
+ if self.proxies is not None:
+ random_proxy = self.proxies[random.randint(0, len(self.proxies) - 1)]
+ self.logger.debug("Using proxy: {}", str(random_proxy))
+ return random_proxy
+
+ return random_proxy
+ else:
+ tor_reconnect(self)
+ self.logger.debug("Using Tor. Selecting first proxy: {}.", str(self.proxies[0]))
+ return self.proxies[0]
+
+
+def tor_reconnect(self):
+ if self.using_tor:
+ try:
+ self.tor_controller.signal(Signal.NEWNYM)
+ self.logger.info("New Tor connection processing")
+ time.sleep(self.tor_delay)
+ except (InvalidArguments, ProtocolError):
+ self.logger.error("couldn't establish new tor connection, disabling tor")
+ self.using_tor = False
From f819b182dd9ef5d17bdcd4f7f34038bffede4558 Mon Sep 17 00:00:00 2001
From: Risewill23 <69612616+Risewill23@users.noreply.github.com>
Date: Sun, 3 Apr 2022 23:31:21 -0400
Subject: [PATCH 06/14] Personal Proxy Update
---
README.md | 440 +++++++++++++++++++++++++++---------------------------
main.py | 16 +-
2 files changed, 231 insertions(+), 225 deletions(-)
diff --git a/README.md b/README.md
index 844b9602..86a164e3 100644
--- a/README.md
+++ b/README.md
@@ -1,218 +1,222 @@
-# Reddit Place Script 2022
-
-[](https://github.com/psf/black)
-[](https://forthebadge.com)
-[](https://forthebadge.com)
-
-## About
-
-This is a script to draw an image onto r/place (