Пример #1
0
def default_splash_server(
        portnum,
        ip,
        max_timeout,
        *,
        slots=None,
        proxy_profiles_path=None,
        js_profiles_path=None,
        js_disable_cross_domain_access=False,
        filters_path=None,
        allowed_schemes=None,
        private_mode=True,
        ui_enabled=True,
        lua_enabled=True,
        lua_sandbox_enabled=True,
        lua_package_path="",
        lua_sandbox_allowed_modules=(),
        strict_lua_runner=False,
        argument_cache_max_entries=None,
        verbosity=None,
        server_factory=splash_server,
        disable_browser_caches=False,
        browser_engines_enabled=(),
        dont_log_args=None,
):
    from splash import network_manager
    network_manager_factory = network_manager.NetworkManagerFactory(
        filters_path=filters_path,
        verbosity=verbosity,
        allowed_schemes=allowed_schemes,
        disable_browser_caches=disable_browser_caches,
    )
    splash_proxy_factory_cls = _default_proxy_factory(proxy_profiles_path)
    js_profiles_path = _check_js_profiles_path(js_profiles_path)
    _set_global_render_settings(js_disable_cross_domain_access, private_mode,
                                disable_browser_caches)
    return server_factory(
        portnum=portnum,
        ip=ip,
        slots=slots,
        network_manager_factory=network_manager_factory,
        splash_proxy_factory_cls=splash_proxy_factory_cls,
        js_profiles_path=js_profiles_path,
        ui_enabled=ui_enabled,
        lua_enabled=lua_enabled,
        lua_sandbox_enabled=lua_sandbox_enabled,
        lua_package_path=lua_package_path,
        lua_sandbox_allowed_modules=lua_sandbox_allowed_modules,
        strict_lua_runner=strict_lua_runner,
        disable_browser_caches=disable_browser_caches,
        verbosity=verbosity,
        max_timeout=max_timeout,
        argument_cache_max_entries=argument_cache_max_entries,
        browser_engines_enabled=browser_engines_enabled,
        dont_log_args=dont_log_args,
    )
Пример #2
0
def default_splash_server(portnum,
                          max_timeout,
                          slots=None,
                          proxy_profiles_path=None,
                          js_profiles_path=None,
                          js_disable_cross_domain_access=False,
                          disable_proxy=False,
                          proxy_portnum=None,
                          filters_path=None,
                          allowed_schemes=None,
                          private_mode=True,
                          ui_enabled=True,
                          lua_enabled=True,
                          lua_sandbox_enabled=True,
                          lua_package_path="",
                          lua_sandbox_allowed_modules=(),
                          verbosity=None):
    from splash import network_manager
    network_manager_factory = network_manager.NetworkManagerFactory(
        filters_path=filters_path,
        verbosity=verbosity,
        allowed_schemes=allowed_schemes,
    )
    splash_proxy_factory_cls = _default_proxy_factory(proxy_profiles_path)
    js_profiles_path = _check_js_profiles_path(js_profiles_path)
    _set_global_render_settings(js_disable_cross_domain_access, private_mode)
    return splash_server(
        portnum=portnum,
        slots=slots,
        network_manager_factory=network_manager_factory,
        splash_proxy_factory_cls=splash_proxy_factory_cls,
        js_profiles_path=js_profiles_path,
        disable_proxy=disable_proxy,
        proxy_portnum=proxy_portnum,
        ui_enabled=ui_enabled,
        lua_enabled=lua_enabled,
        lua_sandbox_enabled=lua_sandbox_enabled,
        lua_package_path=lua_package_path,
        lua_sandbox_allowed_modules=lua_sandbox_allowed_modules,
        verbosity=verbosity,
        max_timeout=max_timeout)
Пример #3
0
def init_browser():
    # TODO: support the same command-line options as HTTP server.

    # from splash.server import start_logging
    # class opts(object):
    #    logfile = "./kernel.log"
    # start_logging(opts)

    manager = network_manager.NetworkManagerFactory()()
    proxy_factory = None  # TODO

    data = {}
    data['uid'] = id(data)

    tab = BrowserTab(
        network_manager=manager,
        splash_proxy_factory=proxy_factory,
        verbosity=2,  # TODO
        render_options=RenderOptions(data,
                                     defaults.MAX_TIMEOUT),  # TODO: timeout
        visible=True,
    )
    return tab