system: update

This commit is contained in:
2025-07-22 10:16:26 +03:00
parent 02aef91f3a
commit 7c37e7122f
15 changed files with 173 additions and 304 deletions
+2 -2
View File
@@ -2,14 +2,14 @@
networking = {
enableIPv6 = true;
useDHCP = false;
nameservers = [ "193.222.99.172" "1.1.1.1" ];
nameservers = [ "64.188.64.176" "1.1.1.1" ];
dhcpcd.extraConfig = "nohook resolv.conf";
networkmanager = {
enable = true;
dns = "none";
insertNameservers = [ "193.222.99.172" "1.1.1.1" ];
insertNameservers = [ "64.188.64.176" "1.1.1.1" ];
};
};
}
+19 -13
View File
@@ -2,7 +2,7 @@
let
sol = pkgs.writers.writePython3 "shutdown-on-lan.py" {
libraries = [ pkgs.python312Packages.psutil ];
flakeIgnore = [ "E501" "E302" "E305" ];
flakeIgnore = [ "E302" "E305" "E501" "E701" ];
} /*py*/ ''
# https://habr.com/ru/articles/816765/
@@ -21,20 +21,26 @@
ip_addr = mac_addr = None
while not ip_addr or not mac_addr or ip_addr == '127.0.0.1':
net = psutil.net_if_addrs()
for item in net[list(net.keys())[-1]]:
addr = item.address
# В IPv4-адресах разделители - точки
if '.' in addr:
ip_addr = addr
# В MAC-адресах разделители либо тире, либо одинарное двоеточие.
# Двойное двоеточие - это разделители для адресов IPv6
elif ('-' in addr or ':' in addr) and '::' not in addr:
# Приводим MAC-адрес к одному формату. Формат может меняться в зависимости от ОС
mac_addr = addr.replace(':', '-').upper()
nets = psutil.net_if_addrs()
for net in list(nets.keys())[::-1]:
if net in ('lo', 'tun0'): continue
logger.debug(str(net))
for item in nets[net]:
# logger.debug(str(item))
addr = item.address
logger.debug(addr)
# В IPv4-адресах разделители - точки
if '.' in addr:
ip_addr = addr
# В MAC-адресах разделители либо тире, либо одинарное двоеточие.
# Двойное двоеточие - это разделители для адресов IPv6
elif ('-' in addr or ':' in addr) and '::' not in addr:
# Приводим MAC-адрес к одному формату. Формат может меняться в зависимости от ОС
mac_addr = addr.replace(':', '-').upper()
if not ip_addr or not mac_addr or ip_addr == '127.0.0.1':
logger.debug('Не удалось получить IP или MAC-адрес сетевого интерфейса')
logger.error('Не удалось получить IP или MAC-адрес сетевого интерфейса')
sleep(10)
logger.debug(mac_addr)
return ip_addr, mac_addr
def assemble_wol_packet(mac_address: str) -> str:
+2 -2
View File
@@ -19,8 +19,8 @@
environment.etc = {
"v2raya/ru_geoip.dat".source = pkgs.fetchurl {
name = "geoip.dat";
url = "https://github.com/runetfreedom/russia-blocked-geoip/releases/download/202505050926/geoip.dat";
hash = "sha256-vn7cZigqaHY8ncmWJXik8K7ri6JvEoma4sCp6mG3N0U=";
url = "https://github.com/runetfreedom/russia-blocked-geoip/releases/download/202508140928/geoip.dat";
hash = "sha256-5yzkVmNnC3PKCFB1hlP5bO2KD30NzKBtYGQe2fU5QDw=";
};
"v2raya/bolt.db".source = config.sops.secrets.vpn_bolt.path;