def main(argv): if len(sys.argv) > 1: cmd = sys.argv[1] else: cmd = 'bash' term_manager = SingleTermManager(shell_command=[cmd]) handlers = [ (r"/websocket", TermSocket, {'term_manager': term_manager}), (r"/bower_components/(.*)", tornado.web.StaticFileHandler, {'path': '../../bower_components'}), (r"/lib/(.*)", tornado.web.StaticFileHandler, {'path': '../../lib'}), (r"/build/(.*)", tornado.web.StaticFileHandler, {'path': 'build'}), (r"/node_modules/(.*)", tornado.web.StaticFileHandler, {'path': '../../node_modules'}), (r"/", TerminalPageHandler), ] app = tornado.web.Application(handlers, static_path='build', template_path='.') app.listen(8765, 'localhost') url = "http://localhost:8765/" loop = tornado.ioloop.IOLoop.instance() loop.add_callback(webbrowser.open, url) try: loop.start() except KeyboardInterrupt: print(" Shutting down on SIGINT") finally: term_manager.shutdown() loop.close()
def main(argv): kernel = ptyprocess.PtyProcessUnicode.spawn(["ipython", "kernel"]) while 1: line = kernel.readline().strip() if 'existing' in line: break term_manager = SingleTermManager( shell_command=["ipython", "console", '='.join(line.split())]) handlers = [ (r"/twebsocket", TermSocket, { 'term_manager': term_manager }), (r"/swebsocket", KernelSocket), (r"/bower_components/(.*)", tornado.web.StaticFileHandler, { 'path': '../../bower_components' }), (r"/dist/(.*)", tornado.web.StaticFileHandler, { 'path': '../../dist' }), (r"/build/(.*)", tornado.web.StaticFileHandler, { 'path': 'build' }), (r"/node_modules/(.*)", tornado.web.StaticFileHandler, { 'path': '../../node_modules' }), (r"/", PageHandler), ] app = tornado.web.Application(handlers, static_path='build', template_path='.') app.listen(8765, 'localhost') url = "http://localhost:8765/" loop = tornado.ioloop.IOLoop.instance() loop.add_callback(webbrowser.open, url) try: loop.start() except KeyboardInterrupt: print(" Shutting down on SIGINT") finally: kernel.close() term_manager.shutdown() loop.close()
def start_os_provider(): term_manager = SingleTermManager(shell_command=['bash','init.sh']) handlers = [ (r"/websocket", TermSocket, {'term_manager': term_manager}), (r"/()", tornado.web.StaticFileHandler, {'path':'index.html'}), (r"/(.*)", tornado.web.StaticFileHandler, {'path':'.'}), ] app = tornado.web.Application(handlers) app.listen(8020) IOLoop.current().start()
def main(argv): kernel = ptyprocess.PtyProcessUnicode.spawn(["ipython", "kernel"]) while 1: line = kernel.readline().strip() if 'existing' in line: break term_manager = SingleTermManager(shell_command=["ipython", "console", '='.join(line.split())]) handlers = [ (r"/twebsocket", TermSocket, {'term_manager': term_manager}), (r"/swebsocket", KernelSocket), (r"/bower_components/(.*)", tornado.web.StaticFileHandler, {'path': '../../bower_components'}), (r"/dist/(.*)", tornado.web.StaticFileHandler, {'path': '../../dist'}), (r"/build/(.*)", tornado.web.StaticFileHandler, {'path': 'build'}), (r"/node_modules/(.*)", tornado.web.StaticFileHandler, {'path': '../../node_modules'}), (r"/", PageHandler), ] app = tornado.web.Application(handlers, static_path='build', template_path='.') app.listen(8765, 'localhost') url = "http://localhost:8765/" loop = tornado.ioloop.IOLoop.instance() loop.add_callback(webbrowser.open, url) try: loop.start() except KeyboardInterrupt: print(" Shutting down on SIGINT") finally: kernel.close() term_manager.shutdown() loop.close()
def main(argv): term_manager = SingleTermManager(shell_command=['bash']) handlers = [(r"/websocket", TermSocket, { 'term_manager': term_manager }), (r"/", TerminalPageHandler), (r"/xstatic/(.*)", tornado_xstatic.XStaticFileHandler, { 'allowed_modules': ['termjs'] })] app = tornado.web.Application( handlers, static_path=STATIC_DIR, template_path=TEMPLATE_DIR, xstatic_url=tornado_xstatic.url_maker('/xstatic/')) app.listen(8765, 'localhost') run_and_show_browser("http://localhost:8765/", term_manager)
def add_terminal(self, route, command, workdir=None, env=None): assert route.startswith('/') if self.app is None: raise Exception("we don't support init_app yet") term_manager = SingleTermManager(shell_command=command) wrapped_app = tornado.wsgi.WSGIContainer(self.app) handlers = [ ("{}/websocket".format(self.url_prefix), TermSocket, {'term_manager': term_manager}), (route, IndexHandler, {'url_prefix': self.url_prefix}), ("{}/(.*)".format(self.url_prefix), tornado.web.StaticFileHandler, {'path': '.'}), ("/(.*)", tornado.web.FallbackHandler, {'fallback': wrapped_app}), ] self.tornado_app = tornado.web.Application(handlers)
def main(argv): term_manager = SingleTermManager(shell_command=["bash"]) handlers = [ (r"/websocket", TermSocket, { "term_manager": term_manager }), (r"/", TerminalPageHandler), ( r"/xstatic/(.*)", tornado_xstatic.XStaticFileHandler, { "allowed_modules": ["termjs"] }, ), ] app = tornado.web.Application( handlers, static_path=STATIC_DIR, template_path=TEMPLATE_DIR, xstatic_url=tornado_xstatic.url_maker("/xstatic/"), ) app.listen(8765, "localhost") run_and_show_browser("http://localhost:8765/", term_manager)
class INDEX(QABaseHandler): def get(self): self.write( { 'status': 200, 'message': 'This is a welcome page for quantaxis backend', 'github_page': 'https://github.com/yutiansut/QUANTAXIS_WEBSERVER/blob/master/backendapi.md', 'url': [item[0] for item in handlers] } ) term_manager = SingleTermManager(shell_command=['bash']) handlers = [ (r"/", INDEX), # (r"/websocket", TermSocket, {'term_manager': term_manager}), # (r"/()", tornado.web.StaticFileHandler, {'path':'index.html'}), # (r"/(.*)", tornado.web.StaticFileHandler, {'path':'.'}), (r"/marketdata/stock/day", StockdayHandler), (r"/marketdata/stock/min", StockminHandler), (r"/marketdata/fetcher", DataFetcher), (r"/marketdata/stock/block", StockBlockHandler), (r"/marketdata/stock/price",
import tornado.web from tornado.ioloop import IOLoop from terminado import TermSocket, SingleTermManager if __name__ == '__main__': term_manager = SingleTermManager(shell_command=['bash']) handlers = [ (r"/ws", TermSocket, {'term_manager': term_manager}), (r"/()", tornado.web.StaticFileHandler, {'path': './web/index.html'}), (r"/(.*)", tornado.web.StaticFileHandler, {'path': './web/'}) ] app = tornado.web.Application(handlers) app.listen(8888) try: IOLoop.current().start() except KeyboardInterrupt: pass finally: term_manager.shutdown() print("\n")
def get(self): # Take only the right part of the path to get rid if ../../etc/password base_name = os.path.basename(self.get_argument('filename')) # Now format a clean path file_path = os.path.join(ASTERISK_RECORDING_FOLDER, base_name) if os.path.exists(file_path): _logger.info('Deleteing {}.'.format(file_path)) os.unlink(file_path) self.write('DELETED') else: _logger.warning('File {} does not exist.'.format(file_path)) self.write('NOT_FOUND') if __name__ == '__main__': term_manager = SingleTermManager(shell_command=[ASTERISK, ASTERISK_ARGS]) handlers = [(r'/websocket', MyTermSocket, { 'term_manager': term_manager }), (r'/delete_recording', RecordingDeleteHandler)] # Create SSL context if SSL_ENABLED: ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ssl_ctx.load_cert_chain(SSL_CERT, SSL_KEY) else: ssl_ctx = None # Start server app = tornado.web.Application(handlers) server = HTTPServer(app, ssl_options=ssl_ctx) server.listen(PORT)
import tornado.web from tornado.ioloop import IOLoop from terminado import TermSocket, SingleTermManager if __name__ == '__main__': term_manager = SingleTermManager(shell_command=['bash'], term_settings = {"cwd":"/home/project"}) handlers = [ (r"/websocket", TermSocket, {'term_manager': term_manager}), (r"/()", tornado.web.StaticFileHandler, {'path':'index.html'}), (r"/(.*)", tornado.web.StaticFileHandler, {'path':'.'}), ] app = tornado.web.Application(handlers) app.listen(8010) IOLoop.current().start()
██╔════╝██║ ██║██╔════╝██║ ██║ ██╔════╝██║ ██║ ███████╗██║ █╗ ██║█████╗ ██║ ██║ ███████╗███████║ ╚════██║██║███╗██║██╔══╝ ██║ ██║ ╚════██║██╔══██║ ███████║╚███╔███╔╝███████╗███████╗███████╗██╗███████║██║ ██║ ╚══════╝ ╚══╝╚══╝ ╚══════╝╚══════╝╚══════╝╚═╝╚══════╝╚═╝ ╚═╝ ''') bash_path = shutil.which('bash') if not bash_path: logger.error("Bash executable not found in PATH") logger.error("Quiting...") sys.exit(1) else: logger.info("Bash path: {}", bash_path) term_manager = SingleTermManager(shell_command=['bash']) bash_pid = term_manager.get_terminal().ptyproc.pid logger.info("bash pid is {}", bash_pid) elffile = ELFFile(open(bash_path, 'rb')) rl_line_buffer_addr = None rl_point_addr = None bash_is_pie = elffile.header['e_type'] == 'ET_DYN' if not bash_is_pie: rl_line_buffer_addr = get_symbol_value(elffile, 'rl_line_buffer') rl_point_addr = get_symbol_value(elffile, 'rl_point') elffile.stream.close()
def make_app(): global term_manager settings = { "xstatic_url": tornado_xstatic.url_maker('/xstatic/'), "template_path": "templates", "cookie_secret": get_cookie_secret(), "login_url": "/login", "upload_progress_handler": dict() #"autoescape": None } term_manager = SingleTermManager(shell_command=['./zynbash.sh']) return tornado.web.Application([ (r'/$', DashboardHandler), #(r'/()$', tornado.web.StaticFileHandler, {'path': 'html', "default_filename": "index.html"}), (r'/(.*\.html)$', tornado.web.StaticFileHandler, {'path': 'html'}), (r'/(favicon\.ico)$', tornado.web.StaticFileHandler, {'path': 'img'}), (r'/fonts/(.*)$', tornado.web.StaticFileHandler, {'path': 'fonts'}), (r'/img/(.*)$', tornado.web.StaticFileHandler, {'path': 'img'}), (r'/css/(.*)$', tornado.web.StaticFileHandler, {'path': 'css'}), (r'/js/(.*)$', tornado.web.StaticFileHandler, {'path': 'js'}), (r'/captures/(.*)$', tornado.web.StaticFileHandler, {'path': 'captures'}), (r'/bower_components/(.*)$', tornado.web.StaticFileHandler, {'path': 'bower_components'}), (r"/login", LoginHandler), (r"/logout", LogoutHandler), (r"/lib-snapshot$", SnapshotConfigHandler), (r"/lib-snapshot/ajax/(.*)$", SnapshotConfigHandler), (r"/lib-snapshot/download/(.*)$", SnapshotDownloadHandler), (r"/lib-snapshot/remove/(.*)/(.*)$", SnapshotRemoveOptionHandler), (r"/lib-snapshot/remove-layer/(.*)/(.*)$", SnapshotRemoveLayerHandler), (r"/lib-snapshot/add/(.*)/(.*)$", SnapshotAddOptionsHandler), (r"/lib-presets$", PresetsConfigHandler), (r"/lib-presets/(.*)$", PresetsConfigHandler), (r"/lib-presets/(.*)/(.*)$", PresetsConfigHandler), (r"/lib-captures$", CapturesConfigHandler), (r"/hw-kit$", KitConfigHandler), (r"/hw-audio$", AudioConfigHandler), (r"/hw-audio-mixer$", AudioMixerHandler), (r"/hw-audio-mixer/(.*)/(.*)$", AudioMixerHandler), (r"/hw-display$", DisplayConfigHandler), (r"/hw-wiring$", WiringConfigHandler), (r"/sw-update$", SoftwareUpdateHandler), (r"/sw-pianoteq$", PianoteqHandler), (r"/sw-jalv-lv2$", JalvLv2Handler), (r"/sw-repos$", RepositoryHandler), (r"/ui-options$", UiConfigHandler), (r"/ui-keybind$", UiKeybindHandler), (r"/ui-log$", UiLogHandler), (r"/ui-midi-options$", MidiConfigHandler), (r"/ui-midi-log$", MidiLogHandler), (r"/sys-wifi$", WifiConfigHandler), (r"/sys-backup$", SystemBackupHandler), (r"/sys-security$", SecurityConfigHandler), (r"/sys-reboot$", RebootHandler), (r"/sys-poweroff$", PoweroffHandler), (r"/wifi/list$", WifiListHandler), (r'/upload$', UploadHandler), (r"/ws$", ZynthianWebSocketHandler), (r"/zynterm", ZyntermHandler), (r"/zynterm_ws", TermSocket, {'term_manager': term_manager}), (r"/xstatic/(.*)", tornado_xstatic.XStaticFileHandler, {'allowed_modules': ['termjs']}) ], **settings)