Example #1
0
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()
Example #2
0
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()
Example #3
0
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()
Example #5
0
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)
Example #8
0
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",
Example #9
0
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")
Example #10
0
    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)
Example #11
0
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()
Example #12
0
        ██╔════╝██║    ██║██╔════╝██║     ██║        ██╔════╝██║  ██║
        ███████╗██║ █╗ ██║█████╗  ██║     ██║        ███████╗███████║
        ╚════██║██║███╗██║██╔══╝  ██║     ██║        ╚════██║██╔══██║
        ███████║╚███╔███╔╝███████╗███████╗███████╗██╗███████║██║  ██║
        ╚══════╝ ╚══╝╚══╝ ╚══════╝╚══════╝╚══════╝╚═╝╚══════╝╚═╝  ╚═╝
    ''')

    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)