heartranked

git clone https://git.tarina.org/heartranked
Log | Files | Refs

commit 924c442ce2efd15e992db1015a018c9c22185e1d
parent 6c363c41ea9b21fbf08c80675989c25ff9030314
Author: rbckman <rob@tarina.org>
Date:   Mon, 10 Aug 2026 16:36:57 +0300

basic filter lol

Diffstat:
Mserver.py | 12++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/server.py b/server.py @@ -64,7 +64,7 @@ renderop = web.template.render(templatedir, base="op") rendersplash = web.template.render(templatedir, base="splash") session = web.session.Session(app,store,initializer={'login':0, 'privilege':0, 'bag':[], 'sessionkey':'empty','postid':'','backurl':'','user':'','search':'', 'bildsida':'', 'feedbase':'', 'timebase':''}) -allowedchar = '_','-','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0' +allowedchar = 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' def runfirst(): os.makedirs(basedir+'p/posts',exist_ok=True) @@ -257,7 +257,7 @@ def getinvitation(secretinvitation): class trust(): form = web.form.Form( web.form.Textbox('servername', web.form.notnull, description="server:"), - web.form.Textbox('port', web.form.notnull, description="port:"), + web.form.Textbox('port', description="port:"), web.form.Textbox('user', web.form.notnull, description="user:"), web.form.Password('password', web.form.notnull, description="passcode:"), web.form.Button('Trust')) @@ -274,6 +274,7 @@ class trust(): trustform = self.form() return render.trust(trustform, trustedlist) def POST(self): + i = web.input(port='') referer = web.ctx.env.get('HTTP_REFERER',baseurl) ip = web.ctx['ip'] stopflood(ip, referer) @@ -1464,8 +1465,11 @@ class editor: trusted=loadjson('r/trusted/'+t) trustedlist.append(trusted) for t in trustedlist: - url='http://'+t['servername']+':'+t['port'] - trustedlogin = ['curl','-X','POST', url+'/login', '-i', '-b', basedir+'/sessions/cookies.txt', '-c',basedir+'/sessions/cookies.txt', '-d', 'user='+t['user']+'&password='+t['password']] + url=t['servername']+':'+t['port'] + for a in allowedchar: + if '.'+a in t['servername']: #is webaddress use https + url='https://'+t['servername']+':'+t['port'] + trustedlogin = ['curl','-X','POST', url+'/login', '-i', '-b', basedir+'/sessions/cookies.txt', '-c',basedir+'/sessions/cookies.txt', '-d', 'user='+t['user'], '-d', 'password='+t['password']] subprocess.check_output(trustedlogin) shippit = ['curl','-X', 'POST', '--verbose', '--header', 'Content-Type: multipart/form-data', '-F', 'files=@'+basedir+'p/zipped/'+session.postid+'.zip;type=application/zip', '-b', basedir+'/sessions/cookies.txt', '-c',basedir+'/sessions/cookies.txt', url+'/upload'] #shippit = ['curl','--request', 'POST', '--url', url+'/upload', '--verbose', '--header', 'Content-Type: multipart/form-data', '--form', 'file-input=@'+basedir+'p/zippit/'+session.postid+'.zip', '-b', basedir+'/sessions/cookies.txt', '-c',basedir+'/sessions/cookies.txt']