1 Commits

Author SHA1 Message Date
remittor
79ecd0da66 Fix for Argon theme 2023-08-13 16:25:48 +03:00
44 changed files with 302 additions and 2121 deletions

31
.github/FUNDING.yml vendored
View File

@@ -1,31 +0,0 @@
# These are supported funding model platforms
# Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github:
# Replace with a single Patreon username
patreon:
# Replace with a single Open Collective username
open_collective:
# Replace with a single Ko-fi username
ko_fi:
# Replace with a single Tidelift platform-name/package-name e.g., npm/babel
tidelift:
# Replace with a single Community Bridge project-name e.g., cloud-foundry
community_bridge:
# Replace with a single Liberapay username
liberapay:
# Replace with a single IssueHunt username
issuehunt:
# Replace with a single Otechie username
otechie:
# Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
custom: ['https://github.com/remittor/donate']

View File

@@ -1,544 +0,0 @@
name: build
on:
workflow_dispatch:
inputs:
use_cache:
description: 'Use cache for host tools'
required: true
default: 'false'
type: choice
options:
- true
- false
test_build:
description: 'Test build (only spec target) '
required: true
default: 'false'
type: choice
options:
- true
- false
target_name:
description: 'Target Name for test build'
required: false
default: 'r3d'
type: string
package_dir:
description: 'Package Dir for test build'
required: false
default: ''
type: string
fake_build:
description: 'Fake build'
required: true
default: 'false'
type: choice
options:
- true
- false
suffix:
description: 'TAG suffix'
required: false
default: ''
type: string
env:
TEST_BUILD: ${{ github.event.inputs.test_build == 'true' }}
FAKE_BUILD: ${{ github.event.inputs.fake_build == 'true' }}
TAG_SUFFIX: ${{ github.event.inputs.fake_build == 'true' && '-fake' || github.event.inputs.test_build == 'true' && '-test' || '' }}
TARGET_NAME: ${{ github.event.inputs.target_name }}
PACKAGE_DIR: ${{ github.event.inputs.package_dir }}
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
REPO_LNK: openwrt-xiaomi/openwrt
REPO_BRANCH: xq-25.12
TAG_PREFIX: v25-
TZ: UTC
DEVICE_NAME: unknown
BUILD_DATE: unknown
REPO_DATE: unknown
FW_DATE: unknown
FW_VER: unknown
jobs:
check:
runs-on: ubuntu-24.04
outputs:
tag: ${{ steps.gh.outputs.tag }}
date: ${{ steps.gh.outputs.date }}
sha: ${{ steps.gh.outputs.sha }}
url: ${{ steps.gh.outputs.url }}
message: ${{ steps.gh.outputs.message }}
build_date: ${{ steps.gh.outputs.build_date }}
fw_date: ${{ steps.gh.outputs.fw_date }}
fw_ver: ${{ steps.gh.outputs.fw_ver }}
is_active: ${{ steps.activity.outputs.is_active }}
test_build: ${{ env.TEST_BUILD }}
target_name: ${{ env.TARGET_NAME }}
fake_build: ${{ env.FAKE_BUILD }}
steps:
- name: Get repo data via GH API
id: gh
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Tag name from GITHUB_REF_NAME: $GITHUB_REF_NAME"
echo "Tag name from github.ref_name: ${{ github.ref_name }}"
BRANCH=$REPO_BRANCH
REPO_DATE=$(gh api repos/$REPO_LNK/commits/$BRANCH --jq '.commit.committer.date')
BUILD_DATE=$( date --utc +'%y%m%d' )
FW_DATE=$( date --utc +'%Y-%m-%d' )
TAG=$TAG_PREFIX$BUILD_DATE
echo "REPO_DATE=$REPO_DATE" >> $GITHUB_ENV
echo "BUILD_DATE=$BUILD_DATE" >> $GITHUB_ENV
echo "FW_DATE=$FW_DATE" >> $GITHUB_ENV
echo "TAG=$TAG" >> $GITHUB_ENV
wget $REPO_URL/raw/refs/heads/$BRANCH/include/version.mk
FW_VERSION=$( grep -s '^VERSION_NUMBER:=$(if' version.mk 2>/dev/null )
[ -z "$FW_VERSION" ] && { echo "ERROR: Cannot find VERSION_NUMBER"; exit 90; }
FW_VER=$( echo $FW_VERSION | cut -d"," -f3 | cut -d")" -f1 )
echo 'FW_VER = "'$FW_VER'"'
echo "FW_VER=$FW_VER" >> $GITHUB_ENV
rm -f version.mk
{
echo "tag=$TAG"
echo "date=$(date --utc -d $REPO_DATE +%Y%m%d)"
echo "sha=$(gh api repos/$REPO_LNK/commits/$BRANCH --jq '.sha[0:7]')"
echo "url=$(gh api repos/$REPO_LNK/commits/$BRANCH --jq '.html_url')"
echo "message<<EOF"
gh api repos/$REPO_LNK/commits/$BRANCH --jq '.commit.message'
echo EOF
echo "build_date=$BUILD_DATE"
echo "fw_date=$FW_DATE"
echo "fw_ver=$FW_VER"
} >> $GITHUB_OUTPUT
- name: Check for repo activity
id: activity
env:
REPO_DATE: ${{ env.REPO_DATE }}
URL: ${{ steps.gh.outputs.url }}
run: |
TIMESTAMP=$(date --utc -d $REPO_DATE +%s)
DAYS=$(( ( $(date --utc +%s) - $TIMESTAMP ) / 86400 ))
echo "Repository activity: $(date --utc -d $REPO_DATE)"
echo "Commit: $URL"
if [ "${{ github.event_name }}" != "schedule" ]; then
is_active=true
elif [[ $DAYS -lt 1 ]] ; then
is_active=true
else
echo "Repository not updated within last 24 hours."
is_active=false
fi
echo "is_active=$is_active" >> $GITHUB_OUTPUT
build:
needs: check
#if: needs.check.outputs.is_active == 'true'
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
target:
- kng_re
- r3d
- r3g
- r3p
- rb03
- rb06
- rd03
- rt-ax52
- rt-ax57m
- rt-ax59u
- rt-ax89x
- tuf_ax4200
- tuf_ax6000
- zen-bt8
isTest:
- ${{ needs.check.outputs.test_build == 'true' }}
exclude:
- { isTest: true }
include:
- target: ${{ github.event.inputs.target_name }}
steps:
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get -qq update
#sudo apt-get -qq update && sudo apt-get -qq upgrade
sudo apt-get -qq install build-essential gawk flex rsync swig unzip zlib1g-dev file wget
sudo apt-get -qq install libc6-dev clang bison g++ gcc-multilib g++-multilib
sudo apt-get -qq install gettext git libncurses5-dev libssl-dev python3-setuptools
sudo apt-get -qq install libc6-dev pkg-config
sudo apt-get -qq autoremove --purge
sudo apt-get -qq clean
sudo timedatectl set-timezone "$TZ"
- name: Maximize build disk space
uses: easimon/maximize-build-space@master
with:
remove-dotnet: true
remove-android: true
remove-haskell: true
remove-codeql: true
remove-docker-images: true
- name: Set fixed workspace
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
sudo mkdir -p $GITHUB_WORKSPACE/_temp
#sudo chown -R $USER:$USER $GITHUB_WORKSPACE
echo "GITHUB_WORKSPACE = $GITHUB_WORKSPACE"
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" >> $GITHUB_ENV
echo "RUNNER_TEMP=$GITHUB_WORKSPACE/_temp" >> $GITHUB_ENV
- name: Checkout builder
uses: actions/checkout@main
- name: Download OpenWrt sources
run: |
git clone --branch $REPO_BRANCH $REPO_URL.git openwrt
rm -rf .git
rsync -a openwrt/ ./
rm -rf openwrt
- name: Init builder
run: |
chmod +x *.sh
#wget https://github.com/fantastic-packages/packages/raw/refs/heads/master/keys/apksign/20241123170031.pub
wget https://fantastic-packages.github.io/releases/25.12/20241123170031.pub
- name: Update OpenWrt packages
id: update
env:
USE_CACHE: ${{ github.event.inputs.use_cache }}
run: |
./xupdate.sh -f
mkdir -p logs
echo "status=success" >> $GITHUB_OUTPUT
echo "USE_CACHE=$USE_CACHE" >> $GITHUB_ENV
if [ "$USE_CACHE" = "true" ]; then
rm -rf staging_dir/
mkdir -p staging_dir/host
rm -rf build_dir/
mkdir -p build_dir/host
fi
- name: Restore cache for host tools
id: tools_cache_restore
if: github.event.inputs.use_cache == 'true'
uses: actions/cache/restore@v4
with:
key: host-tools-001-${{ hashFiles('tools/**') }}
path: |
staging_dir/host
build_dir/host
- name: Fix time stamps into restored dirs
if: github.event.inputs.use_cache == 'true' && steps.tools_cache_restore.outputs.cache-hit == 'true'
run: |
touch staging_dir/host/.prepared
touch staging_dir/host/.prereq-build
touch staging_dir/host/stamp/.* 2>/dev/null
find build_dir/host -name ".prepared*" -exec touch {} +
find build_dir/host -name ".configured" -exec touch {} +
find build_dir/host -name ".built" -exec touch {} +
touch build_dir/stamp
- name: Inspect restored host tools
if: github.event.inputs.use_cache == 'true'
run: |
echo "====== openwrt-native.txt ======"
cat build_dir/host/pkgconf-*/openwrt-native.txt || true
echo "====== staging_dir/host ====="
du -sh staging_dir/host || true
ls -la staging_dir/host || true
echo "====== staging_dir/host/bin ====="
du -sh staging_dir/host/bin || true
ls -1 staging_dir/host/bin | head -20 || true
echo "====== build_dir/host ======="
du -sh build_dir/host || true
ls -1 build_dir/host | head -20 || true
echo "====== path info ========"
grep -R "/home/runner" build_dir/host | head
- name: Configure
id: configure
if: steps.update.outputs.status == 'success'
env:
TARGET: ${{ matrix.target }}
FW_VER: ${{ needs.check.outputs.fw_ver }}
run: |
./xmake.sh -I -t $TARGET
G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
[ -z "$G_DEVICE_NAME" ] && exit 31
G_BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 )
[ -z "$G_BOARD_NAME" ] && exit 32
G_SUBTARGET_NAME=$( grep -so '^CONFIG_TARGET_SUBTARGET=.*' .config | cut -d'"' -f2 )
[ -z "$G_SUBTARGET_NAME" ] && exit 33
G_TARGET_ARCH=$( grep -so '^CONFIG_TARGET_ARCH_PACKAGES=.*' .config | cut -d'"' -f2 )
echo "G_TARGET_ARCH = $G_TARGET_ARCH"
VERMAGIC_LIST="vermagic-$G_BOARD_NAME-$G_SUBTARGET_NAME-*.list"
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
./vermagic_update.sh $G_BOARD_NAME $G_SUBTARGET_NAME
fi
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
exit 41
fi
FILE_DATE=$(date --utc +'%y%m%d')
echo "status=success" >> $GITHUB_OUTPUT
echo "FW_VER=$FW_VER" >> $GITHUB_ENV
echo "G_DEVICE_NAME=$G_DEVICE_NAME" >> $GITHUB_ENV
echo "G_BOARD_NAME=$G_BOARD_NAME" >> $GITHUB_ENV
echo "G_SUBTARGET_NAME=$G_SUBTARGET_NAME" >> $GITHUB_ENV
echo "G_TARGET_ARCH=$G_TARGET_ARCH" >> $GITHUB_ENV
echo "FILE_DATE=$FILE_DATE" >> $GITHUB_ENV
- name: Dump .config file
run: |
echo "====== .config ========="
cat .config
echo "========================"
- name: Monitor memory
run: |
echo "CPU cores = $(nproc)"
echo "Memory and swap:"
sudo free -h
echo
sudo swapon --show
echo
echo "Available storage:"
sudo df -h
- name: Download sources (dl)
id: download
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
run: |
make -j$(nproc) download
echo "status=success" >> $GITHUB_OUTPUT
- name: Fix time stamps into restored dirs
if: github.event.inputs.use_cache == 'true' && steps.tools_cache_restore.outputs.cache-hit == 'true'
run: |
touch staging_dir/host/.prepared
touch staging_dir/host/.prereq-build
touch staging_dir/host/stamp/.* 2>/dev/null
find build_dir/host -name ".prepared*" -exec touch {} +
find build_dir/host -name ".configured" -exec touch {} +
find build_dir/host -name ".built" -exec touch {} +
touch build_dir/stamp
- name: Build tools and toolchain
id: tools
if: ${{ steps.configure.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
run: |
make toolchain/install -j$(nproc)
echo "status=success" >> $GITHUB_OUTPUT
- name: Save cache for host tools (use_cache = true)
id: tools_cache_save
if: steps.tools.outputs.status == 'success' && github.event.inputs.use_cache == 'true' && steps.tools_cache_restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ steps.tools_cache_restore.outputs.cache-primary-key }}
path: |
staging_dir/host
build_dir/host
- name: Save cache for host tools (use_cache = false)
id: tools_cache_save_2
if: steps.tools.outputs.status == 'success' && github.event.inputs.use_cache != 'true'
uses: actions/cache/save@v4
with:
key: host-tools-001-${{ hashFiles('tools/**') }}
path: |
staging_dir/host
build_dir/host
- name: Configure 2
id: configure2
if: steps.tools.outputs.status == 'success'
env:
TARGET: ${{ matrix.target }}
run: |
make clean
./xmake.sh -I -t $TARGET
- name: Kernel compile
id: kernel
if: ${{ steps.tools.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
run: |
make target/linux/compile -j$(npoc)
echo "status=success" >> $GITHUB_OUTPUT
make package/feeds/packages/mdio-netlink/compile V=s --debug=j
- name: XXX compile
if: false # ${{ steps.tools.outputs.status == 'success' && github.event.inputs.fake_build != 'true' }}
run: |
make package/utils/lua/host/compile
make package/system/apk/host/compile
make make package/feeds/packages/mdio-netlink/compile V=sc
echo "status=success" >> $GITHUB_OUTPUT
- name: Monitor memory 2
run: |
echo "Memory and swap:"
sudo free -h
echo
sudo swapon --show
echo
echo "Available storage:"
sudo df -h
- name: Build the firmware image
id: compile
if: steps.tools.outputs.status == 'success'
env:
TARGET: ${{ matrix.target }}
run: |
echo "Run $(nproc) thread compile"
if [ "$FAKE_BUILD" != "true" -a "$TEST_BUILD" = "true" -a "$PACKAGE_DIR" != "" ]; then
make target/linux/compile -j$(npoc)
echo "=============== BUILD PACKAGE: $PACKAGE_DIR ==============="
make $PACKAGE_DIR/compile V=sc BUILD_LOG=1
exit 99
fi
if [ "$FAKE_BUILD" != "true" ]; then
if [ "$TEST_BUILD" != "true" ]; then
make -j$(nproc) world
else
make V=sc world
fi
fi
# process results
OUT_DIR=bin/targets/$G_BOARD_NAME/$G_SUBTARGET_NAME
if [ "$FAKE_BUILD" = "true" ]; then
mkdir -p logs
mkdir -p $OUT_DIR
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
touch "$OUT_DIR/kernel-debug.tar.zst"
BLD_VER=$FW_VER
else
BLD_VER=$( cat $OUT_DIR/profiles.json | grep -so '"version_number":"[^"]*' | grep -so '[^"]*$' )
fi
echo "Firmware $BLD_VER [$FILE_DATE] builded!"
if [ ! -f $OUT_DIR/kernel-debug.tar.zst ]; then
echo "File kernel-debug.tar.zst not found!"
exit 100
fi
echo "status=success" >> $GITHUB_OUTPUT
echo "FW_BUILD_OK=1" >> $GITHUB_ENV
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
- name: Mark firmware build failed
if: false # steps.compile.outcome == 'failure'
run: |
echo "Firmware build failed, continuing pipeline"
echo "FW_BUILD_OK=0" >> $GITHUB_ENV
OUT_DIR=_bin_fake
mkdir -p $OUT_DIR
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
touch "$OUT_DIR/kernel-debug.tar.zst"
echo "BUILD FAILED" > $OUT_DIR/FAILED.txt
echo "BLD_VER=$FW_VER" >> $GITHUB_ENV
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
- name: Check space usage
run: df -hT
- name: Check OOM error
if: failure()
run: |
dmesg | grep -i -E 'oom|killed process' || true
echo "================== Memory ================="
free -h
- name: Compress build logs
if: always()
env:
TARGET: ${{ matrix.target }}
FW_DATE: ${{ needs.check.outputs.fw_date }}
run: |
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz logs
- name: Cleanup OUT directory
if: steps.compile.outputs.status == 'success'
env:
OUT_DIR: ${{ env.OUT_DIR }}
run: |
cd $OUT_DIR
echo "---------------------------"
ls -la
echo "---------------------------"
rm -rf packages
rm -f kernel-*
rm -f *uImage
rm -f *ubi-cleaner*
rm -f *-ram-*.bin
rm -f *-preloader*
rm -f *-bl31-uboot*
rm -f *-initramfs-recovery*
rm -f *-bt8-factory.bin
- name: Upload OUT directory
uses: actions/upload-artifact@main
if: steps.compile.outputs.status == 'success'
with:
name: openwrt-${{ env.BLD_VER }}-${{ needs.check.outputs.build_date }}-${{ env.G_DEVICE_NAME }}
path: ${{ env.OUT_DIR }}
if-no-files-found: error
- name: Upload build logs
if: always()
uses: actions/upload-artifact@v4
with:
name: logs-${{ matrix.target }}-${{ env.FW_DATE }}
path: logs-*.tar.xz
release:
needs: [ check, build ]
permissions:
contents: write
runs-on: ubuntu-24.04
strategy:
max-parallel: 1
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: openwrt-*
- name: Check for failed builds
run: |
echo "Checking for FAILED.txt in openwrt-* directories..."
FAILED_DIRS=$( find . -maxdepth 1 -type d -name 'openwrt-*' -exec test -f '{}/FAILED.txt' \; -print )
if [ -n "$FAILED_DIRS" ]; then
echo "❌ Build failures detected in:"
exit 201
fi
echo "✅ No FAILED.txt found, proceeding to release"
- name: Put images into zip
run: |
mkdir -p public
find . -mindepth 1 -type d -name 'openwrt-*' -exec sh -c 'zip -0 ./public/$(basename {}).zip -j {} {}/*' \;
ls -lh ./public/*.zip
- name: Upload assets
uses: andelf/nightly-release@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ needs.check.outputs.tag }}
with:
prerelease: ${{ env.TEST_BUILD == 'true' || env.FAKE_BUILD == 'true' }}
tag_name: ${{ needs.check.outputs.tag }}${{ env.TAG_SUFFIX }}
name: '${{ needs.check.outputs.tag }}'
body: |
OpenWrt ${{ needs.check.outputs.fw_ver }} [${{ needs.check.outputs.fw_date }}]
author: [remittor](https://github.com/remittor)
files: ./public/*.zip

View File

@@ -1,8 +1,3 @@
[![Github All Releases](https://img.shields.io/github/downloads/openwrt-xiaomi/builder/total.svg)](https://github.com/openwrt-xiaomi/builder/releases)
[![ViewCount](https://views.whatilearened.today/views/github/openwrt-xiaomi/builder.svg)](https://github.com/openwrt-xiaomi/builder/releases)
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fopenwrt-xiaomi%2Fbuilder&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://github.com/openwrt-xiaomi/builder/releases)
[![Donations Page](https://github.com/andry81-cache/gh-content-static-cache/raw/master/common/badges/donate/donate.svg)](https://github.com/remittor/donate)
# OpenWrt builder
For OpenWrt >= 21.02
@@ -18,11 +13,11 @@ sudo apt-get install python3-distutils rsync unzip zlib1g-dev
## Build firmware
```
git clone https://github.com/openwrt-xiaomi/builder -b v24 openwrt-v24
cd openwrt-v24
git clone https://github.com/openwrt-xiaomi/builder -b v21 openwrt-v21
cd openwrt-v21
./xcreate.sh -v xq-24.10
cd xq-24.10
./xcreate.sh -v xq-21.02.3
cd xq-21.02.3
./xupdate.sh -f

View File

@@ -1,10 +1,4 @@
### facinstall
#GIT_PACKAGE facinstall=https://github.com/openwrt-xiaomi/facinstall.git main
### cozymenu
#GIT_PACKAGE cozymenu=https://github.com/openwrt-xiaomi/cozymenu.git master
### alpine-fan-control
#GIT_FEED _alpine_fan_control=https://github.com/openwrt-xiaomi/openwrt-alpine-fan-control.git
CONFIG_FEED__alpine_fan_control=m
@@ -13,16 +7,16 @@ CONFIG_FEED__alpine_fan_control=m
#GIT_PACKAGE luci-app-temp-status=https://github.com/openwrt-xiaomi/luci-app-temp-status.git master
### luci-app-disks-info
#GIT_PACKAGE luci-app-disks-info=https://github.com/gSpotx2f/luci-app-disks-info.git master
#GIT_PACKAGE luci-app-disks-info=https://github.com/openwrt-xiaomi/luci-app-disks-info.git master
### luci-app-diskman
#GIT_PACKAGE luci-app-diskman=https://github.com/lisaac/luci-app-diskman.git master
#GIT_PACKAGE luci-app-diskman=https://github.com/openwrt-xiaomi/luci-app-diskman.git master
### luci-theme-argon
#GIT_PACKAGE luci-theme-argon=https://github.com/jerrykuku/luci-theme-argon.git master
#GIT_PACKAGE luci-theme-argon=https://github.com/openwrt-xiaomi/luci-theme-argon.git v2.2.9
### luci-app-argon-config
#GIT_PACKAGE luci-app-argon-config=https://github.com/jerrykuku/luci-app-argon-config.git master
#GIT_PACKAGE luci-app-argon-config=https://github.com/openwrt-xiaomi/luci-app-argon-config.git v0.9
### luci-app-tn-netports
#GIT_PACKAGE luci-app-tn-netports=https://github.com/openwrt-xiaomi/luci-app-tn-netports.git master
@@ -33,33 +27,12 @@ CONFIG_FEED__alpine_fan_control=m
### luci-app-cpufreq
#GIT_PACKAGE luci-app-cpufreq=https://github.com/openwrt-xiaomi/luci-app-cpufreq.git master
### qBittorrent
#GIT_PACKAGE qBittorrent=https://github.com/openwrt-xiaomi/qBittorrent-openwrt-package.git master
### luci-app-qbittorrent
#GIT_PACKAGE luci-app-qbittorrent=https://github.com/openwrt-xiaomi/luci-app-qbittorrent.git master
### luci-app-netspeedtest
#GIT_PACKAGE luci-app-netspeedtest=https://github.com/openwrt-xiaomi/luci-app-netspeedtest.git master
### AmneziaWG
#GIT_FEED _amneziawg=https://github.com/Slava-Shchipunov/awg-openwrt.git
CONFIG_FEED__amneziawg=m
### Zapret
#GIT_FEED _zapret=https://github.com/remittor/zapret-openwrt.git;zap1
CONFIG_FEED__zapret=m
#GIT_FEED _zapret2=https://github.com/remittor/zapret-openwrt.git;master
CONFIG_FEED__zapret2=m
### ruantiblock
#GIT_FEED _ruantiblock=https://github.com/gSpotx2f/ruantiblock_openwrt.git
CONFIG_FEED__ruantiblock=m
### podkop (itdog)
#GIT_FEED _podkop=https://github.com/itdoginfo/podkop.git
CONFIG_FEED__podkop=m
### xwrt-packages
#GIT_FEED _xwrt_packages=https://github.com/x-wrt/com.x-wrt.git master
CONFIG_FEED__xwrt_packages=m
### luci-app-filebrowser
#GIT_PACKAGE luci-app-filebrowser=https://github.com/openwrt-xiaomi/luci-app-filebrowser.git master

View File

@@ -1,48 +0,0 @@
### For NON compatible official firmwares!!!
CONFIG_KERNEL_KALLSYMS=y
#CONFIG_KERNEL_DEBUG_INFO=y
#CONFIG_KERNEL_DEBUG_INFO_REDUCED=y
#CONFIG_KERNEL_DEBUG_KERNEL=y
CONFIG_PACKAGE_kmod-bonding=y
CONFIG_PACKAGE_proto-bonding=y
CONFIG_PACKAGE_luci-proto-bonding=y
### NSS Drivers
#GIT_FEED nss=https://github.com/openwrt-xiaomi/nss-packages.git;NSS-11.2-K5.15
CONFIG_FEED_nss=m
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y
CONFIG_PACKAGE_kmod-qca-nss-gmac=y
CONFIG_PACKAGE_kmod-qca-nss-ecm-standard=y
CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y
CONFIG_PACKAGE_kmod-qca-nss-drv-l2tpv2=y
CONFIG_PACKAGE_kmod-qca-nss-drv-tunipip6=y
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pptp=y
#CONFIG_PACKAGE_kmod-qca-mcs=y
#CONFIG_PACKAGE_kmod-qca-nat46=y
##CONFIG_PACKAGE_kmod-qca-nss-ecm=y
##CONFIG_PACKAGE_kmod-qca-nss-ecm-noload is not set
##CONFIG_PACKAGE_kmod-qca-nss-cfi-cryptoapi=y
CONFIG_PACKAGE_kmod-qca-nss-crypto=y
CONFIG_PACKAGE_kmod-nss-ifb=y
#CONFIG_PACKAGE_nssinfo=y
### sqm-scripts-nss (by KONG)
#GIT_FEED sqm_scripts_nss=https://github.com/openwrt-xiaomi/sqm-scripts-nss.git
CONFIG_FEED_sqm_scripts_nss=m
CONFIG_PACKAGE_sqm-scripts-nss=y

View File

@@ -13,10 +13,6 @@ CONFIG_COLLECT_KERNEL_DEBUG=y
### Per-package build logs in <buildroot>/logs
CONFIG_BUILD_LOG=y
### Kernel debug tools
CONFIG_PACKAGE_kmod-pstore=y
CONFIG_PACKAGE_kmod-ramoops=y
### Include package list in build
CONFIG_INCLUDE_CONFIG=y
@@ -31,38 +27,30 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_REGEXP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_WINCH=y
### System utils
CONFIG_DROPBEAR_ECC=y
CONFIG_PACKAGE_dropbear=y
CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_kmod-mtd-rw=y
CONFIG_PACKAGE_iw-full=y
CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_mc=y
CONFIG_PACKAGE_rsync=y
CONFIG_PACKAGE_luci-app-ttyd=y
CONFIG_PACKAGE_luci-i18n-ttyd-ru=y
CONFIG_PACKAGE_luci-app-filemanager=y
CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
#CONFIG_PACKAGE_atftp=y
#CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_facinstall=y
### Add-on programs
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_ccrypt=y
CONFIG_LIBCURL_PROXY=y
CONFIG_PACKAGE_curl=y
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_patch=y
CONFIG_PACKAGE_diffutils=y
CONFIG_PACKAGE_tree=y
CONFIG_PACKAGE_irqbalance=y
CONFIG_DROPBEAR_ECC=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_coreutils-cksum=y
CONFIG_PACKAGE_openssl-util=y
### USB device mount & file systems support
CONFIG_PACKAGE_gdisk=y
@@ -92,18 +80,9 @@ CONFIG_PACKAGE_kmod-nls-iso8859-15=y
CONFIG_PACKAGE_kmod-nls-utf8=y
### WAN proto
CONFIG_PACKAGE_kmod-tls=y
CONFIG_PACKAGE_kmod-l2tp=y
CONFIG_PACKAGE_kmod-pppol2tp=y
CONFIG_PACKAGE_kmod-pppoe=y
CONFIG_PACKAGE_kmod-pptp=y
CONFIG_PACKAGE_kmod-nf-nathelper-extra=y
### IPsec
#CONFIG_PACKAGE_kmod-ipsec=y
#CONFIG_PACKAGE_iptables-mod-ipsec=m
#CONFIG_PACKAGE_kmod-ipt-ipsec=m
#CONFIG_PACKAGE_kmod-crypto-authenc=y
### PPTP support
CONFIG_PACKAGE_luci-proto-ppp=y
@@ -113,8 +92,6 @@ CONFIG_PACKAGE_ppp-mod-pptp=y
CONFIG_PACKAGE_kmod-tun=y
CONFIG_PACKAGE_kmod-br-netfilter=y
CONFIG_PACKAGE_gre=y
CONFIG_PACKAGE_kmod-udptunnel4=y
CONFIG_PACKAGE_kmod-udptunnel6=y
### Relay
CONFIG_PACKAGE_relayd=y
@@ -132,59 +109,6 @@ CONFIG_PACKAGE_6rd=y
### IPv6 NAT support (ip6tables NAT extensions, ipt-nat6 and nf-nat6 kmods)
##CONFIG_PACKAGE_ip6tables-mod-nat=y
### Kernel crypt mods
CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y
CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y
CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y
CONFIG_PACKAGE_kmod-crypto-kpp=y
CONFIG_PACKAGE_kmod-crypto-md4=y
CONFIG_PACKAGE_kmod-crypto-md5=y
CONFIG_PACKAGE_kmod-crypto-ecb=y
CONFIG_PACKAGE_kmod-crypto-des=y
CONFIG_PACKAGE_kmod-crypto-sha256=y
CONFIG_PACKAGE_kmod-asn1-decoder=y
### mbedTLS lib
CONFIG_PACKAGE_libmbedtls=y
CONFIG_MBEDTLS_AES_C=y
CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_DES_C=y
CONFIG_MBEDTLS_GCM_C=y
CONFIG_MBEDTLS_NIST_KW_C=y
CONFIG_MBEDTLS_RSA_NO_CRT=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
#CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED=y
#CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED=y
CONFIG_PACKAGE_px5g-mbedtls=y
### OpenSSL lib
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libopenssl-legacy=y
#CONFIG_PACKAGE_libopenssl-devcrypto=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_PACKAGE_libopenssl-conf=y
CONFIG_PACKAGE_libwebsockets-full=y
CONFIG_OPENSSL_WITH_ASM=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_TLS13=y
#CONFIG_OPENSSL_WITH_DTLS=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_CMS=y
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
#CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_IDEA=y
CONFIG_OPENSSL_WITH_SEED=y
CONFIG_OPENSSL_WITH_MDC2=y
CONFIG_OPENSSL_WITH_WHIRLPOOL=y
### SSL certificates
CONFIG_PACKAGE_ca-certificates=y
@@ -205,8 +129,8 @@ CONFIG_PACKAGE_luci-app-ddns=y
CONFIG_PACKAGE_luci-i18n-ddns-ru=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-i18n-firewall-ru=y
CONFIG_PACKAGE_luci-app-package-manager=y
CONFIG_PACKAGE_luci-i18n-package-manager-ru=y
CONFIG_PACKAGE_luci-app-opkg=y
CONFIG_PACKAGE_luci-i18n-opkg-ru=y
CONFIG_PACKAGE_luci-app-uhttpd=y
CONFIG_PACKAGE_luci-i18n-uhttpd-ru=y
CONFIG_PACKAGE_luci-app-upnp=y
@@ -218,30 +142,8 @@ CONFIG_PACKAGE_luci-theme-material=y
CONFIG_PACKAGE_luci-theme-openwrt=y
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
### Luci extensions
CONFIG_PACKAGE_luci-full=y
CONFIG_PACKAGE_luci-lib-uqr=y
### LuCI with HTTPS support (WolfSSL as SSL backend)
CONFIG_PACKAGE_luci-ssl=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_libiwinfo=y
CONFIG_PACKAGE_libiwinfo-data=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-ucode=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_rpcd-mod-ucode=y
CONFIG_PACKAGE_ucode-mod-html=y
CONFIG_PACKAGE_ucode-mod-log=y
CONFIG_PACKAGE_ucode-mod-math=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
### Luci menu customizer
CONFIG_PACKAGE_cozymenu=y
### Luci statistics
CONFIG_PACKAGE_luci-app-statistics=y
@@ -251,20 +153,14 @@ CONFIG_PACKAGE_collectd-mod-cpufreq=y
CONFIG_PACKAGE_collectd-mod-entropy=y
CONFIG_PACKAGE_collectd-mod-ping=y
CONFIG_PACKAGE_collectd-mod-thermal=y
CONFIG_PACKAGE_collectd-mod-sensors=y
CONFIG_PACKAGE_collectd-mod-uptime=y
### hostap
### WLAN/WPS support
CONFIG_PACKAGE_wpad-wolfssl=y
CONFIG_WPA_SUPPLICANT_INTERNAL=y
CONFIG_WPA_RFKILL_SUPPORT=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y
### BATMAN
CONFIG_PACKAGE_kmod-batman-adv=y
CONFIG_PACKAGE_batctl-full=y
CONFIG_PACKAGE_luci-proto-batman-adv=y
CONFIG_PACKAGE_batmand=y
## CONFIG_WPA_MSG_MIN_PRIORITY=2
## CONFIG_WPA_MSG_MIN_PRIORITY=4
### Wake On Lan
##CONFIG_PACKAGE_luci-app-wol=y
@@ -275,8 +171,8 @@ CONFIG_PACKAGE_luci-app-watchcat=y
CONFIG_PACKAGE_luci-i18n-watchcat-ru=y
### IP Tables tool
#CONFIG_PACKAGE_kmod-ipt-ipopt=y
#CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_kmod-ipt-ipopt=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
### Adblock package with Luci support
CONFIG_PACKAGE_adblock=y
@@ -291,31 +187,3 @@ CONFIG_PACKAGE_luci-i18n-banip-ru=y
### nlbwmon app (OpenWrt Traffic Usage Monitor)
CONFIG_PACKAGE_luci-app-nlbwmon=y
CONFIG_PACKAGE_luci-i18n-nlbwmon-ru=y
### X-WRT Packages
CONFIG_PACKAGE_kmod-natflow=y
CONFIG_PACKAGE_natflow-auth=y
CONFIG_PACKAGE_natflow-hostacl=y
CONFIG_PACKAGE_urllogger=y
CONFIG_PACKAGE_luci-app-natflow-users=y
### Disabled services
#DISABLED_SVC=ksmbd
#DISABLED_SVC=adblock
#DISABLED_SVC=batmand
#DISABLED_SVC=watchcat
#DISABLED_SVC=atftpd
#DISABLED_SVC=sqm
#DISABLED_SVC=igmpproxy
#DISABLED_SVC=ddns
#DISABLED_SVC=nextdns
#DISABLED_SVC=dnscrypt-proxy
#DISABLED_SVC=dnscrypt-proxy2
#DISABLED_SVC=shadowsocks-libev
#DISABLED_SVC=xray_core
#DISABLED_SVC=xray
#DISABLED_SVC=https-dns-proxy
#DISABLED_SVC=ruantiblock
#DISABLED_SVC=podkop
#DISABLED_SVC=youtubeUnblock

View File

@@ -1,85 +0,0 @@
CONFIG_FEED_luci=y
CONFIG_FEED_packages=y
CONFIG_FEED_routing=y
CONFIG_FEED_telephony=y
### For compatible official firmwares
CONFIG_ALL_KMODS=y
CONFIG_ALL_NONSHARED=y
CONFIG_DEVEL=y
CONFIG_KERNEL_KALLSYMS=n
CONFIG_COLLECT_KERNEL_DEBUG=y
### Per-package build logs in <buildroot>/logs
CONFIG_BUILD_LOG=y
### Kernel debug tools
CONFIG_PACKAGE_kmod-pstore=y
CONFIG_PACKAGE_kmod-ramoops=y
### Include package list in build
CONFIG_INCLUDE_CONFIG=y
### Busybox
CONFIG_PACKAGE_busybox=y
CONFIG_BUSYBOX_CUSTOM=y
##CONFIG_BUSYBOX_CONFIG_DIFF=y
CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_FLAGS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_REGEXP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_WINCH=y
### System utils
CONFIG_DROPBEAR_ECC=y
CONFIG_PACKAGE_dropbear=y
CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_mc=y
CONFIG_PACKAGE_luci-app-ttyd=y
CONFIG_PACKAGE_luci-i18n-ttyd-ru=y
CONFIG_PACKAGE_luci-app-filemanager=y
CONFIG_PACKAGE_luci-i18n-filemanager-ru=y
CONFIG_PACKAGE_atftp=y
#CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_facinstall=y
CONFIG_PACKAGE_kmod-mtd-rw=y
#CONFIG_PACKAGE_kmod-mtdoops=y
#CONFIG_PACKAGE_kmod-mtdram=y
#CONFIG_PACKAGE_kmod-mtdtests=y
### Add-on programs
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_ccrypt=y
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_patch=y
CONFIG_PACKAGE_diffutils=y
CONFIG_PACKAGE_tree=y
CONFIG_PACKAGE_irqbalance=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_ethtool=y
### Luci
CONFIG_LUCI_LANG_en=y
CONFIG_LUCI_LANG_ru=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-compat=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-i18n-base-ru=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-app-commands=y
CONFIG_PACKAGE_luci-i18n-commands-ru=y
CONFIG_PACKAGE_luci-app-package-manager=y
CONFIG_PACKAGE_luci-i18n-package-manager-ru=y
### Luci themes
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_luci-theme-openwrt-2020=y

View File

@@ -2,14 +2,8 @@
CONFIG_PACKAGE_luci-app-nextdns=y
CONFIG_PACKAGE_luci-i18n-nextdns-ru=y
CONFIG_PACKAGE_https-dns-proxy=y
CONFIG_PACKAGE_luci-app-https-dns-proxy=y
CONFIG_PACKAGE_luci-i18n-https-dns-proxy-ru=y
CONFIG_PACKAGE_luci-app-dnscrypt-proxy=y
CONFIG_PACKAGE_luci-i18n-dnscrypt-proxy-ru=y
CONFIG_PACKAGE_igmpproxy=y
CONFIG_PACKAGE_dnscrypt-proxy2=y
CONFIG_PACKAGE_zapret=y
CONFIG_PACKAGE_luci-app-zapret=y
CONFIG_PACKAGE_zapret2=y
CONFIG_PACKAGE_luci-app-zapret2=y

View File

@@ -1,7 +1,4 @@
### Samba
CONFIG_PACKAGE_kmod-fs-smbfs-common=y
CONFIG_PACKAGE_kmod-fs-ksmbd=y
CONFIG_PACKAGE_ksmbd-server=y
CONFIG_PACKAGE_ksmbd-hotplug=y
CONFIG_PACKAGE_luci-app-ksmbd=y
CONFIG_PACKAGE_luci-i18n-ksmbd-ru=y
CONFIG_PACKAGE_luci-app-samba4=y
CONFIG_PACKAGE_luci-i18n-samba4-ru=y
CONFIG_PACKAGE_samba4-utils=y

View File

@@ -1,44 +0,0 @@
CONFIG_OPENVPN_mbedtls_ENABLE_DEF_AUTH=y
CONFIG_OPENVPN_mbedtls_ENABLE_FRAGMENT=y
CONFIG_OPENVPN_mbedtls_ENABLE_LZO=y
CONFIG_OPENVPN_mbedtls_ENABLE_LZ4=y
CONFIG_OPENVPN_mbedtls_ENABLE_PORT_SHARE=y
CONFIG_OPENVPN_mbedtls_ENABLE_SMALL=y
CONFIG_PACKAGE_openvpn-mbedtls=y
CONFIG_PACKAGE_luci-app-openvpn=y
CONFIG_PACKAGE_luci-i18n-openvpn-ru=y
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_kmod-veth=y
CONFIG_PACKAGE_kmod-nft-tproxy=y
CONFIG_PACKAGE_kmod-nfnetlink-queue=y
CONFIG_PACKAGE_kmod-nft-queue=y
CONFIG_PACKAGE_kmod-nf-conntrack=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_wireguard-tools=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_PACKAGE_kmod-amneziawg=y
CONFIG_PACKAGE_amneziawg-tools=y
CONFIG_PACKAGE_luci-proto-amneziawg=y
CONFIG_PACKAGE_luci-i18n-amneziawg-ru=y
CONFIG_PACKAGE_shadowsocks-libev-ss-local=y
CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y
CONFIG_PACKAGE_shadowsocks-libev-ss-rules=y
CONFIG_PACKAGE_shadowsocks-libev-ss-tunnel=y
CONFIG_PACKAGE_luci-app-shadowsocks-libev=y
CONFIG_PACKAGE_luci-i18n-shadowsocks-libev-ru=y
CONFIG_PACKAGE_ruantiblock=y
CONFIG_PACKAGE_ruantiblock-mod-lua=y
#CONFIG_PACKAGE_ruantiblock-mod-py=y
CONFIG_PACKAGE_luci-app-ruantiblock=y
CONFIG_PACKAGE_luci-i18n-ruantiblock-ru=y
CONFIG_PACKAGE_podkop=y
CONFIG_PACKAGE_luci-app-podkop=y
CONFIG_PACKAGE_luci-i18n-podkop-ru=y

View File

@@ -1 +0,0 @@
build-essential clang flex bison g++ gawk gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev python3-setuptools rsync swig unzip zlib1g-dev file wget

View File

@@ -1,167 +0,0 @@
#!/usr/bin/env bash
CURDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
ROOTFSDIR="$1"
TOPDIR="$2"
OUTDIR=
[ -z "$OUTDIR" ] && OUTDIR=$TOPDIR
if [ -t 8 ]; then
BUILD_STATE=true
OUTPUT_PIPE=8
else
BUILD_STATE=false
OUTPUT_PIPE=2
fi
log_msg() {
printf "%s\n" "$1" >&$OUTPUT_PIPE
}
log_err() {
local msg="$1"
local _Y _R _N
if [ "$IS_TTY" == "1" -a "$NO_COLOR" != "1" ]; then
_Y=\\033[33m
_R=\\033[31m
_N=\\033[m
fi
printf "$_R%s$_N\n" "ERROR: $msg" >&$OUTPUT_PIPE
}
die() {
log_err "$1"
exit 1
}
get_param_q() {
local param=$1
local filename="$2"
echo $( grep -o -P "^$param='\K[^']+" "$filename" 2>/dev/null | tr -d '\n' )
#echo $( grep -o -P "(?<=^$param=').*(')" "$filename" 2>/dev/null )
}
get_param_qq() {
local param=$1
local filename="$2"
echo $( grep -o -P "^$param=\"\K[^\"]+" "$filename" 2>/dev/null | tr -d '\n' )
}
del_last_word() {
echo -n "${@:1:$#-1}"
}
log_msg "hook_prepare_rootfs.sh"
#log_msg "TOPDIR: '$TOPDIR'"
#log_msg "ROOTFSDIR: '$ROOTFSDIR'"
if [ ! -d "$ROOTFSDIR" ]; then
die "RootFS dir not found!"
fi
FW_VER_FN="$ROOTFSDIR/etc/openwrt_release"
if [ ! -f "$FW_VER_FN" ]; then
die "File '/etc/openwrt_release' not found!"
fi
FULL_VERSION=$( get_param_q DISTRIB_RELEASE "$FW_VER_FN" )
#log_msg "FULL_VERSION: '$FULL_VERSION'"
if [ -z "$FULL_VERSION" ]; then
die "Firmware version not found!"
fi
CURDATE=$( date --utc +%y%m%d | tr -d '\n' )
DISTR_REV=$( get_param_q DISTRIB_REVISION "$FW_VER_FN" )
DISTR_DESC=$( get_param_q DISTRIB_RELEASE "$FW_VER_FN" )
DISTR_DATE_LEN=$( echo -n "$DISTR_DESC" | awk '{print $NF}' | tr -d '\n' | wc -c )
if [ "$DISTR_DATE_LEN" = 6 ]; then
DISTR_DESC=$( del_last_word $DISTR_DESC )
fi
sed -i "/DISTRIB_DESCRIPTION=/d" "$FW_VER_FN"
echo "DISTRIB_DESCRIPTION='$DISTR_DESC $CURDATE'" >> "$FW_VER_FN"
log_msg "Option DISTRIB_DESCRIPTION patched (DATE = $CURDATE)"
FW_OSVER_FN="$ROOTFSDIR/etc/os-release"
[ ! -f "$FW_OSVER_FN" ] && die "File '/etc/os-release' not found!"
FW_OSVER2_FN="$ROOTFSDIR/usr/lib/os-release"
[ ! -f "$FW_OSVER2_FN" ] && die "File '/usr/lib/os-release' not found!"
BUILD_ID=$( get_param_qq BUILD_ID "$FW_OSVER_FN" )
PRETTY_NAME=$( get_param_qq PRETTY_NAME "$FW_OSVER_FN" )
REL_NAME=$( get_param_qq OPENWRT_RELEASE "$FW_OSVER_FN" )
sed -i "s/^BUILD_ID=.*/BUILD_ID=\"[$CURDATE] $BUILD_ID\"/g" "$FW_OSVER_FN"
sed -i "s/^BUILD_ID=.*/BUILD_ID=\"[$CURDATE] $BUILD_ID\"/g" "$FW_OSVER2_FN"
log_msg "Option BUILD_ID patched! BUILD_ID = '[$CURDATE] $BUILD_ID'"
sed -i "s/^OPENWRT_RELEASE=.*/OPENWRT_RELEASE=\"$PRETTY_NAME [$CURDATE] $BUILD_ID\"/g" "$FW_OSVER_FN"
sed -i "s/^OPENWRT_RELEASE=.*/OPENWRT_RELEASE=\"$PRETTY_NAME [$CURDATE] $BUILD_ID\"/g" "$FW_OSVER2_FN"
log_msg "Option OPENWRT_RELEASE patched! OPENWRT_RELEASE = '$PRETTY_NAME [$CURDATE] $BUILD_ID'"
BANNER_FN="$ROOTFSDIR/etc/banner"
BANNER_VER=$( grep -F "$DISTR_REV" "$BANNER_FN" 2>/dev/null )
if [ -n "$BANNER_VER" ]; then
BANNER_SUFFIX=$( echo -n "$BANNER_VER" | awk '{print $NF}' | tr -d '\n' )
if [ $( echo -n "$BANNER_SUFFIX" | wc -c ) = 6 ]; then
sed -i "s/, $BANNER_SUFFIX/, $CURDATE/g" "$BANNER_FN"
else
sed -i "s/$DISTR_REV/&, $CURDATE/" "$BANNER_FN"
fi
fi
log_msg "Banner patched (DATE = $CURDATE)"
FW_ARCH=$( get_param_q DISTRIB_ARCH "$FW_VER_FN" )
#log_msg "FW_ARCH: '$FW_ARCH'"
if [ -z "$FW_ARCH" ]; then
die "Firmware arch not found!"
fi
DIS_SVC_FN="$TOPDIR/disabled_services.lst"
if [ -f "$DIS_SVC_FN" ]; then
DIS_SVC_LST="$( cat ""$DIS_SVC_FN"" )"
for svc in $DIS_SVC_LST; do
[ -z "$svc" ] && continue
svc_xx=$(find "$ROOTFSDIR/etc/rc.d" -maxdepth 1 -name ???$svc -printf 1 -quit)
if [ -n "$svc_xx" ]; then
log_msg "Service '$svc' disabled."
fi
rm -f "$ROOTFSDIR"/etc/rc.d/S??$svc
rm -f "$ROOTFSDIR"/etc/rc.d/K??$svc
if [ "$svc" = "nextdns" ]; then
sed -i 's/nextdns enable/nextdns disable/g' "$ROOTFSDIR/etc/uci-defaults/nextdns"
fi
done
fi
WIFI77_FN="$ROOTFSDIR/etc/uci-defaults/77_wireless"
if [ -f "$WIFI77_FN" ]; then
if grep -q 'CONFIG_PACKAGE_MAC80211_ENABLE=y' $TOPDIR/.config ; then
if grep -q 'CONFIG_PACKAGE_MAC80211_PASSWORD="' $TOPDIR/.config ; then
sed -i "s#%ENABLE%#y#g" "$WIFI77_FN"
WIFI_SSID=$( get_param_qq CONFIG_PACKAGE_MAC80211_SSID "$TOPDIR/.config" )
sed -i "s#%SSID%#${WIFI_SSID}#g" "$WIFI77_FN"
WIFI_ENCRYPTION=$( get_param_qq CONFIG_PACKAGE_MAC80211_ENCRYPTION "$TOPDIR/.config" )
sed -i "s#%ENCRYPTION%#${WIFI_ENCRYPTION}#g" "$WIFI77_FN"
WIFI_PASSWORD=$( get_param_qq CONFIG_PACKAGE_MAC80211_PASSWORD "$TOPDIR/.config" )
sed -i "s#%KEY%#${WIFI_PASSWORD}#g" "$WIFI77_FN"
WIFI_COUNTRY=$( get_param_qq CONFIG_PACKAGE_MAC80211_COUNTRY "$TOPDIR/.config" )
sed -i "s#%COUNTRY%#${WIFI_COUNTRY}#g" "$WIFI77_FN"
fi
fi
fi
NEXTDNSCFG="$ROOTFSDIR/etc/config/nextdns"
if [ -f "$NEXTDNSCFG" ]; then
sed -i "s/option enabled '1'/option enabled '0'/g" "$NEXTDNSCFG"
log_msg "Service 'nextdns' disabled."
fi
IS_SNAPSHOT=false
if echo "$FULL_VERSION" | grep snapshot >/dev/null ; then
IS_SNAPSHOT=true
log_msg "Snapshot detected."
fi

View File

@@ -10,7 +10,6 @@ CONFIG_TARGET_ramips_mt7621_DEVICE_zyxel_keenetic-giga-iii=y
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
@@ -24,9 +23,27 @@ CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### qBittorrent
CONFIG_PACKAGE_boost=y
CONFIG_PACKAGE_boost-system=y
CONFIG_PACKAGE_rblibtorrent=y
CONFIG_PACKAGE_qbittorrent=y
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

29
kng_re.netports Normal file
View File

@@ -0,0 +1,29 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'wan'
option name 'WAN'
option type 'copper'
config port
option ifname 'lan1'
option name 'LAN 1'
option type 'copper'
config port
option ifname 'lan2'
option name 'LAN 2'
option type 'copper'
config port
option ifname 'lan3'
option name 'LAN 3'
option type 'copper'
config port
option ifname 'lan4'
option name 'LAN 4'
option type 'copper'

16
kng_re_menu.json Normal file
View File

@@ -0,0 +1,16 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "aria2" ],
[ "services", "samba4" ],
[ "services", "transmission" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -10,9 +10,6 @@ CONFIG_TARGET_ipq806x_generic_DEVICE_xiaomi_r3d=y
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
#CONFIG_KERNEL_KALLSYMS=y
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
@@ -21,7 +18,6 @@ CONFIG_PACKAGE_alpine-fan-control=y
CONFIG_PACKAGE_luci-app-alpine-fan-control=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
@@ -33,20 +29,35 @@ CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### qBittorrent
CONFIG_PACKAGE_boost=y
CONFIG_PACKAGE_boost-system=y
#CONFIG_PACKAGE_rblibtorrent=y
#CONFIG_PACKAGE_qbittorrent=y
CONFIG_PACKAGE_luci-app-qbittorrent=y
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y
### CPU Freq
CONFIG_PACKAGE_luci-app-cpufreq=y

22
r3d.netports Normal file
View File

@@ -0,0 +1,22 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'eth0'
option name 'WAN'
option type 'copper'
config port
option ifname 'eth1'
option name 'LAN'
option type 'copper'
config port
option ifname 'wlan1'
option name 'WiFi 2G'
config port
option ifname 'wlan0'
option name 'WiFi 5G'

17
r3d_menu.json Normal file
View File

@@ -0,0 +1,17 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "aria2" ],
[ "services", "samba4" ],
[ "services", "transmission" ],
[ "services", "qbittorrent" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -10,7 +10,6 @@ CONFIG_TARGET_ramips_mt7621_DEVICE_xiaomi_mi-router-3g=y
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
@@ -24,9 +23,21 @@ CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### FileBrowser
CONFIG_PACKAGE_wget-ssl=y
CONFIG_PACKAGE_luci-app-filebrowser=y
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

19
r3g.netports Normal file
View File

@@ -0,0 +1,19 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'wan'
option name 'WAN'
option type 'copper'
config port
option ifname 'lan1'
option name 'LAN 1'
option type 'copper'
config port
option ifname 'lan2'
option name 'LAN 2'
option type 'copper'

16
r3g_menu.json Normal file
View File

@@ -0,0 +1,16 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "samba4" ],
[ "services", "aria2" ],
[ "services", "transmission" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -1,32 +0,0 @@
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7621=y
CONFIG_TARGET_ramips_mt7621_DEVICE_xiaomi_mi-router-3-pro=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -5,9 +5,11 @@ CONFIG_TARGET_mediatek_mt7622_DEVICE_xiaomi_redmi-router-ax6s=y
#include _addons.config
#include _base.config
#include _wifi_en.config
###include _printer.config
###include _samba.config
###include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
@@ -17,8 +19,17 @@ CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### Network traffic
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
### TimeControl
#CONFIG_PACKAGE_luci-app-timecontrol=m
### DNSMasq
CONFIG_PACKAGE_dnsmasq-full=y

24
rb03.netports Normal file
View File

@@ -0,0 +1,24 @@
config global 'global'
option default_additional_info '0'
option default_h_mode '1'
option hv_mode_switch_button '1'
config port
option ifname 'wan'
option name 'WAN'
option type 'copper'
config port
option ifname 'lan1'
option name 'LAN 1'
option type 'copper'
config port
option ifname 'lan2'
option name 'LAN 2'
option type 'copper'
config port
option ifname 'lan3'
option name 'LAN 3'
option type 'copper'

16
rb03_menu.json Normal file
View File

@@ -0,0 +1,16 @@
{
"nas": {
"title": "NAS",
"order": 45,
"items": [
[ "nas", "filebrowser" ],
[ "services", "samba4" ],
[ "services", "aria2" ],
[ "services", "transmission" ],
[ "system", "diskman" ],
[ "services", "disks-info" ],
[ "services", "hd_idle" ],
[ "services", "minidlna" ]
]
}
}

View File

@@ -1,24 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_xiaomi_redmi-router-ax6000-stock=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
#CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,25 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_xiaomi_mi-router-ax3000t=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
#CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,29 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax52=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,15 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax52=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n

View File

@@ -1,30 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax57m=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,15 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax57m=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n

View File

@@ -1,48 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax59u=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_hd-idle=y
CONFIG_PACKAGE_luci-app-hd-idle=y
#CONFIG_PACKAGE_luci-i18n-hd-idle-ru=y
CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,15 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_rt-ax59u=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n

View File

@@ -1,53 +0,0 @@
CONFIG_TARGET_qualcommax=y
CONFIG_TARGET_qualcommax_ipq807x=y
CONFIG_TARGET_qualcommax_ipq807x_DEVICE_asus_rt-ax89x=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
#CONFIG_KERNEL_KALLSYMS=y
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### USB
CONFIG_PACKAGE_kmod-usb-storage-uas=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_hd-idle=y
CONFIG_PACKAGE_luci-app-hd-idle=y
#CONFIG_PACKAGE_luci-i18n-hd-idle-ru=y
CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m
### CPU Freq
CONFIG_PACKAGE_luci-app-cpufreq=y

View File

@@ -1,19 +0,0 @@
CONFIG_TARGET_qualcommax=y
CONFIG_TARGET_qualcommax_ipq807x=y
CONFIG_TARGET_qualcommax_ipq807x_DEVICE_asus_rt-ax89x=y
#include _addons.config
#include _base_initrd.config
#CONFIG_KERNEL_KALLSYMS=y
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n
### USB
CONFIG_PACKAGE_kmod-usb-storage-uas=y

View File

@@ -1,42 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax4200=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_hd-idle=y
CONFIG_PACKAGE_luci-app-hd-idle=y
#CONFIG_PACKAGE_luci-i18n-hd-idle-ru=y
CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,14 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax4200=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n

View File

@@ -1,44 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax6000=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_hd-idle=y
CONFIG_PACKAGE_luci-app-hd-idle=y
#CONFIG_PACKAGE_luci-i18n-hd-idle-ru=y
CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,15 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_tuf-ax6000=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n

View File

@@ -1,8 +1,8 @@
#!/bin/bash
XSUPPORTEDVER=23
XSUPPORTEDVER=21
XREPOADDR=https://github.com/openwrt-xiaomi
XDEFBRANCH=xq-23.05.0
XDEFBRANCH=xq-21.02.3
logmsg() {
echo "$@"
@@ -19,24 +19,6 @@ die() {
#[ ! -d "$XDIR" ] && die "Base directory not defined"
function sed_adapt
{
local str=$( ( echo $1|sed -r 's/([\$\.\*\/\[\\^])/\\\1/g'|sed 's/[]]/\\]/g' )>&1 )
echo "$str"
}
is_nss_repo() {
local FN=$1/package/kernel/mac80211/Makefile
if [ ! -f "$FN" ]; then
return $(false)
fi
if [ $( grep -q "kmod-qca-nss-drv" $FN >/dev/null; echo "$?" ) != "0" ]; then
return $(false)
fi
return $(true)
}
get_cfg_inc_lst() {
local cfg=$1
local k=$( grep -o -P '(?<=^#include ).*' "$cfg" 2> /dev/null )
@@ -69,12 +51,6 @@ get_cfg_expkg_url() {
echo "$k"
}
get_cfg_dis_svc_lst() {
local cfg=$1
local k=$( grep -o -P '(?<=^#DISABLED_SVC=).*' "$cfg" 2> /dev/null )
echo "$k"
}
get_cfg_board() {
local cfg=$1
local k=$( grep -o -P "(?<=^CONFIG_TARGET_)[a-z0-9]+(?==y)" "$cfg" 2> /dev/null )
@@ -106,16 +82,4 @@ get_cfg_pkg_flag() {
echo "$k"
}
get_cfg_opt_flag() {
local cfg=$1
local name=$2
local k=$( grep -o -P "(?<=^CONFIG_$name=).*" "$cfg" 2> /dev/null )
echo "$k"
}
get_cfg_opt_value() {
local cfg=$1
local name=$2
local k=$( grep -o -P '(?<=^CONFIG_'$name'=").*(?=")' "$cfg" 2> /dev/null )
echo "$k"
}

424
xmake.sh
View File

@@ -1,410 +1,72 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
export XDIR="$SCRIPT_DIR"
export XDIR=$SCRIPT_DIR
. ./xcommon.sh
if echo "$XDIR" | grep -E '[ "]' >/dev/null ;then
die "The path to the base directory cannot contain spaces!"
fi
MAKE_JOBS=
XTARGET=
OPT_FULL_REBUILD=false
KALLSYMS=false
TESTING_KERNEL=false
BUILD_ONLY_INITRAMFS=false
BUILD_SKIP_INITRAMFS=false
ONLY_INIT=false
while getopts "j:t:fiskTI" opt; do
while getopts "j:t:f" opt; do
case $opt in
j) MAKE_JOBS=$OPTARG;;
t) XTARGET=$OPTARG;;
f) OPT_FULL_REBUILD=true;;
k) KALLSYMS=true;;
T) TESTING_KERNEL=true;;
i) BUILD_ONLY_INITRAMFS=true;;
s) BUILD_SKIP_INITRAMFS=true;;
I) ONLY_INIT=true;;
esac
done
[ -z "$XTARGET" ] && die "Target config not specified!"
CFG=$XDIR/$XTARGET.config
[ ! -f "$CFG" ] && die "File '$XTARGET.config' not found!"
if echo "$XTARGET" | grep -E '[ "]' >/dev/null ;then
die "Target config filename cannot contain spaces!"
if [ "$OPT_FULL_REBUILD" = "true" ]; then
[ -f .config ] && make clean
rm -rf tmp
#rm -rf feeds/luci.tmp
#rm -rf feeds/packages.tmp
#rm -rf staging_dir/packages
fi
CUR_BRANCH=$( git rev-parse --abbrev-ref HEAD )
if [ "$CUR_BRANCH" = master ]; then
KALLSYMS=true
fi
function clean_all {
local cfg=$XDIR/.config
[ -f $cfg ] && make clean
rm -rf $XDIR/tmp
rm -rf $XDIR/feeds/luci.tmp
rm -rf $XDIR/feeds/packages.tmp
rm -rf $XDIR/feeds/nss.tmp
rm -rf $XDIR/staging_dir/packages
rm -rf $XDIR/staging_dir
rm -rf $XDIR/build_dir
[ "$XTARGET" = "*" ] && rm -rf $XDIR/bin/*
}
function build_target {
local target_cfg=$1
local CFG=$XDIR/.config
local inc
local inclst
local incfn
rm -f $CFG
cp -f $target_cfg $CFG
if is_nss_repo $XDIR; then
sed -i "/#include _base/a #include _addons_nss.config" $CFG
fi
inclst=$( get_cfg_inc_lst $CFG )
for inc in $inclst; do
incfn=$XDIR/$inc
[ ! -f $incfn ] && die "File '$inc' not found!"
sed -i "/#include $inc/a <<LF>><<LF>>" $CFG
sed -i "s/<<LF>>/\n/g" $CFG
sed -i "/#include $inc/ r $incfn" $CFG
done
cp -f $CFG $XDIR/__current.config
DIS_SVC_FN=$XDIR/disabled_services.lst
rm -f $DIS_SVC_FN
DIS_SVC_LST="$( get_cfg_dis_svc_lst $CFG )"
if [ -n "$DIS_SVC_LST" ]; then
echo $DIS_SVC_LST > $DIS_SVC_FN
fi
LUCI_XRAY_MK=$XDIR/package/addons/luci-app-xray/core/Makefile
if [ -f $LUCI_XRAY_MK ]; then
pkg_xray_core=$( get_cfg_pkg_flag $CFG xray-core )
if [ "$pkg_xray_core" != "y" ]; then
# Forced disable xray-core package
sed -i '/CONFIG_PACKAGE_xray-core=/d' $CFG
sed -i 's/ +xray-core / /g' $LUCI_XRAY_MK
fi
fi
if [ "$KALLSYMS" = true ]; then
echo "CONFIG_KERNEL_KALLSYMS=y" >> $CFG
fi
if [ "$TESTING_KERNEL" = true ]; then
echo "CONFIG_TESTING_KERNEL=y" >> $CFG
fi
if [ 1 = 1 ]; then
CURDATE=$( date --utc +%y%m%d )
############ change images prefix ############
# IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
sed -i -e 's/^IMG_PREFIX:=.*/IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(call sanitize,$(VERSION_NUMBER))-'$CURDATE'/g' $XDIR/include/image.mk
fi
if [ 1 = 1 ]; then
############ remove "squashfs" suffix ############
# DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
sed -i -e 's/.*DEVICE_IMG_NAME =.*/ DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(2)/g' $XDIR/include/image.mk
if grep "squashfs-sys" $XDIR/target/linux/mediatek/image/filogic.mk >/dev/null ; then
sed -i 's/ squashfs-sys/ sys/g' $XDIR/target/linux/mediatek/image/filogic.mk
sed -i 's/ squashfs-sys/ sys/g' $XDIR/target/linux/mediatek/image/mt7622.mk
sed -i 's/ squashfs-sys/ sys/g' $XDIR/target/linux/mediatek/image/mt7623.mk
fi
fi
AWG_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile
if [ -f $AWG_LUCI_MK ]; then
if ! grep "PKG_PROVIDES" $AWG_LUCI_MK >/dev/null ; then
sed -i 's/LUCI_PKGARCH:=all/LUCI_PKGARCH:=all\nPKG_PROVIDES:=luci-app-ruantiblock/g' $AWG_LUCI_MK
fi
fi
AWG_KMOD_MK=$XDIR/package/feeds/_amneziawg/kmod-amneziawg/Makefile
if [ -f $AWG_KMOD_MK ]; then
if grep "876bf7571e47e349d0e86b70c244330b470d9642" $AWG_KMOD_MK >/dev/null ; then
sed -i 's/PKG_SOURCE_VERSION:=876bf7571e47e349d0e86b70c244330b470d9642/PKG_SOURCE_VERSION:=b96e12d00112dbee9d51d18d8438aa991cec0f6a/g' $AWG_KMOD_MK
fi
fi
PODKOP_MK=$XDIR/package/feeds/_podkop/podkop/Makefile
if [ -f $PODKOP_MK ]; then
sed -i 's/+sing-box / /g' $PODKOP_MK
sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
fi
PODKOP_SH=$XDIR/package/feeds/_podkop/podkop/files/usr/bin/podkop
if [ -f $PODKOP_SH ] && ! grep -q '(which sing-box)' $PODKOP_SH ; then
sed -i '/,\\"dns_configured\\":/i [ -z "$(which sing-box)" ] && status="not installed"' $PODKOP_SH
fi
DROPBEAR_DIR=$XDIR/package/network/services/dropbear
TMP_DROPBEAR_DIR=$XDIR/_dropbear2024
if [ -f $DROPBEAR_MK ]; then
# download dropbear 2024.86 (OpenWrt v24.10)
if [ ! -f $TMP_DROPBEAR_DIR/Makefile ]; then
rm -rf $TMP_DROPBEAR_DIR
git clone --depth 1 --filter=blob:none --sparse https://github.com/openwrt/openwrt.git $TMP_DROPBEAR_DIR && (
cd $TMP_DROPBEAR_DIR
git sparse-checkout set package/network/services/dropbear
git checkout a2f0cd35ac1d15e69f4897b35c049e175dd06825 # commit 2024-12-12 https://github.com/openwrt/openwrt/commits/openwrt-25.12/package/network/services/dropbear
mv package/network/services/dropbear/* .
)
rm -rf $TMP_DROPBEAR_DIR/package
rm -rf $TMP_DROPBEAR_DIR/.git
fi
rm -rf $DROPBEAR_DIR/files
rm -rf $DROPBEAR_DIR/patches
fi
DROPBEAR_MK=$DROPBEAR_DIR/Makefile
if [ -f $DROPBEAR_MK ]; then
# downgrade dropbear to 2024.86 (OpenWrt v24.10)
cp -a $TMP_DROPBEAR_DIR/. $DROPBEAR_DIR/
# patch: Disable MODERN and enable RSA/DH-SHA1
sed -i 's/^PKG_RELEASE:=.*/PKG_RELEASE:=0/g' $DROPBEAR_MK
sed -i '/,CONFIG_DROPBEAR_MODERN_ONLY,/d' $DROPBEAR_MK
sed -i 's/\tCONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
sed -i 's/ CONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
sed -i 's/DROPBEAR_DH_GROUP14_SHA1,0/ /g' $DROPBEAR_MK
sed -i 's/DROPBEAR_SHA1_HMAC,0/ /g' $DROPBEAR_MK
fi
make defconfig
NSS_DRV_PPPOE_ENABLE=$( get_cfg_opt_flag $CFG NSS_DRV_PPPOE_ENABLE )
if [ "$NSS_DRV_PPPOE_ENABLE" = y ]; then
sed -i 's/CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=m/CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y/g' $CFG
fi
pkg_dnsmasq_full=$( get_cfg_pkg_flag $CFG dnsmasq-full )
if [ "$pkg_dnsmasq_full" = y ]; then
echo "Forced using dnsmasq-full !!!"
sed -i '/CONFIG_DEFAULT_dnsmasq=y/d' $CFG
sed -i '/CONFIG_PACKAGE_dnsmasq=y/d' $CFG
fi
TARGET_INITRAMFS_FORCE=$( get_cfg_opt_flag $CFG TARGET_INITRAMFS_FORCE )
if [ "$TARGET_INITRAMFS_FORCE" = y ]; then
echo "Forced uses integrated INITRAMFS !!!"
sed -i '/CONFIG_USES_SEPARATE_INITRAMFS=y/d' $CFG
sed -i '/CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=y/d' $CFG
fi
if [ "$TARGET_INITRAMFS_FORCE" = y ]; then
sed -i '/_DEFAULT_ipq-wifi-/d' $CFG
sed -i '/_PACKAGE_ipq-wifi-/d' $CFG
sed -i '/_PACKAGE_ath11k-firmware-/d' $CFG
fi
wpad_openssl=$( get_cfg_pkg_flag $XDIR/__current.config wpad-openssl )
if [ "$wpad_openssl" = y ]; then
logmsg "Forced using wpad-openssl !!!"
sed -i 's/CONFIG_PACKAGE_wpad-basic-mbedtls=/# CONFIG_PACKAGE_wpad-basic-mbedtls=/g' $CFG
sed -i '/CONFIG_PACKAGE_wpad-openssl=/d' $CFG
echo -e "\nCONFIG_PACKAGE_wpad-openssl=y\n" >> $CFG
fi
#DASHBRDPO=$XDIR/feeds/luci/modules/luci-mod-dashboard/po/ru/dashboard.po
DASHBRDPO=$XDIR/package/feeds/luci/luci-mod-dashboard/po/ru/dashboard.po
if [ -f $DASHBRDPO ]; then
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
fi
LUCI_CFG=$XDIR/package/feeds/luci/luci-base/root/etc/config/luci
if [ -f $LUCI_CFG ]; then
sed -i 's/option lang auto/option lang en/g' $LUCI_CFG
fi
LUCISTATCONF=$XDIR/package/feeds/luci/luci-app-statistics/root/etc/config/luci_statistics
if [ -f $LUCISTATCONF ]; then
sed -i "/config statistics 'collectd_sensors'/{n; s/option enable '0'/option enable '1'/}" $LUCISTATCONF
sed -i "/config statistics 'collectd_thermal'/{n; s/option enable '0'/option enable '1'/}" $LUCISTATCONF
fi
if [ 1 = 1 ]; then
########### disable some kmod from x-wrt packages ##########
sed -i 's/^CONFIG_PACKAGE_kmod-exfat-linux=/###CONFIG_PACKAGE_kmod-exfat-linux=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-qmi-wwan-q=/###CONFIG_PACKAGE_kmod-qmi-wwan-q=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-rtw8852cu=/###CONFIG_PACKAGE_kmod-rtw8852cu=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-rproxy=/###CONFIG_PACKAGE_kmod-rproxy=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_kmod-natcap=/###CONFIG_PACKAGE_kmod-natcap=/g' $CFG
fi
sed -i 's/^CONFIG_PACKAGE_base-config-setting=/###CONFIG_PACKAGE_base-config-setting=/g' $CFG
sed -i 's/^CONFIG_BASE_CONFIG_SETTING_LUCI_LOGIN=/###CONFIG_BASE_CONFIG_SETTING_LUCI_LOGIN=/g' $CFG
sed -i 's/^CONFIG_PACKAGE_base-config-setting-ext4fs=/###CONFIG_PACKAGE_base-config-setting-ext4fs=/g' $CFG
XWRTDIR=$XDIR/package/feeds/_xwrt_packages
if [ -d $XWRTDIR ]; then
[ -f $XWRTDIR/natflow/files/hostacl.config ] && sed -i 's/192.168.15./192.168.1./g' $XWRTDIR/natflow/files/hostacl.config
[ -f $XWRTDIR/natflow/files/natflow.config ] && sed -i 's/192.168.15./192.168.1./g' $XWRTDIR/natflow/files/natflow.config
[ -f $XWRTDIR/lua-ipops/src/ipops.lua ] && sed -i 's/192.168.15./192.168.1./g' $XWRTDIR/lua-ipops/src/ipops.lua
XWRTJSDIR=$XWRTDIR/luci-app-natflow-users/htdocs/luci-static/resources/view
[ -f $XWRTJSDIR/network/hostacl.js ] && sed -i 's/192.168.15./192.168.1./g' $XWRTJSDIR/network/hostacl.js
[ -f $XWRTJSDIR/network/natflow-qos.js ] && sed -i 's/192.168.15./192.168.1./g' $XWRTJSDIR/network/natflow-qos.js
[ -f $XWRTJSDIR/system/natflow-users.js ] && sed -i 's/192.168.15./192.168.1./g' $XWRTJSDIR/system/natflow-users.js
USERS_MENU=$XWRTDIR/luci-app-natflow-users/root/usr/share/luci/menu.d/luci-app-natflow-users.json
if [ -f $USERS_MENU ]; then
if grep -q -F '"admin/system/users": {' $USERS_MENU ; then
sed -i '/"admin\/system\/users": {/i "admin\/system\/users" : {' $USERS_MENU
sed -i '/"admin\/system\/users": {/,+2d' $USERS_MENU
sed -i '/"admin\/system\/users" : {/a "order": 89,' $USERS_MENU
sed -i '/"admin\/system\/users" : {/a "title": "Users",' $USERS_MENU
fi
fi
fi
NTFS3G=$XDIR/package/feeds/packages/ntfs-3g/Makefile
if [ -f $NTFS3G ]; then
if grep -q -F '$(INSTALL_DIR) $(1)/usr/{bin,sbin}' $NTFS3G ; then
sed -i '/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/a \\t\$(INSTALL_DIR) \$(1)\/usr\/bin' $NTFS3G
sed -i '/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/a \\t\$(INSTALL_DIR) \$(1)\/usr\/sbin' $NTFS3G
sed -i 's/\$(INSTALL_DIR) \$(1)\/usr\/{bin,sbin}/#\$(INSTALL_DIR) \$(1)\/usr\/__bin_sbin__/g' $NTFS3G
fi
fi
XPATCHES=$XDIR/patches
for incfn in $XPATCHES/*.patch; do
[ ! -f "$incfn" ] && continue
inc=`patch -p1 -N -r - < "$incfn"`
if [ $? != 0 ]; then
if ! echo "$inc" | grep -q "patch detected! Skipping patch."; then
echo "Patch '$(basename $incfn)' FAILED"
exit 1
fi
fi
echo "Patch '$(basename $incfn)' result: OK"
done
APK_DIR=$XDIR/files/etc/apk
if [ -d $APK_DIR ]; then
rm -rf $APK_DIR
fi
FANT_PKG_KEY=$XDIR/20241123170031.pub
if [ -f $FANT_PKG_KEY ]; then
APK_SRC_DIR=$XDIR/package/system/apk/files
APK_KEYS_DIR=$APK_DIR/keys
mkdir -p $APK_KEYS_DIR
cp $FANT_PKG_KEY $APK_KEYS_DIR/fantastic-packages-20241123170031.pem
APK_CFEED_FN=$APK_DIR/repositories.d/customfeeds.list
mkdir -p $APK_DIR/repositories.d
cp $APK_SRC_DIR/customfeeds.list $APK_CFEED_FN
PKG_LINK="https://fantastic-packages.github.io/releases/<<VER>>/packages/<<ARCH>>"
echo "" >> $APK_CFEED_FN
echo "$PKG_LINK/luci/packages.adb" >> $APK_CFEED_FN
echo "$PKG_LINK/packages/packages.adb" >> $APK_CFEED_FN
echo "$PKG_LINK/special/packages.adb" >> $APK_CFEED_FN
TARGET_ARCH_PACKAGES=$( get_cfg_opt_value $CFG TARGET_ARCH_PACKAGES )
[ -z "$TARGET_ARCH_PACKAGES" ] && die "Cannot find TARGET ARCH"
sed -i "s/<<VER>>/25.12/g" $APK_CFEED_FN
sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $APK_CFEED_FN
logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/releases]"
fi
SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf
if [ -f $SYSCTLCONF_FN ]; then
rm -f $SYSCTLCONF_FN
fi
kmod_nf_nathelper_extra=$( get_cfg_pkg_flag $XDIR/__current.config kmod-nf-nathelper-extra )
if [ "$kmod_nf_nathelper_extra" = y ]; then
[ ! -d $XDIR/files ] && mkdir -p $XDIR/files/etc
echo "" >> $SYSCTLCONF_FN
echo net.netfilter.nf_conntrack_helper=1 >> $SYSCTLCONF_FN
fi
local make_jobs=$MAKE_JOBS
if [ -z "$make_jobs" ]; then
make_jobs=$( grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3}' )
fi
#make tools/install -j$make_jobs
#make toolchain/install -j$make_jobs
[ "$ONLY_INIT" = "true" ] && return 0
make -j $make_jobs download world
}
function build_config {
local cfg=$1
local cfg_name=$( basename $cfg )
local target_name=${cfg_name%.*}
local board=$( get_cfg_board $cfg )
local subtarget=$( get_cfg_subtarget $cfg $board )
local device=$( get_cfg_dev_lst $cfg $board $subtarget )
local outdir=$XDIR/bin/targets/$board/$subtarget
echo Start build for target $cfg_name "($board-$subtarget-$device)"
build_target $cfg_name
if [ ! -f $outdir/kernel-debug.tar.zst ]; then
echo "ERROR: cannot build images for target $target_name"
rm -rf $outdir
return
fi
rm -rf $outdir/packages
[ ! -d $XOUT/$target_name ] && mkdir -p $XOUT/$target_name
mv $outdir/* $XOUT/$target_name
}
if [ "$XTARGET" != "*" ]; then
TARGETCFG=$XDIR/$XTARGET
XTARGET_EXT="${XTARGET##*.}"
[ $XTARGET_EXT != config ] && TARGETCFG=$TARGETCFG.config
[ ! -f $TARGETCFG ] && die "File '"`basename $TARGETCFG`"' not found!"
[ $OPT_FULL_REBUILD = true ] && clean_all
build_target $TARGETCFG
exit 0
fi
XOUT=$XDIR/xout
CFG_LIST=$( find $XDIR/* -maxdepth 1 -name '[a-z0-9]*.config' )
rm -rf $XOUT
if [ -z "$CFG_LIST" ]; then
echo "ERROR: Cannot found supported configs!"
exit 1
fi
INITRAMFS_COUNT=0
for CFG in $CFG_LIST; do
if [[ "$CFG" == *"_initramfs"* ]]; then
INITRAMFS_COUNT=$(( INITRAMFS_COUNT + 1 ))
fi
rm -f .config
cp -f "$CFG" .config
inclst=$( get_cfg_inc_lst $CFG )
for inc in $inclst; do
echo -e "\n\n" >> .config
[ ! -f "$XDIR/$inc" ] && die "File '$inc' not found!"
cat $XDIR/$inc >> .config
done
#cp -f .config current.config
if [ $INITRAMFS_COUNT = 0 ] && [ $BUILD_ONLY_INITRAMFS = true ]; then
echo "ERROR: Cannot found initramfs configs!"
exit 1
make defconfig
if [ $( get_cfg_pkg_flag "$XDIR/.config" "dnsmasq-full" ) = "y" ]; then
echo "Forced using dnsmasq-full !!!"
sed -i '/CONFIG_DEFAULT_dnsmasq=y/d' $XDIR/.config
sed -i '/CONFIG_PACKAGE_dnsmasq=y/d' $XDIR/.config
fi
if [ $INITRAMFS_COUNT -gt 0 ] && [ $BUILD_SKIP_INITRAMFS != true ]; then
echo "Start make initramfs configs!"
clean_all
for CFG in $CFG_LIST; do
[[ "$CFG" != *"_initramfs"* ]] && continue # process only initramfs configs
build_config $CFG
done
rm -f $XDIR/luci_aux_menu.json
TARGET_MENU="$XDIR"/"$XTARGET""_menu.json"
if [ -f "$TARGET_MENU" ]; then
cp -f "$TARGET_MENU" $XDIR/luci_aux_menu.json
fi
if [ $BUILD_ONLY_INITRAMFS != true ]; then
echo "Start make non initramfs configs!"
clean_all
for CFG in $CFG_LIST; do
[[ "$CFG" == *"_initramfs"* ]] && continue # skip initramfs configs
build_config $CFG
done
NETPORTSDIR=$XDIR/package/addons/luci-app-tn-netports/root/etc/config
if [ -d "$NETPORTSDIR" ]; then
rm -f $NETPORTSDIR/luci_netports
TARGET_NETPORTS=$XDIR/$XTARGET.netports
if [ -f "$TARGET_NETPORTS" ]; then
cp -f "$TARGET_NETPORTS" $NETPORTSDIR/luci_netports
fi
fi
echo "All targets was builded!"
if [ -z "$MAKE_JOBS" ]; then
MAKE_JOBS=$( grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3}' )
fi
#make tools/install -j$MAKE_JOBS
#make toolchain/install -j$MAKE_JOBS
make PARALLEL_BUILD=1 -j $MAKE_JOBS download world

View File

@@ -5,16 +5,13 @@ export XDIR=$SCRIPT_DIR
export XADDONSDIR=$XDIR/package/addons
FEEDSDIR=$XDIR/package/feeds
ADDONSCFG=$XDIR/_addons.config
ADDONSNSS=$XDIR/_addons_nss.config
. ./xcommon.sh
OPT_FULL_UPDATE=false
USE_GITHUB_SRC=false
while getopts "f" opt; do
case $opt in
f) OPT_FULL_UPDATE=true;;
g) USE_GITHUB_SRC=true;;
esac
done
@@ -27,20 +24,18 @@ if [ "$OPT_FULL_UPDATE" = "true" ]; then
#rm -rf feeds
#rm -rf package/feeds
rm -rf staging_dir/packages
rm -rf feeds/_*
rm -rf $XADDONSDIR
fi
#git reset --hard HEAD
git reset --hard HEAD~50
#git revert HEAD~50..HEAD
git reset --hard HEAD
#git revert HEAD~30..HEAD
#git reset --hard HEAD
git fetch
[ "$?" != "0" ] && die "Can't fetch current repository"
git pull --force "origin" &> /dev/null
[ "$?" != "0" ] && die "Can't pull current repository"
#[ "$?" != "0" ] && die "Can't pull current repository"
CUR_BRANCH=$( git rev-parse --abbrev-ref HEAD )
@@ -49,12 +44,6 @@ git reset --hard origin/$CUR_BRANCH
rm -f feeds.conf
cp -f feeds.conf.default feeds.conf
if [ "$USE_GITHUB_SRC" = "true" ]; then
sed -i -e 's|https://git.openwrt.org/feed/|https://github.com/openwrt/|' feeds.conf
sed -i -e 's|https://git.openwrt.org/project/|https://github.com/openwrt/|' feeds.conf
fi
feed_lst=$( get_cfg_feed_lst "$ADDONSCFG" )
for feed in $feed_lst; do
value=$( get_cfg_feed_url "$ADDONSCFG" $feed )
@@ -62,70 +51,6 @@ for feed in $feed_lst; do
echo "src-git $feed $value" >> feeds.conf
done
if is_nss_repo "$XDIR"; then
feed_lst=$( get_cfg_feed_lst "$ADDONSNSS" )
for feed in $feed_lst; do
value=$( get_cfg_feed_url "$ADDONSNSS" $feed )
#echo "$feed = '$value'"
echo "src-git $feed $value" >> feeds.conf
done
fi
FULL_VERSION=$( grep '^VERSION_NUMBER:=$(if' $XDIR/include/version.mk 2>/dev/null )
[ -z "$FULL_VERSION" ] && { echo "ERROR: Cannot find VERSION_NUMBER"; exit 1; }
FULL_VERSION=$( echo $FULL_VERSION | cut -d"," -f3 | cut -d")" -f1 )
echo 'FULL_VERSION = "'$FULL_VERSION'"'
CUR_VER=
CUR_SNAPSHOT=
if [ "$FULL_VERSION" = "SNAPSHOT" ]; then
CUR_SNAPSHOT=1
echo "SNAPSHOT detected."
else
if ! echo "$FULL_VERSION" | grep -q "." ; then
echo "ERROR: Incorrect branch version!"
exit 13
fi
CUR_VER=${FULL_VERSION:0:5}
VER_DELIM=${FULL_VERSION:5:1}
if [ "$VER_DELIM" = "-" ]; then
CUR_SNAPSHOT=$CUR_VER
echo "snapshot detected."
fi
fi
echo 'CUR_VER = "'$CUR_VER'"'
function update_feed_head()
{
local FEEDNAME=$1
local FEEDURL=$2
local FEEDHEADLIST="$XDIR/feed_$FEEDNAME.list"
git ls-remote -h $FEEDURL > $FEEDHEADLIST
HEADHASH=$( grep "refs/heads/openwrt-$CUR_VER" $FEEDHEADLIST 2>/dev/null )
if [ -z "$HEADHASH" ]; then
echo "ERROR: Not found branch refs/heads/openwrt-$CUR_VER for feed $FEEDNAME"
exit 17
fi
HEADHASH=$( echo $HEADHASH | cut -d" " -f1 )
echo "For feed '$FEEDNAME' founded fresh hash = $HEADHASH"
# src-git packages https://git.openwrt.org/feed/packages.git^b5ed85f6e94aa08de1433272dc007550f4a28201
NEWLINE="src-git $FEEDNAME $FEEDURL^$HEADHASH"
NEWLINE=$( sed_adapt "$NEWLINE" )
sed -i "s/^src-git $FEEDNAME .*/$NEWLINE/g" feeds.conf
if ! grep -q "$NEWLINE" "feeds.conf" ; then
echo "ERROR: Cannot patch file feeds.conf"
exit 18
fi
echo "Changed URL for feed '$FEEDNAME' = $FEEDURL^$HEADHASH"
}
if [ "$CUR_SNAPSHOT" != "1" ]; then
update_feed_head packages https://github.com/openwrt/packages.git
update_feed_head luci https://github.com/openwrt/luci.git
update_feed_head routing https://github.com/openwrt/routing.git
update_feed_head telephony https://github.com/openwrt/telephony.git
fi
if [ "$OPT_FULL_UPDATE" = "true" ]; then
./scripts/feeds update -a
./scripts/feeds install -a
@@ -133,7 +58,7 @@ fi
CLONE_ADDONS=true
if [ "$CLONE_ADDONS" = "true" ]; then
mkdir -p $XADDONSDIR
mkdir $XADDONSDIR
pkg_lst=$( get_cfg_expkg_lst "$ADDONSCFG" )
for pkg in $pkg_lst; do
value=$( get_cfg_expkg_url "$ADDONSCFG" $pkg )
@@ -154,10 +79,8 @@ fi
if [ "$OPT_FULL_UPDATE" = "true" ]; then
if [ -f "$XDIR/vermagic_update.sh" ]; then
./vermagic_update.sh ipq806x generic
./vermagic_update.sh qualcommax ipq807x
./vermagic_update.sh ramips mt7621
./vermagic_update.sh mediatek mt7622
./vermagic_update.sh mediatek filogic
fi
fi

View File

@@ -1,47 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_zenwifi-bt8=y
#include _addons.config
#include _base.config
#include _wifi_en.config
#include _printer.config
#include _samba.config
#include _torrents.config
#include _proxy.config
#include _argon.config
#include _vpn.config
#CONFIG_KERNEL_KALLSYMS=y
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
CONFIG_PACKAGE_luci-app-temp-status=y
CONFIG_PACKAGE_luci-i18n-temp-status-ru=y
CONFIG_PACKAGE_collectd-mod-sensors=y
### USB
CONFIG_PACKAGE_kmod-usb-storage-uas=y
### HDD tools
CONFIG_PACKAGE_smartmontools=y
CONFIG_PACKAGE_hdparm=y
CONFIG_PACKAGE_hd-idle=y
CONFIG_PACKAGE_luci-app-hd-idle=y
#CONFIG_PACKAGE_luci-i18n-hd-idle-ru=y
CONFIG_PACKAGE_luci-app-disks-info=y
#CONFIG_PACKAGE_luci-i18n-disks-info-ru=y
CONFIG_PACKAGE_luci-app-diskman=y
### Luci dashboard
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-i18n-dashboard-ru=y
### Network Ports viewer
CONFIG_PACKAGE_luci-app-tn-netports=y
CONFIG_PACKAGE_luci-i18n-tn-netports-ru=y
### TimeControl
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,17 +0,0 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_asus_zenwifi-bt8=y
#CONFIG_KERNEL_KALLSYMS=y
#include _addons.config
#include _base_initrd.config
#include _wifi_en.config
CONFIG_TARGET_INITRAMFS_FORCE=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=n
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=n