134 lines
7.8 KiB
Bash
Executable File
134 lines
7.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# Удаление социальных сетей, GitHub и лицензии из футера
|
||
|
||
set -e
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
CONTAINER_NAME="open-webui"
|
||
|
||
echo "=== Удаление социальных сетей, GitHub и лицензии из футера ==="
|
||
echo ""
|
||
|
||
if ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||
echo "Ошибка: Контейнер ${CONTAINER_NAME} не запущен."
|
||
exit 1
|
||
fi
|
||
|
||
echo "1. Удаление ссылок на Discord..."
|
||
|
||
docker exec "${CONTAINER_NAME}" find /app -type f \
|
||
! -path "*/node_modules/*" ! -path "*/.next/*" \
|
||
! -path "*/oauth*" ! -path "*/oidc*" ! -path "*authentik*" ! -path "*openid*" \
|
||
2>/dev/null | while read file; do
|
||
if docker exec "${CONTAINER_NAME}" file "$file" 2>/dev/null | grep -q "text\|JSON\|ASCII"; then
|
||
if docker exec "${CONTAINER_NAME}" grep -qE "discord\.gg|discord\.com|Discord" "$file" 2>/dev/null; then
|
||
echo " Удаление Discord из: $file"
|
||
# Удаляем строки с Discord
|
||
docker exec "${CONTAINER_NAME}" sed -i '/discord\.gg/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/discord\.com/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Discord/d' "$file" 2>/dev/null || true
|
||
# Удаляем ссылки
|
||
docker exec "${CONTAINER_NAME}" sed -i 's|https://discord.gg/[^"]*||g' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i 's|https://discord.com/[^"]*||g' "$file" 2>/dev/null || true
|
||
fi
|
||
fi
|
||
done
|
||
|
||
echo "2. Удаление ссылок на Twitter/X..."
|
||
|
||
docker exec "${CONTAINER_NAME}" find /app -type f \
|
||
! -path "*/node_modules/*" ! -path "*/.next/*" \
|
||
! -path "*/oauth*" ! -path "*/oidc*" ! -path "*authentik*" ! -path "*openid*" \
|
||
2>/dev/null | while read file; do
|
||
if docker exec "${CONTAINER_NAME}" file "$file" 2>/dev/null | grep -q "text\|JSON\|ASCII"; then
|
||
if docker exec "${CONTAINER_NAME}" grep -qE "twitter\.com|x\.com|X \(formerly Twitter\)|Twitter" "$file" 2>/dev/null; then
|
||
echo " Удаление Twitter/X из: $file"
|
||
# Удаляем строки с Twitter/X
|
||
docker exec "${CONTAINER_NAME}" sed -i '/twitter\.com/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/x\.com/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/X (formerly Twitter)/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Twitter/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Follow/d' "$file" 2>/dev/null || true
|
||
# Удаляем ссылки
|
||
docker exec "${CONTAINER_NAME}" sed -i 's|https://twitter.com/[^"]*||g' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i 's|https://x.com/[^"]*||g' "$file" 2>/dev/null || true
|
||
fi
|
||
fi
|
||
done
|
||
|
||
echo "3. Удаление ссылок на GitHub Repo..."
|
||
|
||
docker exec "${CONTAINER_NAME}" find /app -type f \
|
||
! -path "*/node_modules/*" ! -path "*/.next/*" \
|
||
! -path "*/oauth*" ! -path "*/oidc*" ! -path "*authentik*" ! -path "*openid*" \
|
||
2>/dev/null | while read file; do
|
||
if docker exec "${CONTAINER_NAME}" file "$file" 2>/dev/null | grep -q "text\|JSON\|ASCII"; then
|
||
if docker exec "${CONTAINER_NAME}" grep -qE "github\.com/open-webui|Github Repo|GitHub" "$file" 2>/dev/null; then
|
||
echo " Удаление GitHub из: $file"
|
||
# Удаляем строки с GitHub
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Github Repo/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/GitHub Repo/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/github\.com\/open-webui/d' "$file" 2>/dev/null || true
|
||
# Удаляем ссылки на GitHub repo (но не все GitHub ссылки, только repo)
|
||
docker exec "${CONTAINER_NAME}" sed -i 's|https://github.com/open-webui/[^"]*||g' "$file" 2>/dev/null || true
|
||
fi
|
||
fi
|
||
done
|
||
|
||
echo "4. Удаление строки про лицензию и тарифный план..."
|
||
|
||
docker exec "${CONTAINER_NAME}" find /app -type f \
|
||
! -path "*/node_modules/*" ! -path "*/.next/*" \
|
||
! -path "*/oauth*" ! -path "*/oidc*" ! -path "*authentik*" ! -path "*openid*" \
|
||
2>/dev/null | while read file; do
|
||
if docker exec "${CONTAINER_NAME}" file "$file" 2>/dev/null | grep -q "text\|JSON\|ASCII"; then
|
||
if docker exec "${CONTAINER_NAME}" grep -qE "лицензионный тарифный план|Перейдите на лицензионный|License|license|upgrade|Upgrade|тарифный план" "$file" 2>/dev/null; then
|
||
echo " Удаление лицензии из: $file"
|
||
# Удаляем строки про лицензию
|
||
docker exec "${CONTAINER_NAME}" sed -i '/лицензионный тарифный план/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Перейдите на лицензионный/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/расширенные возможности/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/настраиваемую тематику/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/фирменный стиль/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/специальную поддержку/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/License/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Лицензия/d' "$file" 2>/dev/null || true
|
||
fi
|
||
fi
|
||
done
|
||
|
||
echo "5. Удаление всего блока 'Помощь' (Help section)..."
|
||
|
||
docker exec "${CONTAINER_NAME}" find /app/web -type f \( -name "*.svelte" -o -name "*.html" -o -name "*.js" -o -name "*.ts" \) \
|
||
! -path "*/node_modules/*" ! -path "*/.next/*" \
|
||
2>/dev/null | while read file; do
|
||
if docker exec "${CONTAINER_NAME}" file "$file" 2>/dev/null | grep -q "text\|JSON\|ASCII"; then
|
||
if docker exec "${CONTAINER_NAME}" grep -qE "Помощь|Узнайте, как использовать|обратитесь за поддержкой|Документация" "$file" 2>/dev/null; then
|
||
echo " Удаление блока помощи из: $file"
|
||
# Удаляем строки из блока помощи
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Помощь/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/Узнайте, как использовать/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/обратитесь за поддержкой/d' "$file" 2>/dev/null || true
|
||
docker exec "${CONTAINER_NAME}" sed -i '/к сообществу/d' "$file" 2>/dev/null || true
|
||
fi
|
||
fi
|
||
done
|
||
|
||
echo ""
|
||
echo "6. Перезапуск контейнера..."
|
||
|
||
docker restart "${CONTAINER_NAME}" >/dev/null 2>&1 || {
|
||
echo "Предупреждение: Перезапустите вручную: docker restart ${CONTAINER_NAME}"
|
||
}
|
||
|
||
echo ""
|
||
echo "=== Удаление завершено! ==="
|
||
echo ""
|
||
echo "Проверьте:"
|
||
echo " 1. Откройте https://odo.iieasy.ru"
|
||
echo " 2. В футере не должно быть ссылок на Discord, Twitter/X, GitHub"
|
||
echo " 3. Не должно быть строки про лицензию"
|
||
echo ""
|
||
echo "ВАЖНО: Очистите кеш браузера (Ctrl+Shift+Delete)"
|