- Added new dependencies: `adler2`, `crc32fast`, `flate2`, `miniz_oxide`, and `libredox`. - Updated existing dependencies: `tokio-rustls` to version 0.26.4 and `filetime` to version 0.2.27. - Removed the `backup.rs` file as it is no longer needed. - Introduced tests for configuration and credential management. - Enhanced the `identity` module to generate W3C compliant DID documents. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
name, description, type
| name | description | type |
|---|---|---|
| web-only-apps | Web-only apps (no container) — L484 category, BotFights, IndieHub. Iframe compatibility, nginx proxying, My Apps injection. | project |
Web-Only Apps (added 2026-03-11)
These apps are external websites embedded via iframe — no Docker container. They show as "installed" in both the marketplace and My Apps.
L484 Category
- NWNN (nwnn.l484.com) — News aggregator. No X-Frame-Options. Works in iframe directly.
- 484 Kitchen (484.kitchen) — K484 platform. X-Frame-Options: SAMEORIGIN. Proxied via
/ext/484-kitchen/. - Call the Operator (cta.tx1138.com) — Decentralization portal. No X-Frame-Options. Works in iframe directly.
- Arch Presentation (present.l484.com) — Archipelago presentation. X-Frame-Options: SAMEORIGIN. Proxied via
/ext/arch-presentation/. - Syntropy Institute (syntropy.institute) — Medicine Reimagined. No X-Frame-Options. Works in iframe directly.
- T-0 (teeminuszero.net) — Decentralization documentary. No X-Frame-Options. Works in iframe directly.
Other Web-Only Apps
- BotFights (botfights.net) — X-Frame-Options: SAMEORIGIN + CSP + COEP/COOP/CORP. Proxied via
/ext/botfights/. Nginx strips all blocking headers. - IndeeHub (archipelago.indeehub.studio) — No X-Frame-Options. Works in iframe directly.
Nginx External Proxies
Sites with X-Frame-Options get reverse-proxied through nginx at /ext/{app-id}/:
proxy_hide_header X-Frame-Optionsstrips upstream headeradd_header X-Content-Type-Options "nosniff" alwaysprevents server-level X-Frame-Options inheritance- BotFights also strips
Cross-Origin-Embedder-Policy,Cross-Origin-Opener-Policy,Cross-Origin-Resource-Policy - Proxy locations in both HTTP and HTTPS server blocks of nginx-archipelago.conf
Frontend Implementation
- appLauncher.ts:
EXTERNAL_PROXYmap rewrites external URLs to proxy paths intoEmbeddableUrl() - Apps.vue:
WEB_ONLY_APPSconstant with syntheticPackageDataEntryobjects. Sorted first alphabetically. No uninstall/start/stop buttons. - Marketplace.vue:
dockerImage: ''+webUrlingetCuratedAppList(). L484 category. - Icons:
neode-ui/public/assets/img/app-icons/{app-id}.png(or .svg)