68 Commits

Author SHA1 Message Date
wukongdaily
a75f840c97 Update README.md 2024-03-26 22:55:40 +08:00
wukongdaily
47492546ee Update README.md 2024-03-26 15:17:51 +08:00
92cb30dea8 Update do_docker.sh 2024-03-26 14:02:08 +08:00
wukongdaily
071cbde43d Update README.md 2024-03-26 13:22:33 +08:00
wukongdaily
e7a1ba9550 Update README.md 2024-03-26 13:14:50 +08:00
8c4f25d8c9 Update do_docker.sh 2024-03-25 23:29:09 +08:00
772411708d Update do_docker.sh 2024-03-25 22:59:34 +08:00
3fc95bfc16 Update do_docker.sh 2024-03-25 21:52:02 +08:00
95c4b5e9ad Update do_docker.sh 2024-03-25 20:25:32 +08:00
f67f96351d Update gl-inet.sh 2024-03-25 20:23:53 +08:00
fc3e9a4aa9 Update do_docker.sh 2024-03-25 20:19:41 +08:00
79df3443bd Update do_docker.sh 2024-03-25 20:04:36 +08:00
856dfe3b57 Update do_docker.sh 2024-03-25 19:40:04 +08:00
f48501fc86 Update gl-inet.sh 2024-03-25 18:06:55 +08:00
39c97e7091 Update do_docker.sh 2024-03-25 18:00:05 +08:00
26e1e94adf Update gl-inet.sh 2024-03-25 15:38:46 +08:00
a76fbd9462 Update do_docker.sh 2024-03-25 15:03:14 +08:00
72b209c72a Update gl-inet.sh 2024-03-25 14:36:19 +08:00
f18309fb13 Update do_docker.sh 2024-03-25 14:32:42 +08:00
7f5051ddda Update do_docker.sh 2024-03-25 14:08:55 +08:00
wukongdaily
cf6e5993d2 Update README.md 2024-03-25 08:25:16 +08:00
wukongdaily
4f1c6d64b1 Update README.md 2024-03-24 20:40:45 +08:00
434f4a529a Update do_docker.sh 2024-03-24 14:29:42 +08:00
85bc701207 Update gl-inet.sh 2024-03-24 13:40:12 +08:00
ae47e79b3c Update gl-inet.sh 2024-03-24 13:22:47 +08:00
0428a4b69b Update lsblk.ipk 2024-03-24 13:21:35 +08:00
wukongdaily
772ec99928 Update README.md 2024-03-24 12:49:03 +08:00
wukongdaily
6735cb2f48 Update README.md 2024-03-24 12:45:14 +08:00
wukongdaily
fcc2c74e77 Update README.md 2024-03-24 12:44:02 +08:00
wukongdaily
6b04ed91b9 Update README.md 2024-03-24 12:37:24 +08:00
94e64644b1 Update gl-inet.sh 2024-03-24 12:35:51 +08:00
6c5d6a3273 Update gl-inet.sh 2024-03-24 12:28:25 +08:00
297bd3cbe8 Update do_docker.sh 2024-03-24 12:06:58 +08:00
379f3cea50 Update do_docker.sh 2024-03-24 11:35:20 +08:00
b1d2fb8b6a Update do_docker.sh 2024-03-24 11:22:24 +08:00
168db9fea6 Update do_docker.sh 2024-03-24 10:56:42 +08:00
a482a192f7 Update do_docker.sh 2024-03-24 10:38:33 +08:00
684a77c777 update shell 2024-03-24 10:19:53 +08:00
6c53746d01 Update do_docker.sh 2024-03-24 08:27:37 +08:00
wukongdaily
fd70552ebe Update README.md 2024-03-23 15:07:16 +08:00
wukongdaily
5546f42ed5 Update README.md 2024-03-23 15:03:58 +08:00
90d1474eeb 提交docker第一版测试 2024-03-23 14:33:52 +08:00
a946cd35ec Update gl-inet.sh 2024-03-22 21:28:11 +08:00
ce94cb6f90 Update gl-inet.sh 2024-03-22 19:44:03 +08:00
3aa8020a53 Update gl-inet.sh 2024-03-22 19:22:48 +08:00
d2be7a0db1 增加mt6000 需要的依赖 2024-03-22 16:53:33 +08:00
784168b151 Update gl-inet.sh 2024-03-22 16:24:15 +08:00
4a6ee50d88 提交mt6000新版固件的opkg备份 2024-03-22 16:13:52 +08:00
bcd6cbe5cd Update gl-inet.sh 2024-03-22 16:08:17 +08:00
5e9536c741 Update gl-inet.sh 2024-03-20 22:31:13 +08:00
wukongdaily
d5629e589e Update gl-inet.sh 2024-03-20 21:40:21 +08:00
wukongdaily
7980483b59 Update gl-inet.sh 2024-03-19 14:10:15 +08:00
d0649bb749 Update gl-inet.sh
1、兼容处理首页“已联网” 的UI问题,opkg将原厂配置做了调整
2、兼容处理首页不显示终端的问题。采用主动安装ttyd方式。
原本luci-app-quickstart 是依赖ttyd终端的,后来改版后不依赖了。因此需要主动安装。
2024-03-19 13:33:35 +08:00
wukongdaily
05b6576175 Update distfeeds.conf
mt-2500,modify third-party software source name , replace "glinet_core" to "glinet_base", In order to be compatible with luci-app-quickstart UI bugs
2024-03-19 13:03:02 +08:00
wukongdaily
65480900af Update distfeeds.conf
mt-6000,modify third-party software source name , replace "glinet_core" to "glinet_base", In order to be compatible with luci-app-quickstart UI bugs
2024-03-19 13:02:20 +08:00
wukongdaily
c3aac2fd68 Update distfeeds.conf
modify third-party software source name , replace "glinet_core" to "glinet_base", In order to be compatible with luci-app-quickstart UI bugs
2024-03-19 13:01:21 +08:00
wukongdaily
9e309d2c6c Update README.md 2024-02-26 17:23:01 +08:00
95267cc3da Update gl-inet.sh
修改第三方源为iStore源。修复quickstart未汉化问题
2024-02-05 17:27:51 +08:00
4b1a3cff8e Update .gitignore
忽略打包文件
2024-02-05 11:53:11 +08:00
50986d18ca Update gl-inet.sh
修改主题设定崩溃问题
2024-02-05 11:51:33 +08:00
wukongdaily
ec2bc4318a Update README.md 2024-02-05 10:43:16 +08:00
860ea34697 修复登录按钮英文的问题
直接安装2.2.9.4版本的argon主题。因为经测试这版本对于gl路由器是最匹配的,避免了登录页面英文的问题,避免了字体不正确的问题。而且主题皮肤稳定了就不需要经常更新了。备注它的名称叫做luci-theme-argon-master
2024-02-05 10:41:06 +08:00
wukongdaily
10ca7d7e89 添加2.2.9.4版本的argon主题
添加原因:
由于2.3.1 最新版的luci-argon-theme 在mt3000上登录按钮没有中文匹配,而2.3版本字体又是细体不对。
所以这里安装上一个版本2.2.9.4,考虑到主题皮肤并不需要长期更新,因此固定版本没问题。
后续直接安装这个版本,不拉仓库最新版了。
2024-02-05 10:17:25 +08:00
wukongdaily
4baec7ad25 Update README.md 2024-01-04 14:36:41 +08:00
wukongdaily
25a0a4513d Update gl-inet.sh 2024-01-04 14:31:00 +08:00
wukongdaily
5e849190dc Update README.md 2023-12-02 15:37:32 +08:00
1f7832005a 优化安装提示 2023-11-26 10:46:40 +08:00
2a0be4542a Update gl-inet.sh 2023-11-24 11:40:51 +08:00
14 changed files with 455 additions and 103 deletions

2
.gitignore vendored
View File

@@ -31,3 +31,5 @@
*.out *.out
*.app *.app
.DS_Store .DS_Store
udisk/create-img.sh
udisk/onescript.sh

157
README.md
View File

@@ -1,70 +1,131 @@
# Gl-iNet 系列路由器 一键iStoreOS风格化脚本
[![GitHub](https://img.shields.io/github/license/wukongdaily/gl-inet-onescript.svg?label=LICENSE&logo=github&logoColor=%20)](https://github.com/wukongdaily/gl-inet-onescript/blob/master/LICENSE) [![GitHub](https://img.shields.io/github/license/wukongdaily/gl-inet-onescript.svg?label=LICENSE&logo=github&logoColor=%20)](https://github.com/wukongdaily/gl-inet-onescript/blob/master/LICENSE)
![GitHub Stars](https://img.shields.io/github/stars/wukongdaily/gl-inet-onescript.svg?style=flat&logo=appveyor&label=Stars&logo=github) ![GitHub Stars](https://img.shields.io/github/stars/wukongdaily/gl-inet-onescript.svg?style=flat&logo=appveyor&label=Stars&logo=github)
![GitHub Forks](https://img.shields.io/github/forks/wukongdaily/gl-inet-onescript.svg?style=flat&logo=appveyor&label=Forks&logo=github) ![GitHub Forks](https://img.shields.io/github/forks/wukongdaily/gl-inet-onescript.svg?style=flat&logo=appveyor&label=Forks&logo=github)
***
# gl-inet-onescript
This script is specifically designed for GL-iNet routers to quickly install essential system software. Even if the user resets the system, there is no need to worry because this script can complete complex and tedious tasks with a single click.<br>
[切换到中文使用指南](https://github.com/wukongdaily/gl-inet-onescript/wiki/%E4%B8%AD%E6%96%87%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97)
# TipsHow to Use SSH
https://github.com/wukongdaily/HowToUseSSH
# one scripthas Menu
<img alt="Static Badge" src="https://img.shields.io/badge/MT3000-E70D0D?style=for-the-badge&label=MT2500A&labelColor=8A2BE2">
## 🤔 这是什么?
该项目可以让MT2500/MT3000/MT6000路由器在不刷机情况下,一键变成iStoreOS风格。<br><br>
<img alt="Static Badge" src="https://img.shields.io/badge/MT6000-0?style=flat-square&logoColor=8A2BE2&label=%E5%9E%8B%E5%8F%B7&labelColor=000000&color=336666">
<img alt="Static Badge" src="https://img.shields.io/badge/MT2500A-0?style=flat-square&logoColor=8A2BE2&label=%E5%9E%8B%E5%8F%B7&labelColor=000000&color=D94600">
<img alt="Static Badge" src="https://img.shields.io/badge/MT3000-0?style=flat-square&logoColor=8A2BE2&label=%E5%9E%8B%E5%8F%B7&labelColor=000000&color=2828FF">
## 💡 特色功能
- 💻 支持`一键安装iStoreOS风格`
- 💻 支持`一键安装紫色的Argon主题`
- 💻 支持`一键安装文件管理器`
- 🔑 支持`一键设置MT-3000风扇开始工作的温度`
- 🌏 支持`一键部署Docker运行环境开发中`
- 🌏 支持`一键安装Docker Compose(开发中)`
- 🐋 支持`一键安装GL原厂adguardhome`
- 📕 支持`一键恢复原厂的OPKG软件源`
- ❓ 其他功能和特点会持续迭代
- GL-inet MT-6000✅
- GL-inet MT-3000 ✅
- GL-inet MT-2500 ✅
## 🚀 快速上手
### 1. SSH连接到路由器,或者在路由器终端执行如下命令
```bash
wget -O gl-inet.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/gl-inet.sh?$(date +%s) && chmod +x gl-inet.sh && ./gl-inet.sh
``` ```
wget -O /tmp/gl-inet.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/gl-inet.sh && chmod +x /tmp/gl-inet.sh && /tmp/gl-inet.sh ### 或者是备用仓库地址(内地可用)
```bash
wget -O gl-inet.sh https://gitee.com/wukongdaily/gl_onescript/raw/master/gl-inet.sh?$(date +%s) && chmod +x gl-inet.sh && ./gl-inet.sh
```
### 下次如何调用,在当前目录下执行
```bash
sh gl-inet.sh
```
### 2.单独安装Docker
```bash
wget -O do_docker.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/docker/do_docker.sh?$(date +%s) && chmod +x do_docker.sh && ./do_docker.sh
```
### 3.单独安装iStore商店
```bash
wget -O /tmp/reinstall_istore.sh https://gitee.com/wukongdaily/gl_onescript/raw/master/reinstall_istore.sh && chmod +x /tmp/reinstall_istore.sh && /tmp/reinstall_istore.sh
``` ```
*** ### 4.单独安装文件管理器
```bash
# onekey for iStore wget -O /tmp/reinstall_istore.sh https://gitee.com/wukongdaily/gl_onescript/raw/master/reinstall_istore.sh && chmod +x /tmp/reinstall_istore.sh && /tmp/reinstall_istore.sh
```
wget -O /tmp/reinstall_istore.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/reinstall_istore.sh && chmod +x /tmp/reinstall_istore.sh && /tmp/reinstall_istore.sh
```
# Install iStore offline by using a USB flash drive
https://telegra.ph/install-istore-for-mt3000-11-03 <br>
# onekey for File Manager
```
wget -O /tmp/reinstall_istore.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/reinstall_istore.sh && chmod +x /tmp/reinstall_istore.sh && /tmp/reinstall_istore.sh
/tmp/is-opkg install app-meta-linkease /tmp/is-opkg install app-meta-linkease
``` ```
# Important Note:↓
### After the menu appears, press H to return to the old version of the video
### 5.新手ssh连接注意事项
https://github.com/wukongdaily/HowToUseSSH
### 辅助视频教程⬇️
# Features # Docker面板的选择
* At present, it is only compatible with GL-iNet MT2500 and MT-3000. ## 🔑 安装1panel 面板 来管理Docker 容器
* Change the starting temperature for the MT3000 smart temperature-controlled fan to 45 degrees.
* One-click implementation of the iStoreOS homepage style and installation of the iStore store. ### 可以使用 docker离线包加载
* Set up custom domain hijacking (hostname mapping)<br> ```bash
to prevent the issue of Android native TV not connecting to Wi-Fi for the first time. https://pan.baidu.com/s/1Lm9dkXhvPionZPVXOBXCjw?pwd=1111
* Other GL models and functions are under development; adaptations will be made based on audience feedback in the future.
* This script is only for my audience, and I'm not an expert. It's a free tool made for the convenience of viewers. ```
* press H/h to return to the old version of the video ### 上传到U盘其他空间
* If you encounter problems, you can raise an issue, provide screenshots, or attach logs. ```bash
# docker load < /mnt/upan_data/1panel.tar
```
```bash
docker run -d \
--name 1panel \
--restart always \
--network host \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /www/data/1panel-data:/opt \
-e TZ=Asia/Shanghai \
moelin/1panel:latest
```
- 默认端口10086
- 默认账户1panel
- 默认密码1panel_password
- 默认入口entrance
## 访问地址
```bash
http://192.168.8.1:10086/entrance
```
## 🔑 安装Fast OS面板 来管理Docker 容器
```bash
docker run -d \
--name fastos \
--restart always \
-p 8081:8081 \
-p 8082:8082 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/docker/:/etc/docker/ \
-v /root/data:/fast/data \
-e FAST_STORE=http://dockernb.com:8300 \
wangbinxingkong/fast:latest
```
### Fast OS 面板离线包
```bash
https://pan.baidu.com/s/1S5jxahCzE-HyIa-mUvOcZQ?pwd=1111
```
## 🗂️ 引用项目
本项目的开发参照了以下项目,感谢这些开源项目的作者:
### istore
https://github.com/linkease/istore
# Acknowledgments
1、Install 'iStore' offline by using a USB flash drive <br>
https://telegra.ph/install-istore-for-mt3000-11-03 <br>
2、Third-party software source<br>
https://dl.openwrt.ai/packages-23.05<br>
https://op.dllkids.xyz/packages<br>
3、iStore app store<br>
https://github.com/linkease/istore<br>

219
docker/do_docker.sh Normal file
View File

@@ -0,0 +1,219 @@
#!/bin/sh
# 定义颜色输出函数
red() { echo -e "\033[31m\033[01m[WARNING] $1\033[0m"; }
green() { echo -e "\033[32m\033[01m[INFO] $1\033[0m"; }
yellow() { echo -e "\033[33m\033[01m[NOTICE] $1\033[0m"; }
blue() { echo -e "\033[34m\033[01m[MESSAGE] $1\033[0m"; }
light_magenta() { echo -e "\033[95m\033[01m[NOTICE] $1\033[0m"; }
light_yellow() { echo -e "\033[93m\033[01m[NOTICE] $1\033[0m"; }
# 获取路由器型号信息
get_router_name() {
cat /tmp/sysinfo/model
}
# 安装依赖应用
install_depends_apps() {
blue "正在安装部署环境的所需要的工具 lsblk 和 fdisk ..."
router_name=$(get_router_name)
case "$router_name" in
*2500* | *3000*)
opkg update >/dev/null 2>&1
if opkg install lsblk fdisk >/dev/null 2>&1; then
green "$router_name 的 lsblk fdisk 工具 安装成功。"
else
red "安装失败。"
exit 1
fi
;;
*6000*)
red "由于 mt6000 的软件源中没有找到 lsblk 和 fdisk ..."
yellow "因此先借用 mt3000 的软件源来安装 lsblk 和 fdisk 工具"
# 备份 /etc/opkg/distfeeds.conf
cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.backup
# 先替换为 mt3000 的软件源来安装 lsblk 和 fdisk 工具
mt3000_opkg="https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-3000/distfeeds.conf"
wget -O /etc/opkg/distfeeds.conf ${mt3000_opkg}
green "正在更新为 mt3000 的软件源"
cat /etc/opkg/distfeeds.conf
opkg update
green "再次尝试安装 lsblk 和 fdisk 工具"
if opkg install fdisk lsblk; then
green "$router_name 的 lsblk fdisk 工具 安装成功。"
# 还原软件源
cp /etc/opkg/distfeeds.conf.backup /etc/opkg/distfeeds.conf
else
red "安装失败。"
# 还原软件源
cp /etc/opkg/distfeeds.conf.backup /etc/opkg/distfeeds.conf
exit 1
fi
;;
*)
echo "Router name does not contain '3000', '6000', or '2500'."
;;
esac
}
# 准备USB设备
prepare_usb_device() {
green "现在开始查找USB设备分区请稍后......"
local usb_disk=$(lsblk -dn -o NAME,RM,TYPE | awk '$2=="1" && $3=="disk" {print "/dev/"$1; exit}')
if [ -z "$usb_disk" ]; then
red "未找到USB磁盘。"
exit 1
fi
yellow "找到USB磁盘$usb_disk"
# 清零磁盘开始部分以清除分区表和文件系统签名
dd if=/dev/zero of=$usb_disk bs=1M count=10
sync
# 卸载所有与该磁盘相关的挂载点
unmount_usb_device "$usb_disk"
red "正在重新分区并格式化$usb_disk..."
create_and_format_partition "$usb_disk"
}
# 卸载USB设备
unmount_usb_device() {
for mount in $(mount | grep "$1" | awk '{print $3}'); do
yellow "正在尝试卸载U盘挂载点$mount"
umount $mount || {
red "警告:无法卸载挂载点 $mount。可能有文件正在被访问或权限不足。"
exit 1
}
green "U盘挂载点 $mount 卸载成功。"
done
}
# 创建并格式化分区
create_and_format_partition() {
{
echo o # 创建一个新的空DOS分区表
echo n # 添加一个新分区
echo p # 主分区
echo 1 # 分区号1
echo # 第一个可用扇区(默认)
echo # 最后一个扇区(默认,使用剩余空间)
echo w # 写入并退出
} | fdisk $1 >/dev/null 2>&1
sleep 5
local new_partition="${1}1"
red "正在将U盘 $new_partition 格式化为EXT4文件系统..."
mkfs.ext4 -F $new_partition >/dev/null 2>&1
green "$new_partition 已成功格式化为EXT4文件系统。"
configure_and_start_docker $new_partition
}
# 配置并启动Docker
configure_and_start_docker() {
local new_partition="$1"
local usb_mount_point="/mnt/upan_data"
local docker_root="$usb_mount_point/docker"
mkdir -p $docker_root
green "将U盘 挂载到 $usb_mount_point..."
mount -t ext4 $new_partition $usb_mount_point
if [ $? -ne 0 ]; then
red "挂载失败,脚本退出。"
exit 1
fi
green "U盘挂载成功啦\n"
green "正在创建 Docker 配置文件 /etc/docker/daemon.json"
mkdir -p /etc/docker
echo '{
"bridge": "docker0",
"storage-driver": "overlay2",
"data-root": "'$docker_root'"
}' >/etc/docker/daemon.json
install_docker
configure_docker_to_start_on_boot "$new_partition" "$usb_mount_point"
}
# 安装 Docker 和 dockerd
install_docker() {
green "正在更新 OPKG 软件包..."
opkg update >/dev/null 2>&1
green "正在安装 Docker 及相关服务...请耐心等待一会...大约需要1分钟\n"
opkg install luci-app-dockerman >/dev/null 2>&1
opkg install luci-i18n-dockerman-zh-cn >/dev/null 2>&1
opkg install dockerd --force-depends >/dev/null 2>&1
# 修改 /etc/config/dockerd 文件中的 data_root 配置
sed -i "/option data_root/c\ option data_root '/mnt/upan_data/docker/'" /etc/config/dockerd
}
# 配置 Docker 开机启动
configure_docker_to_start_on_boot() {
local new_partition="$1"
local usb_mount_point="$2"
# 创建并配置启动脚本
green "正在设置 Docker 跟随系统启动的文件:/etc/init.d/docker"
cat <<EOF >/etc/init.d/docker
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
PROG="/usr/bin/dockerd"
start_service() {
procd_open_instance
procd_set_param command \$PROG --config-file /etc/docker/daemon.json
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
stop_service() {
killall dockerd
}
restart() {
stop
start
}
EOF
chmod +x /etc/init.d/docker
/etc/init.d/docker enable
green "正在设置开机启动顺序的配置\n\n先挂载U盘,再启动Docker 修改/etc/rc.local后如下\n"
# 首先,备份 /etc/rc.local
cp /etc/rc.local /etc/rc.local.backup
# glinet系统重启后的 USB自动挂载点
SYSTEM_USB_AUTO_MOUNTPOINT="/tmp/mountd/disk1_part1"
# 卸载USB自动挂载点 挂载自定义挂载点 /mnt/upan_data
if ! grep -q "umount $SYSTEM_USB_AUTO_MOUNTPOINT" /etc/rc.local; then
sed -i '/exit 0/d' /etc/rc.local
# 将新的命令添加到 /etc/rc.local然后再加上 exit 0
{
echo "umount $SYSTEM_USB_AUTO_MOUNTPOINT || true"
echo "mount $new_partition $usb_mount_point || true"
echo "/etc/init.d/docker start || true"
echo "exit 0"
} >>/etc/rc.local
fi
cat /etc/rc.local
green "Docker 运行环境部署完成 重启后生效\n"
red "是否立即重启?(y/n)"
read -r answer
if [ "$answer" = "y" ] || [ -z "$answer" ]; then
red "正在重启..."
reboot
else
yellow "您选择了不重启"
fi
}
# START
install_depends_apps
prepare_usb_device

View File

@@ -1,5 +1,20 @@
#!/bin/sh #!/bin/sh
third_party_source="https://op.dllkids.xyz/packages/aarch64_cortex-a53" red() {
echo -e "\033[31m\033[01m$1\033[0m"
}
green() {
echo -e "\033[32m\033[01m$1\033[0m"
}
yellow() {
echo -e "\033[33m\033[01m$1\033[0m"
}
blue() {
echo -e "\033[34m\033[01m$1\033[0m"
}
light_magenta() {
echo -e "\033[95m\033[01m$1\033[0m"
}
third_party_source="https://istore.linkease.com/repo/all/nas_luci"
setup_base_init() { setup_base_init() {
#添加出处信息 #添加出处信息
@@ -15,14 +30,15 @@ setup_base_init() {
## 设置防火墙wan 打开,方便主路由访问 ## 设置防火墙wan 打开,方便主路由访问
uci set firewall.@zone[1].input='ACCEPT' uci set firewall.@zone[1].input='ACCEPT'
uci commit firewall uci commit firewall
} }
## 安装应用商店和主题 ## 安装应用商店和主题
install_istore_os_style() { install_istore_os_style() {
##设置Argon 紫色主题 ##设置Argon 紫色主题
do_install_argon_skin do_install_argon_skin
#安装首页风格 #增加首页终端图标
is-opkg install luci-app-quickstart opkg install ttyd
is-opkg install 'app-meta-ddnsto' is-opkg install 'app-meta-ddnsto'
#安装首页需要的文件管理功能 #安装首页需要的文件管理功能
is-opkg install 'app-meta-linkease' is-opkg install 'app-meta-linkease'
@@ -135,13 +151,9 @@ add_dhcp_domain() {
uci set "dhcp.@domain[-1].name=$domain_name" uci set "dhcp.@domain[-1].name=$domain_name"
uci set "dhcp.@domain[-1].ip=$domain_ip" uci set "dhcp.@domain[-1].ip=$domain_ip"
uci commit dhcp uci commit dhcp
echo
echo "已添加新的域名记录"
else else
echo "相同的域名记录已存在,无需重复添加" echo
fi fi
echo -e "\n"
echo -e "time.android.com 203.107.6.88 "
} }
#添加出处信息 #添加出处信息
@@ -260,23 +272,6 @@ set_glfan_temp() {
echo "错误: 请输入整数." echo "错误: 请输入整数."
fi fi
} }
check_bash_installed() {
if [ -x "/bin/bash" ]; then
echo "rollback_old_version ......"
else
setup_software_source 0
opkg install bash
fi
}
rollback_old_version() {
check_bash_installed
download_url="https://github.com/wukongdaily/gl-inet-onescript/raw/1f25c161512e9b416227f60656e8c2139c993f69/gl-inet.run"
local_file_path="/tmp/gl-inet.run"
wget -O "$local_file_path" "$download_url"
chmod +x "$local_file_path"
"$local_file_path"
}
recovery_opkg_settings() { recovery_opkg_settings() {
echo "# add your custom package feeds here" >/etc/opkg/customfeeds.conf echo "# add your custom package feeds here" >/etc/opkg/customfeeds.conf
@@ -293,15 +288,43 @@ recovery_opkg_settings() {
wget -O /etc/opkg/distfeeds.conf ${mt2500a_opkg} wget -O /etc/opkg/distfeeds.conf ${mt2500a_opkg}
;; ;;
*6000*) *6000*)
echo "Router name contains '6000'." update_opkg_config
mt6000_opkg="https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-6000/distfeeds.conf"
wget -O /etc/opkg/distfeeds.conf ${mt6000_opkg}
;; ;;
*) *)
echo "Router name does not contain '3000' 6000 or '2500'." echo "Router name does not contain '3000' 6000 or '2500'."
;; ;;
esac esac
echo "Tips: 重启路由器后才能完全生效" }
update_opkg_config() {
kernel_version=$(uname -r)
echo "MT-6000 kernel version: $kernel_version"
case $kernel_version in
5.4*)
mt6000_opkg="https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-6000/distfeeds-5.4.conf"
wget -O /etc/opkg/distfeeds.conf ${mt6000_opkg}
# 更换5.4.238 内核之后 缺少的依赖
mkdir -p /tmp/mt6000
wget -O /tmp/mt6000/script-utils.ipk "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-6000/script-utils.ipk?$(date +%s)"
wget -O /tmp/mt6000/mdadm.ipk "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-6000/mdadm.ipk?$(date +%s)"
wget -O /tmp/mt6000/lsblk.ipk "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-6000/lsblk.ipk?$(date +%s)"
opkg update
if [ -f "/tmp/mt6000/lsblk.ipk" ]; then
# 先卸载之前安装过的lsblk,确保使用的是正确的lsblk
opkg remove lsblk
fi
opkg install /tmp/mt6000/*.ipk
;;
5.15*)
mt6000_opkg="https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/mt-6000/distfeeds.conf"
wget -O /etc/opkg/distfeeds.conf ${mt6000_opkg}
;;
*)
echo "Unsupported kernel version: $kernel_version"
return 1
;;
esac
} }
do_luci_app_adguardhome() { do_luci_app_adguardhome() {
@@ -309,24 +332,30 @@ do_luci_app_adguardhome() {
opkg remove gl-sdk4-ui-adguardhome opkg remove gl-sdk4-ui-adguardhome
opkg remove gl-sdk4-adguardhome opkg remove gl-sdk4-adguardhome
opkg install adguardhome opkg install adguardhome
echo "请访问 http://192.168.8.1:3000 初始化设置adguardhome " echo "请访问 http://"$(uci get network.lan.ipaddr)":3000 初始化设置adguardhome "
} }
do_luci_app_wireguard() { do_luci_app_wireguard() {
setup_software_source 0 setup_software_source 0
opkg install luci-app-wireguard opkg install luci-app-wireguard
opkg install luci-i18n-wireguard-zh-cn opkg install luci-i18n-wireguard-zh-cn
echo "请访问 http://192.168.8.1/cgi-bin/luci/admin/status/wireguard 查看状态 " echo "请访问 http://"$(uci get network.lan.ipaddr)"/cgi-bin/luci/admin/status/wireguard 查看状态 "
echo "也可以去接口中 查看是否增加了新的wireguard 协议的选项 " echo "也可以去接口中 查看是否增加了新的wireguard 协议的选项 "
} }
update_luci_app_quickstart() { update_luci_app_quickstart() {
setup_software_source 1 if [ -f "/bin/is-opkg" ]; then
opkg install luci-app-quickstart # 如果 /bin/is-opkg 存在,则执行 is-opkg update
setup_software_source 0 is-opkg update
echo "首页样式已经更新,请强制刷新网页,检查是否为中文字体" is-opkg install luci-i18n-quickstart-zh-cn --force-depends >/dev/null 2>&1
yellow "恭喜您!现在你的路由器已经变成iStoreOS风格啦!"
green "如果没有首页和网络向导,可以执行第8项 更新luci_app_quickstart"
else
red "请先执行第一项 一键iStoreOS风格化"
fi
} }
do_install_depends_ipk() { do_install_depends_ipk() {
wget -O "/tmp/luci-lua-runtime_all.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/luci-lua-runtime_all.ipk" wget -O "/tmp/luci-lua-runtime_all.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/luci-lua-runtime_all.ipk"
wget -O "/tmp/libopenssl3.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/libopenssl3.ipk" wget -O "/tmp/libopenssl3.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/libopenssl3.ipk"
opkg install "/tmp/luci-lua-runtime_all.ipk" opkg install "/tmp/luci-lua-runtime_all.ipk"
@@ -337,8 +366,15 @@ do_install_argon_skin() {
echo "正在尝试安装argon主题......." echo "正在尝试安装argon主题......."
#下载和安装argon的依赖 #下载和安装argon的依赖
do_install_depends_ipk do_install_depends_ipk
setup_software_source 1 # bug fix 由于2.3.1 最新版的luci-argon-theme 登录按钮没有中文匹配,而2.3版本字体不对。
opkg install luci-app-argon-config # 所以这里安装上一个版本2.2.9,考虑到主题皮肤并不需要长期更新,因此固定版本没问题
opkg update
opkg install luci-lib-ipkg
wget -O "/tmp/luci-theme-argon.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/luci-theme-argon-master_2.2.9.4_all.ipk"
wget -O "/tmp/luci-app-argon-config.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/luci-app-argon-config_0.9_all.ipk"
wget -O "/tmp/luci-i18n-argon-config-zh-cn.ipk" "https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/theme/luci-i18n-argon-config-zh-cn.ipk"
cd /tmp/
opkg install luci-theme-argon.ipk luci-app-argon-config.ipk luci-i18n-argon-config-zh-cn.ipk
# 检查上一个命令的返回值 # 检查上一个命令的返回值
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "argon主题 安装成功" echo "argon主题 安装成功"
@@ -350,7 +386,6 @@ do_install_argon_skin() {
else else
echo "argon主题 安装失败! 建议再执行一次!再给我一个机会!事不过三!" echo "argon主题 安装失败! 建议再执行一次!再给我一个机会!事不过三!"
fi fi
setup_software_source 0
} }
#单独安装文件管理器 #单独安装文件管理器
@@ -361,6 +396,13 @@ do_install_filemanager() {
is-opkg install 'app-meta-linkease' is-opkg install 'app-meta-linkease'
echo "重新登录web页面,然后您可以访问: http://192.168.8.1/cgi-bin/luci/admin/services/linkease/file/?path=/root" echo "重新登录web页面,然后您可以访问: http://192.168.8.1/cgi-bin/luci/admin/services/linkease/file/?path=/root"
} }
#更新脚本
update_myself() {
wget -O gl-inet.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/gl-inet.sh?$(date +%s) && chmod +x gl-inet.sh
echo "脚本已更新并保存在当前目录 gl-inet.sh,现在将执行新脚本。"
./gl-inet.sh
exit 0
}
while true; do while true; do
clear clear
@@ -373,25 +415,27 @@ while true; do
echo "* 当前的路由器型号: "$gl_name | sed 's/ like iStoreOS//' echo "* 当前的路由器型号: "$gl_name | sed 's/ like iStoreOS//'
echo echo
echo "*******支持的机型列表***************************************************" echo "*******支持的机型列表***************************************************"
echo green "*******GL-iNet MT-2500A"
echo "*******GL-iNet MT-2500A" green "*******GL-iNet MT-3000 "
echo "*******GL-iNet MT-3000 " green "*******GL-iNet MT-6000 "
echo "*******GL-iNet MT-6000 "
echo "**********************************************************************" echo "**********************************************************************"
echo echo
echo " 1. $result" light_magenta " 1. $result"
echo echo
echo " 2. 设置自定义软件源" echo " 2. 设置自定义软件源"
echo " 3. 删除自定义软件源" echo " 3. 删除自定义软件源"
echo echo
echo " 4. 设置风扇开始工作的温度(仅限MT3000)" echo " 4. 设置风扇开始工作的温度(仅限MT3000)"
echo " 5. (慎用)恢复原厂OPKG配置软件包(需要网络环境支持)" echo " 5. 恢复原厂OPKG配置软件包"
echo echo
echo " 6. 安装GL原厂Adguardhome(10MB)" echo " 6. 安装GL原厂Adguardhome(10MB)"
echo " 7. 安装luci-app-wireguard" echo " 7. 安装luci-app-wireguard"
echo " 8. 更新luci-app-quickstart" echo " 8. 更新luci-app-quickstart"
echo " 9. 安装Argon紫色主题" echo " 9. 安装Argon紫色主题"
echo "10. 安装文件管理器" echo "10. 安装文件管理器"
light_magenta "11. 安装Docker"
echo "12. 安装Docker Compose(开发中)"
light_magenta "13. 更新脚本"
echo echo
echo " Q. 退出本程序" echo " Q. 退出本程序"
echo echo
@@ -404,14 +448,16 @@ while true; do
# 设置风扇工作温度 # 设置风扇工作温度
setup_cpu_fans setup_cpu_fans
fi fi
# 解决首页“已联网”的UI问题
recovery_opkg_settings
#先安装istore商店 #先安装istore商店
do_istore do_istore
#基础必备设置
setup_base_init
#安装iStore风格 #安装iStore风格
install_istore_os_style install_istore_os_style
#再次更新 防止出现汉化不完整 #安装iStore首页风格
update_luci_app_quickstart update_luci_app_quickstart
#基础必备设置
setup_base_init
;; ;;
2) 2)
add_custom_feed add_custom_feed
@@ -420,8 +466,16 @@ while true; do
remove_custom_feed remove_custom_feed
;; ;;
4) 4)
case "$gl_name" in
*3000*)
set_glfan_temp set_glfan_temp
;; ;;
*)
echo "* 当前的路由器型号: "$gl_name | sed 's/ like iStoreOS//'
echo "并非MT3000 它没有风扇 无需设置"
;;
esac
;;
5) 5)
recovery_opkg_settings recovery_opkg_settings
;; ;;
@@ -440,9 +494,21 @@ while true; do
10) 10)
do_install_filemanager do_install_filemanager
;; ;;
h | H) 11)
rollback_old_version yellow "注意!插入U盘之前请确认U盘数据已备份"
exit 0 red "确定要继续吗(y|n)"
read -r answer
if [ "$answer" = "y" ] || [ -z "$answer" ]; then
wget -q -O do_docker.sh https://raw.githubusercontent.com/wukongdaily/gl-inet-onescript/master/docker/do_docker.sh && chmod +x do_docker.sh && ./do_docker.sh
else
yellow "已退出Docker安装流程"
fi
;;
12)
yellow "开发中......"
;;
13)
update_myself
;; ;;
q | Q) q | Q)
echo "退出" echo "退出"

View File

@@ -1,4 +1,4 @@
# mt-2500a /etc/opkg/distfeeds.conf # mt-2500a /etc/opkg/distfeeds.conf
src/gz glinet_kmod https://fw.gl-inet.cn/releases/v21.02.3/kmod-4.2.1/aarch64_cortex-a53/mediatek/mt7981 src/gz glinet_base https://fw.gl-inet.cn/releases/v21.02.3/kmod-4.2.1/aarch64_cortex-a53/mediatek/mt7981
src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/glinet src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/glinet
src/gz glinet_gli_packages https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/packages src/gz glinet_gli_packages https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/packages

View File

@@ -1,4 +1,4 @@
# mt-3000 /etc/opkg/distfeeds.conf # mt-3000 /etc/opkg/distfeeds.conf
src/gz glinet_core https://fw.gl-inet.cn/releases/v21.02.3/kmod-4.2.1/aarch64_cortex-a53/mediatek/mt7981 src/gz glinet_base https://fw.gl-inet.cn/releases/v21.02.3/kmod-4.2.1/aarch64_cortex-a53/mediatek/mt7981
src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/glinet src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/glinet
src/gz glinet_gli_packages https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/packages src/gz glinet_gli_packages https://fw.gl-inet.cn/releases/v21.02.3/packages-4.0/aarch64_cortex-a53/packages

View File

@@ -0,0 +1,4 @@
# mt-6000-5.4.238 backup /etc/opkg/distfeeds.conf
src/gz glinet_base https://fw.gl-inet.cn/releases/mt798x/kmod-4.5.7/aarch64_cortex-a53/mediatek/mt7986
src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/mt798x/packages-4.5/aarch64_cortex-a53/glinet
src/gz glinet_gli_packages https://fw.gl-inet.cn/releases/mt798x/packages-4.5/aarch64_cortex-a53/packages

View File

@@ -1,4 +1,4 @@
# mt-6000 backup /etc/opkg/distfeeds.conf # mt-6000 backup /etc/opkg/distfeeds.conf
src/gz glinet_core https://fw.gl-inet.cn/releases/v23.05.0/kmod-4.5/aarch64_cortex-a53/mediatek/mt7986 src/gz glinet_base https://fw.gl-inet.cn/releases/v23.05.0/kmod-4.5/aarch64_cortex-a53/mediatek/mt7986
src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/v23.05.0/packages-4.5/aarch64_cortex-a53/glinet src/gz glinet_gli_pub https://fw.gl-inet.cn/releases/v23.05.0/packages-4.5/aarch64_cortex-a53/glinet
src/gz glinet_packages https://fw.gl-inet.cn/releases/v23.05.0/packages-4.5/aarch64_cortex-a53/packages src/gz glinet_packages https://fw.gl-inet.cn/releases/v23.05.0/packages-4.5/aarch64_cortex-a53/packages

BIN
mt-6000/lsblk.ipk Normal file

Binary file not shown.

BIN
mt-6000/mdadm.ipk Normal file

Binary file not shown.

BIN
mt-6000/script-utils.ipk Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.