1. 备份原有源
cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak
2. 修改软件源配置文件
用文本编辑器(如 vim
或 nano
)编辑 /etc/opkg/distfeeds.conf
:
vim /etc/opkg/distfeeds.conf
示例:替换为国内源(如清华源)
将文件中的默认 URL(通常是 downloads.openwrt.org
)替换为国内镜像站。例如:
src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/targets/x86/64/packages
src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/base
src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/luci
src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/packages
src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/routing
src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/telephony
执行如下命令自动替换
sed -i ‘s_https?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
注:使用 HTTPS 可以有效避免国内运营商的缓存劫持,但需要另行安装 libustream-openssl ca-bundle ca-certificates 。
注意事项:
- 版本匹配:确保 URL 中的版本号(如
21.02.7
)和架构(如x86_64
)与你的 OpenWrt 系统一致。- 查看版本:
cat /etc/openwrt_release
。 - 查看架构:
opkg print-architecture
。
- 查看版本:
- 其他国内源:
- 中科大源:
https://mirrors.ustc.edu.cn/openwrt/
- 阿里云源:
https://mirrors.aliyun.com/openwrt/
- immortalwrt:
https://downloads.immortalwrt.org/
- 中科大源:
3. 更新软件包列表
opkg update
opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
opkg list-upgradable | grep luci- | cut -f 1 -d ' ' | xargs opkg upgrade
4. 测试安装
尝试安装一个软件包(如 nano
)验证源是否正常:
opkg install nano
5. 可选:自定义第三方源
如果需要添加非官方源(如第三方插件),编辑 /etc/opkg/customfeeds.conf
:
src/gz custom_plugin https://example.com/packages
然后再次运行 opkg update
。
openclash插件
scp -O luci-app-openclash_0.46.137_all.ipk root@192.168.1.1:/root
opkg install luci-app-openclash_0.46.137_all.ipk
rm luci-app-openclash_0.46.137_all.ipk
xiaomi R3G openclash的calsh_meta内核
https://raw.githubusercontent.com/vernesong/OpenClash/refs/heads/core/master/meta/clash-linux-mipsle-softfloat.tar.gz
istore虚拟机openclash的calsh_meta内核
https://raw.githubusercontent.com/vernesong/OpenClash/refs/heads/core/master/meta/clash-linux-amd64.tar.gz
解压以后
scp -O clash root@192.168.1.1:/root
chmod +x clash
mv clash /etc/openclash/core/clash_meta
在 ImmortalWrt 上安装主题(如 Argon
、Rosy
、Bootstrap
等)可以通过 Web 界面 或 SSH 命令行 完成。以下是详细步骤:
方法 1:通过 Web 界面安装(推荐)
1. 登录管理界面
- 浏览器访问
http://192.168.1.1
(默认地址),输入用户名和密码登录。
2. 更新软件包列表
- 进入 System → Software(系统 → 软件包)。
- 点击 Update lists(更新列表),确保获取最新的软件源信息。
3. 搜索并安装主题
- 在 Software 页面,切换到 Available packages(可用软件包)。
- 搜索主题名称(如
luci-theme-argon
、luci-theme-rosy
)。 - 找到后点击 Install(安装)。
4. 启用主题
- 进入 System → System(系统 → 系统设置)。
- 在 Language and Style(语言与界面)选项卡:
- Theme(主题)→ 选择刚安装的主题(如
Argon
)。
- Theme(主题)→ 选择刚安装的主题(如
- 点击 Save & Apply(保存并应用)。
方法 2:通过 SSH 命令行安装
1. SSH 登录路由器
ssh root@192.168.1.1
2. 更新软件包列表
opkg update
3. 搜索可用主题
opkg list | grep luci-theme-
示例输出:
luci-theme-argon - 2.3.0-1
luci-theme-bootstrap - git-23.123.45678-7890abc
luci-theme-rosy - 1.5-2
4. 安装主题
opkg install luci-theme-argon
(替换 luci-theme-argon
为你想要的主题名称)
5. 启用主题
uci set luci.main.mediaurlbase='/luci-static/argon' # 替换 "argon" 为你的主题名
uci commit luci
/etc/init.d/uhttpd restart # 重启 Web 界面
方法 3:手动上传 IPK 安装(适用于非官方主题)
1. 下载主题 IPK 文件
- 从第三方源(如 GitHub、OpenWrt 社区)下载
.ipk
文件,例如:
或通过wget https://example.com/luci-theme-custom.ipk -O /tmp/luci-theme-custom.ipk
scp
上传:scp luci-theme-custom.ipk root@192.168.1.1:/tmp/
2. 手动安装
opkg install /tmp/luci-theme-custom.ipk
3. 启用主题
同 方法 2 的步骤 5。
常见问题
1. 安装后主题不显示?
- 检查是否安装成功:
opkg list-installed | grep luci-theme-
- 确保主题路径正确(如
/luci-static/argon
)。
2. 提示依赖错误?
- 安装缺失的依赖:
或强制安装(不推荐):opkg install <缺失的包名>
opkg install --force-depends /tmp/luci-theme-custom.ipk
3. 恢复默认主题
uci set luci.main.mediaurlbase='/luci-static/bootstrap'
uci commit luci
/etc/init.d/uhttpd restart
推荐主题
主题名称 | 安装命令 | 特点 |
---|---|---|
Argon | opkg install luci-theme-argon |
现代设计,支持暗黑模式 |
Rosy | opkg install luci-theme-rosy |
简洁风格,适合移动端 |
Bootstrap | 默认安装(无需额外操作) | OpenWrt 经典界面 |
Material | opkg install luci-theme-material |
Google Material Design 风格 |
在 ImmortalWrt 上安装其他插件(如广告过滤、科学上网、文件共享等)可以通过 Web 界面、SSH 命令行 或 手动 IPK 安装 实现。以下是详细方法:
方法 1:通过 Web 界面安装(推荐)
步骤
登录管理界面
浏览器访问http://192.168.1.1
,输入用户名和密码。更新软件包列表
- 进入 System → Software(系统 → 软件包)。
- 点击 Update lists(更新列表)。
搜索插件
- 在 Available packages(可用软件包)选项卡中:
- 输入插件名称(如
luci-app-adblock
、luci-app-samba4
)。 - 点击 Install(安装)。
- 输入插件名称(如
- 在 Available packages(可用软件包)选项卡中:
配置插件
- 安装完成后,刷新页面或重新登录,插件通常会在相关菜单中显示(如 Services、Network)。
方法 2:通过 SSH 命令行安装
步骤
SSH 登录路由器
ssh root@192.168.1.1
更新软件包列表
opkg update
搜索插件
opkg list | grep luci-app- # 列出所有 Luci 插件 opkg list | grep <关键词> # 按功能搜索(如 "vpn"、"adblock")
示例输出:
luci-app-adblock - 2.0.0-1 - DNS广告过滤 luci-app-samba4 - 4.15.0-1 - 文件共享(Samba)
安装插件
opkg install luci-app-<插件名>
例如:
opkg install luci-app-adblock luci-app-samba4
重启服务
/etc/init.d/uhttpd restart # 重启 Web 界面 /etc/init.d/<插件服务名> restart # 重启插件服务(如 "adblock")
方法 3:手动安装 IPK 文件(适用于第三方插件)
步骤
下载 IPK 文件
- 从官方源或第三方仓库(如 GitHub)下载插件 IPK 文件,例如:
wget https://example.com/luci-app-example.ipk -O /tmp/luci-app-example.ipk
- 或通过
scp
上传本地文件:scp luci-app-example.ipk root@192.168.1.1:/tmp/
- 从官方源或第三方仓库(如 GitHub)下载插件 IPK 文件,例如:
手动安装
opkg install /tmp/luci-app-example.ipk
- 如果提示依赖错误,安装缺失的依赖:
opkg install <缺失的包名>
- 如果提示依赖错误,安装缺失的依赖:
启用插件
- 安装后,在 Luci Web 界面中检查是否出现新菜单项。
- 若无显示,尝试重启 Web 服务:
/etc/init.d/uhttpd restart
常见插件推荐
插件名称 | 功能描述 | 安装命令 |
---|---|---|
广告过滤 | DNS 广告屏蔽 | opkg install luci-app-adblock |
文件共享 (Samba) | 局域网文件共享 | opkg install luci-app-samba4 |
科学上网 | Shadowsocks/V2Ray 客户端 | 需手动下载对应插件(如 luci-app-ssr-plus ) |
DDNS | 动态域名解析 | opkg install luci-app-ddns |
Aria2 下载工具 | BT/HTTP 下载 | opkg install luci-app-aria2 |
网络唤醒 (WOL) | 远程唤醒局域网设备 | opkg install luci-app-wol |
VPN 服务器 (OpenVPN) | 搭建 VPN 服务 | opkg install luci-app-openvpn |
常见问题解决
1. 插件安装失败(依赖错误)
- 手动安装缺失依赖:
opkg install <缺失的包名>
- 或强制安装(不推荐):
opkg install --force-depends /tmp/xxx.ipk
2. 插件在 Web 界面不显示
- 检查插件是否完整安装:
opkg list-installed | grep luci-app-
- 重启 Web 服务:
/etc/init.d/uhttpd restart
3. 空间不足
- 清理旧内核或临时文件:
opkg clean rm -rf /tmp/*
- 扩展 Overlay 分区(需重新分区,谨慎操作)。
注意事项
插件兼容性
- 确保插件与你的 ImmortalWrt 版本(如 21.02/23.05)兼容。
- 第三方插件可能需手动编译或从非官方源获取。
安全性
- 仅从可信来源下载插件(如官方仓库、GitHub 知名项目)。
备份配置
- 安装前建议备份系统(System → Backup)。
luci插件下载
官方 :
https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/
immortalwrt :
https://downloads.immortalwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/
清华源 :
https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/24.10.2/packages/mipsel_24kc/luci/
阿里云 :
https://mirrors.aliyun.com/openwrt/releases/24.10.2/packages/mipsel_24kc/luci/
中科大 :
https://mirrors.ustc.edu.cn/openwrt/releases/24.10.2/packages/mipsel_24kc/luci/
istore 工具
curl -sSL http://ysfs.cpolar.cn/sostools.sh -o /root/sostools.sh && chmod +x /root/sostools.sh && ln -s /root/sostools.sh /usr/bin/sostools && sostools
你现在看到的情况是:
- /dev/sda 总容量:40 GiB
- /dev/sda3 当前大小:8.9 GiB(787968 → 19531250)
- /dev/sda4 紧接在 sda3 后面,占用了 10.7 GiB(19531776 → 41940992)
- 剩余空间(41940992 → 83886080)还有 ~20 GiB 未分配
❗ 问题核心:
你想扩容 /dev/sda3
,但它被 /dev/sda4
挡住了,所以直接扩容会提示 **”overlapping partitions”**。
✅ 解决方案:
你有两个选择:
✅ 方案一:删除 /dev/sda4
,再扩容 /dev/sda3
⚠️ 前提:**
/dev/sda4
没有重要数据**,否则请先备份!
fdisk /dev/sda
- 输入
d
,选择分区4
(删除 /dev/sda4) - 输入
d
,选择分区3
(删除 /dev/sda3) - 输入
n
,创建新主分区,起始扇区保持默认(787968),结束扇区直接回车(使用全部剩余空间) - 输入
w
保存并退出
然后执行:
resize2fs /dev/sda3
✅ 方案二:保留 /dev/sda4
,只扩容 /dev/sda4
或新建分区
如果你不想动 sda4,你可以:
- 把剩余 20 GiB 创建为
/dev/sda5
,挂载到/mnt/data
或/opt
使用 - 或者扩容
/dev/sda4
并挂载使用
✅ 推荐方案:
如果你确定
/dev/sda4
没有重要数据,建议删除 sda4 和 sda3,重建一个更大的 sda3,这是最直接的方式。
✅ 一键脚本(仅建议熟悉者使用):
echo -e "d\n4\nd\n3\nn\np\n3\n787968\n\nw" | fdisk /dev/sda
resize2fs /dev/sda3
✅ 扩容后验证:
df -h
如需我帮你写一个安全的交互式脚本或图形操作建议,请告诉我你是否愿意删除 /dev/sda4
。
如果你想只给 /dev/sda3
扩容 20G(即总共 20G 空间,不是从当前 8.9G 再增加 20G),你需要手动计算结束扇区。
✅ 目标:
/dev/sda3
从 787968 开始- 你想要 20G 空间
- 每个扇区是 512 字节
✅ 计算结束扇区:
20G = 20 * 1024 * 1024 * 1024 = 21474836480 字节
扇区数 = 21474836480 / 512 = 41943040 个扇区
结束扇区 = 起始扇区 + 扇区数 - 1
= 787968 + 41943040 - 1
= 42731007
✅ 所以你在 fdisk
中应该这样操作:
fdisk /dev/sda
交互过程:
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (787968-83886079, default 787968): 回车(默认)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (787968-83886079, default 83886079): **+20G**
✅ 你可以直接输入
+20G
,fdisk 会自动计算扇区,无需手动输入42731007
。
✅ 完成后:
w # 保存并退出
然后:
resize2fs /dev/sda3
✅ 最终确认:
df -h
✅ 总结一句话:
在
fdisk
创建分区时,输入+20G
即可自动分配 20G 空间,无需手动算扇区。
修复istore商店打不开
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /bin/is-opkg
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /etc/opkg/compatfeeds.conf
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /www/luci-static/istore/index.js
is-opkg update
或者
#!/bin/bash
files=(
/bin/is-opkg
/etc/opkg/compatfeeds.conf
/www/luci-static/istore/index.js
)
for file in "${files[@]}"; do
sed -i 's/istore.linkease.com/istore.istoreos.com/g' "$file"
done
is-opkg update
恢复原状
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /bin/is-opkg
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /etc/opkg/compatfeeds.conf
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /www/luci-static/istore/index.js
is-opkg update