Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d01a81586 | |||
| d8e51d8965 | |||
| 8d4788f7c0 | |||
| 8ec135d826 | |||
| 0400f5f45d |
@@ -0,0 +1,67 @@
|
|||||||
|
name: Links
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: links
|
||||||
|
cancel-in-progress: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
links:
|
||||||
|
name: Links
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
packages: read
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
-
|
||||||
|
name: Validate Links
|
||||||
|
run: |
|
||||||
|
errors=0
|
||||||
|
count=0
|
||||||
|
host=""
|
||||||
|
declare -A seen
|
||||||
|
wget https://github.com/lwthiker/curl-impersonate/releases/download/v0.6.1/curl-impersonate-v0.6.1.x86_64-linux-gnu.tar.gz
|
||||||
|
tar -xzf curl-impersonate-v0.6.1.x86_64-linux-gnu.tar.gz
|
||||||
|
sudo cp curl-impersonate-ff /usr/local/bin/
|
||||||
|
check() {
|
||||||
|
local url="$1" http
|
||||||
|
http=$(curl-impersonate-ff -sSL -o /dev/null -w "%{http_code}" --max-time 10 -I -- "$url" 2>&1) || http="000"
|
||||||
|
[[ "$http" == 2* ]] && return 0
|
||||||
|
http=$(curl-impersonate-ff -sSL -o /dev/null -w "%{http_code}" --max-time 10 -r "0-0" -- "$url" 2>&1) || http="000"
|
||||||
|
[[ "$http" == 2* ]]
|
||||||
|
}
|
||||||
|
while IFS= read -r line; do
|
||||||
|
if [[ "$line" =~ ^[[:space:]]*local[[:space:]]+host=\"(https://[^\"]+)\" ]]; then
|
||||||
|
host="${BASH_REMATCH[1]%/}"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
[[ "$line" =~ ^[[:space:]]*url=\"(.+)\" ]] || continue
|
||||||
|
val="${BASH_REMATCH[1]#/}"
|
||||||
|
if [[ "$val" == https://* ]]; then
|
||||||
|
url="$val"
|
||||||
|
elif [[ -n "$host" ]]; then
|
||||||
|
url="$host/$val"
|
||||||
|
else
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
[[ -v seen[$url] ]] && continue
|
||||||
|
seen[$url]=1
|
||||||
|
count=$((count + 1))
|
||||||
|
if check "$url"; then
|
||||||
|
echo " OK: $url"
|
||||||
|
else
|
||||||
|
echo "FAIL: $url"
|
||||||
|
errors=$((errors + 1))
|
||||||
|
fi
|
||||||
|
done < "src/define.sh"
|
||||||
|
echo ""
|
||||||
|
printf '%d/%d links valid\n' "$(( count - errors ))" "$count"
|
||||||
|
(( errors == 0 ))
|
||||||
+2
-2
@@ -19,7 +19,7 @@ RUN set -eu && \
|
|||||||
cabextract \
|
cabextract \
|
||||||
libxml2-utils \
|
libxml2-utils \
|
||||||
libarchive-tools && \
|
libarchive-tools && \
|
||||||
wget "https://github.com/gershnik/wsdd-native/releases/download/v1.22/wsddn_1.22_${TARGETARCH}.deb" -O /tmp/wsddn.deb -q && \
|
wget "https://github.com/gershnik/wsdd-native/releases/download/v1.23/wsddn_1.23_${TARGETARCH}.deb" -O /tmp/wsddn.deb -q && \
|
||||||
dpkg -i /tmp/wsddn.deb && \
|
dpkg -i /tmp/wsddn.deb && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
@@ -27,7 +27,7 @@ RUN set -eu && \
|
|||||||
COPY --chmod=755 ./src /run/
|
COPY --chmod=755 ./src /run/
|
||||||
COPY --chmod=755 ./assets /run/assets
|
COPY --chmod=755 ./assets /run/assets
|
||||||
|
|
||||||
ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.49-0/virtio-win-1.9.49.tar.xz /var/drivers.txz
|
ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.53-0/virtio-win-1.9.53.tar.xz /var/drivers.txz
|
||||||
|
|
||||||
FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
|
FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
|
||||||
FROM build-${TARGETARCH}
|
FROM build-${TARGETARCH}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Windows inside a Docker container.
|
|||||||
|
|
||||||
## Video 📺
|
## Video 📺
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=xhGYobuG508)
|
[](https://www.youtube.com/watch?v=xhGYobuG508)
|
||||||
|
|
||||||
## Usage 🐳
|
## Usage 🐳
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user