Skip to content

Instantly share code, notes, and snippets.

@Nighoo
Created January 21, 2015 19:37
Show Gist options
  • Save Nighoo/4dee529926a7c8e9090c to your computer and use it in GitHub Desktop.
Save Nighoo/4dee529926a7c8e9090c to your computer and use it in GitHub Desktop.
unlock gatekeeper
#!/usr/bin/env python2
# ~*~ coding: utf-8
import urllib, urllib2
import keyring
def getToken(ret, targetform):
start=ret.find(targetform)
begin_token=start+ret[start:].find('value=\'')+len('value=\'')
token=ret[begin_token:ret[begin_token:].find('\'')+begin_token]
if len(token) != 32:
print 'Kaputt'
exit(1)
# print 'Token: ', token
return token
def main():
cookieHandler = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener( urllib2.HTTPSHandler(), cookieHandler )
ret = opener.open('https://gatekeeper.freitagsrunde.org/gatekeeper').read()
token = getToken(ret, "/login/")
data = {'csrfmiddlewaretoken':token, 'username':'nico', 'password':keyring.get_password('Freitagsrunde', 'intern')}
req = urllib2.Request('https://gatekeeper.freitagsrunde.org/login/',
data = urllib.urlencode(data))
req.add_header( 'Referer', 'https://gatekeeper.freitagsrunde.org/gatekeeper' )
try:
ret = opener.open(req).read()
# print 'Logged in!'
token = getToken(ret, '/gatekeeper/unkeep/')
except Exception, e:
print 'Could not login:\n%s' % str(e)
exit(0)
data = {'csrfmiddlewaretoken':token, 'action':'Akzeptieren', 'duration':'24', 'redirect':'', 'submit':'Freischalten'}
req = urllib2.Request('https://gatekeeper.freitagsrunde.org/gatekeeper/unkeep/',
data = urllib.urlencode(data))
req.add_header( 'Referer', 'https://gatekeeper.freitagsrunde.org/gatekeeper' )
try:
opener.open(req)
print 'OK'
except Exception, e:
print 'Could not unkeep:\n%s' % str(e)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment