Init repo
This commit is contained in:
commit
68fa37802c
3 files changed
+698
No files matched your search
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
CONTAINER="amnezia-awg2"
|
||||
|
||||
case "$1" in
|
||||
discovery)
|
||||
# Генерируем LLD JSON со списком IP-адресов клиентов
|
||||
echo -n '{"data":['
|
||||
first=1
|
||||
# dump выводит: public_key preshared_key endpoint allowed_ips latest_handshake transfer_rx transfer_tx persistent_keepalive
|
||||
while read -r pub psk endп allowed hand rx tx keep; do
|
||||
[ -z "$allowed" ] && continue
|
||||
ip=$(echo "$allowed" | cut -d'/' -f1)
|
||||
# Убираем двоеточие из пустых полей, если пир не подключался
|
||||
[ "$ip" = "(none)" ] && continue
|
||||
|
||||
if [ $first -eq 0 ]; then echo -n ','; fi
|
||||
echo -n "{\"{#PEER_IP}\":\"$ip\", \"{#PEER_KEY}\":\"${pub:0:8}\"}"
|
||||
first=0
|
||||
done < <(docker exec $CONTAINER awg show awg0 dump 2>/dev/null | tail -n +2)
|
||||
echo ']}'
|
||||
;;
|
||||
rx)
|
||||
# Получаем полученный трафик (в байтах) по IP клиента
|
||||
docker exec $CONTAINER awg show awg0 dump 2>/dev/null | grep "$2/" | awk '{print $6}'
|
||||
;;
|
||||
tx)
|
||||
# Получаем переданный трафик (в байтах) по IP клиента
|
||||
docker exec $CONTAINER awg show awg0 dump 2>/dev/null | grep "$2/" | awk '{print $7}'
|
||||
;;
|
||||
handshake)
|
||||
# Время последнего handshake (Unix Timestamp)
|
||||
# Чтобы понять, сколько секунд назад было подключение: Текущее время минус это значение
|
||||
# Если 0 - клиент никогда не подключался
|
||||
echo $(docker exec $CONTAINER awg show awg0 dump 2>/dev/null | grep "$2/" | awk '{print $5}')
|
||||
;;
|
||||
esac
|
||||
Reference in new issue
Block a user