mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 18:06:09 +00:00
v2.2.1 hotfix: fix telemt download grep pattern (grep -iE), add QR cleanup, bump version to 2.2.1
This commit is contained in:
610
lib/telemt.sh
610
lib/telemt.sh
@@ -1,305 +1,305 @@
|
||||
#!/bin/bash
|
||||
# GoTelegram v2.2 — Управление telemt binary
|
||||
# Скачивание, обновление, запуск, остановка через systemd
|
||||
|
||||
TELEMT_GITHUB="telemt/telemt"
|
||||
TELEMT_RELEASE_API="https://api.github.com/repos/${TELEMT_GITHUB}/releases/latest"
|
||||
TELEMT_USER="telemt"
|
||||
TELEMT_GROUP="telemt"
|
||||
|
||||
# ── Получение последней версии ───────────────────────────────────────────────
|
||||
get_latest_telemt_version() {
|
||||
local resp
|
||||
resp=$(curl -s --max-time 10 "$TELEMT_RELEASE_API" 2>/dev/null)
|
||||
if [ $? -ne 0 ] || [ -z "$resp" ]; then
|
||||
log_error "Не удалось получить информацию о релизах telemt"
|
||||
return 1
|
||||
fi
|
||||
echo "$resp" | jq -r '.tag_name // empty'
|
||||
}
|
||||
|
||||
get_telemt_download_url() {
|
||||
local arch
|
||||
arch=$(get_arch)
|
||||
local resp
|
||||
resp=$(curl -s --max-time 10 "$TELEMT_RELEASE_API" 2>/dev/null)
|
||||
if [ -z "$resp" ]; then return 1; fi
|
||||
|
||||
local pattern
|
||||
case "$arch" in
|
||||
amd64) pattern="linux.*amd64\|linux.*x86_64" ;;
|
||||
arm64) pattern="linux.*arm64\|linux.*aarch64" ;;
|
||||
armv7) pattern="linux.*armv7\|linux.*arm" ;;
|
||||
*) pattern="linux.*${arch}" ;;
|
||||
esac
|
||||
|
||||
echo "$resp" | jq -r ".assets[].browser_download_url" 2>/dev/null | grep -i "$pattern" | head -1
|
||||
}
|
||||
|
||||
# ── Установленная версия ─────────────────────────────────────────────────────
|
||||
get_installed_telemt_version() {
|
||||
if [ -x "$TELEMT_BIN" ]; then
|
||||
"$TELEMT_BIN" --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
is_telemt_installed() {
|
||||
[ -x "$TELEMT_BIN" ]
|
||||
}
|
||||
|
||||
# ── Скачивание и установка ───────────────────────────────────────────────────
|
||||
download_telemt() {
|
||||
local url
|
||||
url=$(get_telemt_download_url)
|
||||
if [ -z "$url" ]; then
|
||||
log_error "Не найден бинарник telemt для архитектуры $(get_arch)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local tmp_file="/tmp/telemt_download_$$"
|
||||
log_info "Скачивание: $url"
|
||||
|
||||
if ! curl -L -s --max-time 120 -o "$tmp_file" "$url"; then
|
||||
log_error "Ошибка скачивания telemt"
|
||||
rm -f "$tmp_file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Определяем тип файла и распаковываем
|
||||
local mime
|
||||
mime=$(file -b --mime-type "$tmp_file" 2>/dev/null)
|
||||
|
||||
case "$mime" in
|
||||
application/gzip|application/x-gzip)
|
||||
tar xzf "$tmp_file" -C /tmp/ 2>/dev/null
|
||||
local extracted
|
||||
extracted=$(find /tmp -maxdepth 2 -name "telemt" -type f -newer "$tmp_file" 2>/dev/null | head -1)
|
||||
if [ -z "$extracted" ]; then
|
||||
# Может быть просто gzip без tar
|
||||
gunzip -c "$tmp_file" > /tmp/telemt_bin_$$ 2>/dev/null
|
||||
extracted="/tmp/telemt_bin_$$"
|
||||
fi
|
||||
;;
|
||||
application/x-tar)
|
||||
tar xf "$tmp_file" -C /tmp/ 2>/dev/null
|
||||
extracted=$(find /tmp -maxdepth 2 -name "telemt" -type f -newer "$tmp_file" 2>/dev/null | head -1)
|
||||
;;
|
||||
application/zip)
|
||||
unzip -o "$tmp_file" -d /tmp/telemt_extract_$$ 2>/dev/null
|
||||
extracted=$(find /tmp/telemt_extract_$$ -name "telemt" -type f 2>/dev/null | head -1)
|
||||
;;
|
||||
application/octet-stream|application/x-executable)
|
||||
# Уже бинарник
|
||||
extracted="$tmp_file"
|
||||
;;
|
||||
*)
|
||||
# Пробуем как бинарник
|
||||
extracted="$tmp_file"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$extracted" ] || [ ! -f "$extracted" ]; then
|
||||
log_error "Не удалось извлечь бинарник telemt"
|
||||
rm -f "$tmp_file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Устанавливаем
|
||||
cp "$extracted" "$TELEMT_BIN"
|
||||
chmod 755 "$TELEMT_BIN"
|
||||
rm -f "$tmp_file"
|
||||
rm -rf /tmp/telemt_extract_$$ /tmp/telemt_bin_$$
|
||||
|
||||
# Проверяем
|
||||
if "$TELEMT_BIN" --version &>/dev/null; then
|
||||
log_success "telemt $(get_installed_telemt_version) установлен в $TELEMT_BIN"
|
||||
return 0
|
||||
else
|
||||
log_error "Бинарник telemt не запускается"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Системный пользователь ───────────────────────────────────────────────────
|
||||
create_telemt_user() {
|
||||
if ! id "$TELEMT_USER" &>/dev/null; then
|
||||
useradd -r -s /usr/sbin/nologin -d /etc/telemt "$TELEMT_USER" 2>/dev/null
|
||||
log_dim "Создан системный пользователь: $TELEMT_USER"
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Systemd сервис ───────────────────────────────────────────────────────────
|
||||
install_telemt_service() {
|
||||
local config_path="${1:-$TELEMT_CONFIG}"
|
||||
|
||||
cat > "/etc/systemd/system/${TELEMT_SERVICE}.service" << EOF
|
||||
[Unit]
|
||||
Description=GoTelegram MTProxy (telemt engine)
|
||||
Documentation=https://github.com/telemt/telemt
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
ExecStart=$TELEMT_BIN run $config_path
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
LimitNOFILE=65535
|
||||
|
||||
# Безопасность
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/etc/telemt /var/log
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
log_success "Systemd сервис $TELEMT_SERVICE создан"
|
||||
}
|
||||
|
||||
# ── Управление сервисом ──────────────────────────────────────────────────────
|
||||
start_telemt() {
|
||||
systemctl start "$TELEMT_SERVICE" 2>/dev/null
|
||||
sleep 2
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE"; then
|
||||
log_success "telemt запущен"
|
||||
return 0
|
||||
else
|
||||
log_error "telemt не запустился"
|
||||
journalctl -u "$TELEMT_SERVICE" --no-pager -n 10 2>/dev/null
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
stop_telemt() {
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE" 2>/dev/null; then
|
||||
systemctl stop "$TELEMT_SERVICE"
|
||||
log_success "telemt остановлен"
|
||||
else
|
||||
log_dim "telemt уже остановлен"
|
||||
fi
|
||||
}
|
||||
|
||||
restart_telemt() {
|
||||
systemctl restart "$TELEMT_SERVICE" 2>/dev/null
|
||||
sleep 2
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE"; then
|
||||
log_success "telemt перезапущен"
|
||||
return 0
|
||||
else
|
||||
log_error "telemt не перезапустился"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
enable_telemt() {
|
||||
systemctl enable "$TELEMT_SERVICE" 2>/dev/null
|
||||
}
|
||||
|
||||
telemt_status() {
|
||||
if ! is_telemt_installed; then
|
||||
echo "not_installed"
|
||||
return
|
||||
fi
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE" 2>/dev/null; then
|
||||
echo "running"
|
||||
elif systemctl is-enabled --quiet "$TELEMT_SERVICE" 2>/dev/null; then
|
||||
echo "stopped"
|
||||
else
|
||||
echo "disabled"
|
||||
fi
|
||||
}
|
||||
|
||||
telemt_logs() {
|
||||
local lines="${1:-40}"
|
||||
journalctl -u "$TELEMT_SERVICE" --no-pager -n "$lines" 2>/dev/null
|
||||
}
|
||||
|
||||
telemt_uptime() {
|
||||
local started
|
||||
started=$(systemctl show "$TELEMT_SERVICE" --property=ActiveEnterTimestamp --value 2>/dev/null)
|
||||
if [ -n "$started" ] && [ "$started" != "" ]; then
|
||||
echo "$started"
|
||||
else
|
||||
echo "N/A"
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Обновление ───────────────────────────────────────────────────────────────
|
||||
check_telemt_update() {
|
||||
local current latest
|
||||
current=$(get_installed_telemt_version)
|
||||
latest=$(get_latest_telemt_version)
|
||||
|
||||
if [ -z "$current" ] || [ -z "$latest" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$current" != "$latest" ]; then
|
||||
echo "$latest"
|
||||
return 0 # есть обновление
|
||||
fi
|
||||
return 1 # актуально
|
||||
}
|
||||
|
||||
update_telemt() {
|
||||
local latest
|
||||
latest=$(check_telemt_update)
|
||||
if [ $? -ne 0 ]; then
|
||||
log_info "telemt уже последней версии ($(get_installed_telemt_version))"
|
||||
return 0
|
||||
fi
|
||||
|
||||
log_info "Доступно обновление: $(get_installed_telemt_version) → $latest"
|
||||
if ! confirm "Обновить telemt?"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
stop_telemt
|
||||
if download_telemt; then
|
||||
start_telemt
|
||||
log_success "telemt обновлён до $latest"
|
||||
else
|
||||
start_telemt # запускаем старую версию обратно
|
||||
log_error "Обновление не удалось"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Полная установка telemt ──────────────────────────────────────────────────
|
||||
install_telemt_full() {
|
||||
log_step "Установка telemt"
|
||||
|
||||
# Создаём директории
|
||||
mkdir -p /etc/telemt
|
||||
|
||||
# Скачиваем бинарник
|
||||
run_with_spinner "Скачивание telemt" download_telemt || return 1
|
||||
|
||||
# Устанавливаем systemd сервис
|
||||
install_telemt_service
|
||||
|
||||
# Включаем автозапуск
|
||||
enable_telemt
|
||||
|
||||
log_success "telemt готов к работе"
|
||||
return 0
|
||||
}
|
||||
|
||||
# ── Удаление telemt ──────────────────────────────────────────────────────────
|
||||
remove_telemt() {
|
||||
stop_telemt
|
||||
systemctl disable "$TELEMT_SERVICE" 2>/dev/null
|
||||
rm -f "/etc/systemd/system/${TELEMT_SERVICE}.service"
|
||||
systemctl daemon-reload
|
||||
rm -f "$TELEMT_BIN"
|
||||
rm -rf /etc/telemt
|
||||
log_success "telemt полностью удалён"
|
||||
}
|
||||
#!/bin/bash
|
||||
# GoTelegram v2.2 — Управление telemt binary
|
||||
# Скачивание, обновление, запуск, остановка через systemd
|
||||
|
||||
TELEMT_GITHUB="telemt/telemt"
|
||||
TELEMT_RELEASE_API="https://api.github.com/repos/${TELEMT_GITHUB}/releases/latest"
|
||||
TELEMT_USER="telemt"
|
||||
TELEMT_GROUP="telemt"
|
||||
|
||||
# ── Получение последней версии ───────────────────────────────────────────────
|
||||
get_latest_telemt_version() {
|
||||
local resp
|
||||
resp=$(curl -s --max-time 10 "$TELEMT_RELEASE_API" 2>/dev/null)
|
||||
if [ $? -ne 0 ] || [ -z "$resp" ]; then
|
||||
log_error "Не удалось получить информацию о релизах telemt"
|
||||
return 1
|
||||
fi
|
||||
echo "$resp" | jq -r '.tag_name // empty'
|
||||
}
|
||||
|
||||
get_telemt_download_url() {
|
||||
local arch
|
||||
arch=$(get_arch)
|
||||
local resp
|
||||
resp=$(curl -s --max-time 10 "$TELEMT_RELEASE_API" 2>/dev/null)
|
||||
if [ -z "$resp" ]; then return 1; fi
|
||||
|
||||
local pattern
|
||||
case "$arch" in
|
||||
amd64) pattern="linux.*(amd64|x86_64)" ;;
|
||||
arm64) pattern="linux.*(arm64|aarch64)" ;;
|
||||
armv7) pattern="linux.*(armv7|arm)" ;;
|
||||
*) pattern="linux.*${arch}" ;;
|
||||
esac
|
||||
|
||||
echo "$resp" | jq -r ".assets[].browser_download_url" 2>/dev/null | grep -iE "$pattern" | head -1
|
||||
}
|
||||
|
||||
# ── Установленная версия ─────────────────────────────────────────────────────
|
||||
get_installed_telemt_version() {
|
||||
if [ -x "$TELEMT_BIN" ]; then
|
||||
"$TELEMT_BIN" --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
is_telemt_installed() {
|
||||
[ -x "$TELEMT_BIN" ]
|
||||
}
|
||||
|
||||
# ── Скачивание и установка ───────────────────────────────────────────────────
|
||||
download_telemt() {
|
||||
local url
|
||||
url=$(get_telemt_download_url)
|
||||
if [ -z "$url" ]; then
|
||||
log_error "Не найден бинарник telemt для архитектуры $(get_arch)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local tmp_file="/tmp/telemt_download_$$"
|
||||
log_info "Скачивание: $url"
|
||||
|
||||
if ! curl -L -s --max-time 120 -o "$tmp_file" "$url"; then
|
||||
log_error "Ошибка скачивания telemt"
|
||||
rm -f "$tmp_file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Определяем тип файла и распаковываем
|
||||
local mime
|
||||
mime=$(file -b --mime-type "$tmp_file" 2>/dev/null)
|
||||
|
||||
case "$mime" in
|
||||
application/gzip|application/x-gzip)
|
||||
tar xzf "$tmp_file" -C /tmp/ 2>/dev/null
|
||||
local extracted
|
||||
extracted=$(find /tmp -maxdepth 2 -name "telemt" -type f -newer "$tmp_file" 2>/dev/null | head -1)
|
||||
if [ -z "$extracted" ]; then
|
||||
# Может быть просто gzip без tar
|
||||
gunzip -c "$tmp_file" > /tmp/telemt_bin_$$ 2>/dev/null
|
||||
extracted="/tmp/telemt_bin_$$"
|
||||
fi
|
||||
;;
|
||||
application/x-tar)
|
||||
tar xf "$tmp_file" -C /tmp/ 2>/dev/null
|
||||
extracted=$(find /tmp -maxdepth 2 -name "telemt" -type f -newer "$tmp_file" 2>/dev/null | head -1)
|
||||
;;
|
||||
application/zip)
|
||||
unzip -o "$tmp_file" -d /tmp/telemt_extract_$$ 2>/dev/null
|
||||
extracted=$(find /tmp/telemt_extract_$$ -name "telemt" -type f 2>/dev/null | head -1)
|
||||
;;
|
||||
application/octet-stream|application/x-executable)
|
||||
# Уже бинарник
|
||||
extracted="$tmp_file"
|
||||
;;
|
||||
*)
|
||||
# Пробуем как бинарник
|
||||
extracted="$tmp_file"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$extracted" ] || [ ! -f "$extracted" ]; then
|
||||
log_error "Не удалось извлечь бинарник telemt"
|
||||
rm -f "$tmp_file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Устанавливаем
|
||||
cp "$extracted" "$TELEMT_BIN"
|
||||
chmod 755 "$TELEMT_BIN"
|
||||
rm -f "$tmp_file"
|
||||
rm -rf /tmp/telemt_extract_$$ /tmp/telemt_bin_$$
|
||||
|
||||
# Проверяем
|
||||
if "$TELEMT_BIN" --version &>/dev/null; then
|
||||
log_success "telemt $(get_installed_telemt_version) установлен в $TELEMT_BIN"
|
||||
return 0
|
||||
else
|
||||
log_error "Бинарник telemt не запускается"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Системный пользователь ───────────────────────────────────────────────────
|
||||
create_telemt_user() {
|
||||
if ! id "$TELEMT_USER" &>/dev/null; then
|
||||
useradd -r -s /usr/sbin/nologin -d /etc/telemt "$TELEMT_USER" 2>/dev/null
|
||||
log_dim "Создан системный пользователь: $TELEMT_USER"
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Systemd сервис ───────────────────────────────────────────────────────────
|
||||
install_telemt_service() {
|
||||
local config_path="${1:-$TELEMT_CONFIG}"
|
||||
|
||||
cat > "/etc/systemd/system/${TELEMT_SERVICE}.service" << EOF
|
||||
[Unit]
|
||||
Description=GoTelegram MTProxy (telemt engine)
|
||||
Documentation=https://github.com/telemt/telemt
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
ExecStart=$TELEMT_BIN run $config_path
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
LimitNOFILE=65535
|
||||
|
||||
# Безопасность
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/etc/telemt /var/log
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
log_success "Systemd сервис $TELEMT_SERVICE создан"
|
||||
}
|
||||
|
||||
# ── Управление сервисом ──────────────────────────────────────────────────────
|
||||
start_telemt() {
|
||||
systemctl start "$TELEMT_SERVICE" 2>/dev/null
|
||||
sleep 2
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE"; then
|
||||
log_success "telemt запущен"
|
||||
return 0
|
||||
else
|
||||
log_error "telemt не запустился"
|
||||
journalctl -u "$TELEMT_SERVICE" --no-pager -n 10 2>/dev/null
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
stop_telemt() {
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE" 2>/dev/null; then
|
||||
systemctl stop "$TELEMT_SERVICE"
|
||||
log_success "telemt остановлен"
|
||||
else
|
||||
log_dim "telemt уже остановлен"
|
||||
fi
|
||||
}
|
||||
|
||||
restart_telemt() {
|
||||
systemctl restart "$TELEMT_SERVICE" 2>/dev/null
|
||||
sleep 2
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE"; then
|
||||
log_success "telemt перезапущен"
|
||||
return 0
|
||||
else
|
||||
log_error "telemt не перезапустился"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
enable_telemt() {
|
||||
systemctl enable "$TELEMT_SERVICE" 2>/dev/null
|
||||
}
|
||||
|
||||
telemt_status() {
|
||||
if ! is_telemt_installed; then
|
||||
echo "not_installed"
|
||||
return
|
||||
fi
|
||||
if systemctl is-active --quiet "$TELEMT_SERVICE" 2>/dev/null; then
|
||||
echo "running"
|
||||
elif systemctl is-enabled --quiet "$TELEMT_SERVICE" 2>/dev/null; then
|
||||
echo "stopped"
|
||||
else
|
||||
echo "disabled"
|
||||
fi
|
||||
}
|
||||
|
||||
telemt_logs() {
|
||||
local lines="${1:-40}"
|
||||
journalctl -u "$TELEMT_SERVICE" --no-pager -n "$lines" 2>/dev/null
|
||||
}
|
||||
|
||||
telemt_uptime() {
|
||||
local started
|
||||
started=$(systemctl show "$TELEMT_SERVICE" --property=ActiveEnterTimestamp --value 2>/dev/null)
|
||||
if [ -n "$started" ] && [ "$started" != "" ]; then
|
||||
echo "$started"
|
||||
else
|
||||
echo "N/A"
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Обновление ───────────────────────────────────────────────────────────────
|
||||
check_telemt_update() {
|
||||
local current latest
|
||||
current=$(get_installed_telemt_version)
|
||||
latest=$(get_latest_telemt_version)
|
||||
|
||||
if [ -z "$current" ] || [ -z "$latest" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$current" != "$latest" ]; then
|
||||
echo "$latest"
|
||||
return 0 # есть обновление
|
||||
fi
|
||||
return 1 # актуально
|
||||
}
|
||||
|
||||
update_telemt() {
|
||||
local latest
|
||||
latest=$(check_telemt_update)
|
||||
if [ $? -ne 0 ]; then
|
||||
log_info "telemt уже последней версии ($(get_installed_telemt_version))"
|
||||
return 0
|
||||
fi
|
||||
|
||||
log_info "Доступно обновление: $(get_installed_telemt_version) → $latest"
|
||||
if ! confirm "Обновить telemt?"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
stop_telemt
|
||||
if download_telemt; then
|
||||
start_telemt
|
||||
log_success "telemt обновлён до $latest"
|
||||
else
|
||||
start_telemt # запускаем старую версию обратно
|
||||
log_error "Обновление не удалось"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Полная установка telemt ──────────────────────────────────────────────────
|
||||
install_telemt_full() {
|
||||
log_step "Установка telemt"
|
||||
|
||||
# Создаём директории
|
||||
mkdir -p /etc/telemt
|
||||
|
||||
# Скачиваем бинарник
|
||||
run_with_spinner "Скачивание telemt" download_telemt || return 1
|
||||
|
||||
# Устанавливаем systemd сервис
|
||||
install_telemt_service
|
||||
|
||||
# Включаем автозапуск
|
||||
enable_telemt
|
||||
|
||||
log_success "telemt готов к работе"
|
||||
return 0
|
||||
}
|
||||
|
||||
# ── Удаление telemt ──────────────────────────────────────────────────────────
|
||||
remove_telemt() {
|
||||
stop_telemt
|
||||
systemctl disable "$TELEMT_SERVICE" 2>/dev/null
|
||||
rm -f "/etc/systemd/system/${TELEMT_SERVICE}.service"
|
||||
systemctl daemon-reload
|
||||
rm -f "$TELEMT_BIN"
|
||||
rm -rf /etc/telemt
|
||||
log_success "telemt полностью удалён"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user