PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/sharedrads/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/sharedrads/pastebin |
#!/opt/imh-python/bin/python3 from getpass import GetPassWarning import urllib.request import urllib.parse import urllib.error import sys import platform import time import re import os import termios import warnings PASTE_URL = "https://pastebin.imhadmin.net/" def _raw_input(prompt="", stream=None, input_io=None): # A raw_input() replacement that doesn't save the string in the # GNU readline history. if not stream: stream = sys.stderr if not input_io: input_io = sys.stdin prompt = str(prompt) if prompt: stream.write(prompt) stream.flush() # NOTE: The Python C API calls flockfile() (and unlock) during readline. line = input_io.readline() if not line: raise EOFError if line[-1] == '\n': line = line[:-1] return line def fallback_getpass(prompt='Password: ', stream=None): warnings.warn( "Can not control echo on the terminal.", GetPassWarning, stacklevel=2 ) if not stream: stream = sys.stderr print("Warning: Password input may be echoed.", file=stream) return _raw_input(prompt, stream) def getpass(prompt="Password: ", stream=None): fd = None tty = None try: # Always try reading and writing directly on the tty first. fd = os.open('/dev/tty', os.O_RDWR | os.O_NOCTTY) tty = os.fdopen(fd, 'w+', 1) input_io = tty if not stream: stream = tty except OSError: # If that fails, see if stdin can be controlled. try: fd = sys.stdin.fileno() except (AttributeError, ValueError): passwd = fallback_getpass(prompt, stream) input_io = sys.stdin if not stream: stream = sys.stderr if fd is not None: passwd = None try: old = termios.tcgetattr(fd) # a copy to save new = old[:] new[3] &= ~termios.ECHO # 3 == 'lflags' tcsetattr_flags = termios.TCSAFLUSH if hasattr(termios, 'TCSASOFT'): tcsetattr_flags |= termios.TCSASOFT try: termios.tcsetattr(fd, tcsetattr_flags, new) passwd = _raw_input(prompt, stream, input_io=input_io) finally: termios.tcsetattr(fd, tcsetattr_flags, old) stream.flush() # issue7208 except termios.error: if passwd is not None: # _raw_input succeeded. The final tcsetattr failed. Reraise # instead of leaving the terminal in an unknown state. raise # We can't control the tty or stdin. Give up and use normal IO. # fallback_getpass() raises an appropriate warning. del input_io, tty # clean up unused file objects before blocking passwd = fallback_getpass(prompt, stream) stream.write('\n') return passwd def getuser(): """ Obtain user from utmp trail, otherwise prompt """ username = os.getlogin() if username == 'root': print( "Unable to obtain user from utmp.", "Please enter your FreeIPA username.", ) username = getpass(prompt="Username: ") return username def main(): request = urllib.request.Request(PASTE_URL) user = getuser() password = getpass() password_manager = urllib.request.HTTPPasswordMgrWithDefaultRealm() password_manager.add_password(None, PASTE_URL, user, password) auth_manager = urllib.request.HTTPBasicAuthHandler(password_manager) opener = urllib.request.build_opener(auth_manager) urllib.request.install_opener(opener) values = { 'name': platform.node(), 'title': "Paste at %s" % time.strftime("%Y-%m-%d %H:%M:%S %Z"), 'lang': 'text', 'code': sys.stdin.read(), 'expire': 0, 'submit': 'submit', } data = urllib.parse.urlencode(values) try: with urllib.request.urlopen(request, data) as handler: response = handler.read() except urllib.error.HTTPError: sys.exit("Could not post to pastebin. Wrong password?") urlmatcher = re.compile(r"""URL\s+<\/span><a\s+href="([\w:\.\/]+)">""") result_url = urlmatcher.search(response) if result_url: print("Your paste is at %s" % result_url.group(1)) else: print("Could not parse the response for your paste. Sorry.") if __name__ == '__main__': main()