Guest User

8kun image viewer 0.2

a guest
Sep 2nd, 2021
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.14 KB | None | 0 0
  1. import requests
  2. import urllib3
  3. from PIL import Image
  4. from io import BytesIO
  5. from unittest.mock import patch
  6. import argparse
  7.  
  8. def connect_to(host, port):
  9.     from urllib3.util.connection import create_connection as orig_create_connection
  10.  
  11.     def _forced_address_connection(address, *args, **kwargs):
  12.         forced_address = (host, port)
  13.         return orig_create_connection(forced_address, *args, **kwargs)
  14.  
  15.     return patch('urllib3.util.connection.create_connection', _forced_address_connection)
  16.  
  17. urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
  18. ns = ['193.178.169.19', '94.103.81.80', '94.103.82.74', '94.103.94.73', '195.2.93.193', '185.165.190.88', '23.163.176.229', '195.2.76.245', '95.179.139.27', '178.62.218.115', 'sys.8kun.top']
  19. parser = argparse.ArgumentParser()
  20. parser.add_argument('url', help='Link to image')
  21. parser.add_argument('-s', default=False, dest='s', action='store_true', help='Enable sys workaround, short link only works with jpg')
  22. parser.add_argument('-p', default=False, dest='p', action='store_true', help='Also rename png to jpg, must use longer dl link')
  23. parser.add_argument('-g', default=False, dest='g', action='store_true', help='Also rename gif to jpg, must use longer dl link')
  24. parser.add_argument('-v', default=False, dest='v', action='store_true', help='Verbose output')
  25. args = parser.parse_args()
  26.  
  27. for media in ns:
  28.     try:
  29.         url = args.url
  30.         s = args.s
  31.         p = args.p
  32.         v = args.v
  33.         g = args.g
  34.         if s:
  35.             url = url.replace('https://media', 'https://sys')
  36.         if p:
  37.             n = '.jpg'
  38.             url = n.join(url.rsplit('.png', 1))
  39.         if g:
  40.             n = '.jpg'
  41.             url = n.join(url.rsplit('.gif', 1))
  42.         with connect_to(media, 443):
  43.             try:
  44.                 if v:
  45.                     print(media)
  46.                     print(url)
  47.                 r = requests.get(url, verify=False)
  48.                 img = Image.open(BytesIO(r.content))
  49.                 img.show()
  50.                 break
  51.             except Exception as error:
  52.                 print(error)
  53.     except Exception as error:
  54.         print(error)
Advertisement
Add Comment
Please, Sign In to add comment