mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 10:21:52 +00:00
* add support for inbound proxies * backend changes * fix file type * proxy -> tunnel, implement backend apis * wip start-tunneld * add domains and gateways, remove routers, fix docs links * dont show hidden actions * show and test dns * edit instead of chnage acme and change gateway * refactor: domains page * refactor: gateways page * domains and acme refactor * certificate authorities * refactor public/private gateways * fix fe types * domains mostly finished * refactor: add file control to form service * add ip util to sdk * domains api + migration * start service interface page, WIP * different options for clearnet domains * refactor: styles for interfaces page * minor * better placeholder for no addresses * start sorting addresses * best address logic * comments * fix unnecessary export * MVP of service interface page * domains preferred * fix: address comments * only translations left * wip: start-tunnel & fix build * forms for adding domain, rework things based on new ideas * fix: dns testing * public domain, max width, descriptions for dns * nix StartOS domains, implement public and private domains at interface scope * restart tor instead of reset * better icon for restart tor * dns * fix sort functions for public and private domains * with todos * update types * clean up tech debt, bump dependencies * revert to ts-rs v9 * fix all types * fix dns form * add missing translations * it builds * fix: comments (#3009) * fix: comments * undo default --------- Co-authored-by: Matt Hill <mattnine@protonmail.com> * fix: refactor legacy components (#3010) * fix: comments * fix: refactor legacy components * remove default again --------- Co-authored-by: Matt Hill <mattnine@protonmail.com> * more translations * wip * fix deadlock * coukd work * simple renaming * placeholder for empty service interfaces table * honor hidden form values * remove logs * reason instead of description * fix dns * misc fixes * implement toggling gateways for service interface * fix showing dns records * move status column in service list * remove unnecessary truthy check * refactor: refactor forms components and remove legacy Taiga UI package (#3012) * handle wh file uploads * wip: debugging tor * socks5 proxy working * refactor: fix multiple comments (#3013) * refactor: fix multiple comments * styling changes, add documentation to sidebar * translations for dns page * refactor: subtle colors * rearrange service page --------- Co-authored-by: Matt Hill <mattnine@protonmail.com> * fix file_stream and remove non-terminating test * clean up logs * support for sccache * fix gha sccache * more marketplace translations * install wizard clarity * stub hostnameInfo in migration * fix address info after setup, fix styling on SI page, new 040 release notes * remove tor logs from os * misc fixes * reset tor still not functioning... * update ts * minor styling and wording * chore: some fixes (#3015) * fix gateway renames * different handling for public domains * styling fixes * whole navbar should not be clickable on service show page * timeout getState request * remove links from changelog * misc fixes from pairing * use custom name for gateway in more places * fix dns parsing * closes #3003 * closes #2999 * chore: some fixes (#3017) * small copy change * revert hardcoded error for testing * dont require port forward if gateway is public * use old wan ip when not available * fix .const hanging on undefined * fix test * fix doc test * fix renames * update deps * allow specifying dependency metadata directly * temporarily make dependencies not cliackable in marketplace listings * fix socks bind * fix test --------- Co-authored-by: Aiden McClelland <me@drbonez.dev> Co-authored-by: waterplea <alexander@inkin.ru>
59 lines
2.3 KiB
Bash
Executable File
59 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
|
|
set -e
|
|
|
|
if mountpoint -q tmp/combined; then sudo umount -R tmp/combined; fi
|
|
if mountpoint -q tmp/lower; then sudo umount tmp/lower; fi
|
|
sudo rm -rf tmp
|
|
mkdir -p tmp/lower tmp/upper tmp/work tmp/combined
|
|
if which squashfuse > /dev/null; then
|
|
sudo squashfuse debian.${ARCH}.squashfs tmp/lower
|
|
else
|
|
sudo mount debian.${ARCH}.squashfs tmp/lower
|
|
fi
|
|
if which fuse-overlayfs > /dev/null; then
|
|
sudo fuse-overlayfs -olowerdir=tmp/lower,upperdir=tmp/upper,workdir=tmp/work overlay tmp/combined
|
|
else
|
|
sudo mount -t overlay -olowerdir=tmp/lower,upperdir=tmp/upper,workdir=tmp/work overlay tmp/combined
|
|
fi
|
|
|
|
QEMU=
|
|
if [ "$ARCH" != "$(uname -m)" ]; then
|
|
QEMU=/usr/bin/qemu-${ARCH}-static
|
|
if ! which qemu-$ARCH-static > /dev/null; then
|
|
>&2 echo qemu-user-static is required for cross-platform builds
|
|
sudo umount tmp/combined
|
|
sudo umount tmp/lower
|
|
sudo rm -rf tmp
|
|
exit 1
|
|
fi
|
|
sudo cp $(which qemu-$ARCH-static) tmp/combined${QEMU}
|
|
fi
|
|
|
|
sudo mkdir -p tmp/combined/usr/lib/startos/
|
|
sudo rsync -a --copy-unsafe-links dist/ tmp/combined/usr/lib/startos/init/
|
|
sudo chown -R 0:0 tmp/combined/usr/lib/startos/
|
|
sudo cp container-runtime.service tmp/combined/lib/systemd/system/container-runtime.service
|
|
sudo chown 0:0 tmp/combined/lib/systemd/system/container-runtime.service
|
|
sudo cp container-runtime-failure.service tmp/combined/lib/systemd/system/container-runtime-failure.service
|
|
sudo chown 0:0 tmp/combined/lib/systemd/system/container-runtime-failure.service
|
|
sudo cp ../core/target/$ARCH-unknown-linux-musl/release/containerbox tmp/combined/usr/bin/start-container
|
|
echo -e '#!/bin/bash\nexec start-container "$@"' | sudo tee tmp/combined/usr/bin/start-cli # TODO: remove
|
|
sudo chmod +x tmp/combined/usr/bin/start-cli
|
|
sudo chown 0:0 tmp/combined/usr/bin/start-container
|
|
echo container-runtime | sha256sum | head -c 32 | cat - <(echo) | sudo tee tmp/combined/etc/machine-id
|
|
cat deb-install.sh | sudo systemd-nspawn --console=pipe -D tmp/combined $QEMU /bin/bash
|
|
sudo truncate -s 0 tmp/combined/etc/machine-id
|
|
|
|
if [ -n "$QEMU" ]; then
|
|
sudo rm tmp/combined${QEMU}
|
|
fi
|
|
|
|
rm -f rootfs.${ARCH}.squashfs
|
|
mkdir -p ../build/lib/container-runtime
|
|
sudo mksquashfs tmp/combined rootfs.${ARCH}.squashfs
|
|
sudo umount tmp/combined
|
|
sudo umount tmp/lower
|
|
sudo rm -rf tmp |