- Add URL plugin effects (register, export_url, clear_urls) in core
- Add PluginHostnameInfo, HostnameMetadata::Plugin, and plugin registration types
- Implement plugin URL table in web UI with tableAction button and rowAction overflow menus
- Thread urlPluginMetadata (packageId, hostId, interfaceId, internalPort) as prefill to actions
- Add prefill support to PackageActionData so metadata passes through form dialogs
- Add i18n translations for plugin error messages
- Clean up plugin URLs on package uninstall
The CONNMARK --restore-mark rule was only in PREROUTING, which handles
forwarded packets. Locally-bound listeners (e.g. vhost) generate replies
through the OUTPUT chain, where the fwmark was never restored. This
caused response packets to route via the default table instead of back
through the originating interface.
* Multiple (#3111)
* fix alerts i18n, fix status display, better, remove usb media, hide shutdown for install complete
* trigger chnage detection for localize pipe and round out implementing localize pipe for consistency even though not needed
* Fix PackageInfoShort to handle LocaleString on releaseNotes (#3112)
* Fix PackageInfoShort to handle LocaleString on releaseNotes
* fix: filter by target_version in get_matching_models and pass otherVersions from install
* chore: add exver documentation for ai agents
* frontend plus some be types
---------
Co-authored-by: Aiden McClelland <3732071+dr-bonez@users.noreply.github.com>
- Add AvailablePorts::try_alloc() with SSL tracking (BTreeMap<u16, bool>)
- Add DerivedAddressInfo on BindInfo with private_disabled/public_enabled/possible sets
- Add Bindings wrapper with Map impl for patchdb indexed access
- Flatten HostAddress from single-variant enum to struct
- Replace set-gateway-enabled RPC with set-address-enabled
- Remove hostname_info from Host; computed addresses now in BindInfo.addresses.possible
- Compute possible addresses inline in NetServiceData::update()
- Update DB migration, SDK types, frontend, and container-runtime
Tor is being moved from a built-in OS feature to a service. This removes
the Arti-based Tor client, onion address management, hidden service
creation, and all related code from the core backend, frontend, and SDK.
- Delete core/src/net/tor/ module (~2060 lines)
- Remove OnionAddress, TorSecretKey, TorController from all consumers
- Remove HostnameInfo::Onion and HostAddress::Onion variants
- Remove onion CRUD RPC endpoints and tor subcommand
- Remove tor key handling from account and backup/restore
- Remove ~12 tor-related Cargo dependencies (arti-client, torut, etc.)
- Remove tor UI components, API methods, mock data, and routes
- Remove OnionHostname and tor patterns/regexes from SDK
- Add v0_4_0_alpha_20 database migration to strip onion data
- Bump version to 0.4.0-alpha.20
* start consolidating
* add start-cli flash-os
* combine install and setup and refactor all
* use http
* undo mock
* fix translation
* translations
* use dialogservice wrapper
* better ST messaging on setup
* only warn on update if breakages (#3097)
* finish setup wizard and ui language-keyboard feature
* fix typo
* wip: localization
* remove start-tunnel readme
* switch to posix strings for language internal
* revert mock
* translate backend strings
* fix missing about text
* help text for args
* feat: add "Add new gateway" option (#3098)
* feat: add "Add new gateway" option
* Update web/projects/ui/src/app/routes/portal/components/form/controls/select.component.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add translation
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* fix dns selection
* keyboard keymap also
* ability to shutdown after install
* revert mock
* working setup flow + manifest localization
* (mostly) redundant localization on frontend
* version bump
* omit live medium from disk list and better space management
* ignore missing package archive on 035 migration
* fix device migration
* add i18n helper to sdk
* fix install over 0.3.5.1
* fix grub config
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>
Co-authored-by: Alex Inkin <alexander@inkin.ru>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* help ios downlaod .crt and add begin add masked for addresses
* only require and show CA for public domain if addSsl
* fix type and revert i18n const
* feat: add address masking and adjust design (#3088)
* feat: add address masking and adjust design
* update lockfile
* chore: move eye button to actions
* chore: refresh notifications and handle action error
* static width for health check name
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* hide certificate authorities tab
* alpha.17
* add waiting health check status
* remove "on" from waiting message
* reject on abort in `.watch`
* id migration: nostr -> nostr-rs-relay
* health check waiting state
* use interface type for launch button
* better wording for masked
* cleaner
* sdk improvements
* fix type error
* fix notification badge issue
---------
Co-authored-by: Alex Inkin <alexander@inkin.ru>
Co-authored-by: Aiden McClelland <me@drbonez.dev>
* add tor logs, rework services page, other small things
* feat: sortable service table and mobile view
---------
Co-authored-by: waterplea <alexander@inkin.ru>
* add support for idmapped mounts to start-sdk
* misc fixes
* misc fixes
* add default to textarea
* fix iptables masquerade rule
* fix textarea types
* more fixes
* better logging for rsync
* fix tty size
* fix wg conf generation for android
* disable file mounts on dependencies
* mostly there, some styling issues (#3069)
* mostly there, some styling issues
* fix: address comments (#3070)
* fix: address comments
* fix: fix
* show SSL for any address with secure protocol and ssl added
* better sorting and messaging
---------
Co-authored-by: Alex Inkin <alexander@inkin.ru>
* fixes for nextcloud
* allow sidebar navigation during service state traansitions
* wip: x-forwarded headers
* implement x-forwarded-for proxy
* lowercase domain names and fix warning popover bug
* fix http2 websockets
* fix websocket retry behavior
* add arch filters to s9pk pack
* use docker for start-cli install
* add version range to package signer on registry
* fix rcs < 0
* fix user information parsing
* refactor service interface getters
* disable idmaps
* build fixes
* update docker login action
* streamline build
* add start-cli workflow
* rename
* riscv64gc
* fix ui packing
* no default features on cli
* make cli depend on GIT_HASH
* more build fixes
* more build fixes
* interpolate arch within dockerfile
* fix tests
* add launch ui to service page plus other small improvements (#3075)
* add launch ui to service page plus other small improvements
* revert translation disable
* add spinner to service list if service is health and loading
* chore: some visual tune up
* chore: update Taiga UI
---------
Co-authored-by: waterplea <alexander@inkin.ru>
* fix backups
* feat: use arm hosted runners and don't fail when apt package does not exist (#3076)
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: Shadowy Super Coder <musashidisciple@proton.me>
Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>
Co-authored-by: Alex Inkin <alexander@inkin.ru>
Co-authored-by: Remco Ros <remcoros@live.nl>
* 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>
* import marketplac preview for sideload
* fix: improve state service (#2977)
* fix: fix sideload DI
* fix: update Angular
* fix: cleanup
* fix: fix version selection
* Bump node version to fix build for Angular
* misc fixes
- update node to v22
- fix chroot-and-upgrade access to prune-images
- don't self-migrate legacy packages
- #2985
- move dataVersion to volume folder
- remove "instructions.md" from s9pk
- add "docsUrl" to manifest
* version bump
* include flavor when clicking view listing from updates tab
* closes#2980
* fix: fix select button
* bring back ssh keys
* fix: drop 'portal' from all routes
* fix: implement longtap action to select table rows
* fix description for ssh page
* replace instructions with docsLink and refactor marketplace preview
* delete unused translations
* fix patchdb diffing algorithm
* continue refactor of marketplace lib show components
* Booting StartOS instead of Setting up your server on init
* misc fixes
- closes#2990
- closes#2987
* fix build
* docsUrl and clickable service headers
* don't cleanup after update until new service install succeeds
* update types
* misc fixes
* beta.35
* sdkversion, githash for sideload, correct logs for init, startos pubkey display
* bring back reboot button on install
* misc fixes
* beta.36
* better handling of setup and init for websocket errors
* reopen init and setup logs even on graceful closure
* better logging, misc fixes
* fix build
* dont let package stats hang
* dont show docsurl in marketplace if no docsurl
* re-add needs-config
* show error if init fails, shorten hover state on header icons
* fix operator precedemce
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: Alex Inkin <alexander@inkin.ru>
Co-authored-by: Mariusz Kogen <k0gen@pm.me>
* addHealthCheck on Daemons
* fix bug that prevents domains without protocols from being deleted
* fixes from testing
* version bump
* add sdk version to UI
* fix useEntrypoint
* fix dependency health check error display
* minor fixes
* beta.29
* fixes from testing
* beta.30
* set /etc/os-release (#2918)
* remove check-monitor from kiosk (#2059)
* add units for progress (#2693)
* use new progress type
* alpha.7
* fix up pwa stuff
* fix wormhole-squashfs and prune boot (#2964)
* don't exit on expected errors
* use bash
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* fix typeo in patch db seed
* show all registries in updates tab, fix required dependnecy display in marketplace, update browser tab title desc
* always show pointer for version select
* chore: fix comments
* support html in action desc and marketplace long desc, only show qr in action res if qr is true
* disable save if smtp creds not edited, show better smtp success message
* dont dismiss login spinner until patchDB returns
* feat: redesign of service dashboard and interface (#2946)
* feat: redesign of service dashboard and interface
* chore: comments
* re-add setup complete
* dibale launch UI when not running, re-style things, rename things
* back to 1000
* fix clearnet docs link and require password retype in setup wiz
* faster hint display
* display dependency ID if title not available
* fix migration
* better init progress view
* fix setup success page by providing VERSION and notifications page fixes
* force uninstall from service error page, soft or hard
* handle error state better
* chore: fixed for install and setup wizards
* chore: fix issues (#2949)
* enable and disable kiosk mode
* minor fixes
* fix dependency mounts
* dismissable tasks
* provide replayId
* default if health check success message is null
* look for wifi interface too
* dash for null user agent in sessions
* add disk repair to diagnostic api
---------
Co-authored-by: waterplea <alexander@inkin.ru>
Co-authored-by: Aiden McClelland <me@drbonez.dev>
* dynamically set a registry to use for os updates
* fix os updates response type
* fix saving high score
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* fix sideload and install flow
* move updates chevron inside upddate button
* update dictionaries to include langauge names
* fix: address todos (#2880)
* fix: address todos
* fix enlgish translation
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* use existing translation, no need to duplicate
* fix: update dialog and other fixes (#2882)
---------
Co-authored-by: Alex Inkin <alexander@inkin.ru>
Co-authored-by: Aiden McClelland <me@drbonez.dev>
* small type changes and clear todos
* handle notifications and metrics
* wip
* fixes
* migration
* dedup all urls
* better handling of clearnet ips
* add rfkill dependency
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* feat: redesign service route
* chore: more changes
* remove automated backups and fix interface addresses
* fix rpc methods and slightly better mocks
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* sdk tweaks
* update action result types
* accommodate new action response types
* fix: show action value labels
* Feature/get status effect (#2765)
* wip: get status
* feat: Add the get_status for effects
* feat: Do a callback
---------
Co-authored-by: J H <dragondef@gmail.com>
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: waterplea <alexander@inkin.ru>
Co-authored-by: J H <dragondef@gmail.com>
* add error status
* update types
* ṗ̶̰̙̓͒̈́ͅü̵̢̙̫̣ŗ̷̪̺̺͛g̴̲͉͎̬̒̇e̵̪̎̅͌ ̶̡̜̘͐͛t̶͎͍̣̿̍̐h̴͕̩͗̈́̎̑e̵͚͒̂͝ ̸̛͙̦͈͝v̶̱͙̬̽̔ọ̶̧̡̒̓i̸̬̲͍̋̈́d̴͉̀
* fix some extra voids
* add `package.rebuild`
* introduce error status and pkg rebuild and fix mocks
* minor fixes
* fix build
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
* store, properties, manifest
* interfaces
* init and backups
* fix init and backups
* file models
* more versions
* dependencies
* config except dynamic types
* clean up config
* remove disabled from non-dynamic vaues
* actions
* standardize example code block formats
* wip: actions refactor
Co-authored-by: Jade <Blu-J@users.noreply.github.com>
* commit types
* fix types
* update types
* update action request type
* update apis
* add description to actionrequest
* clean up imports
* revert package json
* chore: Remove the recursive to the index
* chore: Remove the other thing I was testing
* flatten action requests
* update container runtime with new config paradigm
* new actions strategy
* seems to be working
* misc backend fixes
* fix fe bugs
* only show breakages if breakages
* only show success modal if result
* don't panic on failed removal
* hide config from actions page
* polyfill autoconfig
* use metadata strategy for actions instead of prev
* misc fixes
* chore: split the sdk into 2 libs (#2736)
* follow sideload progress (#2718)
* follow sideload progress
* small bugfix
* shareReplay with no refcount false
* don't wrap sideload progress in RPCResult
* dont present toast
---------
Co-authored-by: Aiden McClelland <me@drbonez.dev>
* chore: Add the initial of the creation of the two sdk
* chore: Add in the baseDist
* chore: Add in the baseDist
* chore: Get the web and the runtime-container running
* chore: Remove the empty file
* chore: Fix it so the container-runtime works
---------
Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>
Co-authored-by: Aiden McClelland <me@drbonez.dev>
* misc fixes
* update todos
* minor clean up
* fix link script
* update node version in CI test
* fix node version syntax in ci build
* wip: fixing callbacks
* fix sdk makefile dependencies
* add support for const outside of main
* update apis
* don't panic!
* Chore: Capture weird case on rpc, and log that
* fix procedure id issue
* pass input value for dep auto config
* handle disabled and warning for actions
* chore: Fix for link not having node_modules
* sdk fixes
* fix build
* fix build
* fix build
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: Jade <Blu-J@users.noreply.github.com>
Co-authored-by: J H <dragondef@gmail.com>
Co-authored-by: Jade <2364004+Blu-J@users.noreply.github.com>
Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>
* port 040 config, WIP
* update fixtures
* use taiga modal for backups too
* fix: update Taiga UI and refactor everything to work
* chore: package-lock
* fix interfaces and mocks for interfaces
* better mocks
* function to transform old spec to new
* delete unused fns
* delete unused FE config utils
* fix exports from sdk
* reorganize exports
* functions to translate config
* rename unionSelectKey and unionValueKey
* new backup fs
* update sdk types
* change types, include fuse module
* fix casing
* rework setup wiz
* rework UI
* only fuse3
* fix arm build
* misc fixes
* fix duplicate server select
* fix: fix throwing inside dialog
---------
Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: waterplea <alexander@inkin.ru>
Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>