feat: issue #9 — лог установки в ~/.config/ai-setup/setup.log
- setup.sh: функция _log(), вызов при каждом пункте меню - scripts/ru-bypass.sh, ks-on.sh, ks-off.sh: пишут события в лог через USER_HOME - setup.sh item 5: показывает tail -10 лога в «Последние события» - USER_HOME передаётся через sudo env в ks-on/ks-off/ru-bypass Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,3 +15,5 @@ echo "Готово. UFW выключен."
|
||||
echo "Теперь отключи Amnezia через её GUI — трафик пойдёт напрямую (российский IP)."
|
||||
echo ""
|
||||
echo "Чтобы вернуть kill switch: sudo bash ks-on.sh"
|
||||
_log_file="${USER_HOME:-$HOME}/.config/ai-setup/setup.log"
|
||||
printf '%s [ks-off] Kill switch отключён на %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$(hostname)" >> "$_log_file" 2>/dev/null || true
|
||||
|
||||
@@ -40,3 +40,5 @@ echo ""
|
||||
echo "Готово. Kill switch активен."
|
||||
echo ""
|
||||
ufw status | head -3
|
||||
_log_file="${USER_HOME:-$HOME}/.config/ai-setup/setup.log"
|
||||
printf '%s [ks-on] Kill switch включён на %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$(hostname)" >> "$_log_file" 2>/dev/null || true
|
||||
|
||||
@@ -234,3 +234,6 @@ RU_EXAMPLE=$(dig +short ya.ru A 2>/dev/null | head -1)
|
||||
echo " ip route get 8.8.8.8 -> dev amn0 (через VPN)"
|
||||
echo " ip route get ${RU_EXAMPLE:-<ya.ru ip>} -> dev $DEV (напрямую .ru)"
|
||||
echo " ip route get 10.10.0.1 -> dev $DEV (напрямую *.loc / RFC1918)"
|
||||
_log_file="${USER_HOME:-$HOME}/.config/ai-setup/setup.log"
|
||||
printf '%s [ru-bypass] GATEWAY=%s DEV=%s, блоков: %s\n' \
|
||||
"$(date '+%Y-%m-%d %H:%M:%S')" "$GATEWAY" "$DEV" "$ENTRIES" >> "$_log_file" 2>/dev/null || true
|
||||
|
||||
18
setup.sh
18
setup.sh
@@ -8,6 +8,10 @@ YEL='\033[0;33m'
|
||||
GRY='\033[0;37m'
|
||||
CLR='\033[0m'
|
||||
|
||||
mkdir -p "$HOME/.config/ai-setup"
|
||||
LOG="$HOME/.config/ai-setup/setup.log"
|
||||
_log() { printf '%s [%s] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$1" "$2" >> "$LOG"; }
|
||||
|
||||
echo ""
|
||||
echo -e "${BLD}=== AI Setup ===${CLR}"
|
||||
echo ""
|
||||
@@ -44,6 +48,8 @@ echo -n "Выбери [1-7] или Enter для выхода: "
|
||||
read -r choice
|
||||
echo ""
|
||||
|
||||
[ -n "$choice" ] && _log "setup" "Пункт $choice на $(hostname)"
|
||||
|
||||
case "$choice" in
|
||||
1)
|
||||
bash scripts/ai-setup.sh
|
||||
@@ -100,10 +106,10 @@ case "$choice" in
|
||||
echo -n "Продолжить? [y/N] "
|
||||
read -r confirm
|
||||
[ "$confirm" = "y" ] || [ "$confirm" = "Y" ] || exit 0
|
||||
sudo bash scripts/ks-off.sh
|
||||
sudo USER_HOME="$HOME" bash scripts/ks-off.sh
|
||||
;;
|
||||
4)
|
||||
sudo bash scripts/ks-on.sh
|
||||
sudo USER_HOME="$HOME" bash scripts/ks-on.sh
|
||||
;;
|
||||
5)
|
||||
echo -e "${BLD}=== Статус ===${CLR}"
|
||||
@@ -171,6 +177,14 @@ case "$choice" in
|
||||
echo -e " ${YEL}✗${CLR} $_name: недоступен"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo -e "${BLD}Последние события:${CLR}"
|
||||
if [ -f "$LOG" ]; then
|
||||
tail -10 "$LOG" | sed 's/^/ /'
|
||||
else
|
||||
echo " (лог пуст)"
|
||||
fi
|
||||
;;
|
||||
6)
|
||||
bash tests/test_network.sh
|
||||
|
||||
Reference in New Issue
Block a user