From 14eeee3fbc0a839d918149765d2134d05cd14601 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Tue, 18 Oct 2022 17:18:32 +0200 Subject: [proxy] upon Haketilo launch automatically open Haketilo landing page in user's default web browser * The landing page instructs user to configure browser's proxy settings. * It is now possible to choose the IP address to listen on via command line parameter. * The browser launching behavior can be switched off via command line parameter. --- src/hydrilla/locales/en_US/LC_MESSAGES/messages.po | 216 +++++++++++++-------- 1 file changed, 133 insertions(+), 83 deletions(-) (limited to 'src/hydrilla/locales/en_US/LC_MESSAGES/messages.po') diff --git a/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po b/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po index b311f8f..eac53fe 100644 --- a/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po +++ b/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: hydrilla 2.0\n" "Report-Msgid-Bugs-To: koszko@koszko.org\n" -"POT-Creation-Date: 2022-10-10 16:44+0200\n" +"POT-Creation-Date: 2022-10-18 17:03+0200\n" "PO-Revision-Date: 2022-02-12 00:00+0000\n" "Last-Translator: Wojtek Kosior \n" "Language: en_US\n" @@ -18,70 +18,70 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.9.0\n" -#: src/hydrilla/builder/build.py:84 src/hydrilla/builder/local_apt.py:123 -#: src/hydrilla/builder/local_apt.py:428 +#: src/hydrilla/builder/build.py:81 src/hydrilla/builder/local_apt.py:120 +#: src/hydrilla/builder/local_apt.py:426 msgid "couldnt_execute_{}_is_it_installed" msgstr "Could not execute '{}'. Is the tool installed and reachable via PATH?" -#: src/hydrilla/builder/build.py:88 src/hydrilla/builder/local_apt.py:127 -#: src/hydrilla/builder/local_apt.py:432 +#: src/hydrilla/builder/build.py:85 src/hydrilla/builder/local_apt.py:124 +#: src/hydrilla/builder/local_apt.py:430 msgid "command_{}_failed" msgstr "The following command finished execution with a non-zero exit status: {}" -#: src/hydrilla/builder/build.py:204 +#: src/hydrilla/builder/build.py:201 msgid "path_contains_double_dot_{}" msgstr "" "Attempt to load '{}' which includes a forbidden parent reference ('..') " "in the path." -#: src/hydrilla/builder/build.py:211 +#: src/hydrilla/builder/build.py:210 msgid "loading_{}_outside_package_dir" msgstr "Attempt to load '{}' which lies outside package source directory." -#: src/hydrilla/builder/build.py:215 +#: src/hydrilla/builder/build.py:214 msgid "loading_reserved_index_json" msgstr "Attempt to load 'index.json' which is a reserved filename." -#: src/hydrilla/builder/build.py:222 +#: src/hydrilla/builder/build.py:221 msgid "referenced_file_{}_missing" msgstr "Referenced file '{}' is missing." -#: src/hydrilla/builder/build.py:413 +#: src/hydrilla/builder/build.py:412 msgid "report_spdx_not_in_copyright_list" msgstr "" "Told to generate 'report.spdx' but 'report.spdx' is not listed among " "copyright files. Refusing to proceed." -#: src/hydrilla/builder/build.py:490 +#: src/hydrilla/builder/build.py:489 msgid "build_package_from_srcdir_to_dstdir" msgstr "" "Build Hydrilla package from `scrdir` and write the resulting files under " "`dstdir`." -#: src/hydrilla/builder/build.py:492 +#: src/hydrilla/builder/build.py:491 msgid "source_directory_to_build_from" msgstr "Source directory to build from." -#: src/hydrilla/builder/build.py:494 +#: src/hydrilla/builder/build.py:493 msgid "path_instead_of_index_json" msgstr "" "Path to file to be processed instead of index.json (if not absolute, " "resolved relative to srcdir)." -#: src/hydrilla/builder/build.py:496 +#: src/hydrilla/builder/build.py:495 msgid "path_instead_for_piggyback_files" msgstr "" "Path to a non-standard directory with foreign packages' archive files to " "use." -#: src/hydrilla/builder/build.py:498 +#: src/hydrilla/builder/build.py:497 msgid "built_package_files_destination" msgstr "Destination directory to write built package files to." -#: src/hydrilla/builder/build.py:500 -#: src/hydrilla/mitmproxy_launcher/launch.py:65 -#: src/hydrilla/server/serve.py:207 src/hydrilla/server/serve.py:225 -#: src/hydrilla/server/serve.py:265 +#: src/hydrilla/builder/build.py:499 +#: src/hydrilla/mitmproxy_launcher/launch.py:64 +#: src/hydrilla/server/serve.py:211 src/hydrilla/server/serve.py:229 +#: src/hydrilla/server/serve.py:269 #, python-format msgid "%(prog)s_%(version)s_license" msgstr "" @@ -92,79 +92,79 @@ msgstr "" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law." -#: src/hydrilla/builder/build.py:501 src/hydrilla/server/serve.py:226 -#: src/hydrilla/server/serve.py:266 +#: src/hydrilla/builder/build.py:500 src/hydrilla/server/serve.py:230 +#: src/hydrilla/server/serve.py:270 msgid "version_printing" msgstr "Print version information and exit." -#: src/hydrilla/builder/common_errors.py:61 +#: src/hydrilla/builder/common_errors.py:58 msgid "STDOUT_OUTPUT_heading" msgstr "## Command's standard output ##" -#: src/hydrilla/builder/common_errors.py:64 +#: src/hydrilla/builder/common_errors.py:61 msgid "STDERR_OUTPUT_heading" msgstr "## Command's standard error output ##" -#: src/hydrilla/builder/local_apt.py:156 +#: src/hydrilla/builder/local_apt.py:153 msgid "distro_{}_unknown" msgstr "Attempt to use an unknown software distribution '{}'." -#: src/hydrilla/builder/local_apt.py:200 +#: src/hydrilla/builder/local_apt.py:197 msgid "couldnt_import_{}_is_it_installed" msgstr "" "Could not import '{}'. Is the module installed and visible to this Python" " instance?" -#: src/hydrilla/builder/local_apt.py:208 +#: src/hydrilla/builder/local_apt.py:205 msgid "gpg_couldnt_recv_key_{}" msgstr "Could not import PGP key '{}'." -#: src/hydrilla/builder/local_apt.py:327 +#: src/hydrilla/builder/local_apt.py:325 msgid "apt_install_output_not_understood" msgstr "The output of an 'apt-get install' command was not understood." -#: src/hydrilla/builder/local_apt.py:353 +#: src/hydrilla/builder/local_apt.py:351 msgid "apt_download_gave_bad_filename_{}" msgstr "The 'apt-get download' command produced a file with unexpected name '{}'." -#: src/hydrilla/builder/piggybacking.py:110 +#: src/hydrilla/builder/piggybacking.py:109 msgid "loading_{}_outside_piggybacked_dir" msgstr "" "Attempt to load '{}' which lies outside piggybacked packages files root " "directory." -#: src/hydrilla/item_infos.py:91 +#: src/hydrilla/item_infos.py:88 msgid "err.item_info.filename_invalid_{}" msgstr "Item definition conatains an illegal path: {}" -#: src/hydrilla/item_infos.py:516 +#: src/hydrilla/item_infos.py:511 #, python-brace-format msgid "uuid_mismatch_{identifier}" msgstr "Two different uuids were specified for item '{identifier}'." -#: src/hydrilla/json_instances.py:87 +#: src/hydrilla/json_instances.py:84 msgid "bad_json_comment_line_{line_num}_char_{char_num}" msgstr "" "JSON document contains an invalid comment at line {line_num}, char " "{char_num}." -#: src/hydrilla/json_instances.py:138 +#: src/hydrilla/json_instances.py:135 msgid "unknown_schema_{}" msgstr "JSON document declares its schema as '{}' which is not a known schema." -#: src/hydrilla/json_instances.py:189 +#: src/hydrilla/json_instances.py:186 msgid "err.util.text_in_{}_not_valid_json" msgstr "Not a valid JSON file: {}" -#: src/hydrilla/json_instances.py:192 +#: src/hydrilla/json_instances.py:189 msgid "err.util.text_not_valid_json" msgstr "Not a valid JSON file." -#: src/hydrilla/json_instances.py:207 +#: src/hydrilla/json_instances.py:204 msgid "no_schema_number_in_instance" msgstr "JSON schema number is missing from a document." -#: src/hydrilla/mitmproxy_launcher/launch.py:58 +#: src/hydrilla/mitmproxy_launcher/launch.py:53 msgid "cli_help.haketilo" msgstr "" "Run Haketilo proxy.\n" @@ -172,76 +172,96 @@ msgstr "" "This command starts Haketilo as a local HTTP proxy which a web browser " "can then use." -#: src/hydrilla/mitmproxy_launcher/launch.py:60 +#: src/hydrilla/mitmproxy_launcher/launch.py:55 +msgid "cli_opt.haketilo.listen_host" +msgstr "IP address port number the proxy should listen on." + +#: src/hydrilla/mitmproxy_launcher/launch.py:57 msgid "cli_opt.haketilo.port" -msgstr "TCP port number the proxy should listen on (1-65535)." +msgstr "TCP port number the proxy should listen on." + +#: src/hydrilla/mitmproxy_launcher/launch.py:59 +msgid "cli_opt.haketilo.launch_browser" +msgstr "" +"Whether Haketilo should try to open its landing page in your default " +"browser. Defaults to yes ('-L')." -#: src/hydrilla/mitmproxy_launcher/launch.py:63 +#: src/hydrilla/mitmproxy_launcher/launch.py:62 msgid "cli_opt.haketilo.dir" msgstr "Data directory for Haketilo to use." -#: src/hydrilla/mitmproxy_launcher/launch.py:66 +#: src/hydrilla/mitmproxy_launcher/launch.py:65 msgid "cli_opt.haketilo.version" msgstr "Print version information and exit" -#: src/hydrilla/proxy/addon.py:128 -msgid "haketilo_dir_already_configured" +#: src/hydrilla/proxy/addon.py:167 +msgid "warn.proxy.setting_already_configured_{}" +msgstr "" +"Attempt was made to configure Mitmproxy addon's option '{}' which has " +"already been configured." + +#: src/hydrilla/proxy/addon.py:201 +msgid "warn.proxy.couldnt_launch_browser" msgstr "" -"Attempt was made to configure Haketilo Mitmproxy addon with data " -"directory path but it has already been configured." +"Failed to open a URL in a web browser. Do you have a default web browser " +"configured?" -#: src/hydrilla/proxy/addon.py:183 +#: src/hydrilla/proxy/addon.py:245 msgid "err.proxy.unknown_error_{}_try_again" msgstr "" "Haketilo experienced an error. Try again.\n" "\n" "{}" -#: src/hydrilla/proxy/policies/payload_resource.py:264 +#: src/hydrilla/proxy/policies/payload_resource.py:261 msgid "api.file_not_found" msgstr "Requested file could not be found." -#: src/hydrilla/proxy/policies/payload_resource.py:387 +#: src/hydrilla/proxy/policies/payload_resource.py:384 msgid "api.resource_not_enabled_for_access" msgstr "Requested resource is not enabled for access." -#: src/hydrilla/proxy/state_impl/concrete_state.py:92 +#: src/hydrilla/proxy/state_impl/concrete_state.py:89 msgid "err.proxy.unknown_db_schema" msgstr "" "Haketilo's data files have been altered, possibly by a newer version of " "Haketilo." -#: src/hydrilla/proxy/state_impl/concrete_state.py:96 +#: src/hydrilla/proxy/state_impl/concrete_state.py:93 msgid "err.proxy.no_sqlite_foreign_keys" msgstr "" "This installation of Haketilo uses an SQLite version which does not " "support foreign key constraints." -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:101 +#: src/hydrilla/proxy/state_impl/concrete_state.py:218 +msgid "warn.proxy.failed_to_register_landing_page_at_{}" +msgstr "Failed to register landing page at \"{}\"." + +#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:99 msgid "web_ui.base.title.haketilo_proxy" msgstr "Haketilo" -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:284 +#: src/hydrilla/proxy/web_ui/templates/hkt_mitm_it_base.html.jinja:82 msgid "web_ui.base.nav.home" msgstr "Home" -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:285 +#: src/hydrilla/proxy/web_ui/templates/hkt_mitm_it_base.html.jinja:83 msgid "web_ui.base.nav.rules" msgstr "Script blocking" -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:286 +#: src/hydrilla/proxy/web_ui/templates/hkt_mitm_it_base.html.jinja:84 msgid "web_ui.base.nav.packages" msgstr "Packages" -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:287 +#: src/hydrilla/proxy/web_ui/templates/hkt_mitm_it_base.html.jinja:85 msgid "web_ui.base.nav.libraries" msgstr "Libraries" -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:288 +#: src/hydrilla/proxy/web_ui/templates/hkt_mitm_it_base.html.jinja:86 msgid "web_ui.base.nav.repos" msgstr "Repositories" -#: src/hydrilla/proxy/web_ui/templates/base.html.jinja:289 +#: src/hydrilla/proxy/web_ui/templates/hkt_mitm_it_base.html.jinja:87 msgid "web_ui.base.nav.import" msgstr "Import" @@ -844,6 +864,36 @@ msgstr "Available packages" msgid "web_ui.packages.enabled_version_{}" msgstr "enabled version {}" +#: src/hydrilla/proxy/web_ui/templates/landing.html.jinja:23 +msgid "web_ui.landing.title" +msgstr "Landing page" + +#: src/hydrilla/proxy/web_ui/templates/landing.html.jinja:27 +msgid "web_ui.landing.heading.haketilo_is_running" +msgstr "Haketilo is running" + +#: src/hydrilla/proxy/web_ui/templates/landing.html.jinja:31 +msgid "web_ui.landing.web_ui.landing.what_to_do_1" +msgstr "" +"In order to access web pages through Haketilo, make sure your browser is " +"configured to use it as a proxy for both HTTP and HTTPs. Please use the " +"following values." + +#: src/hydrilla/proxy/web_ui/templates/landing.html.jinja:34 +msgid "web_ui.landing.host_label" +msgstr "Address" + +#: src/hydrilla/proxy/web_ui/templates/landing.html.jinja:40 +msgid "web_ui.landing.port_label" +msgstr "Port" + +#: src/hydrilla/proxy/web_ui/templates/landing.html.jinja:47 +msgid "web_ui.landing.html.what_to_do_2" +msgstr "" +"If you've configured your browser properly, you can visit http://hkt.mitm.it. It's Haketilo " +"configuration page that's hosted locally "inside" the proxy." + #: src/hydrilla/proxy/web_ui/templates/prompts/auto_install_error.html.jinja:24 msgid "web_ui.prompts.auto_install_error.title" msgstr "Installation failure" @@ -1142,53 +1192,53 @@ msgstr "Actions" msgid "web_ui.rules.single.remove_button" msgstr "Remove rule" -#: src/hydrilla/server/malcontent.py:80 +#: src/hydrilla/server/malcontent.py:77 msgid "err.server.malcontent_path_not_dir_{}" msgstr "Provided 'malcontent_dir' path does not name a directory: {}" -#: src/hydrilla/server/malcontent.py:99 +#: src/hydrilla/server/malcontent.py:96 msgid "err.server.couldnt_load_item_from_{}" msgstr "Couldn't load item from {}." -#: src/hydrilla/server/malcontent.py:112 +#: src/hydrilla/server/malcontent.py:109 msgid "err.server.no_file_{required_by}_{ver}_{file}_{sha256}" msgstr "" "'{required_by}', version '{ver}' uses a file named {file} with SHA256 " "hash of {sha256}, but the file is missing." -#: src/hydrilla/server/malcontent.py:136 +#: src/hydrilla/server/malcontent.py:133 msgid "err.server.item_{item}_in_file_{file}" msgstr "Item {item} incorrectly present under {file}." -#: src/hydrilla/server/malcontent.py:142 +#: src/hydrilla/server/malcontent.py:139 msgid "item_version_{ver}_in_file_{file}" msgstr "Item version {ver} incorrectly present under {file}." -#: src/hydrilla/server/malcontent.py:169 +#: src/hydrilla/server/malcontent.py:166 msgid "err.server.no_dep_{resource}_{ver}_{dep}" msgstr "Unknown dependency '{dep}' of resource '{resource}', version '{ver}'." -#: src/hydrilla/server/malcontent.py:184 +#: src/hydrilla/server/malcontent.py:181 msgid "err.server.no_payload_{mapping}_{ver}_{payload}" msgstr "Unknown payload '{payload}' of mapping '{mapping}', version '{ver}'." -#: src/hydrilla/server/malcontent.py:199 +#: src/hydrilla/server/malcontent.py:196 msgid "err.server.no_mapping_{required_by}_{ver}_{required}" msgstr "Unknown mapping '{required}' required by '{required_by}', version '{ver}'." -#: src/hydrilla/server/malcontent.py:227 +#: src/hydrilla/server/malcontent.py:224 msgid "server.err.couldnt_register_{mapping}_{ver}_{pattern}" msgstr "" "Couldn't register mapping '{mapping}', version '{ver}' (pattern " "'{pattern}')." -#: src/hydrilla/server/serve.py:84 +#: src/hydrilla/server/serve.py:81 msgid "err.server.opt_hydrilla_parent_not_implemented" msgstr "" "Hydrilla was told to connect to a parent Hydrilla server but this feature" " is not yet implemented." -#: src/hydrilla/server/serve.py:213 +#: src/hydrilla/server/serve.py:217 msgid "serve_hydrilla_packages_explain_wsgi_considerations" msgstr "" "Serve Hydrilla packages.\n" @@ -1197,36 +1247,36 @@ msgstr "" "Hydrilla instance. For better performance, consider deployment using " "WSGI." -#: src/hydrilla/server/serve.py:216 +#: src/hydrilla/server/serve.py:220 msgid "directory_to_serve_from_overrides_config" msgstr "" "Directory to serve files from. Overrides value from the config file (if " "any)." -#: src/hydrilla/server/serve.py:218 +#: src/hydrilla/server/serve.py:222 msgid "project_url_to_display_overrides_config" msgstr "" "Project url to display on generated HTML pages. Overrides value from the " "config file (if any)." -#: src/hydrilla/server/serve.py:220 +#: src/hydrilla/server/serve.py:224 msgid "tcp_port_to_listen_on_overrides_config" msgstr "" "TCP port number to listen on (0-65535). Overrides value from the config " "file (if any)." -#: src/hydrilla/server/serve.py:223 +#: src/hydrilla/server/serve.py:227 msgid "path_to_config_file_explain_default" msgstr "" "Path to Hydrilla server configuration file (optional, by default Hydrilla" " loads its own config file, which in turn tries to load " "/etc/hydrilla/config.json)." -#: src/hydrilla/server/serve.py:255 +#: src/hydrilla/server/serve.py:259 msgid "config_option_{}_not_supplied" msgstr "Missing configuration option '{}'." -#: src/hydrilla/server/serve.py:259 +#: src/hydrilla/server/serve.py:263 msgid "serve_hydrilla_packages_wsgi_help" msgstr "" "Serve Hydrilla packages.\n" @@ -1235,39 +1285,39 @@ msgstr "" "HTTP server like Apache2 or Nginx. You can configure Hydrilla through the" " /etc/hydrilla/config.json file." -#: src/hydrilla/url_patterns.py:136 +#: src/hydrilla/url_patterns.py:139 msgid "err.url_pattern_{}.bad" msgstr "Not a valid Haketilo URL pattern: {}" -#: src/hydrilla/url_patterns.py:139 +#: src/hydrilla/url_patterns.py:142 msgid "err.url_{}.bad" msgstr "Not a valid URL: {}" -#: src/hydrilla/url_patterns.py:146 +#: src/hydrilla/url_patterns.py:149 msgid "err.url_pattern_{}.bad_scheme" msgstr "URL pattern has an unknown scheme: {}" -#: src/hydrilla/url_patterns.py:149 +#: src/hydrilla/url_patterns.py:152 msgid "err.url_{}.bad_scheme" msgstr "URL has an unknown scheme: {}" -#: src/hydrilla/url_patterns.py:154 +#: src/hydrilla/url_patterns.py:157 msgid "err.url_pattern_{}.special_scheme_port" msgstr "URL pattern has an explicit port while it shouldn't: {}" -#: src/hydrilla/url_patterns.py:166 +#: src/hydrilla/url_patterns.py:169 msgid "err.url_pattern_{}.bad_port" msgstr "URL pattern has a port outside of allowed range (1-65535): {}" -#: src/hydrilla/url_patterns.py:169 +#: src/hydrilla/url_patterns.py:172 msgid "err.url_{}.bad_port" msgstr "URL has a port outside of allowed range (1-65535): {}" -#: src/hydrilla/url_patterns.py:190 +#: src/hydrilla/url_patterns.py:193 msgid "err.url_pattern_{}.has_query" msgstr "URL pattern has a query string while it shouldn't: {}" -#: src/hydrilla/url_patterns.py:194 +#: src/hydrilla/url_patterns.py:197 msgid "err.url_pattern_{}.has_frag" msgstr "URL pattern has a fragment string while it shouldn't: {}" -- cgit v1.2.3