This commit is contained in:
Mateusz Gruszczyński committed 2026-10-08 10:36:34 +02:00
1 parent 3b3f0db377
commit d940f9995f
47 files changed
+542 -187

No files matched your search

+18 -12
View File
@@ -177,13 +177,13 @@
"certificateBindings": "Certificate bindings",
"addCertificate": "Add certificate",
"certificateId": "Certificate ID",
"certificateFile": "Certificate filename",
"privateKeyFile": "Private key filename",
"certificateFile": "Certificate filename / path",
"privateKeyFile": "Private key filename / path",
"defaultCertificate": "Use as the default certificate",
"saveCertificate": "Apply certificate",
"reloadCertificates": "Reload certificate files",
"certificateHelp": "Upload a PEM pair, reference files already in data/certs, or deploy an externally issued certificate with the installed RustProxy binary. Reload re-reads configured files without changing the configuration revision.",
"certificateHint": "External Certbot hook (standard service install): rust-proxy --data-dir /var/lib/rustproxy tls deploy --id shared-cert --cert /etc/letsencrypt/live/example/fullchain.pem --key /etc/letsencrypt/live/example/privkey.pem",
"certificateHelp": "Use RustProxy-managed files, absolute external paths, uploaded PEM pairs, or ACME. Managed filenames are loaded from <data-dir>/certs. External paths are read in place and can be reloaded after an outside renewal without changing the configuration revision.",
"certificateHint": "External renewal: keep fullchain.pem/privkey.pem paths in the certificate entry, renew them with Certbot/acme.sh, then use Reload certificate or POST /api/certificates/{certificate_id}/reload.",
"emptyCertificates": "No explicit SNI bindings. The generated default certificate is used while the TLS listener is enabled.",
"certificateSafety": "Certificates secure TLS connections, not routing. Assign a certificate to a vhost. Changes affect new handshakes.",
"wsActive": "WebSocket tunnels",
@@ -724,13 +724,13 @@
"providerOvh": "Let's Encrypt - OVH API (DNS-01)",
"providerRfc2136": "Let's Encrypt - RFC2136 / TSIG (DNS-01)",
"providerImport": "Import certificate and private key (PEM)",
"providerExisting": "Existing server files (advanced)",
"providerHint_http01": "Requires Certbot. Every domain must resolve to this proxy and be reachable on public TCP port 80. RustProxy serves the challenge without stopping HTTP traffic. Wildcards need DNS-01. Staging certificates are not browser-trusted; automatic renewal is not installed.",
"providerHint_cloudflare": "Requires Certbot + certbot-dns-cloudflare. Use a restricted API token with Zone:DNS:Edit for the necessary zones only. Supports wildcard certificates. Secrets stay in private server files.",
"providerHint_ovh": "Requires Certbot + certbot-dns-ovh. Supply application key, application secret and consumer key authorized for the required DNS zones. Supports wildcard certificates.",
"providerHint_rfc2136": "Requires Certbot + certbot-dns-rfc2136 and a DNS server accepting signed RFC2136 updates. Limit the TSIG key to the required challenge records.",
"providerHint_import": "Upload a matching PEM/fullchain and private key. Save in the library, then assign the certificate in a vhost SSL tab.",
"providerHint_existing": "Advanced: only existing private files inside the configured certificate directory. Never put private key contents in JSON.",
"providerExisting": "Existing server files / external paths (advanced)",
"providerHint_http01": "RustProxy runs Certbot HTTP-01. You do not provide certificate file paths here. Every domain must resolve to this proxy and public TCP port 80 must reach its HTTP listener. The issued pair is stored in RustProxy-managed certificate storage. Wildcards require DNS-01.",
"providerHint_cloudflare": "RustProxy runs Certbot DNS-01 with the Cloudflare plugin. You do not provide certificate file paths here. Use a restricted Zone:DNS:Edit API token; the issued pair is stored in RustProxy-managed certificate storage and can be renewed automatically.",
"providerHint_ovh": "RustProxy runs Certbot DNS-01 with the OVH plugin. You do not provide certificate file paths here. Supply credentials limited to the required DNS zones; the issued pair is stored in RustProxy-managed certificate storage and can be renewed automatically.",
"providerHint_rfc2136": "RustProxy runs Certbot DNS-01 with RFC2136/TSIG. You do not provide certificate file paths here. The DNS server must accept signed updates for the required challenge records; the issued pair is stored in RustProxy-managed certificate storage.",
"providerHint_import": "Choose certificate/fullchain and private-key PEM files from your computer. RustProxy validates the pair and copies it into <data-dir>/certs; the browser-side source path is not saved.",
"providerHint_existing": "Reference files already present on the RustProxy server. Choose managed filenames from <data-dir>/certs or absolute external paths such as /etc/letsencrypt/live/example.com/fullchain.pem and privkey.pem. External files are not copied into RustProxy backups.",
"acmeCfToken": "Cloudflare API token",
"acmeOvhEndpoint": "OVH API region",
"acmeOvhApplicationKey": "OVH application key",
@@ -2182,6 +2182,12 @@
"geoipIpv6ChecksumUrl": "IPv6 SHA-256 URL (optional)",
"geoipMmdbUrl": "MaxMind DB direct URL",
"geoipMmdbChecksumUrl": "MaxMind DB SHA-256 URL (optional)",
"geoipSourceHelp": "CSV mode uses separate IPv4 and IPv6 range files. MMDB mode uses one native MaxMind DB file and supports standard country.iso_code, registered_country.iso_code, or country_code records. Leave a checksum URL empty to skip publisher-checksum verification; every download is still size-bounded and format-validated before atomic publish. For a local custom MMDB, place it at <data-dir>/geoip/country.mmdb, select MMDB and disable automatic updates."
"geoipSourceHelp": "CSV mode uses separate IPv4 and IPv6 range files. MMDB mode uses one native MaxMind DB file and supports standard country.iso_code, registered_country.iso_code, or country_code records. Leave a checksum URL empty to skip publisher-checksum verification; every download is still size-bounded and format-validated before atomic publish. For a local custom MMDB, place it at <data-dir>/geoip/country.mmdb, select MMDB and disable automatic updates.",
"certificateFileSource": "File location",
"certificateSourceManaged": "RustProxy certificate directory (<data-dir>/certs)",
"certificateSourceExternal": "External files (absolute paths)",
"certificateSourceManagedHelp": "Enter filenames only, for example app.pem and app.key. RustProxy loads them from <data-dir>/certs (normally /var/lib/rustproxy/certs for a packaged service).",
"certificateSourceExternalHelp": "Enter absolute server paths. Certbot example: /etc/letsencrypt/live/example.com/fullchain.pem and /etc/letsencrypt/live/example.com/privkey.pem. Certbot live/ symlinks are resolved again on every reload. The rustproxy service user needs directory traversal and file read access; external private keys may use 0600 when owned by the service or 0640 with a restricted group, never world access.",
"certificateExternalFiles": "External file paths"
}
}
+18 -12
View File
@@ -177,13 +177,13 @@
"certificateBindings": "Powiązania certyfikatów",
"addCertificate": "Dodaj certyfikat",
"certificateId": "ID certyfikatu",
"certificateFile": "Nazwa pliku certyfikatu",
"privateKeyFile": "Nazwa pliku klucza prywatnego",
"certificateFile": "Plik certyfikatu / ścieżka",
"privateKeyFile": "Plik klucza prywatnego / ścieżka",
"defaultCertificate": "Użyj jako certyfikatu domyślnego",
"saveCertificate": "Zastosuj certyfikat",
"reloadCertificates": "Wczytaj pliki certyfikatów",
"certificateHelp": "Wgraj parę PEM, wskaż pliki w data/certs albo wdrażaj certyfikat z zewnętrznego wystawcy zainstalowaną binarką RustProxy. Ponowne wczytanie odczytuje skonfigurowane pliki bez zmiany rewizji.",
"certificateHint": "Hook Certbota (standardowa instalacja usługi): rust-proxy --data-dir /var/lib/rustproxy tls deploy --id shared-cert --cert /etc/letsencrypt/live/example/fullchain.pem --key /etc/letsencrypt/live/example/privkey.pem",
"certificateHelp": "Możesz użyć plików zarządzanych przez RustProxy, pełnych ścieżek zewnętrznych, importu PEM albo ACME. Nazwy plików są ładowane z <data-dir>/certs. Ścieżki zewnętrzne są czytane bez kopiowania i można je przeładować po odnowieniu certyfikatu bez zmiany rewizji konfiguracji.",
"certificateHint": "Odnowienie zewnętrzne: pozostaw ścieżki fullchain.pem/privkey.pem w konfiguracji, odnów je przez Certbot/acme.sh, a następnie użyj Przeładuj certyfikat albo POST /api/certificates/{certificate_id}/reload.",
"emptyCertificates": "Brak jawnych powiązań SNI. Aktywny listener TLS używa wygenerowanego certyfikatu domyślnego.",
"certificateSafety": "Certyfikaty samopodpisane służą do testów. Certyfikat nie tworzy trasy. Zmiana dotyczy nowych połączeń TLS.",
"wsActive": "Tunele WebSocket",
@@ -724,13 +724,13 @@
"providerOvh": "Let's Encrypt - OVH API (DNS-01)",
"providerRfc2136": "Let's Encrypt - RFC2136 / TSIG (DNS-01)",
"providerImport": "Import certyfikatu i klucza prywatnego (PEM)",
"providerExisting": "Istniejące pliki na serwerze",
"providerHint_http01": "Walidacja domeny HTTP-01 wymaga publicznego portu 80 prowadzącego do aktywnego listenera HTTP. Nie obsługuje wildcardów.",
"providerHint_cloudflare": "DNS-01 przez API Cloudflare. Użyj tokenu z uprawnieniem Zone:DNS:Edit ograniczonym do odpowiednich stref.",
"providerHint_ovh": "DNS-01 przez API OVH. Podaj klucze aplikacji i klienta z uprawnieniami do rekordów odpowiednich stref DNS.",
"providerHint_rfc2136": "DNS-01 przez dynamiczną aktualizację DNS i klucz TSIG. Serwer musi zezwalać na zmianę rekordów walidacyjnych.",
"providerHint_import": "Wgraj certyfikat lub fullchain i odpowiadający mu klucz prywatny w formacie PEM.",
"providerHint_existing": "Wskaż pliki PEM z katalogu certyfikatów RustProxy. Treść klucza nie trafia do konfiguracji.",
"providerExisting": "Istniejące pliki na serwerze / ścieżki zewnętrzne",
"providerHint_http01": "RustProxy uruchamia Certbota w trybie HTTP-01. Nie podajesz tutaj ścieżek do certyfikatu. Każda domena musi wskazywać na ten serwer, a publiczny TCP/80 musi trafiać do listenera HTTP. Wydana para trafia do magazynu certyfikatów RustProxy. Wildcard wymaga DNS-01.",
"providerHint_cloudflare": "RustProxy uruchamia Certbota DNS-01 z pluginem Cloudflare. Nie podajesz tutaj ścieżek do certyfikatu. Użyj tokenu Zone:DNS:Edit ograniczonego do wymaganych stref; wydana para trafia do magazynu RustProxy i może być odnawiana automatycznie.",
"providerHint_ovh": "RustProxy uruchamia Certbota DNS-01 z pluginem OVH. Nie podajesz tutaj ścieżek do certyfikatu. Podaj poświadczenia ograniczone do wymaganych stref DNS; wydana para trafia do magazynu RustProxy i może być odnawiana automatycznie.",
"providerHint_rfc2136": "RustProxy uruchamia Certbota DNS-01 przez RFC2136/TSIG. Nie podajesz tutaj ścieżek do certyfikatu. Serwer DNS musi przyjmować podpisane aktualizacje rekordów walidacyjnych; wydana para trafia do magazynu certyfikatów RustProxy.",
"providerHint_import": "Wybierz z komputera certyfikat/fullchain i odpowiadający klucz prywatny PEM. RustProxy sprawdzi parę i skopiuje ją do <data-dir>/certs; lokalna ścieżka z przeglądarki nie jest zapisywana.",
"providerHint_existing": "Wskaż pliki, które już istnieją na serwerze RustProxy. Wybierz nazwy plików z <data-dir>/certs albo pełne ścieżki zewnętrzne, np. /etc/letsencrypt/live/example.com/fullchain.pem i privkey.pem. Pliki zewnętrzne nie są kopiowane do backupu RustProxy.",
"acmeCfToken": "Token API Cloudflare",
"acmeOvhEndpoint": "Region API OVH",
"acmeOvhApplicationKey": "OVH application key",
@@ -2182,6 +2182,12 @@
"geoipIpv6ChecksumUrl": "URL SHA-256 IPv6 (opcjonalny)",
"geoipMmdbUrl": "Bezpośredni URL MaxMind DB",
"geoipMmdbChecksumUrl": "URL SHA-256 MaxMind DB (opcjonalny)",
"geoipSourceHelp": "Tryb CSV używa osobnych plików zakresów IPv4 i IPv6. Tryb MMDB używa jednego natywnego pliku MaxMind DB i obsługuje standardowe pola country.iso_code, registered_country.iso_code albo country_code. Puste pole URL sumy wyłącza weryfikację sumy wydawcy; każdy plik nadal ma limit rozmiaru i jest walidowany przed atomową publikacją. Dla lokalnej własnej bazy MMDB umieść plik w <data-dir>/geoip/country.mmdb, wybierz MMDB i wyłącz automatyczne aktualizacje."
"geoipSourceHelp": "Tryb CSV używa osobnych plików zakresów IPv4 i IPv6. Tryb MMDB używa jednego natywnego pliku MaxMind DB i obsługuje standardowe pola country.iso_code, registered_country.iso_code albo country_code. Puste pole URL sumy wyłącza weryfikację sumy wydawcy; każdy plik nadal ma limit rozmiaru i jest walidowany przed atomową publikacją. Dla lokalnej własnej bazy MMDB umieść plik w <data-dir>/geoip/country.mmdb, wybierz MMDB i wyłącz automatyczne aktualizacje.",
"certificateFileSource": "Położenie plików",
"certificateSourceManaged": "Katalog certyfikatów RustProxy (<data-dir>/certs)",
"certificateSourceExternal": "Pliki zewnętrzne (pełne ścieżki)",
"certificateSourceManagedHelp": "Podaj tylko nazwy plików, np. app.pem i app.key. RustProxy ładuje je z <data-dir>/certs (przy instalacji pakietowej zwykle /var/lib/rustproxy/certs).",
"certificateSourceExternalHelp": "Podaj pełne ścieżki na serwerze. Przykład Certbota: /etc/letsencrypt/live/example.com/fullchain.pem oraz /etc/letsencrypt/live/example.com/privkey.pem. Symlinki Certbota w live/ są rozwiązywane ponownie przy każdym przeładowaniu. Użytkownik usługi rustproxy musi mieć prawo przejścia przez katalogi i odczytu plików; zewnętrzny klucz może mieć 0600, gdy należy do usługi, albo 0640 z ograniczoną grupą, nigdy dostęp dla innych.",
"certificateExternalFiles": "Zewnętrzne ścieżki plików"
}
}