Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d01a81586 | |||
| d8e51d8965 | |||
| 8d4788f7c0 | |||
| 8ec135d826 | |||
| 0400f5f45d | |||
| 588969ae5f | |||
| c7aac1edcf | |||
| ea03c67a04 | |||
| bdb0488151 | |||
| ad6f87046a | |||
| e7a3894210 |
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "../codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,5 @@
|
||||
"onAutoForward": "ignore"
|
||||
},
|
||||
"dockerComposeFile": "codespaces.yml",
|
||||
"workspaceFolder": "/workspaces/windows",
|
||||
"initializeCommand": "docker system prune --all --force"
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
-
|
||||
|
||||
@@ -9,7 +9,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
-
|
||||
name: Run ShellCheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
|
||||
@@ -12,7 +12,9 @@ jobs:
|
||||
dockerHubDescription:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
-
|
||||
name: Checkout repo
|
||||
uses: actions/checkout@v6
|
||||
-
|
||||
name: Docker Hub Description
|
||||
uses: peter-evans/dockerhub-description@v5
|
||||
|
||||
@@ -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 ))
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
-
|
||||
name: Spelling
|
||||
uses: reviewdog/action-misspell@v1
|
||||
|
||||
+3
-3
@@ -3,7 +3,7 @@
|
||||
ARG VERSION_ARG="latest"
|
||||
FROM scratch AS build-amd64
|
||||
|
||||
COPY --from=qemux/qemu:7.28 / /
|
||||
COPY --from=qemux/qemu:7.29 / /
|
||||
|
||||
ARG TARGETARCH
|
||||
ARG DEBCONF_NOWARNINGS="yes"
|
||||
@@ -19,7 +19,7 @@ RUN set -eu && \
|
||||
cabextract \
|
||||
libxml2-utils \
|
||||
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 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
@@ -27,7 +27,7 @@ RUN set -eu && \
|
||||
COPY --chmod=755 ./src /run/
|
||||
COPY --chmod=755 ./assets /run/assets
|
||||
|
||||
ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.48-0/virtio-win-1.9.48.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 build-${TARGETARCH}
|
||||
|
||||
@@ -22,7 +22,7 @@ Windows inside a Docker container.
|
||||
|
||||
## Video 📺
|
||||
|
||||
[](https://www.youtube.com/watch?v=xhGYobuG508)
|
||||
[](https://www.youtube.com/watch?v=xhGYobuG508)
|
||||
|
||||
## Usage 🐳
|
||||
|
||||
|
||||
+1
-1
@@ -1766,7 +1766,7 @@ prepareInstall() {
|
||||
echo ""
|
||||
echo "Call Domain.MoveHere(LocalAdminADsPath, \"$username\")"
|
||||
echo ""
|
||||
echo "Set oLink = WshShell.CreateShortcut(WshShell.ExpandEnvironmentStrings(\"%userprofile%\\Desktop\\Shared.lnk\"))"
|
||||
echo "Set oLink = WshShell.CreateShortcut(WshShell.SpecialFolders(\"Desktop\") & \"\\Shared.lnk\")"
|
||||
echo "With oLink"
|
||||
echo " .TargetPath = \"\\\\host.lan\\Data\""
|
||||
echo " .Save"
|
||||
|
||||
+11
-14
@@ -76,6 +76,12 @@ finish() {
|
||||
local pid
|
||||
local cnt=0
|
||||
local reason=$1
|
||||
local pids=(
|
||||
"/var/run/tpm.pid"
|
||||
"/var/run/wsdd.pid"
|
||||
"/var/run/samba/nmbd.pid"
|
||||
"/var/run/samba/smbd.pid"
|
||||
)
|
||||
|
||||
touch "$QEMU_END"
|
||||
|
||||
@@ -114,21 +120,12 @@ finish() {
|
||||
fi
|
||||
fi
|
||||
|
||||
pid="/var/run/tpm.pid"
|
||||
[ -s "$pid" ] && pKill "$(<"$pid")"
|
||||
rm -f "$pid"
|
||||
|
||||
pid="/var/run/wsdd.pid"
|
||||
[ -s "$pid" ] && pKill "$(<"$pid")"
|
||||
rm -f "$pid"
|
||||
|
||||
pid="/var/run/samba/nmbd.pid"
|
||||
[ -s "$pid" ] && pKill "$(<"$pid")"
|
||||
rm -f "$pid"
|
||||
|
||||
pid="/var/run/samba/smbd.pid"
|
||||
[ -s "$pid" ] && pKill "$(<"$pid")"
|
||||
for pid in "${pids[@]}"; do
|
||||
if [[ -s "$pid" ]]; then
|
||||
pKill "$(cat "$pid")"
|
||||
fi
|
||||
rm -f "$pid"
|
||||
done
|
||||
|
||||
closeNetwork
|
||||
|
||||
|
||||
Reference in New Issue
Block a user