Example #1
0
def exec_cmd(msg=''):
  fd = open(gen.action_file,'w')
  fd.close()
  gen.get_signal(gen.if_file)
  while 1:
    cmd = 'select * from cmd where valid = "cmd"'
    res = sql.run_sql_cmd(cmd)
    if len(res) == 0:
      break 
    time.sleep(1)
  res = sql.read('cmd','succ')
  ret = True
  if res != [(None,None)]:
    print "<p>%s update successful"%(msg)
  res = sql.read('cmd','err')
  if res != [(None,None)]:
    for rec in res:
      errcmd = rec[1].split(":")[0]
      err = rec[1].split(":")[1]
      cmdtype = gen.get_cmd_type(errcmd)
      print "<p>Update FAILED: %s"%(err)
      ret = False
  cmd = 'delete from cmd'
  sql.run_sql_cmd(cmd)
  return ret
Example #2
0
def exec_cmd(msg=''):
    fd = open(gen.action_file, 'w')
    fd.close()
    gen.get_signal(gen.if_file)
    while 1:
        cmd = 'select * from cmd where valid = "cmd"'
        res = sql.run_sql_cmd(cmd)
        if len(res) == 0:
            break
        time.sleep(1)
    res = sql.read('cmd', 'succ')
    ret = True
    if res != [(None, None)]:
        print "<p>%s update successful" % (msg)
    res = sql.read('cmd', 'err')
    if res != [(None, None)]:
        for rec in res:
            errcmd = rec[1].split(":")[0]
            err = rec[1].split(":")[1]
            cmdtype = gen.get_cmd_type(errcmd)
            print "<p>Update FAILED: %s" % (err)
            ret = False
    cmd = 'delete from cmd'
    sql.run_sql_cmd(cmd)
    return ret
Example #3
0
def ShutUp(msg, QQ, GroupID):
    import json
    if '#禁言' in msg:
        Adminer = sql.read('SELECT * FROM Admin;')
        if str(QQ) in list(
                itertools.chain.from_iterable([list(x) for x in Adminer])):
            try:
                shutupuserid = json.loads(msg)['UserID'][0]
                time = json.loads(msg)['Content'].split(' ')[2]
            except:
                POST.GroupMsg(msg='缺少参数',
                              groupid=GroupID,
                              picurl=0,
                              picbase=0,
                              atUser=0)
                return
            POST.SetShutUpUser(qq=shutupuserid, time=time, groupid=GroupID)
            POST.GroupMsg(msg='操作成功',
                          groupid=GroupID,
                          picurl=0,
                          picbase=0,
                          atUser=0)
        else:
            POST.GroupMsg(msg='非许可用户,不可使用该命令',
                          groupid=GroupID,
                          picurl=0,
                          picbase=0,
                          atUser=0)
Example #4
0
def login_refresh():
  ctime = int(time.time())
  res = sql.read('val','login:%s'%(os.environ['REMOTE_ADDR']))
  if res[0][0] == None:
    sql.insert('val','login:%s'%(os.environ['REMOTE_ADDR']),ctime)
  else:
    sql.modify('val','login:%s'%(os.environ['REMOTE_ADDR']),ctime)
  return
Example #5
0
def login_refresh():
    ctime = int(time.time())
    res = sql.read('val', 'login:%s' % (os.environ['REMOTE_ADDR']))
    if res[0][0] == None:
        sql.insert('val', 'login:%s' % (os.environ['REMOTE_ADDR']), ctime)
    else:
        sql.modify('val', 'login:%s' % (os.environ['REMOTE_ADDR']), ctime)
    return
Example #6
0
def login_check():
  res =  sql.read('val','login:%s'%(os.environ['REMOTE_ADDR']))
  if res[0][0] == None:
    sql.insert('val','login:%s'%(os.environ['REMOTE_ADDR']),0)
    res = [(0,0)]
  lastmtime = res[0][0]
  ctime = int(time.time())
  if (ctime - lastmtime) > (5*60):
    return False
  return True
Example #7
0
def login_check():
    res = sql.read('val', 'login:%s' % (os.environ['REMOTE_ADDR']))
    if res[0][0] == None:
        sql.insert('val', 'login:%s' % (os.environ['REMOTE_ADDR']), 0)
        res = [(0, 0)]
    lastmtime = res[0][0]
    ctime = int(time.time())
    if (ctime - lastmtime) > (5 * 60):
        return False
    return True
Example #8
0
def passwd():
  pwd = sql.read('val','webpass')[0][1]
  if pwd != form['opass'].value:
    gen.redirect(page='passwd',latency=3,msg='Error: Web password does not match record.') 
    return
  if form['npass1'].value != form['npass2'].value:
    gen.redirect(page='passwd',latency=3,msg='Error: New passwords do not match.') 
    return
  sql.modify('val','webpass',form['npass1'].value)
  print "<p>New password updated"
Example #9
0
def passwd():
    pwd = sql.read('val', 'webpass')[0][1]
    if pwd != form['opass'].value:
        gen.redirect(page='passwd',
                     latency=3,
                     msg='Error: Web password does not match record.')
        return
    if form['npass1'].value != form['npass2'].value:
        gen.redirect(page='passwd',
                     latency=3,
                     msg='Error: New passwords do not match.')
        return
    sql.modify('val', 'webpass', form['npass1'].value)
    print "<p>New password updated"
Example #10
0
def Block(Type, GroupID, MsgSeq, MsgRandom, QQ):
    Adminer = sql.read('SELECT * FROM Admin;')
    if str(QQ) in str(Adminer):
        return
    else:
        POST.CheHui(GroupID=GroupID, MsgSeq=MsgSeq, MsgRandom=MsgRandom)
        POST.GroupMsg(msg=f'监测到违规信息,已经撤回,类型为{Type}',
                      groupid=GroupID,
                      picurl=0,
                      picbase=0,
                      atUser=0)
        POST.SetShutUpUser(qq=QQ,
                           time=config['TextShutupTime'],
                           groupid=GroupID)
Example #11
0
def handle():
  print 'handling'
  res = sql.read('cmd','cmd')
  cmd = ''
  for rec in res:
    print rec[1]
    out = sub.Popen([rec[1]],shell=True,stdout=nfp,stderr=sub.PIPE).communicate()
    if len(out[1]) > 1:
      cmd = "insert into cmd (valid,valchar) values('err','%s:%s')"%(rec[1],out[1])
    else:
      cmd = "insert into cmd (valid,valchar) values('succ','%s')"%(rec[1])
    sql.run_sql_cmd(cmd)
    cmd = 'delete from cmd where valid = "cmd"'
    sql.run_sql_cmd(cmd)
Example #12
0
def handle():
    print 'handling'
    res = sql.read('cmd', 'cmd')
    cmd = ''
    for rec in res:
        print rec[1]
        out = sub.Popen([rec[1]], shell=True, stdout=nfp,
                        stderr=sub.PIPE).communicate()
        if len(out[1]) > 1:
            cmd = "insert into cmd (valid,valchar) values('err','%s:%s')" % (
                rec[1], out[1])
        else:
            cmd = "insert into cmd (valid,valchar) values('succ','%s')" % (
                rec[1])
        sql.run_sql_cmd(cmd)
        cmd = 'delete from cmd where valid = "cmd"'
        sql.run_sql_cmd(cmd)
Example #13
0
def privacy():
  try:
    dur = int(form['dur'].value)
    ctime = int(time.time())
    ntime = ctime + dur*60
    res = sql.read('val','privend')
    if res[0][0] == None:
      sql.insert('val','privend',ntime)
    else:
      sql.modify('val','privend',ntime)
    cmd = 'pgrep tie && killall tie'
    sql.insert('cmd','cmd',[0,cmd])
    ret = exec_cmd('Privacy Settings ')
    if ret:
      print "<p>Private mode enabled for %s minutes"%(dur)
    else:
      pass
  except:
    print "<p>Private mode not enabled"
Example #14
0
def privacy():
    try:
        dur = int(form['dur'].value)
        ctime = int(time.time())
        ntime = ctime + dur * 60
        res = sql.read('val', 'privend')
        if res[0][0] == None:
            sql.insert('val', 'privend', ntime)
        else:
            sql.modify('val', 'privend', ntime)
        cmd = 'pgrep tie && killall tie'
        sql.insert('cmd', 'cmd', [0, cmd])
        ret = exec_cmd('Privacy Settings ')
        if ret:
            print "<p>Private mode enabled for %s minutes" % (dur)
        else:
            pass
    except:
        print "<p>Private mode not enabled"
Example #15
0
def login():
  res = sql.read('val','webpass')
  if res[0][1] == None:
    sql.insert('val','webpass',gen.default_pass)
    res = [(0,gen.default_pass)]
  pwd = res[0][1]
  if pwd == form['pwd'].value:
    gen.login_refresh()
    latency = 0
    dest = 'main'
    msg = ''
  else:
    latency = 4
    dest = 'login'
    msg = '<p>Wrong Password! Going back to login page...'
  print "Content-Type: text/html"
  print
  print '<html>\
  <body>\
  <meta http-equiv="REFRESH" content="%s;url=%s.py">\n\
  %s\
  </html>\
  '%(latency,dest,msg)
Example #16
0
def login():
    res = sql.read('val', 'webpass')
    if res[0][1] == None:
        sql.insert('val', 'webpass', gen.default_pass)
        res = [(0, gen.default_pass)]
    pwd = res[0][1]
    if pwd == form['pwd'].value:
        gen.login_refresh()
        latency = 0
        dest = 'main'
        msg = ''
    else:
        latency = 4
        dest = 'login'
        msg = '<p>Wrong Password! Going back to login page...'
    print "Content-Type: text/html"
    print
    print '<html>\
  <body>\
  <meta http-equiv="REFRESH" content="%s;url=%s.py">\n\
  %s\
  </html>\
  ' % (latency, dest, msg)
Example #17
0
def GetUserBilibili(QQ):
    import sql
    QQ = str(QQ)
    tmp = sql.read(f'SELECT * FROM bilibili WHERE QQ="{QQ}"')
    return ({"csrf": tmp[1], "cookie": tmp[2]})
Example #18
0
#!/usr/bin/env python
import cgi
import cgitb
import gen
import sql
import os

cgitb.enable()


res = sql.read("val", "login:%s" % (os.environ["REMOTE_ADDR"]))
if res[0][0] == None:
    sql.insert("val", "login:%s" % (os.environ["REMOTE_ADDR"]), 0)
else:
    sql.modify("val", "login:%s" % (os.environ["REMOTE_ADDR"]), 0)
gen.print_header()
print "\
Logged out successfully\
<p><a href=login.py>Log back in</a>\
</html>\
"