117 Commits
v21 ... v24

Author SHA1 Message Date
70e98fff3a adsnj 2025-07-07 23:36:31 +05:00
50ea309b09 ll 2025-07-07 23:31:21 +05:00
3d71aae60e wsd 2025-07-06 14:03:54 +05:00
9aae6aacec kjs 2025-07-06 14:02:56 +05:00
jeka
3e6e88899a remove files 2025-07-02 09:18:22 +05:00
jeka
03fe1910fa skaj 2025-07-02 00:04:03 +05:00
remittor
1ecab03a91 config: Remove SQM package for kng_re 2025-05-12 11:11:06 +03:00
remittor
91f0229c56 xmake: Fix build podkop (remove conflicts) 2025-05-06 11:48:09 +03:00
remittor
c2b23fc75d proxy: Add package zapret-openwrt 2025-05-05 13:41:28 +03:00
remittor
8889b52c08 xmake: Add support install custom patches 2025-04-12 17:29:52 +03:00
remittor
d625301034 xmake: Disable MODERN mode for dropbear 2025-04-11 21:38:16 +03:00
remittor
349acbd731 xmake: Add patching for podkop 2025-04-11 21:38:16 +03:00
remittor
35a12373c1 vpn: Add package luci-i18n-podkop-ru 2025-04-11 21:37:46 +03:00
remittor
bd18b7bbac build: Add Xiaomi R3P and Asus ZenWiFi-BT8 2025-04-04 20:43:08 +03:00
remittor
ab609c865a base: Add package coreutils-cksum 2025-04-03 12:58:54 +03:00
remittor
20a7be2d85 Auto activate WiFi modules for Asus initramfs images 2025-03-31 11:20:54 +03:00
remittor
68a27ad4ff base_initrd: Add theme openwrt-2020 2025-03-31 09:39:04 +03:00
remittor
ff24a36fe4 xmake: Add special fantastic packages 2025-03-21 10:03:57 +03:00
remittor
88fdc87118 Add support Xiaomi R3P 2025-03-06 12:07:38 +03:00
remittor
67a306e4a5 config: Remove SQM package 2025-02-28 15:26:13 +03:00
remittor
58dd491beb base: Disable IP Tables tool 2025-02-28 15:21:26 +03:00
remittor
d4039b3221 build: Check downloaded vermagic hash 2025-02-14 16:58:54 +03:00
remittor
053d54a01b readme: Add new badges 2025-01-31 13:04:25 +03:00
remittor
f07b1487bf readme: Add download counter 2025-01-14 14:44:11 +03:00
remittor
9add7ffb32 r3d: Enable CONFIG_KERNEL_KALLSYMS 2025-01-14 12:43:01 +03:00
remittor
2c59084788 Add support github actions 2025-01-14 12:33:35 +03:00
remittor
4ab2b4a312 Add support Asus RT-AX57M 2025-01-13 11:29:37 +03:00
remittor
f31906ebb4 addons: Update amneziawg 2025-01-13 11:14:46 +03:00
remittor
61234abddc Add patch for os-release file 2025-01-12 12:40:20 +03:00
remittor
33b2e1f6d0 xmake: Switch fantastic packages to 24.10 version 2024-12-05 11:25:18 +03:00
remittor
3ef32a3aeb xmake: Fix build for ntfs-3g package 2024-12-05 11:24:40 +03:00
remittor
6151c61f9a xmake: Disable some x-wrt packages 2024-12-05 11:23:56 +03:00
remittor
0f2716310e xmake: Fix system menu into luci-app-natflow-users.json 2024-12-05 11:23:09 +03:00
remittor
349311ff1e xupdate: Remove support for ipq807x targets 2024-12-05 11:21:37 +03:00
remittor
db781184e9 Update config for all supported devices 2024-12-05 11:20:08 +03:00
remittor
758067320f vpn: Switch OpenVPN to mbedTLS lib 2024-12-05 11:16:06 +03:00
remittor
4499e7c467 vpn: Remove xray and v2ray 2024-12-05 11:15:02 +03:00
remittor
1f97bc75e0 samba: Replace Samba4 to ksmbd 2024-12-05 11:13:20 +03:00
remittor
d96b147aef base_initrd: Add luci-app-filemanager 2024-12-05 11:12:11 +03:00
remittor
08572c6026 base: Add kmod-udptunnel4 + kmod-udptunnel6 2024-12-05 11:11:34 +03:00
remittor
9d31e5a70c base: Use mbedTLS and OpenSSL libs 2024-12-05 11:10:44 +03:00
remittor
a400333f46 base: Add rsync + luci-app-filemanager + dnsmasq-full 2024-12-05 10:37:14 +03:00
remittor
1c7baf8686 addons: Use original repo for x-wrt packages 2024-12-05 10:34:19 +03:00
remittor
759413185e addons: Removed luci-app-filebrowser and luci-app-xray 2024-12-05 10:33:03 +03:00
remittor
de6558ce9b base: Fix for disable service nextdns 2024-11-17 09:57:19 +03:00
remittor
a4f3f52397 base: Disable service adblock 2024-11-17 09:44:00 +03:00
remittor
c6bf1cb56b vpn: Add podkop packages 2024-11-17 09:42:42 +03:00
remittor
10bfad1223 Add xwrt packages (natflow + url_logger) 2024-11-11 14:30:06 +03:00
remittor
a3b6bdd9b1 xupdate: Update URL and hash for all openwrt feeds 2024-10-18 16:58:18 +03:00
remittor
15f3f89297 [xmake] Add patching for config file "luci_statistics" 2024-10-02 11:37:25 +03:00
remittor
7a531a9f19 [make] Fix bug on patching dashboard.po 2024-10-01 16:38:12 +03:00
remittor
b529a700c8 Add package kmod-usb-storage-uas for RT-AX89X 2024-10-01 16:35:55 +03:00
remittor
0d9c2ffeb7 [VPN] Remove package amneziawg-go 2024-10-01 16:28:39 +03:00
remittor
3b4fa1bd33 [proxy] Add package igmpproxy 2024-10-01 16:27:05 +03:00
remittor
494e35c9c1 [proxy] Remove packages dnscrypt-proxy and dnscrypt-proxy2 2024-10-01 16:25:36 +03:00
remittor
c49cf7c23e [base] Add package kmod-mtd-rw by default 2024-10-01 16:24:04 +03:00
remittor
08e31f2b57 [VPN] Add additional kmod for VPN services 2024-10-01 16:22:26 +03:00
remittor
3180a797a5 Add package collectd-mod-sensors for all devices 2024-10-01 16:16:11 +03:00
remittor
2bb81e1e90 [base] Add new disabled services 2024-10-01 16:15:22 +03:00
remittor
11e615f27e Add package collectd-mod-sensors for some devices 2024-10-01 16:05:16 +03:00
remittor
411d5d9074 Add new device Routerich AX3000 (mt7981B) 2024-08-24 17:16:05 +03:00
remittor
b20090668e Add new device: Xiaomi AX3000T (RD03) 2024-08-14 14:30:06 +03:00
remittor
9e7e3c5c22 Add new device: ASUS RT-AX52 2024-08-14 14:28:31 +03:00
remittor
c41c4a531f [VPN] Use "ruantiblock-mod-lua" instead "ruantiblock-mod-py" 2024-08-14 10:23:15 +03:00
remittor
fa2b41d576 Add ruantiblock modules
Source: https://github.com/gSpotx2f/ruantiblock_openwrt
2024-08-06 16:40:50 +03:00
remittor
90be17ed2f Add https-dns-proxy 2024-08-06 16:34:27 +03:00
remittor
0b41630ad6 Add AmneziaWG modules 2024-08-06 16:33:21 +03:00
remittor
3d62ce9574 Use EN language in LUCI by default 2024-08-06 16:04:20 +03:00
remittor
af2b09495d Remove netports files 2024-03-25 14:32:38 +03:00
remittor
c28ae44738 [xmake] Add support testing kernel 2024-03-25 14:30:14 +03:00
remittor
dd485f83d2 [xmake] Add additional patches for removing squashfs suffix 2024-03-12 17:00:38 +03:00
remittor
a3b0832f06 [xmake] Add new option k (KALLSYMS) 2024-03-12 16:58:36 +03:00
remittor
543f286f8c [vpn] Remove luci-app-xray package 2024-03-12 16:54:08 +03:00
remittor
2b9df3a8cd [xmake] Add support build all targets in top dir 2024-02-07 15:35:22 +03:00
remittor
615d7ae584 [xmake] Allow extension on target option 2024-02-06 14:13:18 +03:00
remittor
3527dabd59 Fix date of building in banner and version string 2024-02-06 14:04:56 +03:00
remittor
771bba4633 Add support Asus RT-AX89X 2024-01-28 12:37:53 +03:00
remittor
7aa73f065c Add support qualcommax ipq807x targets 2024-01-23 14:11:20 +03:00
remittor
f693f4f4f1 Add auto patch for /etc/banner 2024-01-19 12:03:31 +03:00
remittor
c537398ebe Add patch for DISTRIB_DESCRIPTION option 2024-01-18 16:41:16 +03:00
remittor
ae8bb27438 Add package kmod-nf-nathelper-extra and enable nf_conntrack_helper 2024-01-18 10:50:44 +03:00
remittor
dd6433a0c8 Disable nextdns service by default 2023-12-07 10:54:40 +03:00
remittor
b34d023982 Disable preinstall netspeedtest package 2023-12-04 15:01:26 +03:00
remittor
c9838d4c16 Disable preinstall qBittorrent package 2023-12-04 14:57:38 +03:00
remittor
c21282eaac Forced using wpad-openssl 2023-11-30 10:09:44 +03:00
remittor
6a470ad7d0 Add batman packages 2023-11-30 10:05:17 +03:00
remittor
2262e76ecb Revert "Add new additional package luci-app-homeproxy"
This reverts commit 270814fda7.
2023-11-30 09:46:05 +03:00
remittor
270814fda7 Add new additional package luci-app-homeproxy 2023-11-29 16:43:21 +03:00
remittor
e9e09c3f42 [xmake.sh] Fix bug on disable xray-core 2023-11-29 16:41:42 +03:00
remittor
2513fb4d9a Add new additional package luci-app-xray 2023-11-28 20:40:56 +03:00
remittor
0b2cddbc6f Add support of Fantastic packages
Sources: https://github.com/fantastic-packages/packages
Binary: https://fantastic-packages.github.io/packages/releases/
2023-11-28 16:26:18 +03:00
remittor
968d70c0af Add disable services functionality 2023-11-28 14:48:29 +03:00
remittor
23f5b83ad4 Cleanup code into xmake.sh 2023-11-28 12:44:31 +03:00
remittor
487cde6352 Remove aux_menu functionality 2023-11-28 12:11:06 +03:00
remittor
8d253965ba Update luci-theme-argon 2023-11-27 12:44:54 +03:00
remittor
59267b85ad Add cozymenu package 2023-11-25 15:16:38 +03:00
remittor
54d199895d Add facinstall package 2023-11-14 16:29:51 +03:00
remittor
ad733d1419 [vpn] Fix shadowsocks app 2023-11-09 13:42:41 +03:00
remittor
e0c042d9e6 Add new devices: ASUS TUF-AX6000 and ASUS RT-AX59U 2023-10-30 16:03:52 +03:00
remittor
3380544044 Fix change config before make 2023-10-30 16:02:44 +03:00
remittor
00abf2c3dc Change qBittorent menu position for TUF-AX4200 2023-10-28 20:28:54 +03:00
remittor
2399d7735b Fix main menu for Asus TUF-AX4200 2023-10-28 19:32:32 +03:00
remittor
f2db1fcb25 Disable install app-netspeedtest for Asus TUF-AX4200 2023-10-28 15:49:52 +03:00
remittor
acd09b1e26 Include package kmod-mtd-rw for initramfs images 2023-10-27 16:14:07 +03:00
remittor
975cc0efb3 Add support build kernel image with integrated initramfs for Asus TUF-AX4200 2023-10-27 14:34:22 +03:00
remittor
2daccbef95 Add support Asus TUF-AX4200
Info: https://openwrt.org/toh/asus/tuf-ax4200
2023-10-27 14:30:44 +03:00
remittor
99b70e3c42 Add rb06 target 2023-10-19 15:40:38 +03:00
remittor
a4d3109528 Add luci-app-netspeedtest 2023-10-19 15:39:49 +03:00
remittor
9172ecd1ff Add MTK filogic targets 2023-10-19 15:38:29 +03:00
remittor
946cd7a4ed Enable modules kmod-tls and kmod-bonding 2023-08-17 10:33:57 +03:00
remittor
35fdaa7fb1 Forced autoload enable for "qca-nss-drv-pppoe" driver 2023-08-17 08:32:19 +03:00
remittor
3bb7046c71 Add debug symbols and tools into kernel (ramoops) 2023-08-17 08:30:36 +03:00
remittor
d6d5d06c36 Disable adding NSS packages into distfeeds.conf 2023-08-16 11:57:31 +03:00
remittor
a90b073434 Add support NSS build 2023-08-15 15:54:35 +03:00
remittor
b5798d42f8 Add OpenVPN aux options 2023-08-15 15:54:35 +03:00
remittor
69eb15aa91 Bigest update for v23 2023-08-14 07:59:05 +03:00
remittor
535f3f8529 Add support OpenWrt v23 2023-08-12 20:29:10 +03:00
28 changed files with 1079 additions and 475 deletions

31
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
# 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']

300
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,300 @@
name: build
on:
workflow_dispatch:
inputs:
fake_build:
description: 'Fake build'
required: true
default: 'false'
type: choice
options:
- true
- false
suffix:
description: 'TAG suffix'
required: false
default: ''
type: string
env:
FAKE_BUILD: ${{ github.event.inputs.fake_build }}
REPO_URL: https://github.com/openwrt-xiaomi/openwrt
REPO_LNK: openwrt-xiaomi/openwrt
REPO_BRANCH: xq-24.10
TAG_PREFIX: v24-
BUILD_ROOT: ${{ github.workspace }}/openwrt
DEPENDENCIES: ${{ github.workspace }}/dependencies-ubuntu.txt
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 }}
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
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 $(cat $DEPENDENCIES)
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: Checkout builder
uses: actions/checkout@main
- name: Download OpenWrt sources
run: git clone --branch $REPO_BRANCH $REPO_URL.git $BUILD_ROOT
- name: Init builder
env:
BLDROOT: ${{ github.workspace }}
shell: bash
run: |
rsync -avq --exclude=".*" --exclude="$(basename $BUILD_ROOT)" $BLDROOT/ $BUILD_ROOT/
cd $BUILD_ROOT
chmod +x *.sh
wget https://github.com/fantastic-packages/packages/raw/refs/heads/24.10/keys/usign/53FF2B6672243D28.pub
- name: Update OpenWrt packages
id: update
run: |
cd $BUILD_ROOT && ./xupdate.sh -f
echo "status=success" >> $GITHUB_OUTPUT
- name: Build the firmware image
id: compile
if: steps.update.outputs.status == 'success'
env:
TARGET: ${{ matrix.target }}
FW_VER: ${{ needs.check.outputs.fw_ver }}
run: |
cd $BUILD_ROOT
MAKE_JOBS=$(($(nproc)+1))
echo "$MAKE_JOBS thread compile"
# init build config
./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
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
# run build
[ "$FAKE_BUILD" != "true" ] && make -j $MAKE_JOBS download world
# process results
FILE_DATE=$(date --utc +'%y%m%d')
OUT_DIR=$BUILD_ROOT/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"
ls -la
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 "DEVICE_NAME=$G_DEVICE_NAME" >> $GITHUB_ENV
echo "BOARD_NAME=$G_BOARD_NAME" >> $GITHUB_ENV
echo "SUBTARGET_NAME=$G_SUBTARGET_NAME" >> $GITHUB_ENV
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
echo "FILE_DATE=$FILE_DATE" >> $GITHUB_ENV
- name: Check space usage
run: df -hT
- name: Compress build logs
if: always()
env:
TARGET: ${{ matrix.target }}
FW_DATE: ${{ needs.check.outputs.fw_date }}
LOGS_DIR: ${{ env.BUILD_ROOT }}/logs
run: |
tar -cJvf logs-$TARGET-$FW_DATE.tar.xz $LOGS_DIR
- 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.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: 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: false
tag_name: ${{ needs.check.outputs.tag }}
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,3 +1,8 @@
[![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
@@ -13,11 +18,11 @@ sudo apt-get install python3-distutils rsync unzip zlib1g-dev
## Build firmware
```
git clone https://github.com/openwrt-xiaomi/builder -b v21 openwrt-v21
cd openwrt-v21
git clone https://github.com/openwrt-xiaomi/builder -b v24 openwrt-v24
cd openwrt-v24
./xcreate.sh -v xq-21.02.3
cd xq-21.02.3
./xcreate.sh -v xq-24.10
cd xq-24.10
./xupdate.sh -f

View File

@@ -1,7 +1,13 @@
### 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
#CONFIG_FEED__alpine_fan_control=m
### luci-app-temp-status
#GIT_PACKAGE luci-app-temp-status=https://github.com/openwrt-xiaomi/luci-app-temp-status.git master
@@ -27,12 +33,31 @@ 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-filebrowser
#GIT_PACKAGE luci-app-filebrowser=https://github.com/openwrt-xiaomi/luci-app-filebrowser.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/lolo6oT/awg-openwrt.git dev-24.10
CONFIG_FEED__amneziawg=m
### Zapret
#GIT_FEED _zapret=https://github.com/remittor/zapret-openwrt.git
CONFIG_FEED__zapret=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

View File

@@ -1,3 +1,3 @@
### Argon Theme
CONFIG_PACKAGE_luci-theme-argon=y
CONFIG_PACKAGE_luci-app-argon-config=y
#CONFIG_PACKAGE_luci-theme-argon=y
#CONFIG_PACKAGE_luci-app-argon-config=y

View File

@@ -13,6 +13,10 @@ 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
@@ -27,79 +31,98 @@ 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_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_kmod-mtd-rw=y
CONFIG_PACKAGE_iw-full=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_PACKAGE_htop=y
#CONFIG_PACKAGE_nano=y
#CONFIG_PACKAGE_ccrypt=y
#CONFIG_LIBCURL_PROXY=y
CONFIG_PACKAGE_curl=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_openssl-util=y
CONFIG_PACKAGE_wget-ssl=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
#CONFIG_PACKAGE_coreutils-cksum=y
### USB device mount & file systems support
CONFIG_PACKAGE_gdisk=y
CONFIG_PACKAGE_parted=y
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_usbutils=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_libblkid=y
CONFIG_PACKAGE_blkid=y
CONFIG_PACKAGE_lsblk=y
CONFIG_PACKAGE_lsblk=y
CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_kmod-fs-cifs=y
CONFIG_PACKAGE_kmod-fs-exfat=y
CONFIG_PACKAGE_kmod-fs-ext4=y
CONFIG_PACKAGE_kmod-fs-hfsplus=y
CONFIG_PACKAGE_kmod-fs-msdos=y
CONFIG_PACKAGE_kmod-fs-vfat=y
CONFIG_PACKAGE_kmod-fs-f2fs=y
CONFIG_PACKAGE_kmod-fs-ntfs=y
CONFIG_PACKAGE_kmod-fs-squashfs=y
CONFIG_PACKAGE_kmod-nls-cp1250=y
CONFIG_PACKAGE_kmod-nls-cp437=y
CONFIG_PACKAGE_kmod-nls-cp850=y
CONFIG_PACKAGE_kmod-nls-iso8859-1=y
CONFIG_PACKAGE_kmod-nls-iso8859-15=y
CONFIG_PACKAGE_kmod-nls-utf8=y
#CONFIG_PACKAGE_gdisk=y
#CONFIG_PACKAGE_parted=y
#CONFIG_PACKAGE_e2fsprogs=y
#CONFIG_PACKAGE_usbutils=y
#CONFIG_PACKAGE_block-mount=y
#CONFIG_PACKAGE_libblkid=y
#CONFIG_PACKAGE_blkid=y
#CONFIG_PACKAGE_lsblk=y
#CONFIG_PACKAGE_lsblk=y
#CONFIG_PACKAGE_kmod-usb-storage=y
#CONFIG_PACKAGE_kmod-fs-cifs=y
#CONFIG_PACKAGE_kmod-fs-exfat=y
#CONFIG_PACKAGE_kmod-fs-ext4=y
#CONFIG_PACKAGE_kmod-fs-hfsplus=y
#CONFIG_PACKAGE_kmod-fs-msdos=y
#CONFIG_PACKAGE_kmod-fs-vfat=y
#CONFIG_PACKAGE_kmod-fs-f2fs=y
#CONFIG_PACKAGE_kmod-fs-ntfs=y
#CONFIG_PACKAGE_kmod-fs-squashfs=y
#CONFIG_PACKAGE_kmod-nls-cp1250=y
#CONFIG_PACKAGE_kmod-nls-cp437=y
#CONFIG_PACKAGE_kmod-nls-cp850=y
#CONFIG_PACKAGE_kmod-nls-iso8859-1=y
#CONFIG_PACKAGE_kmod-nls-iso8859-15=y
#CONFIG_PACKAGE_kmod-nls-utf8=y
### WAN proto
CONFIG_PACKAGE_kmod-l2tp=y
CONFIG_PACKAGE_kmod-pppol2tp=y
CONFIG_PACKAGE_kmod-pptp=y
#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
CONFIG_PACKAGE_ppp-mod-pptp=y
#CONFIG_PACKAGE_luci-proto-ppp=y
#CONFIG_PACKAGE_ppp-mod-pptp=y
### kernel support for tunnels, VPNs
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
CONFIG_PACKAGE_luci-proto-relay=y
#CONFIG_PACKAGE_relayd=y
#CONFIG_PACKAGE_luci-proto-relay=y
### Luci proto
CONFIG_PACKAGE_luci-proto-3g=y
CONFIG_PACKAGE_luci-proto-ipv6=y
#CONFIG_PACKAGE_luci-proto-3g=y
#CONFIG_PACKAGE_luci-proto-ipv6=y
### IPv6 support
CONFIG_PACKAGE_6in4=y
@@ -109,6 +132,59 @@ 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
CONFIG_PACKAGE_kmod-lib-crc16=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
### 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
@@ -142,8 +218,8 @@ CONFIG_PACKAGE_luci-theme-material=y
CONFIG_PACKAGE_luci-theme-openwrt=y
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
### LuCI with HTTPS support (WolfSSL as SSL backend)
CONFIG_PACKAGE_luci-ssl=y
### Luci menu customizer
CONFIG_PACKAGE_cozymenu=y
### Luci statistics
CONFIG_PACKAGE_luci-app-statistics=y
@@ -153,14 +229,27 @@ 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
### WLAN/WPS support
CONFIG_PACKAGE_wpad-wolfssl=y
CONFIG_WPA_SUPPLICANT_INTERNAL=y
### hostap
CONFIG_WPA_RFKILL_SUPPORT=y
## CONFIG_WPA_MSG_MIN_PRIORITY=2
## CONFIG_WPA_MSG_MIN_PRIORITY=4
### 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_PACKAGE_libwolfssl=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_wpad-basic-mbedtls=n
CONFIG_PACKAGE_wpad-mesh-wolfssl=y
CONFIG_WOLFSSL_HAS_NO_HW=y
CONFIG_WPA_WOLFSSL=y
CONFIG_PACKAGE_kmod-lib-crc-ccitt=y
### Wake On Lan
##CONFIG_PACKAGE_luci-app-wol=y
@@ -171,8 +260,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
@@ -187,3 +276,30 @@ 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,5 +0,0 @@
### USB Printer support
CONFIG_PACKAGE_kmod-usb-printer=y
CONFIG_PACKAGE_p910nd=y
CONFIG_PACKAGE_luci-app-p910nd=y
CONFIG_PACKAGE_luci-i18n-app-p910nd-ru=y

View File

@@ -1,9 +1,15 @@
### DNS and Proxy
CONFIG_PACKAGE_luci-app-nextdns=y
CONFIG_PACKAGE_luci-i18n-nextdns-ru=y
#CONFIG_PACKAGE_luci-app-nextdns=y
#CONFIG_PACKAGE_luci-i18n-nextdns-ru=y
CONFIG_PACKAGE_luci-app-dnscrypt-proxy=y
CONFIG_PACKAGE_luci-i18n-dnscrypt-proxy-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_dnscrypt-proxy2=y
CONFIG_PACKAGE_igmpproxy=y
CONFIG_PACKAGE_zapret=y
CONFIG_PACKAGE_zapret-tpws=y
CONFIG_PACKAGE_zapret-mdig=y
CONFIG_PACKAGE_zapret-ip2net=y
CONFIG_PACKAGE_luci-app-zapret=y

View File

@@ -1,4 +0,0 @@
### Samba
CONFIG_PACKAGE_luci-app-samba4=y
CONFIG_PACKAGE_luci-i18n-samba4-ru=y
CONFIG_PACKAGE_samba4-utils=y

View File

@@ -1,11 +0,0 @@
### Torrent clients
CONFIG_PACKAGE_transmission-daemon=y
CONFIG_PACKAGE_transmission-web=y
CONFIG_PACKAGE_transmission-remote=y
CONFIG_PACKAGE_luci-app-transmission=y
CONFIG_PACKAGE_luci-i18n-transmission-ru=y
CONFIG_PACKAGE_luci-app-minidlna=y
CONFIG_PACKAGE_luci-i18n-minidlna-ru=y

43
_vpn.config Normal file
View File

@@ -0,0 +1,43 @@
#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_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,6 +1,6 @@
### WiFi default config
CONFIG_PACKAGE_MAC80211_ENABLE=y
CONFIG_PACKAGE_MAC80211_COUNTRY="US"
#CONFIG_PACKAGE_MAC80211_SSID=""
CONFIG_PACKAGE_MAC80211_SSID="lev"
CONFIG_PACKAGE_MAC80211_ENCRYPTION="psk2"
CONFIG_PACKAGE_MAC80211_PASSWORD="12345678"
CONFIG_PACKAGE_MAC80211_PASSWORD="fuckingwep"

1
dependencies-ubuntu.txt Normal file
View File

@@ -0,0 +1 @@
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,49 +0,0 @@
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7621=y
CONFIG_TARGET_ramips_mt7621_DEVICE_zyxel_keenetic-giga-iii=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
### 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
### 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

View File

@@ -1,29 +0,0 @@
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'

View File

@@ -1,16 +0,0 @@
{
"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

@@ -1,63 +0,0 @@
CONFIG_TARGET_ipq806x=y
CONFIG_TARGET_ipq806x_generic=y
CONFIG_TARGET_ipq806x_generic_DEVICE_xiaomi_r3d=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
### Temp and sensors
CONFIG_PACKAGE_lm-sensors=y
CONFIG_PACKAGE_lm-sensors-detect=y
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
### 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
### 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

View File

@@ -1,22 +0,0 @@
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'

View File

@@ -1,17 +0,0 @@
{
"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

@@ -1,43 +0,0 @@
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7621=y
CONFIG_TARGET_ramips_mt7621_DEVICE_xiaomi_mi-router-3g=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
### 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
### 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

View File

@@ -1,19 +0,0 @@
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'

View File

@@ -1,16 +0,0 @@
{
"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 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'

View File

@@ -1,16 +0,0 @@
{
"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,15 +1,13 @@
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_mt7622=y
CONFIG_TARGET_mediatek_mt7622_DEVICE_xiaomi_redmi-router-ax6s=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 _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
@@ -19,16 +17,8 @@ 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
CONFIG_PACKAGE_luci-app-timecontrol=m

View File

@@ -1,8 +1,8 @@
#!/bin/bash
XSUPPORTEDVER=21
XSUPPORTEDVER=24
XREPOADDR=https://github.com/openwrt-xiaomi
XDEFBRANCH=xq-21.02.3
XDEFBRANCH=xq-24.10.0
logmsg() {
echo "$@"
@@ -19,6 +19,24 @@ 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 )
@@ -51,6 +69,12 @@ 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 )
@@ -82,4 +106,16 @@ 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"
}

391
xmake.sh
View File

@@ -1,72 +1,381 @@
#!/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
while getopts "j:t:f" opt; do
KALLSYMS=false
TESTING_KERNEL=false
BUILD_ONLY_INITRAMFS=false
BUILD_SKIP_INITRAMFS=false
ONLY_INIT=false
while getopts "j:t:fiskTI" 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 [ "$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
if echo "$XTARGET" | grep -E '[ "]' >/dev/null ;then
die "Target config filename cannot contain spaces!"
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
CUR_BRANCH=$( git rev-parse --abbrev-ref HEAD )
if [ "$CUR_BRANCH" = master ]; then
KALLSYMS=true
fi
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
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/*
}
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
function build_target {
local target_cfg=$1
local CFG=$XDIR/.config
local inc
local inclst
local incfn
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
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
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_MK=$XDIR/package/network/services/dropbear/Makefile
if [ -f $DROPBEAR_MK ]; then
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
OPKG_DIR=$XDIR/files/etc/opkg
if [ -d $OPKG_DIR ]; then
rm -rf $OPKG_DIR
fi
FANT_PKG_KEY=$XDIR/53FF2B6672243D28.pub
if [ -f $FANT_PKG_KEY ]; then
OPKG_SRC_DIR=$XDIR/package/system/opkg/files
OPKG_KEYS_DIR=$OPKG_DIR/keys
mkdir -p $OPKG_KEYS_DIR
cp $FANT_PKG_KEY $OPKG_KEYS_DIR/53ff2b6672243d28
OPKG_CFEED_FN=$OPKG_DIR/customfeeds.conf
cp $OPKG_SRC_DIR/customfeeds.conf $OPKG_CFEED_FN
PKG_LINK="https://fantastic-packages.github.io/packages/releases/<<VER>>/packages/<<ARCH>>"
echo "" >> $OPKG_CFEED_FN
echo "src/gz fantastic_packages_luci $PKG_LINK/luci" >> $OPKG_CFEED_FN
echo "src/gz fantastic_packages_packages $PKG_LINK/packages" >> $OPKG_CFEED_FN
echo "src/gz fantastic_packages_special $PKG_LINK/special" >> $OPKG_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>>/24.10/g" $OPKG_CFEED_FN
sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $OPKG_CFEED_FN
logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/packages]"
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 V=s -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
if [ -z "$MAKE_JOBS" ]; then
MAKE_JOBS=$( grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3}' )
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
#make tools/install -j$MAKE_JOBS
#make toolchain/install -j$MAKE_JOBS
INITRAMFS_COUNT=0
for CFG in $CFG_LIST; do
if [[ "$CFG" == *"_initramfs"* ]]; then
INITRAMFS_COUNT=$(( INITRAMFS_COUNT + 1 ))
fi
done
make PARALLEL_BUILD=1 -j $MAKE_JOBS download world
if [ $INITRAMFS_COUNT = 0 ] && [ $BUILD_ONLY_INITRAMFS = true ]; then
echo "ERROR: Cannot found initramfs configs!"
exit 1
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
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
fi
echo "All targets was builded!"

View File

@@ -5,13 +5,16 @@ 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,15 +30,16 @@ if [ "$OPT_FULL_UPDATE" = "true" ]; then
rm -rf $XADDONSDIR
fi
git reset --hard HEAD
#git revert HEAD~30..HEAD
#git reset --hard HEAD
git reset --hard HEAD~50
#git revert HEAD~50..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 )
@@ -44,6 +48,12 @@ 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 )
@@ -51,6 +61,70 @@ 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
@@ -58,7 +132,7 @@ fi
CLONE_ADDONS=true
if [ "$CLONE_ADDONS" = "true" ]; then
mkdir $XADDONSDIR
mkdir -p $XADDONSDIR
pkg_lst=$( get_cfg_expkg_lst "$ADDONSCFG" )
for pkg in $pkg_lst; do
value=$( get_cfg_expkg_url "$ADDONSCFG" $pkg )
@@ -79,8 +153,10 @@ 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