Commit Graph

371 Commits

Author SHA1 Message Date
5b0d91c633 fix: select correct primary IPv6 address whose subnet contains the gateway (#561)
* fix: select correct primary IPv6 address whose subnet contains the gateway

When a system has multiple IPv6 addresses with different prefix lengths
(e.g., /44 and /96), the script previously selected the first address
as primary regardless of whether its subnet contained the default gateway.
This caused the gateway to be unreachable after reinstallation.

This change:
- Adds pure shell expand_ipv6 and ip_addr_contains_gw functions to
  determine which IPv6 subnet contains the gateway (no python dependency)
- Modifies collect_netconf to select the correct primary IPv6 address
- Stores remaining addresses as ipv6_extra_addrs
- Adds extra IPv6 addresses via post-up in create_ifupdown_config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address review feedback for IPv6 extra addrs and edge cases

- Pass ipv6_extra_addrs through initrd-network.sh (receive as $7,
  add extra addresses in add_missing_ipv6_config, write to netconf)
  so that trans.sh can read them via get_netconf_to
- Fix cut -c1-0 error when prefix_len < 4 in ip_addr_contains_gw
- Use grep -Fxve for exact string matching instead of regex

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use subshell for IFS modification to avoid leaking to outer scope

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: avoid global IFS modification when iterating extra IPv6 addresses

Replace subshell IFS trick with tr+while read to split comma-separated
ipv6_extra_addrs, avoiding any modification of the IFS variable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use ip route get instead of subnet matching for IPv6 primary address selection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:17:59 +08:00
99b99cc7ac "chore: 为 --cloud-data 添加文档,同时cloud-data工作时在 dd info output中显示 (#560) 2026-02-26 20:01:07 +08:00
81081873df windows: 查找到的链接是 / 开头时,补全域名 2026-02-13 00:03:36 +08:00
4cf8e81fc7 windows: 修复查找 windows server 2025 iso 失效 2026-02-12 22:54:47 +08:00
ff4b6de258 fnos: 修复飞牛链接失效
fixes #555
fixes #557
2026-02-12 22:27:20 +08:00
fc7bdc5711 dd 引入cloud-data 提供 nocloud自动配置 (#551) 2026-02-12 22:14:04 +08:00
f2cfe672d1 windows: 修复查找 iso 功能失效
现在 massgrave 的 iso 链接 href="" 少了双引号
2026-01-18 18:51:37 +08:00
259bcf7275 windows: 适配 massgrave 新镜像链接 2026-01-07 23:10:09 +08:00
74d9524a9b fnos: 优化飞牛安装
- 支持 bios + gpt
- 支持 arm
2026-01-07 21:34:17 +08:00
2a561f0d8c core: 添加 alpine 3.23, nixos 25.11 2025-12-04 19:43:54 +08:00
586eb5dee1 opensuse: 16.0 重新使用 cloud 镜像 2025-12-04 19:43:53 +08:00
c94f334663 core: 用 sh 运行时自动切换成 bash 2025-12-04 19:43:52 +08:00
bd5e118570 core: 修复 ECDSA-P521 设置报错 (#480)
fixes #479
2025-11-10 19:37:18 +08:00
78ba0690f9 windows: 添加 win8 链接 2025-11-04 22:17:11 +08:00
3263ea3875 core: 改成使用 /dev/urandom 以修复生成随机密码时阻塞
fixes #469
fixes #471
2025-11-04 21:54:21 +08:00
8b838f8871 core: 不重要的优化 2025-10-31 07:50:45 +08:00
85637edc5b windows: 优化镜像查找 2025-10-31 07:50:43 +08:00
baa430eb10 core: --frpc-toml 允许使用 http 链接 2025-10-31 07:50:43 +08:00
af84ac0b3c core: 默认使用随机密码 2025-10-31 07:50:41 +08:00
24a4446a02 debian: 支持在安装过程中开启 ssh 2025-10-31 07:50:40 +08:00
780e1a694f fedora: 添加 43 2025-10-29 00:06:54 +08:00
43ba86076f windows: 修复无法查找 win11 pro arm iso
fixes #460
2025-10-28 23:21:41 +08:00
f22cda1f10 opensuse: 添加 16.0 2025-10-18 23:41:24 +08:00
974d5712f0 debian: initrd 不精简 realtek 网卡驱动 2025-10-13 20:08:40 +08:00
845fa66e03 ubuntu: 添加 25.10 2025-10-11 00:01:19 +08:00
48823b4101 windows: 添加 GCP 兼容性说明 2025-10-11 00:01:18 +08:00
cdf09d017f openeuler: 修复 arm 机器进入了 grub rescue 模式
openeuler arm 25.09 云镜像里面的 grubaa64.efi 是用于 mbr 分区表,$root 是 hd0,msdos1
因此要重新下载 $root 是 hd0,gpt1 的 grubaa64.efi
2025-10-01 23:55:51 +08:00
8689c45b07 ol: 添加 oracle linux 10 2025-09-29 21:00:08 +08:00
ce8a315a2e el: 修复 almalinux 9 链接 404
fixes #436
2025-09-21 15:27:17 +08:00
2a0690a395 windows: 更新 iso 链接 2025-09-09 22:46:31 +08:00
df2bda09dc windows: 修复链接变动导致无法自动查找 windows server 镜像 2025-09-03 19:36:09 +08:00
38a5cc3940 opencloudos: 修复镜像链接变动导致 404 2025-09-03 19:36:08 +08:00
29023e0f44 core: 修复 wmic memorychip 获取的内存为 0 时无法用 /proc/meminfo 兜底
fixes #417
2025-08-22 22:47:15 +08:00
9521e84703 debian: 支持 13 2025-08-10 08:02:22 +08:00
97779b6f6e fnos: 修复 iso 下载链接
fixes #406
2025-08-06 20:58:14 +08:00
02ae82128f el: 添加 rocky 10 2025-06-13 21:41:24 +08:00
7631f9f2b9 core: 切换成 fedora grub efi
fixes #361
2025-06-06 12:13:16 +08:00
b58e09952e alpine: 添加 3.22 2025-05-30 23:53:16 +08:00
1a156e9741 core: 添加 almalinux 10, nixos 25.05 2025-05-29 20:48:30 +08:00
4f5eaa70b6 windows: 更新 iso 链接 2025-05-16 20:49:02 +08:00
e3ed8703ab redhat: 不需要输入版本号 2025-05-16 19:06:09 +08:00
19198a6146 windows: 提示用户输入 iso 直链 2025-05-16 19:06:07 +08:00
89a8efa123 fix(reinstall.sh): 修正SSH密钥验证正则表达式中的ecdsa算法名称 (#334) 2025-05-06 11:03:12 +08:00
318f0e589a core: 修复国内机从 github 下载 wmic.ps1 2025-05-05 21:27:07 +08:00
bbf78e6d9a core: 添加 frpc 内网穿透 2025-04-28 23:18:27 +08:00
5409cecbcb ubuntu: 添加 25.04 2025-04-18 18:42:48 +08:00
2c15d1be98 core: 改回用 opensuse 的 grub.efi
closes #288 #292 #319
2025-04-16 00:12:27 +08:00
4346f4b460 core: 不重要的更新 2025-04-15 23:40:58 +08:00
0b2eed1750 core: 修复 cygwin 下无法获得内存大小
cygwin 要装 procps-ng 才有 free 命令
2025-04-15 17:30:35 +08:00
fde78de2f7 core: 修复纯 IPv6 无法下载部分文件 #317
dl.fedoraproject.org 不支持 IPv6
2025-04-12 15:44:20 +08:00