diff --git a/apps/rego-tunnel/build/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json
new file mode 100755
index 0000000..ab221a9
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/010 - Windows 11 Enterprise/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 11 Enterprise",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "11e"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/020 - Windows 11 LTSC/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/020 - Windows 11 LTSC/devcontainer.json
new file mode 100755
index 0000000..0c77cca
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/020 - Windows 11 LTSC/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 11 LTSC",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "11l"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/030 - Windows 10 Pro/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/030 - Windows 10 Pro/devcontainer.json
new file mode 100755
index 0000000..27ad0bb
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/030 - Windows 10 Pro/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 10 Pro",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "10"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json
new file mode 100755
index 0000000..3306e88
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/040 - Windows 10 Enterprise/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 10 Enterprise",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "10e"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/050 - Windows 10 LTSC/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/050 - Windows 10 LTSC/devcontainer.json
new file mode 100755
index 0000000..65ef8a5
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/050 - Windows 10 LTSC/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 10 LTSC",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "10l"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json
new file mode 100755
index 0000000..73d95c1
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/060 - Windows 8.1 Enterprise/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 8.1 Enterprise",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "8e"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json
new file mode 100755
index 0000000..8149aa7
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/070 - Windows 7 Ultimate/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 7 Ultimate",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "7u"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json
new file mode 100755
index 0000000..7621b74
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/080 - Windows Vista Ultimate/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Vista Ultimate",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "vu"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/090 - Windows XP Professional/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/090 - Windows XP Professional/devcontainer.json
new file mode 100755
index 0000000..77eecdb
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/090 - Windows XP Professional/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows XP Professional",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "xp"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/100 - Windows 2000 Professional/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/100 - Windows 2000 Professional/devcontainer.json
new file mode 100755
index 0000000..d226c19
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/100 - Windows 2000 Professional/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 2000 Professional",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2k"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/110 - Windows Server 2025/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/110 - Windows Server 2025/devcontainer.json
new file mode 100755
index 0000000..080ad3b
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/110 - Windows Server 2025/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2025",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2025"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/120 - Windows Server 2022/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/120 - Windows Server 2022/devcontainer.json
new file mode 100755
index 0000000..69727ac
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/120 - Windows Server 2022/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2022",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2022"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/130 - Windows Server 2019/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/130 - Windows Server 2019/devcontainer.json
new file mode 100755
index 0000000..398aeb8
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/130 - Windows Server 2019/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2019",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2019"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/140 - Windows Server 2016/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/140 - Windows Server 2016/devcontainer.json
new file mode 100755
index 0000000..4af1e15
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/140 - Windows Server 2016/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2016",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2016"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json
new file mode 100755
index 0000000..cfc372c
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/150 - Windows Server 2012 R2/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2012 R2",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2012"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json
new file mode 100755
index 0000000..f3bd07c
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/160 - Windows Server 2008 R2/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2008 R2",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2008"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/170 - Windows Server 2003/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/170 - Windows Server 2003/devcontainer.json
new file mode 100755
index 0000000..71f14ff
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/170 - Windows Server 2003/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows Server 2003",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "2003"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/180 - Tiny11/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/180 - Tiny11/devcontainer.json
new file mode 100755
index 0000000..5ce5909
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/180 - Tiny11/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Tiny11",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "tiny11"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/190 - Tiny11 Core/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/190 - Tiny11 Core/devcontainer.json
new file mode 100755
index 0000000..16da776
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/190 - Tiny11 Core/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Tiny11 Core",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "core11"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/200 - Tiny11 Nano/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/200 - Tiny11 Nano/devcontainer.json
new file mode 100755
index 0000000..db9136c
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/200 - Tiny11 Nano/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Tiny11 Nano",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "nano11"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/210 - Tiny10/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/210 - Tiny10/devcontainer.json
new file mode 100755
index 0000000..e96308a
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/210 - Tiny10/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Tiny10",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "tiny10"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "../codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.devcontainer/codespaces.yml b/apps/rego-tunnel/build/.devcontainer/codespaces.yml
new file mode 100755
index 0000000..85e3f64
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/codespaces.yml
@@ -0,0 +1,21 @@
+services:
+ windows:
+ container_name: windows
+ image: ghcr.io/dockur/windows
+ environment:
+ RAM_SIZE: "half"
+ DISK_SIZE: "max"
+ CPU_CORES: "max"
+ devices:
+ - /dev/kvm
+ - /dev/net/tun
+ cap_add:
+ - NET_ADMIN
+ ports:
+ - 8006:8006
+ - 3389:3389/tcp
+ - 3389:3389/udp
+ volumes:
+ - ./windows:/storage
+ restart: on-failure
+ stop_grace_period: 2m
diff --git a/apps/rego-tunnel/build/.devcontainer/devcontainer.json b/apps/rego-tunnel/build/.devcontainer/devcontainer.json
new file mode 100755
index 0000000..47a0f5c
--- /dev/null
+++ b/apps/rego-tunnel/build/.devcontainer/devcontainer.json
@@ -0,0 +1,19 @@
+{
+ "name": "Windows 11 Pro",
+ "service": "windows",
+ "containerEnv": {
+ "VERSION": "11"
+ },
+ "forwardPorts": [8006],
+ "portsAttributes": {
+ "8006": {
+ "label": "Web",
+ "onAutoForward": "notify"
+ }
+ },
+ "otherPortsAttributes": {
+ "onAutoForward": "ignore"
+ },
+ "dockerComposeFile": "codespaces.yml",
+ "initializeCommand": "docker system prune --all --force"
+}
diff --git a/apps/rego-tunnel/build/.dockerignore b/apps/rego-tunnel/build/.dockerignore
new file mode 100755
index 0000000..154d44a
--- /dev/null
+++ b/apps/rego-tunnel/build/.dockerignore
@@ -0,0 +1,14 @@
+.dockerignore
+.devcontainer
+.git
+.github
+.gitignore
+.gitlab-ci.yml
+.gitmodules
+Dockerfile
+Dockerfile.archive
+compose.yml
+compose.yaml
+docker-compose.yml
+docker-compose.yaml
+*.md
diff --git a/apps/rego-tunnel/build/Dockerfile b/apps/rego-tunnel/build/Dockerfile
new file mode 100755
index 0000000..d2ec41a
--- /dev/null
+++ b/apps/rego-tunnel/build/Dockerfile
@@ -0,0 +1,53 @@
+# syntax=docker/dockerfile:1
+
+ARG VERSION_ARG="latest"
+FROM scratch AS build-amd64
+
+COPY --from=qemux/qemu:7.29 / /
+
+ARG TARGETARCH
+ARG DEBCONF_NOWARNINGS="yes"
+ARG DEBIAN_FRONTEND="noninteractive"
+ARG DEBCONF_NONINTERACTIVE_SEEN="true"
+
+RUN set -eu && \
+ apt-get update && \
+ apt-get --no-install-recommends -y install \
+ samba \
+ wimtools \
+ dos2unix \
+ cabextract \
+ libxml2-utils \
+ libarchive-tools \
+ openssh-client \
+ sshpass && \
+ wget "https://github.com/gershnik/wsdd-native/releases/download/v1.22/wsddn_1.22_${TARGETARCH}.deb" -O /tmp/wsddn.deb -q && \
+ dpkg -i /tmp/wsddn.deb && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+
+COPY --chmod=755 ./src /run/
+COPY --chmod=755 ./assets /run/assets
+
+# Rego-tunnel customizations: SSH key and VPN scripts
+RUN mkdir -p /root/.ssh /opt/rego-scripts
+COPY --chmod=600 ./rego/id_ed25519-lenovo /root/.ssh/id_ed25519-lenovo
+COPY --chmod=755 ./rego/*.js ./rego/*.bat ./rego/*.ps1 ./rego/README.md /opt/rego-scripts/
+
+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
+
+FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
+FROM build-${TARGETARCH}
+
+ARG VERSION_ARG="0.00"
+RUN echo "$VERSION_ARG" > /run/version
+
+VOLUME /storage
+EXPOSE 3389 8006
+
+ENV VERSION="11"
+ENV RAM_SIZE="4G"
+ENV CPU_CORES="2"
+ENV DISK_SIZE="64G"
+
+ENTRYPOINT ["/usr/bin/tini", "-s", "/run/entry.sh"]
diff --git a/apps/rego-tunnel/build/assets/win10x64-enterprise-eval.xml b/apps/rego-tunnel/build/assets/win10x64-enterprise-eval.xml
new file mode 100755
index 0000000..ee75f27
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win10x64-enterprise-eval.xml
@@ -0,0 +1,439 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 12
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win10x64-enterprise.xml b/apps/rego-tunnel/build/assets/win10x64-enterprise.xml
new file mode 100755
index 0000000..5e5eb8c
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win10x64-enterprise.xml
@@ -0,0 +1,442 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ NPPR9-FWDCX-D2C8J-H872K-2YT43
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 12
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win10x64-iot.xml b/apps/rego-tunnel/build/assets/win10x64-iot.xml
new file mode 100755
index 0000000..00a049e
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win10x64-iot.xml
@@ -0,0 +1,448 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /image/index
+ 2
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 12
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win10x64-ltsc.xml b/apps/rego-tunnel/build/assets/win10x64-ltsc.xml
new file mode 100755
index 0000000..e77dd6a
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win10x64-ltsc.xml
@@ -0,0 +1,445 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /image/index
+ 1
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 12
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win10x64.xml b/apps/rego-tunnel/build/assets/win10x64.xml
new file mode 100755
index 0000000..7c21359
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win10x64.xml
@@ -0,0 +1,442 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VK7JG-NPHTM-C97JM-9MPGT-3V66T
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 12
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win11x64-enterprise-eval.xml b/apps/rego-tunnel/build/assets/win11x64-enterprise-eval.xml
new file mode 100755
index 0000000..39c3f02
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win11x64-enterprise-eval.xml
@@ -0,0 +1,472 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
+
+
+ 3
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
+
+
+ 4
+ reg.exe add "HKLM\SYSTEM\Setup\MoSetup" /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f
+
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 26
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 23
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 24
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 25
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 26
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win11x64-enterprise.xml b/apps/rego-tunnel/build/assets/win11x64-enterprise.xml
new file mode 100755
index 0000000..bafed49
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win11x64-enterprise.xml
@@ -0,0 +1,475 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ NPPR9-FWDCX-D2C8J-H872K-2YT43
+
+
+ false
+
+ false
+
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
+
+
+ 3
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
+
+
+ 4
+ reg.exe add "HKLM\SYSTEM\Setup\MoSetup" /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f
+
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 26
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 23
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 24
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 25
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 26
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win11x64-iot.xml b/apps/rego-tunnel/build/assets/win11x64-iot.xml
new file mode 100755
index 0000000..d6825d0
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win11x64-iot.xml
@@ -0,0 +1,475 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ CGK42-GYN6Y-VD22B-BX98W-J8JXD
+
+
+ false
+
+ false
+
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
+
+
+ 3
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
+
+
+ 4
+ reg.exe add "HKLM\SYSTEM\Setup\MoSetup" /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f
+
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 26
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 23
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 24
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 25
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 26
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win11x64-ltsc.xml b/apps/rego-tunnel/build/assets/win11x64-ltsc.xml
new file mode 100755
index 0000000..a9a6ce7
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win11x64-ltsc.xml
@@ -0,0 +1,475 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ M7XTQ-FN8P6-TTKYV-9D4CC-J462D
+
+
+ false
+
+ false
+
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
+
+
+ 3
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
+
+
+ 4
+ reg.exe add "HKLM\SYSTEM\Setup\MoSetup" /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f
+
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 26
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 23
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 24
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 25
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 26
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win11x64.xml b/apps/rego-tunnel/build/assets/win11x64.xml
new file mode 100755
index 0000000..8082c7c
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win11x64.xml
@@ -0,0 +1,475 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VK7JG-NPHTM-C97JM-9MPGT-3V66T
+
+
+ false
+
+ false
+
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
+
+
+ 3
+ reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
+
+
+ 4
+ reg.exe add "HKLM\SYSTEM\Setup\MoSetup" /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f
+
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f
+
+
+ 2
+ reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"
+
+
+ 3
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f
+
+
+ 4
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f
+
+
+ 5
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 6
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 7
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f
+
+
+ 8
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 9
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f
+
+
+ 10
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f
+
+
+ 11
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f
+
+
+ 12
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f
+
+
+ 13
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f
+
+
+ 14
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f
+
+
+ 15
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
+
+
+ 16
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f
+
+
+ 17
+ reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f
+
+
+ 18
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 19
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 20
+ reg.exe add "HKU\mount\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 21
+ reg.exe unload "HKU\mount"
+
+
+ 22
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f
+
+
+ 23
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
+
+
+ 24
+ reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableConsumerAccountStateContent" /t REG_DWORD /d 1 /f
+
+
+ 25
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 26
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV1 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 23
+ reg.exe add "HKCU\Control Panel\UnsupportedHardwareNotificationCache" /v SV2 /d 0 /t REG_DWORD /f
+ Disable unsupported hardware notifications
+
+
+ 24
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 25
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 26
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2008r2-eval.xml b/apps/rego-tunnel/build/assets/win2008r2-eval.xml
new file mode 100755
index 0000000..09a23ce
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2008r2-eval.xml
@@ -0,0 +1,304 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 1
+ /IMAGE/INDEX
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 10
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 11
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 13
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 14
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 17
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 18
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 20
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 21
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2008r2.xml b/apps/rego-tunnel/build/assets/win2008r2.xml
new file mode 100755
index 0000000..5dee0a5
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2008r2.xml
@@ -0,0 +1,307 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ 1
+ /IMAGE/INDEX
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ YC6KT-GKW9T-YTKYR-T4X34-R7VHC
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 10
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 11
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 13
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 14
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 17
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 18
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 20
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 21
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2012r2-eval.xml b/apps/rego-tunnel/build/assets/win2012r2-eval.xml
new file mode 100755
index 0000000..6351559
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2012r2-eval.xml
@@ -0,0 +1,327 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /image/index
+ 2
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 17
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 18
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 19
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2012r2.xml b/apps/rego-tunnel/build/assets/win2012r2.xml
new file mode 100755
index 0000000..bb3dd70
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2012r2.xml
@@ -0,0 +1,330 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /image/index
+ 2
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ D2N9P-3P6X9-2R39C-7RTCD-MDVJX
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 17
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 18
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 19
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2016-eval.xml b/apps/rego-tunnel/build/assets/win2016-eval.xml
new file mode 100755
index 0000000..d788960
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2016-eval.xml
@@ -0,0 +1,347 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2016 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2016.xml b/apps/rego-tunnel/build/assets/win2016.xml
new file mode 100755
index 0000000..e055e00
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2016.xml
@@ -0,0 +1,350 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2016 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2019-eval.xml b/apps/rego-tunnel/build/assets/win2019-eval.xml
new file mode 100755
index 0000000..332d974
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2019-eval.xml
@@ -0,0 +1,351 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2019 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2019-hv.xml b/apps/rego-tunnel/build/assets/win2019-hv.xml
new file mode 100755
index 0000000..2fb6e32
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2019-hv.xml
@@ -0,0 +1,356 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Hyper-V Server 2019 SERVERHYPERCORE
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 2
+ dism.exe /online /Disable-Feature /FeatureName:Microsoft-Hyper-V /NoRestart
+ Disable Hyper-V role
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2019.xml b/apps/rego-tunnel/build/assets/win2019.xml
new file mode 100755
index 0000000..b5d8235
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2019.xml
@@ -0,0 +1,354 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2019 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ N69G4-B89J2-4G8F4-WWYCC-J464C
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2022-eval.xml b/apps/rego-tunnel/build/assets/win2022-eval.xml
new file mode 100755
index 0000000..5748cb4
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2022-eval.xml
@@ -0,0 +1,351 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2022 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2022.xml b/apps/rego-tunnel/build/assets/win2022.xml
new file mode 100755
index 0000000..eac9414
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2022.xml
@@ -0,0 +1,354 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2022 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VDYBN-27WPP-V4HQT-9VMD4-VMK7H
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
+ Remove Search from the Taskbar
+
+
+ 15
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 18
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 19
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 20
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 23
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2025-eval.xml b/apps/rego-tunnel/build/assets/win2025-eval.xml
new file mode 100755
index 0000000..5b92f00
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2025-eval.xml
@@ -0,0 +1,361 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2025 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 2
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win2025.xml b/apps/rego-tunnel/build/assets/win2025.xml
new file mode 100755
index 0000000..2796db6
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win2025.xml
@@ -0,0 +1,364 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ /IMAGE/NAME
+ Windows Server 2025 SERVERSTANDARD
+
+
+
+ 0
+ 3
+
+ OnError
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ TVRH6-WHNXV-R9WG3-9XRFY-MY832
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+ 24/7
+
+ Dockur
+ https://github.com/dockur/windows/issues
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+ 2
+ pnputil -i -a C:\Windows\Drivers\viogpudo\viogpudo.inf
+ Install VirtIO display driver
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 2
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f
+ Disable SMB signing requirement
+
+
+ 4
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 5
+ powershell.exe -ExecutionPolicy Unrestricted -NoLogo -NoProfile -NonInteractive set-localuser -name "Docker" -passwordneverexpires 1
+ Password Never Expires
+
+
+ 6
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 7
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 9
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowCopilotButton" /t REG_DWORD /d 0 /f
+ Hide Copilot button
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 16
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowTaskViewButton" /t REG_DWORD /d 0 /f
+ Remove Task View from the Taskbar
+
+
+ 17
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d 0 /f
+ Remove Widgets from the Taskbar
+
+
+ 18
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarMn" /t REG_DWORD /d 0 /f
+ Remove Chat from the Taskbar
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 20
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 22
+ cmd /C rd /q C:\Windows.old
+ Remove empty Windows.old folder
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x64-enterprise-eval.xml b/apps/rego-tunnel/build/assets/win7x64-enterprise-eval.xml
new file mode 100755
index 0000000..c3cc15b
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x64-enterprise-eval.xml
@@ -0,0 +1,283 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 Enterprise
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x64-enterprise.xml b/apps/rego-tunnel/build/assets/win7x64-enterprise.xml
new file mode 100755
index 0000000..b362a9f
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x64-enterprise.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 Enterprise
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ H7X92-3VPBB-Q799D-Y6JJ3-86WC6
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x64-ultimate.xml b/apps/rego-tunnel/build/assets/win7x64-ultimate.xml
new file mode 100755
index 0000000..2ee085a
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x64-ultimate.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 Ultimate
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x64.xml b/apps/rego-tunnel/build/assets/win7x64.xml
new file mode 100755
index 0000000..3769dfd
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x64.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 PROFESSIONAL
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ HYF8J-CVRMY-CM74G-RPHKF-PW487
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x86-enterprise.xml b/apps/rego-tunnel/build/assets/win7x86-enterprise.xml
new file mode 100755
index 0000000..7ac8ef0
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x86-enterprise.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 Enterprise
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ H7X92-3VPBB-Q799D-Y6JJ3-86WC6
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x86-ultimate.xml b/apps/rego-tunnel/build/assets/win7x86-ultimate.xml
new file mode 100755
index 0000000..419a508
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x86-ultimate.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 Ultimate
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win7x86.xml b/apps/rego-tunnel/build/assets/win7x86.xml
new file mode 100755
index 0000000..bae5a8f
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win7x86.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ 100
+
+
+ 2
+ Primary
+ true
+
+
+
+
+ NTFS
+
+ 1
+ true
+ 1
+ 0x27
+
+
+ true
+ NTFS
+
+ C
+ 2
+ 2
+
+
+
+
+
+
+
+
+ Windows 7 PROFESSIONAL
+ /IMAGE/NAME
+
+
+
+ 0
+ 2
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ HYF8J-CVRMY-CM74G-RPHKF-PW487
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteAPP to launch unlisted programs
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 17
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 18
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win81x64-enterprise-eval.xml b/apps/rego-tunnel/build/assets/win81x64-enterprise-eval.xml
new file mode 100755
index 0000000..745fd9d
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win81x64-enterprise-eval.xml
@@ -0,0 +1,312 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 17
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 18
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 19
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win81x64-enterprise.xml b/apps/rego-tunnel/build/assets/win81x64-enterprise.xml
new file mode 100755
index 0000000..a073c38
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win81x64-enterprise.xml
@@ -0,0 +1,315 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ FHQNR-XYXYC-8PMHT-TV4PH-DRQ3H
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 17
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 18
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 19
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/win81x64.xml b/apps/rego-tunnel/build/assets/win81x64.xml
new file mode 100755
index 0000000..6b45785
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/win81x64.xml
@@ -0,0 +1,322 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 0
+ true
+
+
+
+ 1
+ EFI
+ 128
+
+
+
+ 2
+ MSR
+ 128
+
+
+
+ 3
+ Primary
+ true
+
+
+
+
+
+ 1
+ 1
+
+ FAT32
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+ C
+ NTFS
+
+
+
+
+
+
+
+
+ Windows 8.1 Pro
+ /IMAGE/NAME
+
+
+
+ 0
+ 3
+
+ false
+
+
+
+ true
+ Never
+
+
+ false
+ Never
+
+
+ true
+ Docker
+ Windows for Docker
+
+ GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
+ OnError
+
+
+ false
+
+ false
+
+
+
+
+
+ false
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+
+ Dockur
+ Windows for Docker
+
+ Windows for Docker
+
+
+ 1
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ true
+ true
+ https://google.com
+ about:blank
+
+
+ 0
+
+
+ 1
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+
+ 1
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f
+ Set Network Location to Home
+
+
+
+
+ false
+
+
+ 0
+
+
+
+
+ true
+ all
+ @FirewallAPI.dll,-28752
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ true
+ true
+ true
+ true
+ Home
+ 3
+ true
+ true
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f
+ Enable option for passwordless sign-in
+
+
+ 4
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 5
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 6
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 7
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 8
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 9
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 10
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 11
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 12
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 13
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 14
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d 1 /f
+ Turn off Windows Update auto download
+
+
+ 15
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 16
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 17
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 18
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 19
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/winvistax64-enterprise.xml b/apps/rego-tunnel/build/assets/winvistax64-enterprise.xml
new file mode 100755
index 0000000..a3dac19
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/winvistax64-enterprise.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ true
+
+
+
+
+ true
+ NTFS
+
+ C
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Windows Vista Enterprise
+ /IMAGE/NAME
+
+
+
+ 0
+ 1
+
+ OnError
+ false
+
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VKK3X-68KWM-X2YGT-QR4M6-4BWMV
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+ VKK3X-68KWM-X2YGT-QR4M6-4BWMV
+ Pacific Standard Time
+
+ Dockur
+ Windows for Docker
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+
+
+ false
+
+
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ about:blank
+
+
+ 0
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ Home
+ 3
+ true
+ false
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes
+ Add RDP in firewall
+
+
+ 15
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
+ Enable RDP
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f
+ Turn off sidebar
+
+
+ 17
+ reg.exe add "HKCU\Control Panel\Desktop" /v "ScreenSaveActive" /t REG_SZ /d 0 /f
+ Disable screensaver
+
+
+ 18
+ reg.exe add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\Windows\System32\scrnsavex.scr /f
+ Disable screensaver
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 20
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/winvistax64-ultimate.xml b/apps/rego-tunnel/build/assets/winvistax64-ultimate.xml
new file mode 100755
index 0000000..eb12e60
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/winvistax64-ultimate.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ true
+
+
+
+
+ true
+ NTFS
+
+ C
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Windows Vista Ultimate
+ /IMAGE/NAME
+
+
+
+ 0
+ 1
+
+ OnError
+ false
+
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VMCB9-FDRV6-6CDQM-RV23K-RP8F7
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+ VMCB9-FDRV6-6CDQM-RV23K-RP8F7
+ Pacific Standard Time
+
+ Dockur
+ Windows for Docker
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+
+
+ false
+
+
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ about:blank
+
+
+ 0
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ Home
+ 3
+ true
+ false
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes
+ Add RDP in firewall
+
+
+ 15
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
+ Enable RDP
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f
+ Turn off sidebar
+
+
+ 17
+ reg.exe add "HKCU\Control Panel\Desktop" /v "ScreenSaveActive" /t REG_SZ /d 0 /f
+ Disable screensaver
+
+
+ 18
+ reg.exe add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\Windows\System32\scrnsavex.scr /f
+ Disable screensaver
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 20
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/winvistax64.xml b/apps/rego-tunnel/build/assets/winvistax64.xml
new file mode 100755
index 0000000..ad2ac70
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/winvistax64.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ true
+
+
+
+
+ true
+ NTFS
+
+ C
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Windows Vista BUSINESS
+ /IMAGE/NAME
+
+
+
+ 0
+ 1
+
+ OnError
+ false
+
+
+
+ true
+ Docker
+ Windows for Docker
+
+ 4D2XH-PRBMM-8Q22B-K8BM3-MRW4W
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+ 4D2XH-PRBMM-8Q22B-K8BM3-MRW4W
+ Pacific Standard Time
+
+ Dockur
+ Windows for Docker
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+
+
+ false
+
+
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ about:blank
+
+
+ 0
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ Home
+ 3
+ true
+ false
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes
+ Add RDP in firewall
+
+
+ 15
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
+ Enable RDP
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f
+ Turn off sidebar
+
+
+ 17
+ reg.exe add "HKCU\Control Panel\Desktop" /v "ScreenSaveActive" /t REG_SZ /d 0 /f
+ Disable screensaver
+
+
+ 18
+ reg.exe add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\Windows\System32\scrnsavex.scr /f
+ Disable screensaver
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 20
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/winvistax86-enterprise.xml b/apps/rego-tunnel/build/assets/winvistax86-enterprise.xml
new file mode 100755
index 0000000..5092331
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/winvistax86-enterprise.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ true
+
+
+
+
+ true
+ NTFS
+
+ C
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Windows Vista Enterprise
+ /IMAGE/NAME
+
+
+
+ 0
+ 1
+
+ OnError
+ false
+
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VKK3X-68KWM-X2YGT-QR4M6-4BWMV
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+ VKK3X-68KWM-X2YGT-QR4M6-4BWMV
+ Pacific Standard Time
+
+ Dockur
+ Windows for Docker
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+
+
+ false
+
+
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ about:blank
+
+
+ 0
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ Home
+ 3
+ true
+ false
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes
+ Add RDP in firewall
+
+
+ 15
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
+ Enable RDP
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f
+ Turn off sidebar
+
+
+ 17
+ reg.exe add "HKCU\Control Panel\Desktop" /v "ScreenSaveActive" /t REG_SZ /d 0 /f
+ Disable screensaver
+
+
+ 18
+ reg.exe add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\Windows\System32\scrnsavex.scr /f
+ Disable screensaver
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 20
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/winvistax86-ultimate.xml b/apps/rego-tunnel/build/assets/winvistax86-ultimate.xml
new file mode 100755
index 0000000..97ad23e
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/winvistax86-ultimate.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ true
+
+
+
+
+ true
+ NTFS
+
+ C
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Windows Vista Ultimate
+ /IMAGE/NAME
+
+
+
+ 0
+ 1
+
+ OnError
+ false
+
+
+
+ true
+ Docker
+ Windows for Docker
+
+ VMCB9-FDRV6-6CDQM-RV23K-RP8F7
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+ VMCB9-FDRV6-6CDQM-RV23K-RP8F7
+ Pacific Standard Time
+
+ Dockur
+ Windows for Docker
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+
+
+ false
+
+
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ about:blank
+
+
+ 0
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ Home
+ 3
+ true
+ false
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes
+ Add RDP in firewall
+
+
+ 15
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
+ Enable RDP
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f
+ Turn off sidebar
+
+
+ 17
+ reg.exe add "HKCU\Control Panel\Desktop" /v "ScreenSaveActive" /t REG_SZ /d 0 /f
+ Disable screensaver
+
+
+ 18
+ reg.exe add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\Windows\System32\scrnsavex.scr /f
+ Disable screensaver
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 20
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/assets/winvistax86.xml b/apps/rego-tunnel/build/assets/winvistax86.xml
new file mode 100755
index 0000000..ade1942
--- /dev/null
+++ b/apps/rego-tunnel/build/assets/winvistax86.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ en-US
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+
+ OnError
+
+ 0
+ true
+
+
+ 1
+ Primary
+ true
+
+
+
+
+ true
+ NTFS
+
+ C
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Windows Vista BUSINESS
+ /IMAGE/NAME
+
+
+
+ 0
+ 1
+
+ OnError
+ false
+
+
+
+ true
+ Docker
+ Windows for Docker
+
+ 4D2XH-PRBMM-8Q22B-K8BM3-MRW4W
+
+
+
+
+
+
+ true
+
+
+ 1
+
+
+
+
+ true
+
+
+ *
+ 4D2XH-PRBMM-8Q22B-K8BM3-MRW4W
+ Pacific Standard Time
+
+ Dockur
+ Windows for Docker
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+
+
+ false
+
+
+
+
+ 0409:00000409
+ en-US
+ en-US
+ en-US
+
+
+ about:blank
+
+
+ 0
+
+
+
+
+
+ Docker
+ Administrators
+
+
+ true
+
+
+
+
+ password
+ true
+
+
+
+ Docker
+ true
+ 65432
+
+
+ true
+
+
+
+ 32
+ 1920
+ 1080
+
+
+ true
+ Home
+ 3
+ true
+ false
+
+ Dockur
+ Windows for Docker
+
+
+ 1
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f
+ Allow guest access to network shares
+
+
+ 3
+ cmd /C wmic useraccount where name="Docker" set PasswordExpires=false
+ Password Never Expires
+
+
+ 4
+ cmd /C POWERCFG -H OFF
+ Disable Hibernation
+
+
+ 5
+ cmd /C POWERCFG -X -monitor-timeout-ac 0
+ Disable monitor blanking
+
+
+ 6
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
+ Disable Network Discovery popup
+
+
+ 7
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f
+ Disable Network Discovery popup
+
+
+ 8
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f
+ Disable Network Discovery popup
+
+
+ 9
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f
+ Disable first-run experience in Edge
+
+
+ 10
+ reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f
+ Show file extensions in Explorer
+
+
+ 11
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f
+ Zero Hibernation File
+
+
+ 12
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f
+ Disable Hibernation
+
+
+ 13
+ cmd /C POWERCFG -X -standby-timeout-ac 0
+ Disable Sleep
+
+
+ 14
+ netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes
+ Add RDP in firewall
+
+
+ 15
+ reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
+ Enable RDP
+
+
+ 16
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Windows\Sidebar" /v "TurnOffSidebar" /t REG_DWORD /d 1 /f
+ Turn off sidebar
+
+
+ 17
+ reg.exe add "HKCU\Control Panel\Desktop" /v "ScreenSaveActive" /t REG_SZ /d 0 /f
+ Disable screensaver
+
+
+ 18
+ reg.exe add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\Windows\System32\scrnsavex.scr /f
+ Disable screensaver
+
+
+ 19
+ reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v "fAllowUnlistedRemotePrograms" /t REG_DWORD /d 1 /f
+ Enable RemoteApp to launch unlisted programs
+
+
+ 20
+ reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" /v "fDisabledAllowList" /t REG_DWORD /d 1 /f
+ Disable RemoteApp allowlist
+
+
+ 21
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-32752" new enable=Yes
+ Enable Network Discovery
+
+
+ 22
+ netsh advfirewall firewall set rule group="@FirewallAPI.dll,-28502" new enable=Yes
+ Enable File Sharing
+
+
+ 23
+ cmd /C mklink /d %userprofile%\Desktop\Shared \\host.lan\Data
+ Create desktop shortcut to shared folder
+
+
+ 24
+ cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"
+ Execute custom script from the OEM folder if exists
+
+
+
+
+
diff --git a/apps/rego-tunnel/build/compose.yml b/apps/rego-tunnel/build/compose.yml
new file mode 100755
index 0000000..e5b6257
--- /dev/null
+++ b/apps/rego-tunnel/build/compose.yml
@@ -0,0 +1,19 @@
+services:
+ windows:
+ image: dockurr/windows
+ container_name: windows
+ environment:
+ VERSION: "11"
+ devices:
+ - /dev/kvm
+ - /dev/net/tun
+ cap_add:
+ - NET_ADMIN
+ ports:
+ - 8006:8006
+ - 3389:3389/tcp
+ - 3389:3389/udp
+ volumes:
+ - ./windows:/storage
+ restart: always
+ stop_grace_period: 2m
diff --git a/apps/rego-tunnel/build/kubernetes.yml b/apps/rego-tunnel/build/kubernetes.yml
new file mode 100755
index 0000000..fa8eef0
--- /dev/null
+++ b/apps/rego-tunnel/build/kubernetes.yml
@@ -0,0 +1,100 @@
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: windows-pvc
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 64Gi
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: windows
+ labels:
+ name: windows
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: windows
+ template:
+ metadata:
+ labels:
+ app: windows
+ spec:
+ containers:
+ - name: windows
+ image: dockurr/windows
+ env:
+ - name: VERSION
+ value: "11"
+ - name: DISK_SIZE
+ value: "64G"
+ ports:
+ - containerPort: 8006
+ name: http
+ protocol: TCP
+ - containerPort: 3389
+ name: rdp
+ protocol: TCP
+ - containerPort: 3389
+ name: udp
+ protocol: UDP
+ - containerPort: 5900
+ name: vnc
+ protocol: TCP
+ securityContext:
+ capabilities:
+ add:
+ - NET_ADMIN
+ privileged: true
+ volumeMounts:
+ - mountPath: /storage
+ name: storage
+ - mountPath: /dev/kvm
+ name: dev-kvm
+ - mountPath: /dev/net/tun
+ name: dev-tun
+ terminationGracePeriodSeconds: 120
+ volumes:
+ - name: storage
+ persistentVolumeClaim:
+ claimName: windows-pvc
+ - hostPath:
+ path: /dev/kvm
+ name: dev-kvm
+ - hostPath:
+ path: /dev/net/tun
+ type: CharDevice
+ name: dev-tun
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: windows
+spec:
+ internalTrafficPolicy: Cluster
+ ports:
+ - name: http
+ port: 8006
+ protocol: TCP
+ targetPort: 8006
+ - name: rdp
+ port: 3389
+ protocol: TCP
+ targetPort: 3389
+ - name: udp
+ port: 3389
+ protocol: UDP
+ targetPort: 3389
+ - name: vnc
+ port: 5900
+ protocol: TCP
+ targetPort: 5900
+ selector:
+ app: windows
+ type: ClusterIP
diff --git a/apps/rego-tunnel/build/license.md b/apps/rego-tunnel/build/license.md
new file mode 100755
index 0000000..9cf1062
--- /dev/null
+++ b/apps/rego-tunnel/build/license.md
@@ -0,0 +1,19 @@
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/apps/rego-tunnel/build/readme.md b/apps/rego-tunnel/build/readme.md
new file mode 100755
index 0000000..adbb6bf
--- /dev/null
+++ b/apps/rego-tunnel/build/readme.md
@@ -0,0 +1,401 @@
+
Windows
+
+

+
+
+
+[![Build]][build_url]
+[![Version]][tag_url]
+[![Size]][tag_url]
+[![Package]][pkg_url]
+[![Pulls]][hub_url]
+
+
+
+Windows inside a Docker container.
+
+## Features ✨
+
+ - ISO downloader
+ - KVM acceleration
+ - Web-based viewer
+
+## Video 📺
+
+[](https://www.youtube.com/watch?v=xhGYobuG508)
+
+## Usage 🐳
+
+##### Via Docker Compose:
+
+```yaml
+services:
+ windows:
+ image: dockurr/windows
+ container_name: windows
+ environment:
+ VERSION: "11"
+ devices:
+ - /dev/kvm
+ - /dev/net/tun
+ cap_add:
+ - NET_ADMIN
+ ports:
+ - 8006:8006
+ - 3389:3389/tcp
+ - 3389:3389/udp
+ volumes:
+ - ./windows:/storage
+ restart: always
+ stop_grace_period: 2m
+```
+
+##### Via Docker CLI:
+
+```bash
+docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
+```
+
+##### Via Kubernetes:
+
+```shell
+kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
+```
+
+##### Via Github Codespaces:
+
+[](https://codespaces.new/dockur/windows)
+
+##### Via a graphical installer:
+
+[](https://winboat.app)
+
+## FAQ 💬
+
+### How do I use it?
+
+ Very simple! These are the steps:
+
+ - Start the container and connect to [port 8006](http://127.0.0.1:8006/) using your web browser.
+
+ - Sit back and relax while the magic happens, the whole installation will be performed fully automatic.
+
+ - Once you see the desktop, your Windows installation is ready for use.
+
+ Enjoy your brand new machine, and don't forget to star this repo!
+
+### How do I select the Windows version?
+
+ By default, Windows 11 Pro will be installed. But you can add the `VERSION` environment variable to your compose file, in order to specify an alternative Windows version to be downloaded:
+
+ ```yaml
+ environment:
+ VERSION: "11"
+ ```
+
+ Select from the values below:
+
+ | **Value** | **Version** | **Size** |
+ |---|---|---|
+ | `11` | Windows 11 Pro | 7.2 GB |
+ | `11l` | Windows 11 LTSC | 4.7 GB |
+ | `11e` | Windows 11 Enterprise | 6.6 GB |
+ ||||
+ | `10` | Windows 10 Pro | 5.7 GB |
+ | `10l` | Windows 10 LTSC | 4.6 GB |
+ | `10e` | Windows 10 Enterprise | 5.2 GB |
+ ||||
+ | `8e` | Windows 8.1 Enterprise | 3.7 GB |
+ | `7u` | Windows 7 Ultimate | 3.1 GB |
+ | `vu` | Windows Vista Ultimate | 3.0 GB |
+ | `xp` | Windows XP Professional | 0.6 GB |
+ | `2k` | Windows 2000 Professional | 0.4 GB |
+ ||||
+ | `2025` | Windows Server 2025 | 6.7 GB |
+ | `2022` | Windows Server 2022 | 6.0 GB |
+ | `2019` | Windows Server 2019 | 5.3 GB |
+ | `2016` | Windows Server 2016 | 6.5 GB |
+ | `2012` | Windows Server 2012 | 4.3 GB |
+ | `2008` | Windows Server 2008 | 3.0 GB |
+ | `2003` | Windows Server 2003 | 0.6 GB |
+
+> [!TIP]
+> To install ARM64 versions of Windows use [dockur/windows-arm](https://github.com/dockur/windows-arm/).
+
+### How do I change the storage location?
+
+ To change the storage location, include the following bind mount in your compose file:
+
+ ```yaml
+ volumes:
+ - ./windows:/storage
+ ```
+
+ Replace the example path `./windows` with the desired storage folder or named volume.
+
+### How do I change the size of the disk?
+
+ To expand the default size of 64 GB, add the `DISK_SIZE` setting to your compose file and set it to your preferred capacity:
+
+ ```yaml
+ environment:
+ DISK_SIZE: "256G"
+ ```
+
+> [!TIP]
+> This can also be used to resize the existing disk to a larger capacity without any data loss. However you will need to [manually extend the disk partition](https://learn.microsoft.com/en-us/windows-server/storage/disk-management/extend-a-basic-volume?tabs=disk-management) since the added disk space will appear as unallocated.
+
+### How do I share files with the host?
+
+ After installation there will be a folder called `Shared` on your desktop, which can be used to exchange files with the host machine.
+
+ To select a folder on the host for this purpose, include the following bind mount in your compose file:
+
+ ```yaml
+ volumes:
+ - ./example:/shared
+ ```
+
+ Replace the example path `./example` with your desired shared folder, which then will become visible as `Shared`.
+
+### How do I change the amount of CPU or RAM?
+
+ By default, Windows will be allowed to use 2 CPU cores and 4 GB of RAM.
+
+ If you want to adjust this, you can specify the desired amount using the following environment variables:
+
+ ```yaml
+ environment:
+ RAM_SIZE: "8G"
+ CPU_CORES: "4"
+ ```
+
+### How do I configure the username and password?
+
+ By default, a user called `Docker` is created and its password is `admin`.
+
+ If you want to use different credentials during installation, you can configure them in your compose file:
+
+ ```yaml
+ environment:
+ USERNAME: "bill"
+ PASSWORD: "gates"
+ ```
+
+### How do I select the Windows language?
+
+ By default, the English version of Windows will be downloaded.
+
+ But you can add the `LANGUAGE` environment variable to your compose file, in order to specify an alternative language to be downloaded:
+
+ ```yaml
+ environment:
+ LANGUAGE: "French"
+ ```
+
+ You can choose between: 🇦🇪 Arabic, 🇧🇬 Bulgarian, 🇨🇳 Chinese, 🇭🇷 Croatian, 🇨🇿 Czech, 🇩🇰 Danish, 🇳🇱 Dutch, 🇬🇧 English, 🇪🇪 Estonian, 🇫🇮 Finnish, 🇫🇷 French, 🇩🇪 German, 🇬🇷 Greek, 🇮🇱 Hebrew, 🇭🇺 Hungarian, 🇮🇹 Italian, 🇯🇵 Japanese, 🇰🇷 Korean, 🇱🇻 Latvian, 🇱🇹 Lithuanian, 🇳🇴 Norwegian, 🇵🇱 Polish, 🇵🇹 Portuguese, 🇷🇴 Romanian, 🇷🇺 Russian, 🇷🇸 Serbian, 🇸🇰 Slovak, 🇸🇮 Slovenian, 🇪🇸 Spanish, 🇸🇪 Swedish, 🇹🇭 Thai, 🇹🇷 Turkish and 🇺🇦 Ukrainian.
+
+### How do I select the keyboard layout?
+
+ If you want to use a keyboard layout or locale that is not the default for your selected language, you can add `KEYBOARD` and `REGION` variables like this:
+
+ ```yaml
+ environment:
+ REGION: "en-US"
+ KEYBOARD: "en-US"
+ ```
+
+### How do I install a custom image?
+
+ In order to download an unsupported ISO image, specify its URL in the `VERSION` environment variable:
+
+ ```yaml
+ environment:
+ VERSION: "https://example.com/win.iso"
+ ```
+
+ Alternatively, you can also skip the download and use a local file instead, by binding it in your compose file in this way:
+
+ ```yaml
+ volumes:
+ - ./example.iso:/boot.iso
+ ```
+
+ Replace the example path `./example.iso` with the filename of your desired ISO file. The value of `VERSION` will be ignored in this case.
+
+### How do I run a script after installation?
+
+ To run your own script after installation, you can create a file called `install.bat` and place it in a folder together with any additional files it needs (software to be installed for example).
+
+ Then bind that folder in your compose file like this:
+
+ ```yaml
+ volumes:
+ - ./example:/oem
+ ```
+
+ The example folder `./example` will be copied to `C:\OEM` and the containing `install.bat` will be executed during the last step of the automatic installation.
+
+### How do I perform a manual installation?
+
+ It's recommended to stick to the automatic installation, as it adjusts various settings to prevent common issues when running Windows inside a virtual environment.
+
+ However, if you insist on performing the installation manually at your own risk, add the following environment variable to your compose file:
+
+ ```yaml
+ environment:
+ MANUAL: "Y"
+ ```
+
+### How do I connect using RDP?
+
+ The web-viewer is mainly meant to be used during installation, as its picture quality is low, and it has no audio or clipboard for example.
+
+ So for a better experience you can connect using any Microsoft Remote Desktop client to the IP of the container, using the username `Docker` and password `admin`.
+
+ There is a RDP client for [Android](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx) available from the Play Store and one for [iOS](https://apps.apple.com/nl/app/microsoft-remote-desktop/id714464092?l=en-GB) in the Apple Store. For Linux you can use [FreeRDP](https://www.freerdp.com/) and on Windows just type `mstsc` in the search box.
+
+### How do I assign an individual IP address to the container?
+
+ By default, the container uses bridge networking, which shares the IP address with the host.
+
+ If you want to assign an individual IP address to the container, you can create a macvlan network as follows:
+
+ ```bash
+ docker network create -d macvlan \
+ --subnet=192.168.0.0/24 \
+ --gateway=192.168.0.1 \
+ --ip-range=192.168.0.100/28 \
+ -o parent=eth0 vlan
+ ```
+
+ Be sure to modify these values to match your local subnet.
+
+ Once you have created the network, change your compose file to look as follows:
+
+ ```yaml
+ services:
+ windows:
+ container_name: windows
+ ....
+ networks:
+ vlan:
+ ipv4_address: 192.168.0.100
+
+ networks:
+ vlan:
+ external: true
+ ```
+
+ An added benefit of this approach is that you won't have to perform any port mapping anymore, since all ports will be exposed by default.
+
+> [!IMPORTANT]
+> This IP address won't be accessible from the Docker host due to the design of macvlan, which doesn't permit communication between the two. If this is a concern, you need to create a [second macvlan](https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/#host-access) as a workaround.
+
+### How can Windows acquire an IP address from my router?
+
+ After configuring the container for [macvlan](#how-do-i-assign-an-individual-ip-address-to-the-container), it is possible for Windows to become part of your home network by requesting an IP from your router, just like a real PC.
+
+ To enable this mode, in which the container and Windows will have separate IP addresses, add the following lines to your compose file:
+
+ ```yaml
+ environment:
+ DHCP: "Y"
+ devices:
+ - /dev/vhost-net
+ device_cgroup_rules:
+ - 'c *:* rwm'
+ ```
+
+### How do I add multiple disks?
+
+ To create additional disks, modify your compose file like this:
+
+ ```yaml
+ environment:
+ DISK2_SIZE: "32G"
+ DISK3_SIZE: "64G"
+ volumes:
+ - ./example2:/storage2
+ - ./example3:/storage3
+ ```
+
+### How do I pass-through a disk?
+
+ It is possible to pass-through disk devices or partitions directly by adding them to your compose file in this way:
+
+ ```yaml
+ devices:
+ - /dev/sdb:/disk1
+ - /dev/sdc1:/disk2
+ ```
+
+ Use `/disk1` if you want it to become your main drive (which will be formatted during installation), and use `/disk2` and higher to add them as secondary drives (which will stay untouched).
+
+### How do I pass-through a USB device?
+
+ To pass-through a USB device, first lookup its vendor and product id via the `lsusb` command, then add them to your compose file like this:
+
+ ```yaml
+ environment:
+ ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
+ devices:
+ - /dev/bus/usb
+ ```
+
+ If the device is a USB disk drive, please wait until after the installation is fully completed before connecting it. Otherwise the installation may fail, as the order of the disks can get rearranged.
+
+### How do I verify if my system supports KVM?
+
+ First check if your software is compatible using this chart:
+
+ | **Product** | **Linux** | **Win11** | **Win10** | **macOS** |
+ |---|---|---|---|---|
+ | Docker CLI | ✅ | ✅ | ❌ | ❌ |
+ | Docker Desktop | ❌ | ✅ | ❌ | ❌ |
+ | Podman CLI | ✅ | ✅ | ❌ | ❌ |
+ | Podman Desktop | ✅ | ✅ | ❌ | ❌ |
+
+ After that you can run the following commands in Linux to check your system:
+
+ ```bash
+ sudo apt install cpu-checker
+ sudo kvm-ok
+ ```
+
+ If you receive an error from `kvm-ok` indicating that KVM cannot be used, please check whether:
+
+ - the virtualization extensions (`Intel VT-x` or `AMD SVM`) are enabled in your BIOS.
+
+ - you enabled "nested virtualization" if you are running the container inside a virtual machine.
+
+ - you are not using a cloud provider, as most of them do not allow nested virtualization for their VPS's.
+
+ If you did not receive any error from `kvm-ok` but the container still complains about a missing KVM device, it could help to add `privileged: true` to your compose file (or `sudo` to your `docker` command) to rule out any permission issue.
+
+### How do I run macOS in a container?
+
+ You can use [dockur/macos](https://github.com/dockur/macos) for that. It shares many of the same features, except for the automatic installation.
+
+### How do I run a Linux desktop in a container?
+
+ You can use [qemus/qemu](https://github.com/qemus/qemu) in that case.
+
+### Is this project legal?
+
+ Yes, this project contains only open-source code and does not distribute any copyrighted material. Any product keys found in the code are just generic placeholders provided by Microsoft for trial purposes. So under all applicable laws, this project will be considered legal.
+
+## Disclaimer ⚖️
+
+*The product names, logos, brands, and other trademarks referred to within this project are the property of their respective trademark holders. This project is not affiliated, sponsored, or endorsed by Microsoft Corporation.*
+
+[build_url]: https://github.com/dockur/windows/
+[hub_url]: https://hub.docker.com/r/dockurr/windows/
+[tag_url]: https://hub.docker.com/r/dockurr/windows/tags
+[pkg_url]: https://github.com/dockur/windows/pkgs/container/windows
+
+[Build]: https://github.com/dockur/windows/actions/workflows/build.yml/badge.svg
+[Size]: https://img.shields.io/docker/image-size/dockurr/windows/latest?color=066da5&label=size
+[Pulls]: https://img.shields.io/docker/pulls/dockurr/windows.svg?style=flat&label=pulls&logo=docker
+[Version]: https://img.shields.io/docker/v/dockurr/windows/latest?arch=amd64&sort=semver&color=066da5
+[Package]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fipitio.github.io%2Fbackage%2Fdockur%2Fwindows%2Fwindows.json&query=%24.downloads&logo=github&style=flat&color=066da5&label=pulls
diff --git a/apps/rego-tunnel/build/rego/README.md b/apps/rego-tunnel/build/rego/README.md
new file mode 100755
index 0000000..5f16b78
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/README.md
@@ -0,0 +1,188 @@
+# Rego VPN Automation - Technical Setup Guide
+
+## Overview
+
+Cisco Secure Client VPN running in Windows VM (dockurr/windows) inside Docker container, with SOCKS5 proxy for transparent routing to IBM i systems.
+
+## Architecture
+
+```
+Clients → Host (iptables/redsocks) → Container (socat) → Windows VM (SOCKS5) → VPN → 10.35.33.x
+```
+
+## Components
+
+### 1. Windows VM (inside container)
+- **Container**: `rego-tunnel_runtipi-rego-tunnel-1`
+- **Windows VM IP**: `172.30.0.16` or `172.30.0.17` (internal to container)
+- **VPN**: Cisco Secure Client with SAML auth (email + password + TOTP)
+- **Files on Windows** (`C:\Users\alexz\vpn_scripts`):
+ - `vpn.bat` - Startup batch file
+ - `vpn-login.js` - Node.js script that automates SAML login via Chrome DevTools Protocol
+ - `socks5.js` - Simple SOCKS5 proxy server
+ - `node_modules/` - ws, otplib packages
+
+### 2. Container
+- **External IPs**: `10.128.16.2` or similar
+- **Internal bridge**: `172.30.0.1/24` (Windows VM at .16 or .17)
+- **socat**: Forwards port 1080 from container to Windows VM SOCKS5
+- **start.sh**: Mounted at `/run/start.sh` - sets up iptables DNAT rules
+
+### 3. Host
+- **redsocks**: Transparent SOCKS5 redirector (optional)
+- **iptables**: Redirects traffic to VPN network through container
+
+## VPN Credentials
+
+Located in `vpn-login.js`:
+```javascript
+const CONFIG = {
+ email: "c-azaw@regoproducts.com",
+ password: "Fuckyou4suhail",
+ totpSecret: "RZQTQSKDWKHZ6ZYR",
+ devtoolsPort: 9222,
+ vpnTestIp: "10.35.33.230"
+};
+```
+
+## Windows Setup Steps
+
+### 1. Install Node.js
+Run PowerShell as Administrator:
+```powershell
+# Option A: Run the install script
+.\install-nodejs.ps1
+
+# Option B: Manual download from https://nodejs.org/
+```
+
+### 2. Install Cisco Secure Client
+- Download from company VPN portal or Cisco
+- Install with default options
+- Path: `C:\Program Files (x86)\Cisco\Cisco Secure Client\`
+
+### 3. Setup VPN Scripts
+```cmd
+mkdir C:\Users\alexz\vpn_scripts
+copy \\TSCLIENT\shared\vpn-scripts\*.js C:\Users\alexz\vpn_scripts\
+copy \\TSCLIENT\shared\vpn-scripts\vpn.bat C:\Users\alexz\vpn_scripts\
+
+cd C:\Users\alexz\vpn_scripts
+npm install ws otplib
+```
+
+### 4. Add to Windows Startup
+```cmd
+# Create shortcut to vpn.bat in:
+shell:startup
+# Or: C:\Users\alexz\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
+```
+
+### 5. Enable Remote Debugging for Cisco UI
+The vpn-login.js script sets this environment variable before launching Cisco:
+```
+WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 --remote-allow-origins=*
+```
+
+## Container Configuration
+
+### docker-compose.yml (user-config)
+```yaml
+services:
+ rego-tunnel:
+ environment:
+ USER: alexz
+ PASS: Az@83278327$$@@
+ VERSION: win10
+ entrypoint: ["/bin/bash", "-c", "source /run/start.sh; exec /usr/bin/tini -s /run/entry.sh"]
+```
+
+### start.sh (Container Startup Script)
+Located at: `/etc/runtipi/user-config/runtipi/rego-tunnel/scripts/start.sh`
+
+Sets up:
+- iptables MASQUERADE for docker bridge
+- Route to IBM i network via Windows VM
+- DNAT rules for port forwarding (SSH, IBM i ports)
+
+## Key Ports
+
+| Port | Service |
+|------|---------|
+| 22 | SSH |
+| 23 | Telnet (IBM i) |
+| 446, 448, 449 | IBM i services |
+| 1080 | SOCKS5 proxy |
+| 8006 | noVNC web console |
+| 8470-8476 | IBM i data ports |
+| 9222 | Chrome DevTools (for automation) |
+
+## Manual Commands
+
+### Start VPN from host:
+```bash
+docker exec rego-tunnel_runtipi-rego-tunnel-1 ssh docker@172.30.0.16 'C:\Users\alexz\vpn_scripts\vpn.bat'
+```
+
+### Start socat in container:
+```bash
+docker exec -d rego-tunnel_runtipi-rego-tunnel-1 socat TCP-LISTEN:1080,fork,reuseaddr TCP:172.30.0.16:1080
+```
+
+### Test SOCKS5 connectivity:
+```bash
+nc -zv 10.128.16.2 1080
+```
+
+### Check VPN status in Windows:
+```cmd
+ipconfig | findstr 10\.
+```
+
+## Troubleshooting
+
+### VPN not connecting
+1. Check time sync: `w32tm /resync /force`
+2. Verify Cisco agent: `net start "Cisco Secure Client Agent"`
+3. Check DevTools: `http://172.30.0.16:9222/json`
+
+### SOCKS5 not working
+1. Verify VPN connected first (ping 10.35.33.230)
+2. Check socks5.js running: `tasklist | findstr node`
+3. Test locally: `nc -zv 127.0.0.1 1080`
+
+### Container issues
+1. Check logs: `docker logs rego-tunnel_runtipi-rego-tunnel-1`
+2. Verify start.sh: `docker exec rego-tunnel_runtipi-rego-tunnel-1 cat /run/start.sh`
+3. Check Windows VM IP: `docker exec rego-tunnel_runtipi-rego-tunnel-1 cat /run/qemu.pid`
+
+## File Locations
+
+### Host
+- `/etc/runtipi/user-config/runtipi/rego-tunnel/docker-compose.yml` - User overrides
+- `/etc/runtipi/user-config/runtipi/rego-tunnel/scripts/start.sh` - Container startup
+- `/etc/runtipi/repos/runtipi/apps/rego-tunnel/docker-compose.yml` - Base config
+- `/etc/runtipi/app-data/runtipi/rego-tunnel/data/storage/` - Windows disk image
+- `/etc/runtipi/app-data/runtipi/rego-tunnel/data/shared/` - Shared folder with Windows
+
+### Windows VM
+- `C:\Users\alexz\vpn_scripts\vpn-login.js` - Main automation script
+- `C:\Users\alexz\vpn_scripts\socks5.js` - SOCKS5 proxy
+- `C:\Users\alexz\vpn_scripts\vpn.bat` - Startup batch file
+- `C:\Program Files (x86)\Cisco\Cisco Secure Client\` - Cisco installation
+
+## Watchdog Mode
+
+The vpn-login.js script includes a watchdog that:
+- Monitors VPN connectivity every 2 minutes
+- Auto-reconnects after 2 consecutive failures
+- Restarts SOCKS5 proxy after reconnection
+- Logs memory usage every hour
+
+## Notes
+
+- Windows VM takes ~2-3 minutes to boot
+- VPN login takes ~30 seconds
+- TOTP requires accurate system time (script syncs automatically)
+- The container uses VERSION=win10 for dockurr/windows compatibility
+- noVNC password: `Az@83278327$@@`
diff --git a/apps/rego-tunnel/build/rego/id_ed25519-lenovo b/apps/rego-tunnel/build/rego/id_ed25519-lenovo
new file mode 100755
index 0000000..f7873e8
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/id_ed25519-lenovo
@@ -0,0 +1,7 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+QyNTUxOQAAACBh1EJ8NFn3hUUMe+lJSJl14bt8Xjh+NT5g0YnfKVitQwAAAJhfESWEXxEl
+hAAAAAtzc2gtZWQyNTUxOQAAACBh1EJ8NFn3hUUMe+lJSJl14bt8Xjh+NT5g0YnfKVitQw
+AAAEDgYZN7HwPbKY++p612bnhGC10P3GUHQdJlprPEFbODgWHUQnw0WfeFRQx76UlImXXh
+u3xeOH41PmDRid8pWK1DAAAAEWFsZXh6QEFaYXdQQy1QMTZTAQIDBA==
+-----END OPENSSH PRIVATE KEY-----
diff --git a/apps/rego-tunnel/build/rego/install-nodejs.ps1 b/apps/rego-tunnel/build/rego/install-nodejs.ps1
new file mode 100755
index 0000000..c37f1c2
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/install-nodejs.ps1
@@ -0,0 +1,30 @@
+# Install Node.js on Windows
+# Run as Administrator in PowerShell
+
+$nodeVersion = "22.9.0"
+$nodeUrl = "https://nodejs.org/dist/v$nodeVersion/node-v$nodeVersion-x64.msi"
+$installerPath = "$env:TEMP\node-installer.msi"
+
+Write-Host "Downloading Node.js v$nodeVersion..." -ForegroundColor Cyan
+Invoke-WebRequest -Uri $nodeUrl -OutFile $installerPath
+
+Write-Host "Installing Node.js..." -ForegroundColor Cyan
+Start-Process msiexec.exe -Wait -ArgumentList "/i `"$installerPath`" /quiet /norestart"
+
+# Refresh PATH
+$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
+
+Write-Host "Verifying installation..." -ForegroundColor Cyan
+node --version
+npm --version
+
+Write-Host "Node.js installed successfully!" -ForegroundColor Green
+
+# Cleanup
+Remove-Item $installerPath -Force
+
+Write-Host ""
+Write-Host "Next steps:" -ForegroundColor Yellow
+Write-Host "1. Copy vpn-login.js, socks5.js, vpn.bat to C:\Users\alexz\vpn_scripts\"
+Write-Host "2. Open CMD in C:\Users\alexz\vpn_scripts\ and run: npm install ws otplib"
+Write-Host "3. Add vpn.bat shortcut to shell:startup folder"
diff --git a/apps/rego-tunnel/build/rego/setup-autologin-sshd.ps1 b/apps/rego-tunnel/build/rego/setup-autologin-sshd.ps1
new file mode 100755
index 0000000..feb6eaa
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/setup-autologin-sshd.ps1
@@ -0,0 +1,44 @@
+# Setup OpenSSH Server and Auto-Login for alexz
+# Run as Administrator in PowerShell
+
+$Username = "alexz"
+$Password = "Az@83278327$$@@"
+
+Write-Host "=== Setting up OpenSSH Server ===" -ForegroundColor Cyan
+
+# Install OpenSSH Server
+$sshCapability = Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'
+if ($sshCapability.State -ne 'Installed') {
+ Write-Host "Installing OpenSSH Server..." -ForegroundColor Yellow
+ Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
+} else {
+ Write-Host "OpenSSH Server already installed" -ForegroundColor Green
+}
+
+# Start and enable SSH service
+Write-Host "Starting SSH service..." -ForegroundColor Yellow
+Start-Service sshd
+Set-Service -Name sshd -StartupType 'Automatic'
+
+# Configure firewall
+$fwRule = Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue
+if (-not $fwRule) {
+ Write-Host "Adding firewall rule..." -ForegroundColor Yellow
+ New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
+}
+
+Write-Host "OpenSSH Server configured!" -ForegroundColor Green
+
+Write-Host ""
+Write-Host "=== Setting up Auto-Login ===" -ForegroundColor Cyan
+
+$RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
+Set-ItemProperty -Path $RegPath -Name "AutoAdminLogon" -Value "1"
+Set-ItemProperty -Path $RegPath -Name "DefaultUserName" -Value $Username
+Set-ItemProperty -Path $RegPath -Name "DefaultPassword" -Value $Password
+Remove-ItemProperty -Path $RegPath -Name "DefaultDomainName" -ErrorAction SilentlyContinue
+
+Write-Host "Auto-login configured for '$Username'!" -ForegroundColor Green
+Write-Host ""
+Write-Host "Setup complete! SSH is now available and auto-login is enabled." -ForegroundColor Green
+Write-Host "Reboot to test auto-login." -ForegroundColor Yellow
diff --git a/apps/rego-tunnel/build/rego/setup-ssh-keys.ps1 b/apps/rego-tunnel/build/rego/setup-ssh-keys.ps1
new file mode 100755
index 0000000..66634b3
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/setup-ssh-keys.ps1
@@ -0,0 +1,32 @@
+# Setup SSH Keys for alexz user
+# Run as Administrator in PowerShell
+
+$PublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGHUQnw0WfeFRQx76UlImXXhu3xeOH41PmDRid8pWK1D alexz@AZawPC-P16S"
+
+Write-Host "=== Setting up SSH Keys ===" -ForegroundColor Cyan
+
+# User authorized_keys
+$userSshDir = "C:\Users\alexz\.ssh"
+$userAuthKeys = "$userSshDir\authorized_keys"
+
+Write-Host "Creating user .ssh directory..." -ForegroundColor Yellow
+New-Item -ItemType Directory -Path $userSshDir -Force | Out-Null
+
+Write-Host "Adding key to user authorized_keys..." -ForegroundColor Yellow
+Add-Content -Path $userAuthKeys -Value $PublicKey -Force
+
+# Fix permissions for user file
+icacls $userAuthKeys /inheritance:r /grant "alexz:F" /grant "SYSTEM:F"
+
+# Administrator authorized_keys (for admin users)
+$adminAuthKeys = "C:\ProgramData\ssh\administrators_authorized_keys"
+
+Write-Host "Adding key to administrators_authorized_keys..." -ForegroundColor Yellow
+Add-Content -Path $adminAuthKeys -Value $PublicKey -Force
+
+# Fix permissions for admin file (required by OpenSSH)
+icacls $adminAuthKeys /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
+
+Write-Host ""
+Write-Host "SSH keys configured!" -ForegroundColor Green
+Write-Host "You can now SSH in with the id_ed25519-lenovo key." -ForegroundColor Yellow
diff --git a/apps/rego-tunnel/build/rego/socks5.js b/apps/rego-tunnel/build/rego/socks5.js
new file mode 100755
index 0000000..ea9438b
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/socks5.js
@@ -0,0 +1,69 @@
+const net = require('net');
+
+const PORT = 1080;
+const HOST = '0.0.0.0';
+
+const server = net.createServer((client) => {
+ client.once('data', (data) => {
+ // SOCKS5 handshake
+ if (data[0] !== 0x05) {
+ client.end();
+ return;
+ }
+
+ // No auth required
+ client.write(Buffer.from([0x05, 0x00]));
+
+ client.once('data', (data) => {
+ if (data[0] !== 0x05 || data[1] !== 0x01) {
+ client.write(Buffer.from([0x05, 0x07, 0x00, 0x01, 0, 0, 0, 0, 0, 0]));
+ client.end();
+ return;
+ }
+
+ let host, port;
+ const atyp = data[3];
+
+ if (atyp === 0x01) {
+ // IPv4
+ host = `${data[4]}.${data[5]}.${data[6]}.${data[7]}`;
+ port = data.readUInt16BE(8);
+ } else if (atyp === 0x03) {
+ // Domain
+ const len = data[4];
+ host = data.slice(5, 5 + len).toString();
+ port = data.readUInt16BE(5 + len);
+ } else if (atyp === 0x04) {
+ // IPv6
+ host = '';
+ for (let i = 0; i < 16; i += 2) {
+ host += data.slice(4 + i, 6 + i).toString('hex');
+ if (i < 14) host += ':';
+ }
+ port = data.readUInt16BE(20);
+ } else {
+ client.write(Buffer.from([0x05, 0x08, 0x00, 0x01, 0, 0, 0, 0, 0, 0]));
+ client.end();
+ return;
+ }
+
+ const remote = net.createConnection(port, host, () => {
+ const response = Buffer.from([0x05, 0x00, 0x00, 0x01, 0, 0, 0, 0, 0, 0]);
+ client.write(response);
+ client.pipe(remote);
+ remote.pipe(client);
+ });
+
+ remote.on('error', () => {
+ client.write(Buffer.from([0x05, 0x05, 0x00, 0x01, 0, 0, 0, 0, 0, 0]));
+ client.end();
+ });
+ });
+ });
+
+ client.on('error', () => {});
+});
+
+server.listen(PORT, HOST, () => {
+ console.log(`SOCKS5 proxy running on ${HOST}:${PORT}`);
+});
diff --git a/apps/rego-tunnel/build/rego/vpn-login.js b/apps/rego-tunnel/build/rego/vpn-login.js
new file mode 100755
index 0000000..3f02151
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/vpn-login.js
@@ -0,0 +1,459 @@
+const WebSocket = require("ws");
+const { authenticator } = require("otplib");
+const { execSync, spawn } = require("child_process");
+
+const CONFIG = {
+ email: "c-azaw@regoproducts.com",
+ password: "Fuckyou4suhail",
+ totpSecret: "RZQTQSKDWKHZ6ZYR",
+ devtoolsPort: 9222,
+ vpnTestIp: "10.35.33.230"
+};
+
+let ws;
+let msgId = 1;
+
+function log(msg) {
+ console.log("[" + new Date().toLocaleTimeString() + "] " + msg);
+}
+
+function run(cmd) {
+ try { execSync(cmd, { stdio: "ignore", timeout: 10000 }); } catch (e) {}
+}
+
+function runOutput(cmd) {
+ try {
+ return execSync(cmd, { encoding: "utf8", timeout: 10000 });
+ } catch (e) {
+ return "";
+ }
+}
+
+async function getPages() {
+ const res = await fetch("http://localhost:" + CONFIG.devtoolsPort + "/json");
+ return res.json();
+}
+
+function send(method, params = {}) {
+ return new Promise((resolve, reject) => {
+ const id = msgId++;
+ const timeout = setTimeout(() => reject(new Error("Timeout: " + method)), 15000);
+ const handler = (data) => {
+ const msg = JSON.parse(data);
+ if (msg.id === id) {
+ clearTimeout(timeout);
+ ws.off("message", handler);
+ resolve(msg.result);
+ }
+ };
+ ws.on("message", handler);
+ ws.send(JSON.stringify({ id, method, params }));
+ });
+}
+
+async function waitForSelector(selector, timeout = 30000) {
+ const start = Date.now();
+ while (Date.now() - start < timeout) {
+ try {
+ const result = await send("Runtime.evaluate", {
+ expression: "document.querySelector('" + selector + "') !== null",
+ returnByValue: true
+ });
+ if (result.result.value === true) return true;
+ } catch (e) {}
+ await sleep(500);
+ }
+ return false;
+}
+
+async function typeText(selector, text) {
+ await send("Runtime.evaluate", {
+ expression: "var el = document.querySelector('" + selector + "'); el.focus(); el.value = '';"
+ });
+ await sleep(100);
+ for (const char of text) {
+ await send("Input.dispatchKeyEvent", { type: "char", text: char });
+ await sleep(30);
+ }
+}
+
+async function click(selector) {
+ await send("Runtime.evaluate", {
+ expression: "document.querySelector('" + selector + "').click()"
+ });
+}
+
+async function clickSubmit() {
+ const methods = [
+ "document.querySelector('#submitButton') && document.querySelector('#submitButton').click()",
+ "typeof Login !== 'undefined' && Login.submitLoginRequest && Login.submitLoginRequest()",
+ "document.querySelector('input[type=\"submit\"]') && document.querySelector('input[type=\"submit\"]').click()",
+ "document.querySelector('button[type=\"submit\"]') && document.querySelector('button[type=\"submit\"]').click()",
+ "document.querySelector('#idSIButton9') && document.querySelector('#idSIButton9').click()"
+ ];
+ for (const expr of methods) {
+ try { await send("Runtime.evaluate", { expression: expr }); } catch (e) {}
+ }
+}
+
+async function sleep(ms) {
+ return new Promise(r => setTimeout(r, ms));
+}
+
+async function waitForDevtools(maxWait = 120000) {
+ const start = Date.now();
+ while (Date.now() - start < maxWait) {
+ try {
+ const pages = await getPages();
+ const page = pages.find(p => p.type === "page");
+ if (page) return page;
+ } catch (e) {}
+ log("Waiting for WebView...");
+ await sleep(2000);
+ }
+ return null;
+}
+
+// VPN adapter check skipped - IP range is unpredictable
+// We rely solely on connectivity test to target IP
+
+// Test connectivity via ping (check for actual reply, not TTL expired)
+function testVpnConnectivity(ip) {
+ try {
+ const output = execSync(`ping -n 1 -w 3000 ${ip}`, { encoding: "utf8", timeout: 5000 });
+ // Must have "Reply from " - not "TTL expired" or "Request timed out"
+ return output.includes(`Reply from ${ip}`);
+ } catch (e) {
+ return false;
+ }
+}
+
+// Verify VPN is connected with retries (connectivity test only)
+async function verifyVpnConnection(maxRetries = 10, retryDelay = 5000) {
+ log("--- VPN VERIFICATION ---");
+
+ for (let i = 1; i <= maxRetries; i++) {
+ log(`Attempt ${i}/${maxRetries}: Pinging ${CONFIG.vpnTestIp}...`);
+ const connected = testVpnConnectivity(CONFIG.vpnTestIp);
+
+ if (connected) {
+ log("VPN connectivity confirmed!");
+ return true;
+ }
+
+ log("Not reachable yet, waiting...");
+ if (i < maxRetries) {
+ await sleep(retryDelay);
+ }
+ }
+
+ log("VPN verification failed after " + maxRetries + " attempts");
+ return false;
+}
+
+async function main() {
+ console.log("");
+ console.log("========================================");
+ console.log(" CISCO VPN AUTO-LOGIN");
+ console.log("========================================");
+ console.log("");
+
+ // Sync time first (TOTP requires accurate time)
+ log("Syncing system time...");
+ run("sc config w32time start= auto");
+ run("net start w32time");
+ run("w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:manual /update");
+ run("w32tm /resync /force");
+ await sleep(2000);
+
+ // Kill everything
+ log("Killing Cisco processes...");
+ run("taskkill /F /IM csc_ui.exe");
+ run("taskkill /F /IM vpnui.exe");
+ run("taskkill /F /IM vpnagent.exe");
+ run('net stop csc_vpnagent');
+ await sleep(2000);
+
+ // Start agent
+ log("Starting Cisco agent...");
+ run('net start csc_vpnagent');
+ await sleep(3000);
+
+ // Start UI
+ log("Starting Cisco UI...");
+ process.env.WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS = "--remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 --remote-allow-origins=*";
+ spawn("C:\\Program Files (x86)\\Cisco\\Cisco Secure Client\\UI\\csc_ui.exe", [], {
+ detached: true,
+ stdio: "ignore"
+ }).unref();
+
+ await sleep(5000);
+
+ // Wait for WebView
+ const page = await waitForDevtools();
+ if (!page) {
+ log("ERROR: WebView not found - rebooting...");
+ run("shutdown /r /t 1");
+ process.exit(1);
+ }
+
+ log("WebView: " + page.title);
+ ws = new WebSocket(page.webSocketDebuggerUrl);
+ await new Promise((resolve, reject) => {
+ ws.on("open", resolve);
+ ws.on("error", reject);
+ });
+
+ await send("DOM.enable");
+ await send("Runtime.enable");
+ await send("Input.enable");
+ log("Connected to DevTools");
+
+ const url = page.url || "";
+ const isADFS = url.includes("adfs");
+ log("Login type: " + (isADFS ? "ADFS" : "Microsoft"));
+
+ if (isADFS) {
+ log("--- ADFS LOGIN ---");
+ if (!await waitForSelector("#passwordInput", 15000)) {
+ log("Password field not found");
+ process.exit(1);
+ }
+ log("Entering password...");
+ await typeText("#passwordInput", CONFIG.password);
+ await sleep(500);
+ log("Clicking Sign In...");
+ await clickSubmit();
+ await sleep(3000);
+ } else {
+ log("--- EMAIL ---");
+ if (await waitForSelector('input[type="email"]', 5000)) {
+ log("Entering email...");
+ await typeText('input[type="email"]', CONFIG.email);
+ await sleep(500);
+ log("Clicking Next...");
+ await clickSubmit();
+ await sleep(3000);
+ }
+
+ log("--- PASSWORD ---");
+ if (!await waitForSelector('input[type="password"]', 15000)) {
+ log("Password field not found");
+ process.exit(1);
+ }
+ log("Entering password...");
+ await typeText('input[type="password"]', CONFIG.password);
+ await sleep(500);
+ log("Clicking Sign In...");
+ await clickSubmit();
+ await sleep(3000);
+ }
+
+ // TOTP
+ log("--- TOTP ---");
+ if (await waitForSelector('input[name="otc"]', 15000)) {
+ await sleep(500);
+ const totp = authenticator.generate(CONFIG.totpSecret);
+ log("TOTP: " + totp);
+ await typeText('input[name="otc"]', totp);
+ await sleep(500);
+ log("Submitting...");
+ await clickSubmit();
+ await sleep(3000);
+ } else {
+ log("No TOTP field");
+ }
+
+ // Stay signed in
+ log("--- STAY SIGNED IN ---");
+ if (await waitForSelector("#idBtn_Back", 5000)) {
+ log("Clicking No...");
+ await click("#idBtn_Back");
+ }
+
+ await sleep(2000);
+ ws.close();
+
+ // Verify VPN connection before starting SOCKS5
+ const vpnConnected = await verifyVpnConnection();
+
+ if (!vpnConnected) {
+ log("ERROR: VPN connection could not be verified");
+ log("SOCKS5 proxy NOT started");
+ process.exit(1);
+ }
+
+ // Start SOCKS5 proxy only after VPN verified
+ log("Starting SOCKS5 proxy on port 1080...");
+ run("taskkill /F /IM node.exe /FI \"WINDOWTITLE eq socks5\"");
+ spawn("node", ["C:\\Users\\alexz\\vpn_scripts\\socks5.js"], {
+ detached: true,
+ stdio: "ignore",
+ windowsHide: true
+ }).unref();
+
+ console.log("");
+ console.log("========================================");
+ console.log(" CONNECTED!");
+ console.log(" SOCKS5 proxy: 172.30.0.16:1080");
+ console.log(" Entering watchdog mode...");
+ console.log("========================================");
+ console.log("");
+
+ // Enter watchdog mode - monitor and reconnect if needed
+ await watchdogLoop();
+}
+
+async function watchdogLoop() {
+ const checkInterval = 2 * 60 * 1000; // 2 minutes
+ let consecutiveFailures = 0;
+ let checkCount = 0;
+
+ log("Watchdog: Monitoring every 2 minutes...");
+
+ while (true) {
+ await sleep(checkInterval);
+ checkCount++;
+
+ // Force garbage collection every 10 checks (~20 min)
+ if (checkCount % 10 === 0 && global.gc) {
+ global.gc();
+ }
+
+ // Log memory every 30 checks (~1 hour)
+ if (checkCount % 30 === 0) {
+ const mem = Math.round(process.memoryUsage().heapUsed / 1024 / 1024);
+ log(`Watchdog: Memory ${mem}MB, checks ${checkCount}`);
+ }
+
+ const connected = testVpnConnectivity(CONFIG.vpnTestIp);
+
+ if (connected) {
+ if (consecutiveFailures > 0) {
+ log("Watchdog: Connection restored");
+ }
+ consecutiveFailures = 0;
+ } else {
+ consecutiveFailures++;
+ log(`Watchdog: Connection FAILED (${consecutiveFailures})`);
+
+ if (consecutiveFailures >= 2) {
+ log("Watchdog: Reconnecting...");
+ await reconnectVpn();
+ consecutiveFailures = 0;
+ }
+ }
+ }
+}
+
+async function reconnectVpn() {
+ // Sync time first (TOTP requires accurate time)
+ log("Syncing system time...");
+ run("sc config w32time start= auto");
+ run("net start w32time");
+ run("w32tm /resync /force");
+ await sleep(1000);
+
+ // Kill and restart VPN
+ log("Killing Cisco processes...");
+ run("taskkill /F /IM csc_ui.exe");
+ run("taskkill /F /IM vpnui.exe");
+ run("taskkill /F /IM vpnagent.exe");
+ run('net stop "Cisco Secure Client Agent"');
+ await sleep(2000);
+
+ log("Starting Cisco agent...");
+ run('net start "Cisco Secure Client Agent"');
+ await sleep(3000);
+
+ log("Starting Cisco UI...");
+ spawn("C:\\Program Files (x86)\\Cisco\\Cisco Secure Client\\UI\\csc_ui.exe", [], {
+ detached: true,
+ stdio: "ignore"
+ }).unref();
+
+ await sleep(5000);
+
+ const page = await waitForDevtools();
+ if (!page) {
+ log("ERROR: WebView not found - rebooting...");
+ run("shutdown /r /t 1");
+ return false;
+ }
+
+ ws = new WebSocket(page.webSocketDebuggerUrl);
+ await new Promise((resolve, reject) => {
+ ws.on("open", resolve);
+ ws.on("error", reject);
+ });
+
+ await send("DOM.enable");
+ await send("Runtime.enable");
+ await send("Input.enable");
+
+ const url = page.url || "";
+ const isADFS = url.includes("adfs");
+
+ if (isADFS) {
+ if (await waitForSelector("#passwordInput", 15000)) {
+ await typeText("#passwordInput", CONFIG.password);
+ await sleep(500);
+ await clickSubmit();
+ await sleep(3000);
+ }
+ } else {
+ if (await waitForSelector('input[type="email"]', 5000)) {
+ await typeText('input[type="email"]', CONFIG.email);
+ await sleep(500);
+ await clickSubmit();
+ await sleep(3000);
+ }
+ if (await waitForSelector('input[type="password"]', 15000)) {
+ await typeText('input[type="password"]', CONFIG.password);
+ await sleep(500);
+ await clickSubmit();
+ await sleep(3000);
+ }
+ }
+
+ // TOTP
+ if (await waitForSelector('input[name="otc"]', 15000)) {
+ await sleep(500);
+ const totp = authenticator.generate(CONFIG.totpSecret);
+ log("TOTP: " + totp);
+ await typeText('input[name="otc"]', totp);
+ await sleep(500);
+ await clickSubmit();
+ await sleep(3000);
+ }
+
+ // Stay signed in - No
+ if (await waitForSelector("#idBtn_Back", 5000)) {
+ await click("#idBtn_Back");
+ }
+
+ await sleep(2000);
+ ws.close();
+
+ // Verify reconnection
+ const verified = await verifyVpnConnection();
+ if (verified) {
+ log("Reconnection successful!");
+ // Restart socks5
+ run("taskkill /F /IM node.exe /FI \"WINDOWTITLE eq socks5\"");
+ spawn("node", ["C:\\Users\\alexz\\vpn_scripts\\socks5.js"], {
+ detached: true,
+ stdio: "ignore",
+ windowsHide: true
+ }).unref();
+ return true;
+ }
+
+ log("Reconnection failed");
+ return false;
+}
+
+main().catch(err => {
+ log("ERROR: " + err.message);
+ process.exit(1);
+});
diff --git a/apps/rego-tunnel/build/rego/vpn.bat b/apps/rego-tunnel/build/rego/vpn.bat
new file mode 100755
index 0000000..a9ed48f
--- /dev/null
+++ b/apps/rego-tunnel/build/rego/vpn.bat
@@ -0,0 +1,4 @@
+@echo off
+cd /d C:\Users\alexz\vpn_scripts\
+node vpn-login.js
+pause
diff --git a/apps/rego-tunnel/build/src/define.sh b/apps/rego-tunnel/build/src/define.sh
new file mode 100755
index 0000000..d8050cd
--- /dev/null
+++ b/apps/rego-tunnel/build/src/define.sh
@@ -0,0 +1,1944 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+
+: "${KEY:=""}"
+: "${WIDTH:=""}"
+: "${HEIGHT:=""}"
+: "${VERIFY:=""}"
+: "${REGION:=""}"
+: "${EDITION:=""}"
+: "${MANUAL:=""}"
+: "${REMOVE:=""}"
+: "${VERSION:=""}"
+: "${DETECTED:=""}"
+: "${KEYBOARD:=""}"
+: "${LANGUAGE:=""}"
+: "${USERNAME:=""}"
+: "${PASSWORD:=""}"
+
+MIRRORS=4
+
+parseVersion() {
+
+ if [[ "${VERSION}" == \"*\" || "${VERSION}" == \'*\' ]]; then
+ VERSION="${VERSION:1:-1}"
+ fi
+
+ VERSION=$(expr "$VERSION" : "^\ *\(.*[^ ]\)\ *$")
+ [ -z "$VERSION" ] && VERSION="win11"
+
+ case "${VERSION,,}" in
+ "11" | "11p" | "win11" | "pro11" | "win11p" | "windows11" | "windows 11" )
+ VERSION="win11x64"
+ ;;
+ "11e" | "win11e" | "windows11e" | "windows 11e" )
+ VERSION="win11x64-enterprise-eval"
+ ;;
+ "11i" | "11iot" | "iot11" | "win11i" | "win11-iot" | "win11x64-iot" )
+ VERSION="win11x64-enterprise-iot-eval"
+ [ -z "$DETECTED" ] && DETECTED="win11x64-iot"
+ ;;
+ "11l" | "11ltsc" | "ltsc11" | "win11l" | "win11-ltsc" | "win11x64-ltsc" )
+ VERSION="win11x64-enterprise-ltsc-eval"
+ [ -z "$DETECTED" ] && DETECTED="win11x64-ltsc"
+ ;;
+ "10" | "10p" | "win10" | "pro10" | "win10p" | "windows10" | "windows 10" )
+ VERSION="win10x64"
+ ;;
+ "10e" | "win10e" | "windows10e" | "windows 10e" )
+ VERSION="win10x64-enterprise-eval"
+ ;;
+ "10i" | "10iot" | "iot10" | "win10i" | "win10-iot" | "win10x64-iot" )
+ VERSION="win10x64-enterprise-iot-eval"
+ [ -z "$DETECTED" ] && DETECTED="win10x64-iot"
+ ;;
+ "10l" | "10ltsc" | "ltsc10" | "win10l" | "win10-ltsc" | "win10x64-ltsc" )
+ VERSION="win10x64-enterprise-ltsc-eval"
+ [ -z "$DETECTED" ] && DETECTED="win10x64-ltsc"
+ ;;
+ "8" | "8p" | "81" | "81p" | "pro8" | "8.1" | "win8" | "win8p" | "win81" | "win81p" | "windows 8" )
+ VERSION="win81x64"
+ ;;
+ "8e" | "81e" | "8.1e" | "win8e" | "win81e" | "windows 8e" )
+ VERSION="win81x64-enterprise-eval"
+ ;;
+ "7" | "win7" | "windows7" | "windows 7" )
+ VERSION="win7x64"
+ [ -z "$DETECTED" ] && DETECTED="win7x64-ultimate"
+ ;;
+ "7u" | "win7u" | "windows7u" | "windows 7u" )
+ VERSION="win7x64-ultimate"
+ ;;
+ "7e" | "win7e" | "windows7e" | "windows 7e" )
+ VERSION="win7x64-enterprise"
+ ;;
+ "7x86" | "win7x86" | "win732" | "windows7x86" )
+ VERSION="win7x86"
+ [ -z "$DETECTED" ] && DETECTED="win7x86-ultimate"
+ ;;
+ "7ux86" | "7u32" | "win7x86-ultimate" )
+ VERSION="win7x86-ultimate"
+ ;;
+ "7ex86" | "7e32" | "win7x86-enterprise" )
+ VERSION="win7x86-enterprise"
+ ;;
+ "vista" | "vs" | "6" | "winvista" | "windowsvista" | "windows vista" )
+ VERSION="winvistax64"
+ [ -z "$DETECTED" ] && DETECTED="winvistax64-ultimate"
+ ;;
+ "vistu" | "vu" | "6u" | "winvistu" )
+ VERSION="winvistax64-ultimate"
+ ;;
+ "viste" | "ve" | "6e" | "winviste" )
+ VERSION="winvistax64-enterprise"
+ ;;
+ "vistax86" | "vista32" | "6x86" | "winvistax86" | "windowsvistax86" )
+ VERSION="winvistax86"
+ [ -z "$DETECTED" ] && DETECTED="winvistax86-ultimate"
+ ;;
+ "vux86" | "vu32" | "winvistax86-ultimate" )
+ VERSION="winvistax86-ultimate"
+ ;;
+ "vex86" | "ve32" | "winvistax86-enterprise" )
+ VERSION="winvistax86-enterprise"
+ ;;
+ "xp" | "xp32" | "xpx86" | "5" | "5x86" | "winxp" | "winxp86" | "windowsxp" | "windows xp" )
+ VERSION="winxpx86"
+ ;;
+ "xp64" | "xpx64" | "5x64" | "winxp64" | "winxpx64" | "windowsxp64" | "windowsxpx64" )
+ VERSION="winxpx64"
+ ;;
+ "2k" | "2000" | "win2k" | "win2000" | "windows2k" | "windows2000" )
+ VERSION="win2kx86"
+ ;;
+ "25" | "2025" | "win25" | "win2025" | "windows2025" | "windows 2025" )
+ VERSION="win2025-eval"
+ ;;
+ "22" | "2022" | "win22" | "win2022" | "windows2022" | "windows 2022" )
+ VERSION="win2022-eval"
+ ;;
+ "19" | "2019" | "win19" | "win2019" | "windows2019" | "windows 2019" )
+ VERSION="win2019-eval"
+ ;;
+ "16" | "2016" | "win16" | "win2016" | "windows2016" | "windows 2016" )
+ VERSION="win2016-eval"
+ ;;
+ "hv" | "hyperv" | "hyper v" | "hyper-v" | "19hv" | "2019hv" | "win2019hv" )
+ VERSION="win2019-hv"
+ ;;
+ "2012" | "2012r2" | "win2012" | "win2012r2" | "windows2012" | "windows 2012" )
+ VERSION="win2012r2-eval"
+ ;;
+ "2008" | "2008r2" | "win2008" | "win2008r2" | "windows2008" | "windows 2008" )
+ VERSION="win2008r2"
+ ;;
+ "2003" | "2003r2" | "win2003" | "win2003r2" | "windows2003" | "windows 2003" )
+ VERSION="win2003r2"
+ ;;
+ "nano11" | "nano 11" )
+ VERSION="nano11"
+ [ -z "$DETECTED" ] && DETECTED="win11x64"
+ ;;
+ "core11" | "core 11" )
+ VERSION="core11"
+ [ -z "$DETECTED" ] && DETECTED="win11x64"
+ ;;
+ "tiny11" | "tiny 11" )
+ VERSION="tiny11"
+ [ -z "$DETECTED" ] && DETECTED="win11x64"
+ ;;
+ "tiny10" | "tiny 10" )
+ VERSION="tiny10"
+ [ -z "$DETECTED" ] && DETECTED="win10x64-ltsc"
+ ;;
+ esac
+
+ return 0
+}
+
+getLanguage() {
+
+ local id="$1"
+ local ret="$2"
+ local lang=""
+ local desc=""
+ local short=""
+ local culture=""
+
+ case "${id,,}" in
+ "ar" | "ar-"* )
+ short="ar"
+ lang="Arabic"
+ desc="$lang"
+ culture="ar-SA" ;;
+ "bg" | "bg-"* )
+ short="bg"
+ lang="Bulgarian"
+ desc="$lang"
+ culture="bg-BG" ;;
+ "cs" | "cs-"* | "cz" | "cz-"* )
+ short="cs"
+ lang="Czech"
+ desc="$lang"
+ culture="cs-CZ" ;;
+ "da" | "da-"* | "dk" | "dk-"* )
+ short="da"
+ lang="Danish"
+ desc="$lang"
+ culture="da-DK" ;;
+ "de" | "de-"* )
+ short="de"
+ lang="German"
+ desc="$lang"
+ culture="de-DE" ;;
+ "el" | "el-"* | "gr" | "gr-"* )
+ short="el"
+ lang="Greek"
+ desc="$lang"
+ culture="el-GR" ;;
+ "gb" | "en-gb" )
+ short="en-gb"
+ lang="English International"
+ desc="English"
+ culture="en-GB" ;;
+ "en" | "en-"* )
+ short="en"
+ lang="English"
+ desc="English"
+ culture="en-US" ;;
+ "mx" | "es-mx" )
+ short="mx"
+ lang="Spanish (Mexico)"
+ desc="Spanish"
+ culture="es-MX" ;;
+ "es" | "es-"* )
+ short="es"
+ lang="Spanish"
+ desc="$lang"
+ culture="es-ES" ;;
+ "et" | "et-"* )
+ short="et"
+ lang="Estonian"
+ desc="$lang"
+ culture="et-EE" ;;
+ "fi" | "fi-"* )
+ short="fi"
+ lang="Finnish"
+ desc="$lang"
+ culture="fi-FI" ;;
+ "ca" | "fr-ca" )
+ short="ca"
+ lang="French Canadian"
+ desc="French"
+ culture="fr-CA" ;;
+ "fr" | "fr-"* )
+ short="fr"
+ lang="French"
+ desc="$lang"
+ culture="fr-FR" ;;
+ "he" | "he-"* | "il" | "il-"* )
+ short="he"
+ lang="Hebrew"
+ desc="$lang"
+ culture="he-IL" ;;
+ "hr" | "hr-"* | "cr" | "cr-"* )
+ short="hr"
+ lang="Croatian"
+ desc="$lang"
+ culture="hr-HR" ;;
+ "hu" | "hu-"* )
+ short="hu"
+ lang="Hungarian"
+ desc="$lang"
+ culture="hu-HU" ;;
+ "it" | "it-"* )
+ short="it"
+ lang="Italian"
+ desc="$lang"
+ culture="it-IT" ;;
+ "ja" | "ja-"* | "jp" | "jp-"* )
+ short="ja"
+ lang="Japanese"
+ desc="$lang"
+ culture="ja-JP" ;;
+ "ko" | "ko-"* | "kr" | "kr-"* )
+ short="ko"
+ lang="Korean"
+ desc="$lang"
+ culture="ko-KR" ;;
+ "lt" | "lt-"* )
+ short="lt"
+ lang="Lithuanian"
+ desc="$lang"
+ culture="lt-LT" ;;
+ "lv" | "lv-"* )
+ short="lv"
+ lang="Latvian"
+ desc="$lang"
+ culture="lv-LV" ;;
+ "nb" | "nb-"* |"nn" | "nn-"* | "no" | "no-"* )
+ short="no"
+ lang="Norwegian"
+ desc="$lang"
+ culture="nb-NO" ;;
+ "nl" | "nl-"* )
+ short="nl"
+ lang="Dutch"
+ desc="$lang"
+ culture="nl-NL" ;;
+ "pl" | "pl-"* )
+ short="pl"
+ lang="Polish"
+ desc="$lang"
+ culture="pl-PL" ;;
+ "br" | "pt-br" )
+ short="pt"
+ lang="Brazilian Portuguese"
+ desc="Portuguese"
+ culture="pt-BR" ;;
+ "pt" | "pt-"* )
+ short="pp"
+ lang="Portuguese"
+ desc="$lang"
+ culture="pt-BR" ;;
+ "ro" | "ro-"* )
+ short="ro"
+ lang="Romanian"
+ desc="$lang"
+ culture="ro-RO" ;;
+ "ru" | "ru-"* )
+ short="ru"
+ lang="Russian"
+ desc="$lang"
+ culture="ru-RU" ;;
+ "sk" | "sk-"* )
+ short="sk"
+ lang="Slovak"
+ desc="$lang"
+ culture="sk-SK" ;;
+ "sl" | "sl-"* | "si" | "si-"* )
+ short="sl"
+ lang="Slovenian"
+ desc="$lang"
+ culture="sl-SI" ;;
+ "sr" | "sr-"* )
+ short="sr"
+ lang="Serbian Latin"
+ desc="Serbian"
+ culture="sr-Latn-RS" ;;
+ "sv" | "sv-"* | "se" | "se-"* )
+ short="sv"
+ lang="Swedish"
+ desc="$lang"
+ culture="sv-SE" ;;
+ "th" | "th-"* )
+ short="th"
+ lang="Thai"
+ desc="$lang"
+ culture="th-TH" ;;
+ "tr" | "tr-"* )
+ short="tr"
+ lang="Turkish"
+ desc="$lang"
+ culture="tr-TR" ;;
+ "ua" | "ua-"* | "uk" | "uk-"* )
+ short="uk"
+ lang="Ukrainian"
+ desc="$lang"
+ culture="uk-UA" ;;
+ "hk" | "zh-hk" | "cn-hk" )
+ short="hk"
+ lang="Chinese (Traditional)"
+ desc="Chinese HK"
+ culture="zh-TW" ;;
+ "tw" | "zh-tw" | "cn-tw" )
+ short="tw"
+ lang="Chinese (Traditional)"
+ desc="Chinese TW"
+ culture="zh-TW" ;;
+ "zh" | "zh-"* | "cn" | "cn-"* )
+ short="cn"
+ lang="Chinese (Simplified)"
+ desc="Chinese"
+ culture="zh-CN" ;;
+ esac
+
+ case "${ret,,}" in
+ "desc" ) echo "$desc" ;;
+ "name" ) echo "$lang" ;;
+ "code" ) echo "$short" ;;
+ "culture" ) echo "$culture" ;;
+ *) echo "$desc";;
+ esac
+
+ return 0
+}
+
+parseLanguage() {
+
+ REGION="${REGION//_/-/}"
+ KEYBOARD="${KEYBOARD//_/-/}"
+ LANGUAGE="${LANGUAGE//_/-/}"
+
+ [ -z "$LANGUAGE" ] && LANGUAGE="en"
+
+ case "${LANGUAGE,,}" in
+ "arabic" | "arab" ) LANGUAGE="ar" ;;
+ "bulgarian" | "bu" ) LANGUAGE="bg" ;;
+ "chinese" | "cn" ) LANGUAGE="zh" ;;
+ "croatian" | "cr" | "hrvatski" ) LANGUAGE="hr" ;;
+ "czech" | "cz" | "cesky" ) LANGUAGE="cs" ;;
+ "danish" | "dk" | "danske" ) LANGUAGE="da" ;;
+ "dutch" | "nederlands" ) LANGUAGE="nl" ;;
+ "english" | "gb" | "british" ) LANGUAGE="en" ;;
+ "estonian" | "eesti" ) LANGUAGE="et" ;;
+ "finnish" | "suomi" ) LANGUAGE="fi" ;;
+ "french" | "français" | "francais" ) LANGUAGE="fr" ;;
+ "german" | "deutsch" ) LANGUAGE="de" ;;
+ "greek" | "gr" ) LANGUAGE="el" ;;
+ "hebrew" | "il" ) LANGUAGE="he" ;;
+ "hungarian" | "magyar" ) LANGUAGE="hu" ;;
+ "italian" | "italiano" ) LANGUAGE="it" ;;
+ "japanese" | "jp" ) LANGUAGE="ja" ;;
+ "korean" | "kr" ) LANGUAGE="ko" ;;
+ "latvian" | "latvijas" ) LANGUAGE="lv" ;;
+ "lithuanian" | "lietuvos" ) LANGUAGE="lt" ;;
+ "norwegian" | "no" | "nb" | "norsk" ) LANGUAGE="nn" ;;
+ "polish" | "polski" ) LANGUAGE="pl" ;;
+ "portuguese" | "pt" | "br" ) LANGUAGE="pt-br" ;;
+ "português" | "portugues" ) LANGUAGE="pt-br" ;;
+ "romanian" | "română" | "romana" ) LANGUAGE="ro" ;;
+ "russian" | "ruski" ) LANGUAGE="ru" ;;
+ "serbian" | "serbian latin" ) LANGUAGE="sr" ;;
+ "slovak" | "slovenský" | "slovensky" ) LANGUAGE="sk" ;;
+ "slovenian" | "si" | "slovenski" ) LANGUAGE="sl" ;;
+ "spanish" | "espanol" | "español" ) LANGUAGE="es" ;;
+ "swedish" | "se" | "svenska" ) LANGUAGE="sv" ;;
+ "turkish" | "türk" | "turk" ) LANGUAGE="tr" ;;
+ "thai" ) LANGUAGE="th" ;;
+ "ukrainian" | "ua" ) LANGUAGE="uk" ;;
+ esac
+
+ local culture
+ culture=$(getLanguage "$LANGUAGE" "culture")
+ [ -n "$culture" ] && return 0
+
+ error "Invalid LANGUAGE specified, value \"$LANGUAGE\" is not recognized!"
+ return 1
+}
+
+printVersion() {
+
+ local id="$1"
+ local desc="$2"
+
+ case "${id,,}" in
+ "tiny11"* ) desc="Tiny 11" ;;
+ "tiny10"* ) desc="Tiny 10" ;;
+ "core11"* ) desc="Core 11" ;;
+ "nano11"* ) desc="Nano 11" ;;
+ "win7"* ) desc="Windows 7" ;;
+ "win8"* ) desc="Windows 8" ;;
+ "win10"* ) desc="Windows 10" ;;
+ "win11"* ) desc="Windows 11" ;;
+ "winxp"* ) desc="Windows XP" ;;
+ "win9x"* ) desc="Windows ME" ;;
+ "win98"* ) desc="Windows 98" ;;
+ "win95"* ) desc="Windows 95" ;;
+ "win2k"* ) desc="Windows 2000" ;;
+ "winvista"* ) desc="Windows Vista" ;;
+ "win2019-hv"* ) desc="Hyper-V Server" ;;
+ "win2003"* ) desc="Windows Server 2003" ;;
+ "win2008"* ) desc="Windows Server 2008" ;;
+ "win2012"* ) desc="Windows Server 2012" ;;
+ "win2016"* ) desc="Windows Server 2016" ;;
+ "win2019"* ) desc="Windows Server 2019" ;;
+ "win2022"* ) desc="Windows Server 2022" ;;
+ "win2025"* ) desc="Windows Server 2025" ;;
+ esac
+
+ if [ -z "$desc" ]; then
+ desc="Windows"
+ [[ "${PLATFORM,,}" != "x64" ]] && desc+=" for ${PLATFORM}"
+ fi
+
+ echo "$desc"
+ return 0
+}
+
+printEdition() {
+
+ local id="$1"
+ local desc="$2"
+ local result=""
+ local edition=""
+
+ result=$(printVersion "$id" "x")
+ [[ "$result" == "x" ]] && echo "$desc" && return 0
+
+ case "${id,,}" in
+ *"-home" )
+ edition="Home"
+ ;;
+ *"-starter" )
+ edition="Starter"
+ ;;
+ *"-ultimate" )
+ edition="Ultimate"
+ ;;
+ *"-enterprise" )
+ edition="Enterprise"
+ ;;
+ *"-education" )
+ edition="Education"
+ ;;
+ *"-hv" )
+ edition="2019"
+ ;;
+ *"-iot" | *"-iot-eval" )
+ edition="LTSC"
+ ;;
+ *"-ltsc" | *"-ltsc-eval" )
+ edition="LTSC"
+ ;;
+ *"-enterprise-eval" )
+ edition="Enterprise (Evaluation)"
+ ;;
+ "win7"* )
+ edition="Professional"
+ ;;
+ "win8"* | "win10"* | "win11"* )
+ edition="Pro"
+ ;;
+ "winxp"* )
+ edition="Professional"
+ ;;
+ "winvista"* )
+ edition="Business"
+ ;;
+ "win2025"* | "win2022"* | "win2019"* | "win2016"* | "win2012"* | "win2008"* | "win2003"* )
+ case "${EDITION^^}" in
+ *"DATACENTER"* ) edition="Datacenter" ;;
+ "CORE" | "STANDARDCORE" ) edition="Core" ;;
+ * ) edition="Standard" ;;
+ esac
+ ;;
+ esac
+
+ [ -n "$edition" ] && result+=" $edition"
+
+ echo "$result"
+ return 0
+}
+
+fromFile() {
+
+ local id=""
+ local desc="$1"
+ local file="${1,,}"
+ local arch="${PLATFORM,,}"
+
+ file="${file//-/_}"
+ file="${file// /_}"
+
+ case "$file" in
+ *"_x64_"* | *"_x64."*)
+ arch="x64"
+ ;;
+ *"_x86_"* | *"_x86."*)
+ arch="x86"
+ ;;
+ *"_arm64_"* | *"_arm64."*)
+ arch="arm64"
+ ;;
+ esac
+
+ local add=""
+ [[ "$arch" != "x64" ]] && add="$arch"
+
+ case "$file" in
+ "win7"* | "win_7"* | *"windows7"* | *"windows_7"* )
+ id="win7${arch}"
+ ;;
+ "win8"* | "win_8"* | *"windows8"* | *"windows_8"* )
+ id="win81${arch}"
+ ;;
+ "win10"*| "win_10"* | *"windows10"* | *"windows_10"* )
+ id="win10${arch}"
+ ;;
+ "win11"* | "win_11"* | *"windows11"* | *"windows_11"* )
+ id="win11${arch}"
+ ;;
+ *"winxp"* | *"win_xp"* | *"windowsxp"* | *"windows_xp"* )
+ id="winxpx86"
+ ;;
+ *"winvista"* | *"win_vista"* | *"windowsvista"* | *"windows_vista"* )
+ id="winvista${arch}"
+ ;;
+ "nano11"* | "nano_11"* )
+ id="nano11"
+ ;;
+ "tiny11core"* | "tiny11_core"* | "tiny_11_core"* )
+ id="core11"
+ ;;
+ "tiny11"* | "tiny_11"* )
+ id="tiny11"
+ ;;
+ "tiny10"* | "tiny_10"* )
+ id="tiny10"
+ ;;
+ *"_serverhypercore_"* )
+ id="win2019${add}-hv"
+ ;;
+ *"server2025"* | *"server_2025"* )
+ id="win2025${add}"
+ ;;
+ *"server2022"* | *"server_2022"* )
+ id="win2022${add}"
+ ;;
+ *"server2019"* | *"server_2019"* )
+ id="win2019${add}"
+ ;;
+ *"server2016"* | *"server_2016"* )
+ id="win2016${add}"
+ ;;
+ *"server2012"* | *"server_2012"* )
+ id="win2012r2${add}"
+ ;;
+ *"server2008"* | *"server_2008"* )
+ id="win2008r2${add}"
+ ;;
+ *"server2003"* | *"server_2003"* )
+ id="win2003r2${add}"
+ ;;
+ esac
+
+ if [ -n "$id" ]; then
+ desc=$(printVersion "$id" "$desc")
+ fi
+
+ echo "$desc"
+ return 0
+}
+
+fromName() {
+
+ local id=""
+ local name="$1"
+ local arch="$2"
+
+ local add=""
+ [[ "$arch" != "x64" ]] && add="$arch"
+
+ case "${name,,}" in
+ *"windows 7"* ) id="win7${arch}" ;;
+ *"windows 8"* ) id="win81${arch}" ;;
+ *"windows 10"* ) id="win10${arch}" ;;
+ *"optimum 10"* ) id="win10${arch}" ;;
+ *"windows 11"* ) id="win11${arch}" ;;
+ *"optimum 11"* ) id="win11${arch}" ;;
+ *"windows vista"* ) id="winvista${arch}" ;;
+ *"server 2025"* ) id="win2025${add}" ;;
+ *"server 2022"* ) id="win2022${add}" ;;
+ *"server 2019"* ) id="win2019${add}" ;;
+ *"server 2016"* ) id="win2016${add}" ;;
+ *"server 2012"* ) id="win2012r2${add}" ;;
+ *"server 2008"* ) id="win2008r2${add}" ;;
+ *"server 2003"* ) id="win2003r2${add}" ;;
+ *"hyper-v server"* ) id="win2019${add}" ;;
+ esac
+
+ echo "$id"
+ return 0
+}
+
+getVersion() {
+
+ local id
+ local name="$1"
+ local arch="$2"
+
+ id=$(fromName "$name" "$arch")
+
+ case "${id,,}" in
+ "win7"* | "winvista"* )
+ case "${name,,}" in
+ *" home"* ) id="$id-home" ;;
+ *" starter"* ) id="$id-starter" ;;
+ *" ultimate"* ) id="$id-ultimate" ;;
+ *" enterprise evaluation"* ) id="$id-enterprise-eval" ;;
+ *" enterprise"* ) id="$id-enterprise" ;;
+ esac
+ ;;
+ "win8"* )
+ case "${name,,}" in
+ *" enterprise evaluation"* ) id="$id-enterprise-eval" ;;
+ *" enterprise"* ) id="$id-enterprise" ;;
+ esac
+ ;;
+ "win10"* | "win11"* )
+ case "${name,,}" in
+ *" iot"* ) id="$id-iot" ;;
+ *" ltsc"* ) id="$id-ltsc" ;;
+ *" home"* ) id="$id-home" ;;
+ *" education"* ) id="$id-education" ;;
+ *" enterprise evaluation"* ) id="$id-enterprise-eval" ;;
+ *" enterprise"* ) id="$id-enterprise" ;;
+ esac
+ ;;
+ "win2025"* | "win2022"* | "win2019"* | "win2016"* | "win2012"* | "win2008"* | "win2003"* )
+ case "${name,,}" in
+ *" evaluation"* ) id="$id-eval" ;;
+ *"hyper-v server"* ) id="$id-hv" ;;
+ esac
+ ;;
+ esac
+
+ echo "$id"
+ return 0
+}
+
+switchEdition() {
+
+ local id="$1"
+
+ if [[ "${id,,}" == *"-eval" ]]; then
+ [ -z "$DETECTED" ] && DETECTED="${id::-5}"
+ fi
+
+ return 0
+}
+
+getMido() {
+
+ local id="$1"
+ local lang="$2"
+ local ret="$3"
+ local url=""
+ local sum=""
+ local size=""
+
+ [[ "${lang,,}" != "en" && "${lang,,}" != "en-us" ]] && return 0
+
+ case "${id,,}" in
+ "win11x64" )
+ size=7736125440
+ sum="d141f6030fed50f75e2b03e1eb2e53646c4b21e5386047cb860af5223f102a32"
+ url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26200.6584.250915-1905.25h2_ge_release_svc_refresh_CLIENT_CONSUMER_x64FRE_en-us.iso"
+ ;;
+ "win11x64-enterprise-eval" )
+ size=7092807680
+ sum="a61adeab895ef5a4db436e0a7011c92a2ff17bb0357f58b13bbc4062e535e7b9"
+ url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26200.6584.250915-1905.25h2_ge_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso"
+ ;;
+ "win11x64-enterprise-iot-eval" | "win11x64-enterprise-ltsc-eval" )
+ size=5060020224
+ sum="2cee70bd183df42b92a2e0da08cc2bb7a2a9ce3a3841955a012c0f77aeb3cb29"
+ url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26100.1.240331-1435.ge_release_CLIENT_IOT_LTSC_EVAL_x64FRE_en-us.iso"
+ ;;
+ "win10x64" )
+ size=6140975104
+ sum="a6f470ca6d331eb353b815c043e327a347f594f37ff525f17764738fe812852e"
+ ;;
+ "win10x64-enterprise-eval" )
+ size=5550497792
+ sum="ef7312733a9f5d7d51cfa04ac497671995674ca5e1058d5164d6028f0938d668"
+ url="https://software-static.download.prss.microsoft.com/dbazure/988969d5-f34g-4e03-ac9d-1f9786c66750/19045.2006.220908-0225.22h2_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso"
+ ;;
+ "win10x64-enterprise-ltsc-eval" )
+ size=4898582528
+ sum="e4ab2e3535be5748252a8d5d57539a6e59be8d6726345ee10e7afd2cb89fefb5"
+ url="https://software-download.microsoft.com/download/pr/19044.1288.211006-0501.21h2_release_svc_refresh_CLIENT_LTSC_EVAL_x64FRE_en-us.iso"
+ ;;
+ "win81x64-enterprise-eval" )
+ size=3961473024
+ sum="2dedd44c45646c74efc5a028f65336027e14a56f76686a4631cf94ffe37c72f2"
+ url="https://download.microsoft.com/download/B/9/9/B999286E-0A47-406D-8B3D-5B5AD7373A4A/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_ENTERPRISE_EVAL_EN-US-IR3_CENA_X64FREE_EN-US_DV9.ISO"
+ ;;
+ "win2025-eval" )
+ size=6014152704
+ sum="d0ef4502e350e3c6c53c15b1b3020d38a5ded011bf04998e950720ac8579b23d"
+ url="https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26100.1742.240906-0331.ge_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso"
+ ;;
+ "win2022-eval" )
+ size=5044094976
+ sum="3e4fa6d8507b554856fc9ca6079cc402df11a8b79344871669f0251535255325"
+ url="https://software-static.download.prss.microsoft.com/sg/download/888969d5-f34g-4e03-ac9d-1f9786c66749/SERVER_EVAL_x64FRE_en-us.iso"
+ ;;
+ "win2019-eval" )
+ size=5652088832
+ sum="6dae072e7f78f4ccab74a45341de0d6e2d45c39be25f1f5920a2ab4f51d7bcbb"
+ url="https://software-download.microsoft.com/download/pr/17763.737.190906-2324.rs5_release_svc_refresh_SERVER_EVAL_x64FRE_en-us_1.iso"
+ ;;
+ "win2019-hv" )
+ size=3072712704
+ sum="48e9b944518e5bbc80876a9a7ff99716f386f404f4be48dca47e16a66ae7872c"
+ url="https://software-download.microsoft.com/download/pr/17763.557.190612-0019.rs5_release_svc_refresh_SERVERHYPERCORE_OEM_x64FRE_en-us.ISO"
+ ;;
+ "win2016-eval" )
+ size=6972221440
+ sum="1ce702a578a3cb1ac3d14873980838590f06d5b7101c5daaccbac9d73f1fb50f"
+ url="https://software-download.microsoft.com/download/pr/Windows_Server_2016_Datacenter_EVAL_en-us_14393_refresh.ISO"
+ ;;
+ "win2012r2-eval" )
+ size=4542291968
+ sum="6612b5b1f53e845aacdf96e974bb119a3d9b4dcb5b82e65804ab7e534dc7b4d5"
+ url="https://download.microsoft.com/download/6/2/A/62A76ABB-9990-4EFC-A4FE-C7D698DAEB96/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_EN-US-IR3_SSS_X64FREE_EN-US_DV9.ISO"
+ ;;
+ "win2008r2" )
+ size=3166840832
+ sum="30832ad76ccfa4ce48ccb936edefe02079d42fb1da32201bf9e3a880c8ed6312"
+ url="https://download.microsoft.com/download/4/1/D/41DEA7E0-B30D-4012-A1E3-F24DC03BA1BB/7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso"
+ ;;
+ esac
+
+ case "${ret,,}" in
+ "sum" ) echo "$sum" ;;
+ "size" ) echo "$size" ;;
+ *) echo "$url";;
+ esac
+
+ return 0
+}
+
+getLink1() {
+
+ # Fallbacks for users who cannot connect to the Microsoft servers
+
+ local id="$1"
+ local lang="$2"
+ local ret="$3"
+ local url=""
+ local sum=""
+ local size=""
+ local host="https://dl.bobpony.com/windows"
+
+ [[ "${lang,,}" != "en" && "${lang,,}" != "en-us" ]] && return 0
+
+ case "${id,,}" in
+ "win11x64" | "win11x64-enterprise" | "win11x64-enterprise-eval" )
+ size=5332989952
+ sum="aa1ad990f930d907b7a34ea897abbb0dfbe47552ca8acc146f92e40381839e05"
+ url="11/en-us_windows_11_24h2_x64.iso"
+ ;;
+ "win11x64-iot" | "win11x64-enterprise-iot" | "win11x64-enterprise-iot-eval" )
+ size=5144817664
+ sum="4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a"
+ url="11/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso"
+ ;;
+ "win11x64-ltsc" | "win11x64-enterprise-ltsc" | "win11x64-enterprise-ltsc-eval" )
+ size=5144817664
+ sum="4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a"
+ url="11/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso"
+ ;;
+ "win10x64" | "win10x64-enterprise" | "win10x64-enterprise-eval" )
+ size=5535252480
+ sum="557871965263d0fd0a1ea50b5d0d0d7cb04a279148ca905c1c675c9bc0d5486c"
+ url="10/en-us_windows_10_22h2_x64.iso"
+ ;;
+ "win10x64-iot" | "win10x64-enterprise-iot" | "win10x64-enterprise-iot-eval" )
+ size=4851668992
+ sum="a0334f31ea7a3e6932b9ad7206608248f0bd40698bfb8fc65f14fc5e4976c160"
+ url="10/en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f.iso"
+ ;;
+ "win10x64-ltsc" | "win10x64-enterprise-ltsc" | "win10x64-enterprise-ltsc-eval" )
+ size=4899461120
+ sum="c90a6df8997bf49e56b9673982f3e80745058723a707aef8f22998ae6479597d"
+ url="10/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso"
+ ;;
+ "win81x64" )
+ size=4320526336
+ sum="d8333cf427eb3318ff6ab755eb1dd9d433f0e2ae43745312c1cd23e83ca1ce51"
+ url="8.x/8.1/en_windows_8.1_with_update_x64_dvd_6051480.iso"
+ ;;
+ "win81x64-enterprise" | "win81x64-enterprise-eval" )
+ size=4139163648
+ sum="c3c604c03677504e8905090a8ce5bb1dde76b6fd58e10f32e3a25bef21b2abe1"
+ url="8.x/8.1/en_windows_8.1_enterprise_with_update_x64_dvd_6054382.iso"
+ ;;
+ "win2025" | "win2025-eval" )
+ size=7571058688
+ sum="d273d0a85565ffbc06a3d46313f619103e2830a3373306ddbb9a08b8824f509d"
+ url="server/2025/en-us_windows_server_2025_updated_oct_2025_x64_dvd_6c0c5aa8.iso"
+ ;;
+ "win2022" | "win2022-eval" )
+ size=6023239680
+ sum="5d6d91efa972cbdd6701d78db1dcf6a34c7024ca931c1718e7cb3d0c6dd54e88"
+ url="server/2022/en-us_windows_server_2022_updated_oct_2025_x64_dvd_26e9af36.iso"
+ ;;
+ "win2019" | "win2019-eval" )
+ size=5575774208
+ sum="0067afe7fdc4e61f677bd8c35a209082aa917df9c117527fc4b2b52a447e89bb"
+ url="server/2019/en-us_windows_server_2019_updated_aug_2021_x64_dvd_a6431a28.iso"
+ ;;
+ "win2016" | "win2016-eval" )
+ size=6006587392
+ sum="af06e5483c786c023123e325cea4775050324d9e1366f46850b515ae43f764be"
+ url="server/2016/en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso"
+ ;;
+ "win2012r2" | "win2012r2-eval" )
+ size=5397889024
+ sum="f351e89eb88a96af4626ceb3450248b8573e3ed5924a4e19ea891e6003b62e4e"
+ url="server/2012r2/en_windows_server_2012_r2_with_update_x64_dvd_6052708-004.iso"
+ ;;
+ "win2008r2" | "win2008r2-eval" )
+ size=3166584832
+ sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
+ url="server/2008r2/en_windows_server_2008_r2_with_sp1_x64_dvd_617601-018.iso"
+ ;;
+ "win7x64" | "win7x64-ultimate" )
+ size=3320836096
+ sum="0b738b55a5ea388ad016535a5c8234daf2e5715a0638488ddd8a228a836055a1"
+ url="7/en_windows_7_with_sp1_x64.iso"
+ ;;
+ "win7x64-enterprise" | "win7x64-enterprise-eval" )
+ size=3182604288
+ sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
+ url="7/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
+ ;;
+ "win7x86" | "win7x86-ultimate" )
+ size=2564411392
+ sum="99f3369c90160816be07093dbb0ac053e0a84e52d6ed1395c92ae208ccdf67e5"
+ url="7/en_windows_7_with_sp1_x86.iso"
+ ;;
+ "win7x86-enterprise" | "win7x86-enterprise-eval" )
+ size=2434502656
+ sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
+ url="7/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
+ ;;
+ "winvistax64" | "winvistax64-ultimate" )
+ size=3861460992
+ sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
+ url="vista/en_windows_vista_sp2_x64_dvd_342267.iso"
+ ;;
+ "winvistax86" | "winvistax86-ultimate" )
+ size=3243413504
+ sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
+ url="vista/en_windows_vista_with_sp2_x86_dvd_342266.iso"
+ ;;
+ "win2003r2" )
+ size=731650535
+ sum="6b64bbae7eb00fd000cc887ffdc9f224d00c557daad7f756cfa373950b880dc8"
+ url="server/2003r2/en_win_srv_2003_r2_standard_x64_with_sp2_cd1_cd2.zip"
+ ;;
+ "winxpx86" )
+ size=617756672
+ sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
+ url="xp/professional/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso"
+ ;;
+ "winxpx64" )
+ size=614166528
+ sum="8fac68e1e56c64ad9a2aa0ad464560282e67fa4f4dd51d09a66f4e548eb0f2d6"
+ url="xp/professional/en_win_xp_pro_x64_vl.iso"
+ ;;
+ "win2kx86" )
+ size=331701982
+ sum="a93251b31f92316411bb48458a695d9051b13cdeba714c46f105012fdda45bf3"
+ url="2000/5.00.2195.6717_x86fre_client-professional_retail_en-us.7z"
+ ;;
+ esac
+
+ case "${ret,,}" in
+ "sum" ) echo "$sum" ;;
+ "size" ) echo "$size" ;;
+ *) [ -n "$url" ] && echo "$host/$url";;
+ esac
+
+ return 0
+}
+
+getLink2() {
+
+ local id="$1"
+ local lang="$2"
+ local ret="$3"
+ local url=""
+ local sum=""
+ local size=""
+ local host="https://files.dog/MSDN"
+
+ [[ "${lang,,}" != "en" && "${lang,,}" != "en-us" ]] && return 0
+
+ case "${id,,}" in
+ "win81x64" )
+ size=4320526336
+ sum="d8333cf427eb3318ff6ab755eb1dd9d433f0e2ae43745312c1cd23e83ca1ce51"
+ url="Windows%208.1%20with%20Update/en_windows_8.1_with_update_x64_dvd_6051480.iso"
+ ;;
+ "win81x64-enterprise" | "win81x64-enterprise-eval" )
+ size=4139163648
+ sum="c3c604c03677504e8905090a8ce5bb1dde76b6fd58e10f32e3a25bef21b2abe1"
+ url="Windows%208.1%20with%20Update/en_windows_8.1_enterprise_with_update_x64_dvd_6054382.iso"
+ ;;
+ "win2012r2" | "win2012r2-eval" )
+ size=5397889024
+ sum="f351e89eb88a96af4626ceb3450248b8573e3ed5924a4e19ea891e6003b62e4e"
+ url="Windows%20Server%202012%20R2%20with%20Update/en_windows_server_2012_r2_with_update_x64_dvd_6052708.iso"
+ ;;
+ "win2008r2" | "win2008r2-eval" )
+ size=3166584832
+ sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
+ url="Windows%20Server%202008%20R2/en_windows_server_2008_r2_with_sp1_x64_dvd_617601.iso"
+ ;;
+ "win7x64" | "win7x64-ultimate" )
+ size=3320903680
+ sum="36f4fa2416d0982697ab106e3a72d2e120dbcdb6cc54fd3906d06120d0653808"
+ url="Windows%207/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso"
+ ;;
+ "win7x64-enterprise" | "win7x64-enterprise-eval" )
+ size=3182604288
+ sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
+ url="Windows%207/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
+ ;;
+ "win7x86" | "win7x86-ultimate" )
+ size=2564476928
+ sum="e2c009a66d63a742941f5087acae1aa438dcbe87010bddd53884b1af6b22c940"
+ url="Windows%207/en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso"
+ ;;
+ "win7x86-enterprise" | "win7x86-enterprise-eval" )
+ size=2434502656
+ sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
+ url="Windows%207/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
+ ;;
+ "winvistax64" | "winvistax64-ultimate" )
+ size=3861460992
+ sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
+ url="Windows%20Vista/en_windows_vista_sp2_x64_dvd_342267.iso"
+ ;;
+ "winvistax64-enterprise" )
+ size=3205953536
+ sum="0a0cd511b3eac95c6f081419c9c65b12317b9d6a8d9707f89d646c910e788016"
+ url="Windows%20Vista/en_windows_vista_enterprise_sp2_x64_dvd_342332.iso"
+ ;;
+ "winvistax86" | "winvistax86-ultimate" )
+ size=3243413504
+ sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
+ url="Windows%20Vista/en_windows_vista_with_sp2_x86_dvd_342266.iso"
+ ;;
+ "winvistax86-enterprise" )
+ size=2420981760
+ sum="54e2720004041e7db988a391543ea5228b0affc28efcf9303d2d0ff9402067f5"
+ url="Windows%20Vista/en_windows_vista_enterprise_sp2_x86_dvd_342329.iso"
+ ;;
+ "win2003r2" )
+ size=652367872
+ sum="74245cba888f935b138b106c2744bec7f392925b472358960a0b5643cd6abb32"
+ url="Windows%20Server%202003%20R2/en_win_srv_2003_r2_standard_x64_with_sp2_cd1_x13-05757.iso"
+ ;;
+ "winxpx86" )
+ size=617756672
+ sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
+ url="Windows%20XP/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso"
+ ;;
+ "winxpx64" )
+ size=614166528
+ sum="8fac68e1e56c64ad9a2aa0ad464560282e67fa4f4dd51d09a66f4e548eb0f2d6"
+ url="Windows%20XP/en_win_xp_pro_x64_vl.iso"
+ ;;
+ esac
+
+ case "${ret,,}" in
+ "sum" ) echo "$sum" ;;
+ "size" ) echo "$size" ;;
+ *) [ -n "$url" ] && echo "$host/$url";;
+ esac
+
+ return 0
+}
+
+getLink3() {
+
+ local id="$1"
+ local lang="$2"
+ local ret="$3"
+ local url=""
+ local sum=""
+ local size=""
+ local host="https://nixsys.com/drivers"
+
+ [[ "${lang,,}" != "en" && "${lang,,}" != "en-us" ]] && return 0
+
+ case "${id,,}" in
+ "win7x64" | "win7x64-ultimate" )
+ size=3319478272
+ sum="3286963e1476082ba882a5058c205c264772bead9e99e15cd1cb255f04b72900"
+ url="WINDOWS764_EN_DVD.iso"
+ ;;
+ "win7x86" | "win7x86-ultimate" )
+ size=2564784128
+ sum="bd4c03c917d00a40222d92a6fab04981a7bd46140bda1888eb961a322e3c5d89"
+ url="WINDOWS732_EN_DVD.iso"
+ ;;
+ "winxpx86" )
+ size=618065920
+ sum="8177d0137dfe4e8296a85793f140806c9250a5992c8e0e50158c742767ad1182"
+ url="WinXPsp3.iso"
+ ;;
+ "win2kx86" )
+ size=387424256
+ sum="08b11c3897eb38d1e6566a17cec5cdf2b3c620444e160e3db200a7e223aabbd8"
+ url="Windows_2000_SP4.iso"
+ esac
+
+ case "${ret,,}" in
+ "sum" ) echo "$sum" ;;
+ "size" ) echo "$size" ;;
+ *) [ -n "$url" ] && echo "$host/$url";;
+ esac
+
+ return 0
+}
+
+getLink4() {
+
+ local id="$1"
+ local lang="$2"
+ local ret="$3"
+ local url=""
+ local sum=""
+ local size=""
+ local host="https://archive.org/download"
+
+ [[ "${lang,,}" != "en" && "${lang,,}" != "en-us" ]] && return 0
+
+ case "${id,,}" in
+ "nano11" )
+ size=2463565824
+ sum="a1e0614372768cbe2d24de74b78a4a97bc1017ea5080dfed1d2125e4a527eb1a"
+ url="nano11_25h2/nano11%2025h2.iso"
+ ;;
+ "core11" )
+ size=3176654848
+ sum="29c055fcfb7b089abd9e007e7abe4bb82c70a03aac9d65e56a38b87ab32d04d2"
+ url="tiny11_25H2/tiny11core_25H2_Oct25.iso"
+ ;;
+ "tiny11" )
+ size=5514559488
+ sum="92484f2b7f707e42383294402a9eabbadeaa5ede80ac633390ae7f3537e36275"
+ url="tiny11_25H2/tiny11_25H2_Oct25.iso"
+ ;;
+ "tiny10" )
+ size=3839819776
+ sum="a11116c0645d892d6a5a7c585ecc1fa13aa66f8c7cc6b03bf1f27bd16860cc35"
+ url="tiny-10-23-h2/tiny10%20x64%2023h2.iso"
+ ;;
+ "win11x64" )
+ size=7736125440
+ sum="d141f6030fed50f75e2b03e1eb2e53646c4b21e5386047cb860af5223f102a32"
+ url="W11x64_26200.6584/26200.6584.250915-1905.25h2_ge_release_svc_refresh_CLIENT_CONSUMER_x64FRE_en-us.iso"
+ ;;
+ "win11x64-enterprise" | "win11x64-enterprise-eval" )
+ size=6209064960
+ sum="c8dbc96b61d04c8b01faf6ce0794fdf33965c7b350eaa3eb1e6697019902945c"
+ url="Windows11Enterprise23H2x64/22631.2428.231001-0608.23H2_NI_RELEASE_SVC_REFRESH_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso"
+ ;;
+ "win11x64-iot" | "win11x64-enterprise-iot" | "win11x64-enterprise-iot-eval" )
+ size=5144817664
+ sum="4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a"
+ url="Windows11LTSC/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso"
+ ;;
+ "win11x64-ltsc" | "win11x64-enterprise-ltsc" | "win11x64-enterprise-ltsc-eval" )
+ size=5144817664
+ sum="4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a"
+ url="Windows11LTSC/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso"
+ ;;
+ "win10x64" | "win10x64-enterprise" | "win10x64-enterprise-eval" )
+ size=6978310144
+ sum="7847abd6f39abd02dc8089c4177d354f9eb66fa0ee2fe8ae20e596e675d1ab67"
+ url="Windows-10-22H2-July-2024-64-bit-DVD-English/en-us_windows_10_business_editions_version_22h2_updated_july_2024_x64_dvd_c004521a.iso"
+ ;;
+ "win10x64-iot" | "win10x64-enterprise-iot" | "win10x64-enterprise-iot-eval" )
+ size=4851668992
+ sum="a0334f31ea7a3e6932b9ad7206608248f0bd40698bfb8fc65f14fc5e4976c160"
+ url="en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f_202411/en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f.iso"
+ ;;
+ "win10x64-ltsc" | "win10x64-enterprise-ltsc" | "win10x64-enterprise-ltsc-eval" )
+ size=4899461120
+ sum="c90a6df8997bf49e56b9673982f3e80745058723a707aef8f22998ae6479597d"
+ url="en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96_202302/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso"
+ ;;
+ "win81x64" )
+ size=4320526336
+ sum="d8333cf427eb3318ff6ab755eb1dd9d433f0e2ae43745312c1cd23e83ca1ce51"
+ url="en_windows_8.1_with_update_x64_dvd_6051480/en_windows_8.1_with_update_x64_dvd_6051480.iso"
+ ;;
+ "win81x64-enterprise" | "win81x64-enterprise-eval" )
+ size=4139163648
+ sum="c3c604c03677504e8905090a8ce5bb1dde76b6fd58e10f32e3a25bef21b2abe1"
+ url="en_windows_8.1_enterprise_with_update_x64_dvd/en_windows_8.1_enterprise_with_update_x64_dvd_6054382.iso"
+ ;;
+ "win2022" | "win2022-eval" )
+ size=5365624832
+ sum="c3c57bb2cf723973a7dcfb1a21e97dfa035753a7f111e348ad918bb64b3114db"
+ url="win-server-2022/2227-January_2024/en-us_windows_server_2022_updated_jan_2024_x64_dvd_2b7a0c9f.iso"
+ ;;
+ "win2019" | "win2019-eval" )
+ size=5575774208
+ sum="0067afe7fdc4e61f677bd8c35a209082aa917df9c117527fc4b2b52a447e89bb"
+ url="sw-dvd-9-win-server-std-core-2019-1809.18-64-bit-english-dc-std-mlf-x-22-74330/SW_DVD9_Win_Server_STD_CORE_2019_1809.18_64Bit_English_DC_STD_MLF_X22-74330.ISO"
+ ;;
+ "win2016" | "win2016-eval" )
+ size=6006587392
+ sum="af06e5483c786c023123e325cea4775050324d9e1366f46850b515ae43f764be"
+ url="en_windows_server_2016_updated_feb_2018_x64_dvd_11636692/en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso"
+ ;;
+ "win2012r2" | "win2012r2-eval" )
+ size=5397889024
+ sum="f351e89eb88a96af4626ceb3450248b8573e3ed5924a4e19ea891e6003b62e4e"
+ url="en_windows_server_2012_r2_with_update_x64_dvd_6052708_202006/en_windows_server_2012_r2_with_update_x64_dvd_6052708.iso"
+ ;;
+ "win2008r2" | "win2008r2-eval" )
+ size=3166584832
+ sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
+ url="en_windows_server_2008_r2_with_sp1_x64_dvd_617601_202006/en_windows_server_2008_r2_with_sp1_x64_dvd_617601.iso"
+ ;;
+ "win7x64" | "win7x64-ultimate" )
+ size=3320903680
+ sum="36f4fa2416d0982697ab106e3a72d2e120dbcdb6cc54fd3906d06120d0653808"
+ url="win7-ult-sp1-english/Win7_Ult_SP1_English_x64.iso"
+ ;;
+ "win7x64-enterprise" | "win7x64-enterprise-eval" )
+ size=3182604288
+ sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
+ url="en_windows_7_enterprise_with_sp1_x64_dvd_u_677651_202006/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
+ ;;
+ "win7x86" | "win7x86-ultimate" )
+ size=2564476928
+ sum="e2c009a66d63a742941f5087acae1aa438dcbe87010bddd53884b1af6b22c940"
+ url="win7-ult-sp1-english/Win7_Ult_SP1_English_x32.iso"
+ ;;
+ "win7x86-enterprise" | "win7x86-enterprise-eval" )
+ size=2434502656
+ sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
+ url="en_windows_7_enterprise_with_sp1_x86_dvd_u_677710_202006/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
+ ;;
+ "winvistax64" | "winvistax64-ultimate" )
+ size=3861460992
+ sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
+ url="en_windows_vista_sp2_x64_dvd_342267_202010/en_windows_vista_sp2_x64_dvd_342267.iso"
+ ;;
+ "winvistax64-enterprise" )
+ size=3205953536
+ sum="0a0cd511b3eac95c6f081419c9c65b12317b9d6a8d9707f89d646c910e788016"
+ url="en_windows_vista_enterprise_sp2_x64_dvd_342332_202007/en_windows_vista_enterprise_sp2_x64_dvd_342332.iso"
+ ;;
+ "winvistax86" | "winvistax86-ultimate" )
+ size=3243413504
+ sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
+ url="en_windows_vista_sp2_x86_dvd_342266/en_windows_vista_sp2_x86_dvd_342266.iso"
+ ;;
+ "winvistax86-enterprise" )
+ size=2420981760
+ sum="54e2720004041e7db988a391543ea5228b0affc28efcf9303d2d0ff9402067f5"
+ url="en_windows_vista_enterprise_sp2_x86_dvd_342329_202007/en_windows_vista_enterprise_sp2_x86_dvd_342329.iso"
+ ;;
+ "win2003r2" )
+ size=652367872
+ sum="74245cba888f935b138b106c2744bec7f392925b472358960a0b5643cd6abb32"
+ url="en_win_srv_2003_r2_standard_x64_with_sp2_cd1_x13-05757/en_win_srv_2003_r2_standard_x64_with_sp2_cd1_x13-05757.iso"
+ ;;
+ "winxpx86" )
+ size=617756672
+ sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
+ url="XPPRO_SP3_ENU/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso"
+ ;;
+ "winxpx64" )
+ size=614166528
+ sum="8fac68e1e56c64ad9a2aa0ad464560282e67fa4f4dd51d09a66f4e548eb0f2d6"
+ url="windows-xp-all-sp-msdn-iso-files-en-de-ru-tr-x86-x64/en_win_xp_sp1_pro_x64_vl.iso"
+ ;;
+ "win2kx86" )
+ size=386859008
+ sum="e3816f6e80b66ff686ead03eeafffe9daf020a5e4717b8bd4736b7c51733ba22"
+ url="MicrosoftWindows2000BuildCollection/5.00.2195.6717_x86fre_client-professional_retail_en-us-ZRMPFPP_EN.iso"
+ esac
+
+ case "${ret,,}" in
+ "sum" ) echo "$sum" ;;
+ "size" ) echo "$size" ;;
+ *) [ -n "$url" ] && echo "$host/$url";;
+ esac
+
+ return 0
+}
+
+getValue() {
+
+ local val=""
+ local id="$2"
+ local lang="$3"
+ local type="$4"
+ local func="getLink$1"
+
+ if [ "$1" -gt 0 ] && [ "$1" -le "$MIRRORS" ]; then
+ val=$($func "$id" "$lang" "$type")
+ fi
+
+ echo "$val"
+ return 0
+}
+
+getLink() {
+
+ local url
+ url=$(getValue "$1" "$2" "$3" "")
+
+ echo "$url"
+ return 0
+}
+
+getHash() {
+
+ local sum
+ sum=$(getValue "$1" "$2" "$3" "sum")
+
+ echo "$sum"
+ return 0
+}
+
+getSize() {
+
+ local size
+ size=$(getValue "$1" "$2" "$3" "size")
+
+ echo "$size"
+ return 0
+}
+
+isMido() {
+
+ local id="$1"
+ local lang="$2"
+ local sum
+
+ [[ "${MIDO:-}" == [Nn]* ]] && return 1
+
+ sum=$(getMido "$id" "en" "sum")
+ [ -n "$sum" ] && return 0
+
+ return 1
+}
+
+isESD() {
+
+ local id="$1"
+ local lang="$2"
+
+ [[ "${ESD:-}" == [Nn]* ]] && return 1
+
+ case "${id,,}" in
+ "win11${PLATFORM,,}" | "win10${PLATFORM,,}" )
+ return 0
+ ;;
+ "win11${PLATFORM,,}-enterprise" | "win11${PLATFORM,,}-enterprise-eval")
+ return 0
+ ;;
+ "win10${PLATFORM,,}-enterprise" | "win10${PLATFORM,,}-enterprise-eval" )
+ return 0
+ ;;
+ esac
+
+ return 1
+}
+
+validVersion() {
+
+ local id="$1"
+ local lang="$2"
+ local url
+
+ isESD "$id" "$lang" && return 0
+ isMido "$id" "$lang" && return 0
+
+ for ((i=1;i<=MIRRORS;i++)); do
+
+ url=$(getLink "$i" "$id" "$lang")
+ [ -n "$url" ] && return 0
+
+ done
+
+ return 1
+}
+
+addFolder() {
+
+ local src="$1"
+ local folder="/oem"
+
+ [ ! -d "$folder" ] && folder="/OEM"
+ [ ! -d "$folder" ] && folder="$STORAGE/oem"
+ [ ! -d "$folder" ] && folder="$STORAGE/OEM"
+ [ ! -d "$folder" ] && return 0
+
+ local msg="Adding OEM folder to image..."
+ info "$msg" && html "$msg"
+
+ local dest="$src/\$OEM\$/\$1/OEM"
+ mkdir -p "$dest" || return 1
+ cp -Lr "$folder/." "$dest" || return 1
+
+ local file
+ file=$(find "$dest" -maxdepth 1 -type f -iname install.bat -print -quit)
+ [ -f "$file" ] && unix2dos -q "$file"
+
+ return 0
+}
+
+prepareInstall() {
+
+ local pid=""
+ local file=""
+ local dir="$2"
+ local desc="$3"
+ local driver="$4"
+ local drivers="/tmp/drivers"
+
+ ETFS="[BOOT]/Boot-NoEmul.img"
+
+ if [ ! -f "$dir/$ETFS" ] || [ ! -s "$dir/$ETFS" ]; then
+ error "Failed to locate file \"$ETFS\" in $desc ISO image!" && return 1
+ fi
+
+ local arch target
+ [ -d "$dir/AMD64" ] && arch="amd64" || arch="x86"
+ [[ "${arch,,}" == "x86" ]] && target="$dir/I386" || target="$dir/AMD64"
+
+ if [ ! -d "$target" ]; then
+ error "Failed to locate directory \"$target\" in $desc ISO image!" && return 1
+ fi
+
+ if [[ "${driver,,}" == "xp" || "${driver,,}" == "2k3" ]]; then
+
+ local msg="Adding drivers to image..."
+ info "$msg" && html "$msg"
+
+ rm -rf "$drivers"
+ mkdir -p "$drivers"
+
+ if ! bsdtar -xf /var/drivers.txz -C "$drivers"; then
+ error "Failed to extract drivers!" && return 1
+ fi
+
+ if [ ! -f "$drivers/viostor/$driver/$arch/viostor.sys" ]; then
+ error "Failed to locate required storage drivers!" && return 1
+ fi
+
+ cp -L "$drivers/viostor/$driver/$arch/viostor.sys" "$target" || return 1
+
+ mkdir -p "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1
+ cp -L "$drivers/viostor/$driver/$arch/viostor.cat" "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1
+ cp -L "$drivers/viostor/$driver/$arch/viostor.inf" "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1
+ cp -L "$drivers/viostor/$driver/$arch/viostor.sys" "$dir/\$OEM\$/\$1/Drivers/viostor" || return 1
+
+ if [ ! -f "$drivers/NetKVM/$driver/$arch/netkvm.sys" ]; then
+ error "Failed to locate required network drivers!" && return 1
+ fi
+
+ mkdir -p "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
+ cp -L "$drivers/NetKVM/$driver/$arch/netkvm.cat" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
+ cp -L "$drivers/NetKVM/$driver/$arch/netkvm.inf" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
+ cp -L "$drivers/NetKVM/$driver/$arch/netkvm.sys" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
+
+ file=$(find "$target" -maxdepth 1 -type f -iname TXTSETUP.SIF -print -quit)
+
+ if [ -z "$file" ]; then
+ error "The file TXTSETUP.SIF could not be found!" && return 1
+ fi
+
+ sed -i '/^\[SCSI.Load\]/s/$/\nviostor=viostor.sys,4/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\nviostor.sys=1,,,,,,4_,4,1,,,1,4/' "$file"
+ sed -i '/^\[SCSI\]/s/$/\nviostor=\"Red Hat VirtIO SCSI Disk Device\"/' "$file"
+ sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$file"
+ sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00020000=\"viostor\"/' "$file"
+ sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00021AF4=\"viostor\"/' "$file"
+ sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$file"
+
+ if [ ! -d "$drivers/sata/xp/$arch" ]; then
+ error "Failed to locate required SATA drivers!" && return 1
+ fi
+
+ mkdir -p "$dir/\$OEM\$/\$1/Drivers/sata" || return 1
+ cp -Lr "$drivers/sata/xp/$arch/." "$dir/\$OEM\$/\$1/Drivers/sata" || return 1
+ cp -Lr "$drivers/sata/xp/$arch/." "$target" || return 1
+
+ sed -i '/^\[SCSI.Load\]/s/$/\niaStor=iaStor.sys,4/' "$file"
+ sed -i '/^\[FileFlags\]/s/$/\niaStor.sys = 16/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.cat = 1,,,,,,,1,0,0/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.inf = 1,,,,,,,1,0,0/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.sys = 1,,,,,,4_,4,1,,,1,4/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.sys = 1,,,,,,,1,0,0/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaahci.cat = 1,,,,,,,1,0,0/' "$file"
+ sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaAHCI.inf = 1,,,,,,,1,0,0/' "$file"
+ sed -i '/^\[SCSI\]/s/$/\niaStor=\"Intel\(R\) SATA RAID\/AHCI Controller\"/' "$file"
+ sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_8086\&DEV_2922\&CC_0106=\"iaStor\"/' "$file"
+
+ rm -rf "$drivers"
+
+ fi
+
+ local key setup
+ setup=$(find "$target" -maxdepth 1 -type f -iname setupp.ini -print -quit)
+
+ if [ -n "$setup" ] && [ -z "$KEY" ]; then
+
+ pid=$(<"$setup")
+ pid="${pid%$'\r'}"
+
+ if [[ "$driver" == "2k" ]]; then
+
+ echo "${pid:0:$((${#pid})) - 3}270" > "$setup"
+
+ else
+
+ if [[ "$pid" == *"270" ]]; then
+
+ warn "this version of $desc requires a volume license key (VLK), it will ask for one during installation."
+
+ else
+
+ file=$(find "$target" -maxdepth 1 -type f -iname PID.INF -print -quit)
+
+ if [ -n "$file" ]; then
+
+ if [[ "$driver" == "2k3" ]]; then
+
+ key=$(grep -i -A 2 "StagingKey" "$file" | tail -n 2 | head -n 1)
+
+ else
+
+ key="${pid:$((${#pid})) - 8:5}"
+ if [[ "${pid^^}" == *"OEM" ]]; then
+ key=$(grep -i -A 2 "$key" "$file" | tail -n 2 | head -n 1)
+ else
+ key=$(grep -i -m 1 -A 2 "$key" "$file" | tail -n 2 | head -n 1)
+ fi
+ key="${key#*= }"
+
+ fi
+
+ key="${key%$'\r'}"
+ [[ "${#key}" == "29" ]] && KEY="$key"
+
+ fi
+
+ if [ -z "$KEY" ]; then
+
+ # These are NOT pirated keys, they come from official MS documentation.
+
+ case "${driver,,}" in
+ "xp" )
+
+ if [[ "${arch,,}" == "x86" ]]; then
+ # Windows XP Professional x86 generic trial key (no activation)
+ KEY="DR8GV-C8V6J-BYXHG-7PYJR-DB66Y"
+ else
+ # Windows XP Professional x64 generic trial key (no activation)
+ KEY="B2RBK-7KPT9-4JP6X-QQFWM-PJD6G"
+ fi ;;
+
+ "2k3" )
+
+ if [[ "${arch,,}" == "x86" ]]; then
+ # Windows Server 2003 Standard x86 generic trial key (no activation)
+ KEY="QKDCQ-TP2JM-G4MDG-VR6F2-P9C48"
+ else
+ # Windows Server 2003 Standard x64 generic trial key (no activation)
+ KEY="P4WJG-WK3W7-3HM8W-RWHCK-8JTRY"
+ fi ;;
+
+ esac
+
+ echo "${pid:0:$((${#pid})) - 3}000" > "$setup"
+
+ fi
+
+ fi
+ fi
+
+ fi
+
+ [ -n "$KEY" ] && KEY="ProductID=$KEY"
+
+ mkdir -p "$dir/\$OEM\$"
+
+ if ! addFolder "$dir"; then
+ error "Failed to add OEM folder to image!" && return 1
+ fi
+
+ local oem=""
+ local install="$dir/\$OEM\$/\$1/OEM/install.bat"
+ [ -f "$install" ] && oem="\"Script\"=\"cmd /C start \\\"Install\\\" \\\"cmd /C C:\\\\OEM\\\\install.bat\\\"\""
+
+ [ -z "$WIDTH" ] && WIDTH="1280"
+ [ -z "$HEIGHT" ] && HEIGHT="720"
+
+ XHEX=$(printf '%x\n' "$WIDTH")
+ YHEX=$(printf '%x\n' "$HEIGHT")
+
+ local username=""
+ local password=""
+
+ [ -n "$USERNAME" ] && username=$(echo "$USERNAME" | sed 's/[^[:alnum:]@!._-]//g')
+ [ -z "$username" ] && username="Docker"
+
+ [ -n "$PASSWORD" ] && password=$(echo "$PASSWORD" | sed 's/"//g')
+ [ -z "$password" ] && password="admin"
+
+ find "$target" -maxdepth 1 -type f -iname winnt.sif -exec rm {} \;
+
+ { echo "[Data]"
+ echo " AutoPartition=1"
+ echo " MsDosInitiated=\"0\""
+ echo " UnattendedInstall=\"Yes\""
+ echo " AutomaticUpdates=\"Yes\""
+ echo ""
+ echo "[Unattended]"
+ echo " UnattendSwitch=Yes"
+ echo " UnattendMode=FullUnattended"
+ echo " FileSystem=NTFS"
+ echo " OemSkipEula=Yes"
+ echo " OemPreinstall=Yes"
+ echo " Repartition=Yes"
+ echo " WaitForReboot=\"No\""
+ echo " DriverSigningPolicy=\"Ignore\""
+ echo " NonDriverSigningPolicy=\"Ignore\""
+ echo " OemPnPDriversPath=\"Drivers\viostor;Drivers\NetKVM;Drivers\sata\""
+ echo " NoWaitAfterTextMode=1"
+ echo " NoWaitAfterGUIMode=1"
+ echo " FileSystem-ConvertNTFS"
+ echo " ExtendOemPartition=0"
+ echo " Hibernation=\"No\""
+ echo ""
+ echo "[GuiUnattended]"
+ echo " OEMSkipRegional=1"
+ echo " OemSkipWelcome=1"
+ echo " AdminPassword=$password"
+ echo " TimeZone=0"
+ echo " AutoLogon=Yes"
+ echo " AutoLogonCount=65432"
+ echo ""
+ echo "[UserData]"
+ echo " FullName=\"$username\""
+ echo " ComputerName=\"*\""
+ echo " OrgName=\"$APP for $ENGINE\""
+ echo " $KEY"
+ echo ""
+ echo "[Identification]"
+ echo " JoinWorkgroup = WORKGROUP"
+ echo ""
+ echo "[Display]"
+ echo " BitsPerPel=32"
+ echo " XResolution=$WIDTH"
+ echo " YResolution=$HEIGHT"
+ echo ""
+ echo "[Networking]"
+ echo " InstallDefaultComponents=Yes"
+ echo ""
+ echo "[Branding]"
+ echo " BrandIEUsingUnattended=Yes"
+ echo ""
+ echo "[URL]"
+ echo " Home_Page = http://www.google.com"
+ echo " Search_Page = http://www.google.com"
+ echo ""
+ echo "[TerminalServices]"
+ echo " AllowConnections=1"
+ echo ""
+ } | unix2dos > "$target/WINNT.SIF"
+
+ if [[ "$driver" == "2k3" ]]; then
+ { echo "[Components]"
+ echo " TerminalServer=On"
+ echo ""
+ echo "[LicenseFilePrintData]"
+ echo " AutoMode=PerServer"
+ echo " AutoUsers=5"
+ echo ""
+ } | unix2dos >> "$target/WINNT.SIF"
+ fi
+
+ { echo "Windows Registry Editor Version 5.00"
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security]"
+ echo "\"FirstRunDisabled\"=dword:00000001"
+ echo "\"UpdatesDisableNotify\"=dword:00000001"
+ echo "\"FirewallDisableNotify\"=dword:00000001"
+ echo "\"AntiVirusDisableNotify\"=dword:00000001"
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc]"
+ echo "\"Start\"=dword:00000004"
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]"
+ echo "\"3389:TCP\"=\"3389:TCP:*:Enabled:@xpsp2res.dll,-22009\""
+ echo ""
+ echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Tour]"
+ echo "\"RunCount\"=dword:00000000"
+ echo ""
+ echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]"
+ echo "\"HideFileExt\"=dword:00000000"
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
+ echo "\"NoWelcomeScreen\"=\"1\""
+ echo ""
+ echo "[HKEY_CURRENT_USER\Software\Microsoft\Internet Connection Wizard]"
+ echo "\"Completed\"=\"1\""
+ echo "\"Desktopchanged\"=\"1\""
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]"
+ echo "\"AutoAdminLogon\"=\"1\""
+ echo "\"DefaultUserName\"=\"$username\""
+ echo "\"DefaultPassword\"=\"$password\""
+ echo "\"DefaultDomainName\"=\"Dockur\""
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000]"
+ echo "\"DefaultSettings.BitsPerPel\"=dword:00000020"
+ echo "\"DefaultSettings.XResolution\"=dword:00000$XHEX"
+ echo "\"DefaultSettings.YResolution\"=dword:00000$YHEX"
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Control\VIDEO\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000]"
+ echo "\"DefaultSettings.BitsPerPel\"=dword:00000020"
+ echo "\"DefaultSettings.XResolution\"=dword:00000$XHEX"
+ echo "\"DefaultSettings.YResolution\"=dword:00000$YHEX"
+ echo ""
+ echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]"
+ echo "\"ScreenSaver\"=\"reg add \\\"HKCU\\\\Control Panel\\\\Desktop\\\" /f /v \\\"SCRNSAVE.EXE\\\" /t REG_SZ /d \\\"off\\\"\""
+ echo "\"ScreenSaverOff\"=\"reg add \\\"HKCU\\\\Control Panel\\\\Desktop\\\" /f /v \\\"ScreenSaveActive\\\" /t REG_SZ /d \\\"0\\\"\""
+ echo "$oem"
+ echo ""
+ } | unix2dos > "$dir/\$OEM\$/install.reg"
+
+ if [[ "$driver" == "2k" ]]; then
+ { echo "[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Runonce]"
+ echo "\"^SetupICWDesktop\"=-"
+ echo ""
+ } | unix2dos >> "$dir/\$OEM\$/install.reg"
+ fi
+
+ if [[ "$driver" == "2k3" ]]; then
+ { echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\srvWiz]"
+ echo "@=dword:00000000"
+ echo ""
+ echo "[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ServerOOBE\SecurityOOBE]"
+ echo "\"DontLaunchSecurityOOBE\"=dword:00000000"
+ echo ""
+ } | unix2dos >> "$dir/\$OEM\$/install.reg"
+ fi
+
+ { echo "Set WshShell = WScript.CreateObject(\"WScript.Shell\")"
+ echo "Set WshNetwork = WScript.CreateObject(\"WScript.Network\")"
+ echo "Set Domain = GetObject(\"WinNT://\" & WshNetwork.ComputerName)"
+ echo ""
+ echo "Function DecodeSID(binSID)"
+ echo " ReDim o(LenB(binSID))"
+ echo ""
+ echo " For i = 1 To LenB(binSID)"
+ echo " o(i-1) = AscB(MidB(binSID, i, 1))"
+ echo " Next"
+ echo ""
+ echo " sid = \"S-\" & CStr(o(0)) & \"-\" & OctetArrayToString _"
+ echo " (Array(o(2), o(3), o(4), o(5), o(6), o(7)))"
+ echo " For i = 8 To (4 * o(1) + 4) Step 4"
+ echo " sid = sid & \"-\" & OctetArrayToString _"
+ echo " (Array(o(i+3), o(i+2), o(i+1), o(i)))"
+ echo " Next"
+ echo ""
+ echo " DecodeSID = sid"
+ echo "End Function"
+ echo ""
+ echo "Function OctetArrayToString(arr)"
+ echo " v = 0"
+ echo " For i = 0 To UBound(arr)"
+ echo " v = v * 256 + arr(i)"
+ echo " Next"
+ echo ""
+ echo " OctetArrayToString = CStr(v)"
+ echo "End Function"
+ echo ""
+ echo "For Each DomainItem in Domain"
+ echo " If DomainItem.Class = \"User\" Then"
+ echo " sid = DecodeSID(DomainItem.Get(\"objectSID\"))"
+ echo " If Left(sid, 9) = \"S-1-5-21-\" And Right(sid, 4) = \"-500\" Then"
+ echo " LocalAdminADsPath = DomainItem.ADsPath"
+ echo " Exit For"
+ echo " End If"
+ echo " End If"
+ echo "Next"
+ echo ""
+ echo "Call Domain.MoveHere(LocalAdminADsPath, \"$username\")"
+ echo ""
+ echo "Set oLink = WshShell.CreateShortcut(WshShell.ExpandEnvironmentStrings(\"%userprofile%\\Desktop\\Shared.lnk\"))"
+ echo "With oLink"
+ echo " .TargetPath = \"\\\\host.lan\\Data\""
+ echo " .Save"
+ echo "End With"
+ echo "Set oLink = Nothing"
+ echo ""
+ } | unix2dos > "$dir/\$OEM\$/install.vbs"
+
+ { echo "[COMMANDS]"
+ echo "\"REGEDIT /s install.reg\""
+ echo "\"Wscript install.vbs\""
+ echo ""
+ } | unix2dos > "$dir/\$OEM\$/cmdlines.txt"
+
+ return 0
+}
+
+prepareLegacy() {
+
+ local iso="$1"
+ local dir="$2"
+ local desc="$3"
+
+ ETFS="boot.img"
+
+ [ -f "$dir/$ETFS" ] && [ -s "$dir/$ETFS" ] && return 0
+ rm -f "$dir/$ETFS"
+
+ local len offset
+ len=$(isoinfo -d -i "$iso" | grep "Nsect " | grep -o "[^ ]*$")
+ offset=$(isoinfo -d -i "$iso" | grep "Bootoff " | grep -o "[^ ]*$")
+
+ if ! dd "if=$iso" "of=$dir/$ETFS" bs=2048 "count=$len" "skip=$offset" status=none; then
+ error "Failed to extract boot image from $desc ISO!" && return 1
+ fi
+
+ [ -f "$dir/$ETFS" ] && [ -s "$dir/$ETFS" ] && return 0
+
+ error "Failed to locate file \"$ETFS\" in $desc ISO image!"
+ return 1
+}
+
+detectLegacy() {
+
+ local dir="$1"
+ local find
+
+ find=$(find "$dir" -maxdepth 1 -type d -iname WIN95 -print -quit)
+ [ -n "$find" ] && DETECTED="win95" && return 0
+
+ find=$(find "$dir" -maxdepth 1 -type d -iname WIN98 -print -quit)
+ [ -n "$find" ] && DETECTED="win98" && return 0
+
+ find=$(find "$dir" -maxdepth 1 -type d -iname WIN9X -print -quit)
+ [ -n "$find" ] && DETECTED="win9x" && return 0
+
+ find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_W.40 -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_S.40 -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_TS.40 -print -quit)
+ [ -n "$find" ] && DETECTED="winnt4" && return 0
+
+ find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_NT.5 -print -quit)
+
+ if [ -n "$find" ]; then
+
+ find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_IA.5 -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_ID.5 -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_IP.5 -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_IS.5 -print -quit)
+ [ -n "$find" ] && DETECTED="win2k" && return 0
+
+ fi
+
+ find=$(find "$dir" -maxdepth 1 -iname WIN51 -print -quit)
+
+ if [ -n "$find" ]; then
+
+ find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AP -print -quit)
+ [ -n "$find" ] && DETECTED="winxpx64" && return 0
+
+ find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IC -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IP -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname setupxp.htm -print -quit)
+ [ -n "$find" ] && DETECTED="winxpx86" && return 0
+
+ find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IS -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IA -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IB -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51ID -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IL -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IS -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AA -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AD -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AS -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51MA -print -quit)
+ [ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51MD -print -quit)
+ [ -n "$find" ] && DETECTED="win2003r2" && return 0
+
+ fi
+
+ return 1
+}
+
+skipVersion() {
+
+ local id="$1"
+
+ case "${id,,}" in
+ "win9"* | "winxp"* | "win2k"* | "win2003"* )
+ return 0 ;;
+ esac
+
+ return 1
+}
+
+isCompatible() {
+ return 0
+}
+
+setMachine() {
+
+ local id="$1"
+ local iso="$2"
+ local dir="$3"
+ local desc="$4"
+
+ case "${id,,}" in
+ "win9"* )
+ ETFS="[BOOT]/Boot-1.44M.img" ;;
+ "win2k"* )
+ if ! prepareInstall "$iso" "$dir" "$desc" "2k"; then
+ error "Failed to prepare $desc ISO!" && return 1
+ fi ;;
+ "winxp"* )
+ if ! prepareInstall "$iso" "$dir" "$desc" "xp"; then
+ error "Failed to prepare $desc ISO!" && return 1
+ fi ;;
+ "win2003"* )
+ if ! prepareInstall "$iso" "$dir" "$desc" "2k3"; then
+ error "Failed to prepare $desc ISO!" && return 1
+ fi ;;
+ esac
+
+ case "${id,,}" in
+ "win9"* )
+ USB="no"
+ VGA="cirrus"
+ DISK_TYPE="auto"
+ MACHINE="pc-i440fx-2.4"
+ BOOT_MODE="windows_legacy"
+ [ -z "${ADAPTER:-}" ] && ADAPTER="pcnet" ;;
+ "win2k"* )
+ VGA="cirrus"
+ MACHINE="pc"
+ USB="pci-ohci"
+ DISK_TYPE="auto"
+ BOOT_MODE="windows_legacy"
+ [ -z "${ADAPTER:-}" ] && ADAPTER="rtl8139" ;;
+ "winxp"* | "win2003"* )
+ DISK_TYPE="blk"
+ BOOT_MODE="windows_legacy" ;;
+ "winvista"* | "win7"* | "win2008"* )
+ BOOT_MODE="windows_legacy" ;;
+ esac
+
+ case "${id,,}" in
+ "winxp"* | "win2003"* | "winvistax86"* | "win7x86"* | "win2008r2x86"* )
+ # Prevent bluescreen if 64 bit PCI hole size is >2G.
+ ARGS="-global q35-pcihost.x-pci-hole64-fix=false" ;;
+ esac
+
+ return 0
+}
+
+return 0
diff --git a/apps/rego-tunnel/build/src/entry.sh b/apps/rego-tunnel/build/src/entry.sh
new file mode 100755
index 0000000..0142440
--- /dev/null
+++ b/apps/rego-tunnel/build/src/entry.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+
+: "${APP:="Windows"}"
+: "${PLATFORM:="x64"}"
+: "${BOOT_MODE:="windows"}"
+: "${SUPPORT:="https://github.com/dockur/windows"}"
+
+cd /run
+
+. start.sh # Startup hook
+. /run/rego-startup.sh 2>/dev/null || true # Rego customizations
+. utils.sh # Load functions
+. reset.sh # Initialize system
+. server.sh # Start webserver
+. define.sh # Define versions
+. mido.sh # Download Windows
+. install.sh # Run installation
+. disk.sh # Initialize disks
+. display.sh # Initialize graphics
+. network.sh # Initialize network
+. samba.sh # Configure samba
+. boot.sh # Configure boot
+. proc.sh # Initialize processor
+. power.sh # Configure shutdown
+. memory.sh # Check available memory
+. config.sh # Configure arguments
+. finish.sh # Finish initialization
+
+trap - ERR
+
+version=$(qemu-system-x86_64 --version | head -n 1 | cut -d '(' -f 1 | awk '{ print $NF }')
+info "Booting ${APP}${BOOT_DESC} using QEMU v$version..."
+
+{ qemu-system-x86_64 ${ARGS:+ $ARGS} >"$QEMU_OUT" 2>"$QEMU_LOG"; rc=$?; } || :
+(( rc != 0 )) && error "$(<"$QEMU_LOG")" && exit 15
+
+terminal
+( sleep 30; boot ) &
+tail -fn +0 "$QEMU_LOG" --pid=$$ 2>/dev/null &
+cat "$QEMU_TERM" 2> /dev/null | tee "$QEMU_PTY" | \
+sed -u -e 's/\x1B\[[=0-9;]*[a-z]//gi' \
+-e 's/\x1B\x63//g' -e 's/\x1B\[[=?]7l//g' \
+-e '/^$/d' -e 's/\x44\x53\x73//g' \
+-e 's/failed to load Boot/skipped Boot/g' \
+-e 's/0): Not Found/0)/g' & wait $! || :
+
+sleep 1 & wait $!
+[ ! -f "$QEMU_END" ] && finish 0
diff --git a/apps/rego-tunnel/build/src/install.sh b/apps/rego-tunnel/build/src/install.sh
new file mode 100755
index 0000000..7be2996
--- /dev/null
+++ b/apps/rego-tunnel/build/src/install.sh
@@ -0,0 +1,1336 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+
+ETFS="boot/etfsboot.com"
+FB="falling back to manual installation!"
+EFISYS="efi/microsoft/boot/efisys_noprompt.bin"
+
+backup () {
+
+ local count=1
+ local iso="$1"
+ local name="unknown"
+ local root="$STORAGE/backups"
+ local previous="$STORAGE/windows.base"
+
+ if [ -f "$previous" ]; then
+
+ previous=$(<"$previous")
+ previous="${previous//[![:print:]]/}"
+
+ [ -n "$previous" ] && name="${previous%.*}"
+
+ fi
+
+ if ! makeDir "$root"; then
+ error "Failed to create directory \"$root\" !"
+ return 1
+ fi
+
+ local folder="$name"
+ local dir="$root/$folder"
+
+ while [ -d "$dir" ]
+ do
+ count=$((count+1))
+ folder="${name}.${count}"
+ dir="$root/$folder"
+ done
+
+ rm -rf "$dir"
+
+ if ! makeDir "$dir"; then
+ error "Failed to create directory \"$dir\" !"
+ return 1
+ fi
+
+ [ -f "$iso" ] && mv -f "$iso" "$dir/"
+ find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \;
+ find "$STORAGE" -maxdepth 1 -type f -iname 'windows.*' -not -iname '*.iso' -exec mv -n {} "$dir/" \;
+ find "$STORAGE" -maxdepth 1 -type f \( -iname '*.rom' -or -iname '*.vars' \) -exec mv -n {} "$dir/" \;
+
+ [ -z "$(ls -A "$dir")" ] && rm -rf "$dir"
+ [ -z "$(ls -A "$root")" ] && rm -rf "$root"
+
+ return 0
+}
+
+skipInstall() {
+
+ local iso="$1"
+ local method=""
+ local magic byte
+ local boot="$STORAGE/windows.boot"
+ local previous="$STORAGE/windows.base"
+
+ if [ -f "$previous" ]; then
+
+ previous=$(<"$previous")
+ previous="${previous//[![:print:]]/}"
+
+ if [ -n "$previous" ]; then
+ if [[ "${STORAGE,,}/${previous,,}" != "${iso,,}" ]]; then
+
+ if ! hasDisk; then
+
+ rm -f "$STORAGE/$previous"
+ return 1
+
+ fi
+
+ if [[ "${iso,,}" == "${STORAGE,,}/windows."* ]]; then
+ method="your custom .iso file was changed"
+ else
+ if [[ "${previous,,}" != "windows."* ]]; then
+ method="the VERSION variable was changed"
+ else
+ method="your custom .iso file was removed"
+
+ if [ -f "$boot" ]; then
+ info "Detected that $method, will be ignored."
+ return 0
+ fi
+
+ fi
+ fi
+
+ info "Detected that $method, a backup of your previous installation will be saved..."
+ ! backup "$STORAGE/$previous" && error "Backup failed!"
+
+ return 1
+
+ fi
+ fi
+
+ fi
+
+ [ -f "$boot" ] && hasDisk && return 0
+
+ [ ! -f "$iso" ] && return 1
+ [ ! -s "$iso" ] && return 1
+
+ # Check if the ISO was already processed by our script
+ magic=$(dd if="$iso" seek=0 bs=1 count=1 status=none | tr -d '\000')
+ magic="$(printf '%s' "$magic" | od -A n -t x1 -v | tr -d ' \n')"
+ byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17"
+
+ if [[ "$magic" != "$byte" ]]; then
+
+ info "The ISO will be processed again because the configuration was changed..."
+ return 1
+
+ fi
+
+ return 0
+}
+
+startInstall() {
+
+ html "Starting $APP..."
+
+ if [ -z "$CUSTOM" ]; then
+
+ local file="${VERSION//\//}.iso"
+
+ if [[ "${VERSION,,}" == "http"* ]]; then
+
+ file=$(basename "${VERSION%%\?*}")
+ printf -v file '%b' "${file//%/\\x}"
+ file="${file//[!A-Za-z0-9._-]/_}"
+
+ else
+
+ local language
+ language=$(getLanguage "$LANGUAGE" "culture")
+ language="${language%%-*}"
+
+ if [ -n "$language" ] && [[ "${language,,}" != "en" ]]; then
+ file="${VERSION//\//}_${language,,}.iso"
+ fi
+
+ fi
+
+ BOOT="$STORAGE/$file"
+
+ fi
+
+ TMP="$STORAGE/tmp"
+ rm -rf "$TMP"
+
+ skipInstall "$BOOT" && return 1
+
+ if hasDisk; then
+ ! backup "" && error "Backup failed!"
+ fi
+
+ if ! makeDir "$TMP"; then
+ error "Failed to create directory \"$TMP\" !"
+ fi
+
+ if [ -z "$CUSTOM" ]; then
+
+ ISO=$(basename "$BOOT")
+ ISO="$TMP/$ISO"
+
+ if [ -f "$BOOT" ] && [ -s "$BOOT" ]; then
+ mv -f "$BOOT" "$ISO"
+ fi
+
+ fi
+
+ rm -f "$BOOT"
+
+ find "$STORAGE" -maxdepth 1 -type f -iname 'data.*' -not -iname '*.iso' -delete
+ find "$STORAGE" -maxdepth 1 -type f -iname 'windows.*' -not -iname '*.iso' -delete
+ find "$STORAGE" -maxdepth 1 -type f \( -iname '*.rom' -or -iname '*.vars' \) -delete
+
+ return 0
+}
+
+writeFile() {
+
+ local txt="$1"
+ local path="$2"
+
+ echo "$txt" >"$path"
+
+ if ! setOwner "$path"; then
+ error "Failed to set the owner for \"$path\" !"
+ fi
+
+ return 0
+}
+
+finishInstall() {
+
+ local iso="$1"
+ local aborted="$2"
+ local base byte
+
+ if [ ! -s "$iso" ] || [ ! -f "$iso" ]; then
+ error "Failed to find ISO file: $iso" && return 1
+ fi
+
+ if [[ "$iso" == "$STORAGE/"* ]]; then
+ ! setOwner "$iso" && error "Failed to set the owner for \"$iso\" !"
+ fi
+
+ if [[ "$aborted" != [Yy1]* ]]; then
+ # Mark ISO as prepared via magic byte
+ byte="16" && [[ "$MANUAL" == [Yy1]* ]] && byte="17"
+ if ! printf '%b' "\x$byte" | dd of="$iso" bs=1 seek=0 count=1 conv=notrunc status=none; then
+ warn "failed to set magic byte in ISO file: $iso"
+ fi
+ fi
+
+ local file="$STORAGE/windows.ver"
+ cp -f /run/version "$file"
+ ! setOwner "$file" && error "Failed to set the owner for \"$file\" !"
+
+ if [[ "$iso" == "$STORAGE/"* ]]; then
+ if [[ "$aborted" != [Yy1]* ]] || [ -z "$CUSTOM" ]; then
+ base=$(basename "$iso")
+ file="$STORAGE/windows.base"
+ writeFile "$base" "$file"
+ fi
+ fi
+
+ if [[ "${PLATFORM,,}" == "x64" ]]; then
+ if [[ "${BOOT_MODE,,}" == "windows_legacy" ]]; then
+ file="$STORAGE/windows.mode"
+ writeFile "$BOOT_MODE" "$file"
+ if [[ "${MACHINE,,}" != "q35" ]]; then
+ file="$STORAGE/windows.old"
+ writeFile "$MACHINE" "$file"
+ fi
+ else
+ # Enable secure boot + TPM on manual installs as Win11 requires
+ if [[ "$MANUAL" == [Yy1]* || "$aborted" == [Yy1]* ]]; then
+ if [[ "${DETECTED,,}" == "win11"* ]]; then
+ BOOT_MODE="windows_secure"
+ file="$STORAGE/windows.mode"
+ writeFile "$BOOT_MODE" "$file"
+ fi
+ fi
+ # Enable secure boot on multi-socket systems to workaround freeze
+ if [ -n "$SOCKETS" ] && [[ "$SOCKETS" != "1" ]]; then
+ BOOT_MODE="windows_secure"
+ file="$STORAGE/windows.mode"
+ writeFile "$BOOT_MODE" "$file"
+ fi
+ fi
+ fi
+
+ if [ -n "${ARGS:-}" ]; then
+ ARGUMENTS="$ARGS ${ARGUMENTS:-}"
+ file="$STORAGE/windows.args"
+ writeFile "$ARGS" "$file"
+ fi
+
+ if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then
+ file="$STORAGE/windows.vga"
+ writeFile "$VGA" "$file"
+ fi
+
+ if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then
+ file="$STORAGE/windows.usb"
+ writeFile "$USB" "$file"
+ fi
+
+ if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then
+ file="$STORAGE/windows.type"
+ writeFile "$DISK_TYPE" "$file"
+ fi
+
+ if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then
+ file="$STORAGE/windows.net"
+ writeFile "$ADAPTER" "$file"
+ fi
+
+ rm -rf "$TMP"
+ return 0
+}
+
+abortInstall() {
+
+ local dir="$1"
+ local iso="$2"
+ local efi
+
+ [[ "${iso,,}" == *".esd" ]] && exit 60
+ [[ "${UNPACK:-}" == [Yy1]* ]] && exit 60
+
+ efi=$(find "$dir" -maxdepth 1 -type d -iname efi -print -quit)
+
+ if [ -z "$efi" ]; then
+ [[ "${PLATFORM,,}" == "x64" ]] && BOOT_MODE="windows_legacy"
+ fi
+
+ if [ -n "$CUSTOM" ]; then
+ BOOT="$iso"
+ REMOVE="N"
+ else
+ if [[ "$iso" != "$BOOT" ]]; then
+ if ! mv -f "$iso" "$BOOT"; then
+ error "Failed to move ISO file: $iso" && return 1
+ fi
+ fi
+ fi
+
+ finishInstall "$BOOT" "Y" && return 0
+ return 1
+}
+
+findFile() {
+
+ local dir file base
+ local fname="$1"
+ local boot="$STORAGE/windows.boot"
+
+ dir=$(find / -maxdepth 1 -type d -iname "$fname" -print -quit)
+ [ ! -d "$dir" ] && dir=$(find "$STORAGE" -maxdepth 1 -type d -iname "$fname" -print -quit)
+
+ if [ -d "$dir" ]; then
+ if ! hasDisk || [ ! -f "$boot" ]; then
+ error "The bind $dir maps to a file that does not exist!" && return 1
+ fi
+ fi
+
+ file=$(find / -maxdepth 1 -type f -iname "$fname" -print -quit)
+ [ ! -s "$file" ] && file=$(find "$STORAGE" -maxdepth 1 -type f -iname "$fname" -print -quit)
+
+ if [ ! -s "$file" ] && [[ "${VERSION,,}" != "http"* ]]; then
+ base=$(basename "$VERSION")
+ file="$STORAGE/$base"
+ fi
+
+ if [ ! -f "$file" ] || [ ! -s "$file" ]; then
+ return 0
+ fi
+
+ local size
+ size="$(stat -c%s "$file")"
+ [ -z "$size" ] || [[ "$size" == "0" ]] && return 0
+
+ ISO="$file"
+ CUSTOM="$file"
+ BOOT="$STORAGE/windows.$size.iso"
+
+ return 0
+}
+
+detectCustom() {
+
+ CUSTOM=""
+
+ ! findFile "custom.iso" && return 1
+ [ -n "$CUSTOM" ] && return 0
+
+ ! findFile "boot.iso" && return 1
+ [ -n "$CUSTOM" ] && return 0
+
+ return 0
+}
+
+extractESD() {
+
+ local iso="$1"
+ local dir="$2"
+ local version="$3"
+ local desc="$4"
+ local size size_gb sizes space space_gb
+ local desc total total1 total2 total3 total4
+ local imageIndex links links1 links2 links3 links4
+
+ local msg="Extracting $desc bootdisk"
+ info "$msg..." && html "$msg..."
+
+ if [ "$(stat -c%s "$iso")" -lt 100000000 ]; then
+ error "Invalid ESD file: Size is smaller than 100 MB" && return 1
+ fi
+
+ rm -rf "$dir"
+
+ if ! makeDir "$dir"; then
+ error "Failed to create directory \"$dir\" !" && return 1
+ fi
+
+ size=9606127360
+ size_gb=$(formatBytes "$size")
+ space=$(df --output=avail -B 1 "$dir" | tail -n 1)
+ space_gb=$(formatBytes "$space")
+
+ if (( size > space )); then
+ error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1
+ fi
+
+ local esdImageCount
+ esdImageCount=$(wimlib-imagex info "$iso" | awk '/Image Count:/ {print $3}')
+
+ if [ -z "$esdImageCount" ]; then
+ error "Cannot read the image count in ESD file!" && return 1
+ fi
+
+ sizes=$(wimlib-imagex info "$iso" | grep "Total Bytes:")
+ links=$(wimlib-imagex info "$iso" | grep "Hard Link Bytes:")
+
+ total1=$(awk "NR==1{ print; }" <<< "$sizes" | cut -d':' -f2 | sed 's/^ *//')
+ links1=$(awk "NR==1{ print; }" <<< "$links" | cut -d':' -f2 | sed 's/^ *//')
+ total=$(( total1 - links1 ))
+
+ total3=$(awk "NR==3{ print; }" <<< "$sizes" | cut -d':' -f2 | sed 's/^ *//')
+ links3=$(awk "NR==3{ print; }" <<< "$links" | cut -d':' -f2 | sed 's/^ *//')
+ total3=$(( total3 - links3 ))
+ total3=$(( total3 + 60000000 ))
+
+ /run/progress.sh "$dir" "$total" "$msg ([P])..." &
+
+ imageIndex="1"
+ wimlib-imagex apply "$iso" "$imageIndex" "$dir" --quiet 2>/dev/null || {
+ retVal=$?
+ fKill "progress.sh"
+ error "Extracting $desc bootdisk failed ($retVal)" && return 1
+ }
+
+ fKill "progress.sh"
+
+ local bootWimFile="$dir/sources/boot.wim"
+ local installWimFile="$dir/sources/install.wim"
+
+ local msg="Extracting $desc environment"
+ info "$msg..." && html "$msg..."
+
+ imageIndex="2"
+ /run/progress.sh "$bootWimFile" "$total3" "$msg ([P])..." &
+
+ wimlib-imagex export "$iso" "$imageIndex" "$bootWimFile" --compress=none --quiet || {
+ retVal=$?
+ fKill "progress.sh"
+ error "Adding WinPE failed ($retVal)" && return 1
+ }
+
+ fKill "progress.sh"
+
+ local msg="Extracting $desc setup"
+ info "$msg..."
+
+ imageIndex="3"
+ /run/progress.sh "$bootWimFile" "$total3" "$msg ([P])..." &
+
+ wimlib-imagex export "$iso" "$imageIndex" "$bootWimFile" --compress=none --boot --quiet || {
+ retVal=$?
+ fKill "progress.sh"
+ error "Adding Windows Setup failed ($retVal)" && return 1
+ }
+
+ fKill "progress.sh"
+
+ if [[ "${PLATFORM,,}" == "x64" ]]; then
+ LABEL="CCCOMA_X64FRE_EN-US_DV9"
+ else
+ LABEL="CPBA_A64FRE_EN-US_DV9"
+ fi
+
+ local msg="Extracting $desc image"
+ info "$msg..." && html "$msg..."
+
+ local edition imageEdition
+ edition=$(getCatalog "$version" "name")
+
+ if [ -z "$edition" ]; then
+ error "Invalid VERSION specified, value \"$version\" is not recognized!" && return 1
+ fi
+
+ for (( imageIndex=4; imageIndex<=esdImageCount; imageIndex++ )); do
+
+ imageEdition=$(wimlib-imagex info "$iso" "$imageIndex" | grep '^Description:' | sed 's/Description:[ \t]*//')
+ [[ "${imageEdition,,}" != "${edition,,}" ]] && continue
+
+ total4=$(du -sb "$iso" | cut -f1)
+ total4=$(( total4 + 3000000 ))
+
+ /run/progress.sh "$installWimFile" "$total4" "$msg ([P])..." &
+
+ wimlib-imagex export "$iso" "$imageIndex" "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || {
+ retVal=$?
+ fKill "progress.sh"
+ error "Addition of $imageIndex to the $desc image failed ($retVal)" && return 1
+ }
+
+ fKill "progress.sh"
+ return 0
+
+ done
+
+ fKill "progress.sh"
+ error "Failed to find product '$edition' in install.wim!" && return 1
+}
+
+extractImage() {
+
+ local iso="$1"
+ local dir="$2"
+ local version="$3"
+ local desc="local ISO"
+ local file size size_gb space space_gb
+
+ if [ -z "$CUSTOM" ]; then
+ desc="downloaded ISO"
+ if [[ "$version" != "http"* ]]; then
+ desc=$(printVersion "$version" "$desc")
+ fi
+ fi
+
+ if [[ "${iso,,}" == *".esd" ]]; then
+ extractESD "$iso" "$dir" "$version" "$desc" && return 0
+ return 1
+ fi
+
+ local msg="Extracting $desc image"
+ info "$msg..." && html "$msg..."
+
+ rm -rf "$dir"
+
+ if ! makeDir "$dir"; then
+ error "Failed to create directory \"$dir\" !" && return 1
+ fi
+
+ size=$(stat -c%s "$iso")
+ size_gb=$(formatBytes "$size")
+ space=$(df --output=avail -B 1 "$dir" | tail -n 1)
+ space_gb=$(formatBytes "$space")
+
+ if (( size < 100000000 )); then
+ error "Invalid ISO file: Size is smaller than 100 MB" && return 1
+ fi
+
+ if (( size > space )); then
+ error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1
+ fi
+
+ rm -rf "$dir"
+ /run/progress.sh "$dir" "$size" "$msg ([P])..." &
+
+ if ! 7z x "$iso" -o"$dir" > /dev/null; then
+ fKill "progress.sh"
+ error "Failed to extract ISO file: $iso" && return 1
+ fi
+
+ fKill "progress.sh"
+
+ if [[ "${UNPACK:-}" != [Yy1]* ]]; then
+
+ LABEL=$(isoinfo -d -i "$iso" | sed -n 's/Volume id: //p')
+
+ else
+
+ file=$(find "$dir" -maxdepth 1 -type f -iname "*.iso" -print -quit)
+
+ if [ -z "$file" ]; then
+ error "Failed to find any .iso file in archive!" && return 1
+ fi
+
+ if ! 7z x "$file" -o"$dir" > /dev/null; then
+ error "Failed to extract archive!" && return 1
+ fi
+
+ LABEL=$(isoinfo -d -i "$file" | sed -n 's/Volume id: //p')
+ rm -f "$file"
+
+ fi
+
+ return 0
+}
+
+getPlatform() {
+
+ local xml="$1"
+ local tag="ARCH"
+ local platform="x64"
+ local arch
+
+ arch=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$xml")
+
+ case "${arch,,}" in
+ "0" ) platform="x86" ;;
+ "9" ) platform="x64" ;;
+ "12" )platform="arm64" ;;
+ esac
+
+ echo "$platform"
+ return 0
+}
+
+checkPlatform() {
+
+ local xml="$1"
+ local platform compat
+
+ platform=$(getPlatform "$xml")
+
+ case "${platform,,}" in
+ "x86" ) compat="x64" ;;
+ "x64" ) compat="$platform" ;;
+ "arm64" ) compat="$platform" ;;
+ * ) compat="${PLATFORM,,}" ;;
+ esac
+
+ [[ "${compat,,}" == "${PLATFORM,,}" ]] && return 0
+
+ error "You cannot boot ${platform^^} images on a $PLATFORM CPU!"
+ return 1
+}
+
+hasVersion() {
+
+ local id="$1"
+ local tag="$2"
+ local xml="$3"
+ local edition
+
+ [ ! -f "/run/assets/$id.xml" ] && return 1
+
+ edition=$(printEdition "$id" "")
+ [ -z "$edition" ] && return 1
+ [[ "${xml,,}" != *"<${tag,,}>${edition,,}${tag,,}>"* ]] && return 1
+
+ return 0
+}
+
+selectVersion() {
+
+ local tag="$1"
+ local xml="$2"
+ local platform="$3"
+ local id name prefer
+
+ name=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$xml")
+ [[ "$name" == *"Operating System"* ]] && name=""
+ [ -z "$name" ] && return 0
+
+ id=$(fromName "$name" "$platform")
+ [ -z "$id" ] && warn "Unknown ${tag,,}: '$name'" && return 0
+
+ prefer="$id-enterprise"
+ hasVersion "$prefer" "$tag" "$xml" && echo "$prefer" && return 0
+
+ prefer="$id-ultimate"
+ hasVersion "$prefer" "$tag" "$xml" && echo "$prefer" && return 0
+
+ prefer="$id"
+ hasVersion "$prefer" "$tag" "$xml" && echo "$prefer" && return 0
+
+ prefer=$(getVersion "$name" "$platform")
+
+ echo "$prefer"
+ return 0
+}
+
+detectVersion() {
+
+ local xml="$1"
+ local id platform
+
+ platform=$(getPlatform "$xml")
+ id=$(selectVersion "DISPLAYNAME" "$xml" "$platform")
+ [ -z "$id" ] && id=$(selectVersion "PRODUCTNAME" "$xml" "$platform")
+ [ -z "$id" ] && id=$(selectVersion "NAME" "$xml" "$platform")
+
+ echo "$id"
+ return 0
+}
+
+detectLanguage() {
+
+ local xml="$1"
+ local lang=""
+
+ if [[ "$xml" == *"LANGUAGE>"* ]]; then
+ lang="${xml#*LANGUAGE>}"
+ lang="${lang%%<*}"
+ else
+ if [[ "$xml" == *"FALLBACK>"* ]]; then
+ lang="${xml#*FALLBACK>}"
+ lang="${lang%%<*}"
+ fi
+ fi
+
+ if [ -z "$lang" ]; then
+ warn "Language could not be detected from ISO!" && return 0
+ fi
+
+ local culture
+ culture=$(getLanguage "$lang" "culture")
+ [ -n "$culture" ] && LANGUAGE="$lang" && return 0
+
+ warn "Invalid language detected: \"$lang\""
+ return 0
+}
+
+setXML() {
+
+ local file="/custom.xml"
+
+ if [ -d "$file" ]; then
+ error "The bind $file maps to a file that does not exist!" && exit 67
+ fi
+
+ [ ! -f "$file" ] || [ ! -s "$file" ] && file="$STORAGE/custom.xml"
+ [ ! -f "$file" ] || [ ! -s "$file" ] && file="/run/assets/custom.xml"
+ [ ! -f "$file" ] || [ ! -s "$file" ] && file="$1"
+ [ ! -f "$file" ] || [ ! -s "$file" ] && file="/run/assets/$DETECTED.xml"
+ [ ! -f "$file" ] || [ ! -s "$file" ] && return 1
+
+ XML="$file"
+ return 0
+}
+
+detectImage() {
+
+ local dir="$1"
+ local version="$2"
+ local desc msg find language
+
+ XML=""
+
+ if [ -z "$DETECTED" ] && [ -z "$CUSTOM" ]; then
+ [[ "${version,,}" != "http"* ]] && DETECTED="$version"
+ fi
+
+ if [ -n "$DETECTED" ]; then
+
+ skipVersion "${DETECTED,,}" && return 0
+
+ if ! setXML "" && [[ "$MANUAL" != [Yy1]* ]]; then
+ MANUAL="Y"
+ desc=$(printEdition "$DETECTED" "this version")
+ warn "the answer file for $desc was not found ($DETECTED.xml), $FB."
+ fi
+
+ return 0
+ fi
+
+ info "Detecting version from ISO image..."
+
+ if detectLegacy "$dir"; then
+ desc=$(printEdition "$DETECTED" "$DETECTED")
+ info "Detected: $desc"
+ return 0
+ fi
+
+ local src wim info
+ src=$(find "$dir" -maxdepth 1 -type d -iname sources -print -quit)
+
+ if [ ! -d "$src" ]; then
+ warn "failed to locate 'sources' folder in ISO image, $FB" && return 1
+ fi
+
+ wim=$(find "$src" -maxdepth 1 -type f \( -iname install.wim -or -iname install.esd \) -print -quit)
+
+ if [ ! -f "$wim" ]; then
+ warn "failed to locate 'install.wim' or 'install.esd' in ISO image, $FB" && return 1
+ fi
+
+ info=$(wimlib-imagex info -xml "$wim" | iconv -f UTF-16LE -t UTF-8)
+ checkPlatform "$info" || exit 67
+
+ DETECTED=$(detectVersion "$info")
+
+ if [ -z "$DETECTED" ]; then
+ msg="Failed to determine Windows version from image"
+ if setXML "" || [[ "$MANUAL" == [Yy1]* ]]; then
+ info "${msg}!"
+ else
+ MANUAL="Y"
+ warn "${msg}, $FB."
+ fi
+ return 0
+ fi
+
+ desc=$(printEdition "$DETECTED" "$DETECTED")
+ detectLanguage "$info"
+
+ if [[ "${LANGUAGE,,}" != "en" && "${LANGUAGE,,}" != "en-"* ]]; then
+ language=$(getLanguage "$LANGUAGE" "desc")
+ desc+=" ($language)"
+ fi
+
+ info "Detected: $desc"
+ setXML "" && return 0
+
+ if [[ "$DETECTED" == "win81x86"* || "$DETECTED" == "win10x86"* ]]; then
+ error "The 32-bit version of $desc is not supported!" && return 1
+ fi
+
+ msg="the answer file for $desc was not found ($DETECTED.xml)"
+ local fallback="/run/assets/${DETECTED%%-*}.xml"
+
+ if setXML "$fallback" || [[ "$MANUAL" == [Yy1]* ]]; then
+ [[ "$MANUAL" != [Yy1]* ]] && warn "${msg}."
+ else
+ MANUAL="Y"
+ warn "${msg}, $FB."
+ fi
+
+ return 0
+}
+
+prepareImage() {
+
+ local iso="$1"
+ local dir="$2"
+ local desc missing
+
+ desc=$(printVersion "$DETECTED" "$DETECTED")
+
+ setMachine "$DETECTED" "$iso" "$dir" "$desc" || return 1
+ skipVersion "$DETECTED" && return 0
+
+ if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
+
+ [ -f "$dir/$ETFS" ] && [ -f "$dir/$EFISYS" ] && return 0
+
+ missing=$(basename "$dir/$EFISYS")
+ [ ! -f "$dir/$ETFS" ] && missing=$(basename "$dir/$ETFS")
+
+ error "Failed to locate file \"${missing,,}\" in ISO image!"
+ return 1
+ fi
+
+ prepareLegacy "$iso" "$dir" "$desc" && return 0
+
+ error "Failed to extract boot image from ISO image!"
+ return 1
+}
+
+updateXML() {
+
+ local asset="$1"
+ local language="$2"
+ local culture region user admin pass keyboard
+
+ [ -z "$HEIGHT" ] && HEIGHT="720"
+ [ -z "$WIDTH" ] && WIDTH="1280"
+
+ sed -i "s/>Windows for Docker>$APP for $ENGINE1080<\/VerticalResolution>/$HEIGHT<\/VerticalResolution>/g" "$asset"
+ sed -i "s/1920<\/HorizontalResolution>/$WIDTH<\/HorizontalResolution>/g" "$asset"
+
+ culture=$(getLanguage "$language" "culture")
+
+ if [ -n "$culture" ] && [[ "${culture,,}" != "en-us" ]]; then
+ sed -i "s/en-US<\/UILanguage>/$culture<\/UILanguage>/g" "$asset"
+ fi
+
+ region="$REGION"
+ [ -z "$region" ] && region="$culture"
+
+ if [ -n "$region" ] && [[ "${region,,}" != "en-us" ]]; then
+ sed -i "s/en-US<\/UserLocale>/$region<\/UserLocale>/g" "$asset"
+ sed -i "s/en-US<\/SystemLocale>/$region<\/SystemLocale>/g" "$asset"
+ fi
+
+ keyboard="$KEYBOARD"
+ [ -z "$keyboard" ] && keyboard="$culture"
+
+ if [ -n "$keyboard" ] && [[ "${keyboard,,}" != "en-us" ]]; then
+ sed -i "s/en-US<\/InputLocale>/$keyboard<\/InputLocale>/g" "$asset"
+ sed -i "s/0409:00000409<\/InputLocale>/$keyboard<\/InputLocale>/g" "$asset"
+ fi
+
+ user=$(echo "$USERNAME" | sed 's/[^[:alnum:]@!._-]//g')
+
+ if [ -n "$user" ]; then
+ sed -i "s/-name \"Docker\"/-name \"$user\"/g" "$asset"
+ sed -i "s/Docker<\/Name>/$user<\/Name>/g" "$asset"
+ sed -i "s/where name=\"Docker\"/where name=\"$user\"/g" "$asset"
+ sed -i "s/Docker<\/FullName>/$user<\/FullName>/g" "$asset"
+ sed -i "s/Docker<\/Username>/$user<\/Username>/g" "$asset"
+ fi
+
+ [ -n "$PASSWORD" ] && pass="$PASSWORD" || pass="admin"
+
+ pw=$(printf '%s' "${pass}Password" | iconv -f utf-8 -t utf-16le | base64 -w 0)
+ admin=$(printf '%s' "${pass}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64 -w 0)
+
+ sed -i "s/password<\/Value>/$admin<\/Value>/g" "$asset"
+ sed -i "s/true<\/PlainText>/false<\/PlainText>/g" "$asset"
+ sed -z "s/.........../\n $pw<\/Value>/g" -i "$asset"
+ sed -z "s/.............../\n $pw<\/Value>/g" -i "$asset"
+ sed -z "s/.........../\n $admin<\/Value>/g" -i "$asset"
+ sed -z "s/.............../\n $admin<\/Value>/g" -i "$asset"
+
+ if [ -n "$EDITION" ]; then
+ [[ "${EDITION^^}" == "CORE" ]] && EDITION="STANDARDCORE"
+ sed -i "s/SERVERSTANDARD<\/Value>/SERVER${EDITION^^}<\/Value>/g" "$asset"
+ fi
+
+ if [ -n "$KEY" ]; then
+ sed -i '//,/<\/ProductKey>/d' "$asset"
+ sed -i "s/<\/UserData>/ \n ${KEY}<\/Key>\n OnError<\/WillShowUI>\n <\/ProductKey>\n <\/UserData>/g" "$asset"
+ fi
+
+ return 0
+}
+
+addDriver() {
+
+ local id="$1"
+ local path="$2"
+ local target="$3"
+ local driver="$4"
+ local desc=""
+ local folder=""
+
+ if [ -z "$id" ]; then
+ warn "no Windows version specified for \"$driver\" driver!" && return 0
+ fi
+
+ case "${id,,}" in
+ "win7x86"* ) folder="w7/x86" ;;
+ "win7x64"* ) folder="w7/amd64" ;;
+ "win81x64"* ) folder="w8.1/amd64" ;;
+ "win10x64"* ) folder="w10/amd64" ;;
+ "win11x64"* ) folder="w11/amd64" ;;
+ "win2025"* ) folder="2k25/amd64" ;;
+ "win2022"* ) folder="2k22/amd64" ;;
+ "win2019"* ) folder="2k19/amd64" ;;
+ "win2016"* ) folder="2k16/amd64" ;;
+ "win2012"* ) folder="2k12R2/amd64" ;;
+ "win2008"* ) folder="2k8R2/amd64" ;;
+ "win10arm64"* ) folder="w10/ARM64" ;;
+ "win11arm64"* ) folder="w11/ARM64" ;;
+ "winvistax86"* ) folder="2k8/x86" ;;
+ "winvistax64"* ) folder="2k8/amd64" ;;
+ esac
+
+ if [ -z "$folder" ]; then
+ desc=$(printVersion "$id" "$id")
+ if [[ "${id,,}" != *"x86"* ]]; then
+ warn "no \"$driver\" driver available for \"$desc\" !" && return 0
+ else
+ warn "no \"$driver\" driver available for the 32-bit version of \"$desc\" !" && return 0
+ fi
+ fi
+
+ [ ! -d "$path/$driver/$folder" ] && return 0
+
+ case "${id,,}" in
+ "winvista"* )
+ [[ "${driver,,}" == "viorng" ]] && return 0
+ ;;
+ esac
+
+ local dest="$path/$target/$driver"
+ mkdir -p "$dest" || return 1
+ cp -Lr "$path/$driver/$folder/." "$dest" || return 1
+
+ return 0
+}
+
+addDrivers() {
+
+ local src="$1"
+ local tmp="$2"
+ local file="$3"
+ local index="$4"
+ local version="$5"
+ local drivers="$tmp/drivers"
+
+ rm -rf "$drivers"
+ mkdir -p "$drivers"
+
+ local msg="Adding drivers to image..."
+ info "$msg" && html "$msg"
+
+ if [ -z "$version" ]; then
+ version="win11x64"
+ warn "Windows version unknown, falling back to Windows 11 drivers..."
+ fi
+
+ if ! bsdtar -xf /var/drivers.txz -C "$drivers"; then
+ error "Failed to extract drivers from archive!" && return 1
+ fi
+
+ local target="\$WinPEDriver\$"
+ local dest="$drivers/$target"
+ mkdir -p "$dest" || return 1
+
+ wimlib-imagex update "$file" "$index" --command "delete --force --recursive /$target" >/dev/null || true
+
+ addDriver "$version" "$drivers" "$target" "qxl" || return 1
+ addDriver "$version" "$drivers" "$target" "viofs" || return 1
+ addDriver "$version" "$drivers" "$target" "sriov" || return 1
+ addDriver "$version" "$drivers" "$target" "smbus" || return 1
+ addDriver "$version" "$drivers" "$target" "qxldod" || return 1
+ addDriver "$version" "$drivers" "$target" "viorng" || return 1
+ addDriver "$version" "$drivers" "$target" "viostor" || return 1
+ addDriver "$version" "$drivers" "$target" "viomem" || return 1
+ addDriver "$version" "$drivers" "$target" "NetKVM" || return 1
+ addDriver "$version" "$drivers" "$target" "Balloon" || return 1
+ addDriver "$version" "$drivers" "$target" "vioscsi" || return 1
+ addDriver "$version" "$drivers" "$target" "pvpanic" || return 1
+ addDriver "$version" "$drivers" "$target" "vioinput" || return 1
+ addDriver "$version" "$drivers" "$target" "viogpudo" || return 1
+ addDriver "$version" "$drivers" "$target" "vioserial" || return 1
+ addDriver "$version" "$drivers" "$target" "qemupciserial" || return 1
+
+ case "${version,,}" in
+ "win11x64"* | "win2025"* )
+ # Workaround Virtio GPU driver bug
+ local dst="$src/\$OEM\$/\$\$/Drivers"
+ mkdir -p "$dst" || return 1
+ cp -Lr "$dest/." "$dst" || return 1
+ rm -rf "$dest/viogpudo"
+ ;;
+ esac
+
+ if ! wimlib-imagex update "$file" "$index" --command "add $dest /$target" >/dev/null; then
+ return 1
+ fi
+
+ rm -rf "$drivers"
+ return 0
+}
+
+updateImage() {
+
+ local dir="$1"
+ local asset="$2"
+ local language="$3"
+ local tmp="/tmp/install"
+ local file="autounattend.xml"
+ local org="${file//.xml/.org}"
+ local dat="${file//.xml/.dat}"
+ local desc path src wim xml index result
+
+ skipVersion "${DETECTED,,}" && return 0
+
+ if [ ! -s "$asset" ] || [ ! -f "$asset" ]; then
+ asset=""
+ if [[ "$MANUAL" != [Yy1]* ]]; then
+ MANUAL="Y"
+ warn "no answer file provided, $FB."
+ fi
+ fi
+
+ rm -rf "$tmp"
+ mkdir -p "$tmp"
+
+ src=$(find "$dir" -maxdepth 1 -type d -iname sources -print -quit)
+
+ if [ ! -d "$src" ]; then
+ error "failed to locate 'sources' folder in ISO image, $FB" && return 1
+ fi
+
+ wim=$(find "$src" -maxdepth 1 -type f \( -iname boot.wim -or -iname boot.esd \) -print -quit)
+
+ if [ ! -f "$wim" ]; then
+ error "failed to locate 'boot.wim' or 'boot.esd' in ISO image, $FB" && return 1
+ fi
+
+ index="1"
+ result=$(wimlib-imagex info -xml "$wim" | iconv -f UTF-16LE -t UTF-8)
+
+ if [[ "${result^^}" == *""* ]]; then
+ index="2"
+ fi
+
+ if ! addDrivers "$src" "$tmp" "$wim" "$index" "$DETECTED"; then
+ error "Failed to add drivers to image!"
+ fi
+
+ if ! addFolder "$src"; then
+ error "Failed to add OEM folder to image!"
+ fi
+
+ if wimlib-imagex extract "$wim" "$index" "/$file" "--dest-dir=$tmp" >/dev/null 2>&1; then
+ if ! wimlib-imagex extract "$wim" "$index" "/$dat" "--dest-dir=$tmp" >/dev/null 2>&1; then
+ if ! wimlib-imagex extract "$wim" "$index" "/$org" "--dest-dir=$tmp" >/dev/null 2>&1; then
+ if ! wimlib-imagex update "$wim" "$index" --command "rename /$file /$org" > /dev/null; then
+ warn "failed to backup original answer file ($file)."
+ fi
+ fi
+ fi
+ fi
+
+ if [[ "$MANUAL" != [Yy1]* ]]; then
+
+ xml=$(basename "$asset")
+ info "Adding $xml for automatic installation..."
+
+ local answer="$tmp/$xml"
+ cp "$asset" "$answer"
+ updateXML "$answer" "$language"
+
+ if ! wimlib-imagex update "$wim" "$index" --command "add $answer /$file" > /dev/null; then
+ MANUAL="Y"
+ warn "failed to add answer file ($xml) to ISO image, $FB"
+ else
+ wimlib-imagex update "$wim" "$index" --command "add $answer /$dat" > /dev/null || true
+ fi
+
+ fi
+
+ if [[ "$MANUAL" == [Yy1]* ]]; then
+
+ wimlib-imagex update "$wim" "$index" --command "delete --force /$file" > /dev/null || true
+
+ if wimlib-imagex extract "$wim" "$index" "/$org" "--dest-dir=$tmp" >/dev/null 2>&1; then
+ if ! wimlib-imagex update "$wim" "$index" --command "add $tmp/$org /$file" > /dev/null; then
+ warn "failed to restore original answer file ($org)."
+ fi
+ fi
+
+ fi
+
+ local find="$file"
+ [[ "$MANUAL" == [Yy1]* ]] && find="$org"
+ path=$(find "$dir" -maxdepth 1 -type f -iname "$find" -print -quit)
+
+ if [ -f "$path" ]; then
+ if [[ "$MANUAL" != [Yy1]* ]]; then
+ mv -f "$path" "${path%.*}.org"
+ else
+ mv -f "$path" "${path%.*}.xml"
+ fi
+ fi
+
+ rm -rf "$tmp"
+ return 0
+}
+
+removeImage() {
+
+ local iso="$1"
+
+ [ ! -f "$iso" ] && return 0
+ [ -n "$CUSTOM" ] && return 0
+
+ rm -f "$iso" 2> /dev/null || warn "failed to remove $iso !"
+
+ return 0
+}
+
+buildImage() {
+
+ local dir="$1"
+ local failed=""
+ local cat="BOOT.CAT"
+ local log="/run/shm/iso.log"
+ local base size size_gb space space_gb desc
+
+ if [ -f "$BOOT" ]; then
+ error "File $BOOT does already exist?!" && return 1
+ fi
+
+ base=$(basename "$BOOT")
+ local out="$TMP/${base%.*}.tmp"
+ rm -f "$out"
+
+ desc=$(printVersion "$DETECTED" "ISO")
+
+ local msg="Building $desc image"
+ info "$msg..." && html "$msg..."
+
+ [ -z "$LABEL" ] && LABEL="Windows"
+
+ if [ ! -f "$dir/$ETFS" ]; then
+ error "Failed to locate file \"$ETFS\" in ISO image!" && return 1
+ fi
+
+ size=$(du -h -b --max-depth=0 "$dir" | cut -f1)
+ size_gb=$(formatBytes "$size")
+ space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
+ space_gb=$(formatBytes "$space")
+
+ if (( size > space )); then
+ error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1
+ fi
+
+ /run/progress.sh "$out" "$size" "$msg ([P])..." &
+
+ if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
+
+ genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \
+ -udf -boot-info-table -eltorito-alt-boot -eltorito-boot "$EFISYS" -no-emul-boot -allow-limited-size -quiet "$dir" 2> "$log" || failed="y"
+
+ else
+
+ case "${DETECTED,,}" in
+ "win2k"* | "winxp"* | "win2003"* )
+ genisoimage -o "$out" -b "$ETFS" -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 -c "$cat" -iso-level 2 -J -l -D -N -joliet-long \
+ -relaxed-filenames -V "${LABEL::30}" -quiet "$dir" 2> "$log" || failed="y" ;;
+ "win9"* )
+ genisoimage -o "$out" -b "$ETFS" -J -r -V "${LABEL::30}" -quiet "$dir" 2> "$log" || failed="y" ;;
+ * )
+ genisoimage -o "$out" -b "$ETFS" -no-emul-boot -c "$cat" -iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames -V "${LABEL::30}" \
+ -udf -allow-limited-size -quiet "$dir" 2> "$log" || failed="y" ;;
+ esac
+
+ fi
+
+ fKill "progress.sh"
+
+ if [ -n "$failed" ]; then
+ [ -s "$log" ] && echo "$(<"$log")"
+ error "Failed to build image!" && return 1
+ fi
+
+ local error=""
+ local hide="Warning: creating filesystem that does not conform to ISO-9660."
+
+ [ -s "$log" ] && error="$(<"$log")"
+ [[ "$error" != "$hide" ]] && echo "$error"
+
+ mv -f "$out" "$BOOT" || return 1
+ ! setOwner "$BOOT" && error "Failed to set the owner for \"$BOOT\" !"
+
+ return 0
+}
+
+bootWindows() {
+
+ if [ -f "$STORAGE/windows.args" ]; then
+ ARGS=$(<"$STORAGE/windows.args")
+ ARGS="${ARGS//[![:print:]]/}"
+ ARGUMENTS="$ARGS ${ARGUMENTS:-}"
+ fi
+
+ if [ -s "$STORAGE/windows.vga" ] && [ -f "$STORAGE/windows.vga" ]; then
+ if [ -z "${VGA:-}" ]; then
+ VGA=$(<"$STORAGE/windows.vga")
+ VGA="${VGA//[![:print:]]/}"
+ fi
+ fi
+
+ if [ -s "$STORAGE/windows.usb" ] && [ -f "$STORAGE/windows.usb" ]; then
+ if [ -z "${USB:-}" ]; then
+ USB=$(<"$STORAGE/windows.usb")
+ USB="${USB//[![:print:]]/}"
+ fi
+ fi
+
+ if [ -s "$STORAGE/windows.net" ] && [ -f "$STORAGE/windows.net" ]; then
+ if [ -z "${ADAPTER:-}" ]; then
+ ADAPTER=$(<"$STORAGE/windows.net")
+ ADAPTER="${ADAPTER//[![:print:]]/}"
+ fi
+ fi
+
+ if [ -s "$STORAGE/windows.type" ] && [ -f "$STORAGE/windows.type" ]; then
+ if [ -z "${DISK_TYPE:-}" ]; then
+ DISK_TYPE=$(<"$STORAGE/windows.type")
+ DISK_TYPE="${DISK_TYPE//[![:print:]]/}"
+ fi
+ fi
+
+ if [ -s "$STORAGE/windows.mode" ] && [ -f "$STORAGE/windows.mode" ]; then
+ BOOT_MODE=$(<"$STORAGE/windows.mode")
+ BOOT_MODE="${BOOT_MODE//[![:print:]]/}"
+ fi
+
+ if [ -s "$STORAGE/windows.old" ] && [ -f "$STORAGE/windows.old" ]; then
+ if [[ "${PLATFORM,,}" == "x64" ]]; then
+ MACHINE=$(<"$STORAGE/windows.old")
+ MACHINE="${MACHINE//[![:print:]]/}"
+ fi
+ fi
+
+ return 0
+}
+
+######################################
+
+! parseVersion && exit 58
+! parseLanguage && exit 56
+! detectCustom && exit 59
+
+if ! startInstall; then
+ bootWindows && return 0
+ exit 68
+fi
+
+if [ ! -s "$ISO" ] || [ ! -f "$ISO" ]; then
+ if ! downloadImage "$ISO" "$VERSION" "$LANGUAGE"; then
+ rm -f "$ISO" 2> /dev/null || true
+ exit 61
+ fi
+fi
+
+DIR="$TMP/unpack"
+
+if ! extractImage "$ISO" "$DIR" "$VERSION"; then
+ rm -f "$ISO" 2> /dev/null || true
+ exit 62
+fi
+
+if ! detectImage "$DIR" "$VERSION"; then
+ abortInstall "$DIR" "$ISO" && return 0
+ exit 60
+fi
+
+if ! prepareImage "$ISO" "$DIR"; then
+ abortInstall "$DIR" "$ISO" && return 0
+ exit 66
+fi
+
+if ! updateImage "$DIR" "$XML" "$LANGUAGE"; then
+ abortInstall "$DIR" "$ISO" && return 0
+ exit 63
+fi
+
+if ! removeImage "$ISO"; then
+ exit 64
+fi
+
+if ! buildImage "$DIR"; then
+ exit 65
+fi
+
+if ! finishInstall "$BOOT" "N"; then
+ exit 69
+fi
+
+html "Successfully prepared image for installation..."
+return 0
diff --git a/apps/rego-tunnel/build/src/mido.sh b/apps/rego-tunnel/build/src/mido.sh
new file mode 100755
index 0000000..369fc17
--- /dev/null
+++ b/apps/rego-tunnel/build/src/mido.sh
@@ -0,0 +1,834 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+
+handle_curl_error() {
+
+ local error_code="$1"
+ local server_name="$2"
+
+ case "$error_code" in
+ 1) error "Unsupported protocol!" ;;
+ 2) error "Failed to initialize curl!" ;;
+ 3) error "The URL format is malformed!" ;;
+ 5) error "Failed to resolve address of proxy host!" ;;
+ 6) error "Failed to resolve $server_name servers! Is there an Internet connection?" ;;
+ 7) error "Failed to contact $server_name servers! Is there an Internet connection or is the server down?" ;;
+ 8) error "$server_name servers returned a malformed HTTP response!" ;;
+ 16) error "A problem was detected in the HTTP2 framing layer!" ;;
+ 22) error "$server_name servers returned a failing HTTP status code!" ;;
+ 23) error "Failed at writing Windows media to disk! Out of disk space or permission error?" ;;
+ 26) error "Failed to read Windows media from disk!" ;;
+ 27) error "Ran out of memory during download!" ;;
+ 28) error "Connection timed out to $server_name server!" ;;
+ 35) error "SSL connection error from $server_name server!" ;;
+ 36) error "Failed to continue earlier download!" ;;
+ 52) error "Received no data from the $server_name server!" ;;
+ 63) error "$server_name servers returned an unexpectedly large response!" ;;
+ # POSIX defines exit statuses 1-125 as usable by us
+ # https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_02
+ $((error_code <= 125)))
+ # Must be some other server or network error (possibly with this specific request/file)
+ # This is when accounting for all possible errors in the curl manual assuming a correctly formed curl command and an HTTP(S) request, using only the curl features we're using, and a sane build
+ error "Miscellaneous server or network error, reason: $error_code"
+ ;;
+ 126 | 127 ) error "Curl command not found!" ;;
+ # Exit statuses are undefined by POSIX beyond this point
+ *)
+ case "$(kill -l "$error_code")" in
+ # Signals defined to exist by POSIX:
+ # https://pubs.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html
+ INT) error "Curl was interrupted!" ;;
+ # There could be other signals but these are most common
+ SEGV | ABRT ) error "Curl crashed! Please report any core dumps to curl developers." ;;
+ *) error "Curl terminated due to fatal signal $error_code !" ;;
+ esac
+ esac
+
+ return 1
+}
+
+get_agent() {
+
+ local user_agent
+
+ # Determine approximate latest Firefox release
+ browser_version="$((124 + ($(date +%s) - 1710892800) / 2419200))"
+ echo "Mozilla/5.0 (X11; Linux x86_64; rv:${browser_version}.0) Gecko/20100101 Firefox/${browser_version}.0"
+
+ return 0
+}
+
+download_windows() {
+
+ local id="$1"
+ local lang="$2"
+ local desc="$3"
+ local sku_id=""
+ local sku_url=""
+ local iso_url=""
+ local iso_json=""
+ local language=""
+ local session_id=""
+ local user_agent=""
+ local download_type=""
+ local windows_version=""
+ local iso_download_link=""
+ local download_page_html=""
+ local product_edition_id=""
+ local language_skuid_json=""
+ local profile="606624d44113"
+
+ user_agent=$(get_agent)
+ language=$(getLanguage "$lang" "name")
+
+ case "${id,,}" in
+ "win11x64" ) windows_version="11" && download_type="1" ;;
+ "win10x64" ) windows_version="10" && download_type="1" ;;
+ "win11arm64" ) windows_version="11arm64" && download_type="2" ;;
+ * ) error "Invalid VERSION specified, value \"$id\" is not recognized!" && return 1 ;;
+ esac
+
+ local url="https://www.microsoft.com/en-us/software-download/windows$windows_version"
+ [[ "${id,,}" == "win10"* ]] && url+="ISO"
+
+ # uuidgen: For MacOS (installed by default) and other systems (e.g. with no /proc) that don't have a kernel interface for generating random UUIDs
+ session_id=$(cat /proc/sys/kernel/random/uuid 2> /dev/null || uuidgen --random)
+ session_id="${session_id//[![:print:]]/}"
+
+ # Get product edition ID for latest release of given Windows version
+ # Product edition ID: This specifies both the Windows release (e.g. 22H2) and edition ("multi-edition" is default, either Home/Pro/Edu/etc., we select "Pro" in the answer files) in one number
+ # This is the *only* request we make that Fido doesn't. Fido manually maintains a list of all the Windows release/edition product edition IDs in its script (see: $WindowsVersions array). This is helpful for downloading older releases (e.g. Windows 10 1909, 21H1, etc.) but we always want to get the newest release which is why we get this value dynamically
+ # Also, keeping a "$WindowsVersions" array like Fido does would be way too much of a maintenance burden
+ # Remove "Accept" header that curl sends by default
+ [[ "$DEBUG" == [Yy1]* ]] && echo "Parsing download page: ${url}"
+ download_page_html=$(curl --silent --max-time 30 --user-agent "$user_agent" --header "Accept:" --max-filesize 1M --fail --proto =https --tlsv1.2 --http1.1 -- "$url") || {
+ handle_curl_error "$?" "Microsoft"
+ return $?
+ }
+
+ [[ "$DEBUG" == [Yy1]* ]] && echo -n "Getting Product edition ID: "
+ product_edition_id=$(echo "$download_page_html" | grep -Eo '