#!/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)
IyEvdXNyL2Jpbi9weXRob24gIAojIEEgRHJvcGJveCBQcm94eSB0aGF0IGVuYWJsZXMgZmlsZXMgdG8gYmUgZG93bmxvYWRlZCBkZXNwaXRlIHByb3hpZXMuCiMgSXQgd29ya3MgYnkgcmVxdWVzdGluZyBhIGZpbGUsIHZpYSB0ZXh0IGZpbGUgaW4geW91ciBEcm9wYm94LiBZb3VyIGhvbWUgY29tcHV0ZXIgZG93bmxvYWRzIGl0IGFuZCBwdXRzIGl0IGluIHlvdXIgRHJvcGJveC4KIyBZb3UgY2FuIHRoZW4gZG93bmxvYWQgaXQgdmlhIGRyb3Bib3guY29tLCBhc3N1bWluZyBpdCdzIG5vdCBibG9ja2VkLgojIFNjcmV3IHRoZSBGaXJld2FsbHMhISEKCmRlZiBkb3dubG9hZCh1cmwsIGxvY2FsRmlsZU5hbWUgPSBOb25lKToKICAgIGxvY2FsTmFtZSA9IHVybDJuYW1lKHVybCkKICAgIHJlcSA9IHVybGxpYjIuUmVxdWVzdCh1cmwpCiAgICByID0gdXJsbGliMi51cmxvcGVuKHJlcSkKICAgIGlmIHIuaW5mbygpLmhhc19rZXkoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKToKICAgICAgICAjIElmIHRoZSByZXNwb25zZSBoYXMgQ29udGVudC1EaXNwb3NpdGlvbiwgd2UgdGFrZSBmaWxlIG5hbWUgZnJvbSBpdAogICAgICAgIGxvY2FsTmFtZSA9IHIuaW5mbygpWydDb250ZW50LURpc3Bvc2l0aW9uJ10uc3BsaXQoJ2ZpbGVuYW1lPScpWzFdCiAgICAgICAgaWYgbG9jYWxOYW1lWzBdID09ICciJyBvciBsb2NhbE5hbWVbMF0gPT0gIiciOgogICAgICAgIGxvY2FsTmFtZSA9IGxvY2FsTmFtZVsxOi0xXQogICAgZWxpZiByLnVybCAhPSB1cmw6IAogICAgICAgICMgaWYgd2Ugd2VyZSByZWRpcmVjdGVkLCB0aGUgcmVhbCBmaWxlIG5hbWUgd2UgdGFrZSBmcm9tIHRoZSBmaW5hbCBVUkwKICAgICAgICBsb2NhbE5hbWUgPSB1cmwybmFtZShyLnVybCkKICAgIGlmIGxvY2FsRmlsZU5hbWU6IAogICAgICAgICMgd2UgY2FuIGZvcmNlIHRvIHNhdmUgdGhlIGZpbGUgYXMgc3BlY2lmaWVkIG5hbWUKICAgICAgICBsb2NhbE5hbWUgPSBsb2NhbEZpbGVOYW1lCiAgICBmID0gb3Blbihsb2NhbE5hbWUsICd3YicpCiAgICBmLndyaXRlKHIucmVhZCgpKQogICAgZi5jbG9zZSgpCiAgICAKCmRyb3Bib3ggPSAnaHR0cDovL2QuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnguY29tL3UvMzg4NDA4NicKdXNlciA9ICczODg0MDg2JwpmaWxlID0gJzMwLlJvY2suUzA2RTA1LlRvZGF5LllvdS5BcmUuYS5NYW4uYXZpJwoKIyBmaWxlCmRvd25sb2FkKGRyb3Bib3ggKyAnLycgKyB1c2VyICsgJy8nICsgZmlsZSk=