def SearchFiles(self, get): if not hasattr(get, 'path'): get.path = '/www/wwwroot' if sys.version_info[0] == 2: get.path = get.path.encode('utf-8') if not os.path.exists(get.path): get.path = '/www' search = get.search.strip().lower() my_dirs = [] my_files = [] count = 0 max = 3000 for d_list in os.walk(get.path): if count >= max: break for d in d_list[1]: if count >= max: break if d.lower().find(search) != -1: my_dirs.append( self.__get_stat(d_list[0] + '/' + d, get.path)) count += 1 for f in d_list[2]: if count >= max: break if f.lower().find(search) != -1: my_files.append( self.__get_stat(d_list[0] + '/' + f, get.path)) count += 1 data = {} data['DIR'] = sorted(my_dirs) data['FILES'] = sorted(my_files) data['PATH'] = str(get.path) data['PAGE'] = public.get_page( len(my_dirs) + len(my_files), 1, max, 'GetFiles')['page'] return data
def get_logs(self, args): if 'p' in args: p = int(args.p) rows = 10 if 'rows' in args: rows = int(args.rows) count = public.M('logs').where('type=?', ('SSH security',)).count() data = public.get_page(count, int(args.p), int(rows)) data['data'] = public.M('logs').where('type=?', ('SSH security',)).limit(data['shift'] + ',' + data['row']).order( 'addtime desc').select() return data
def get_logs(self,args): #处理前端传过来的参数 if not 'p' in args: args.p = 1 if not 'rows' in args: args.rows = 12 if not 'callback' in args: args.callback = '' args.p = int(args.p) args.rows = int(args.rows) #取日志总行数 count = public.M('logs').count() #获取分页数据 page_data = public.get_page(count,args.p,args.rows,args.callback) #获取当前页的数据列表 log_list = public.M('logs').order('id desc').limit(page_data['shift'] + ',' + page_data['row']).field('id,type,log,addtime').select() #返回数据到前端 return {'data': log_list,'page':page_data['page'] }
def main(): print('Testing kuaidaili') used_time_list = [] valid_count = 0 total_count = 0 while True: flag, result = get_page(api_url) if flag: proxy = result.strip() if is_proxy(proxy): total_count += 1 print('Testing proxy', proxy) test_flag, test_result = test_proxy(proxy=proxy) if test_flag: valid_count += 1 used_time_list.append(test_result) stats_result(used_time_list, valid_count, total_count) time.sleep(wait) if total_count == max: break
def GetList(self,get = None): try: data = {} # 获取开放的端口 data['ports'] = self.__Obj.GetAcceptPortList(); #当前时间 #'2018-10-11 14:36:40' addtime = time.strftime('%Y-%m-%d %X',time.localtime()) # for i in range(len(data['ports'])): # tmp = self.CheckDbExists(data['ports'][i]['port'],data['ports'][i]['protocol']); # | id | port | ps | addtime | ports | protocol | address_ip | types | if not tmp: public.M('firewall').add('port,ps,addtime',(data['ports'][i]['port'],'',addtime)) data['iplist'] = self.__Obj.GetDropAddressList(); for i in range(len(data['iplist'])): try: tmp = self.CheckDbExists(data['iplist'][i]['address']); if not tmp: public.M('firewall').add('port,ps,addtime',(data['iplist'][i]['address'],'',addtime)) except: return public.get_error_info() # 添加到firewalls 数据表中 data['reject']=self.__Obj.GetrejectLIST() for i in range(len(data['reject'])): try: tmp=self.CheckDbExists2(data['reject'][i]['protocol'], data['reject'][i]['type'], data['reject'][i]['port'], data['reject'][i]['address']) if not tmp:public.M('firewall').add('protocol,types,ports,address_ip,addtime', (data['reject'][i]['protocol'], data['reject'][i]['type'], data['reject'][i]['port'], data['reject'][i]['address'],addtime)) except: return public.get_error_info() # 添加允许信息到firewalls 表中 data['accept'] = self.__Obj.Getacceptlist() #return data for i in range(len(data['accept'])): try: tmp = self.CheckDbExists2(data['accept'][i]['protocol'], data['accept'][i]['type'], data['accept'][i]['port'], data['accept'][i]['address']) if not tmp: public.M('firewall').add('protocol,types,ports,address_ip,addtime', (data['accept'][i]['protocol'], data['accept'][i]['type'], data['accept'][i]['port'], data['accept'][i]['address'],addtime)) except: return public.get_error_info() count = public.M('firewall').count(); data = {} data['page'] = public.get_page(count,int(get.p),12,get.collback) data['data'] = public.M('firewall').limit(data['page']['shift'] + ',' + data['page']['row']).order('id desc').select() for i in range(len(data['data'])): if data['data'][i]['port'].find(':') != -1 or data['data'][i]['port'].find('.') != -1 or data['data'][i]['port'].find('-') != -1: data['data'][i]['status'] = -1; else: data['data'][i]['status'] = public.check_port_stat(int(data['data'][i]['port'])); data['page'] = data['page']['page'] return data except Exception as ex: return public.get_error_info()