34 Commits

Author SHA1 Message Date
timmy b15bede430 Best practices 2026-07-12 14:12:15 -07:00
Michael Stapelberg 63b2aa82de fix displaying firmware EEPROM version on Pi 5
The Pi 5 firmware does not rename recovery.bin anymore,
so the check we did to figure out if the updated succeeded
only works on the Pi 4.

related to https://github.com/gokrazy/gokrazy/issues/332
2025-11-16 09:05:06 +01:00
Michael Stapelberg 5d7177d86b move status log function into its own file 2025-04-13 18:40:44 +02:00
Michael Stapelberg 527e712756 display extra mount devices under “storage” section
related to https://github.com/gokrazy/gokrazy/issues/236
2024-07-19 18:28:45 +02:00
Brad Fitzpatrick 25011f45fd make Model detect QEMU, always return non-empty string (#192)
And cache its result, as it's called regularly by at least fbstatus,
which seems like is using too much CPU. (though admittedly the fbstatus
CPU problems are mostly elsewhere)

And rename mustReadFile0 because a "must" prefix implies it panics.
2023-04-06 11:37:25 +02:00
oliverpool 7301b565b0 dashboard: show latest stdout and stderr lines (#182) 2023-03-14 18:09:01 +01:00
Michael Stapelberg 73892ad238 display SBOM hash in the top right web interface header
related to https://github.com/gokrazy/gokrazy/issues/167
2023-02-19 15:26:20 +01:00
Michael Stapelberg c4490d7822 /update/features: include EEPROM version in JSON requests
This handler (despite being named just /features) should supply all the
information that the updater package needs in a single request/response.
2023-02-15 18:28:26 +01:00
Michael Stapelberg d7743d90ca jsonRequested: look at Accept header, not Content-Type
The client sets the Accept header, the server sets the Content-Type header.
2023-02-15 08:44:37 +01:00
Michael Stapelberg ded80baea1 switch from rsc.io/goversion to debug/buildinfo
The debug/buildinfo package appeared in Go 1.18.
2022-08-12 09:00:44 +02:00
Michael Stapelberg 0e70ad8c1d transparently add service when diverting an unknown service
This allows running “gok run” for prototyping, even for software you have not
included in the currently running gokrazy image.

fixes https://github.com/gokrazy/gokrazy/issues/88
2021-12-18 19:09:17 +01:00
Anup Chenthamarakshan af5773f40f status: live tail logs (#100)
Create a /log endpoint for streaming stdout/stderr logs for processes.
Replace status page stdout/stderr to call into /log to stream logs and
live update page.
2021-12-13 09:17:44 +01:00
Michael Stapelberg df561dc771 load templates at func init time to catch parse errors during test 2021-11-21 16:45:15 +01:00
Michael Stapelberg fefd4180bb use go:embed directive instead of goembed.go for bundling assets 2021-06-24 17:54:43 +02:00
Michael Stapelberg c8f583fc14 status: fix mkfs instructions for GPT UUIDs
related to https://github.com/gokrazy/gokrazy/issues/87
2021-06-24 14:38:41 +02:00
andig 0e2a0ad88a Provide json status api (#82) 2021-01-17 19:20:54 +01:00
Matt Layher a4c823dc2b Add kernel information to web UI header (#67)
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-07-14 10:57:14 +02:00
Michael Stapelberg fc121e1383 export Model() 2020-06-26 11:56:51 +02:00
Michael Stapelberg 272a5324e3 status: fix template by plumbing through EEPROM variable 2020-06-21 07:43:59 +02:00
Michael Stapelberg 0fa71a6018 display the EEPROM SHA256 hashes (shortened)
related to https://github.com/gokrazy/gokrazy/issues/48
2020-06-19 08:50:32 +02:00
Michael Stapelberg c306d3cd69 move template parsing out of func init
If we manage to build with a malformed template now,
the watchdog will work.

fixes #60
2020-06-17 09:13:44 +02:00
Michael Stapelberg 2398e37f70 status: use partuuid-based path in mkfs instruction
fixes https://github.com/gokrazy/gokrazy/issues/12
2020-05-30 18:47:48 +02:00
Michael Stapelberg b93a58e5c8 status: print module info details
fixes https://github.com/gokrazy/gokrazy/issues/59
2020-05-30 18:17:38 +02:00
Michael Stapelberg 7e02056689 status: include service status and GOARCH in HTTP headers
This will come in handy in https://github.com/gokrazy/breakglass
2020-05-25 09:29:58 +02:00
Michael Stapelberg 3a6c5f85d2 header: include model name on supported platforms 2020-04-08 15:24:36 +02:00
Michael Stapelberg ffc8928d2e update to new rootdev API
related to https://github.com/gokrazy/gokrazy/issues/52
2020-04-07 09:00:10 +02:00
Michael Stapelberg 09fbdb123e bundle bootstrap, bootstrap-table and jquery assets
This way, the UI works even when the user is offline, which is handy for
router7.
2019-11-09 09:37:23 +01:00
Michael Stapelberg 25dc781a8e Set Access-Control-Allow-Origin header to load external CSS
With Chrome 70, I didn’t get the bootstrap CSS files anymore.
2018-12-26 16:15:14 +01:00
Michael Stapelberg 1c16b3b4eb serve favicon.ico 2018-07-15 18:32:46 +02:00
Michael Stapelberg 9770d4408f move root device finding function to internal/rootdev 2018-07-14 23:37:12 +02:00
Michael Stapelberg c74265523b implement XSRF/CSRF protection for /stop and /restart
While stopping/restarting processes seems like a nuisance at best, it’s good
style to prevent these attacks.

This commit the Double-Submit Cookie protection, which seems appropriate for our
architecture and demands. See also:
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Double_Submit_Cookie
2018-06-25 18:38:08 +02:00
Michael Stapelberg 59b99bc704 remove hard-coded mmcblk0 from all places 2018-06-17 09:31:14 +02:00
Michael Stapelberg b5d7cb2fcf add PublicInterfaceAddrs and display them on the status page 2018-03-20 19:34:36 +01:00
Michael Stapelberg 38af7fd18d Initial commit 2017-03-04 11:22:48 +01:00