create install.sh & readme
Signed-off-by: sbwml <admin@cooluc.com>
This commit is contained in:
parent
51b4b7a98b
commit
37d32f521e
61
README.md
Normal file
61
README.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# luci-app-openlist
|
||||||
|
|
||||||
|
🗂️ A file list program that supports multiple storage, powered by Gin and Solidjs.
|
||||||
|
|
||||||
|
## How to build
|
||||||
|
|
||||||
|
- Install `libfuse` development package.
|
||||||
|
|
||||||
|
- ubuntu/debian:
|
||||||
|
```shell
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install libfuse-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
- redhat:
|
||||||
|
```shell
|
||||||
|
sudo yum install fuse-devel
|
||||||
|
```
|
||||||
|
|
||||||
|
- arch:
|
||||||
|
```shell
|
||||||
|
sudo pacman -S fuse2
|
||||||
|
```
|
||||||
|
|
||||||
|
- Enter in your openwrt dir
|
||||||
|
|
||||||
|
- Openwrt official SnapShots
|
||||||
|
|
||||||
|
*1. requires golang 1.24.x or latest version (Fix build for older branches of OpenWrt.)*
|
||||||
|
```shell
|
||||||
|
rm -rf feeds/packages/lang/golang
|
||||||
|
git clone https://github.com/sbwml/packages_lang_golang -b 24.x feeds/packages/lang/golang
|
||||||
|
```
|
||||||
|
|
||||||
|
*2. get luci-app-openlist code & building*
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/sbwml/luci-app-openlist package/openlist
|
||||||
|
make menuconfig # choose LUCI -> Applications -> luci-app-openlist
|
||||||
|
make package/openlist/luci-app-openlist/compile V=s # build luci-app-openlist
|
||||||
|
```
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
## How to install prebuilt packages
|
||||||
|
|
||||||
|
- Login OpenWrt terminal (SSH)
|
||||||
|
|
||||||
|
- Install `curl` package
|
||||||
|
```shell
|
||||||
|
opkg update
|
||||||
|
opkg install curl
|
||||||
|
```
|
||||||
|
|
||||||
|
- Execute install script (Multi-architecture support)
|
||||||
|
```shell
|
||||||
|
sh -c "$(curl -ksS https://raw.githubusercontent.com/sbwml/luci-app-openlist/main/install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|

|
123
install.sh
Executable file
123
install.sh
Executable file
@ -0,0 +1,123 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Define color codes and output functions
|
||||||
|
RED='\033[1;31m'
|
||||||
|
GREEN='\033[1;32m'
|
||||||
|
RESET='\033[0m'
|
||||||
|
|
||||||
|
msg_red() { printf "${RED}%s${RESET}\n" "$*"; }
|
||||||
|
msg_green() { printf "${GREEN}%s${RESET}\n" "$*"; }
|
||||||
|
|
||||||
|
# Check if running on OpenWrt
|
||||||
|
if [ ! -f /etc/openwrt_release ]; then
|
||||||
|
msg_red "Unknown OpenWrt Version"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Read architecture information
|
||||||
|
. /etc/openwrt_release
|
||||||
|
DISTRIB_ARCH="${DISTRIB_ARCH:-unknown}"
|
||||||
|
|
||||||
|
# Detect package manager and set SDK version
|
||||||
|
if [ -x "/usr/bin/apk" ]; then
|
||||||
|
PKG_MANAGER="apk"
|
||||||
|
SDK="SNAPSHOT"
|
||||||
|
elif command -v opkg >/dev/null 2>&1; then
|
||||||
|
PKG_MANAGER="opkg"
|
||||||
|
SDK="openwrt-24.10"
|
||||||
|
else
|
||||||
|
msg_red "No supported package manager found."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check LuCI version compatibility
|
||||||
|
if [ ! -d "/usr/share/luci/menu.d" ]; then
|
||||||
|
msg_red "OpenWrt LuCI version is not supported. The minimum required version is openwrt-21.02 or higher."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check available root partition space (at least 35MB required)
|
||||||
|
ROOT_SPACE=$(df -m /usr | awk 'END{print $4}')
|
||||||
|
if [ "$ROOT_SPACE" -lt 35 ]; then
|
||||||
|
msg_red "Error: The system storage space is less than 35MB."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create temporary directory and set up cleanup on exit
|
||||||
|
TEMP_DIR="$(mktemp -d)"
|
||||||
|
trap 'rm -rf "$TEMP_DIR"' EXIT
|
||||||
|
|
||||||
|
# Check if the current platform is supported
|
||||||
|
msg_green "Checking platform..."
|
||||||
|
|
||||||
|
SUPPORTED_PLATFORMS="
|
||||||
|
aarch64_cortex-a53
|
||||||
|
aarch64_cortex-a72
|
||||||
|
aarch64_cortex-a76
|
||||||
|
aarch64_generic
|
||||||
|
arm_arm1176jzf-s_vfp
|
||||||
|
arm_arm926ej-s
|
||||||
|
arm_cortex-a15_neon-vfpv4
|
||||||
|
arm_cortex-a5_vfpv4
|
||||||
|
arm_cortex-a7
|
||||||
|
arm_cortex-a7_neon-vfpv4
|
||||||
|
arm_cortex-a7_vfpv4
|
||||||
|
arm_cortex-a8_vfpv3
|
||||||
|
arm_cortex-a9
|
||||||
|
arm_cortex-a9_neon
|
||||||
|
arm_cortex-a9_vfpv3-d16
|
||||||
|
arm_fa526
|
||||||
|
arm_xscale
|
||||||
|
i386_pentium-mmx
|
||||||
|
i386_pentium4
|
||||||
|
loongarch64_generic
|
||||||
|
mips64_mips64r2
|
||||||
|
mips64_octeonplus
|
||||||
|
mips64el_mips64r2
|
||||||
|
mips_24kc
|
||||||
|
mips_4kec
|
||||||
|
mips_mips32
|
||||||
|
mipsel_24kc
|
||||||
|
mipsel_24kc_24kf
|
||||||
|
mipsel_74kc
|
||||||
|
mipsel_mips32
|
||||||
|
riscv64_riscv64
|
||||||
|
x86_64
|
||||||
|
"
|
||||||
|
|
||||||
|
FOUND=0
|
||||||
|
for arch in $SUPPORTED_PLATFORMS; do
|
||||||
|
if [ "$DISTRIB_ARCH" = "$arch" ]; then
|
||||||
|
FOUND=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$FOUND" -ne 1 ]; then
|
||||||
|
msg_red "Error! The current \"$DISTRIB_ARCH\" platform is not supported."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Download the corresponding package archive
|
||||||
|
PKG_FILE="$SDK-$DISTRIB_ARCH.tar.gz"
|
||||||
|
PKG_URL="https://github.com/sbwml/luci-app-openlist/releases/latest/download/$PKG_FILE"
|
||||||
|
|
||||||
|
msg_green "Downloading $PKG_URL ..."
|
||||||
|
if ! curl --connect-timeout 5 -m 300 -kLo "$TEMP_DIR/$PKG_FILE" "$PKG_URL"; then
|
||||||
|
msg_red "Download $PKG_FILE failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract and install packages
|
||||||
|
msg_green "Installing Packages ..."
|
||||||
|
tar -zxf "$TEMP_DIR/$PKG_FILE" -C "$TEMP_DIR/"
|
||||||
|
for pkg in "$TEMP_DIR"/packages_ci/openlist*.ipk \
|
||||||
|
"$TEMP_DIR"/packages_ci/luci-app-openlist*.ipk \
|
||||||
|
"$TEMP_DIR"/packages_ci/luci-i18n-openlist-zh-cn*.ipk; do
|
||||||
|
[ -f "$pkg" ] && $PKG_MANAGER install "$pkg"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Clean up temporary files and finish
|
||||||
|
rm -rf /tmp/luci-*
|
||||||
|
msg_green "Done!"
|
Loading…
x
Reference in New Issue
Block a user