mirror of
https://github.com/itdoginfo/podkop.git
synced 2025-12-06 19:46:52 +03:00
Merge pull request #211 from SaltyMonkey/build-process-improvements
chore: Build process improvements
This commit is contained in:
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
117
.github/workflows/build.yml
vendored
117
.github/workflows/build.yml
vendored
@@ -4,51 +4,116 @@ on:
|
|||||||
tags:
|
tags:
|
||||||
- v*
|
- v*
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
preparation:
|
||||||
name: Build podkop and luci-app-podkop
|
name: Setup build version
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.version.outputs.version }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.2.1
|
- uses: actions/checkout@v5.0.0
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- id: version
|
||||||
|
run: |
|
||||||
|
VERSION=$(git describe --tags --exact-match 2>/dev/null || echo "dev_$(date +%d%m%Y)")
|
||||||
|
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
build:
|
||||||
|
name: Builder for ${{ matrix.package_type }} podkop and luci-app-podkop
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: preparation
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- { package_type: ipk }
|
||||||
|
- { package_type: apk }
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5.0.0
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Extract version
|
- name: Build ${{ matrix.package_type }}
|
||||||
id: version
|
uses: docker/build-push-action@v6.18.0
|
||||||
run: |
|
|
||||||
VERSION=$(git describe --tags --exact-match 2>/dev/null || echo "dev_$(date +%d%m%Y)")
|
|
||||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Build and push
|
|
||||||
uses: docker/build-push-action@v6.9.0
|
|
||||||
with:
|
with:
|
||||||
|
file: ./Dockerfile-${{ matrix.package_type }}
|
||||||
context: .
|
context: .
|
||||||
tags: podkop:ci
|
tags: podkop:ci-${{ matrix.package_type }}
|
||||||
build-args: |
|
build-args: |
|
||||||
PKG_VERSION=${{ steps.version.outputs.version }}
|
PKG_VERSION=${{ needs.preparation.outputs.version }}
|
||||||
|
|
||||||
- name: Create Docker container
|
- name: Create ${{ matrix.package_type }} Docker container
|
||||||
run: docker create --name podkop podkop:ci
|
run: docker create --name ${{ matrix.package_type }} podkop:ci-${{ matrix.package_type }}
|
||||||
|
|
||||||
- name: Copy file from Docker container
|
- name: Copy files from ${{ matrix.package_type }} Docker container
|
||||||
run: |
|
run: |
|
||||||
docker cp podkop:/builder/bin/packages/x86_64/utilites/. ./bin/
|
mkdir -p ./bin/${{ matrix.package_type }}
|
||||||
docker cp podkop:/builder/bin/packages/x86_64/luci/. ./bin/
|
docker cp ${{ matrix.package_type }}:/builder/bin/packages/x86_64/utilites/. ./bin/${{ matrix.package_type }}/
|
||||||
|
docker cp ${{ matrix.package_type }}:/builder/bin/packages/x86_64/luci/. ./bin/${{ matrix.package_type }}/
|
||||||
|
|
||||||
- name: Filter IPK files
|
# Проблема в том, что sdk которая генерирует apk файлы не использует `_` символ --> только `-` в именах итоговых файлов
|
||||||
|
- name: Fix naming difference between build for packages (replace _ with -)
|
||||||
|
if: matrix.package_type == 'ipk'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
for f in ./bin/${{ matrix.package_type }}/*.${{ matrix.package_type }}; do
|
||||||
|
[ -e "$f" ] || continue
|
||||||
|
base=$(basename "$f")
|
||||||
|
newname=$(echo "$base" | sed 's/_/-/g')
|
||||||
|
mv "$f" "./bin/${{ matrix.package_type }}/$newname"
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Filter files
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
# Извлекаем версию из тега, убирая префикс 'v'
|
# Извлекаем версию из тега, убирая префикс 'v'
|
||||||
VERSION=${GITHUB_REF#refs/tags/v}
|
VERSION=${GITHUB_REF#refs/tags/v}
|
||||||
|
|
||||||
mkdir -p ./filtered-bin
|
mkdir -p ./filtered-bin/${{ matrix.package_type }}
|
||||||
cp ./bin/luci-i18n-podkop-ru_*.ipk "./filtered-bin/luci-i18n-podkop-ru_${VERSION}.ipk"
|
cp ./bin/${{ matrix.package_type }}/luci-i18n-podkop-ru-*.${{ matrix.package_type }} "./filtered-bin/luci-i18n-podkop-ru-${VERSION}.${{ matrix.package_type }}"
|
||||||
cp ./bin/podkop_*.ipk ./filtered-bin/
|
cp ./bin/${{ matrix.package_type }}/podkop-*.${{ matrix.package_type }} ./filtered-bin/
|
||||||
cp ./bin/luci-app-podkop_*.ipk ./filtered-bin/
|
cp ./bin/${{ matrix.package_type }}/luci-app-podkop-*.${{ matrix.package_type }} ./filtered-bin/
|
||||||
|
|
||||||
- name: Remove Docker container
|
- name: Remove Docker container
|
||||||
run: docker rm podkop
|
run: docker rm ${{ matrix.package_type }}
|
||||||
|
|
||||||
|
- name: Upload build artifacts
|
||||||
|
uses: actions/upload-artifact@v4.6.2
|
||||||
|
with:
|
||||||
|
name: release-files-${{ github.ref_name }}-${{ matrix.package_type }}
|
||||||
|
path: ./filtered-bin/${{ matrix.package_type }}/*.${{ matrix.package_type }}
|
||||||
|
retention-days: 1
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
release:
|
||||||
|
name: Create Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5.0.0
|
||||||
|
- name: Create release dir
|
||||||
|
run: mkdir -p ./filtered-bin/release
|
||||||
|
|
||||||
|
- name: Download ipk artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-files-${{ github.ref_name }}-ipk
|
||||||
|
path: ./filtered-bin/release
|
||||||
|
|
||||||
|
- name: Download apk artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-files-${{ github.ref_name }}-apk
|
||||||
|
path: ./filtered-bin/release
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v2.0.8
|
uses: softprops/action-gh-release@v2.4.0
|
||||||
with:
|
with:
|
||||||
files: ./filtered-bin/*.ipk
|
files: ./filtered-bin/release/*.*
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
name: ${{ github.ref_name }}
|
||||||
|
tag_name: ${{ github.ref_name }}
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
FROM openwrt/sdk:x86_64-v24.10.1
|
|
||||||
|
|
||||||
RUN ./scripts/feeds update -a && ./scripts/feeds install luci-base && mkdir -p /builder/package/feeds/utilites/ && mkdir -p /builder/package/feeds/luci/
|
|
||||||
9
Dockerfile-apk
Normal file
9
Dockerfile-apk
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
FROM itdoginfo/openwrt-sdk-apk:09102025
|
||||||
|
|
||||||
|
ARG PKG_VERSION
|
||||||
|
ENV PKG_VERSION=${PKG_VERSION}
|
||||||
|
|
||||||
|
COPY ./podkop /builder/package/feeds/utilites/podkop
|
||||||
|
COPY ./luci-app-podkop /builder/package/feeds/luci/luci-app-podkop
|
||||||
|
|
||||||
|
RUN make defconfig && make package/podkop/compile && make package/luci-app-podkop/compile V=s -j4
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM itdoginfo/openwrt-sdk:24.10.1
|
FROM itdoginfo/openwrt-sdk-ipk:24.10.3
|
||||||
|
|
||||||
ARG PKG_VERSION
|
ARG PKG_VERSION
|
||||||
ENV PKG_VERSION=${PKG_VERSION}
|
ENV PKG_VERSION=${PKG_VERSION}
|
||||||
@@ -4,6 +4,7 @@ export const STATUS_COLORS = {
|
|||||||
WARNING: '#ff9800',
|
WARNING: '#ff9800',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const PODKOP_LUCI_APP_VERSION = '__COMPILED_VERSION_VARIABLE__';
|
||||||
export const FAKEIP_CHECK_DOMAIN = 'fakeip.podkop.fyi';
|
export const FAKEIP_CHECK_DOMAIN = 'fakeip.podkop.fyi';
|
||||||
export const IP_CHECK_DOMAIN = 'ip.podkop.fyi';
|
export const IP_CHECK_DOMAIN = 'ip.podkop.fyi';
|
||||||
|
|
||||||
|
|||||||
84
install.sh
84
install.sh
@@ -4,6 +4,10 @@ REPO="https://api.github.com/repos/itdoginfo/podkop/releases/latest"
|
|||||||
DOWNLOAD_DIR="/tmp/podkop"
|
DOWNLOAD_DIR="/tmp/podkop"
|
||||||
COUNT=3
|
COUNT=3
|
||||||
|
|
||||||
|
# Cached flag to switch between ipk or apk package managers
|
||||||
|
PKG_IS_APK=0
|
||||||
|
command -v apk >/dev/null 2>&1 && PKG_IS_APK=1
|
||||||
|
|
||||||
rm -rf "$DOWNLOAD_DIR"
|
rm -rf "$DOWNLOAD_DIR"
|
||||||
mkdir -p "$DOWNLOAD_DIR"
|
mkdir -p "$DOWNLOAD_DIR"
|
||||||
|
|
||||||
@@ -11,13 +15,58 @@ msg() {
|
|||||||
printf "\033[32;1m%s\033[0m\n" "$1"
|
printf "\033[32;1m%s\033[0m\n" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pkg_is_installed () {
|
||||||
|
local pkg_name="$1"
|
||||||
|
|
||||||
|
if [ "$PKG_IS_APK" -eq 1 ]; then
|
||||||
|
# grep -q should work without change based on example from documentation
|
||||||
|
# apk list --installed --providers dnsmasq
|
||||||
|
# <dnsmasq> dnsmasq-full-2.90-r3 x86_64 {feeds/base/package/network/services/dnsmasq} (GPL-2.0) [installed]
|
||||||
|
apk list --installed | grep -q "$pkg_name"
|
||||||
|
else
|
||||||
|
opkg list-installed | grep -q "$pkg_name"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_remove() {
|
||||||
|
local pkg_name="$1"
|
||||||
|
|
||||||
|
if [ "$PKG_IS_APK" -eq 1 ]; then
|
||||||
|
# TODO: check --force-depends flag
|
||||||
|
# Nothing here: https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet
|
||||||
|
apk del "$pkg_name"
|
||||||
|
else
|
||||||
|
opkg remove --force-depends "$pkg_name"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_list_update() {
|
||||||
|
if [ "$PKG_IS_APK" -eq 1 ]; then
|
||||||
|
apk update
|
||||||
|
else
|
||||||
|
opkg update
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_install() {
|
||||||
|
local pkg_file="$1"
|
||||||
|
|
||||||
|
if [ "$PKG_IS_APK" -eq 1 ]; then
|
||||||
|
# Can't install without flag based on info from documentation
|
||||||
|
# If you're installing a non-standard (self-built) package, use the --allow-untrusted option:
|
||||||
|
apk add --allow-untrusted "$pkg_file"
|
||||||
|
else
|
||||||
|
opkg install "$pkg_file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
check_system
|
check_system
|
||||||
sing_box
|
sing_box
|
||||||
|
|
||||||
/usr/sbin/ntpd -q -p 194.190.168.1 -p 216.239.35.0 -p 216.239.35.4 -p 162.159.200.1 -p 162.159.200.123
|
/usr/sbin/ntpd -q -p 194.190.168.1 -p 216.239.35.0 -p 216.239.35.4 -p 162.159.200.1 -p 162.159.200.123
|
||||||
|
|
||||||
opkg update || { echo "opkg update failed"; exit 1; }
|
pkg_list_update || { echo "Packages list update failed"; exit 1; }
|
||||||
|
|
||||||
if [ -f "/etc/init.d/podkop" ]; then
|
if [ -f "/etc/init.d/podkop" ]; then
|
||||||
msg "Podkop is already installed. Upgraded..."
|
msg "Podkop is already installed. Upgraded..."
|
||||||
@@ -34,6 +83,13 @@ main() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local grep_url_pattern
|
||||||
|
if [ "$PKG_IS_APK" -eq 1 ]; then
|
||||||
|
grep_url_pattern='https://[^"[:space:]]*\.apk'
|
||||||
|
else
|
||||||
|
grep_url_pattern='https://[^"[:space:]]*\.ipk'
|
||||||
|
fi
|
||||||
|
|
||||||
download_success=0
|
download_success=0
|
||||||
while read -r url; do
|
while read -r url; do
|
||||||
filename=$(basename "$url")
|
filename=$(basename "$url")
|
||||||
@@ -57,7 +113,7 @@ main() {
|
|||||||
if [ $attempt -eq $COUNT ]; then
|
if [ $attempt -eq $COUNT ]; then
|
||||||
msg "Failed to download $filename after $COUNT attempts"
|
msg "Failed to download $filename after $COUNT attempts"
|
||||||
fi
|
fi
|
||||||
done < <(wget -qO- "$REPO" | grep -o 'https://[^"[:space:]]*\.ipk')
|
done < <(wget -qO- "$REPO" | grep -o "$grep_url_pattern")
|
||||||
|
|
||||||
if [ $download_success -eq 0 ]; then
|
if [ $download_success -eq 0 ]; then
|
||||||
msg "No packages were downloaded successfully"
|
msg "No packages were downloaded successfully"
|
||||||
@@ -68,25 +124,25 @@ main() {
|
|||||||
file=$(ls "$DOWNLOAD_DIR" | grep "^$pkg" | head -n 1)
|
file=$(ls "$DOWNLOAD_DIR" | grep "^$pkg" | head -n 1)
|
||||||
if [ -n "$file" ]; then
|
if [ -n "$file" ]; then
|
||||||
msg "Installing $file"
|
msg "Installing $file"
|
||||||
opkg install "$DOWNLOAD_DIR/$file"
|
pkg_install "$DOWNLOAD_DIR/$file"
|
||||||
sleep 3
|
sleep 3
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
ru=$(ls "$DOWNLOAD_DIR" | grep "luci-i18n-podkop-ru" | head -n 1)
|
ru=$(ls "$DOWNLOAD_DIR" | grep "luci-i18n-podkop-ru" | head -n 1)
|
||||||
if [ -n "$ru" ]; then
|
if [ -n "$ru" ]; then
|
||||||
if opkg list-installed | grep -q luci-i18n-podkop-ru; then
|
if pkg_is_installed luci-i18n-podkop-ru; then
|
||||||
msg "Upgraded ru translation..."
|
msg "Upgraded ru translation..."
|
||||||
opkg remove luci-i18n-podkop*
|
pkg_remove luci-i18n-podkop*
|
||||||
opkg install "$DOWNLOAD_DIR/$ru"
|
pkg_install "$DOWNLOAD_DIR/$ru"
|
||||||
else
|
else
|
||||||
msg "Русский язык интерфейса ставим? y/n (Need a Russian translation?)"
|
msg "Русский язык интерфейса ставим? y/n (Need a Russian translation?)"
|
||||||
while true; do
|
while true; do
|
||||||
read -r -p '' RUS
|
read -r -p '' RUS
|
||||||
case $RUS in
|
case $RUS in
|
||||||
y)
|
y)
|
||||||
opkg remove luci-i18n-podkop*
|
pkg_remove luci-i18n-podkop*
|
||||||
opkg install "$DOWNLOAD_DIR/$ru"
|
pkg_install "$DOWNLOAD_DIR/$ru"
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
n)
|
n)
|
||||||
@@ -133,15 +189,17 @@ check_system() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if opkg list-installed | grep -q https-dns-proxy; then
|
if pkg_is_installed https-dns-proxy; then
|
||||||
msg "Сonflicting package detected: https-dns-proxy. Remove?"
|
msg "Сonflicting package detected: https-dns-proxy. Remove?"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -r -p '' DNSPROXY
|
read -r -p '' DNSPROXY
|
||||||
case $DNSPROXY in
|
case $DNSPROXY in
|
||||||
|
|
||||||
yes|y|Y|yes)
|
yes|y|Y)
|
||||||
opkg remove --force-depends luci-app-https-dns-proxy https-dns-proxy luci-i18n-https-dns-proxy*
|
pkg_remove luci-app-https-dns-proxy
|
||||||
|
pkg_remove https-dns-proxy
|
||||||
|
pkg_remove luci-i18n-https-dns-proxy*
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -154,7 +212,7 @@ check_system() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sing_box() {
|
sing_box() {
|
||||||
if ! opkg list-installed | grep -q "^sing-box"; then
|
if ! pkg_is_installed "^sing-box"; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -165,7 +223,7 @@ sing_box() {
|
|||||||
msg "sing-box version $sing_box_version is older than required $required_version"
|
msg "sing-box version $sing_box_version is older than required $required_version"
|
||||||
msg "Removing old version..."
|
msg "Removing old version..."
|
||||||
service podkop stop
|
service podkop stop
|
||||||
opkg remove sing-box --force-depends
|
pkg_remove sing-box
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,4 +19,12 @@ LUCI_LANGUAGES:=en ru
|
|||||||
|
|
||||||
include $(TOPDIR)/feeds/luci/luci.mk
|
include $(TOPDIR)/feeds/luci/luci.mk
|
||||||
|
|
||||||
# call BuildPackage - OpenWrt buildroot signature
|
define Package/$(PKG_NAME)/install
|
||||||
|
$(INSTALL_DIR) $(1)$(HTDOCS)
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/htdocs/* $(1)$(HTDOCS)/
|
||||||
|
$(INSTALL_DIR) $(1)/
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/root/* $(1)/
|
||||||
|
sed -i -e 's/__COMPILED_VERSION_VARIABLE__/$(PKG_VERSION)/g' $(1)$(HTDOCS)/luci-static/resources/view/podkop/main.js || true
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,$(PKG_NAME)))
|
||||||
@@ -376,7 +376,7 @@ function showConfigModal(command, title) {
|
|||||||
let formattedOutput = '';
|
let formattedOutput = '';
|
||||||
|
|
||||||
if (command === 'global_check') {
|
if (command === 'global_check') {
|
||||||
safeExec('/usr/bin/podkop', [command], 'P0_PRIORITY', (res) => {
|
safeExec('/usr/bin/podkop', [command, `${main.PODKOP_LUCI_APP_VERSION}`], 'P0_PRIORITY', (res) => {
|
||||||
formattedOutput = formatDiagnosticOutput(res.stdout || _('No output'));
|
formattedOutput = formatDiagnosticOutput(res.stdout || _('No output'));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -918,19 +918,11 @@ async function updateDiagnostics() {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
safeExec(
|
|
||||||
'/usr/bin/podkop',
|
|
||||||
['show_luci_version'],
|
|
||||||
'P2_PRIORITY',
|
|
||||||
(result) => {
|
|
||||||
updateTextElement(
|
updateTextElement(
|
||||||
'luci-version',
|
'luci-version',
|
||||||
document.createTextNode(
|
document.createTextNode(
|
||||||
result.stdout ? result.stdout.trim() : _('Unknown'),
|
`${main.PODKOP_LUCI_APP_VERSION}`
|
||||||
),
|
),
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
safeExec(
|
safeExec(
|
||||||
'/usr/bin/podkop',
|
'/usr/bin/podkop',
|
||||||
|
|||||||
@@ -592,6 +592,7 @@ var STATUS_COLORS = {
|
|||||||
ERROR: "#f44336",
|
ERROR: "#f44336",
|
||||||
WARNING: "#ff9800"
|
WARNING: "#ff9800"
|
||||||
};
|
};
|
||||||
|
var PODKOP_LUCI_APP_VERSION = "__COMPILED_VERSION_VARIABLE__";
|
||||||
var FAKEIP_CHECK_DOMAIN = "fakeip.podkop.fyi";
|
var FAKEIP_CHECK_DOMAIN = "fakeip.podkop.fyi";
|
||||||
var IP_CHECK_DOMAIN = "ip.podkop.fyi";
|
var IP_CHECK_DOMAIN = "ip.podkop.fyi";
|
||||||
var REGIONAL_OPTIONS = [
|
var REGIONAL_OPTIONS = [
|
||||||
@@ -1912,6 +1913,7 @@ return baseclass.extend({
|
|||||||
FAKEIP_CHECK_DOMAIN,
|
FAKEIP_CHECK_DOMAIN,
|
||||||
FETCH_TIMEOUT,
|
FETCH_TIMEOUT,
|
||||||
IP_CHECK_DOMAIN,
|
IP_CHECK_DOMAIN,
|
||||||
|
PODKOP_LUCI_APP_VERSION,
|
||||||
REGIONAL_OPTIONS,
|
REGIONAL_OPTIONS,
|
||||||
STATUS_COLORS,
|
STATUS_COLORS,
|
||||||
TabService,
|
TabService,
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ endef
|
|||||||
define Package/podkop/install
|
define Package/podkop/install
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
$(INSTALL_BIN) ./files/etc/init.d/podkop $(1)/etc/init.d/podkop
|
$(INSTALL_BIN) ./files/etc/init.d/podkop $(1)/etc/init.d/podkop
|
||||||
sed -i "s/VERSION_FROM_MAKEFILE/$(PKG_VERSION)/g" $(1)/etc/init.d/podkop
|
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/etc/config
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
$(INSTALL_CONF) ./files/etc/config/podkop $(1)/etc/config/podkop
|
$(INSTALL_CONF) ./files/etc/config/podkop $(1)/etc/config/podkop
|
||||||
@@ -58,6 +57,8 @@ define Package/podkop/install
|
|||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/podkop
|
$(INSTALL_DIR) $(1)/usr/lib/podkop
|
||||||
$(CP) ./files/usr/lib/* $(1)/usr/lib/podkop/
|
$(CP) ./files/usr/lib/* $(1)/usr/lib/podkop/
|
||||||
|
|
||||||
|
sed -i -e 's/__COMPILED_VERSION_VARIABLE__/$(PKG_VERSION)/g' $(1)/usr/lib/podkop/constants.sh
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,podkop))
|
$(eval $(call BuildPackage,podkop))
|
||||||
|
|||||||
@@ -1784,13 +1784,7 @@ show_config() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_version() {
|
show_version() {
|
||||||
local version=$(opkg list-installed podkop | awk '{print $3}')
|
echo "$PODKOP_VERSION"
|
||||||
echo "$version"
|
|
||||||
}
|
|
||||||
|
|
||||||
show_luci_version() {
|
|
||||||
local version=$(opkg list-installed luci-app-podkop | awk '{print $3}')
|
|
||||||
echo "$version"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
show_sing_box_version() {
|
show_sing_box_version() {
|
||||||
@@ -1967,11 +1961,14 @@ find_working_resolver() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
global_check() {
|
global_check() {
|
||||||
|
local PODKOP_LUCI_VERSION="Unknown"
|
||||||
|
[ -n "$1" ] && PODKOP_LUCI_VERSION="$1"
|
||||||
|
|
||||||
print_global "📡 Global check run!"
|
print_global "📡 Global check run!"
|
||||||
print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
print_global "🛠️ System info"
|
print_global "🛠️ System info"
|
||||||
print_global "🕳️ Podkop: $(opkg list-installed podkop | awk '{print $3}')"
|
print_global "🕳️ Podkop: ${PODKOP_VERSION}"
|
||||||
print_global "🕳️ LuCI App: $(opkg list-installed luci-app-podkop | awk '{print $3}')"
|
print_global "🕳️ LuCI App: ${PODKOP_LUCI_VERSION}"
|
||||||
print_global "📦 Sing-box: $(sing-box version | head -n 1 | awk '{print $3}')"
|
print_global "📦 Sing-box: $(sing-box version | head -n 1 | awk '{print $3}')"
|
||||||
print_global "🛜 OpenWrt: $(grep OPENWRT_RELEASE /etc/os-release | cut -d'"' -f2)"
|
print_global "🛜 OpenWrt: $(grep OPENWRT_RELEASE /etc/os-release | cut -d'"' -f2)"
|
||||||
print_global "🛜 Device: $(cat /tmp/sysinfo/model)"
|
print_global "🛜 Device: $(cat /tmp/sysinfo/model)"
|
||||||
@@ -2133,7 +2130,6 @@ Available commands:
|
|||||||
show_config Display current podkop configuration
|
show_config Display current podkop configuration
|
||||||
show_version Show podkop version
|
show_version Show podkop version
|
||||||
show_sing_box_config Show sing-box configuration
|
show_sing_box_config Show sing-box configuration
|
||||||
show_luci_version Show LuCI app version
|
|
||||||
show_sing_box_version Show sing-box version
|
show_sing_box_version Show sing-box version
|
||||||
show_system_info Show system information
|
show_system_info Show system information
|
||||||
get_status Get podkop service status
|
get_status Get podkop service status
|
||||||
@@ -2192,9 +2188,6 @@ show_version)
|
|||||||
show_sing_box_config)
|
show_sing_box_config)
|
||||||
show_sing_box_config
|
show_sing_box_config
|
||||||
;;
|
;;
|
||||||
show_luci_version)
|
|
||||||
show_luci_version
|
|
||||||
;;
|
|
||||||
show_sing_box_version)
|
show_sing_box_version)
|
||||||
show_sing_box_version
|
show_sing_box_version
|
||||||
;;
|
;;
|
||||||
@@ -2211,7 +2204,7 @@ check_dns_available)
|
|||||||
check_dns_available
|
check_dns_available
|
||||||
;;
|
;;
|
||||||
global_check)
|
global_check)
|
||||||
global_check
|
global_check "${2:-}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
show_help
|
show_help
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
|
|
||||||
|
PODKOP_VERSION="__COMPILED_VERSION_VARIABLE__"
|
||||||
## Common
|
## Common
|
||||||
PODKOP_CONFIG="/etc/config/podkop"
|
PODKOP_CONFIG="/etc/config/podkop"
|
||||||
RESOLV_CONF="/etc/resolv.conf"
|
RESOLV_CONF="/etc/resolv.conf"
|
||||||
|
|||||||
7
sdk/Dockerfile-sdk-apk
Normal file
7
sdk/Dockerfile-sdk-apk
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM openwrt/sdk:x86-64-SNAPSHOT
|
||||||
|
WORKDIR /builder
|
||||||
|
RUN ./setup.sh \
|
||||||
|
&& ./scripts/feeds update -a \
|
||||||
|
&& ./scripts/feeds install luci-base \
|
||||||
|
&& mkdir -p /builder/package/feeds/utilites/ \
|
||||||
|
&& mkdir -p /builder/package/feeds/luci/
|
||||||
6
sdk/Dockerfile-sdk-ipk
Normal file
6
sdk/Dockerfile-sdk-ipk
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
FROM openwrt/sdk:x86_64-v24.10.3
|
||||||
|
WORKDIR /builder
|
||||||
|
RUN ./scripts/feeds update -a \
|
||||||
|
&& ./scripts/feeds install luci-base \
|
||||||
|
&& mkdir -p /builder/package/feeds/utilites/ \
|
||||||
|
&& mkdir -p /builder/package/feeds/luci/
|
||||||
Reference in New Issue
Block a user