From 27fd41da4990b0156bb59b1b90cde3a281ae18e7 Mon Sep 17 00:00:00 2001 From: iou1name Date: Fri, 26 Jul 2019 20:03:20 -0400 Subject: [PATCH] add ssl, check content-type --- oppaibot.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/oppaibot.py b/oppaibot.py index f999e0a..d66f986 100755 --- a/oppaibot.py +++ b/oppaibot.py @@ -10,7 +10,7 @@ import configparser import http.cookiejar import requests -from twisted.internet import protocol, reactor +from twisted.internet import ssl, protocol, reactor from twisted.words.protocols import irc HEADERS = {"User-Agent": "spaghetti is a faggot"} @@ -39,6 +39,9 @@ class OppaiBot(irc.IRCClient): """ res = requests.get(url, cookies=self.cj, headers=HEADERS, verify=True) res.raise_for_status() + if not res.headers['Content-Type'].startswith('application/x-bittorrent'): + print(f"ERROR: Could not download torrent file from URL '{url}'.") + return fname =re.search(r'filename="(.+)"',res.headers['content-disposition']) fname = fname.group(1) fname = fname.encode("latin-1").decode("utf-8") @@ -119,5 +122,9 @@ if __name__ == "__main__": server = tracker_config["server"] port = tracker_config.getint("port") print("Connecting to:", tracker_config.name) - reactor.connectTCP(server, port, OppaiBotFactory(tracker_config)) + reactor.connectSSL( + server, + port, + OppaiBotFactory(tracker_config), + ssl.ClientContextFactory()) reactor.run()