Compare commits

..

22 Commits

Author SHA1 Message Date
DerLinkman
0004677054 Update clamd for first multi arch ver. 2023-08-04 15:36:09 +02:00
DerLinkman
9ead71d311 Updated unbound image to first multi arch ver. 2023-08-04 15:29:30 +02:00
DerLinkman
3e545692ab Clamd using Alpine Packages instead self compile 2023-08-04 11:38:37 +02:00
DerLinkman
7f167874f7 Changed Compose back to Versioning 2023-08-04 11:38:37 +02:00
DerLinkman
ed491fbf10 Rebased Dovecot on Alpine + fixed logging 2023-08-04 11:37:57 +02:00
DerLinkman
384307b35c Small fixes for CLAMD Health Check 2023-08-04 11:37:57 +02:00
DerLinkman
c948a6cdbc Removed fixed urllib3 due to fixed docker python module 2023-08-04 11:37:57 +02:00
DerLinkman
5ba1fb6004 Fixed DockerAPI Exception (due to incompatible urllib3) 2023-08-04 11:37:57 +02:00
Niklas Meyer
1be0fad03b Added missing solr ARM64 Image 2023-08-04 11:37:57 +02:00
DerLinkman
f7ce3e7257 Updated docker-compose.yml for Public testing 2023-08-04 11:37:57 +02:00
DerLinkman
6e79815cc3 Added missing Labels to Dockerfiles 2023-08-04 11:37:14 +02:00
DerLinkman
27b274abcb [Rspamd] Removed Arch Tag for Dockerfile 2023-08-04 11:36:49 +02:00
DerLinkman
d751d4f6fb Optimized Build Process for Dovecot 2023-08-04 11:36:49 +02:00
DerLinkman
c134f0b5ba Changed Dovecot Base to Bullseye again (Self compile) 2023-08-04 11:36:49 +02:00
DerLinkman
b5d89d9a85 Optimized CLAMAV Builds to match exact version instead of Repo 2023-08-04 11:36:49 +02:00
DerLinkman
c58fcddb03 Switched to Alpine Edge (for IMAPSYNC Deps) 2023-08-04 11:36:49 +02:00
DerLinkman
a602dd4656 Rebased Dovecot on Alpine 3.17 instead Bullseye (ARM64 Support) 2023-08-04 11:36:49 +02:00
DerLinkman
da49b76423 Removed Test self compiled SOGo Dockerfile 2023-08-04 11:36:49 +02:00
DerLinkman
b06116af70 Changed Maintainer to tinc within Dockerfiles 2023-08-04 11:36:49 +02:00
DerLinkman
563562c9b6 Added new SOGo ARM64 Compatible Repo 2023-08-04 11:36:49 +02:00
DerLinkman
70121e6f9e Updated Clamd Building to be x86 and ARM Compatible 2023-08-04 11:36:48 +02:00
DerLinkman
55fbfbf71b [Rspamd] Update to 3.6 (Ratelimit fix) 2023-08-04 09:10:57 +02:00
33 changed files with 250 additions and 807 deletions

View File

@@ -10,7 +10,7 @@ jobs:
if: github.event.pull_request.base.ref != 'staging' #check if the target branch is not staging if: github.event.pull_request.base.ref != 'staging' #check if the target branch is not staging
steps: steps:
- name: Send message - name: Send message
uses: thollander/actions-comment-pull-request@v2.4.2 uses: thollander/actions-comment-pull-request@v2.4.0
with: with:
GITHUB_TOKEN: ${{ secrets.CHECKIFPRISSTAGING_ACTION_PAT }} GITHUB_TOKEN: ${{ secrets.CHECKIFPRISSTAGING_ACTION_PAT }}
message: | message: |

View File

@@ -1,12 +1,14 @@
FROM clamav/clamav:1.0.1-1_base FROM alpine:3.18
LABEL maintainer "André Peters <andre.peters@servercow.de>" LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>"
RUN apk upgrade --no-cache \ RUN apk upgrade --no-cache \
&& apk add --update --no-cache \ && apk add --update --no-cache \
rsync \ rsync \
clamav \
bind-tools \ bind-tools \
bash bash \
tini
# init # init
COPY clamd.sh /clamd.sh COPY clamd.sh /clamd.sh
@@ -14,7 +16,9 @@ RUN chmod +x /sbin/tini
# healthcheck # healthcheck
COPY healthcheck.sh /healthcheck.sh COPY healthcheck.sh /healthcheck.sh
COPY clamdcheck.sh /usr/local/bin
RUN chmod +x /healthcheck.sh RUN chmod +x /healthcheck.sh
RUN chmod +x /usr/local/bin/clamdcheck.sh
HEALTHCHECK --start-period=6m CMD "/healthcheck.sh" HEALTHCHECK --start-period=6m CMD "/healthcheck.sh"
ENTRYPOINT [] ENTRYPOINT []

View File

@@ -0,0 +1,14 @@
#!/bin/sh
set -eu
if [ "${CLAMAV_NO_CLAMD:-}" != "false" ]; then
if [ "$(echo "PING" | nc localhost 3310)" != "PONG" ]; then
echo "ERROR: Unable to contact server"
exit 1
fi
echo "Clamd is up"
fi
exit 0

View File

@@ -198,8 +198,8 @@ async def handle_pubsub_messages(channel: aioredis.client.PubSub):
while True: while True:
try: try:
async with async_timeout.timeout(60): async with async_timeout.timeout(1):
message = await channel.get_message(ignore_subscribe_messages=True, timeout=30) message = await channel.get_message(ignore_subscribe_messages=True)
if message is not None: if message is not None:
# Parse message # Parse message
data_json = json.loads(message['data'].decode('utf-8')) data_json = json.loads(message['data'].decode('utf-8'))
@@ -244,7 +244,7 @@ async def handle_pubsub_messages(channel: aioredis.client.PubSub):
else: else:
dockerapi.logger.error("Unknwon PubSub recieved - %s" % json.dumps(data_json)) dockerapi.logger.error("Unknwon PubSub recieved - %s" % json.dumps(data_json))
await asyncio.sleep(0.0) await asyncio.sleep(0.01)
except asyncio.TimeoutError: except asyncio.TimeoutError:
pass pass

View File

@@ -1,119 +1,127 @@
FROM debian:bullseye-slim FROM alpine:3.18
LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>" LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>"
ARG DEBIAN_FRONTEND=noninteractive
# renovate: datasource=github-tags depName=dovecot/core versioning=semver-coerced
ARG DOVECOT=2.3.20
# renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced
ARG GOSU_VERSION=1.16 ARG GOSU_VERSION=1.16
ENV LC_ALL C
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
# Add groups and users before installing Dovecot to not break compatibility # Add groups and users before installing Dovecot to not break compatibility
RUN groupadd -g 5000 vmail \ RUN addgroup -g 5000 vmail \
&& groupadd -g 401 dovecot \ && addgroup -g 401 dovecot \
&& groupadd -g 402 dovenull \ && addgroup -g 402 dovenull \
&& groupadd -g 999 sogo \ && sed -i "s/999/99/" /etc/group \
&& usermod -a -G sogo nobody \ && addgroup -g 999 sogo \
&& useradd -g vmail -u 5000 vmail -d /var/vmail \ && addgroup nobody sogo \
&& useradd -c "Dovecot unprivileged user" -d /dev/null -u 401 -g dovecot -s /bin/false dovecot \ && adduser -D -u 5000 -G vmail -h /var/vmail vmail \
&& useradd -c "Dovecot login user" -d /dev/null -u 402 -g dovenull -s /bin/false dovenull \ && adduser -D -G dovecot -u 401 -h /dev/null -s /sbin/nologin dovecot \
&& touch /etc/default/locale \ && adduser -D -G dovenull -u 402 -h /dev/null -s /sbin/nologin dovenull \
&& apt-get update \ && apk add --no-cache --update \
&& apt-get -y --no-install-recommends install \ build-base \
build-essential \ bash \
apt-transport-https \ bind-tools \
ca-certificates \ ca-certificates \
cpanminus \
curl \ curl \
dnsutils \ cyrus-sasl-dev \
dirmngr \ gcc \
gettext \ gettext-dev \
gnupg2 \ gnupg \
gnupg-dirmngr \
jq \ jq \
libauthen-ntlm-perl \ libintl \
libcgi-pm-perl \ libssl1.1 \
libcrypt-openssl-rsa-perl \ libstdc++ \
libcrypt-ssleay-perl \ libxml2-dev \
libdata-uniqid-perl \ lua \
libdbd-mysql-perl \ lua-cjson \
libdbi-perl \
libdigest-hmac-perl \
libdist-checkconflicts-perl \
libencode-imaputf7-perl \
libfile-copy-recursive-perl \
libfile-tail-perl \
libhtml-parser-perl \
libio-compress-perl \
libio-socket-inet6-perl \
libio-socket-ssl-perl \
libio-tee-perl \
libipc-run-perl \
libjson-webtoken-perl \
liblockfile-simple-perl \
libmail-imapclient-perl \
libmodule-implementation-perl \
libmodule-scandeps-perl \
libnet-ssleay-perl \
libpackage-stash-perl \
libpackage-stash-xs-perl \
libpar-packer-perl \
libparse-recdescent-perl \
libproc-processtable-perl \
libreadonly-perl \
libregexp-common-perl \
libssl-dev \
libsys-meminfo-perl \
libterm-readkey-perl \
libtest-deep-perl \
libtest-fatal-perl \
libtest-mock-guard-perl \
libtest-mockobject-perl \
libtest-nowarnings-perl \
libtest-pod-perl \
libtest-requires-perl \
libtest-simple-perl \
libtest-warn-perl \
libtry-tiny-perl \
libunicode-string-perl \
liburi-perl \
libwww-perl \
lua-sql-mysql \
lua-socket \ lua-socket \
lua-sql-mysql \
lua5.3-sql-mysql \
make \
mariadb-connector-c \
mariadb-dev \
glib-dev \
gcompat \
mariadb-client \ mariadb-client \
# libressl-dev \
openssl-dev \
pcre-dev \
perl \
perl-dev \
perl-ntlm \
perl-cgi \
perl-crypt-openssl-rsa \
perl-utils \
perl-crypt-ssleay \
perl-data-uniqid \
perl-dbd-mysql \
perl-dbi \
perl-digest-hmac \
perl-dist-checkconflicts \
perl-encode-imaputf7 \
perl-file-copy-recursive \
perl-file-tail \
perl-io-socket-inet6 \
perl-io-gzip \
perl-io-socket-ssl \
perl-io-tee \
perl-ipc-run \
perl-json-webtoken \
perl-mail-imapclient \
perl-module-implementation \
perl-module-scandeps \
perl-net-ssleay \
perl-package-stash \
perl-package-stash-xs \
perl-par-packer \
perl-parse-recdescent \
libproc \
perl-readonly \
perl-regexp-common \
perl-sys-meminfo \
perl-term-readkey \
perl-test-deep \
perl-test-fatal \
perl-test-mockobject \
perl-test-mock-guard \
perl-test-pod \
perl-test-requires \
perl-test-simple \
perl-test-warn \
perl-try-tiny \
perl-unicode-string \
perl-proc-processtable \
perl-app-cpanminus \
procps \ procps \
python3-pip \ python3 \
redis-server \ python3-dev \
supervisor \ py3-pip \
redis \
syslog-ng \ syslog-ng \
syslog-ng-core \ syslog-ng-redis \
syslog-ng-mod-redis \ syslog-ng-json \
supervisor \
tzdata \
wget \ wget \
&& dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \ dovecot \
&& wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ dovecot-dev \
&& chmod +x /usr/local/bin/gosu \
&& gosu nobody true \
&& apt-key adv --fetch-keys https://repo.dovecot.org/DOVECOT-REPO-GPG \
&& echo "deb https://repo.dovecot.org/ce-${DOVECOT}/debian/bullseye bullseye main" > /etc/apt/sources.list.d/dovecot.list \
&& apt-get update \
&& apt-get -y --no-install-recommends install \
dovecot-lua \
dovecot-managesieved \
dovecot-sieve \
dovecot-lmtpd \ dovecot-lmtpd \
dovecot-lua \
dovecot-ldap \ dovecot-ldap \
dovecot-mysql \ dovecot-mysql \
dovecot-core \ dovecot-sql \
dovecot-submissiond \
dovecot-pigeonhole-plugin \
dovecot-pop3d \ dovecot-pop3d \
dovecot-imapd \ dovecot-fts-solr \
dovecot-solr \ && arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
&& pip3 install mysql-connector-python html2text jinja2 redis \ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$arch" \
&& apt-get autoremove --purge -y \ && chmod +x /usr/local/bin/gosu \
&& apt-get autoclean \ && gosu nobody true
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/* /var/tmp/* /root/.cache/ RUN cpan LockFile::Simple
# imapsync dependencies
RUN cpan Crypt::OpenSSL::PKCS12 RUN pip3 install mysql-connector-python html2text jinja2 redis
COPY trim_logs.sh /usr/local/bin/trim_logs.sh COPY trim_logs.sh /usr/local/bin/trim_logs.sh
COPY clean_q_aged.sh /usr/local/bin/clean_q_aged.sh COPY clean_q_aged.sh /usr/local/bin/clean_q_aged.sh
@@ -135,4 +143,4 @@ COPY quota_notify.py /usr/local/bin/quota_notify.py
COPY repl_health.sh /usr/local/bin/repl_health.sh COPY repl_health.sh /usr/local/bin/repl_health.sh
ENTRYPOINT ["/docker-entrypoint.sh"] ENTRYPOINT ["/docker-entrypoint.sh"]
CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf

View File

@@ -13,6 +13,10 @@ autostart=true
[program:dovecot] [program:dovecot]
command=/usr/sbin/dovecot -F command=/usr/sbin/dovecot -F
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autorestart=true autorestart=true
[eventlistener:processes] [eventlistener:processes]

View File

@@ -1,4 +1,4 @@
@version: 3.28 @version: 4.1
@include "scl.conf" @include "scl.conf"
options { options {
chain_hostnames(off); chain_hostnames(off);
@@ -6,11 +6,11 @@ options {
use_dns(no); use_dns(no);
use_fqdn(no); use_fqdn(no);
owner("root"); group("adm"); perm(0640); owner("root"); group("adm"); perm(0640);
stats_freq(0); stats(freq(0));
bad_hostname("^gconfd$"); bad_hostname("^gconfd$");
}; };
source s_src { source s_dgram {
unix-stream("/dev/log"); unix-dgram("/dev/log");
internal(); internal();
}; };
destination d_stdout { pipe("/dev/stdout"); }; destination d_stdout { pipe("/dev/stdout"); };
@@ -36,7 +36,7 @@ filter f_replica {
not match("Error: sync: Unknown user in remote" value("MESSAGE")); not match("Error: sync: Unknown user in remote" value("MESSAGE"));
}; };
log { log {
source(s_src); source(s_dgram);
filter(f_replica); filter(f_replica);
destination(d_stdout); destination(d_stdout);
filter(f_mail); filter(f_mail);

View File

@@ -1,4 +1,4 @@
@version: 3.28 @version: 4.1
@include "scl.conf" @include "scl.conf"
options { options {
chain_hostnames(off); chain_hostnames(off);
@@ -6,11 +6,11 @@ options {
use_dns(no); use_dns(no);
use_fqdn(no); use_fqdn(no);
owner("root"); group("adm"); perm(0640); owner("root"); group("adm"); perm(0640);
stats_freq(0); stats(freq(0));
bad_hostname("^gconfd$"); bad_hostname("^gconfd$");
}; };
source s_src { source s_dgram {
unix-stream("/dev/log"); unix-dgram("/dev/log");
internal(); internal();
}; };
destination d_stdout { pipe("/dev/stdout"); }; destination d_stdout { pipe("/dev/stdout"); };
@@ -36,7 +36,7 @@ filter f_replica {
not match("Error: sync: Unknown user in remote" value("MESSAGE")); not match("Error: sync: Unknown user in remote" value("MESSAGE"));
}; };
log { log {
source(s_src); source(s_dgram);
filter(f_replica); filter(f_replica);
destination(d_stdout); destination(d_stdout);
filter(f_mail); filter(f_mail);

View File

@@ -1,19 +1,19 @@
FROM debian:bullseye-slim FROM debian:bookworm-slim
LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>" LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>"
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
ARG CODENAME=bullseye ARG CODENAME=bookworm
ENV LC_ALL C ENV LC_ALL C
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y --no-install-recommends \
tzdata \ tzdata \
ca-certificates \ ca-certificates \
gnupg2 \ gnupg2 \
apt-transport-https \ apt-transport-https \
dnsutils \ dnsutils \
netcat \ netcat-traditional \
&& apt-key adv --fetch-keys https://rspamd.com/apt-stable/gpg.key \ && apt-key adv --fetch-keys https://rspamd.com/apt-stable/gpg.key \
&& echo "deb [arch=amd64] https://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list \ && echo "deb https://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list \
&& apt-get update \ && apt-get update \
&& apt-get --no-install-recommends -y install rspamd redis-tools procps nano \ && apt-get --no-install-recommends -y install rspamd redis-tools procps nano \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \

View File

@@ -2,7 +2,7 @@ FROM debian:bullseye-slim
LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>" LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>"
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
ARG SOGO_DEBIAN_REPOSITORY=http://packages.sogo.nu/nightly/5/debian/ ARG SOGO_DEBIAN_REPOSITORY=http://www.axis.cz/linux/debian
# renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced # renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced
ARG GOSU_VERSION=1.16 ARG GOSU_VERSION=1.16
ENV LC_ALL C ENV LC_ALL C
@@ -32,7 +32,7 @@ RUN echo "Building from repository $SOGO_DEBIAN_REPOSITORY" \
&& mkdir /usr/share/doc/sogo \ && mkdir /usr/share/doc/sogo \
&& touch /usr/share/doc/sogo/empty.sh \ && touch /usr/share/doc/sogo/empty.sh \
&& apt-key adv --keyserver keys.openpgp.org --recv-key 74FFC6D72B925A34B5D356BDF8A27B36A6E2EAE9 \ && apt-key adv --keyserver keys.openpgp.org --recv-key 74FFC6D72B925A34B5D356BDF8A27B36A6E2EAE9 \
&& echo "deb ${SOGO_DEBIAN_REPOSITORY} bullseye bullseye" > /etc/apt/sources.list.d/sogo.list \ && echo "deb [trusted=yes] ${SOGO_DEBIAN_REPOSITORY} bullseye sogo-v5" > /etc/apt/sources.list.d/sogo.list \
&& apt-get update && apt-get install -y --no-install-recommends \ && apt-get update && apt-get install -y --no-install-recommends \
sogo \ sogo \
sogo-activesync \ sogo-activesync \

View File

@@ -1,4 +1,5 @@
FROM solr:7.7-slim FROM solr:7.7-slim
LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>"
USER root USER root

View File

@@ -1,5 +1,5 @@
FROM alpine:3.17 FROM alpine:3.17
LABEL maintainer "André Peters <andre.peters@servercow.de>" LABEL maintainer "The Infrastructure Company GmbH <info@servercow.de>"
# Installation # Installation
RUN apk add --update \ RUN apk add --update \

View File

@@ -241,8 +241,8 @@ plugin {
mail_crypt_global_public_key = </mail_crypt/ecpubkey.pem mail_crypt_global_public_key = </mail_crypt/ecpubkey.pem
mail_crypt_save_version = 2 mail_crypt_save_version = 2
# Enable compression while saving, lz4 Dovecot v2.2.11+ # Enable compression while saving, zstd Dovecot v2.3.17+
zlib_save = lz4 zlib_save = zstd
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size mail_log_fields = uid box msgid size

View File

@@ -1,6 +1,5 @@
proxy_cache_path /tmp levels=1:2 keys_zone=sogo:10m inactive=24h max_size=1g; proxy_cache_path /tmp levels=1:2 keys_zone=sogo:10m inactive=24h max_size=1g;
server_names_hash_max_size 512; server_names_hash_bucket_size 64;
server_names_hash_bucket_size 128;
map $http_x_forwarded_proto $client_req_scheme { map $http_x_forwarded_proto $client_req_scheme {
default $scheme; default $scheme;

View File

@@ -1,3 +1,2 @@
listen ${HTTPS_PORT} ssl; listen ${HTTPS_PORT} ssl http2;
listen [::]:${HTTPS_PORT} ssl; listen [::]:${HTTPS_PORT} ssl http2;
http2 on;

View File

@@ -1,13 +1,11 @@
# Whitelist generated by Postwhite v3.4 on Fri Sep 1 00:14:06 UTC 2023 # Whitelist generated by Postwhite v3.4 on Mon Jul 31 10:06:06 UTC 2023
# https://github.com/stevejenkins/postwhite/ # https://github.com/stevejenkins/postwhite/
# 2020 total rules # 2043 total rules
2a00:1450:4000::/36 permit 2a00:1450:4000::/36 permit
2a01:111:f400::/48 permit 2a01:111:f400::/48 permit
2a01:111:f403:2800::/53 permit
2a01:111:f403:8000::/50 permit 2a01:111:f403:8000::/50 permit
2a01:111:f403::/49 permit 2a01:111:f403::/49 permit
2a01:111:f403:c000::/51 permit 2a01:111:f403:c000::/51 permit
2a01:111:f403:d000::/53 permit
2a01:111:f403:f000::/52 permit 2a01:111:f403:f000::/52 permit
2a02:a60:0:5::/64 permit 2a02:a60:0:5::/64 permit
2c0f:fb50:4000::/36 permit 2c0f:fb50:4000::/36 permit
@@ -115,10 +113,14 @@
39.156.163.64/29 permit 39.156.163.64/29 permit
40.71.187.0/24 permit 40.71.187.0/24 permit
40.92.0.0/15 permit 40.92.0.0/15 permit
40.92.0.0/16 permit
40.107.0.0/16 permit 40.107.0.0/16 permit
40.112.65.63 permit 40.112.65.63 permit
40.117.80.0/24 permit 40.117.80.0/24 permit
41.74.192.0/22 permit
41.74.196.0/22 permit
41.74.200.0/23 permit
41.74.204.0/23 permit
41.74.206.0/24 permit
43.228.184.0/22 permit 43.228.184.0/22 permit
44.206.138.57 permit 44.206.138.57 permit
44.209.42.157 permit 44.209.42.157 permit
@@ -190,6 +192,8 @@
51.137.58.21 permit 51.137.58.21 permit
51.140.75.55 permit 51.140.75.55 permit
51.144.100.179 permit 51.144.100.179 permit
51.163.158.0/24 permit
51.163.159.21 permit
52.5.230.59 permit 52.5.230.59 permit
52.27.5.72 permit 52.27.5.72 permit
52.27.28.47 permit 52.27.28.47 permit
@@ -216,7 +220,6 @@
52.96.228.130 permit 52.96.228.130 permit
52.96.229.242 permit 52.96.229.242 permit
52.100.0.0/14 permit 52.100.0.0/14 permit
52.103.0.0/17 permit
52.119.213.144/28 permit 52.119.213.144/28 permit
52.160.39.140 permit 52.160.39.140 permit
52.165.175.144 permit 52.165.175.144 permit
@@ -269,6 +272,8 @@
62.13.150.0/23 permit 62.13.150.0/23 permit
62.13.152.0/23 permit 62.13.152.0/23 permit
62.17.146.128/26 permit 62.17.146.128/26 permit
62.140.7.0/24 permit
62.140.10.21 permit
62.179.121.0/24 permit 62.179.121.0/24 permit
62.201.172.0/27 permit 62.201.172.0/27 permit
62.201.172.32/27 permit 62.201.172.32/27 permit
@@ -295,6 +300,8 @@
64.127.115.252 permit 64.127.115.252 permit
64.132.88.0/23 permit 64.132.88.0/23 permit
64.132.92.0/24 permit 64.132.92.0/24 permit
64.135.77.0/24 permit
64.135.83.0/24 permit
64.147.123.17 permit 64.147.123.17 permit
64.147.123.18 permit 64.147.123.18 permit
64.147.123.19 permit 64.147.123.19 permit
@@ -615,7 +622,6 @@
77.238.189.142 permit 77.238.189.142 permit
77.238.189.146/31 permit 77.238.189.146/31 permit
77.238.189.148/30 permit 77.238.189.148/30 permit
81.7.169.128/25 permit
81.223.46.0/27 permit 81.223.46.0/27 permit
82.165.159.0/24 permit 82.165.159.0/24 permit
82.165.159.0/26 permit 82.165.159.0/26 permit
@@ -668,6 +674,7 @@
89.22.108.0/24 permit 89.22.108.0/24 permit
91.194.248.0/23 permit 91.194.248.0/23 permit
91.211.240.0/22 permit 91.211.240.0/22 permit
91.220.42.0/24 permit
94.245.112.0/27 permit 94.245.112.0/27 permit
94.245.112.10/31 permit 94.245.112.10/31 permit
95.131.104.0/21 permit 95.131.104.0/21 permit
@@ -1183,16 +1190,17 @@
99.78.197.208/28 permit 99.78.197.208/28 permit
103.2.140.0/22 permit 103.2.140.0/22 permit
103.9.96.0/22 permit 103.9.96.0/22 permit
103.13.69.0/24 permit
103.28.42.0/24 permit 103.28.42.0/24 permit
103.47.204.0/22 permit 103.47.204.0/22 permit
103.96.21.0/24 permit
103.96.22.0/24 permit
103.96.23.0/24 permit
103.151.192.0/23 permit 103.151.192.0/23 permit
103.168.172.128/27 permit 103.168.172.128/27 permit
104.43.243.237 permit 104.43.243.237 permit
104.44.112.128/25 permit 104.44.112.128/25 permit
104.47.0.0/17 permit 104.47.0.0/17 permit
104.47.20.0/23 permit
104.47.75.0/24 permit
104.47.108.0/23 permit
104.130.96.0/28 permit 104.130.96.0/28 permit
104.130.122.0/23 permit 104.130.122.0/23 permit
104.214.25.77 permit 104.214.25.77 permit
@@ -1360,6 +1368,8 @@
121.244.91.48 permit 121.244.91.48 permit
122.15.156.182 permit 122.15.156.182 permit
123.126.78.64/29 permit 123.126.78.64/29 permit
124.47.150.0/24 permit
124.47.189.0/24 permit
124.108.96.0/24 permit 124.108.96.0/24 permit
124.108.96.24/31 permit 124.108.96.24/31 permit
124.108.96.28/31 permit 124.108.96.28/31 permit
@@ -1386,7 +1396,6 @@
129.41.169.249 permit 129.41.169.249 permit
129.80.5.164 permit 129.80.5.164 permit
129.80.67.121 permit 129.80.67.121 permit
129.145.74.12 permit
129.146.88.28 permit 129.146.88.28 permit
129.146.147.105 permit 129.146.147.105 permit
129.146.236.58 permit 129.146.236.58 permit
@@ -1399,7 +1408,6 @@
129.159.87.137 permit 129.159.87.137 permit
129.213.195.191 permit 129.213.195.191 permit
130.61.9.72 permit 130.61.9.72 permit
130.162.39.83 permit
130.211.0.0/22 permit 130.211.0.0/22 permit
131.253.30.0/24 permit 131.253.30.0/24 permit
131.253.121.0/26 permit 131.253.121.0/26 permit
@@ -1458,6 +1466,8 @@
146.20.215.0/24 permit 146.20.215.0/24 permit
146.20.215.182 permit 146.20.215.182 permit
146.88.28.0/24 permit 146.88.28.0/24 permit
146.101.78.0/24 permit
147.28.36.0/24 permit
147.160.158.0/24 permit 147.160.158.0/24 permit
147.243.1.47 permit 147.243.1.47 permit
147.243.1.48 permit 147.243.1.48 permit
@@ -1582,6 +1592,7 @@
176.32.105.0/24 permit 176.32.105.0/24 permit
176.32.127.0/24 permit 176.32.127.0/24 permit
178.236.10.128/26 permit 178.236.10.128/26 permit
180.189.28.0/24 permit
182.50.76.0/22 permit 182.50.76.0/22 permit
182.50.78.64/28 permit 182.50.78.64/28 permit
183.240.219.64/29 permit 183.240.219.64/29 permit
@@ -1589,6 +1600,8 @@
185.4.122.0/24 permit 185.4.122.0/24 permit
185.12.80.0/22 permit 185.12.80.0/22 permit
185.58.84.93 permit 185.58.84.93 permit
185.58.85.0/24 permit
185.58.86.0/24 permit
185.72.128.75 permit 185.72.128.75 permit
185.72.128.76 permit 185.72.128.76 permit
185.72.128.80 permit 185.72.128.80 permit
@@ -1669,16 +1682,22 @@
192.254.113.10 permit 192.254.113.10 permit
192.254.113.101 permit 192.254.113.101 permit
192.254.114.176 permit 192.254.114.176 permit
193.7.206.0/25 permit
193.7.207.0/25 permit
193.109.254.0/23 permit 193.109.254.0/23 permit
193.122.128.100 permit 193.122.128.100 permit
193.123.56.63 permit
194.64.234.128/27 permit 194.64.234.128/27 permit
194.64.234.129 permit 194.64.234.129 permit
194.104.109.0/24 permit
194.104.110.21 permit
194.104.110.240/28 permit
194.104.111.0/24 permit
194.106.220.0/23 permit 194.106.220.0/23 permit
194.113.24.0/22 permit 194.113.24.0/22 permit
194.154.193.192/27 permit 194.154.193.192/27 permit
195.4.92.0/23 permit 195.4.92.0/23 permit
195.54.172.0/23 permit 195.54.172.0/23 permit
195.130.217.0/24 permit
195.234.109.226 permit 195.234.109.226 permit
195.245.230.0/23 permit 195.245.230.0/23 permit
198.2.128.0/18 permit 198.2.128.0/18 permit
@@ -1773,7 +1792,6 @@
204.92.114.204/31 permit 204.92.114.204/31 permit
204.141.32.0/23 permit 204.141.32.0/23 permit
204.141.42.0/23 permit 204.141.42.0/23 permit
204.220.160.0/20 permit
204.232.168.0/24 permit 204.232.168.0/24 permit
205.139.110.0/24 permit 205.139.110.0/24 permit
205.201.128.0/20 permit 205.201.128.0/20 permit
@@ -1814,6 +1832,7 @@
207.67.98.192/27 permit 207.67.98.192/27 permit
207.68.176.0/26 permit 207.68.176.0/26 permit
207.68.176.96/27 permit 207.68.176.96/27 permit
207.82.80.0/24 permit
207.126.144.0/20 permit 207.126.144.0/20 permit
207.171.160.0/19 permit 207.171.160.0/19 permit
207.211.30.64/26 permit 207.211.30.64/26 permit
@@ -1880,6 +1899,7 @@
209.67.98.46 permit 209.67.98.46 permit
209.67.98.59 permit 209.67.98.59 permit
209.85.128.0/17 permit 209.85.128.0/17 permit
212.4.136.0/26 permit
212.82.96.0/24 permit 212.82.96.0/24 permit
212.82.96.32/27 permit 212.82.96.32/27 permit
212.82.96.64/29 permit 212.82.96.64/29 permit
@@ -1926,6 +1946,8 @@
212.227.126.128/25 permit 212.227.126.128/25 permit
213.46.255.0/24 permit 213.46.255.0/24 permit
213.165.64.0/23 permit 213.165.64.0/23 permit
213.167.75.0/25 permit
213.167.81.0/25 permit
213.199.128.139 permit 213.199.128.139 permit
213.199.128.145 permit 213.199.128.145 permit
213.199.138.181 permit 213.199.138.181 permit
@@ -1984,6 +2006,7 @@
216.136.162.65 permit 216.136.162.65 permit
216.136.162.120/29 permit 216.136.162.120/29 permit
216.136.168.80/28 permit 216.136.168.80/28 permit
216.145.217.0/24 permit
216.145.221.0/24 permit 216.145.221.0/24 permit
216.198.0.0/18 permit 216.198.0.0/18 permit
216.203.30.55 permit 216.203.30.55 permit
@@ -2016,7 +2039,7 @@
2620:109:c006:104::/64 permit 2620:109:c006:104::/64 permit
2620:109:c006:104::215 permit 2620:109:c006:104::215 permit
2620:109:c00d:104::/64 permit 2620:109:c00d:104::/64 permit
2620:10d:c090:400::8:1 permit 2620:10d:c090:450::120 permit
2620:10d:c091:400::8:1 permit 2620:10d:c091:400::8:1 permit
2620:119:50c0:207::/64 permit 2620:119:50c0:207::/64 permit
2620:119:50c0:207::215 permit 2620:119:50c0:207::215 permit

View File

@@ -221,16 +221,6 @@ rspamd_config:register_symbol({
local tagged_rcpt = task:get_symbol("TAGGED_RCPT") local tagged_rcpt = task:get_symbol("TAGGED_RCPT")
local mailcow_domain = task:get_symbol("RCPT_MAILCOW_DOMAIN") local mailcow_domain = task:get_symbol("RCPT_MAILCOW_DOMAIN")
local function remove_moo_tag()
local moo_tag_header = task:get_header('X-Moo-Tag', false)
if moo_tag_header then
task:set_milter_reply({
remove_headers = {['X-Moo-Tag'] = 0},
})
end
return true
end
if tagged_rcpt and tagged_rcpt[1].options and mailcow_domain then if tagged_rcpt and tagged_rcpt[1].options and mailcow_domain then
local tag = tagged_rcpt[1].options[1] local tag = tagged_rcpt[1].options[1]
rspamd_logger.infox("found tag: %s", tag) rspamd_logger.infox("found tag: %s", tag)
@@ -239,7 +229,6 @@ rspamd_config:register_symbol({
if action ~= 'no action' and action ~= 'greylist' then if action ~= 'no action' and action ~= 'greylist' then
rspamd_logger.infox("skipping tag handler for action: %s", action) rspamd_logger.infox("skipping tag handler for action: %s", action)
remove_moo_tag()
return true return true
end end
@@ -254,7 +243,6 @@ rspamd_config:register_symbol({
local function tag_callback_subfolder(err, data) local function tag_callback_subfolder(err, data)
if err or type(data) ~= 'string' then if err or type(data) ~= 'string' then
rspamd_logger.infox(rspamd_config, "subfolder tag handler for rcpt %s returned invalid or empty data (\"%s\") or error (\"%s\")", body, data, err) rspamd_logger.infox(rspamd_config, "subfolder tag handler for rcpt %s returned invalid or empty data (\"%s\") or error (\"%s\")", body, data, err)
remove_moo_tag()
else else
rspamd_logger.infox("Add X-Moo-Tag header") rspamd_logger.infox("Add X-Moo-Tag header")
task:set_milter_reply({ task:set_milter_reply({
@@ -273,7 +261,6 @@ rspamd_config:register_symbol({
) )
if not redis_ret_subfolder then if not redis_ret_subfolder then
rspamd_logger.infox(rspamd_config, "cannot make request to load tag handler for rcpt") rspamd_logger.infox(rspamd_config, "cannot make request to load tag handler for rcpt")
remove_moo_tag()
end end
else else
@@ -281,10 +268,7 @@ rspamd_config:register_symbol({
local sbj = task:get_header('Subject') local sbj = task:get_header('Subject')
new_sbj = '=?UTF-8?B?' .. tostring(util.encode_base64('[' .. tag .. '] ' .. sbj)) .. '?=' new_sbj = '=?UTF-8?B?' .. tostring(util.encode_base64('[' .. tag .. '] ' .. sbj)) .. '?='
task:set_milter_reply({ task:set_milter_reply({
remove_headers = { remove_headers = {['Subject'] = 1},
['Subject'] = 1,
['X-Moo-Tag'] = 0
},
add_headers = {['Subject'] = new_sbj} add_headers = {['Subject'] = new_sbj}
}) })
end end
@@ -300,7 +284,6 @@ rspamd_config:register_symbol({
) )
if not redis_ret_subject then if not redis_ret_subject then
rspamd_logger.infox(rspamd_config, "cannot make request to load tag handler for rcpt") rspamd_logger.infox(rspamd_config, "cannot make request to load tag handler for rcpt")
remove_moo_tag()
end end
end end
@@ -312,7 +295,6 @@ rspamd_config:register_symbol({
if #rcpt_split == 2 then if #rcpt_split == 2 then
if rcpt_split[1] == 'postmaster' then if rcpt_split[1] == 'postmaster' then
rspamd_logger.infox(rspamd_config, "not expanding postmaster alias") rspamd_logger.infox(rspamd_config, "not expanding postmaster alias")
remove_moo_tag()
else else
rspamd_http.request({ rspamd_http.request({
task=task, task=task,
@@ -325,8 +307,7 @@ rspamd_config:register_symbol({
end end
end end
end end
else
remove_moo_tag()
end end
end, end,
priority = 19 priority = 19

View File

@@ -90,7 +90,6 @@ $AVAILABLE_LANGUAGES = array(
'es-es' => 'Español (Spanish)', 'es-es' => 'Español (Spanish)',
'fi-fi' => 'Suomi (Finish)', 'fi-fi' => 'Suomi (Finish)',
'fr-fr' => 'Français (French)', 'fr-fr' => 'Français (French)',
'gr-gr' => 'Ελληνικά (Greek)',
'hu-hu' => 'Magyar (Hungarian)', 'hu-hu' => 'Magyar (Hungarian)',
'it-it' => 'Italiano (Italian)', 'it-it' => 'Italiano (Italian)',
'ko-kr' => '한국어 (Korean)', 'ko-kr' => '한국어 (Korean)',
@@ -100,7 +99,6 @@ $AVAILABLE_LANGUAGES = array(
'pt-pt' => 'Português (Portuguese)', 'pt-pt' => 'Português (Portuguese)',
'ro-ro' => 'Română (Romanian)', 'ro-ro' => 'Română (Romanian)',
'ru-ru' => 'Pусский (Russian)', 'ru-ru' => 'Pусский (Russian)',
'si-si' => 'Slovenščina (Slovenian)',
'sk-sk' => 'Slovenčina (Slovak)', 'sk-sk' => 'Slovenčina (Slovak)',
'sv-se' => 'Svenska (Swedish)', 'sv-se' => 'Svenska (Swedish)',
'tr-tr' => 'Türkçe (Turkish)', 'tr-tr' => 'Türkçe (Turkish)',

View File

@@ -3,23 +3,7 @@
"bcc_maps": "BCC maps", "bcc_maps": "BCC maps",
"filters": "Filtres", "filters": "Filtres",
"recipient_maps": "Recipient maps", "recipient_maps": "Recipient maps",
"syncjobs": "Feines de sincronització", "syncjobs": "Feines de sincronització"
"quarantine_category": "Canvia la categoria de les notificacions de quarantena",
"quarantine_notification": "Canvia les notificacions de quarantena",
"sogo_profile_reset": "Restableix el prefil SOGo",
"alias_domains": "Afegir àlies de domini",
"app_passwds": "Gestiona les contrasenyes de les aplicacions",
"domain_desc": "Canvia la descripció del domini",
"eas_reset": "Restableix els dispositius EAS",
"login_as": "Inicia sessió com a usuari de la bústia de correu",
"prohibited": "Prohibit per ACL",
"protocol_access": "Canvia el protocol d'accés",
"quarantine": "Accions de quarantena",
"quarantine_attachments": "Fitxers adjunts en quarantena",
"spam_alias": "Àlies temporals",
"spam_score": "Puntuació de correu brossa",
"tls_policy": "Política TLS",
"unlimited_quota": "Quota ilimitada per bústies de correo"
}, },
"add": { "add": {
"activate_filter_warn": "All other filters will be deactivated, when active is checked.", "activate_filter_warn": "All other filters will be deactivated, when active is checked.",
@@ -71,9 +55,7 @@
"target_domain": "Domini destí:", "target_domain": "Domini destí:",
"username": "Username", "username": "Username",
"validate": "Validar", "validate": "Validar",
"validation_success": "Validated successfully", "validation_success": "Validated successfully"
"app_name": "Nom de l'aplicació",
"app_password": "Afegir contrasenya a l'aplicació"
}, },
"admin": { "admin": {
"access": "Accés", "access": "Accés",
@@ -277,7 +259,7 @@
}, },
"footer": { "footer": {
"cancel": "Cancel·lar", "cancel": "Cancel·lar",
"confirm_delete": "Confirma l'esborrat", "confirm_delete": "Confirma l'esborrat ",
"delete_now": "Esborrar ara", "delete_now": "Esborrar ara",
"delete_these_items": "Si et plau confirma els canvis al objecte amb id:", "delete_these_items": "Si et plau confirma els canvis al objecte amb id:",
"loading": "Si et plau espera ...", "loading": "Si et plau espera ...",

View File

@@ -343,9 +343,7 @@
"api_read_only": "Schreibgeschützter Zugriff", "api_read_only": "Schreibgeschützter Zugriff",
"api_read_write": "Lese-Schreib-Zugriff", "api_read_write": "Lese-Schreib-Zugriff",
"oauth2_apps": "OAuth2 Apps", "oauth2_apps": "OAuth2 Apps",
"queue_unban": "entsperren", "queue_unban": "entsperren"
"allowed_methods": "Access-Control-Allow-Methods",
"allowed_origins": "Access-Control-Allow-Origin"
}, },
"danger": { "danger": {
"access_denied": "Zugriff verweigert oder unvollständige/ungültige Daten", "access_denied": "Zugriff verweigert oder unvollständige/ungültige Daten",
@@ -484,7 +482,7 @@
"info": "_START_ bis _END_ von _TOTAL_ Einträgen", "info": "_START_ bis _END_ von _TOTAL_ Einträgen",
"infoEmpty": "0 bis 0 von 0 Einträgen", "infoEmpty": "0 bis 0 von 0 Einträgen",
"infoFiltered": "(gefiltert von _MAX_ Einträgen)", "infoFiltered": "(gefiltert von _MAX_ Einträgen)",
"infoPostFix": "datatables.infoPostFix", "infoPostFix": "",
"thousands": ".", "thousands": ".",
"lengthMenu": "_MENU_ Einträge anzeigen", "lengthMenu": "_MENU_ Einträge anzeigen",
"loadingRecords": "Wird geladen...", "loadingRecords": "Wird geladen...",

View File

@@ -484,7 +484,7 @@
"info": "Showing _START_ to _END_ of _TOTAL_ entries", "info": "Showing _START_ to _END_ of _TOTAL_ entries",
"infoEmpty": "Showing 0 to 0 of 0 entries", "infoEmpty": "Showing 0 to 0 of 0 entries",
"infoFiltered": "(filtered from _MAX_ total entries)", "infoFiltered": "(filtered from _MAX_ total entries)",
"infoPostFix": "datatables.infoPostFix", "infoPostFix": "",
"thousands": ",", "thousands": ",",
"lengthMenu": "Show _MENU_ entries", "lengthMenu": "Show _MENU_ entries",
"loadingRecords": "Loading...", "loadingRecords": "Loading...",

View File

@@ -20,9 +20,7 @@
"tls_policy": "Póliza de TLS", "tls_policy": "Póliza de TLS",
"unlimited_quota": "Cuota ilimitada para buzones", "unlimited_quota": "Cuota ilimitada para buzones",
"app_passwds": "Gestionar las contraseñas de aplicaciones", "app_passwds": "Gestionar las contraseñas de aplicaciones",
"domain_desc": "Cambiar descripción del dominio", "domain_desc": "Cambiar descripción del dominio"
"protocol_access": "Cambiar protocolo de acceso",
"quarantine_category": "Cambiar categoría de las notificaciones de cuarentena"
}, },
"add": { "add": {
"activate_filter_warn": "Todos los demás filtros se desactivarán cuando este filtro se active.", "activate_filter_warn": "Todos los demás filtros se desactivarán cuando este filtro se active.",
@@ -87,13 +85,7 @@
"timeout2": "Tiempo de espera para la conexión al host local", "timeout2": "Tiempo de espera para la conexión al host local",
"username": "Usuario", "username": "Usuario",
"validate": "Validar", "validate": "Validar",
"validation_success": "Validado exitosamente", "validation_success": "Validado exitosamente"
"inactive": "Inactivo",
"app_name": "Nombre de la App",
"app_password": "Añadir contraseña para la app",
"public_comment": "Comentarios públicos",
"disable_login": "Desactivar login (el correo entrante seguirá activo)",
"comment_info": "Los comentarios privados no son visibles al usuario, mientras que los comentarios públicos aparecerán sobre la información general del usuario"
}, },
"admin": { "admin": {
"access": "Acceso", "access": "Acceso",
@@ -122,7 +114,7 @@
"app_name": "Nombre de la app", "app_name": "Nombre de la app",
"apps_name": "Nombre \"mailcow Apps\"", "apps_name": "Nombre \"mailcow Apps\"",
"arrival_time": "Tiempo de llegada (hora del servidor)", "arrival_time": "Tiempo de llegada (hora del servidor)",
"ban_list_info": "Lista de IPs bloqueadas: <b>red (tiempo de prohibición restante) - [acciones]</b>.<br />Las IPs en cola para ser desbloqueadas se eliminarán de la lista de bloqueos en unos pocos segundos.<br />Las etiquetas rojas indican bloqueos permanentes mediante la inclusión en la lista negra.", "ban_list_info": "La lista de IPs bloqueadas sigue a continuación: <b> red (tiempo de prohibición restante) - [acciones]</b>.<br/> Las IPs en cola para ser desbloquadas se eliminarán de la lista de bloqueos en unos pocos segundos. <br/> Las etiquetas rojas indican bloqueos permanentes permanentes mediante la inclusión en una lista negra.",
"change_logo": "Cambiar logo", "change_logo": "Cambiar logo",
"configuration": "Configuración", "configuration": "Configuración",
"credentials_transport_warning": "<b>Advertencia</b>: al agregar una nueva entrada de ruta de transporte se actualizarán las credenciales para todas las entradas con una columna de \"siguiente destino\" coincidente.", "credentials_transport_warning": "<b>Advertencia</b>: al agregar una nueva entrada de ruta de transporte se actualizarán las credenciales para todas las entradas con una columna de \"siguiente destino\" coincidente.",
@@ -440,7 +432,7 @@
}, },
"header": { "header": {
"administration": "Administración", "administration": "Administración",
"debug": "Información", "debug": "Información del sistema",
"email": "E-Mail", "email": "E-Mail",
"mailcow_config": "Configuración", "mailcow_config": "Configuración",
"quarantine": "Cuarentena", "quarantine": "Cuarentena",

View File

@@ -1096,8 +1096,7 @@
"weeks": "semaines", "weeks": "semaines",
"months": "mois", "months": "mois",
"year": "année", "year": "année",
"years": "années", "years": "années"
"with_app_password": "avec le mot de passe de l'application"
}, },
"warning": { "warning": {
"cannot_delete_self": "Impossible de supprimer lutilisateur connecté", "cannot_delete_self": "Impossible de supprimer lutilisateur connecté",

View File

@@ -1,20 +0,0 @@
{
"user": {
"verify": "Επαλήθευση",
"week": "εβδομάδα",
"weekly": "Εβδομαδιαία",
"weeks": "Εβδομάδες",
"with_app_password": "με κωδικό εφαρμογής",
"year": "χρόνος",
"years": "χρόνια"
},
"warning": {
"cannot_delete_self": "Αδυναμία διαγραφής συνδεδεμένου χρήστη",
"dovecot_restart_failed": "Απέτυχε η επανεκκίνηση του Dovecot, παρακαλώ ελέγξτε τα αρχεία καταγραφής.",
"no_active_admin": "Αδυναμία απενεργοποίησης του τελευταίου ενεργού διαχειριστή",
"domain_added_sogo_failed": "Προστέθηκε το όνομα χώρου αλλά απέτυχε η επανεκκίνηση του SOGo.",
"hash_not_found": "Η κατακερματισμένη τιμή (hash value) δεν βρέθηκε ή έχει είδη διαγραφεί.",
"ip_invalid": "Παραλείφθηκε μη έγκυρη διεύθυνση IP: %s",
"is_not_primary_alias": "Παραλείφθηκε μη πρωτεύον ψευδώνυμο %s"
}
}

View File

@@ -18,11 +18,7 @@
"transport_dest_format": "Szintaxis: pelda.hu, .pelda.hu, *, fiok@pelda.hu (több érték esetén vesszővel elválasztva)", "transport_dest_format": "Szintaxis: pelda.hu, .pelda.hu, *, fiok@pelda.hu (több érték esetén vesszővel elválasztva)",
"upload": "Feltöltés", "upload": "Feltöltés",
"username": "Felhasználónév", "username": "Felhasználónév",
"verify": "Ellenőrzés", "verify": "Ellenőrzés"
"activate_api": "API aktiválása",
"activate_send": "Küldés gomb aktiválása",
"add": "Hozzáad",
"active": "Aktív"
}, },
"edit": { "edit": {
"active": "Aktív", "active": "Aktív",
@@ -389,18 +385,9 @@
"acl": { "acl": {
"delimiter_action": "Elhatárolás", "delimiter_action": "Elhatárolás",
"alias_domains": "Alias domainek hozzáadása", "alias_domains": "Alias domainek hozzáadása",
"app_passwds": "Alkalmazás jelszavak kezelése", "app_passwds": "Alkalmazás jelszavak kezelése"
"domain_desc": "Domain leírás módosítása",
"filters": "Szűrők",
"login_as": "Bejelentkezés mint",
"quarantine": "Karantén műveletek",
"bcc_maps": "BCC címek"
}, },
"diagnostics": { "diagnostics": {
"dns_records": "DNS bejegyzések" "dns_records": "DNS bejegyzések"
},
"add": {
"username": "Felhasználónév",
"validation_success": "Sikeres ellenőrzés"
} }
} }

View File

@@ -134,10 +134,10 @@
"admins_ldap": "Amministratori LDAP", "admins_ldap": "Amministratori LDAP",
"advanced_settings": "Impostazioni avanzate", "advanced_settings": "Impostazioni avanzate",
"api_allow_from": "Allow API access from these IPs/CIDR network notations", "api_allow_from": "Allow API access from these IPs/CIDR network notations",
"api_info": "Questa API è in modifica. La documentazione può essere trovata su <a href=\"/api\">/api</a>", "api_info": "The API is a work in progress. The documentation can be found at <a href=\"/api\">/api</a>",
"api_key": "Chiave API", "api_key": "Chiave API",
"api_skip_ip_check": "Salta il controllo dell'IP per l'API", "api_skip_ip_check": "Salta il controllo dell'IP per l'API",
"app_links": "Link dell'app", "app_links": "App links",
"app_name": "Nome dell'app", "app_name": "Nome dell'app",
"apps_name": "Nome \"mailcow Apps\"", "apps_name": "Nome \"mailcow Apps\"",
"arrival_time": "Ora di arrivo (ora del server)", "arrival_time": "Ora di arrivo (ora del server)",
@@ -338,8 +338,7 @@
"oauth2_apps": "App OAuth2", "oauth2_apps": "App OAuth2",
"oauth2_add_client": "Aggiungere il client OAuth2", "oauth2_add_client": "Aggiungere il client OAuth2",
"rsettings_preset_4": "Disattivare Rspamd per un dominio", "rsettings_preset_4": "Disattivare Rspamd per un dominio",
"options": "Opzioni", "options": "Opzioni"
"cors_settings": "Impostazioni CORS"
}, },
"danger": { "danger": {
"access_denied": "Accesso negato o form di login non corretto", "access_denied": "Accesso negato o form di login non corretto",

View File

@@ -106,8 +106,7 @@
"timeout2": "Timeout pentru conectarea la gazda locală", "timeout2": "Timeout pentru conectarea la gazda locală",
"username": "Nume de utilizator", "username": "Nume de utilizator",
"validate": "Validează", "validate": "Validează",
"validation_success": "Validat cu succes", "validation_success": "Validat cu succes"
"tags": "Etichete"
}, },
"admin": { "admin": {
"access": "Acces", "access": "Acces",
@@ -335,15 +334,7 @@
"username": "Nume de utilizator", "username": "Nume de utilizator",
"validate_license_now": "Validează GUID cu serverul de licență", "validate_license_now": "Validează GUID cu serverul de licență",
"verify": "Verifică", "verify": "Verifică",
"yes": "&#10003;", "yes": "&#10003;"
"cors_settings": "Setări CORS",
"f2b_ban_time_increment": "Timpul de blocare creşte cu fiecare blocare",
"f2b_max_ban_time": "Max. timp de blocare (s)",
"ip_check": "Verificaţie IP",
"ip_check_disabled": "Verificarea IP este dezactivată. Puteţi activa la<br> <strong>Sistem > Configuraţie > Opţiuni > Personalizează</strong>",
"ip_check_opt_in": "Alegeţi să folosiţi servicile <strong>ipv4.mailcow.email</strong> şi <strong>ipv6.mailcow.email</strong> să rezolvaţi addrese IP externale.",
"options": "Opţiuni",
"queue_unban": "retractează interzicere"
}, },
"danger": { "danger": {
"access_denied": "Accesul a fost respins sau datele formularului sunt invalide", "access_denied": "Accesul a fost respins sau datele formularului sunt invalide",
@@ -462,16 +453,7 @@
"username_invalid": "Numele de utilizator %s nu poate fi utilizat", "username_invalid": "Numele de utilizator %s nu poate fi utilizat",
"validity_missing": "Atribuie o perioadă de valabilitate", "validity_missing": "Atribuie o perioadă de valabilitate",
"value_missing": "Furnizează toate valorile", "value_missing": "Furnizează toate valorile",
"yotp_verification_failed": "Verificarea Yubico OTP a eșuat: %s", "yotp_verification_failed": "Verificarea Yubico OTP a eșuat: %s"
"cors_invalid_method": "Aveţi specificaţi 'Allow-Method' invalid",
"webauthn_authenticator_failed": "Authentificator selectat nu a fost găsit",
"webauthn_publickey_failed": "Nici-o cheie publică a fost salvată pentru authenticatorul selectat",
"webauthn_username_failed": "Authenticatorul selectat aparţine la alt cont",
"demo_mode_enabled": "Mod de demonstraţie este activ",
"extended_sender_acl_denied": "lipseşte ACL pentru setarea adrese externe",
"template_exists": "Şablon %s deja există",
"template_id_invalid": "Şablon ID %s este invalid",
"template_name_invalid": "Nume de şablon este invalid"
}, },
"debug": { "debug": {
"chart_this_server": "Grafic (acest server)", "chart_this_server": "Grafic (acest server)",
@@ -659,7 +641,7 @@
"header": { "header": {
"administration": "Configurație și detalii", "administration": "Configurație și detalii",
"apps": "Aplicații", "apps": "Aplicații",
"debug": "Informaţie", "debug": "Informații Sistem",
"email": "E-Mail", "email": "E-Mail",
"mailcow_config": "Configurație", "mailcow_config": "Configurație",
"quarantine": "Carantină", "quarantine": "Carantină",
@@ -1205,9 +1187,5 @@
"quota_exceeded_scope": "Cota de spațiu a domeniului depășită: Numai căsuțe poștale nelimitate pot fi create pe acest domeniu.", "quota_exceeded_scope": "Cota de spațiu a domeniului depășită: Numai căsuțe poștale nelimitate pot fi create pe acest domeniu.",
"session_token": "Token formular invalid: Nepotrivire token", "session_token": "Token formular invalid: Nepotrivire token",
"session_ua": "Token formular invalid: Eroare validare utilizator-agent" "session_ua": "Token formular invalid: Eroare validare utilizator-agent"
},
"datatables": {
"expand_all": "Expandează tot",
"decimal": ","
} }
} }

View File

@@ -338,13 +338,7 @@
"yes": "&#10003;", "yes": "&#10003;",
"queue_unban": "разблокировать", "queue_unban": "разблокировать",
"f2b_ban_time_increment": "Время бана увеличивается с каждым баном", "f2b_ban_time_increment": "Время бана увеличивается с каждым баном",
"f2b_max_ban_time": "Максимальное время блокировки", "f2b_max_ban_time": "Максимальное время блокировки"
"allowed_origins": "Access-Control-Allow-Origin",
"cors_settings": "Настройки CORS",
"allowed_methods": "Access-Control-Allow-Methods",
"ip_check": "Проверить IP",
"ip_check_disabled": "Проверка IP отключена. Вы можете включить его в разделе <br> <strong>Система > Конфигурация > Параметры > Настроить</strong>.",
"ip_check_opt_in": "Согласие на использование сторонних служб <strong>ipv4.mailcow.email</strong> и <strong>ipv6.mailcow.email</strong> для разрешения внешних IP-адресов."
}, },
"danger": { "danger": {
"access_denied": "Доступ запрещён, или указаны неверные данные", "access_denied": "Доступ запрещён, или указаны неверные данные",
@@ -463,10 +457,7 @@
"username_invalid": "Имя пользователя %s нельзя использовать", "username_invalid": "Имя пользователя %s нельзя использовать",
"validity_missing": "Пожалуйста, назначьте срок действия", "validity_missing": "Пожалуйста, назначьте срок действия",
"value_missing": "Пожалуйста заполните все поля", "value_missing": "Пожалуйста заполните все поля",
"yotp_verification_failed": "Ошибка валидации Yubico OTP: %s", "yotp_verification_failed": "Ошибка валидации Yubico OTP: %s"
"cors_invalid_method": "Указан недопустимый метод разрешения",
"demo_mode_enabled": "Демонстрационный режим включен",
"cors_invalid_origin": "Указан неверный Allow-Origin"
}, },
"debug": { "debug": {
"chart_this_server": "Диаграмма (текущий сервер)", "chart_this_server": "Диаграмма (текущий сервер)",
@@ -551,7 +542,7 @@
"inactive": "Неактивный", "inactive": "Неактивный",
"kind": "Тип", "kind": "Тип",
"last_modified": "Последние изменения", "last_modified": "Последние изменения",
"lookup_mx": "Назначение на основе резолвинга MX записи по регулярному выражению (<code>.*\\.example\\.com$</code> для маршрутизации всей почты через этот хост, если MX заканчивающийся на example.com)", "lookup_mx": "Назначение на основе резовинга MX записи по регулярному выражению (<code>.*\\.example\\.com$</code> для маршрутизации всей почты через этот хост, если MX заканчивающийся на example.com)",
"mailbox": "Изменение почтового аккаунта", "mailbox": "Изменение почтового аккаунта",
"mailbox_quota_def": "Квота по умолчанию", "mailbox_quota_def": "Квота по умолчанию",
"mailbox_relayhost_info": "Применяется только к почтовому ящику и личным псевдонимам, вне зависимости от настроек маршрутизации на уровне домена.", "mailbox_relayhost_info": "Применяется только к почтовому ящику и личным псевдонимам, вне зависимости от настроек маршрутизации на уровне домена.",
@@ -616,9 +607,7 @@
"title": "Изменение объекта", "title": "Изменение объекта",
"unchanged_if_empty": "Если без изменений - оставьте пустым", "unchanged_if_empty": "Если без изменений - оставьте пустым",
"username": "Имя пользователя", "username": "Имя пользователя",
"validate_save": "Подтвердить и сохранить", "validate_save": "Подтвердить и сохранить"
"sogo_access_info": "Единый вход из интерфейса почты продолжает работать. Эта настройка не влияет на доступ ко всем другим службам, а также не удаляет или изменяет существующий профиль пользователя SOGo.",
"app_passwd_protocols": "Разрешенные протоколы для пароля приложения"
}, },
"fido2": { "fido2": {
"confirm": "Подтвердить", "confirm": "Подтвердить",
@@ -998,8 +987,7 @@
"verified_fido2_login": "Авторизация FIDO2 пройдена", "verified_fido2_login": "Авторизация FIDO2 пройдена",
"verified_totp_login": "Авторизация TOTP пройдена", "verified_totp_login": "Авторизация TOTP пройдена",
"verified_webauthn_login": "Авторизация WebAuthn пройдена", "verified_webauthn_login": "Авторизация WebAuthn пройдена",
"verified_yotp_login": "Авторизация Yubico OTP пройдена", "verified_yotp_login": "Авторизация Yubico OTP пройдена"
"cors_headers_edited": "Настройки CORS сохранены"
}, },
"tfa": { "tfa": {
"api_register": "%s использует Yubico Cloud API. Пожалуйста, получите ключ API для вашего ключа <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">здесь</a>", "api_register": "%s использует Yubico Cloud API. Пожалуйста, получите ключ API для вашего ключа <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">здесь</a>",
@@ -1181,12 +1169,7 @@
"weekly": "Раз в неделю", "weekly": "Раз в неделю",
"weeks": "недели", "weeks": "недели",
"year": "год", "year": "год",
"years": "лет", "years": "лет"
"allowed_protocols": "Разрешенные протоколы",
"apple_connection_profile_with_app_password": "Новый пароль приложения генерируется и добавляется в профиль, поэтому при настройке устройства не требуется вводить пароль. Не предоставляйте доступ к файлу, поскольку он предоставляет полный доступ к вашему почтовому ящику.",
"direct_protocol_access": "Этот пользователь почтового ящика имеет <b>прямой, внешний доступ</b> к следующим протоколам и приложениям. Эта настройка контролируется вашим администратором. Для предоставления доступа к отдельным протоколам и приложениям могут быть созданы пароли приложений.<br> Кнопка \"Вход в веб-почту\" обеспечивает единый вход в SOGo и всегда доступна.",
"with_app_password": "с паролем приложения",
"change_password_hint_app_passwords": "В вашей учетной записи есть {{number_of_app_passwords}} паролей приложений, которые не будут изменены. Чтобы управлять ими, перейдите на вкладку \"Пароли приложений\"."
}, },
"warning": { "warning": {
"cannot_delete_self": "Вы не можете удалить сами себя", "cannot_delete_self": "Вы не можете удалить сами себя",
@@ -1200,8 +1183,5 @@
"quota_exceeded_scope": "Квота домена превышена: могут быть созданы только почтовые ящики без лимита.", "quota_exceeded_scope": "Квота домена превышена: могут быть созданы только почтовые ящики без лимита.",
"session_token": "Неверный токен формы: несоответствие токена", "session_token": "Неверный токен формы: несоответствие токена",
"session_ua": "Неверный токен формы: ошибка проверки User-Agent" "session_ua": "Неверный токен формы: ошибка проверки User-Agent"
},
"datatables": {
"infoPostFix": "datatables.infoPostFix"
} }
} }

View File

@@ -1,396 +0,0 @@
{
"acl": {
"app_passwds": "Upravljaj gesla aplikacij",
"bcc_maps": "Preslikave SKP (BCC)",
"delimiter_action": "Dejanje ločila",
"domain_relayhost": "Spremeni gostitelja relay za domeno",
"eas_reset": "Ponastavi EAS naprave",
"filters": "Filtri",
"login_as": "Prijavi se kot uporabnik poštnega predala",
"mailbox_relayhost": "Spremeni gostitelja relay za poštni predal",
"prohibited": "Prepovedano z ACL",
"protocol_access": "Spremeni dostop do protokola",
"pushover": "Pushover",
"quarantine": "Dejanja karantene",
"quarantine_attachments": "Priponke v karanteno",
"quarantine_notification": "Spremeni obvestila o karanteni",
"ratelimit": "Omejitev pošiljanja",
"recipient_maps": "Preslikave prejemnikov",
"smtp_ip_access": "Spremeni dovoljene gostitelje za SMTP",
"sogo_access": "Dovoli upravljanje SOGo dostopov",
"sogo_profile_reset": "Ponastavi SOGo profil",
"spam_alias": "Začasni aliasi",
"spam_policy": "Blacklist/Whitelist",
"spam_score": "Ocena neželene pošte",
"tls_policy": "Politika TLS",
"unlimited_quota": "Neomejena kvota za poštne predale",
"alias_domains": "Dodaj alias domene",
"domain_desc": "Spremeni opis domene",
"extend_sender_acl": "Dovoli razširitev pošiljateljevega ACL z zunanjimi e-poštnimi naslovi",
"quarantine_category": "Spremeni kategorijo obvestil o karanteni",
"syncjobs": "Opravila sinhronizacije"
},
"add": {
"active": "Aktivno",
"add": "Dodaj",
"add_domain_only": "Dodaj samo domeno",
"add_domain_restart": "Dodaj domeno in ponovno zaženi SOGo",
"alias_address": "Alias naslov/i",
"alias_domain": "Alias domena",
"alias_domain_info": "<small>Samo veljavne domene (ločene z vejico).</small>",
"app_name": "Ime aplikacije",
"app_password": "Dodaj geslo aplikacije",
"app_passwd_protocols": "Dovoljeni protokoli za geslo aplikacije",
"automap": "Poskusi samodejno preslikati mape (\"Sent items\", \"Sent\" => \"Poslano\" ipd.)",
"backup_mx_options": "Možnosti posredovanja (relay)",
"comment_info": "Zasebni komentarji niso vidni uporabnikom, javni komentarji pa so prikazani kot tooltip, ko se z miško postavimo nad uporabnika v pregledu",
"custom_params": "Parametri po meri",
"custom_params_hint": "Pravilno: --param=xy, napačno: --param xy",
"delete1": "Izbriši na viru, ko je končano",
"delete2": "Izbriši sporočila na cilju, ki niso na viru",
"delete2duplicates": "Izbriši dvojnike na cilju",
"description": "Opis",
"destination": "Cilj",
"domain": "Domena",
"domain_matches_hostname": "Domena %s se ujema z nazivom gostitelja (hostname)",
"domain_quota_m": "Kvota za celotno domeno (MiB)",
"enc_method": "Metoda kriptiranja",
"exclude": "Izključi objekte (regex)",
"full_name": "Polno ime",
"gal": "Globalni seznam stikov (GAL)",
"generate": "generiraj",
"goto_ham": "Prepoznaj kot <span class=\"text-success\"><b>ham</b></span>",
"goto_null": "Odstrani e-poštno sporočilo brez obvestila",
"goto_spam": "Prepoznaj kot <span class=\"text-danger\"><b>spam</b></span>",
"hostname": "Gostitelj",
"inactive": "Neaktivno",
"kind": "Tip",
"mailbox_quota_def": "Privzeta kvota za poštni predal",
"mailbox_username": "Uporabniško ime (levi del e-poštnega naslova)",
"max_aliases": "Največje število dovoljenih aliasov",
"max_mailboxes": "Največje dovoljeno število poštnih predalov",
"mins_interval": "Interval preverjanja (minute)",
"multiple_bookings": "Več rezervacij",
"nexthop": "Naslednji korak",
"password_repeat": "Potrditev gesla (ponovi)",
"port": "Vrata (port)",
"private_comment": "Zasebni komentar",
"public_comment": "Javni komentar",
"quota_mb": "Kvota (MiB)",
"relay_all": "Posreduj vse prejemnike (relay)",
"relay_all_info": "↪ Če izberete da <b>ne</b> posredujete vse prejemnike, morate ustvariti (\"slepi\") poštni predal za vsakega prejemnika, za katerega želite posredovati e-pošto.",
"relay_domain": "Posreduj to domeno (relay)",
"relay_unknown_only": "Posreduj samo neobstoječe poštne predale. V obstoječe poštne predale bo e-pošta dostavljena lokalno.",
"relayhost_wrapped_tls_info": "Prosim <b>ne</b> uporabljajte TLS-wrapped vrata (večinoma uporabljeno na vratih 465).<br>\nUporabite katera koli non-wrapped vrata in ustvarite STARTTLS. TLS politika za obvezno uporabo TLS se lahko ustvari pod \"Preslikave TLS politik\"",
"select": "Prosim izberite...",
"select_domain": "Prosim najprej izberite domeno",
"sieve_desc": "Kratek opis",
"sieve_type": "Vrsta filtra",
"skipcrossduplicates": "Preskoči podvojena sporočila po mapah (prvi pride, prvi melje)",
"subscribeall": "Prijavi vse mape",
"syncjob": "Dodaj opravilo sinhronizacije",
"tags": "Oznake",
"target_address": "Goto naslov",
"target_address_info": "<small>Polni e-poštni naslov/i (ločeni z vejico).</small>",
"target_domain": "Ciljna domena",
"timeout1": "Časovna omejitev za povezavo do oddaljenega gostitelja",
"username": "Uporabniško ime",
"validate": "Preveri",
"validation_success": "Uspešno preverjeno",
"activate_filter_warn": "Ko je aktivni izbran, bodo vsi ostali filtri deaktivirani.",
"alias_address_info": "<small>Polni email naslov/i oziroma @example.com za zajem vseh sporočil domene (ločeno z vejico), <b>samo domene mailcow</b>.</small>",
"bcc_dest_format": "BCC naslov mora biti en veljaven e-poštni naslov.<br>Če morate poslati kopijo na več naslov, ustvarite alias in ga uporabite tukaj.",
"disable_login": "Prepovej vpis (vhodna e-pošta je še vedno sprejeta)",
"gal_info": "GAL vsebuje vse objekte domene in ga uporabniki ne morejo urejati. Informacija o zasedenosti v SOGo ni na voljo, če je onemogočena! <b>Ponovno zaženi SOGo za uveljavitev sprememb.</b>",
"mailbox_quota_m": "Najvišja kvota na poštni predal (MiB)",
"password": "Geslo",
"post_domain_add": "SOGo container \"sogo-mailcow\" mora biti ponovno zagnan po dodajanju nove domene!<br><br>Dodatno se mora preveriti DNS konfiguracija domene. Ko je DNS konfiguracija domene odobrena, ponovno zaženite \"acme-mailcow\" za samodejno generiranje certifikatov za novo domeno (autoconfig.&lt;domain&gt;, autodiscover.&lt;domain&gt;).<br>Ta korak je opcijski in se ponovno poskuša vsakih 24 ur.",
"relay_transport_info": "<div class=\"badge fs-6 bg-info\">Info</div> Definirate lahko preslikave transportov za cilj po meri za to domeno. Če ni nastavljena, se ustvari MX poizvedba.",
"syncjob_hint": "Pozor! Gesla se morajo shraniti v plain-text!",
"timeout2": "Časovna omejitev za povezavo do lokalnega gostitelja"
},
"admin": {
"access": "Dostop",
"action": "Dejanje",
"activate_api": "Aktiviraj API",
"activate_send": "Aktiviraj gumb \"Pošlji\"",
"active": "Aktivno",
"active_rspamd_settings_map": "Aktivna preslikava nastavitev",
"add": "Dodaj",
"add_domain_admin": "Dodaj skrbnika domene",
"add_forwarding_host": "Dodaj gostitelja za posredovanje",
"add_relayhost": "Dodaj transport odvisen od pošiljatelja",
"add_row": "Dodaj vrstico",
"add_settings_rule": "Dodaj pravilo nastavitev",
"add_transport": "Dodaj transport",
"add_transports_hint": "Prosimo zavedajte se, da se podatki za avtentikacijo, če obstajajo, shranijo v plain text.",
"additional_rows": " nove vrstice so bile dodane",
"admin_details": "Uredi podrobnosti skrbnika",
"admin_domains": "Dodeljene domene",
"admins": "Skrbniki",
"admins_ldap": "LDAP skrbniki",
"advanced_settings": "Napredne nastavitve",
"api_info": "API je v razvoju. Dokumentacija je na voljo na naslovu <a href=\"/api\">/api</a>",
"api_key": "API ključ",
"api_read_only": "Dostop samo za branje",
"api_read_write": "Dostop za branje in urejanje",
"api_skip_ip_check": "Preskoči preverjanje IP za API",
"app_links": "Povezave aplikacij",
"app_name": "Ime aplikacije",
"arrival_time": "Čas prispetja (strežniški čas)",
"authed_user": "Prij. uporabnik",
"ays": "Ste prepričani, da želite nadaljevati?",
"change_logo": "Zamenjaj logotip",
"configuration": "Konfiguracija",
"convert_html_to_text": "Pretvori HTML v golo besedilo",
"credentials_transport_warning": "<b>Opozorilo</b>: Dodajanje nove preslikave transporta bo posodobilo poverilnice za vse vnose, ki imajo enako vrednost v stolpcu naslednji skok.",
"customer_id": "ID stranke",
"customize": "Prilagodi",
"destination": "Cilj",
"dkim_add_key": "Dodaj ARC/DKIM ključ",
"dkim_domains_selector": "Izbira",
"dkim_domains_wo_keys": "Izberi domene z manjkajočimi ključi",
"dkim_from": "Od",
"dkim_from_title": "Izvorna domena od katere prekopiram podatke",
"dkim_key_missing": "Manjka ključ",
"dkim_key_unused": "Ključ ni v rabi",
"dkim_key_valid": "Veljaven ključ",
"dkim_keys": "ARC/DKIM ključi",
"dkim_overwrite_key": "Prepiši obstoječi DKIM ključ",
"dkim_private_key": "Zasebni ključ",
"dkim_to": "Za",
"domain": "Domena",
"domain_admin": "Skrbnik domene",
"domain_admins": "Skrbniki domene",
"domain_s": "Domena/e",
"duplicate": "Podvoji",
"duplicate_dkim": "Podvoji DKIM zapis",
"edit": "Uredi",
"empty": "Ni rezultatov",
"excludes": "Izključuje te prejemnike",
"f2b_ban_time": "Čas blokade (s)",
"f2b_ban_time_increment": "Čas blokade se poveča z vsako blokado",
"f2b_blacklist": "Mreže/gostitelji na blacklisti",
"f2b_filter": "Regex filtri",
"f2b_max_attempts": "Največ poskusov",
"f2b_max_ban_time": "Maksimalno trajanje blokade (s)",
"f2b_netban_ipv4": "velikost subneta IPv4 za blokiranje (8-32)",
"f2b_netban_ipv6": "Velikost subneta IPv6 za blokiranje (8-128)",
"f2b_parameters": "Fail2ban parametri",
"f2b_regex_info": "Upoštevajo se dnevniki SOGo, Postfix, Dovecot, PHP-FPM.",
"f2b_retry_window": "Upoštevan čas (s) za največ poskusov",
"f2b_whitelist": "Mreže/gostitelji na whitelisti",
"filter_table": "Filtriraj tabelo",
"from": "Od",
"generate": "ustvari",
"guid": "GUID - enolični ID instance",
"guid_and_license": "GUID & licenca",
"hash_remove_info": "Odstranitev hasha za omejitev (če obstaja) bo povsem ponastavilo njen števec.<br>\n Vsak hash je prikazan z individualno barvo.",
"help_text": "Zamenjaj tekst za pomoč pod masko za prijavo (HTML je dovoljen)",
"host": "Gostitelj",
"html": "HTML",
"import": "Uvozi",
"import_private_key": "Uvozi zasebni ključ",
"in_use_by": "V uporabi",
"inactive": "Neaktivno",
"include_exclude": "Vključi/Izključi",
"include_exclude_info": "Privzeto - če ni izbire - so vključeni <b>vsi poštni predali</b>",
"includes": "Vključi te prejemnike",
"ip_check": "Kontrola IP",
"ip_check_disabled": "Kontrola IP je onemogočena. Lahko jo omogočite pod <br/> <strong>Sistem > Konfiguracija > Možnosti > Prilagodi</strong>",
"ip_check_opt_in": "Opt-in za uporabo zunanje storitve <strong>ipv4.mailcow.email</strong> in <strong>ipv6.mailcow.email</strong> za razreševanje zunanjih IP.",
"is_mx_based": "Glede na MX",
"last_applied": "Nazadnje aplicirano",
"link": "Povezava",
"loading": "Prosim počakajte...",
"login_time": "Čas prijave",
"logo_info": "Vaša slika bo pomanjšana na velikost 40px za zgornjo navigacijo in največjo velikost 250px za začetno stran. Zelo priporočena je uporaba grafike brez izgube kakovosti ob spremembi velikosti.",
"message": "Sporočilo",
"message_size": "Velikost sporočila",
"nexthop": "Naslednji skok",
"no": "&#10005;",
"no_active_bans": "Ni aktivnih blokad",
"no_new_rows": "Ni dodatnih vrstic",
"no_record": "Ni zapisa",
"oauth2_apps": "OAuth2 aplikacije",
"oauth2_add_client": "Dodaj OAuth2 klienta",
"oauth2_client_id": "ID klienta",
"oauth2_client_secret": "Skrivnost (secret)",
"oauth2_redirect_uri": "URI za preusmeritev",
"oauth2_renew_secret": "Generiraj nov client secret",
"oauth2_revoke_tokens": "Zavrni vse tokene klientov",
"optional": "opcijsko",
"options": "Možnosti",
"password": "Geslo",
"password_length": "Dolžina gesla",
"password_policy": "Politika gesel",
"password_policy_chars": "Mora vsebovati vsaj eno črko",
"password_policy_length": "Minimalna dolžina gesla je %d",
"password_policy_lowerupper": "Mora vsebovati male in velike črke",
"password_policy_numbers": "Mora vsebovati vsaj eno številko",
"password_policy_special_chars": "Mora vsebovati posebne znake",
"password_repeat": "Potrditev gesla (ponovite)",
"priority": "Prioriteta",
"private_key": "Zasebni ključ",
"quarantine": "Karantena",
"quarantine_bcc": "Pošlji kopijo vseh obvestil (BCC) temu prejemniku:<br><small>Pustite prazno za izklop te funkcije. <b>Nepodpisana, nepreverjena pošta. Uporabljalo naj bi se samo za interno dostavo.</b></small>",
"quarantine_exclude_domains": "Izključi domene in alias-domene",
"quarantine_max_age": "Maksimalna starost v dnevnih<br><small>Vrednost mora biti večja ali enaka 1 dnevu</small>",
"quarantine_max_score": "Opusti obvestilo, če je ocena spama večja od te vrednosti:<br><small>Privzeto 9999.0</small>",
"quarantine_max_size": "Največja velikost v MiB (Večji elementi so zavrženi):<br><small>0 <b>ne</b> pomeni neomejeno.</small>",
"quarantine_notification_html": "Predloga sporočila za obvestilo:<br><small>Pustite prazno za obnovitev privzete predloge.</small>",
"quarantine_notification_sender": "Pošiljatelj obvestila",
"quarantine_notification_subject": "Naslov obvestila",
"quarantine_release_format": "Oblika sproščenih elementov",
"quarantine_release_format_att": "Kot priponka",
"quarantine_release_format_raw": "Nespremenjen original",
"quarantine_retention_size": "Število zadržanj na poštni predal: <br><small>0 pomeni <b>neaktivno</b>,</small>",
"quota_notification_sender": "Pošiljatelj obvestila",
"quota_notification_subject": "Predmet obvestila",
"quota_notifications": "Obvestila o omejitvi",
"quota_notifications_info": "Obvestila o omejitvi so poslana uporabnikom enkrat, ko presežejo 80% in enkrat ko presežejo 95% zasedenosti.",
"queue_unban": "odblokiraj",
"r_active": "Aktivne omejitve",
"r_inactive": "Neaktivne omejitve",
"rate_name": "Ime omejitve",
"recipients": "Prejemniki",
"refresh": "Osveži",
"regen_api_key": "Ponovno generiraj API ključ",
"regex_maps": "Regex preslikave",
"relay_from": "\"Od:\" naslov",
"relay_rcpt": "\"Za:\" naslov",
"relay_run": "Izvedi test",
"relayhosts": "Transporti glede na pošiljatelja",
"remove": "Odstrani",
"remove_row": "Odstrani vrstico",
"reset_default": "Ponastavi na privzeto",
"reset_limit": "Odstrani hash",
"routing": "Routing",
"rsetting_add_rule": "Dodaj pravilo",
"rsetting_content": "Vsebina pravila",
"rsetting_desc": "Kratek opis",
"rsetting_no_selection": "Prosim izberite pravilo",
"rsetting_none": "Ni pravil na voljo",
"rsettings_insert_preset": "Vstavi prednastavljen primer \"%s\"",
"rsettings_preset_1": "Onemogoči vse razen DKIM in omejitve za prijavljene uporabnike",
"rsettings_preset_2": "Postmasterji želijo spam",
"rsettings_preset_3": "Dovoli samo specifične pošiljatelje za poštni predal (npr. uporaba samo kot interni poštni predal)",
"rsettings_preset_4": "Onemogoči Rspamd za domeno",
"rspamd_com_settings": "Ime nastavitve bo samodejno generirano. Prosim oglejte si primere nastavitev spodaj. Za več informacij si oglejte <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">dokumentacijo Rspamd</a>",
"rspamd_global_filters": "Globalne preslikave filtrov",
"rspamd_global_filters_agree": "Previden bom!",
"rspamd_global_filters_info": "Globalne preslikave filtrov vsebujejo različne vrste globalnih blacklist in whitelist.",
"add_admin": "Dodaj skrbnika",
"add_relayhost_hint": "Prosimo zavedajte se, da se podatki za avtentikacijo, če obstajajo, shranijo v plain text.",
"admin": "Skrbnik",
"api_allow_from": "Dovoli API dostop s teh IP naslovov / CIDR mrežnih zapisov",
"apps_name": "Ime aplikacije v mailcow",
"ban_list_info": "Oglejte si seznam blokiranih IP naslovov spodaj: <b>network (remaining ban time) - [actions]</b>.<br />. IPji v vrsti za odstranitev blokade bodo odstranjeni iz aktivnega seznama blokad v nekaj sekundah.<br />Rdeče oznake prikazujejo trajne blokade z blacklisto.",
"dkim_key_length": "Dolžina DKIM ključa (v bitih)",
"dkim_to_title": "Ciljne domene bodo prepisane",
"f2b_list_info": "Gostitelj ali omrežje na blacklisti bo vedno prevladal zapis na whitelisti. <b>Apliciranje sprememb seznama traja nekaj sekund.</b>",
"forwarding_hosts": "Gostitelji za posredovanje",
"forwarding_hosts_add_hint": "Lahko vpišete IPv4/IPv6 naslove, mreže v CIDR obliki, imena gostiteljev (kateri se prevedejo v IP naslove) ali imena domen (katera se prevedejo v IP naslove glede na poizvedbo po SPF zapisih, v primeru manjkajočih zapisov pa MX zapisih).",
"forwarding_hosts_hint": "Dohodna sporočila so brezpogojno sprejeta od katerih koli gostiteljev v tem seznamu. Ti gostitelji se ne bodo preverjali po DNSBL seznamih in ne bodo dodani v greyliste. Prejeti spam s teh gostiteljev ni nikoli zavrnjen, opcijsko pa se lahko premakne v mapo neželene pošte. Najpogostejša uporaba za to je navedba poštnih strežnikov, iz katerih ste nastavili pravilo za posredovanje pošte na vaš mailcow strežnik.",
"license_info": "Licenca ni zahtevana, a pomaga pri nadaljnjem razvoju. <br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"Naročilo SAL\">Registrirajte svoj GUID tukaj</a> ali <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Naročilo podpora\">Kupite podporo za svojo namestitev Mailcow.</a>",
"lookup_mx": "Cilj je regular expression za ujemanje MX zapisov (<code>.*\\.google\\.com</code> za usmeritev vse pošte na MX, ki se konča z google.com, preko tega skoka)",
"main_name": "Naziv \"mailcow UI\"",
"merged_vars_hint": "Sive vrstice so združene iz <code>vars.(local.)inc.php</code> in jih ni mogoče spremeniti.",
"oauth2_info": "OAuth2 implementacija omogoča grant vrste \"Authorization code\" in izdaja refresh tokene.<br>\nStrežnik prav tako izda nove refresh tokene, ko je bil refresh token uporabljen<br><br>\n&#8226; Privzeti obseg je <i>profile</i>. Samo uporabniki poštnih predalov se lahko prijavijo s pomočjo OAuth2. Če parameter obsega ni vnesen, se nastavi na <i>profile</i>.<br>\n&#8226; Parameter <i>state</i> mora biti poslan s strani klienta kot del zahtevka za avtorizacijo .<br><br>\nPoti za OAuth2 API: <br>\n<ul>\n <li>Endpoint za avtorizacijo: <code>/oauth/authorize</code></li>\n <li>Endpoint za tokene: <code>/oauth/token</code></li>\n <li>Stran vira: <code>/oauth/profile</code></li>\n</ul>\nPonovno generiranje client secret ne bo razveljavilo obstoječih avtorizacijskih kod, ne bodo pa mogle obnoviti svoje tokene.<br><br>\nZavrnitev client tokenov bo povzročilo tekojčno prekinitev aktivnih sej. Vsi klienti se bodo morali ponovno prijaviti.",
"quarantine_redirect": "<b>Preusmeri vsa obvestila</b> k temu prejemniku:<br><small>Pustite prazno, da onemogočite. <b>Nepodpisana, nepreverjena pošta. Uporabljalo bi se naj samo za interno dostavo.</b></small>",
"quota_notification_html": "Predloga sporočila za obvestilo:<br><small>Pustite prazno za obnovitev privzete predloge.</small>",
"quota_notifications_vars": "{{percent}} pomeni trenutna omejitev uporabnika<br>{{username}} je ime poštnega predala",
"r_info": "Sivi/onemogočeni elementi v seznamu aktivnih omejitev niso znane kot veljavne omejitve za mailcow in ne morejo biti premaknjene. Neznane omejitve bodo kljub temu nastavljene po vrstnem redu pojavitve. <br>Nove elemente lahko dodate v <code>inc/vars.local.inc.php</code> da jih lahko vklopite ali izklopite.",
"relayhosts_hint": "Določite transporte glede na pošiljatelja, da jih lahko izberete v konfiguraciji domene.<br>\nTransportni servis je vedno \"smtp:\" in bo poskušal s TLS ko bo na voljo. Wrapped TLS (SMTPS) ni podprto. Upošteva se uporabnikova politika odhodnega TLS.<br>\nVpliva na izbrane domene vključno z alias domenami.",
"transport_dest_format": "Regex ali sintaksa: example.org, .example.org, *, box@example.org (več vrednosti ločite z vejico)",
"transport_test_rcpt_info": "&#8226; Uporabite null@hosted.mailcow.de za testiranje relaya na drugo destinacijo.",
"rspamd_global_filters_regex": "Njihovi nazivi pojasnijo njihov namen. Vsa vsebina mora imeti veljaven regular expression v obliki \"/pattern/options\" (npr. <code>/.+@domain\\.tld/i</code>).<br>\nČeprav se v vsaki vrstici regexa izvedejo osnovni pregledi, je lahko funkcionalnost programa Rspamd motena, če sintaksa ni pravilna.<br>\nRspamd bo poskušal prebrati vsebino preslikave, ko bo spremenjena. Če imate težave, <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">ponovno zaženite Rspamd</a>, da prisilite ponovno nalaganje preslikav.<br> Elementi z Blackliste so izključeni iz karantene.",
"rspamd_settings_map": "Preslikava nastavitev Rspamd",
"sal_level": "Moo stopnja",
"save": "Shrani spremembe",
"search_domain_da": "Išči domene",
"send": "Pošlji",
"sender": "Pošiljatelj",
"service": "Servis",
"service_id": "ID servisa",
"source": "Vir",
"spamfilter": "Spam filter",
"subject": "Predmet",
"success": "Uspešno",
"sys_mails": "Sistemska pošta",
"text": "Besedilo",
"time": "Čas",
"title": "Naziv",
"title_name": "Naziv spletnega mesta \"mailcow UI\"",
"to_top": "Nazaj na vrh",
"transport_maps": "Preslikave transportov",
"transports_hint": "&#8226; Vpis preslikave transporta <b>nadredi</b> preslikavo transporta odvisno od pošiljatelja.<br>\n&#8226; Preferenčno se uporabljajo transporti glede na MX zapise.<br>\n&#8226; Izhodne TLS politike na uporabnika so ignorirane in se lahko vsilijo samo s preslikavami TLS politik.<br>\n&#8226; Transportni servis za definirane transporte je vedno \"smtp:\" in bo posledično poskušal TLS ko bo ponujeno. Wrapped TLS (SMTPS) ni podprto.<br>\n&#8226; Naslovi, ki se ujemajo z \"/localhost$/\" bodo vedno preneseni preko \"local:\", in zato destinacija \"*\" ne bo vplivala na te naslove.<br>\n&#8226; Za določitev poverilnic za naslednji skok (npr. \"[host]:25\"), Postfix <b>vedno</b> preveri \"host\" preden išče \"[host]:25\". Zaradi takšnega obnašanja je nemogoče hkrati uporabiti \"host\" in \"[host]:25\".",
"ui_footer": "Noga (HTML dovoljen)",
"ui_header_announcement": "Obvestila",
"ui_header_announcement_active": "Nastavi obvestilo kot aktivno",
"ui_header_announcement_content": "Besedilo (HTML dovoljen)",
"ui_header_announcement_help": "Obvestilo je vidno za vse prijavljene uporabnike in na vmesniku za prijavo.",
"ui_header_announcement_select": "Izberite vrsto obvestila",
"ui_header_announcement_type": "Vrsta",
"ui_header_announcement_type_danger": "Zelo pomembno",
"ui_header_announcement_type_info": "Info",
"ui_header_announcement_type_warning": "Pomembno",
"ui_texts": "Oznake in besedila UI",
"unban_pending": "unban v postopku",
"unchanged_if_empty": "Če je nespremenjeno, pustite prazno",
"upload": "Naloži",
"username": "Uporabniško ime",
"validate_license_now": "Potrdi GUID z licenčnim strežnikom",
"verify": "Preveri",
"yes": "&#10003;"
},
"danger": {
"alias_goto_identical": "Alias in goto naslov morata biti identična",
"aliasd_targetd_identical": "Alias domena ne sme biti enaka ciljni domeni: %s",
"bcc_exists": "BCC preslikava obstaja za vrsto %s",
"dkim_domain_or_sel_exists": "DKIM ključ za \"%s\" obstaja in ne bo prepisan.",
"domain_quota_m_in_use": "Kvota domene mora biti večja ali enaka %s MiB",
"extra_acl_invalid_domain": "Zunanji pošiljatelj \"%s\" uporablja neveljavno domeno",
"global_map_write_error": "Ni mogoče zapisati ID globalne preslikave %s: %s",
"img_tmp_missing": "Ni mogoče preveriti slikovne datoteke: začasne datoteke ni mogoče najti",
"invalid_nexthop": "Oblika naslednjega skoka ni veljavna",
"invalid_nexthop_authenticated": "Naslednji skok obstaja z drugačnimi poverilnicami. Prosim najprej posodobite obstoječe poverilnice za ta naslednji skok.",
"demo_mode_enabled": "Demo način je omogočen",
"access_denied": "Dostop zavrnjen ali pa so podatki obrazca napačni",
"alias_domain_invalid": "Alias domena %s ni veljavna",
"alias_empty": "Alias naslov ne sme biti prazen",
"alias_invalid": "Alias naslov %s ni veljaven",
"aliases_in_use": "Max. aliasov mora biti večje ali enako %d",
"app_name_empty": "Naziv aplikacije ne more biti prazno",
"app_passwd_id_invalid": "ID gesla aplikacije %s je neveljaven",
"bcc_empty": "BCC cilj ne more biti prazen",
"bcc_must_be_email": "BCC cilj %s ni veljaven e-poštni naslov",
"comment_too_long": "Komentar je predolg, dovoljeno je največ 100 znakov.",
"defquota_empty": "Privzeta kvota na poštni predal ne more biti 0",
"description_invalid": "Opis resursa za %s ni veljaven",
"dkim_domain_or_sel_invalid": "Domena ali izbirnik DKIM ni veljaven: %s",
"domain_cannot_match_hostname": "Domena se ne more ujemati z imenom gostitelja",
"domain_exists": "Domena %s že obstaja",
"domain_invalid": "Manjka ali napačno ime domene",
"domain_not_empty": "Ne morem odstraniti ne-prazno domeno %s",
"domain_not_found": "Domene %s ni bilo mogoče najti",
"extended_sender_acl_denied": "manjka ACL za določitev naslovov zunanjih pošiljateljev",
"extra_acl_invalid": "Naslov zunanjega pošiljatelja \"%s\" ni veljaven",
"fido2_verification_failed": "Preverjanje FIDO2 ni uspelo: %s",
"file_open_error": "Datoteka ne more biti odprta za urejanje",
"filter_type": "Napačna vrsta filtra",
"from_invalid": "Pošiljatelj ne sme biti prazno",
"global_filter_write_error": "Ni mogoče zapisati datoteke filtra: %s",
"global_map_invalid": "ID globalne preslikave %s ni veljaven",
"goto_empty": "Alias naslov mora vsebovati vsaj en veljaven goto naslov",
"goto_invalid": "Goto naslov %s ni veljaven",
"ham_learn_error": "Napaka pri učenju Ham: %s",
"imagick_exception": "Napaka: Imagick napaka pri branju slike",
"img_invalid": "Ni možno preveriti slikovne datoteke",
"invalid_bcc_map_type": "Neveljavna vrsta preslikave BCC",
"invalid_destination": "Ciljna oblika \"%s\" ni veljavna",
"invalid_filter_type": "Neveljavna vrsta filtra",
"invalid_host": "Naveden je neveljaven gostitelj (host): %s",
"invalid_mime_type": "Neveljaven mime type"
}
}

View File

@@ -335,17 +335,7 @@
"transport_test_rcpt_info": "&#8226; Використовуйте null@hosted.mailcow.de для перевірки пересилання на зовнішній пункт призначення.", "transport_test_rcpt_info": "&#8226; Використовуйте null@hosted.mailcow.de для перевірки пересилання на зовнішній пункт призначення.",
"transports_hint": "&#8226; Глобальні правила маршрутизації <b>переважають</b> над маршрутами на основі відправника.<br>\n&#8226; Переважно використовувати транспорти на основі резолвінгу MX.<br>\n&#8226; Користувацькі політики TLS для вихідної пошти будуть проігноровані та використовуватимуть політику TLS, налаштовану тут.<br>\n&#8226; Протокол для доставки завжди \"smtp:\" і тому намагатиметься використовувати TLS, якщо наступний хост підтримує його. SMTPS (TLS, найчастіше порту 465) не підтримується.<br>\n&#8226; Адреси відповідні \"/localhost$/\" завжди будуть доставлені \"local:\", отже політика \"*\" не поширюється на них.<br>\n&#8226; Щоб визначити облікові дані для наступного вузла \"[host]:25\", Postfix <b>завжди</b> шукає дані для \"host\" перед тим як шукати \"[host]:25\". Така поведінка унеможливлює використання \"host\" and \"[host]:25\" одночасно.", "transports_hint": "&#8226; Глобальні правила маршрутизації <b>переважають</b> над маршрутами на основі відправника.<br>\n&#8226; Переважно використовувати транспорти на основі резолвінгу MX.<br>\n&#8226; Користувацькі політики TLS для вихідної пошти будуть проігноровані та використовуватимуть політику TLS, налаштовану тут.<br>\n&#8226; Протокол для доставки завжди \"smtp:\" і тому намагатиметься використовувати TLS, якщо наступний хост підтримує його. SMTPS (TLS, найчастіше порту 465) не підтримується.<br>\n&#8226; Адреси відповідні \"/localhost$/\" завжди будуть доставлені \"local:\", отже політика \"*\" не поширюється на них.<br>\n&#8226; Щоб визначити облікові дані для наступного вузла \"[host]:25\", Postfix <b>завжди</b> шукає дані для \"host\" перед тим як шукати \"[host]:25\". Така поведінка унеможливлює використання \"host\" and \"[host]:25\" одночасно.",
"ui_header_announcement_help": "Оголошення видно на екрані входу в mailcow UI і всім користувачам, що ввійшли в систему.", "ui_header_announcement_help": "Оголошення видно на екрані входу в mailcow UI і всім користувачам, що ввійшли в систему.",
"unchanged_if_empty": "Якщо не змінено, залиште порожнім", "unchanged_if_empty": "Якщо не змінено, залиште порожнім"
"allowed_methods": "Access-Control-Allow-Methods",
"f2b_max_ban_time": "Максимальний час блокування (с)",
"f2b_ban_time_increment": "Час бану збільшується з кожним баном",
"allowed_origins": "Access-Control-Allow-Origin",
"cors_settings": "Налаштування CORS",
"ip_check": "Перевірка IP",
"ip_check_disabled": "Перевірка IP вимкнена. Ви можете ввімкнути його в меню<br> <strong>Система > Конфігурація > Параметри > Налаштувати</strong>",
"ip_check_opt_in": "Згода на використання сторонніх служб <strong>ipv4.mailcow.email</strong> і <strong>ipv6.mailcow.email</strong> для визначення зовнішніх IP-адрес.",
"options": "Параметри",
"queue_unban": "розблокувати"
}, },
"danger": { "danger": {
"alias_domain_invalid": "Неприпустимий псевдонім домену: %s", "alias_domain_invalid": "Неприпустимий псевдонім домену: %s",
@@ -464,17 +454,7 @@
"tls_policy_map_dest_invalid": "Неприпустиме значення призначення політики", "tls_policy_map_dest_invalid": "Неприпустиме значення призначення політики",
"tls_policy_map_parameter_invalid": "Неприпустиме значення параметра політики", "tls_policy_map_parameter_invalid": "Неприпустиме значення параметра політики",
"unlimited_quota_acl": "Необмежена квота заборонена політикою доступу", "unlimited_quota_acl": "Необмежена квота заборонена політикою доступу",
"yotp_verification_failed": "Помилка валідації Yubico OTP: %s", "yotp_verification_failed": "Помилка валідації Yubico OTP: %s"
"cors_invalid_method": "Вказано недійсний Allow-Method",
"webauthn_authenticator_failed": "Обраний автентифікатор не знайдено",
"webauthn_publickey_failed": "Для вибраного автентифікатора не було збережено відкритого ключа",
"webauthn_username_failed": "Обраний автентифікатор належить іншому акаунту",
"cors_invalid_origin": "Вказано недійсний Allow-Origin",
"demo_mode_enabled": "Демонстраційний режим увімкнено",
"extended_sender_acl_denied": "відсутній ACL для встановлення зовнішніх адрес відправників",
"template_exists": "Шаблон %s вже існує",
"template_id_invalid": "Ідентифікатор шаблону %s недійсний",
"template_name_invalid": "Ім'я шаблону невірне"
}, },
"debug": { "debug": {
"chart_this_server": "Діаграма (цей сервер)", "chart_this_server": "Діаграма (цей сервер)",
@@ -501,21 +481,7 @@
"username": "Ім'я користувача", "username": "Ім'я користувача",
"external_logs": "Зовнішні журнали", "external_logs": "Зовнішні журнали",
"jvm_memory_solr": "Використання оперативної пам'яті JVM", "jvm_memory_solr": "Використання оперативної пам'яті JVM",
"log_info": "<p><b>Журнали контейнерів</b> mailcow зберігаються в Redis, і раз на хвилину рядки журналу за межами <code>LOG_LINES (%d)</code> видаляються, щоб зменшити навантаження на сервер.\n <br>Самі журнали контейнерів не зберігаються після перезавантаження контейнера. Усі контейнери додатково пишуть логи у службу Docker, і, отже, використовують драйвер логування за промовчанням. Журнали контейнерів призначені лише для налагодження дрібних проблем. Для інших завдань, будь ласка, настройте драйвер логування Docker самостійно.</p>\n <p><b>Зовнішні журнали</b> збираються через API програм.</p>\n <p><b>Статичні журнали</b> &ndash; це в основному журнали активності, які не записуються в Dockerd, але все одно повинні бути постійними (за винятком журналів API).</p>", "log_info": "<p><b>Журнали контейнерів</b> mailcow зберігаються в Redis, і раз на хвилину рядки журналу за межами <code>LOG_LINES (%d)</code> видаляються, щоб зменшити навантаження на сервер.\n <br>Самі журнали контейнерів не зберігаються після перезавантаження контейнера. Усі контейнери додатково пишуть логи у службу Docker, і, отже, використовують драйвер логування за промовчанням. Журнали контейнерів призначені лише для налагодження дрібних проблем. Для інших завдань, будь ласка, настройте драйвер логування Docker самостійно.</p>\n <p><b>Зовнішні журнали</b> збираються через API програм.</p>\n <p><b>Статичні журнали</b> &ndash; це в основному журнали активності, які не записуються в Dockerd, але все одно повинні бути постійними (за винятком журналів API).</p>"
"error_show_ip": "Не вдалося розпізнати публічні IP-адреси",
"no_update_available": "Система працює на останній версії",
"architecture": "Архітектура",
"container_running": "Працює",
"container_disabled": "Контейнер зупинено або вимкнено",
"container_stopped": "Зупинено",
"cores": "Ядра",
"current_time": "Системний час",
"memory": "Пам'ять",
"show_ip": "Показати загальнодоступну IP-адресу",
"timezone": "Часовий пояс",
"update_available": "Доступне оновлення",
"update_failed": "Не вдалося перевірити наявність оновлень",
"wip": "Наразі робота триває"
}, },
"diagnostics": { "diagnostics": {
"cname_from_a": "Значення, отримане із запису A/AAAA. Це підтримується, поки запис вказує на правильний ресурс.", "cname_from_a": "Значення, отримане із запису A/AAAA. Це підтримується, поки запис вказує на правильний ресурс.",
@@ -641,8 +607,7 @@
"sender_acl_info": "Врахуйте, що якщо користувачеві поштового облікового запису А дозволено відправляти від імені користувача Б, то адреса користувача Б не з'явиться автоматично у списку \"Відправник\" при написанні листів у SOGo.<br>\n Користувач поштового облікового запису Б повинен створити делегування в SOGo, щоб користувач поштового облікового запису А міг вибрати його адресу як відправника. Делегування знаходиться в меню (три крапки) праворуч від імені поштового облікового запису у вікні пошти SOGo. Ця поведінка не відноситься до псевдонімів.", "sender_acl_info": "Врахуйте, що якщо користувачеві поштового облікового запису А дозволено відправляти від імені користувача Б, то адреса користувача Б не з'явиться автоматично у списку \"Відправник\" при написанні листів у SOGo.<br>\n Користувач поштового облікового запису Б повинен створити делегування в SOGo, щоб користувач поштового облікового запису А міг вибрати його адресу як відправника. Делегування знаходиться в меню (три крапки) праворуч від імені поштового облікового запису у вікні пошти SOGo. Ця поведінка не відноситься до псевдонімів.",
"sogo_visible_info": "Впливає лише на об'єкти, які можуть відображатися в SOGo (персональні або загальні псевдоніми, що вказують щонайменше на один локальний поштовий обліковий запис). Зверніть увагу, що якщо функцію вимкнено, користувач не зможе вибрати адресу псевдоніма як відправника в SOGo.", "sogo_visible_info": "Впливає лише на об'єкти, які можуть відображатися в SOGo (персональні або загальні псевдоніми, що вказують щонайменше на один локальний поштовий обліковий запис). Зверніть увагу, що якщо функцію вимкнено, користувач не зможе вибрати адресу псевдоніма як відправника в SOGo.",
"target_address": "Власники псевдоніма, <small>(розділені комами)</small>", "target_address": "Власники псевдоніма, <small>(розділені комами)</small>",
"timeout2": "Тайм-аут для підключення до локального хоста", "timeout2": "Тайм-аут для підключення до локального хоста"
"pushover_sound": "Звук"
}, },
"fido2": { "fido2": {
"confirm": "Підтвердити", "confirm": "Підтвердити",
@@ -683,8 +648,7 @@
"restart_netfilter": "Перезапустити netfilter", "restart_netfilter": "Перезапустити netfilter",
"restart_sogo": "Перезапустити SOGo", "restart_sogo": "Перезапустити SOGo",
"user_settings": "Налаштування користувача", "user_settings": "Налаштування користувача",
"mailcow_config": "Конфігурація", "mailcow_config": "Конфігурація"
"mailcow_system": "Система"
}, },
"info": { "info": {
"no_action": "Дій не передбачено", "no_action": "Дій не передбачено",
@@ -867,13 +831,7 @@
"target_address": "Власники псевдоніму", "target_address": "Власники псевдоніму",
"tls_map_dest_info": "Приклади: example.org, .example.org, [mail.example.org]:25", "tls_map_dest_info": "Приклади: example.org, .example.org, [mail.example.org]:25",
"tls_map_parameters_info": "Залиште поле порожнім або вкажіть параметри, наприклад: protocols=!SSLv2 ciphers=medium exclude=3DES", "tls_map_parameters_info": "Залиште поле порожнім або вкажіть параметри, наприклад: protocols=!SSLv2 ciphers=medium exclude=3DES",
"tls_policy_maps_enforced_tls": "Для вихідних повідомлень від користувачів із включеною примусовою політикою шифрування вихідних з'єднань не описані глобальною політикою, будуть застосовані значення за замовчуванням, зазначені в <code>smtp_tls_mandatory_protocols</code> та <code>smtp_tls_mandatory_ciphers</code>.", "tls_policy_maps_enforced_tls": "Для вихідних повідомлень від користувачів із включеною примусовою політикою шифрування вихідних з'єднань не описані глобальною політикою, будуть застосовані значення за замовчуванням, зазначені в <code>smtp_tls_mandatory_protocols</code> та <code>smtp_tls_mandatory_ciphers</code>."
"add_template": "Додати шаблон",
"domain_templates": "Шаблони доменів",
"relay_unknown": "Ретрансляція невідомих поштових скриньок",
"mailbox_templates": "Шаблони поштових скриньок",
"templates": "Шаблони",
"template": "Шаблон"
}, },
"oauth2": { "oauth2": {
"authorize_app": "Авторизація додатка", "authorize_app": "Авторизація додатка",
@@ -938,20 +896,7 @@
"table_size_show_n": "Відображати %s полів" "table_size_show_n": "Відображати %s полів"
}, },
"queue": { "queue": {
"queue_manager": "Черга на відправлення", "queue_manager": "Черга на відправлення"
"delete": "Видалити все",
"info": "Поштова черга містить усі електронні листи, які очікують на доставку. Якщо електронний лист застряг у черзі на тривалий час, він автоматично видаляється системою.<br>Повідомлення про помилку відповідного листа містить інформацію про те, чому лист не може бути доставлено.",
"unhold_mail": "Зняти утримування",
"unhold_mail_legend": "Звільняє вибрані листи для доставки. (Потрібне попереднє утримання)",
"flush": "Очистити чергу",
"legend": "Функції дій з поштовими чергами:",
"ays": "Підтвердьте, що ви хочете видалити всі елементи з поточної черги.",
"deliver_mail": "Доставити",
"deliver_mail_legend": "проби повторної доставки вибраних листів.",
"hold_mail": "Утримати",
"hold_mail_legend": "Утримує вибрані листи. (Запобігає подальшим спробам доставки)",
"show_message": "Показати повідомлення",
"unban": "розблокувати чергу"
}, },
"ratelimit": { "ratelimit": {
"disabled": "Вимкнено", "disabled": "Вимкнено",
@@ -1043,12 +988,7 @@
"settings_map_added": "Правило додано", "settings_map_added": "Правило додано",
"tls_policy_map_entry_deleted": "Політику TLS ID %s видалено", "tls_policy_map_entry_deleted": "Політику TLS ID %s видалено",
"verified_totp_login": "Авторизацію TOTP пройдено", "verified_totp_login": "Авторизацію TOTP пройдено",
"domain_add_dkim_available": "Ключ DKIM вже існує", "domain_add_dkim_available": "Ключ DKIM вже існує"
"template_added": "Додано шаблон %s",
"template_modified": "Зміни до шаблону %s збережено",
"cors_headers_edited": "Налаштування CORS збережено",
"ip_check_opt_in_modified": "Перевірка IP-адреси успішно збережено",
"template_removed": "Шаблону із ID %s видалено"
}, },
"tfa": { "tfa": {
"confirm": "Підтвердьте", "confirm": "Підтвердьте",
@@ -1236,8 +1176,7 @@
"tag_help_explain": "Перемістити до підпапки: буде створено нову підпапку в INBOX з ім'ям тега, наприклад: \"INBOX/Facebook\".<br>\n Додати до теми листа: ім'я тега буде додано до теми листа, наприклад: \"[Facebook] My News\".", "tag_help_explain": "Перемістити до підпапки: буде створено нову підпапку в INBOX з ім'ям тега, наприклад: \"INBOX/Facebook\".<br>\n Додати до теми листа: ім'я тега буде додано до теми листа, наприклад: \"[Facebook] My News\".",
"tls_policy_warning": "<strong>Попередження:</strong> якщо ви увімкнете примусове шифрування пошти, ви можете зіткнутися з втратою листів.<br>Повідомлення, які не відповідають політиці, будуть відкидатися з повідомленням поштовим сервером про серйозний збій.<br>Цей параметр застосовується до вашої основної адреси електронної пошти (логіну), усім особистим псевдонімам та псевдонімам доменів. Маються на увазі лише псевдоніми <b>з однією поштовою скринькою</b>, як одержувач.", "tls_policy_warning": "<strong>Попередження:</strong> якщо ви увімкнете примусове шифрування пошти, ви можете зіткнутися з втратою листів.<br>Повідомлення, які не відповідають політиці, будуть відкидатися з повідомленням поштовим сервером про серйозний збій.<br>Цей параметр застосовується до вашої основної адреси електронної пошти (логіну), усім особистим псевдонімам та псевдонімам доменів. Маються на увазі лише псевдоніми <b>з однією поштовою скринькою</b>, як одержувач.",
"year": "рік", "year": "рік",
"years": "років", "years": "років"
"pushover_sound": "Звук"
}, },
"warning": { "warning": {
"domain_added_sogo_failed": "Домен був доданий, але перезавантажити SOGo не вдалося, будь ласка, перевірте журнали сервера.", "domain_added_sogo_failed": "Домен був доданий, але перезавантажити SOGo не вдалося, будь ласка, перевірте журнали сервера.",
@@ -1251,31 +1190,5 @@
"hash_not_found": "Хеш не знайдено або вже видалено", "hash_not_found": "Хеш не знайдено або вже видалено",
"ip_invalid": "Пропущено недійсний IP: %s", "ip_invalid": "Пропущено недійсний IP: %s",
"is_not_primary_alias": "Пропущено неосновний псевдонім %s" "is_not_primary_alias": "Пропущено неосновний псевдонім %s"
},
"datatables": {
"decimal": ".",
"infoPostFix": "datatables.infoPostFix",
"zeroRecords": "Відповідних записів не знайдено",
"aria": {
"sortAscending": ": активувати для сортування стовпців за зростанням",
"sortDescending": ": активувати для сортування стовпців за спаданням"
},
"emptyTable": "У таблиці немає даних",
"expand_all": "Розгорнути всі",
"info": "Показано від _START_ до _END_ of _TOTAL_ записів",
"infoEmpty": "Показано від 0 до 0 із 0 записів",
"infoFiltered": "(відфільтровано з _MAX_ всіх записів)",
"thousands": ",",
"lengthMenu": "Показати записи _MENU_",
"loadingRecords": "Завантаження...",
"processing": "Будь ласка, зачекайте...",
"search": "Пошук:",
"paginate": {
"first": "Перший",
"last": "Останній",
"next": "Наступний",
"previous": "Попередній"
},
"collapse_all": "Згорнути все"
} }
} }

View File

@@ -2,7 +2,7 @@ version: '2.1'
services: services:
unbound-mailcow: unbound-mailcow:
image: mailcow/unbound:1.17 image: mailcow/unbound:1.19
environment: environment:
- TZ=${TZ} - TZ=${TZ}
volumes: volumes:
@@ -58,7 +58,7 @@ services:
- redis - redis
clamd-mailcow: clamd-mailcow:
image: mailcow/clamd:1.61 image: mailcow/clamd:1.63
restart: always restart: always
depends_on: depends_on:
- unbound-mailcow - unbound-mailcow
@@ -76,7 +76,7 @@ services:
- clamd - clamd
rspamd-mailcow: rspamd-mailcow:
image: mailcow/rspamd:1.92 image: mailcow/rspamd:1.93
stop_grace_period: 30s stop_grace_period: 30s
depends_on: depends_on:
- dovecot-mailcow - dovecot-mailcow
@@ -106,7 +106,7 @@ services:
- rspamd - rspamd
php-fpm-mailcow: php-fpm-mailcow:
image: mailcow/phpfpm:1.84 image: mailcow/phpfpm:1.85
command: "php-fpm -d date.timezone=${TZ} -d expose_php=0" command: "php-fpm -d date.timezone=${TZ} -d expose_php=0"
depends_on: depends_on:
- redis-mailcow - redis-mailcow
@@ -170,7 +170,7 @@ services:
- phpfpm - phpfpm
sogo-mailcow: sogo-mailcow:
image: mailcow/sogo:1.118 image: mailcow/sogo:1.119
environment: environment:
- DBNAME=${DBNAME} - DBNAME=${DBNAME}
- DBUSER=${DBUSER} - DBUSER=${DBUSER}
@@ -217,7 +217,7 @@ services:
- sogo - sogo
dovecot-mailcow: dovecot-mailcow:
image: mailcow/dovecot:1.24 image: mailcow/dovecot:1.25
depends_on: depends_on:
- mysql-mailcow - mysql-mailcow
dns: dns:
@@ -297,7 +297,7 @@ services:
- dovecot - dovecot
postfix-mailcow: postfix-mailcow:
image: mailcow/postfix:1.71 image: mailcow/postfix:1.72
depends_on: depends_on:
- mysql-mailcow - mysql-mailcow
volumes: volumes:
@@ -391,7 +391,7 @@ services:
acme-mailcow: acme-mailcow:
depends_on: depends_on:
- nginx-mailcow - nginx-mailcow
image: mailcow/acme:1.84 image: mailcow/acme:1.85
dns: dns:
- ${IPV4_NETWORK:-172.22.1}.254 - ${IPV4_NETWORK:-172.22.1}.254
environment: environment:
@@ -427,7 +427,7 @@ services:
- acme - acme
netfilter-mailcow: netfilter-mailcow:
image: mailcow/netfilter:1.52 image: mailcow/netfilter:1.53
stop_grace_period: 30s stop_grace_period: 30s
depends_on: depends_on:
- dovecot-mailcow - dovecot-mailcow
@@ -450,7 +450,7 @@ services:
- /lib/modules:/lib/modules:ro - /lib/modules:/lib/modules:ro
watchdog-mailcow: watchdog-mailcow:
image: mailcow/watchdog:1.97 image: mailcow/watchdog:1.98
dns: dns:
- ${IPV4_NETWORK:-172.22.1}.254 - ${IPV4_NETWORK:-172.22.1}.254
tmpfs: tmpfs:
@@ -512,7 +512,7 @@ services:
- watchdog - watchdog
dockerapi-mailcow: dockerapi-mailcow:
image: mailcow/dockerapi:2.05 image: mailcow/dockerapi:2.06
security_opt: security_opt:
- label=disable - label=disable
restart: always restart: always
@@ -531,7 +531,7 @@ services:
- dockerapi - dockerapi
solr-mailcow: solr-mailcow:
image: mailcow/solr:1.8.1 image: mailcow/solr:1.8.2
restart: always restart: always
volumes: volumes:
- solr-vol-1:/opt/solr/server/solr/dovecot-fts/data - solr-vol-1:/opt/solr/server/solr/dovecot-fts/data
@@ -547,7 +547,7 @@ services:
- solr - solr
olefy-mailcow: olefy-mailcow:
image: mailcow/olefy:1.11 image: mailcow/olefy:1.12
restart: always restart: always
environment: environment:
- TZ=${TZ} - TZ=${TZ}

View File

@@ -189,7 +189,7 @@ if [[ ${SKIP_BRANCH} != y ]]; then
done done
git fetch --all git fetch --all
git checkout -f $MAILCOW_BRANCH git checkout -f $git_branch
elif [[ ${SKIP_BRANCH} == y ]]; then elif [[ ${SKIP_BRANCH} == y ]]; then
echo -e "\033[33mEnabled Dev Mode.\033[0m" echo -e "\033[33mEnabled Dev Mode.\033[0m"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# renovate: datasource=github-releases depName=nextcloud/server versioning=semver extractVersion=^v(?<version>.*)$ # renovate: datasource=github-releases depName=nextcloud/server versioning=semver extractVersion=^v(?<version>.*)$
NEXTCLOUD_VERSION=27.0.2 NEXTCLOUD_VERSION=27.0.1
echo -ne "Checking prerequisites..." echo -ne "Checking prerequisites..."
sleep 1 sleep 1