#!/usr/bin/python
# A Dropbox Proxy that enables files to be downloaded despite proxies.
# It works by requesting a file, via text file in your Dropbox. Your home computer downloads it and puts it in your Dropbox.
# You can then download it via dropbox.com, assuming it's not blocked.
# Screw the Firewalls!!!
def download(url, localFileName = None):
localName = url2name(url)
req = urllib2.Request(url)
r = urllib2.urlopen(req)
if r.info().has_key('Content-Disposition'):
# If the response has Content-Disposition, we take file name from it
localName = r.info()['Content-Disposition'].split('filename=')[1]
if localName[0] == '"' or localName[0] == "'":
localName = localName[1:-1]
elif r.url != url:
# if we were redirected, the real file name we take from the final URL
localName = url2name(r.url)
if localFileName:
# we can force to save the file as specified name
localName = localFileName
f = open(localName, 'wb')
f.write(r.read())
f.close()
dropbox = 'http://d...content-available-to-author-only...x.com/u/3884086'
user = '3884086'
file = '30.Rock.S06E05.Today.You.Are.a.Man.avi'
# file
download(dropbox + '/' + user + '/' + file)
IyEvdXNyL2Jpbi9weXRob24gIAojIEEgRHJvcGJveCBQcm94eSB0aGF0IGVuYWJsZXMgZmlsZXMgdG8gYmUgZG93bmxvYWRlZCBkZXNwaXRlIHByb3hpZXMuCiMgSXQgd29ya3MgYnkgcmVxdWVzdGluZyBhIGZpbGUsIHZpYSB0ZXh0IGZpbGUgaW4geW91ciBEcm9wYm94LiBZb3VyIGhvbWUgY29tcHV0ZXIgZG93bmxvYWRzIGl0IGFuZCBwdXRzIGl0IGluIHlvdXIgRHJvcGJveC4KIyBZb3UgY2FuIHRoZW4gZG93bmxvYWQgaXQgdmlhIGRyb3Bib3guY29tLCBhc3N1bWluZyBpdCdzIG5vdCBibG9ja2VkLgojIFNjcmV3IHRoZSBGaXJld2FsbHMhISEKCmRlZiBkb3dubG9hZCh1cmwsIGxvY2FsRmlsZU5hbWUgPSBOb25lKToKICBsb2NhbE5hbWUgPSB1cmwybmFtZSh1cmwpCiAgcmVxID0gdXJsbGliMi5SZXF1ZXN0KHVybCkKICByID0gdXJsbGliMi51cmxvcGVuKHJlcSkKICBpZiByLmluZm8oKS5oYXNfa2V5KCdDb250ZW50LURpc3Bvc2l0aW9uJyk6CiAgICAjIElmIHRoZSByZXNwb25zZSBoYXMgQ29udGVudC1EaXNwb3NpdGlvbiwgd2UgdGFrZSBmaWxlIG5hbWUgZnJvbSBpdAogICAgbG9jYWxOYW1lID0gci5pbmZvKClbJ0NvbnRlbnQtRGlzcG9zaXRpb24nXS5zcGxpdCgnZmlsZW5hbWU9JylbMV0KICAgIGlmIGxvY2FsTmFtZVswXSA9PSAnIicgb3IgbG9jYWxOYW1lWzBdID09ICInIjoKICAgICAgbG9jYWxOYW1lID0gbG9jYWxOYW1lWzE6LTFdCiAgZWxpZiByLnVybCAhPSB1cmw6IAogICAgICAjIGlmIHdlIHdlcmUgcmVkaXJlY3RlZCwgdGhlIHJlYWwgZmlsZSBuYW1lIHdlIHRha2UgZnJvbSB0aGUgZmluYWwgVVJMCiAgICAgIGxvY2FsTmFtZSA9IHVybDJuYW1lKHIudXJsKQogIGlmIGxvY2FsRmlsZU5hbWU6IAogICAgICAjIHdlIGNhbiBmb3JjZSB0byBzYXZlIHRoZSBmaWxlIGFzIHNwZWNpZmllZCBuYW1lCiAgICAgIGxvY2FsTmFtZSA9IGxvY2FsRmlsZU5hbWUKICAgIGYgPSBvcGVuKGxvY2FsTmFtZSwgJ3diJykKICAgIGYud3JpdGUoci5yZWFkKCkpCiAgICBmLmNsb3NlKCkKICAgIAoKZHJvcGJveCA9ICdodHRwOi8vZC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ueC5jb20vdS8zODg0MDg2Jwp1c2VyID0gJzM4ODQwODYnCmZpbGUgPSAnMzAuUm9jay5TMDZFMDUuVG9kYXkuWW91LkFyZS5hLk1hbi5hdmknCgojIGZpbGUKZG93bmxvYWQoZHJvcGJveCArICcvJyArIHVzZXIgKyAnLycgKyBmaWxlKQ==