feat: add some initial translations for Romanian and Polish

Closes: #73
This commit is contained in:
Ana Custura 2024-12-05 15:59:05 +00:00 committed by irl
parent bf5e7c383a
commit 5e5f422b67
58 changed files with 5863 additions and 0 deletions

4
.gitignore vendored
View file

@ -19,6 +19,10 @@ __pycache__/
# C extensions
*.so
# compiled translations
*.mo
# Distribution / packaging
.Python
build/

View file

@ -0,0 +1,76 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/config.rst:3
msgid "Configuration File"
msgstr ""
#: ../../admin/api/config.rst:5
msgid ""
"The application uses a YAML configuration file to specify various "
"settings. The configuration file should follow the YAML syntax and "
"provide values for the following fields:"
msgstr ""
#: ../../admin/api/config.rst:7
msgid ""
"`DEFAULT_REDIRECTOR_DOMAIN`: The default domain name to use for "
"generating short links when no pool-specific redirector domain is "
"provided. If not specified, it defaults to an empty string."
msgstr ""
#: ../../admin/api/config.rst:8
msgid ""
"`MIRROR_COUNTRIES`: A list of country codes for which clients should be "
"redirected to a mirror server. If a client's IP address matches one of "
"the specified countries, they will be redirected. If not specified, "
"clients will always be redirected to a mirror server."
msgstr ""
#: ../../admin/api/config.rst:9
msgid ""
"`PUBLIC_KEY`: The public API key used for generating short links for "
"anonymous users. If not specified, it defaults to an empty string."
msgstr ""
#: ../../admin/api/config.rst:10
msgid ""
"`UPDATE_KEY`: The API key required for updating the application data via "
"the `/updt` endpoint. This key must be provided in the `Authorization` "
"header as a bearer token."
msgstr ""
#: ../../admin/api/config.rst:11
msgid ""
"`GEOIP_DATABASE` (optional): The file path to the GeoIP database used for"
" country lookup. If not specified, it defaults to "
"`/usr/share/GeoIP/GeoIP2-Country.mmdb`."
msgstr ""
#: ../../admin/api/config.rst:14
msgid "Example Configuration"
msgstr ""
#: ../../admin/api/config.rst:16
msgid "An example configuration file may look like this:"
msgstr ""

View file

@ -0,0 +1,135 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/index.rst:38
msgid "Contents:"
msgstr ""
#: ../../admin/api/index.rst:3
msgid "Short Link Redirector"
msgstr ""
#: ../../admin/api/index.rst:5
msgid ""
"Welcome to the documentation for the *Bypass Censorship's Short Link "
"Redirector* application. This documentation provides detailed information"
" about the features, components, and usage of the application. The Short "
"Link Redirector is a web application that allows users to generate short "
"links and direct mirror links for URLs."
msgstr ""
#: ../../admin/api/index.rst:8
msgid "Features"
msgstr ""
#: ../../admin/api/index.rst:10
msgid "The Short Link Redirector application offers the following features:"
msgstr ""
#: ../../admin/api/index.rst:12
msgid ""
"Short Link Generation: Users can generate short links for URLs, making "
"them easier to share and remember."
msgstr ""
#: ../../admin/api/index.rst:13
msgid ""
"Direct Mirror Links: Users can generate and discover direct mirror links "
"that are currently live."
msgstr ""
#: ../../admin/api/index.rst:14
msgid ""
"Country-based Redirect: The application can redirect users to mirror "
"servers based on their country, improving user experience."
msgstr ""
#: ../../admin/api/index.rst:15
msgid ""
"API Key Authentication: Users can authenticate their requests using API "
"keys, enabling access to mirrors in private resource pools."
msgstr ""
#: ../../admin/api/index.rst:16
msgid ""
"GeoIP Integration: The application optionally leverages GeoIP data to "
"perform country lookups for IP addresses."
msgstr ""
#: ../../admin/api/index.rst:19
msgid "Components"
msgstr ""
#: ../../admin/api/index.rst:21
msgid ""
"The Short Link Redirector application consists of the following main "
"components:"
msgstr ""
#: ../../admin/api/index.rst:23
msgid ""
"Flask Web Server: The web server that hosts the application and handles "
"incoming HTTP requests."
msgstr ""
#: ../../admin/api/index.rst:24
msgid ""
"SQLAlchemy: The ORM (Object-Relational Mapping) library used for "
"interacting with the database."
msgstr ""
#: ../../admin/api/index.rst:25
msgid ""
"GeoIP Database: The MaxMind GeoIP database that provides country "
"information for IP addresses."
msgstr ""
#: ../../admin/api/index.rst:26
msgid "Hashids: The library used for encoding and decoding the short link hashes."
msgstr ""
#: ../../admin/api/index.rst:29
msgid "Documentation Structure"
msgstr ""
#: ../../admin/api/index.rst:31
msgid "This documentation is structured into the following sections:"
msgstr ""
#: ../../admin/api/index.rst:33
msgid ""
":doc:`Installation <install>`: Provides instructions for installing and "
"setting up the Short Link Redirector application."
msgstr ""
#: ../../admin/api/index.rst:34
msgid ""
":doc:`Configuration <config>`: Explains the configuration options and how"
" to customize the application's behavior."
msgstr ""
#: ../../admin/api/index.rst:36
msgid ""
"We recommend reading through the documentation sequentially to gain a "
"comprehensive understanding of the application and its features."
msgstr ""

View file

@ -0,0 +1,114 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/install.rst:3
msgid "Installation"
msgstr ""
#: ../../admin/api/install.rst:5
msgid ""
"The application is intended to be deployed in AWS using the `bc-"
"redirector <https://registry.terraform.io/modules/sr2c/bc-"
"redirector/aws/latest>`_ Terraform module. This deployment is not managed"
" through the portal itself but may be managed alongside the IaC that "
"manages the deployment of the portal itself."
msgstr ""
#: ../../admin/api/install.rst:12
msgid "Deployment"
msgstr ""
#: ../../admin/api/install.rst:14
msgid ""
"The Terraform module takes care of setting up multiple entry-points to "
"the redirector allowing for per-pool redirector domains, and also "
"generating the necessary configuration file for the redirector. Once "
"deployed, the redirector will not require further manual configuration, "
"although the deployed EC2 instance will be accessible via AWS Systems "
"Manager Session Manager if required for debugging."
msgstr ""
#: ../../admin/api/install.rst:19
msgid "The following Terraform configuration shows an example using the module:"
msgstr ""
#: ../../admin/api/install.rst:47
msgid ""
"The `public_key` must match the API key of the public pool configured "
"within the portal. The `update_key` may must match the \"filename\" "
"configured for the distribution list below."
msgstr ""
#: ../../admin/api/install.rst:50
msgid ""
"The MaxMind account used will need to have at least a subscription for "
"the GeoIP2 Country database. A subscription for GeoIP2 City will include "
"the GeoIP2 Country database."
msgstr ""
#: ../../admin/api/install.rst:55
msgid "Data Updates"
msgstr ""
#: ../../admin/api/install.rst:57
msgid ""
"Once deployed, the redirector must learn about the available mirror "
"resources. This requires configuring a :doc:`distribution list "
"<../../user/lists>` inside the portal."
msgstr ""
#: ../../admin/api/install.rst:60
msgid "**Resource Pool**: any (ignored)"
msgstr ""
#: ../../admin/api/install.rst:61
msgid "**Provider**: HTTP POST"
msgstr ""
#: ../../admin/api/install.rst:62
msgid "**Distribution Method**: Redirector Data"
msgstr ""
#: ../../admin/api/install.rst:63
msgid "**Encoding**: JSON (Plain)"
msgstr ""
#: ../../admin/api/install.rst:64
msgid "**Description**: <*description of the redirector instance*>"
msgstr ""
#: ../../admin/api/install.rst:65
msgid "**Container**: \\https://<*redirector domain*>/updt"
msgstr ""
#: ../../admin/api/install.rst:66
msgid "**Git Branch/Region**: na"
msgstr ""
#: ../../admin/api/install.rst:67
msgid "**Role ARN**: <*blank*>"
msgstr ""
#: ../../admin/api/install.rst:68
msgid "**Filename**: <*update key*>"
msgstr ""

View file

@ -0,0 +1,40 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/conf.rst:2
msgid "Configuration File"
msgstr ""
#: ../../admin/conf.rst:4
msgid ""
"A file named ``config.yaml`` must exist. For specifics about the provider"
" configurations, see :doc:`External Services <external>`."
msgstr ""
#: ../../admin/conf.rst:8
msgid "Base Configuration"
msgstr ""
#: ../../admin/conf.rst:11
msgid "Template"
msgstr ""

View file

@ -0,0 +1,143 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/eotk.rst:2
msgid "Enterprise Onion Toolkit"
msgstr ""
#: ../../admin/eotk.rst:4
msgid ""
"When EOTK instances are deployed for a group, the following main AWS "
"resources are created:"
msgstr ""
#: ../../admin/eotk.rst:6
msgid "An EC2 instance in us-east-2"
msgstr ""
#: ../../admin/eotk.rst:7
msgid "An EC2 instance in eu-central-1"
msgstr ""
#: ../../admin/eotk.rst:8
msgid "A S3 bucket to hold nginx access logs"
msgstr ""
#: ../../admin/eotk.rst:10
msgid ""
"The EC2 instances are running Ubuntu 20.04 LTS and are configured with "
"`ssm-agent <https://docs.aws.amazon.com/systems-manager/latest/userguide"
"/ssm-agent.html>`_ and `unattended-upgrades "
"<https://wiki.debian.org/UnattendedUpgrades>`_."
msgstr ""
#: ../../admin/eotk.rst:13
msgid ""
"EOTK is automatically cloned at instance creation time from Alec Muffet's"
" `GitHub repository <https://github.com/alecmuffett/eotk>`_ to "
"``/home/ubuntu/eotk``. The script to automatically build and install all "
"dependencies is also executed at the instance creation time."
msgstr ""
#: ../../admin/eotk.rst:17
msgid ""
"For full details on the instance configuration, refer to the `cloud-init "
"user data <https://github.com/sr2c/terraform-aws-"
"eotk/blob/main/templates/user_data.yaml>`_."
msgstr ""
#: ../../admin/eotk.rst:21
msgid "Logging in to an instance"
msgstr ""
#: ../../admin/eotk.rst:24
msgid "Via the console"
msgstr ""
#: ../../admin/eotk.rst:26
msgid ""
"Using the AWS console, visit the `Session Manager <https://us-"
"east-2.console.aws.amazon.com/systems-manager/session-"
"manager/sessions?region=us-east-2>`_ in the Systems Manager service. If "
"using SSO, login before attempting to open the link."
msgstr ""
#: ../../admin/eotk.rst:33
msgid "Click \"Start Session\" to start a new session."
msgstr ""
#: ../../admin/eotk.rst:38
msgid ""
"Select the instance from the list, and click \"Start Session\" again. "
"Remember that the second instance will be found in the eu-central-1 "
"region."
msgstr ""
#: ../../admin/eotk.rst:44
msgid ""
"Use the following commands to get into the EOTK directory as the correct "
"user::"
msgstr ""
#: ../../admin/eotk.rst:50
msgid "Via the command line"
msgstr ""
#: ../../admin/eotk.rst:52
msgid "Begin by discovering the instance ID::"
msgstr ""
#: ../../admin/eotk.rst:56
msgid "Start an SSM session::"
msgstr ""
#: ../../admin/eotk.rst:60
msgid "To login with SSH via SSM, add the following to your ``~/.ssh/config``:"
msgstr ""
#: ../../admin/eotk.rst:64
msgid ""
"No user SSH public keys are provisioned to the instance. You will need to"
" add the public key you plan to use to the correct user's authorized_keys"
" file using a plain SSM session before attempting to use SSH."
msgstr ""
#: ../../admin/eotk.rst:72
msgid ""
"You can then login with SSH, but be sure to include environment variables"
" for your AWS region::"
msgstr ""
#: ../../admin/eotk.rst:76
msgid "This will also work for scp, rsync, etc."
msgstr ""
#: ../../admin/eotk.rst:79
msgid "Configuring EOTK"
msgstr ""
#: ../../admin/eotk.rst:81
msgid ""
"Refer to the `EOTK documentation "
"<https://github.com/alecmuffett/eotk/tree/master/docs.d>`_."
msgstr ""

View file

@ -0,0 +1,246 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/external.rst:2
msgid "External Services"
msgstr ""
#: ../../admin/external.rst:5
msgid "Overview"
msgstr ""
#: ../../admin/external.rst:7
msgid ""
"In order to deploy the circumvention resources, the following providers "
"can be used:"
msgstr ""
#: ../../admin/external.rst:10
msgid "Resource"
msgstr ""
#: ../../admin/external.rst:10 ../../admin/external.rst:25
msgid "AWS"
msgstr ""
#: ../../admin/external.rst:10
msgid "Azure"
msgstr ""
#: ../../admin/external.rst:10
msgid "Fastly"
msgstr ""
#: ../../admin/external.rst:10
msgid "Hetzner"
msgstr ""
#: ../../admin/external.rst:10
msgid "GandiCloud VPS"
msgstr ""
#: ../../admin/external.rst:10 ../../admin/external.rst:129
msgid "OVH"
msgstr ""
#: ../../admin/external.rst:12
msgid "Web Proxy"
msgstr ""
#: ../../admin/external.rst:12 ../../admin/external.rst:14
msgid "✅"
msgstr ""
#: ../../admin/external.rst:12 ../../admin/external.rst:14
msgid "❌"
msgstr ""
#: ../../admin/external.rst:14
msgid "Tor Bridge"
msgstr ""
#: ../../admin/external.rst:17
msgid "Circumvention resource lists can be distributed via:"
msgstr ""
#: ../../admin/external.rst:19
msgid "AWS S3"
msgstr ""
#: ../../admin/external.rst:20 ../../admin/external.rst:64
msgid "GitHub"
msgstr ""
#: ../../admin/external.rst:21 ../../admin/external.rst:96
msgid "GitLab"
msgstr ""
#: ../../admin/external.rst:22
msgid "HTTP POST"
msgstr ""
#: ../../admin/external.rst:27
msgid ""
"Configuring AWS will require an `IAM account "
"<https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html>`_"
" with programmatic access. As the portal may deploy resources using many "
"AWS services it is currently It is recommended that a dedicated account "
"is used for the deployement of portal managed resources. The dedicated "
"account may be part of an existing AWS organisation."
msgstr ""
#: ../../admin/external.rst:42
msgid "Route 53"
msgstr ""
#: ../../admin/external.rst:44
msgid ""
"Some resources that can be deployed via the portal, e.g. mirrors, rely on"
" DNS names to map internal connections. These DNS names are only used "
"within AWS and are never accessed directly by end users. A registered "
"domain must be used for this purpose."
msgstr ""
#: ../../admin/external.rst:48
msgid ""
"Once a domain name has been registered, `create a hosted zone "
"<https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html>`_"
" within Route 53. Ensure that the domain registrar is updated to point to"
" the Route 53 nameservers. Optionally, enable DNSSEC to improve the "
"security of the hosted zone. Add the domain name, including the "
"terminating period, to the configuration for the portal:"
msgstr ""
#: ../../admin/external.rst:61
msgid ""
"Do not create any other records on this domain manually as these may "
"conflict with names created by the portal."
msgstr ""
#: ../../admin/external.rst:66
msgid ""
"To configure GitHub, you will need a \"personal access token\". It is not"
" possible to restrict a token to specific repositories, so it is best to "
"create a `machine user <https://docs.github.com/en/developers/overview"
"/managing-deploy-keys#machine-users>`_ and then invite that user to only "
"the repositories that should be accessed to limit the impact of a token "
"disclosure."
msgstr ""
#: ../../admin/external.rst:73
msgid ""
"To create a token, visit the `New personal access token "
"<https://github.com/settings/tokens/new>`_ page of the GitHub settings. "
"Add a note so that you will be reminded of the purpose of this token when"
" you go to look at it later. The expiry can be set according to your "
"threat model. GitHub will `send an email warning "
"<https://github.blog/changelog/2021-07-26-expiration-options-for-"
"personal-access-tokens/>`_ before the token expires allowing you to "
"generate a new token and update your configuration."
msgstr ""
#: ../../admin/external.rst:81
msgid ""
"Your access token will need the \"repo\" OAuth scope. If you are only "
"using public repos, you could limit the token to use the \"public_repo\" "
"scope."
msgstr ""
#: ../../admin/external.rst:84 ../../admin/external.rst:117
msgid "Once you've generated your token, you can add it to your ``config.yaml``:"
msgstr ""
#: ../../admin/external.rst:92 ../../admin/external.rst:125
msgid ""
"The organisation, repository, filename and formats are all configured via"
" the portal interface under :doc:`mirror lists <../user/lists>`."
msgstr ""
#: ../../admin/external.rst:98
msgid ""
"To configure GitLab, you will need an access token. GitLab has a variety "
"of scoped access tokens, including `personal "
"<https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html>`_, "
"`group "
"<https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html>`_"
" and `project "
"<https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html>`_"
" access tokens. Create the type of token that is suitable according to "
"your threat model."
msgstr ""
#: ../../admin/external.rst:107
msgid ""
"Add a name so that you will be reminded of the purpose of this token when"
" you go to look at it later. The expiry can be set according to your "
"threat model. GitLab will send an email warning to token owners 7 days "
"before expiry allowing you to generate a new token and update your "
"configuration."
msgstr ""
#: ../../admin/external.rst:113
msgid ""
"Your access token will need the \"api\" scope. Unforunately the "
"\"write_repository\" scope only works for Git-over-HTTPS, but the portal "
"uses the API to update mirror lists in GitLab."
msgstr ""
#: ../../admin/external.rst:131
msgid ""
"OVH requires two different sets of credentials. The first is for the "
"OpenStack Horizon API, and the second for the OVH API."
msgstr ""
#: ../../admin/external.rst:134
msgid ""
"OVH provides documentation on creating the OpenStack Horizon user `here "
"<https://docs.ovh.com/gb/en/public-cloud/creation-and-deletion-of-"
"openstack-user/#creating-an-openstack-user>`_. As the portal will manage "
"all resources within your OVH project, it is fine to allow for the user "
"to have \"Administrator\" access."
msgstr ""
#: ../../admin/external.rst:139
msgid ""
"Once you have the username and password, you can complete the first "
"fields of the configuration:"
msgstr ""
#: ../../admin/external.rst:149
msgid ""
"You can find the tenant ID in the top-left corner of the OVH cloud "
"dashboard, or in the `OpenStack RC file <https://docs.ovh.com/gb/en"
"/public-cloud/set-openstack-environment-variables/>`_ available for "
"download in the Horizon interface."
msgstr ""
#: ../../admin/external.rst:157
msgid ""
"Finally, you'll need to create credentials for the OVH API. Go to the "
"`key creation page <https://eu.api.ovh.com/createToken/>`_ and add an "
"application name and description to remind you later what the token is "
"for. Set a validity (expiry) according to your threat model. This token "
"is only used for read-only access, so it is sufficient to allow only GET "
"requests. Place an asterisk (*) in the text box to the right of GET so "
"that API paths are allowed."
msgstr ""

View file

@ -0,0 +1,53 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/install.rst:2
msgid "Installation"
msgstr ""
#: ../../admin/install.rst:4
msgid ""
"The current installation method is to use a Python virtual envrionment. "
"Many of the dependencies needed by the portal can be installed from PyPI,"
" although some dependencies will need to be satisfied in other ways:"
msgstr ""
#: ../../admin/install.rst:8
msgid "A cron daemon - probably available in your system package manager"
msgstr ""
#: ../../admin/install.rst:9
msgid "Terraform binary - static binaries available from Hashicorp"
msgstr ""
#: ../../admin/install.rst:10
msgid "PostgreSQL server - probably available in your system package manager"
msgstr ""
#: ../../admin/install.rst:12
msgid "Create and activate a virtual environment with:"
msgstr ""
#: ../../admin/install.rst:20
msgid "You will need to install an entry into the portal user's crontab::"
msgstr ""

View file

@ -0,0 +1,114 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../index.rst:7
msgid "User Guide"
msgstr ""
#: ../../index.rst:18
msgid "Publisher Guide"
msgstr ""
#: ../../index.rst:24
msgid "Admin Guide"
msgstr ""
#: ../../index.rst:34
msgid "Technical Documentation"
msgstr ""
#: ../../index.rst:2
msgid "Documentation Home"
msgstr ""
#: ../../index.rst:45
msgid "Indices and tables"
msgstr ""
#: ../../index.rst:47
msgid ":ref:`genindex`"
msgstr ""
#: ../../index.rst:48
msgid ":ref:`modindex`"
msgstr ""
#: ../../index.rst:49
msgid ":ref:`search`"
msgstr ""
#: ../../index.rst:52
msgid "Maintained by"
msgstr ""
#: ../../index.rst:55 ../../index.rst:62
msgid "|logo-gp|"
msgstr ""
#: ../../index.rst:76
msgid "Guardian Project"
msgstr ""
#: ../../index.rst:55 ../../index.rst:62
msgid "`Guardian Project <https://guardianproject.info>`_"
msgstr ""
#: ../../index.rst:59
msgid "Developed by"
msgstr ""
#: ../../index.rst:64
msgid "|logo-tor|"
msgstr ""
#: ../../index.rst:80
msgid "Tor Project"
msgstr ""
#: ../../index.rst:64
msgid "`Tor Project <https://www.torproject.org>`_"
msgstr ""
#: ../../index.rst:68
msgid "Supported by [*]_"
msgstr ""
#: ../../index.rst:71
msgid "|logo-otf|"
msgstr ""
#: ../../index.rst:84
msgid "Open Technology Fund"
msgstr ""
#: ../../index.rst:71
msgid "`Open Technology Fund <https://opentech.fund/>`_"
msgstr ""
#: ../../index.rst:89
msgid "Footnotes"
msgstr ""
#: ../../index.rst:90
msgid "Support received does not imply endorsement."
msgstr ""

View file

@ -0,0 +1,142 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../publisher/api.rst:3
msgid "Publisher API"
msgstr ""
#: ../../<openapi>:1
msgid "**Retrieve information about the authenticated user's pool**"
msgstr ""
#: ../../publisher/api.rst
msgid "Query Parameters"
msgstr ""
#: ../../<openapi>:1
msgid "The API key of the pool. If not provided, the public API key is used."
msgstr ""
#: ../../<openapi>:1
msgid "**Example request:**"
msgstr ""
#: ../../publisher/api.rst
msgid "Status Codes"
msgstr ""
#: ../../<openapi>:1
msgid ""
"Success **Example response:** .. sourcecode:: http HTTP/1.1 200 OK"
" Content-Type: application/json {}"
msgstr ""
#: ../../<openapi>:1
msgid "Success"
msgstr ""
#: ../../<openapi>:1
msgid "**Example response:**"
msgstr ""
#: ../../<openapi>:1
msgid "Invalid API key"
msgstr ""
#: ../../<openapi>:1
msgid "**Generate a circumvention link for a specific resource**"
msgstr ""
#: ../../<openapi>:1
msgid "The URL for which a circumvention link needs to be generated. (Required)"
msgstr ""
#: ../../<openapi>:1
msgid ""
"The type of link to generate. Valid values are \"live\", \"short\", or "
"\"snapshot\". If not provided, \"direct\" is used."
msgstr ""
#: ../../<openapi>:1
msgid ""
"The duration that a snapshot will remain published for. Valid values are "
"\"long\" and \"short\". If not provided, \"short\" is used."
msgstr ""
#: ../../<openapi>:1
msgid "Defines the footer text to be used when publishing a snapshot."
msgstr ""
#: ../../<openapi>:1
msgid "Defines the footer link to be used when publishing a snapshot."
msgstr ""
#: ../../<openapi>:1
msgid "Resource not on a supported domain"
msgstr ""
#: ../../<openapi>:1
msgid "No live mirror exists for the resource"
msgstr ""
#: ../../<openapi>:1
msgid "Could not generate a snapshot for the resource"
msgstr ""
#: ../../<openapi>:1
msgid "**Redirect to the live mirror associated with the given hash**"
msgstr ""
#: ../../publisher/api.rst
msgid "Parameters"
msgstr ""
#: ../../<openapi>:1
msgid "The hash associated with the short link"
msgstr ""
#: ../../<openapi>:1
msgid "Always redirect to a mirror and ignore GeoIP information."
msgstr ""
#: ../../<openapi>:1
msgid ""
"Override the client IP address and base the GeoIP lookup on this IP "
"address instead."
msgstr ""
#: ../../<openapi>:1
msgid "Redirects the client to the original URL"
msgstr ""
#: ../../<openapi>:1
msgid "The hash is invalid or not found"
msgstr ""
#: ../../publisher/api.rst
msgid "Response Headers"
msgstr ""
#: ../../<openapi>:1
msgid "The URL of the live mirror"
msgstr ""

View file

@ -0,0 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../_templates/sidebar/ethical-ads.html:2
msgid "Translations"
msgstr ""

View file

@ -0,0 +1,159 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/automation.rst:2
msgid "Automation Plugins"
msgstr ""
#: ../../tech/automation.rst:5
msgid "Base"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:1 of
msgid ""
"Write a Jinja2 template to the working directory for use by an automation"
" module."
msgstr ""
#: ../../tech/automation.rst
msgid "Parameters"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:3 of
msgid "filename to write to"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:4 of
msgid "Jinja2 template"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:5 of
msgid "variables for use with the template"
msgstr ""
#: ../../tech/automation.rst
msgid "Returns"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:6
#: app.terraform.terraform.TerraformAutomation.tf_posthook:7 of
msgid "None"
msgstr ""
#: ../../docstring app.terraform.BaseAutomation.working_dir:1 of
msgid ""
"The short name of the automation provider. This is used as an opaque "
"token throughout the portal system."
msgstr ""
#: ../../tech/automation.rst:12
msgid "Terraform"
msgstr ""
#: app.terraform.terraform.TerraformAutomation:1 of
msgid ""
"An abstract class to be extended by automation plugins using Terraform "
"providers to deploy resources."
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.always_refresh:1
#: of
msgid "Force refresh even when not a full run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:1 of
msgid "Runs the Terraform automation module. The run will follow these steps:"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:3 of
msgid "The :func:`tf_prehook` hook is run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:4 of
msgid ""
"Generate a Terraform configuration and write it to a single ``main.tf`` "
"file in the working directory (see :func:`working_directory "
"<app.terraform.BaseAutomation.working_directory>`)."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:6 of
msgid "Run ``terraform init``."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:7 of
msgid ""
"Run ``terraform apply``. This will only include a refresh if *full* is "
"**True**. The apply will wait up to *lock_timeout* minutes for a lock to "
"be released before failing. Up to *parallelism* requests will be sent to "
"remote APIs concurrently."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:10 of
msgid "The :func:`tf_posthook` hook is run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:11 of
msgid "The logs from the apply step are returned as a string."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:13 of
msgid "include a Terraform refresh in the automation module run"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:14 of
msgid "success status and Terraform apply logs"
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.parallelism:1 of
msgid "Default parallelism for remote API calls."
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.provider:1 of
msgid "Short name for the provider used by this module."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:1 of
msgid ""
"This hook function is called as part of normal automation, after the "
"completion of :func:`tf_apply`."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:4
#: app.terraform.terraform.TerraformAutomation.tf_prehook:5 of
msgid "The default, if not overridden by a subclass, is to do nothing."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:6 of
msgid "the returned value of :func:`tf_prehook`"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_prehook:1 of
msgid ""
"This hook function is called as part of normal automation, before "
"generating the terraform configuration file. The return value will be "
"passed to :func:`tf_posthook` but is otherwise ignored."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_prehook:7 of
msgid "state that is useful to :func:`tf_posthook`, if required"
msgstr ""

View file

@ -0,0 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/conf.rst:2
msgid "Configuration Objects"
msgstr ""

View file

@ -0,0 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/index.rst:2
msgid "Technical Overview"
msgstr ""

View file

@ -0,0 +1,63 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/resource.rst:2
msgid "Resource Objects"
msgstr ""
#: app.models.AbstractResource.deprecate:1 of
msgid ""
"Marks the resource as deprecated. In the event that the resource was "
"already deprecated, no change will be recorded and the function will "
"return False."
msgstr ""
#: ../../tech/resource.rst
msgid "Parameters"
msgstr ""
#: app.models.AbstractResource.deprecate:4 of
msgid "an opaque string that records the deprecation reason"
msgstr ""
#: app.models.AbstractResource.deprecate:5 of
msgid ""
"metadata associated with the deprecation reason, such as the "
"circumstances in which censorship was detected"
msgstr ""
#: ../../tech/resource.rst
msgid "Returns"
msgstr ""
#: app.models.AbstractResource.deprecate:7 of
msgid "if the proxy was deprecated"
msgstr ""
#: app.models.AbstractResource.destroy:1 of
msgid "Marks the resource for destruction."
msgstr ""
#: app.models.AbstractResource.destroy:3 of
msgid "None"
msgstr ""

View file

@ -0,0 +1,52 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/automation.rst:2
msgid "Automation"
msgstr ""
#: ../../user/automation.rst:4
msgid ""
"When changes are made in the portal, the effects usually do not take "
"place immediately, but rather are stored in the database for an "
"automation job to action shortly after. There are many automation jobs "
"that run in the portal, and you can find an overview of them on the "
"\"Automation\" page, under \"Monitoring\" in the sidebar:"
msgstr ""
#: ../../user/automation.rst:12
msgid ""
"This page lists all the automation jobs, their current status, if they "
"are enabled, their last, and their next run times. The last run time is "
"updated after the completion of a run, and the next run time indicates "
"the earliest time that a job may be started by the scheduler, although it"
" may not start for up to a minute after this time."
msgstr ""
#: ../../user/automation.rst:17
msgid ""
"Once a task has started, the status will change from idle (🕰️) to running"
" (🏃). If the run completes successfully, it will revert to idle again "
"until the next run. If an error occurred (💥) then the module will "
"automatically be disabled to allow for an administrator to investigate."
msgstr ""

View file

@ -0,0 +1,287 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/bridges.rst:2
msgid "Tor Bridges"
msgstr ""
#: ../../user/bridges.rst:5
msgid "Background"
msgstr ""
#: ../../user/bridges.rst:7
msgid ""
"When someone uses the Tor network to browse the internet, their traffic "
"is routed through a series of relays, making it difficult to trace the "
"origin of the traffic or the content being accessed. However, in some "
"countries or networks, access to the Tor network is blocked, making it "
"impossible to use the network."
msgstr ""
#: ../../user/bridges.rst:11
msgid ""
"A Tor bridge, a special type of node on the Tor network that is not "
"listed in the public directory of nodes, is designed to help users in "
"these situations. Instead of connecting directly to the Tor network, a "
"user can connect to a Tor bridge first. The bridge will then forward the "
"user's traffic to the Tor network, effectively bypassing any censorship "
"or blocking. This makes it harder for governments and other organizations"
" to block access to the Tor network, because users can still connect to "
"the network through these unlisted bridges."
msgstr ""
#: ../../user/bridges.rst:19
msgid "Pluggable Transports"
msgstr ""
#: ../../user/bridges.rst:21
msgid ""
"A key feature of a Tor bridge is its \"obfuscation\" capability, provided"
" by pluggable transports. This means that the bridge's traffic is "
"disguised in a way that makes it difficult for censors to detect that it "
"is Tor traffic through deep packet inspection (DPI). For example, the "
"bridge may use a different network protocol or port than standard Tor "
"traffic, making it harder for censors to identify and block it."
msgstr ""
#: ../../user/bridges.rst:27
msgid ""
"A pluggable transport allows users to obfuscate their Tor traffic using a"
" variety of different protocols and techniques. Different pluggable "
"transports will have different levels of success in different censorship "
"environments, and new techniques are always being designed and studied. "
"The portal currently only supports deploying bridges using the obfs4proxy"
" pluggable transport."
msgstr ""
#: ../../user/bridges.rst:33
msgid "Distribution Methods"
msgstr ""
#: ../../user/bridges.rst:35
msgid ""
"`BridgeDB <https://bridges.torproject.org/>`_, and its upcoming "
"replacement rdsys, is a service used by the Tor network to distribute "
"bridge addresses to users who need them. If you're running bridges for "
"the general public to use then BridgeDB will help users get hold of the "
"details for your bridges. Unless you have specific requirements, you can "
"let BridgeDB determine the best distribution method for your bridge by "
"choosing the \"Any\" method."
msgstr ""
#: ../../user/bridges.rst:42
msgid ""
"Within each distribution method the bridges are further split up into "
"*pools* (a concept borrowed by the portal too, see: *Resource Pools*). In"
" some countries or networks, censors may attempt to block all known "
"bridge addresses associated with the Tor network. Depending on criteria "
"such as geography, your ISP, and other secret factors, each user request "
"for a bridge is mapped to one of these pools. The aim is to prevent any "
"censor from being able to discover all of the bridges, leaving bridges "
"unblocked for other legitimate users."
msgstr ""
#: ../../user/bridges.rst:49
msgid ""
"If you already have a channel to your users then you should select the "
"\"None\" BridgeDB distribution method to ensure that your bridges remain "
"private and only for use by your community."
msgstr ""
#: ../../user/bridges.rst:53
msgid "Managing Configurations"
msgstr ""
#: ../../user/bridges.rst:55
msgid ""
"As with other circumvention resources, the dashboard takes the approach "
"of managing collections of resources that are uniformly configured and "
"expendable. For this reason the only configuration that can be performed "
"is at a high level with the management of individual resources taking "
"place through the automation subsystem."
msgstr ""
#: ../../user/bridges.rst:59
msgid ""
"Bridges will be deployed to all available cloud providers, although you "
"can disable providers by setting a zero instance limit within the Cloud "
"Account configuration."
msgstr ""
#: ../../user/bridges.rst:62
msgid ""
"Once your administrator has provided you access to the portal, you can "
"begin to configure your Tor Bridge deployments. To get started, select "
"\"Tor Bridges\" under \"Configuration\" from the menu on the left hand "
"side. If you are using a mobile device, you may need to click the "
"hamburger icon at the top of the screen to open the menu."
msgstr ""
#: ../../user/bridges.rst:70
msgid "New Configuration"
msgstr ""
#: ../../user/bridges.rst:72
msgid ""
"To create a new configuration, click \"Create new configuration\" at the "
"top of the configuration list. This will present you with the new "
"configuration form:"
msgstr ""
#: ../../user/bridges.rst:79
msgid "Distribution Method"
msgstr ""
#: ../../user/bridges.rst:81
msgid ""
"The distribution method for `BridgeDB "
"<https://bridges.torproject.org/>`_. Unless you have specific "
"requirements you will likely choose either \"Any\" to allow for BridgeDB "
"to allocate the bridge to where it is most needed, or \"None\" to have a "
"bridge that is not distributed by BridgeDB for you to distribute directly"
" to the end-user via another channel."
msgstr ""
#: ../../user/bridges.rst:87
msgid "Description"
msgstr ""
#: ../../user/bridges.rst:89
msgid "A free-form text description to help identify the collection."
msgstr ""
#: ../../user/bridges.rst:92
msgid "Pool"
msgstr ""
#: ../../user/bridges.rst:94
msgid ""
"The Resource Pool the bridges in this configuration belong to. If you "
"distribute your bridges by Distribution List within the portal, this will"
" allow you to split up which bridges are distributed."
msgstr ""
#: ../../user/bridges.rst:99
msgid "Target Number"
msgstr ""
#: ../../user/bridges.rst:101
msgid ""
"The target number of active bridges to have deployed at any time, "
"excluding deprecated bridges. When editing, increasing or decreasing this"
" number will cause new bridges to be created, or existing bridges to be "
"destroyed, so that the number deployed is less than the maximum number "
"while having as close as possible to the target number of non-deprecated "
"bridges."
msgstr ""
#: ../../user/bridges.rst:107
msgid "Maximum Number"
msgstr ""
#: ../../user/bridges.rst:109
msgid "The maximum number of bridges to deploy including deprecated bridges."
msgstr ""
#: ../../user/bridges.rst:112
msgid "Expiry Timer"
msgstr ""
#: ../../user/bridges.rst:114
msgid ""
"The number of hours to wait after a bridge is deprecated before its "
"destruction. It is not advisable to set this number to zero as this does "
"not allow any churn of IP address usage within the cloud provider and you"
" are likely to get the same IP address back for the new bridge, leading "
"it to arriving dead on arrival. It is also not advisable to set this "
"number too high as this will result in cost incurred for a bridge that "
"may not be able to be used. Remember that just because the bridge is "
"blocked in one network, it may remain accessible from other networks, and"
" so it is not instantly worthless when the first block is detected (with "
"the exception perhaps of very specific community use cases)."
msgstr ""
#: ../../user/bridges.rst:122
msgid "Provider Allocation Method"
msgstr ""
#: ../../user/bridges.rst:124
msgid "Two provider allocation methods have been implemented:"
msgstr ""
#: ../../user/bridges.rst:126
msgid ""
"Use cheapest provider first - based on the prevailing cost of a Tor "
"bridge at each provider, deploy on the cheapest provider first until the "
"quota is fully utilised, and then proceed to deploy on other providers in"
" order of cost."
msgstr ""
#: ../../user/bridges.rst:128
msgid ""
"Use providers randomly - each bridge deployed will go to a random choice "
"of cloud provider (RNG is not cryptographic)."
msgstr ""
#: ../../user/bridges.rst:131
msgid "Edit Configuration"
msgstr ""
#: ../../user/bridges.rst:136
msgid ""
"See the \"New Configuration\" section above for the descriptions of each "
"field."
msgstr ""
#: ../../user/bridges.rst:138
msgid ""
"Once a configuration has been created, the Resource Pool and Distribution"
" Method may not be modified. This is because the bridges may already have"
" been distributed by some method, and rather than reallocating the "
"existing bridges to a new Distribution Method or Resource Pool it would "
"be more effective to destroy the configuration and then create a new "
"configuration with new bridges for those new users."
msgstr ""
#: ../../user/bridges.rst:144
msgid "Destroy Configuration"
msgstr ""
#: ../../user/bridges.rst:149
msgid ""
"When destroying a configuration, the bridges deployed for that "
"configuration will be automatically destroyed with it."
msgstr ""
#: ../../user/bridges.rst:152
msgid "Bridge Rotation"
msgstr ""
#: ../../user/bridges.rst:157
msgid ""
"If not using an automated block detection and replacement system, bridges"
" can be manually replaced as needed. When viewing the bridge list, either"
" while editing the configuration or the full list of bridges, select "
"\"Mark as blocked\". The bridge will be replaced on the next automation "
"run."
msgstr ""

View file

@ -0,0 +1,184 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/eotk.rst:2
msgid "Enterprise Onion Toolkit"
msgstr ""
#: ../../user/eotk.rst:4
msgid ""
"Tor onion services, also known as hidden services, are websites that can "
"be accessed through the Tor network. These services are useful for "
"publishers because they allow them to host their content on the internet "
"without revealing their physical location or IP address. This can provide"
" a greater level of privacy and security for both the publisher and the "
"users accessing the content."
msgstr ""
#: ../../user/eotk.rst:9
msgid ""
"Because Tor onion services are accessed through the Tor network, they are"
" much more difficult to block or censor than regular websites. This is "
"because the connection between the user and the website is encrypted and "
"routed through multiple nodes on the network, making it difficult for "
"anyone to determine the source or destination of the traffic. This means "
"that even if one node on the network is blocked, the traffic can still be"
" routed through other nodes to reach the website."
msgstr ""
#: ../../user/eotk.rst:16
msgid ""
"To deploy an Onion service, you first need to deploy EOTK instances for "
"the related origin group, and then configure the individual Onion "
"services that will be served by those EOTK instances."
msgstr ""
#: ../../user/eotk.rst:19
msgid ""
"Once your administrator has provided you access to the portal, you can "
"begin to configure your onion service deployments. To get started, select"
" \"Groups\" under \"Configuration\" from the menu on the left hand side. "
"If you are using a mobile device, you may need to click the hamburger "
"icon at the top of the screen to open the menu."
msgstr ""
#: ../../user/eotk.rst:26
msgid ""
"You will see a ✅ or ❌ in the \"EOTK\" column for the group to show "
"whether or not EOTK instances are enabled for that group."
msgstr ""
#: ../../user/eotk.rst:30
msgid "Creating a new group"
msgstr ""
#: ../../user/eotk.rst:32
msgid ""
"If the group you would like to use EOTK for does not yet exist, create a "
"new group by clicking the \"Create new group\" button."
msgstr ""
#: ../../user/eotk.rst:39
msgid "Short Name"
msgstr ""
#: ../../user/eotk.rst:41
msgid ""
"This must be a unique short name for the group. It needs to be short. No "
"more than 4-5 characters."
msgstr ""
#: ../../user/eotk.rst:44 ../../user/eotk.rst:62 ../../user/eotk.rst:88
msgid "Description"
msgstr ""
#: ../../user/eotk.rst:46 ../../user/eotk.rst:64
msgid "A free-form description for the group."
msgstr ""
#: ../../user/eotk.rst:49 ../../user/eotk.rst:67
msgid "Deploy EOTK instances"
msgstr ""
#: ../../user/eotk.rst:51 ../../user/eotk.rst:69
msgid "Tick this checkbox to deploy EOTK instances for this group."
msgstr ""
#: ../../user/eotk.rst:54
msgid "Adding EOTK to an existing group"
msgstr ""
#: ../../user/eotk.rst:56
msgid "Click \"View/Edit\" next to the group that you'd like to edit."
msgstr ""
#: ../../user/eotk.rst:72
msgid "Managing Onion services"
msgstr ""
#: ../../user/eotk.rst:74
msgid ""
"To create a new Onion service, click \"Create new onion service\" at the "
"top of the list page. This will present you with the new onion service "
"form:"
msgstr ""
#: ../../user/eotk.rst:81
msgid "Domain Name"
msgstr ""
#: ../../user/eotk.rst:83
msgid ""
"The base origin domain name that the Onion service will be for. This "
"should be the common domain name of all the subdomains you want to serve "
"on the Onion service, not including any subdomain (e.g. example.com not "
"www.example.com)."
msgstr ""
#: ../../user/eotk.rst:90
msgid "A free-form text description to help identify the Onion service."
msgstr ""
#: ../../user/eotk.rst:93
msgid "Onion Private Key"
msgstr ""
#: ../../user/eotk.rst:95
msgid ""
"The private key for the Onion service. This could be generated by ``tor``"
" or by a tool such as `mkp224o <https://github.com/cathugger/mkp224o>`_."
msgstr ""
#: ../../user/eotk.rst:99
msgid "Onion Public Key"
msgstr ""
#: ../../user/eotk.rst:101
msgid ""
"The corresponding public key. The Onion hostname will be derived from the"
" public key, however no checks are made to ensure that the public key is "
"the correct key to correspond to the private key."
msgstr ""
#: ../../user/eotk.rst:105
msgid "TLS Private Key (PEM format)"
msgstr ""
#: ../../user/eotk.rst:107
msgid ""
"The PEM formatted TLS private key. If not specified, the self-signed "
"certificates generated by EOTK will be used. Beware that in that case, "
"each EOTK instance will have different TLS keys and certificates."
msgstr ""
#: ../../user/eotk.rst:111
msgid "TLS Certificate (PEM format)"
msgstr ""
#: ../../user/eotk.rst:113
msgid ""
"The PEM formatted TLS certificate. Either a self-signed certificate, or a"
" certificate issued by an authority that will validate .onion hostnames. "
"This should be a wildcard cert for the domain name given above (e.g. "
"\\*.example.com)."
msgstr ""

View file

@ -0,0 +1,91 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/index.rst:2
msgid "Introduction"
msgstr ""
#: ../../user/index.rst:4
msgid ""
"Censorship is the suppression of speech, public communication, or other "
"information. This may be done on the basis that such material is "
"considered objectionable, harmful, sensitive, or \"inconvenient\". "
"Regardless of the reasons for censorship, the technical measures taken to"
" implement it often look the same. The *Bypass Censorship* portal "
"provides a toolkit for circumventing censorship of Internet resources. "
"The circumvention methods available will often exploit either collateral "
"freedom, traffic obfuscation, or both in order to counter the measures "
"put in place by the censor."
msgstr ""
#: ../../user/index.rst:12
msgid "Collateral Freedom"
msgstr ""
#: ../../user/index.rst:14
msgid "*Used by:* :doc:`Web Mirrors <mirrors>`, :doc:`Tor Bridges <bridges>`"
msgstr ""
#: ../../user/index.rst:16
msgid ""
"\"Collateral freedom\" is an anti-censorship strategy that attempts to "
"make it economically prohibitive for censors to block an Internet "
"resource. The way in which a censor restricts access to resources will "
"require knowing which content to block and which to allow. It's "
"incredibly difficult to achieve accuracy with filtering as the Internet "
"is comprised of untagged free-form content that must be categorised at "
"speed. This results in either over-blocking or under-blocking, and "
"neither of these are desirable properties for the censor."
msgstr ""
#: ../../user/index.rst:23
msgid ""
"This can be exploited by circumvention systems by deploying solutions at "
"places that are \"too big to block\", like cloud providers. Either "
"encryption or constantly rotating identifiers are then used to prevent "
"censors from identifying requests for censored information that is hosted"
" among other content. This forces censors to either allow access to the "
"censored information or take down entire services."
msgstr ""
#: ../../user/index.rst:30
msgid "Traffic Obfuscation"
msgstr ""
#: ../../user/index.rst:32
msgid "*Used by:* :doc:`Tor Bridges <bridges>`"
msgstr ""
#: ../../user/index.rst:34
msgid ""
"\"Traffic Obfuscation\" is an anti-censorship strategy that attempts to "
"make it difficult to fingerprint traffic. This is more commonly used for "
"general censorship circumvention solutions rather than means of accessing"
" specific resources. There is a long tail of types of traffic on the "
"Internet, including critical infrastructure communications like "
"industrial control systems, point-of-sale systems and security systems. "
"This can be exploited by circumvention systems by making their traffic "
"look like one of these unclassified systems. Not being able to accurately"
" identify the traffic means that the cost of blocking access is unknown, "
"and so it is more difficult for a censor to justify the block."
msgstr ""

View file

@ -0,0 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/lists.rst:2
msgid "Distribution Lists"
msgstr ""

View file

@ -0,0 +1,187 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/mirrors.rst:2
msgid "Web Mirrors"
msgstr ""
#: ../../user/mirrors.rst:5
msgid "Background"
msgstr ""
#: ../../user/mirrors.rst:7
msgid ""
"A web mirror can help users by providing alternate URLs to access "
"censored resources, allowing them to bypass technical censorship and "
"access information that may be otherwise unavailable. Web proxies work by"
" forwarding requests to the original website, and providing a different "
"URL to access that content. By accessing the web proxy URL, users can "
"access the same content that would be blocked by censors if accessed "
"through the original website's URL."
msgstr ""
#: ../../user/mirrors.rst:11
msgid ""
"Web mirrors also use frequently changing URLs to evade censorship, making"
" it more difficult for censors to block access to the content. This "
"assumption of a limited lifetime is built-in to the system, allowing for "
"automated block detection to trigger the deployment of new URLs, and for "
"the :doc:`distribution lists <lists>` to allow applications and end-users"
" to discover new URLs."
msgstr ""
#: ../../user/mirrors.rst:16
msgid ""
"Additionally, web proxies can be accessed via a normal web browser, "
"making them easily accessible to users without requiring any special "
"software or technical knowledge."
msgstr ""
#: ../../user/mirrors.rst:19
msgid "Architecture"
msgstr ""
#: ../../user/mirrors.rst:21
msgid ""
"Before configuring any web origins to create mirrors, you must first "
"configure an origin group. The group is used to organise larger numbers "
"of web origins so that mirrors can be created for them with a shared "
"configuration. The shared configuration will include which pools will "
"require mirrors for the origins."
msgstr ""
#: ../../user/mirrors.rst:25
msgid ""
"For each configured origin group, a smart proxy instance will be created "
"at each provider where proxies are deployed. This instance runs the "
"active proxy that will rewrite URLs in responses from the origin "
"webserver to ensure that all resources are loaded via the mirrors. Some "
"providers, e.g. Fastly, do not require an instance as they already "
"provide the means for URL re-writing in their standard functionality."
msgstr ""
#: ../../user/mirrors.rst:29
msgid "Web origins represent the source website that has been blocked."
msgstr ""
#: ../../user/mirrors.rst:32
msgid "Web Origins"
msgstr ""
#: ../../user/mirrors.rst:35
msgid "Rate Limiting"
msgstr ""
#: ../../user/mirrors.rst:37
msgid ""
"CDNs (Content Delivery Networks) can impose rate limiting on websites to "
"ensure that the network resources are efficiently utilized, to protect "
"the websites from DDoS (Distributed Denial of Service) attacks and to "
"maintain the quality of service for all the websites using the CDN."
msgstr ""
#: ../../user/mirrors.rst:41
msgid ""
"These rate limits will be sized according to the expected rate of "
"requests from an average user, however the mirror system is a bottleneck "
"that aggregates requests from multiple users and passes these on to the "
"original CDN. When a single system is used to send a large number of "
"requests to a CDN like this, the CDN may interpret this as a denial of "
"service (DoS) attack and prevent access to the website."
msgstr ""
#: ../../user/mirrors.rst:46
msgid ""
"Deploying mirrors for websites hosted on CDNs will require co-operation "
"from the CDN provider. If you find that mirrors are producing many \"Rate"
" Limited Exceeded\" or \"Access Denied\" errors then you may be suffering"
" from this problem. Ask your administrator to configure the `Bypass-Rate-"
"Limit-Token` header in the portal and at the CDN to disable the rate "
"limiting for requests originating via the mirrors."
msgstr ""
#: ../../user/mirrors.rst:52
msgid "New Web Origin"
msgstr ""
#: ../../user/mirrors.rst:54
msgid ""
"To create a new web origin, click \"Create new origin\" at the top of the"
" list. This will present you with the new origin form:"
msgstr ""
#: ../../user/mirrors.rst:61
msgid "Domain Name"
msgstr ""
#: ../../user/mirrors.rst:63
msgid ""
"Enter the domain name that you want to create a mirror for in this field."
" This is a required field."
msgstr ""
#: ../../user/mirrors.rst:66
msgid "Description"
msgstr ""
#: ../../user/mirrors.rst:68
msgid ""
"Enter a brief description of the website that you are creating a mirror "
"for in this field. This is also a required field."
msgstr ""
#: ../../user/mirrors.rst:71
msgid "Group"
msgstr ""
#: ../../user/mirrors.rst:73
msgid ""
"Select the group that you want the mirror to belong to from the drop-down"
" menu in this field. This is a required field."
msgstr ""
#: ../../user/mirrors.rst:76
msgid "Auto-Rotate"
msgstr ""
#: ../../user/mirrors.rst:78
msgid ""
"Select this field if you want to enable auto-rotation for the mirror. "
"This means that the mirror will automatically redeploy with a new domain "
"name if it is detected to be blocked. This field is optional and is "
"enabled by default."
msgstr ""
#: ../../user/mirrors.rst:82
msgid "Asset Domain"
msgstr ""
#: ../../user/mirrors.rst:84
msgid ""
"Select this field if you want to use mirrors of this domain to host "
"assets for other domains. This is an optional field and is disabled by "
"default. All of the asset domains within a group will be available for "
"all mirrors using smart proxies. The smart proxy will rewrite URLs for "
"the asset domains that are included in the source code of the mirror "
"hosted by a smart proxy."
msgstr ""

View file

@ -0,0 +1,77 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/config.rst:3
msgid "Configuration File"
msgstr ""
#: ../../admin/api/config.rst:5
msgid ""
"The application uses a YAML configuration file to specify various "
"settings. The configuration file should follow the YAML syntax and "
"provide values for the following fields:"
msgstr ""
#: ../../admin/api/config.rst:7
msgid ""
"`DEFAULT_REDIRECTOR_DOMAIN`: The default domain name to use for "
"generating short links when no pool-specific redirector domain is "
"provided. If not specified, it defaults to an empty string."
msgstr ""
#: ../../admin/api/config.rst:8
msgid ""
"`MIRROR_COUNTRIES`: A list of country codes for which clients should be "
"redirected to a mirror server. If a client's IP address matches one of "
"the specified countries, they will be redirected. If not specified, "
"clients will always be redirected to a mirror server."
msgstr ""
#: ../../admin/api/config.rst:9
msgid ""
"`PUBLIC_KEY`: The public API key used for generating short links for "
"anonymous users. If not specified, it defaults to an empty string."
msgstr ""
#: ../../admin/api/config.rst:10
msgid ""
"`UPDATE_KEY`: The API key required for updating the application data via "
"the `/updt` endpoint. This key must be provided in the `Authorization` "
"header as a bearer token."
msgstr ""
#: ../../admin/api/config.rst:11
msgid ""
"`GEOIP_DATABASE` (optional): The file path to the GeoIP database used for"
" country lookup. If not specified, it defaults to "
"`/usr/share/GeoIP/GeoIP2-Country.mmdb`."
msgstr ""
#: ../../admin/api/config.rst:14
msgid "Example Configuration"
msgstr ""
#: ../../admin/api/config.rst:16
msgid "An example configuration file may look like this:"
msgstr ""

View file

@ -0,0 +1,115 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/install.rst:3
msgid "Installation"
msgstr ""
#: ../../admin/api/install.rst:5
msgid ""
"The application is intended to be deployed in AWS using the `bc-"
"redirector <https://registry.terraform.io/modules/sr2c/bc-"
"redirector/aws/latest>`_ Terraform module. This deployment is not managed"
" through the portal itself but may be managed alongside the IaC that "
"manages the deployment of the portal itself."
msgstr ""
#: ../../admin/api/install.rst:12
msgid "Deployment"
msgstr ""
#: ../../admin/api/install.rst:14
msgid ""
"The Terraform module takes care of setting up multiple entry-points to "
"the redirector allowing for per-pool redirector domains, and also "
"generating the necessary configuration file for the redirector. Once "
"deployed, the redirector will not require further manual configuration, "
"although the deployed EC2 instance will be accessible via AWS Systems "
"Manager Session Manager if required for debugging."
msgstr ""
#: ../../admin/api/install.rst:19
msgid "The following Terraform configuration shows an example using the module:"
msgstr ""
#: ../../admin/api/install.rst:47
msgid ""
"The `public_key` must match the API key of the public pool configured "
"within the portal. The `update_key` may must match the \"filename\" "
"configured for the distribution list below."
msgstr ""
#: ../../admin/api/install.rst:50
msgid ""
"The MaxMind account used will need to have at least a subscription for "
"the GeoIP2 Country database. A subscription for GeoIP2 City will include "
"the GeoIP2 Country database."
msgstr ""
#: ../../admin/api/install.rst:55
msgid "Data Updates"
msgstr ""
#: ../../admin/api/install.rst:57
msgid ""
"Once deployed, the redirector must learn about the available mirror "
"resources. This requires configuring a :doc:`distribution list "
"<../../user/lists>` inside the portal."
msgstr ""
#: ../../admin/api/install.rst:60
msgid "**Resource Pool**: any (ignored)"
msgstr ""
#: ../../admin/api/install.rst:61
msgid "**Provider**: HTTP POST"
msgstr ""
#: ../../admin/api/install.rst:62
msgid "**Distribution Method**: Redirector Data"
msgstr ""
#: ../../admin/api/install.rst:63
msgid "**Encoding**: JSON (Plain)"
msgstr ""
#: ../../admin/api/install.rst:64
msgid "**Description**: <*description of the redirector instance*>"
msgstr ""
#: ../../admin/api/install.rst:65
msgid "**Container**: \\https://<*redirector domain*>/updt"
msgstr ""
#: ../../admin/api/install.rst:66
msgid "**Git Branch/Region**: na"
msgstr ""
#: ../../admin/api/install.rst:67
msgid "**Role ARN**: <*blank*>"
msgstr ""
#: ../../admin/api/install.rst:68
msgid "**Filename**: <*update key*>"
msgstr ""

View file

@ -0,0 +1,41 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/conf.rst:2
msgid "Configuration File"
msgstr ""
#: ../../admin/conf.rst:4
msgid ""
"A file named ``config.yaml`` must exist. For specifics about the provider"
" configurations, see :doc:`External Services <external>`."
msgstr ""
#: ../../admin/conf.rst:8
msgid "Base Configuration"
msgstr ""
#: ../../admin/conf.rst:11
msgid "Template"
msgstr ""

View file

@ -0,0 +1,144 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/eotk.rst:2
msgid "Enterprise Onion Toolkit"
msgstr ""
#: ../../admin/eotk.rst:4
msgid ""
"When EOTK instances are deployed for a group, the following main AWS "
"resources are created:"
msgstr ""
#: ../../admin/eotk.rst:6
msgid "An EC2 instance in us-east-2"
msgstr ""
#: ../../admin/eotk.rst:7
msgid "An EC2 instance in eu-central-1"
msgstr ""
#: ../../admin/eotk.rst:8
msgid "A S3 bucket to hold nginx access logs"
msgstr ""
#: ../../admin/eotk.rst:10
msgid ""
"The EC2 instances are running Ubuntu 20.04 LTS and are configured with "
"`ssm-agent <https://docs.aws.amazon.com/systems-manager/latest/userguide"
"/ssm-agent.html>`_ and `unattended-upgrades "
"<https://wiki.debian.org/UnattendedUpgrades>`_."
msgstr ""
#: ../../admin/eotk.rst:13
msgid ""
"EOTK is automatically cloned at instance creation time from Alec Muffet's"
" `GitHub repository <https://github.com/alecmuffett/eotk>`_ to "
"``/home/ubuntu/eotk``. The script to automatically build and install all "
"dependencies is also executed at the instance creation time."
msgstr ""
#: ../../admin/eotk.rst:17
msgid ""
"For full details on the instance configuration, refer to the `cloud-init "
"user data <https://github.com/sr2c/terraform-aws-"
"eotk/blob/main/templates/user_data.yaml>`_."
msgstr ""
#: ../../admin/eotk.rst:21
msgid "Logging in to an instance"
msgstr ""
#: ../../admin/eotk.rst:24
msgid "Via the console"
msgstr ""
#: ../../admin/eotk.rst:26
msgid ""
"Using the AWS console, visit the `Session Manager <https://us-"
"east-2.console.aws.amazon.com/systems-manager/session-"
"manager/sessions?region=us-east-2>`_ in the Systems Manager service. If "
"using SSO, login before attempting to open the link."
msgstr ""
#: ../../admin/eotk.rst:33
msgid "Click \"Start Session\" to start a new session."
msgstr ""
#: ../../admin/eotk.rst:38
msgid ""
"Select the instance from the list, and click \"Start Session\" again. "
"Remember that the second instance will be found in the eu-central-1 "
"region."
msgstr ""
#: ../../admin/eotk.rst:44
msgid ""
"Use the following commands to get into the EOTK directory as the correct "
"user::"
msgstr ""
#: ../../admin/eotk.rst:50
msgid "Via the command line"
msgstr ""
#: ../../admin/eotk.rst:52
msgid "Begin by discovering the instance ID::"
msgstr ""
#: ../../admin/eotk.rst:56
msgid "Start an SSM session::"
msgstr ""
#: ../../admin/eotk.rst:60
msgid "To login with SSH via SSM, add the following to your ``~/.ssh/config``:"
msgstr ""
#: ../../admin/eotk.rst:64
msgid ""
"No user SSH public keys are provisioned to the instance. You will need to"
" add the public key you plan to use to the correct user's authorized_keys"
" file using a plain SSM session before attempting to use SSH."
msgstr ""
#: ../../admin/eotk.rst:72
msgid ""
"You can then login with SSH, but be sure to include environment variables"
" for your AWS region::"
msgstr ""
#: ../../admin/eotk.rst:76
msgid "This will also work for scp, rsync, etc."
msgstr ""
#: ../../admin/eotk.rst:79
msgid "Configuring EOTK"
msgstr ""
#: ../../admin/eotk.rst:81
msgid ""
"Refer to the `EOTK documentation "
"<https://github.com/alecmuffett/eotk/tree/master/docs.d>`_."
msgstr ""

View file

@ -0,0 +1,247 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/external.rst:2
msgid "External Services"
msgstr ""
#: ../../admin/external.rst:5
msgid "Overview"
msgstr ""
#: ../../admin/external.rst:7
msgid ""
"In order to deploy the circumvention resources, the following providers "
"can be used:"
msgstr ""
#: ../../admin/external.rst:10
msgid "Resource"
msgstr ""
#: ../../admin/external.rst:10 ../../admin/external.rst:25
msgid "AWS"
msgstr ""
#: ../../admin/external.rst:10
msgid "Azure"
msgstr ""
#: ../../admin/external.rst:10
msgid "Fastly"
msgstr ""
#: ../../admin/external.rst:10
msgid "Hetzner"
msgstr ""
#: ../../admin/external.rst:10
msgid "GandiCloud VPS"
msgstr ""
#: ../../admin/external.rst:10 ../../admin/external.rst:129
msgid "OVH"
msgstr ""
#: ../../admin/external.rst:12
msgid "Web Proxy"
msgstr ""
#: ../../admin/external.rst:12 ../../admin/external.rst:14
msgid "✅"
msgstr ""
#: ../../admin/external.rst:12 ../../admin/external.rst:14
msgid "❌"
msgstr ""
#: ../../admin/external.rst:14
msgid "Tor Bridge"
msgstr ""
#: ../../admin/external.rst:17
msgid "Circumvention resource lists can be distributed via:"
msgstr ""
#: ../../admin/external.rst:19
msgid "AWS S3"
msgstr ""
#: ../../admin/external.rst:20 ../../admin/external.rst:64
msgid "GitHub"
msgstr ""
#: ../../admin/external.rst:21 ../../admin/external.rst:96
msgid "GitLab"
msgstr ""
#: ../../admin/external.rst:22
msgid "HTTP POST"
msgstr ""
#: ../../admin/external.rst:27
msgid ""
"Configuring AWS will require an `IAM account "
"<https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html>`_"
" with programmatic access. As the portal may deploy resources using many "
"AWS services it is currently It is recommended that a dedicated account "
"is used for the deployement of portal managed resources. The dedicated "
"account may be part of an existing AWS organisation."
msgstr ""
#: ../../admin/external.rst:42
msgid "Route 53"
msgstr ""
#: ../../admin/external.rst:44
msgid ""
"Some resources that can be deployed via the portal, e.g. mirrors, rely on"
" DNS names to map internal connections. These DNS names are only used "
"within AWS and are never accessed directly by end users. A registered "
"domain must be used for this purpose."
msgstr ""
#: ../../admin/external.rst:48
msgid ""
"Once a domain name has been registered, `create a hosted zone "
"<https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html>`_"
" within Route 53. Ensure that the domain registrar is updated to point to"
" the Route 53 nameservers. Optionally, enable DNSSEC to improve the "
"security of the hosted zone. Add the domain name, including the "
"terminating period, to the configuration for the portal:"
msgstr ""
#: ../../admin/external.rst:61
msgid ""
"Do not create any other records on this domain manually as these may "
"conflict with names created by the portal."
msgstr ""
#: ../../admin/external.rst:66
msgid ""
"To configure GitHub, you will need a \"personal access token\". It is not"
" possible to restrict a token to specific repositories, so it is best to "
"create a `machine user <https://docs.github.com/en/developers/overview"
"/managing-deploy-keys#machine-users>`_ and then invite that user to only "
"the repositories that should be accessed to limit the impact of a token "
"disclosure."
msgstr ""
#: ../../admin/external.rst:73
msgid ""
"To create a token, visit the `New personal access token "
"<https://github.com/settings/tokens/new>`_ page of the GitHub settings. "
"Add a note so that you will be reminded of the purpose of this token when"
" you go to look at it later. The expiry can be set according to your "
"threat model. GitHub will `send an email warning "
"<https://github.blog/changelog/2021-07-26-expiration-options-for-"
"personal-access-tokens/>`_ before the token expires allowing you to "
"generate a new token and update your configuration."
msgstr ""
#: ../../admin/external.rst:81
msgid ""
"Your access token will need the \"repo\" OAuth scope. If you are only "
"using public repos, you could limit the token to use the \"public_repo\" "
"scope."
msgstr ""
#: ../../admin/external.rst:84 ../../admin/external.rst:117
msgid "Once you've generated your token, you can add it to your ``config.yaml``:"
msgstr ""
#: ../../admin/external.rst:92 ../../admin/external.rst:125
msgid ""
"The organisation, repository, filename and formats are all configured via"
" the portal interface under :doc:`mirror lists <../user/lists>`."
msgstr ""
#: ../../admin/external.rst:98
msgid ""
"To configure GitLab, you will need an access token. GitLab has a variety "
"of scoped access tokens, including `personal "
"<https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html>`_, "
"`group "
"<https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html>`_"
" and `project "
"<https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html>`_"
" access tokens. Create the type of token that is suitable according to "
"your threat model."
msgstr ""
#: ../../admin/external.rst:107
msgid ""
"Add a name so that you will be reminded of the purpose of this token when"
" you go to look at it later. The expiry can be set according to your "
"threat model. GitLab will send an email warning to token owners 7 days "
"before expiry allowing you to generate a new token and update your "
"configuration."
msgstr ""
#: ../../admin/external.rst:113
msgid ""
"Your access token will need the \"api\" scope. Unforunately the "
"\"write_repository\" scope only works for Git-over-HTTPS, but the portal "
"uses the API to update mirror lists in GitLab."
msgstr ""
#: ../../admin/external.rst:131
msgid ""
"OVH requires two different sets of credentials. The first is for the "
"OpenStack Horizon API, and the second for the OVH API."
msgstr ""
#: ../../admin/external.rst:134
msgid ""
"OVH provides documentation on creating the OpenStack Horizon user `here "
"<https://docs.ovh.com/gb/en/public-cloud/creation-and-deletion-of-"
"openstack-user/#creating-an-openstack-user>`_. As the portal will manage "
"all resources within your OVH project, it is fine to allow for the user "
"to have \"Administrator\" access."
msgstr ""
#: ../../admin/external.rst:139
msgid ""
"Once you have the username and password, you can complete the first "
"fields of the configuration:"
msgstr ""
#: ../../admin/external.rst:149
msgid ""
"You can find the tenant ID in the top-left corner of the OVH cloud "
"dashboard, or in the `OpenStack RC file <https://docs.ovh.com/gb/en"
"/public-cloud/set-openstack-environment-variables/>`_ available for "
"download in the Horizon interface."
msgstr ""
#: ../../admin/external.rst:157
msgid ""
"Finally, you'll need to create credentials for the OVH API. Go to the "
"`key creation page <https://eu.api.ovh.com/createToken/>`_ and add an "
"application name and description to remind you later what the token is "
"for. Set a validity (expiry) according to your threat model. This token "
"is only used for read-only access, so it is sufficient to allow only GET "
"requests. Place an asterisk (*) in the text box to the right of GET so "
"that API paths are allowed."
msgstr ""

View file

@ -0,0 +1,54 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/install.rst:2
msgid "Installation"
msgstr ""
#: ../../admin/install.rst:4
msgid ""
"The current installation method is to use a Python virtual envrionment. "
"Many of the dependencies needed by the portal can be installed from PyPI,"
" although some dependencies will need to be satisfied in other ways:"
msgstr ""
#: ../../admin/install.rst:8
msgid "A cron daemon - probably available in your system package manager"
msgstr ""
#: ../../admin/install.rst:9
msgid "Terraform binary - static binaries available from Hashicorp"
msgstr ""
#: ../../admin/install.rst:10
msgid "PostgreSQL server - probably available in your system package manager"
msgstr ""
#: ../../admin/install.rst:12
msgid "Create and activate a virtual environment with:"
msgstr ""
#: ../../admin/install.rst:20
msgid "You will need to install an entry into the portal user's crontab::"
msgstr ""

View file

@ -0,0 +1,115 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../index.rst:7
msgid "User Guide"
msgstr ""
#: ../../index.rst:18
msgid "Publisher Guide"
msgstr ""
#: ../../index.rst:24
msgid "Admin Guide"
msgstr ""
#: ../../index.rst:34
msgid "Technical Documentation"
msgstr ""
#: ../../index.rst:2
msgid "Documentation Home"
msgstr ""
#: ../../index.rst:45
msgid "Indices and tables"
msgstr ""
#: ../../index.rst:47
msgid ":ref:`genindex`"
msgstr ""
#: ../../index.rst:48
msgid ":ref:`modindex`"
msgstr ""
#: ../../index.rst:49
msgid ":ref:`search`"
msgstr ""
#: ../../index.rst:52
msgid "Maintained by"
msgstr ""
#: ../../index.rst:55 ../../index.rst:62
msgid "|logo-gp|"
msgstr ""
#: ../../index.rst:76
msgid "Guardian Project"
msgstr ""
#: ../../index.rst:55 ../../index.rst:62
msgid "`Guardian Project <https://guardianproject.info>`_"
msgstr ""
#: ../../index.rst:59
msgid "Developed by"
msgstr ""
#: ../../index.rst:64
msgid "|logo-tor|"
msgstr ""
#: ../../index.rst:80
msgid "Tor Project"
msgstr ""
#: ../../index.rst:64
msgid "`Tor Project <https://www.torproject.org>`_"
msgstr ""
#: ../../index.rst:68
msgid "Supported by [*]_"
msgstr ""
#: ../../index.rst:71
msgid "|logo-otf|"
msgstr ""
#: ../../index.rst:84
msgid "Open Technology Fund"
msgstr ""
#: ../../index.rst:71
msgid "`Open Technology Fund <https://opentech.fund/>`_"
msgstr ""
#: ../../index.rst:89
msgid "Footnotes"
msgstr ""
#: ../../index.rst:90
msgid "Support received does not imply endorsement."
msgstr ""

View file

@ -0,0 +1,143 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../publisher/api.rst:3
msgid "Publisher API"
msgstr ""
#: ../../<openapi>:1
msgid "**Retrieve information about the authenticated user's pool**"
msgstr ""
#: ../../publisher/api.rst
msgid "Query Parameters"
msgstr ""
#: ../../<openapi>:1
msgid "The API key of the pool. If not provided, the public API key is used."
msgstr ""
#: ../../<openapi>:1
msgid "**Example request:**"
msgstr ""
#: ../../publisher/api.rst
msgid "Status Codes"
msgstr ""
#: ../../<openapi>:1
msgid ""
"Success **Example response:** .. sourcecode:: http HTTP/1.1 200 OK"
" Content-Type: application/json {}"
msgstr ""
#: ../../<openapi>:1
msgid "Success"
msgstr ""
#: ../../<openapi>:1
msgid "**Example response:**"
msgstr ""
#: ../../<openapi>:1
msgid "Invalid API key"
msgstr ""
#: ../../<openapi>:1
msgid "**Generate a circumvention link for a specific resource**"
msgstr ""
#: ../../<openapi>:1
msgid "The URL for which a circumvention link needs to be generated. (Required)"
msgstr ""
#: ../../<openapi>:1
msgid ""
"The type of link to generate. Valid values are \"live\", \"short\", or "
"\"snapshot\". If not provided, \"direct\" is used."
msgstr ""
#: ../../<openapi>:1
msgid ""
"The duration that a snapshot will remain published for. Valid values are "
"\"long\" and \"short\". If not provided, \"short\" is used."
msgstr ""
#: ../../<openapi>:1
msgid "Defines the footer text to be used when publishing a snapshot."
msgstr ""
#: ../../<openapi>:1
msgid "Defines the footer link to be used when publishing a snapshot."
msgstr ""
#: ../../<openapi>:1
msgid "Resource not on a supported domain"
msgstr ""
#: ../../<openapi>:1
msgid "No live mirror exists for the resource"
msgstr ""
#: ../../<openapi>:1
msgid "Could not generate a snapshot for the resource"
msgstr ""
#: ../../<openapi>:1
msgid "**Redirect to the live mirror associated with the given hash**"
msgstr ""
#: ../../publisher/api.rst
msgid "Parameters"
msgstr ""
#: ../../<openapi>:1
msgid "The hash associated with the short link"
msgstr ""
#: ../../<openapi>:1
msgid "Always redirect to a mirror and ignore GeoIP information."
msgstr ""
#: ../../<openapi>:1
msgid ""
"Override the client IP address and base the GeoIP lookup on this IP "
"address instead."
msgstr ""
#: ../../<openapi>:1
msgid "Redirects the client to the original URL"
msgstr ""
#: ../../<openapi>:1
msgid "The hash is invalid or not found"
msgstr ""
#: ../../publisher/api.rst
msgid "Response Headers"
msgstr ""
#: ../../<openapi>:1
msgid "The URL of the live mirror"
msgstr ""

View file

@ -0,0 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../_templates/sidebar/ethical-ads.html:2
msgid "Translations"
msgstr ""

View file

@ -0,0 +1,140 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/automation.rst:2
msgid "Automation Plugins"
msgstr ""
#: ../../tech/automation.rst:5
msgid "Base"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:1 of
msgid ""
"Write a Jinja2 template to the working directory for use by an automation"
" module."
msgstr ""
#: ../../tech/automation.rst
msgid "Parameters"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:3 of
msgid "filename to write to"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:4 of
msgid "Jinja2 template"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:5 of
msgid "variables for use with the template"
msgstr ""
#: ../../tech/automation.rst
msgid "Returns"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:6
#: app.terraform.terraform.TerraformAutomation.tf_posthook:7 of
msgid "None"
msgstr ""
#: ../../docstring app.terraform.BaseAutomation.working_dir:1 of
msgid ""
"The short name of the automation provider. This is used as an opaque "
"token throughout the portal system."
msgstr ""
#: ../../tech/automation.rst:12
msgid "Terraform"
msgstr ""
#: app.terraform.terraform.TerraformAutomation:1 of
msgid ""
"An abstract class to be extended by automation plugins using Terraform "
"providers to deploy resources."
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.always_refresh:1
#: of
msgid "Force refresh even when not a full run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:1 of
msgid "Runs the Terraform automation module. The run will follow these steps:"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:3 of
msgid "The :func:`tf_prehook` hook is run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:4 of
msgid ""
"Generate a Terraform configuration and write it to a single ``main.tf`` "
"file in the working directory (see :func:`working_directory "
"<app.terraform.BaseAutomation.working_directory>`)."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:6 of
msgid "Run ``terraform init``."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:7 of
msgid ""
"Run ``terraform apply``. This will only include a refresh if *full* is "
"**True**. The apply will wait up to *lock_timeout* minutes for a lock to "
"be released before failing. Up to *parallelism* requests will be sent to "
"remote APIs concurrently."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:10 of
msgid "The :func:`tf_posthook` hook is run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:11 of
msgid "The logs from the apply step are returned as a string."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:13 of
msgid "include a Terraform refresh in the automation module run"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:14 of
msgid "success status and Terraform apply logs"
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.parallelism:1 of
msgid "Default parallelism for remote API calls."
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.provider:1 of
msgid "Short name for the provider used by this module."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:1 of
msgid ""
"This hook function is called as part of normal automation, after the "
"completion of :func:`tf_apply`."
msgstr ""

View file

@ -0,0 +1,53 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/automation.rst:2
msgid "Automation"
msgstr ""
#: ../../user/automation.rst:4
msgid ""
"When changes are made in the portal, the effects usually do not take "
"place immediately, but rather are stored in the database for an "
"automation job to action shortly after. There are many automation jobs "
"that run in the portal, and you can find an overview of them on the "
"\"Automation\" page, under \"Monitoring\" in the sidebar:"
msgstr ""
#: ../../user/automation.rst:12
msgid ""
"This page lists all the automation jobs, their current status, if they "
"are enabled, their last, and their next run times. The last run time is "
"updated after the completion of a run, and the next run time indicates "
"the earliest time that a job may be started by the scheduler, although it"
" may not start for up to a minute after this time."
msgstr ""
#: ../../user/automation.rst:17
msgid ""
"Once a task has started, the status will change from idle (🕰️) to running"
" (🏃). If the run completes successfully, it will revert to idle again "
"until the next run. If an error occurred (💥) then the module will "
"automatically be disabled to allow for an administrator to investigate."
msgstr ""

View file

@ -0,0 +1,185 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/eotk.rst:2
msgid "Enterprise Onion Toolkit"
msgstr ""
#: ../../user/eotk.rst:4
msgid ""
"Tor onion services, also known as hidden services, are websites that can "
"be accessed through the Tor network. These services are useful for "
"publishers because they allow them to host their content on the internet "
"without revealing their physical location or IP address. This can provide"
" a greater level of privacy and security for both the publisher and the "
"users accessing the content."
msgstr ""
#: ../../user/eotk.rst:9
msgid ""
"Because Tor onion services are accessed through the Tor network, they are"
" much more difficult to block or censor than regular websites. This is "
"because the connection between the user and the website is encrypted and "
"routed through multiple nodes on the network, making it difficult for "
"anyone to determine the source or destination of the traffic. This means "
"that even if one node on the network is blocked, the traffic can still be"
" routed through other nodes to reach the website."
msgstr ""
#: ../../user/eotk.rst:16
msgid ""
"To deploy an Onion service, you first need to deploy EOTK instances for "
"the related origin group, and then configure the individual Onion "
"services that will be served by those EOTK instances."
msgstr ""
#: ../../user/eotk.rst:19
msgid ""
"Once your administrator has provided you access to the portal, you can "
"begin to configure your onion service deployments. To get started, select"
" \"Groups\" under \"Configuration\" from the menu on the left hand side. "
"If you are using a mobile device, you may need to click the hamburger "
"icon at the top of the screen to open the menu."
msgstr ""
#: ../../user/eotk.rst:26
msgid ""
"You will see a ✅ or ❌ in the \"EOTK\" column for the group to show "
"whether or not EOTK instances are enabled for that group."
msgstr ""
#: ../../user/eotk.rst:30
msgid "Creating a new group"
msgstr ""
#: ../../user/eotk.rst:32
msgid ""
"If the group you would like to use EOTK for does not yet exist, create a "
"new group by clicking the \"Create new group\" button."
msgstr ""
#: ../../user/eotk.rst:39
msgid "Short Name"
msgstr ""
#: ../../user/eotk.rst:41
msgid ""
"This must be a unique short name for the group. It needs to be short. No "
"more than 4-5 characters."
msgstr ""
#: ../../user/eotk.rst:44 ../../user/eotk.rst:62 ../../user/eotk.rst:88
msgid "Description"
msgstr ""
#: ../../user/eotk.rst:46 ../../user/eotk.rst:64
msgid "A free-form description for the group."
msgstr ""
#: ../../user/eotk.rst:49 ../../user/eotk.rst:67
msgid "Deploy EOTK instances"
msgstr ""
#: ../../user/eotk.rst:51 ../../user/eotk.rst:69
msgid "Tick this checkbox to deploy EOTK instances for this group."
msgstr ""
#: ../../user/eotk.rst:54
msgid "Adding EOTK to an existing group"
msgstr ""
#: ../../user/eotk.rst:56
msgid "Click \"View/Edit\" next to the group that you'd like to edit."
msgstr ""
#: ../../user/eotk.rst:72
msgid "Managing Onion services"
msgstr ""
#: ../../user/eotk.rst:74
msgid ""
"To create a new Onion service, click \"Create new onion service\" at the "
"top of the list page. This will present you with the new onion service "
"form:"
msgstr ""
#: ../../user/eotk.rst:81
msgid "Domain Name"
msgstr ""
#: ../../user/eotk.rst:83
msgid ""
"The base origin domain name that the Onion service will be for. This "
"should be the common domain name of all the subdomains you want to serve "
"on the Onion service, not including any subdomain (e.g. example.com not "
"www.example.com)."
msgstr ""
#: ../../user/eotk.rst:90
msgid "A free-form text description to help identify the Onion service."
msgstr ""
#: ../../user/eotk.rst:93
msgid "Onion Private Key"
msgstr ""
#: ../../user/eotk.rst:95
msgid ""
"The private key for the Onion service. This could be generated by ``tor``"
" or by a tool such as `mkp224o <https://github.com/cathugger/mkp224o>`_."
msgstr ""
#: ../../user/eotk.rst:99
msgid "Onion Public Key"
msgstr ""
#: ../../user/eotk.rst:101
msgid ""
"The corresponding public key. The Onion hostname will be derived from the"
" public key, however no checks are made to ensure that the public key is "
"the correct key to correspond to the private key."
msgstr ""
#: ../../user/eotk.rst:105
msgid "TLS Private Key (PEM format)"
msgstr ""
#: ../../user/eotk.rst:107
msgid ""
"The PEM formatted TLS private key. If not specified, the self-signed "
"certificates generated by EOTK will be used. Beware that in that case, "
"each EOTK instance will have different TLS keys and certificates."
msgstr ""
#: ../../user/eotk.rst:111
msgid "TLS Certificate (PEM format)"
msgstr ""
#: ../../user/eotk.rst:113
msgid ""
"The PEM formatted TLS certificate. Either a self-signed certificate, or a"
" certificate issued by an authority that will validate .onion hostnames. "
"This should be a wildcard cert for the domain name given above (e.g. "
"\\*.example.com)."
msgstr ""

View file

@ -0,0 +1,92 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/index.rst:2
msgid "Introduction"
msgstr ""
#: ../../user/index.rst:4
msgid ""
"Censorship is the suppression of speech, public communication, or other "
"information. This may be done on the basis that such material is "
"considered objectionable, harmful, sensitive, or \"inconvenient\". "
"Regardless of the reasons for censorship, the technical measures taken to"
" implement it often look the same. The *Bypass Censorship* portal "
"provides a toolkit for circumventing censorship of Internet resources. "
"The circumvention methods available will often exploit either collateral "
"freedom, traffic obfuscation, or both in order to counter the measures "
"put in place by the censor."
msgstr ""
#: ../../user/index.rst:12
msgid "Collateral Freedom"
msgstr ""
#: ../../user/index.rst:14
msgid "*Used by:* :doc:`Web Mirrors <mirrors>`, :doc:`Tor Bridges <bridges>`"
msgstr ""
#: ../../user/index.rst:16
msgid ""
"\"Collateral freedom\" is an anti-censorship strategy that attempts to "
"make it economically prohibitive for censors to block an Internet "
"resource. The way in which a censor restricts access to resources will "
"require knowing which content to block and which to allow. It's "
"incredibly difficult to achieve accuracy with filtering as the Internet "
"is comprised of untagged free-form content that must be categorised at "
"speed. This results in either over-blocking or under-blocking, and "
"neither of these are desirable properties for the censor."
msgstr ""
#: ../../user/index.rst:23
msgid ""
"This can be exploited by circumvention systems by deploying solutions at "
"places that are \"too big to block\", like cloud providers. Either "
"encryption or constantly rotating identifiers are then used to prevent "
"censors from identifying requests for censored information that is hosted"
" among other content. This forces censors to either allow access to the "
"censored information or take down entire services."
msgstr ""
#: ../../user/index.rst:30
msgid "Traffic Obfuscation"
msgstr ""
#: ../../user/index.rst:32
msgid "*Used by:* :doc:`Tor Bridges <bridges>`"
msgstr ""
#: ../../user/index.rst:34
msgid ""
"\"Traffic Obfuscation\" is an anti-censorship strategy that attempts to "
"make it difficult to fingerprint traffic. This is more commonly used for "
"general censorship circumvention solutions rather than means of accessing"
" specific resources. There is a long tail of types of traffic on the "
"Internet, including critical infrastructure communications like "
"industrial control systems, point-of-sale systems and security systems. "
"This can be exploited by circumvention systems by making their traffic "
"look like one of these unclassified systems. Not being able to accurately"
" identify the traffic means that the cost of blocking access is unknown, "
"and so it is more difficult for a censor to justify the block."
msgstr ""

View file

@ -0,0 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 15:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pl\n"
"Language-Team: pl <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/lists.rst:2
msgid "Distribution Lists"
msgstr ""

View file

@ -0,0 +1,77 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/config.rst:3
msgid "Configuration File"
msgstr ""
#: ../../admin/api/config.rst:5
msgid ""
"The application uses a YAML configuration file to specify various "
"settings. The configuration file should follow the YAML syntax and "
"provide values for the following fields:"
msgstr ""
#: ../../admin/api/config.rst:7
msgid ""
"`DEFAULT_REDIRECTOR_DOMAIN`: The default domain name to use for "
"generating short links when no pool-specific redirector domain is "
"provided. If not specified, it defaults to an empty string."
msgstr ""
#: ../../admin/api/config.rst:8
msgid ""
"`MIRROR_COUNTRIES`: A list of country codes for which clients should be "
"redirected to a mirror server. If a client's IP address matches one of "
"the specified countries, they will be redirected. If not specified, "
"clients will always be redirected to a mirror server."
msgstr ""
#: ../../admin/api/config.rst:9
msgid ""
"`PUBLIC_KEY`: The public API key used for generating short links for "
"anonymous users. If not specified, it defaults to an empty string."
msgstr ""
#: ../../admin/api/config.rst:10
msgid ""
"`UPDATE_KEY`: The API key required for updating the application data via "
"the `/updt` endpoint. This key must be provided in the `Authorization` "
"header as a bearer token."
msgstr ""
#: ../../admin/api/config.rst:11
msgid ""
"`GEOIP_DATABASE` (optional): The file path to the GeoIP database used for"
" country lookup. If not specified, it defaults to "
"`/usr/share/GeoIP/GeoIP2-Country.mmdb`."
msgstr ""
#: ../../admin/api/config.rst:14
msgid "Example Configuration"
msgstr ""
#: ../../admin/api/config.rst:16
msgid "An example configuration file may look like this:"
msgstr ""

View file

@ -0,0 +1,136 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/index.rst:38
msgid "Contents:"
msgstr ""
#: ../../admin/api/index.rst:3
msgid "Short Link Redirector"
msgstr ""
#: ../../admin/api/index.rst:5
msgid ""
"Welcome to the documentation for the *Bypass Censorship's Short Link "
"Redirector* application. This documentation provides detailed information"
" about the features, components, and usage of the application. The Short "
"Link Redirector is a web application that allows users to generate short "
"links and direct mirror links for URLs."
msgstr ""
#: ../../admin/api/index.rst:8
msgid "Features"
msgstr ""
#: ../../admin/api/index.rst:10
msgid "The Short Link Redirector application offers the following features:"
msgstr ""
#: ../../admin/api/index.rst:12
msgid ""
"Short Link Generation: Users can generate short links for URLs, making "
"them easier to share and remember."
msgstr ""
#: ../../admin/api/index.rst:13
msgid ""
"Direct Mirror Links: Users can generate and discover direct mirror links "
"that are currently live."
msgstr ""
#: ../../admin/api/index.rst:14
msgid ""
"Country-based Redirect: The application can redirect users to mirror "
"servers based on their country, improving user experience."
msgstr ""
#: ../../admin/api/index.rst:15
msgid ""
"API Key Authentication: Users can authenticate their requests using API "
"keys, enabling access to mirrors in private resource pools."
msgstr ""
#: ../../admin/api/index.rst:16
msgid ""
"GeoIP Integration: The application optionally leverages GeoIP data to "
"perform country lookups for IP addresses."
msgstr ""
#: ../../admin/api/index.rst:19
msgid "Components"
msgstr ""
#: ../../admin/api/index.rst:21
msgid ""
"The Short Link Redirector application consists of the following main "
"components:"
msgstr ""
#: ../../admin/api/index.rst:23
msgid ""
"Flask Web Server: The web server that hosts the application and handles "
"incoming HTTP requests."
msgstr ""
#: ../../admin/api/index.rst:24
msgid ""
"SQLAlchemy: The ORM (Object-Relational Mapping) library used for "
"interacting with the database."
msgstr ""
#: ../../admin/api/index.rst:25
msgid ""
"GeoIP Database: The MaxMind GeoIP database that provides country "
"information for IP addresses."
msgstr ""
#: ../../admin/api/index.rst:26
msgid "Hashids: The library used for encoding and decoding the short link hashes."
msgstr ""
#: ../../admin/api/index.rst:29
msgid "Documentation Structure"
msgstr ""
#: ../../admin/api/index.rst:31
msgid "This documentation is structured into the following sections:"
msgstr ""
#: ../../admin/api/index.rst:33
msgid ""
":doc:`Installation <install>`: Provides instructions for installing and "
"setting up the Short Link Redirector application."
msgstr ""
#: ../../admin/api/index.rst:34
msgid ""
":doc:`Configuration <config>`: Explains the configuration options and how"
" to customize the application's behavior."
msgstr ""
#: ../../admin/api/index.rst:36
msgid ""
"We recommend reading through the documentation sequentially to gain a "
"comprehensive understanding of the application and its features."
msgstr ""

View file

@ -0,0 +1,115 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/api/install.rst:3
msgid "Installation"
msgstr ""
#: ../../admin/api/install.rst:5
msgid ""
"The application is intended to be deployed in AWS using the `bc-"
"redirector <https://registry.terraform.io/modules/sr2c/bc-"
"redirector/aws/latest>`_ Terraform module. This deployment is not managed"
" through the portal itself but may be managed alongside the IaC that "
"manages the deployment of the portal itself."
msgstr ""
#: ../../admin/api/install.rst:12
msgid "Deployment"
msgstr ""
#: ../../admin/api/install.rst:14
msgid ""
"The Terraform module takes care of setting up multiple entry-points to "
"the redirector allowing for per-pool redirector domains, and also "
"generating the necessary configuration file for the redirector. Once "
"deployed, the redirector will not require further manual configuration, "
"although the deployed EC2 instance will be accessible via AWS Systems "
"Manager Session Manager if required for debugging."
msgstr ""
#: ../../admin/api/install.rst:19
msgid "The following Terraform configuration shows an example using the module:"
msgstr ""
#: ../../admin/api/install.rst:47
msgid ""
"The `public_key` must match the API key of the public pool configured "
"within the portal. The `update_key` may must match the \"filename\" "
"configured for the distribution list below."
msgstr ""
#: ../../admin/api/install.rst:50
msgid ""
"The MaxMind account used will need to have at least a subscription for "
"the GeoIP2 Country database. A subscription for GeoIP2 City will include "
"the GeoIP2 Country database."
msgstr ""
#: ../../admin/api/install.rst:55
msgid "Data Updates"
msgstr ""
#: ../../admin/api/install.rst:57
msgid ""
"Once deployed, the redirector must learn about the available mirror "
"resources. This requires configuring a :doc:`distribution list "
"<../../user/lists>` inside the portal."
msgstr ""
#: ../../admin/api/install.rst:60
msgid "**Resource Pool**: any (ignored)"
msgstr ""
#: ../../admin/api/install.rst:61
msgid "**Provider**: HTTP POST"
msgstr ""
#: ../../admin/api/install.rst:62
msgid "**Distribution Method**: Redirector Data"
msgstr ""
#: ../../admin/api/install.rst:63
msgid "**Encoding**: JSON (Plain)"
msgstr ""
#: ../../admin/api/install.rst:64
msgid "**Description**: <*description of the redirector instance*>"
msgstr ""
#: ../../admin/api/install.rst:65
msgid "**Container**: \\https://<*redirector domain*>/updt"
msgstr ""
#: ../../admin/api/install.rst:66
msgid "**Git Branch/Region**: na"
msgstr ""
#: ../../admin/api/install.rst:67
msgid "**Role ARN**: <*blank*>"
msgstr ""
#: ../../admin/api/install.rst:68
msgid "**Filename**: <*update key*>"
msgstr ""

View file

@ -0,0 +1,41 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/conf.rst:2
msgid "Configuration File"
msgstr ""
#: ../../admin/conf.rst:4
msgid ""
"A file named ``config.yaml`` must exist. For specifics about the provider"
" configurations, see :doc:`External Services <external>`."
msgstr ""
#: ../../admin/conf.rst:8
msgid "Base Configuration"
msgstr ""
#: ../../admin/conf.rst:11
msgid "Template"
msgstr ""

View file

@ -0,0 +1,144 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/eotk.rst:2
msgid "Enterprise Onion Toolkit"
msgstr ""
#: ../../admin/eotk.rst:4
msgid ""
"When EOTK instances are deployed for a group, the following main AWS "
"resources are created:"
msgstr ""
#: ../../admin/eotk.rst:6
msgid "An EC2 instance in us-east-2"
msgstr ""
#: ../../admin/eotk.rst:7
msgid "An EC2 instance in eu-central-1"
msgstr ""
#: ../../admin/eotk.rst:8
msgid "A S3 bucket to hold nginx access logs"
msgstr ""
#: ../../admin/eotk.rst:10
msgid ""
"The EC2 instances are running Ubuntu 20.04 LTS and are configured with "
"`ssm-agent <https://docs.aws.amazon.com/systems-manager/latest/userguide"
"/ssm-agent.html>`_ and `unattended-upgrades "
"<https://wiki.debian.org/UnattendedUpgrades>`_."
msgstr ""
#: ../../admin/eotk.rst:13
msgid ""
"EOTK is automatically cloned at instance creation time from Alec Muffet's"
" `GitHub repository <https://github.com/alecmuffett/eotk>`_ to "
"``/home/ubuntu/eotk``. The script to automatically build and install all "
"dependencies is also executed at the instance creation time."
msgstr ""
#: ../../admin/eotk.rst:17
msgid ""
"For full details on the instance configuration, refer to the `cloud-init "
"user data <https://github.com/sr2c/terraform-aws-"
"eotk/blob/main/templates/user_data.yaml>`_."
msgstr ""
#: ../../admin/eotk.rst:21
msgid "Logging in to an instance"
msgstr ""
#: ../../admin/eotk.rst:24
msgid "Via the console"
msgstr ""
#: ../../admin/eotk.rst:26
msgid ""
"Using the AWS console, visit the `Session Manager <https://us-"
"east-2.console.aws.amazon.com/systems-manager/session-"
"manager/sessions?region=us-east-2>`_ in the Systems Manager service. If "
"using SSO, login before attempting to open the link."
msgstr ""
#: ../../admin/eotk.rst:33
msgid "Click \"Start Session\" to start a new session."
msgstr ""
#: ../../admin/eotk.rst:38
msgid ""
"Select the instance from the list, and click \"Start Session\" again. "
"Remember that the second instance will be found in the eu-central-1 "
"region."
msgstr ""
#: ../../admin/eotk.rst:44
msgid ""
"Use the following commands to get into the EOTK directory as the correct "
"user::"
msgstr ""
#: ../../admin/eotk.rst:50
msgid "Via the command line"
msgstr ""
#: ../../admin/eotk.rst:52
msgid "Begin by discovering the instance ID::"
msgstr ""
#: ../../admin/eotk.rst:56
msgid "Start an SSM session::"
msgstr ""
#: ../../admin/eotk.rst:60
msgid "To login with SSH via SSM, add the following to your ``~/.ssh/config``:"
msgstr ""
#: ../../admin/eotk.rst:64
msgid ""
"No user SSH public keys are provisioned to the instance. You will need to"
" add the public key you plan to use to the correct user's authorized_keys"
" file using a plain SSM session before attempting to use SSH."
msgstr ""
#: ../../admin/eotk.rst:72
msgid ""
"You can then login with SSH, but be sure to include environment variables"
" for your AWS region::"
msgstr ""
#: ../../admin/eotk.rst:76
msgid "This will also work for scp, rsync, etc."
msgstr ""
#: ../../admin/eotk.rst:79
msgid "Configuring EOTK"
msgstr ""
#: ../../admin/eotk.rst:81
msgid ""
"Refer to the `EOTK documentation "
"<https://github.com/alecmuffett/eotk/tree/master/docs.d>`_."
msgstr ""

View file

@ -0,0 +1,247 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/external.rst:2
msgid "External Services"
msgstr ""
#: ../../admin/external.rst:5
msgid "Overview"
msgstr ""
#: ../../admin/external.rst:7
msgid ""
"In order to deploy the circumvention resources, the following providers "
"can be used:"
msgstr ""
#: ../../admin/external.rst:10
msgid "Resource"
msgstr ""
#: ../../admin/external.rst:10 ../../admin/external.rst:25
msgid "AWS"
msgstr ""
#: ../../admin/external.rst:10
msgid "Azure"
msgstr ""
#: ../../admin/external.rst:10
msgid "Fastly"
msgstr ""
#: ../../admin/external.rst:10
msgid "Hetzner"
msgstr ""
#: ../../admin/external.rst:10
msgid "GandiCloud VPS"
msgstr ""
#: ../../admin/external.rst:10 ../../admin/external.rst:129
msgid "OVH"
msgstr ""
#: ../../admin/external.rst:12
msgid "Web Proxy"
msgstr ""
#: ../../admin/external.rst:12 ../../admin/external.rst:14
msgid "✅"
msgstr ""
#: ../../admin/external.rst:12 ../../admin/external.rst:14
msgid "❌"
msgstr ""
#: ../../admin/external.rst:14
msgid "Tor Bridge"
msgstr ""
#: ../../admin/external.rst:17
msgid "Circumvention resource lists can be distributed via:"
msgstr ""
#: ../../admin/external.rst:19
msgid "AWS S3"
msgstr ""
#: ../../admin/external.rst:20 ../../admin/external.rst:64
msgid "GitHub"
msgstr ""
#: ../../admin/external.rst:21 ../../admin/external.rst:96
msgid "GitLab"
msgstr ""
#: ../../admin/external.rst:22
msgid "HTTP POST"
msgstr ""
#: ../../admin/external.rst:27
msgid ""
"Configuring AWS will require an `IAM account "
"<https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html>`_"
" with programmatic access. As the portal may deploy resources using many "
"AWS services it is currently It is recommended that a dedicated account "
"is used for the deployement of portal managed resources. The dedicated "
"account may be part of an existing AWS organisation."
msgstr ""
#: ../../admin/external.rst:42
msgid "Route 53"
msgstr ""
#: ../../admin/external.rst:44
msgid ""
"Some resources that can be deployed via the portal, e.g. mirrors, rely on"
" DNS names to map internal connections. These DNS names are only used "
"within AWS and are never accessed directly by end users. A registered "
"domain must be used for this purpose."
msgstr ""
#: ../../admin/external.rst:48
msgid ""
"Once a domain name has been registered, `create a hosted zone "
"<https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html>`_"
" within Route 53. Ensure that the domain registrar is updated to point to"
" the Route 53 nameservers. Optionally, enable DNSSEC to improve the "
"security of the hosted zone. Add the domain name, including the "
"terminating period, to the configuration for the portal:"
msgstr ""
#: ../../admin/external.rst:61
msgid ""
"Do not create any other records on this domain manually as these may "
"conflict with names created by the portal."
msgstr ""
#: ../../admin/external.rst:66
msgid ""
"To configure GitHub, you will need a \"personal access token\". It is not"
" possible to restrict a token to specific repositories, so it is best to "
"create a `machine user <https://docs.github.com/en/developers/overview"
"/managing-deploy-keys#machine-users>`_ and then invite that user to only "
"the repositories that should be accessed to limit the impact of a token "
"disclosure."
msgstr ""
#: ../../admin/external.rst:73
msgid ""
"To create a token, visit the `New personal access token "
"<https://github.com/settings/tokens/new>`_ page of the GitHub settings. "
"Add a note so that you will be reminded of the purpose of this token when"
" you go to look at it later. The expiry can be set according to your "
"threat model. GitHub will `send an email warning "
"<https://github.blog/changelog/2021-07-26-expiration-options-for-"
"personal-access-tokens/>`_ before the token expires allowing you to "
"generate a new token and update your configuration."
msgstr ""
#: ../../admin/external.rst:81
msgid ""
"Your access token will need the \"repo\" OAuth scope. If you are only "
"using public repos, you could limit the token to use the \"public_repo\" "
"scope."
msgstr ""
#: ../../admin/external.rst:84 ../../admin/external.rst:117
msgid "Once you've generated your token, you can add it to your ``config.yaml``:"
msgstr ""
#: ../../admin/external.rst:92 ../../admin/external.rst:125
msgid ""
"The organisation, repository, filename and formats are all configured via"
" the portal interface under :doc:`mirror lists <../user/lists>`."
msgstr ""
#: ../../admin/external.rst:98
msgid ""
"To configure GitLab, you will need an access token. GitLab has a variety "
"of scoped access tokens, including `personal "
"<https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html>`_, "
"`group "
"<https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html>`_"
" and `project "
"<https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html>`_"
" access tokens. Create the type of token that is suitable according to "
"your threat model."
msgstr ""
#: ../../admin/external.rst:107
msgid ""
"Add a name so that you will be reminded of the purpose of this token when"
" you go to look at it later. The expiry can be set according to your "
"threat model. GitLab will send an email warning to token owners 7 days "
"before expiry allowing you to generate a new token and update your "
"configuration."
msgstr ""
#: ../../admin/external.rst:113
msgid ""
"Your access token will need the \"api\" scope. Unforunately the "
"\"write_repository\" scope only works for Git-over-HTTPS, but the portal "
"uses the API to update mirror lists in GitLab."
msgstr ""
#: ../../admin/external.rst:131
msgid ""
"OVH requires two different sets of credentials. The first is for the "
"OpenStack Horizon API, and the second for the OVH API."
msgstr ""
#: ../../admin/external.rst:134
msgid ""
"OVH provides documentation on creating the OpenStack Horizon user `here "
"<https://docs.ovh.com/gb/en/public-cloud/creation-and-deletion-of-"
"openstack-user/#creating-an-openstack-user>`_. As the portal will manage "
"all resources within your OVH project, it is fine to allow for the user "
"to have \"Administrator\" access."
msgstr ""
#: ../../admin/external.rst:139
msgid ""
"Once you have the username and password, you can complete the first "
"fields of the configuration:"
msgstr ""
#: ../../admin/external.rst:149
msgid ""
"You can find the tenant ID in the top-left corner of the OVH cloud "
"dashboard, or in the `OpenStack RC file <https://docs.ovh.com/gb/en"
"/public-cloud/set-openstack-environment-variables/>`_ available for "
"download in the Horizon interface."
msgstr ""
#: ../../admin/external.rst:157
msgid ""
"Finally, you'll need to create credentials for the OVH API. Go to the "
"`key creation page <https://eu.api.ovh.com/createToken/>`_ and add an "
"application name and description to remind you later what the token is "
"for. Set a validity (expiry) according to your threat model. This token "
"is only used for read-only access, so it is sufficient to allow only GET "
"requests. Place an asterisk (*) in the text box to the right of GET so "
"that API paths are allowed."
msgstr ""

View file

@ -0,0 +1,54 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../admin/install.rst:2
msgid "Installation"
msgstr ""
#: ../../admin/install.rst:4
msgid ""
"The current installation method is to use a Python virtual envrionment. "
"Many of the dependencies needed by the portal can be installed from PyPI,"
" although some dependencies will need to be satisfied in other ways:"
msgstr ""
#: ../../admin/install.rst:8
msgid "A cron daemon - probably available in your system package manager"
msgstr ""
#: ../../admin/install.rst:9
msgid "Terraform binary - static binaries available from Hashicorp"
msgstr ""
#: ../../admin/install.rst:10
msgid "PostgreSQL server - probably available in your system package manager"
msgstr ""
#: ../../admin/install.rst:12
msgid "Create and activate a virtual environment with:"
msgstr ""
#: ../../admin/install.rst:20
msgid "You will need to install an entry into the portal user's crontab::"
msgstr ""

View file

@ -0,0 +1,114 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../index.rst:7
msgid "User Guide"
msgstr "Ghidul utilizatorului"
#: ../../index.rst:18
msgid "Publisher Guide"
msgstr "Ghidul editorului"
#: ../../index.rst:24
msgid "Admin Guide"
msgstr "Ghidul administratorului"
#: ../../index.rst:34
msgid "Technical Documentation"
msgstr "Documentație tehnică"
#: ../../index.rst:2
msgid "Documentation Home"
msgstr "Pagina principală a documentației"
#: ../../index.rst:45
msgid "Indices and tables"
msgstr "Indici și tabele"
#: ../../index.rst:47
msgid ":ref:`genindex`"
msgstr ":ref:`genindex`"
#: ../../index.rst:48
msgid ":ref:`modindex`"
msgstr ":ref:`modindex`"
#: ../../index.rst:49
msgid ":ref:`search`"
msgstr ":ref:`search`"
#: ../../index.rst:52
msgid "Maintained by"
msgstr "Întreținut de"
#: ../../index.rst:55 ../../index.rst:62
msgid "|logo-gp|"
msgstr "|logo-gp|"
#: ../../index.rst:76
msgid "Guardian Project"
msgstr "Guardian Project"
#: ../../index.rst:55 ../../index.rst:62
msgid "`Guardian Project <https://guardianproject.info>`_"
msgstr "`Guardian Project <https://guardianproject.info>`_"
#: ../../index.rst:59
msgid "Developed by"
msgstr "Dezvoltat de"
#: ../../index.rst:64
msgid "|logo-tor|"
msgstr "|logo-tor|"
#: ../../index.rst:80
msgid "Tor Project"
msgstr "Tor Project"
#: ../../index.rst:64
msgid "`Tor Project <https://www.torproject.org>`_"
msgstr "`Tor Project <https://www.torproject.org>`_"
#: ../../index.rst:68
msgid "Supported by [*]_"
msgstr "Susținut de [*]_"
#: ../../index.rst:71
msgid "|logo-otf|"
msgstr "|logo-otf|"
#: ../../index.rst:84
msgid "Open Technology Fund"
msgstr "Open Technology Fund"
#: ../../index.rst:71
msgid "`Open Technology Fund <https://opentech.fund/>`_"
msgstr "`Open Technology Fund <https://opentech.fund/>`_"
#: ../../index.rst:89
msgid "Footnotes"
msgstr "Note de subsol"
#: ../../index.rst:90
msgid "Support received does not imply endorsement."
msgstr "Sprijinul primit nu implică susținerea."

View file

@ -0,0 +1,143 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../publisher/api.rst:3
msgid "Publisher API"
msgstr ""
#: ../../<openapi>:1
msgid "**Retrieve information about the authenticated user's pool**"
msgstr ""
#: ../../publisher/api.rst
msgid "Query Parameters"
msgstr ""
#: ../../<openapi>:1
msgid "The API key of the pool. If not provided, the public API key is used."
msgstr ""
#: ../../<openapi>:1
msgid "**Example request:**"
msgstr ""
#: ../../publisher/api.rst
msgid "Status Codes"
msgstr ""
#: ../../<openapi>:1
msgid ""
"Success **Example response:** .. sourcecode:: http HTTP/1.1 200 OK"
" Content-Type: application/json {}"
msgstr ""
#: ../../<openapi>:1
msgid "Success"
msgstr ""
#: ../../<openapi>:1
msgid "**Example response:**"
msgstr ""
#: ../../<openapi>:1
msgid "Invalid API key"
msgstr ""
#: ../../<openapi>:1
msgid "**Generate a circumvention link for a specific resource**"
msgstr ""
#: ../../<openapi>:1
msgid "The URL for which a circumvention link needs to be generated. (Required)"
msgstr ""
#: ../../<openapi>:1
msgid ""
"The type of link to generate. Valid values are \"live\", \"short\", or "
"\"snapshot\". If not provided, \"direct\" is used."
msgstr ""
#: ../../<openapi>:1
msgid ""
"The duration that a snapshot will remain published for. Valid values are "
"\"long\" and \"short\". If not provided, \"short\" is used."
msgstr ""
#: ../../<openapi>:1
msgid "Defines the footer text to be used when publishing a snapshot."
msgstr ""
#: ../../<openapi>:1
msgid "Defines the footer link to be used when publishing a snapshot."
msgstr ""
#: ../../<openapi>:1
msgid "Resource not on a supported domain"
msgstr ""
#: ../../<openapi>:1
msgid "No live mirror exists for the resource"
msgstr ""
#: ../../<openapi>:1
msgid "Could not generate a snapshot for the resource"
msgstr ""
#: ../../<openapi>:1
msgid "**Redirect to the live mirror associated with the given hash**"
msgstr ""
#: ../../publisher/api.rst
msgid "Parameters"
msgstr ""
#: ../../<openapi>:1
msgid "The hash associated with the short link"
msgstr ""
#: ../../<openapi>:1
msgid "Always redirect to a mirror and ignore GeoIP information."
msgstr ""
#: ../../<openapi>:1
msgid ""
"Override the client IP address and base the GeoIP lookup on this IP "
"address instead."
msgstr ""
#: ../../<openapi>:1
msgid "Redirects the client to the original URL"
msgstr ""
#: ../../<openapi>:1
msgid "The hash is invalid or not found"
msgstr ""
#: ../../publisher/api.rst
msgid "Response Headers"
msgstr ""
#: ../../<openapi>:1
msgid "The URL of the live mirror"
msgstr ""

View file

@ -0,0 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 14:55+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../_templates/sidebar/ethical-ads.html:2
msgid "Translations"
msgstr ""

View file

@ -0,0 +1,160 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/automation.rst:2
msgid "Automation Plugins"
msgstr ""
#: ../../tech/automation.rst:5
msgid "Base"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:1 of
msgid ""
"Write a Jinja2 template to the working directory for use by an automation"
" module."
msgstr ""
#: ../../tech/automation.rst
msgid "Parameters"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:3 of
msgid "filename to write to"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:4 of
msgid "Jinja2 template"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:5 of
msgid "variables for use with the template"
msgstr ""
#: ../../tech/automation.rst
msgid "Returns"
msgstr ""
#: app.terraform.BaseAutomation.tmpl_write:6
#: app.terraform.terraform.TerraformAutomation.tf_posthook:7 of
msgid "None"
msgstr ""
#: ../../docstring app.terraform.BaseAutomation.working_dir:1 of
msgid ""
"The short name of the automation provider. This is used as an opaque "
"token throughout the portal system."
msgstr ""
#: ../../tech/automation.rst:12
msgid "Terraform"
msgstr ""
#: app.terraform.terraform.TerraformAutomation:1 of
msgid ""
"An abstract class to be extended by automation plugins using Terraform "
"providers to deploy resources."
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.always_refresh:1
#: of
msgid "Force refresh even when not a full run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:1 of
msgid "Runs the Terraform automation module. The run will follow these steps:"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:3 of
msgid "The :func:`tf_prehook` hook is run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:4 of
msgid ""
"Generate a Terraform configuration and write it to a single ``main.tf`` "
"file in the working directory (see :func:`working_directory "
"<app.terraform.BaseAutomation.working_directory>`)."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:6 of
msgid "Run ``terraform init``."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:7 of
msgid ""
"Run ``terraform apply``. This will only include a refresh if *full* is "
"**True**. The apply will wait up to *lock_timeout* minutes for a lock to "
"be released before failing. Up to *parallelism* requests will be sent to "
"remote APIs concurrently."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:10 of
msgid "The :func:`tf_posthook` hook is run."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:11 of
msgid "The logs from the apply step are returned as a string."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:13 of
msgid "include a Terraform refresh in the automation module run"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.automate:14 of
msgid "success status and Terraform apply logs"
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.parallelism:1 of
msgid "Default parallelism for remote API calls."
msgstr ""
#: ../../docstring app.terraform.terraform.TerraformAutomation.provider:1 of
msgid "Short name for the provider used by this module."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:1 of
msgid ""
"This hook function is called as part of normal automation, after the "
"completion of :func:`tf_apply`."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:4
#: app.terraform.terraform.TerraformAutomation.tf_prehook:5 of
msgid "The default, if not overridden by a subclass, is to do nothing."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_posthook:6 of
msgid "the returned value of :func:`tf_prehook`"
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_prehook:1 of
msgid ""
"This hook function is called as part of normal automation, before "
"generating the terraform configuration file. The return value will be "
"passed to :func:`tf_posthook` but is otherwise ignored."
msgstr ""
#: app.terraform.terraform.TerraformAutomation.tf_prehook:7 of
msgid "state that is useful to :func:`tf_posthook`, if required"
msgstr ""

View file

@ -0,0 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/conf.rst:2
msgid "Configuration Objects"
msgstr ""

View file

@ -0,0 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/index.rst:2
msgid "Technical Overview"
msgstr ""

View file

@ -0,0 +1,64 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../tech/resource.rst:2
msgid "Resource Objects"
msgstr ""
#: app.models.AbstractResource.deprecate:1 of
msgid ""
"Marks the resource as deprecated. In the event that the resource was "
"already deprecated, no change will be recorded and the function will "
"return False."
msgstr ""
#: ../../tech/resource.rst
msgid "Parameters"
msgstr ""
#: app.models.AbstractResource.deprecate:4 of
msgid "an opaque string that records the deprecation reason"
msgstr ""
#: app.models.AbstractResource.deprecate:5 of
msgid ""
"metadata associated with the deprecation reason, such as the "
"circumstances in which censorship was detected"
msgstr ""
#: ../../tech/resource.rst
msgid "Returns"
msgstr ""
#: app.models.AbstractResource.deprecate:7 of
msgid "if the proxy was deprecated"
msgstr ""
#: app.models.AbstractResource.destroy:1 of
msgid "Marks the resource for destruction."
msgstr ""
#: app.models.AbstractResource.destroy:3 of
msgid "None"
msgstr ""

View file

@ -0,0 +1,53 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/automation.rst:2
msgid "Automation"
msgstr ""
#: ../../user/automation.rst:4
msgid ""
"When changes are made in the portal, the effects usually do not take "
"place immediately, but rather are stored in the database for an "
"automation job to action shortly after. There are many automation jobs "
"that run in the portal, and you can find an overview of them on the "
"\"Automation\" page, under \"Monitoring\" in the sidebar:"
msgstr ""
#: ../../user/automation.rst:12
msgid ""
"This page lists all the automation jobs, their current status, if they "
"are enabled, their last, and their next run times. The last run time is "
"updated after the completion of a run, and the next run time indicates "
"the earliest time that a job may be started by the scheduler, although it"
" may not start for up to a minute after this time."
msgstr ""
#: ../../user/automation.rst:17
msgid ""
"Once a task has started, the status will change from idle (🕰️) to running"
" (🏃). If the run completes successfully, it will revert to idle again "
"until the next run. If an error occurred (💥) then the module will "
"automatically be disabled to allow for an administrator to investigate."
msgstr ""

View file

@ -0,0 +1,288 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/bridges.rst:2
msgid "Tor Bridges"
msgstr ""
#: ../../user/bridges.rst:5
msgid "Background"
msgstr ""
#: ../../user/bridges.rst:7
msgid ""
"When someone uses the Tor network to browse the internet, their traffic "
"is routed through a series of relays, making it difficult to trace the "
"origin of the traffic or the content being accessed. However, in some "
"countries or networks, access to the Tor network is blocked, making it "
"impossible to use the network."
msgstr ""
#: ../../user/bridges.rst:11
msgid ""
"A Tor bridge, a special type of node on the Tor network that is not "
"listed in the public directory of nodes, is designed to help users in "
"these situations. Instead of connecting directly to the Tor network, a "
"user can connect to a Tor bridge first. The bridge will then forward the "
"user's traffic to the Tor network, effectively bypassing any censorship "
"or blocking. This makes it harder for governments and other organizations"
" to block access to the Tor network, because users can still connect to "
"the network through these unlisted bridges."
msgstr ""
#: ../../user/bridges.rst:19
msgid "Pluggable Transports"
msgstr ""
#: ../../user/bridges.rst:21
msgid ""
"A key feature of a Tor bridge is its \"obfuscation\" capability, provided"
" by pluggable transports. This means that the bridge's traffic is "
"disguised in a way that makes it difficult for censors to detect that it "
"is Tor traffic through deep packet inspection (DPI). For example, the "
"bridge may use a different network protocol or port than standard Tor "
"traffic, making it harder for censors to identify and block it."
msgstr ""
#: ../../user/bridges.rst:27
msgid ""
"A pluggable transport allows users to obfuscate their Tor traffic using a"
" variety of different protocols and techniques. Different pluggable "
"transports will have different levels of success in different censorship "
"environments, and new techniques are always being designed and studied. "
"The portal currently only supports deploying bridges using the obfs4proxy"
" pluggable transport."
msgstr ""
#: ../../user/bridges.rst:33
msgid "Distribution Methods"
msgstr ""
#: ../../user/bridges.rst:35
msgid ""
"`BridgeDB <https://bridges.torproject.org/>`_, and its upcoming "
"replacement rdsys, is a service used by the Tor network to distribute "
"bridge addresses to users who need them. If you're running bridges for "
"the general public to use then BridgeDB will help users get hold of the "
"details for your bridges. Unless you have specific requirements, you can "
"let BridgeDB determine the best distribution method for your bridge by "
"choosing the \"Any\" method."
msgstr ""
#: ../../user/bridges.rst:42
msgid ""
"Within each distribution method the bridges are further split up into "
"*pools* (a concept borrowed by the portal too, see: *Resource Pools*). In"
" some countries or networks, censors may attempt to block all known "
"bridge addresses associated with the Tor network. Depending on criteria "
"such as geography, your ISP, and other secret factors, each user request "
"for a bridge is mapped to one of these pools. The aim is to prevent any "
"censor from being able to discover all of the bridges, leaving bridges "
"unblocked for other legitimate users."
msgstr ""
#: ../../user/bridges.rst:49
msgid ""
"If you already have a channel to your users then you should select the "
"\"None\" BridgeDB distribution method to ensure that your bridges remain "
"private and only for use by your community."
msgstr ""
#: ../../user/bridges.rst:53
msgid "Managing Configurations"
msgstr ""
#: ../../user/bridges.rst:55
msgid ""
"As with other circumvention resources, the dashboard takes the approach "
"of managing collections of resources that are uniformly configured and "
"expendable. For this reason the only configuration that can be performed "
"is at a high level with the management of individual resources taking "
"place through the automation subsystem."
msgstr ""
#: ../../user/bridges.rst:59
msgid ""
"Bridges will be deployed to all available cloud providers, although you "
"can disable providers by setting a zero instance limit within the Cloud "
"Account configuration."
msgstr ""
#: ../../user/bridges.rst:62
msgid ""
"Once your administrator has provided you access to the portal, you can "
"begin to configure your Tor Bridge deployments. To get started, select "
"\"Tor Bridges\" under \"Configuration\" from the menu on the left hand "
"side. If you are using a mobile device, you may need to click the "
"hamburger icon at the top of the screen to open the menu."
msgstr ""
#: ../../user/bridges.rst:70
msgid "New Configuration"
msgstr ""
#: ../../user/bridges.rst:72
msgid ""
"To create a new configuration, click \"Create new configuration\" at the "
"top of the configuration list. This will present you with the new "
"configuration form:"
msgstr ""
#: ../../user/bridges.rst:79
msgid "Distribution Method"
msgstr ""
#: ../../user/bridges.rst:81
msgid ""
"The distribution method for `BridgeDB "
"<https://bridges.torproject.org/>`_. Unless you have specific "
"requirements you will likely choose either \"Any\" to allow for BridgeDB "
"to allocate the bridge to where it is most needed, or \"None\" to have a "
"bridge that is not distributed by BridgeDB for you to distribute directly"
" to the end-user via another channel."
msgstr ""
#: ../../user/bridges.rst:87
msgid "Description"
msgstr ""
#: ../../user/bridges.rst:89
msgid "A free-form text description to help identify the collection."
msgstr ""
#: ../../user/bridges.rst:92
msgid "Pool"
msgstr ""
#: ../../user/bridges.rst:94
msgid ""
"The Resource Pool the bridges in this configuration belong to. If you "
"distribute your bridges by Distribution List within the portal, this will"
" allow you to split up which bridges are distributed."
msgstr ""
#: ../../user/bridges.rst:99
msgid "Target Number"
msgstr ""
#: ../../user/bridges.rst:101
msgid ""
"The target number of active bridges to have deployed at any time, "
"excluding deprecated bridges. When editing, increasing or decreasing this"
" number will cause new bridges to be created, or existing bridges to be "
"destroyed, so that the number deployed is less than the maximum number "
"while having as close as possible to the target number of non-deprecated "
"bridges."
msgstr ""
#: ../../user/bridges.rst:107
msgid "Maximum Number"
msgstr ""
#: ../../user/bridges.rst:109
msgid "The maximum number of bridges to deploy including deprecated bridges."
msgstr ""
#: ../../user/bridges.rst:112
msgid "Expiry Timer"
msgstr ""
#: ../../user/bridges.rst:114
msgid ""
"The number of hours to wait after a bridge is deprecated before its "
"destruction. It is not advisable to set this number to zero as this does "
"not allow any churn of IP address usage within the cloud provider and you"
" are likely to get the same IP address back for the new bridge, leading "
"it to arriving dead on arrival. It is also not advisable to set this "
"number too high as this will result in cost incurred for a bridge that "
"may not be able to be used. Remember that just because the bridge is "
"blocked in one network, it may remain accessible from other networks, and"
" so it is not instantly worthless when the first block is detected (with "
"the exception perhaps of very specific community use cases)."
msgstr ""
#: ../../user/bridges.rst:122
msgid "Provider Allocation Method"
msgstr ""
#: ../../user/bridges.rst:124
msgid "Two provider allocation methods have been implemented:"
msgstr ""
#: ../../user/bridges.rst:126
msgid ""
"Use cheapest provider first - based on the prevailing cost of a Tor "
"bridge at each provider, deploy on the cheapest provider first until the "
"quota is fully utilised, and then proceed to deploy on other providers in"
" order of cost."
msgstr ""
#: ../../user/bridges.rst:128
msgid ""
"Use providers randomly - each bridge deployed will go to a random choice "
"of cloud provider (RNG is not cryptographic)."
msgstr ""
#: ../../user/bridges.rst:131
msgid "Edit Configuration"
msgstr ""
#: ../../user/bridges.rst:136
msgid ""
"See the \"New Configuration\" section above for the descriptions of each "
"field."
msgstr ""
#: ../../user/bridges.rst:138
msgid ""
"Once a configuration has been created, the Resource Pool and Distribution"
" Method may not be modified. This is because the bridges may already have"
" been distributed by some method, and rather than reallocating the "
"existing bridges to a new Distribution Method or Resource Pool it would "
"be more effective to destroy the configuration and then create a new "
"configuration with new bridges for those new users."
msgstr ""
#: ../../user/bridges.rst:144
msgid "Destroy Configuration"
msgstr ""
#: ../../user/bridges.rst:149
msgid ""
"When destroying a configuration, the bridges deployed for that "
"configuration will be automatically destroyed with it."
msgstr ""
#: ../../user/bridges.rst:152
msgid "Bridge Rotation"
msgstr ""
#: ../../user/bridges.rst:157
msgid ""
"If not using an automated block detection and replacement system, bridges"
" can be manually replaced as needed. When viewing the bridge list, either"
" while editing the configuration or the full list of bridges, select "
"\"Mark as blocked\". The bridge will be replaced on the next automation "
"run."
msgstr ""

View file

@ -0,0 +1,185 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/eotk.rst:2
msgid "Enterprise Onion Toolkit"
msgstr ""
#: ../../user/eotk.rst:4
msgid ""
"Tor onion services, also known as hidden services, are websites that can "
"be accessed through the Tor network. These services are useful for "
"publishers because they allow them to host their content on the internet "
"without revealing their physical location or IP address. This can provide"
" a greater level of privacy and security for both the publisher and the "
"users accessing the content."
msgstr ""
#: ../../user/eotk.rst:9
msgid ""
"Because Tor onion services are accessed through the Tor network, they are"
" much more difficult to block or censor than regular websites. This is "
"because the connection between the user and the website is encrypted and "
"routed through multiple nodes on the network, making it difficult for "
"anyone to determine the source or destination of the traffic. This means "
"that even if one node on the network is blocked, the traffic can still be"
" routed through other nodes to reach the website."
msgstr ""
#: ../../user/eotk.rst:16
msgid ""
"To deploy an Onion service, you first need to deploy EOTK instances for "
"the related origin group, and then configure the individual Onion "
"services that will be served by those EOTK instances."
msgstr ""
#: ../../user/eotk.rst:19
msgid ""
"Once your administrator has provided you access to the portal, you can "
"begin to configure your onion service deployments. To get started, select"
" \"Groups\" under \"Configuration\" from the menu on the left hand side. "
"If you are using a mobile device, you may need to click the hamburger "
"icon at the top of the screen to open the menu."
msgstr ""
#: ../../user/eotk.rst:26
msgid ""
"You will see a ✅ or ❌ in the \"EOTK\" column for the group to show "
"whether or not EOTK instances are enabled for that group."
msgstr ""
#: ../../user/eotk.rst:30
msgid "Creating a new group"
msgstr ""
#: ../../user/eotk.rst:32
msgid ""
"If the group you would like to use EOTK for does not yet exist, create a "
"new group by clicking the \"Create new group\" button."
msgstr ""
#: ../../user/eotk.rst:39
msgid "Short Name"
msgstr ""
#: ../../user/eotk.rst:41
msgid ""
"This must be a unique short name for the group. It needs to be short. No "
"more than 4-5 characters."
msgstr ""
#: ../../user/eotk.rst:44 ../../user/eotk.rst:62 ../../user/eotk.rst:88
msgid "Description"
msgstr ""
#: ../../user/eotk.rst:46 ../../user/eotk.rst:64
msgid "A free-form description for the group."
msgstr ""
#: ../../user/eotk.rst:49 ../../user/eotk.rst:67
msgid "Deploy EOTK instances"
msgstr ""
#: ../../user/eotk.rst:51 ../../user/eotk.rst:69
msgid "Tick this checkbox to deploy EOTK instances for this group."
msgstr ""
#: ../../user/eotk.rst:54
msgid "Adding EOTK to an existing group"
msgstr ""
#: ../../user/eotk.rst:56
msgid "Click \"View/Edit\" next to the group that you'd like to edit."
msgstr ""
#: ../../user/eotk.rst:72
msgid "Managing Onion services"
msgstr ""
#: ../../user/eotk.rst:74
msgid ""
"To create a new Onion service, click \"Create new onion service\" at the "
"top of the list page. This will present you with the new onion service "
"form:"
msgstr ""
#: ../../user/eotk.rst:81
msgid "Domain Name"
msgstr ""
#: ../../user/eotk.rst:83
msgid ""
"The base origin domain name that the Onion service will be for. This "
"should be the common domain name of all the subdomains you want to serve "
"on the Onion service, not including any subdomain (e.g. example.com not "
"www.example.com)."
msgstr ""
#: ../../user/eotk.rst:90
msgid "A free-form text description to help identify the Onion service."
msgstr ""
#: ../../user/eotk.rst:93
msgid "Onion Private Key"
msgstr ""
#: ../../user/eotk.rst:95
msgid ""
"The private key for the Onion service. This could be generated by ``tor``"
" or by a tool such as `mkp224o <https://github.com/cathugger/mkp224o>`_."
msgstr ""
#: ../../user/eotk.rst:99
msgid "Onion Public Key"
msgstr ""
#: ../../user/eotk.rst:101
msgid ""
"The corresponding public key. The Onion hostname will be derived from the"
" public key, however no checks are made to ensure that the public key is "
"the correct key to correspond to the private key."
msgstr ""
#: ../../user/eotk.rst:105
msgid "TLS Private Key (PEM format)"
msgstr ""
#: ../../user/eotk.rst:107
msgid ""
"The PEM formatted TLS private key. If not specified, the self-signed "
"certificates generated by EOTK will be used. Beware that in that case, "
"each EOTK instance will have different TLS keys and certificates."
msgstr ""
#: ../../user/eotk.rst:111
msgid "TLS Certificate (PEM format)"
msgstr ""
#: ../../user/eotk.rst:113
msgid ""
"The PEM formatted TLS certificate. Either a self-signed certificate, or a"
" certificate issued by an authority that will validate .onion hostnames. "
"This should be a wildcard cert for the domain name given above (e.g. "
"\\*.example.com)."
msgstr ""

View file

@ -0,0 +1,92 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/index.rst:2
msgid "Introduction"
msgstr ""
#: ../../user/index.rst:4
msgid ""
"Censorship is the suppression of speech, public communication, or other "
"information. This may be done on the basis that such material is "
"considered objectionable, harmful, sensitive, or \"inconvenient\". "
"Regardless of the reasons for censorship, the technical measures taken to"
" implement it often look the same. The *Bypass Censorship* portal "
"provides a toolkit for circumventing censorship of Internet resources. "
"The circumvention methods available will often exploit either collateral "
"freedom, traffic obfuscation, or both in order to counter the measures "
"put in place by the censor."
msgstr ""
#: ../../user/index.rst:12
msgid "Collateral Freedom"
msgstr ""
#: ../../user/index.rst:14
msgid "*Used by:* :doc:`Web Mirrors <mirrors>`, :doc:`Tor Bridges <bridges>`"
msgstr ""
#: ../../user/index.rst:16
msgid ""
"\"Collateral freedom\" is an anti-censorship strategy that attempts to "
"make it economically prohibitive for censors to block an Internet "
"resource. The way in which a censor restricts access to resources will "
"require knowing which content to block and which to allow. It's "
"incredibly difficult to achieve accuracy with filtering as the Internet "
"is comprised of untagged free-form content that must be categorised at "
"speed. This results in either over-blocking or under-blocking, and "
"neither of these are desirable properties for the censor."
msgstr ""
#: ../../user/index.rst:23
msgid ""
"This can be exploited by circumvention systems by deploying solutions at "
"places that are \"too big to block\", like cloud providers. Either "
"encryption or constantly rotating identifiers are then used to prevent "
"censors from identifying requests for censored information that is hosted"
" among other content. This forces censors to either allow access to the "
"censored information or take down entire services."
msgstr ""
#: ../../user/index.rst:30
msgid "Traffic Obfuscation"
msgstr ""
#: ../../user/index.rst:32
msgid "*Used by:* :doc:`Tor Bridges <bridges>`"
msgstr ""
#: ../../user/index.rst:34
msgid ""
"\"Traffic Obfuscation\" is an anti-censorship strategy that attempts to "
"make it difficult to fingerprint traffic. This is more commonly used for "
"general censorship circumvention solutions rather than means of accessing"
" specific resources. There is a long tail of types of traffic on the "
"Internet, including critical infrastructure communications like "
"industrial control systems, point-of-sale systems and security systems. "
"This can be exploited by circumvention systems by making their traffic "
"look like one of these unclassified systems. Not being able to accurately"
" identify the traffic means that the cost of blocking access is unknown, "
"and so it is more difficult for a censor to justify the block."
msgstr ""

View file

@ -0,0 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/lists.rst:2
msgid "Distribution Lists"
msgstr ""

View file

@ -0,0 +1,188 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021-202r SR2 Communications Limited
# This file is distributed under the same license as the Bypass Censorship
# Portal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bypass Censorship Portal \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-05 11:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../user/mirrors.rst:2
msgid "Web Mirrors"
msgstr ""
#: ../../user/mirrors.rst:5
msgid "Background"
msgstr ""
#: ../../user/mirrors.rst:7
msgid ""
"A web mirror can help users by providing alternate URLs to access "
"censored resources, allowing them to bypass technical censorship and "
"access information that may be otherwise unavailable. Web proxies work by"
" forwarding requests to the original website, and providing a different "
"URL to access that content. By accessing the web proxy URL, users can "
"access the same content that would be blocked by censors if accessed "
"through the original website's URL."
msgstr ""
#: ../../user/mirrors.rst:11
msgid ""
"Web mirrors also use frequently changing URLs to evade censorship, making"
" it more difficult for censors to block access to the content. This "
"assumption of a limited lifetime is built-in to the system, allowing for "
"automated block detection to trigger the deployment of new URLs, and for "
"the :doc:`distribution lists <lists>` to allow applications and end-users"
" to discover new URLs."
msgstr ""
#: ../../user/mirrors.rst:16
msgid ""
"Additionally, web proxies can be accessed via a normal web browser, "
"making them easily accessible to users without requiring any special "
"software or technical knowledge."
msgstr ""
#: ../../user/mirrors.rst:19
msgid "Architecture"
msgstr ""
#: ../../user/mirrors.rst:21
msgid ""
"Before configuring any web origins to create mirrors, you must first "
"configure an origin group. The group is used to organise larger numbers "
"of web origins so that mirrors can be created for them with a shared "
"configuration. The shared configuration will include which pools will "
"require mirrors for the origins."
msgstr ""
#: ../../user/mirrors.rst:25
msgid ""
"For each configured origin group, a smart proxy instance will be created "
"at each provider where proxies are deployed. This instance runs the "
"active proxy that will rewrite URLs in responses from the origin "
"webserver to ensure that all resources are loaded via the mirrors. Some "
"providers, e.g. Fastly, do not require an instance as they already "
"provide the means for URL re-writing in their standard functionality."
msgstr ""
#: ../../user/mirrors.rst:29
msgid "Web origins represent the source website that has been blocked."
msgstr ""
#: ../../user/mirrors.rst:32
msgid "Web Origins"
msgstr ""
#: ../../user/mirrors.rst:35
msgid "Rate Limiting"
msgstr ""
#: ../../user/mirrors.rst:37
msgid ""
"CDNs (Content Delivery Networks) can impose rate limiting on websites to "
"ensure that the network resources are efficiently utilized, to protect "
"the websites from DDoS (Distributed Denial of Service) attacks and to "
"maintain the quality of service for all the websites using the CDN."
msgstr ""
#: ../../user/mirrors.rst:41
msgid ""
"These rate limits will be sized according to the expected rate of "
"requests from an average user, however the mirror system is a bottleneck "
"that aggregates requests from multiple users and passes these on to the "
"original CDN. When a single system is used to send a large number of "
"requests to a CDN like this, the CDN may interpret this as a denial of "
"service (DoS) attack and prevent access to the website."
msgstr ""
#: ../../user/mirrors.rst:46
msgid ""
"Deploying mirrors for websites hosted on CDNs will require co-operation "
"from the CDN provider. If you find that mirrors are producing many \"Rate"
" Limited Exceeded\" or \"Access Denied\" errors then you may be suffering"
" from this problem. Ask your administrator to configure the `Bypass-Rate-"
"Limit-Token` header in the portal and at the CDN to disable the rate "
"limiting for requests originating via the mirrors."
msgstr ""
#: ../../user/mirrors.rst:52
msgid "New Web Origin"
msgstr ""
#: ../../user/mirrors.rst:54
msgid ""
"To create a new web origin, click \"Create new origin\" at the top of the"
" list. This will present you with the new origin form:"
msgstr ""
#: ../../user/mirrors.rst:61
msgid "Domain Name"
msgstr ""
#: ../../user/mirrors.rst:63
msgid ""
"Enter the domain name that you want to create a mirror for in this field."
" This is a required field."
msgstr ""
#: ../../user/mirrors.rst:66
msgid "Description"
msgstr ""
#: ../../user/mirrors.rst:68
msgid ""
"Enter a brief description of the website that you are creating a mirror "
"for in this field. This is also a required field."
msgstr ""
#: ../../user/mirrors.rst:71
msgid "Group"
msgstr ""
#: ../../user/mirrors.rst:73
msgid ""
"Select the group that you want the mirror to belong to from the drop-down"
" menu in this field. This is a required field."
msgstr ""
#: ../../user/mirrors.rst:76
msgid "Auto-Rotate"
msgstr ""
#: ../../user/mirrors.rst:78
msgid ""
"Select this field if you want to enable auto-rotation for the mirror. "
"This means that the mirror will automatically redeploy with a new domain "
"name if it is detected to be blocked. This field is optional and is "
"enabled by default."
msgstr ""
#: ../../user/mirrors.rst:82
msgid "Asset Domain"
msgstr ""
#: ../../user/mirrors.rst:84
msgid ""
"Select this field if you want to use mirrors of this domain to host "
"assets for other domains. This is an optional field and is disabled by "
"default. All of the asset domains within a group will be available for "
"all mirrors using smart proxies. The smart proxy will rewrite URLs for "
"the asset domains that are included in the source code of the mirror "
"hosted by a smart proxy."
msgstr ""