Web Server for Chrome (2026 Relaunch)
200 OK Web Server
The cross-platform successor to Web Server for Chrome, rebuilt by the original author.
The original Chrome App was used by 200,000+ people for local web development and file sharing. Google discontinued Chrome Apps, so 200 OK Web Server carries that simple workflow forward as:
Same author. Same mission. Modern architecture.
Looking for the original Chrome App source code? See the
legacybranch.
Feedback, suggestions, and support · Source code · MIT License
The Chrome extension, Android app, ChromeOS Linux component, and signed desktop
v0.1.5 have shipped. The server runtimes are intentionally not unified:
v0.1.5 uses the standalone Rust HTTP core behind the Tauri/React
control surface;Desktop main uses the standalone Rust core for HTTP, filesystem, and server
lifecycle work; its Tauri webview is only a static React control surface.
Signed desktop v0.1.5 includes the AppImage-first Linux installation,
native-host relaunch repair, Linux ARM64 packages, and package-aware signed
updates. The former Node/TypeScript CLI was never published to npm and has
been retired. GitHub release android-v0.2.1 contains the signed native Kotlin
APK and AAB with the physically validated ChromeOS LAN-address correction. The
maintainer reports v0.2.1 submitted to Play; Play may continue serving an
earlier artifact until review and rollout finish.
A standalone native iOS application is now implemented but not released. It uses SwiftUI and a Swift HTTP/storage implementation, reuses the product artwork rather than another platform's code, and stops when iOS backgrounds it. Its simulator/Release gates and same-Wi-Fi external HTTP campaign passed on the attached physical iPhone; App Store packaging and TestFlight are separate remaining work.
See the living product branding decision, desktop runtime decision, Android runtime decision, iOS runtime decision, ChromeOS extension launcher decision, ChromeOS Crostini launcher/controller decision, and active extension/ChromeOS closeout. The scoped Play-free Linux fallback is recorded in the Crostini tactical.
See docs/vision.md for the full roadmap.
The repository contains three supported server cores and the platform applications that use or launch them:
packages/ui/ Shared React controls used by the desktop webview
extension/ Chrome Extension
desktop/ Tauri/React controls plus Rust application state
desktop/core/ Rust HTTP core and repository-only smoke executable
desktop/crostini/ ChromeOS Linux launcher/controller using the Rust core
android/ Compose app plus Kotlin HTTP/storage and lifecycle core
ios/ SwiftUI app plus Swift HTTP/storage and foreground lifecycleDesktop and ChromeOS Linux use native Rust, Android uses native Kotlin, and
iOS uses native Swift. Their core feature contract is kept broadly compatible
through tests rather than shared runtime source. The Tauri webview remains for
configuration and control, while native Rust owns desktop sockets, filesystem
access, HTTP behavior, and server lifecycle. The small ok200-core executable
is retained only for repository development and smoke testing; it is not an
independently packaged CLI product. Authoritative runtime boundaries live in
docs/topics/desktop-runtime.md and
docs/topics/android-runtime.md.
The iOS source is a separate native SwiftUI/Swift implementation under ios/;
its development candidate is physically accepted but no App Store release
exists yet. See
docs/topics/ios-runtime.md and
docs/tactical/017-ios-store-readiness.md.
If you were a user of the original Web Server for Chrome:
Migration status and the final legacy update plan are in
docs/topics/legacy-app-migration.md.
pnpm install
pnpm build # build frontend applications and shared UI
pnpm test # run tests
pnpm typecheck # type check
pnpm lint # lint with BiomeFor the Rust-native desktop workspace and its internal smoke executable:
cd desktop
cargo run -p ok200-core -- --root .. --port 0
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspaceFor the native iOS application:
ios/scripts/check.sh # simulator unit/UI tests and Release hygiene
ios/scripts/device-smoke.sh # signed phone install, LAN fetch, background stopMIT
No open issues yet, or sync has not completed.