irenicus09

Pastebin Tools

Oct 17th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.74 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. #####################################################
  4. #                                                   #
  5. #               Pastebin Tools                      #
  6. #                                                   #
  7. #   Utility to get content of a pastebin link       #
  8. #                                                   #
  9. #####################################################
  10.  
  11.  
  12. __author__  = 'irenicus09'
  13. __date__    = '17/10/2012'
  14. __version__ = '0.1'
  15.  
  16.  
  17. import urllib2, sys
  18.  
  19. def main():
  20.  
  21.     if exist('-g') and (len(sys.argv) >= 3):
  22.         linkID = parseLink(find('-g'))
  23.         data = getRaw(linkID)
  24.  
  25.         if (exist('-s')):
  26.             save(data,find('-s'))
  27.         else:
  28.             print data
  29.  
  30.         sys.exit(0)
  31.  
  32.     elif (exist('-h')):
  33.         help()
  34.         sys.exit(0)
  35.     else:
  36.         help()
  37.         sys.exit(1)
  38.  
  39.  
  40. def getRaw(id):
  41.     link = 'http://pastebin.com/raw.php?i=%s' % id
  42.     ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:x.x.x) Gecko/20041107 Firefox/x.x'
  43.     req = urllib2.Request(link)
  44.     req.add_header('User-Agent', ua)
  45.     try:
  46.         html = urllib2.urlopen(req).read()
  47.     except (urllib2.HTTPError):
  48.         print '[-] 404 redirected. Damn n00b waste my time! :['
  49.         sys.exit(1)
  50.     return html
  51.  
  52.  
  53. def parseLink(link):
  54.     if 'pastebin.com' not in link:
  55.         print "[-] URL doesn't belong to pastebin smart boy! ;)"
  56.         sys.exit(1)
  57.  
  58.     if 'http://' in link:
  59.         return link.split('/')[3]
  60.     else:
  61.         return link.split('/')[1]
  62.  
  63. # Prints Help
  64. def help():
  65.     print """
  66.    =============================================================
  67.    #            Pastebin Tools - Coded by Irenicus09           #
  68.    =============================================================
  69.  
  70.    Usage: ./pastebintools.py -g [url] [options]
  71.  
  72.    Note: Default mode dumps the content of a link to stdout.
  73.  
  74.    [ -h ] Prints this help.
  75.    [ -g ] Get raw paste from a pastebin link.
  76.    [ -s ] Save to specified filename
  77.    """
  78.  
  79. # Saving Data
  80. def save(data, filename):
  81.     try:
  82.         handle = open(filename, 'wb')
  83.         handle.writelines(data)
  84.         handle.close()
  85.         print '[+] Saved to %s' % filename
  86.     except Exception:
  87.         print "[-] Something went wrong while saving! :("
  88.  
  89.  
  90. # s3my0n's argument parsers
  91. def find(flag):
  92.     try:
  93.         a = sys.argv[sys.argv.index(flag)+1]
  94.     except (IndexError, ValueError):
  95.         return None
  96.     else:
  97.         return a
  98.  
  99. def exist(flag):
  100.     if flag in sys.argv[1:]:
  101.         return True
  102.     else:
  103.         return False
  104.  
  105.  
  106.  
  107.  
  108. if __name__ == '__main__':
  109.     try:
  110.         main()
  111.     except Exception:
  112.         print "[-] Oh noes Error occured & it's your fault!"
  113.         sys.exit(1)
Advertisement
Add Comment
Please, Sign In to add comment