Commit Graph
10 Commits
Author SHA1 Message Date
Seregon 2db0f1014f web: redesign the browser interface
Replace the embedded UI with a file manager: sidebar, details table, keyboard shortcuts, uploads, copy/move and extraction. Games, System, Transfers and Settings use the same components. The previous UI is archived in web/legacy/ and left out of the embedded resources.

The restyle is flat: donation banner, credits with the maintainer photo, and no gradients or card shadows. JavaScript stays ES5.
2026-09-29 12:53:34 +02:00
seregonwar 5c9ff1dcae refactor: organize source tree by subsystem 2026-09-09 13:27:56 +02:00
seregonwar 1ac381b85d feat: replace custom download stack with curl and libnfs 2026-09-09 12:30:02 +02:00
Seregon c680efc605 Add HTTP /api/notify endpoint for custom PS4/PS5 system toasts.
Expose pal_notification_send_ex over ZHTTP so local automation (e.g. Home Assistant) can push console notifications without a dedicated payload.
2026-08-04 20:41:57 +02:00
Seregon 36845fd82a Add rest-mode resilience and fix CHMOD/copy regressions.
Survive console Rest Mode by recreating FTP/HTTP listeners with backoff and exposing daemon instance_id; implement real SITE CHMOD (#9) and fix atomic-copy temp paths that broke dashboard moves (#7).
2026-07-28 16:27:43 +02:00
Seregon 0971147e7a Add FFI usage guide and update .gitignore
Introduce docs/ffi_usage.md: a comprehensive FFI usage guide with compilation instructions and examples for Rust, Python, Go, and Java (JNI). Update .gitignore to stop ignoring the whole /docs folder, and adjust trailing whitespace; ensures the new documentation files are tracked.
2026-02-27 17:45:35 +01:00
Seregon 1374100ea0 Improve data transfer robustness & network PAL
Add internal API docs and tweak build/gitignore; bump release to 1.2.2. Increase default buffer/stream sizes and add data-specific I/O timeouts/linger for PS4/PS5/other platforms; disable transfer rate limiting on PS5. Introduce new PAL networking primitives (pal_socket_configure_data, cork/uncork, timeouts/drain helpers) and update pal_network.h/.c for safer, more configurable socket behavior and telemetry. Make file I/O more robust on consoles (F_NOCACHE, posix_fadvise) and harden HTTP CSRF token formatting to avoid overruns. Replace the old per-session token-bucket rate limiter with socket corking around sendfile/read loops, add fsync flushes and richer failure reporting in RETR/STOR/APPE, and implement a graceful data-socket close sequence to avoid RSTs. Minor Makefile fixes to ensure build directories exist.
2026-02-22 00:17:57 +01:00
Seregon d09bde8174 Add pal alloc/scratch, Makefile and safety fixes
Introduce a platform allocator and scratchpad: add pal_alloc.{h,c}, pal_alloc_override.h, and pal_scratch.{h,c} (APIs and a default arena). Integrate them: add sources to the Makefile, change artifact naming and add all-platform build targets, and wire pal_scratch into main for sysctl buffer usage. Improve robustness and safety: enable FTP_LIST_SAFE_MODE in ftp_config.h, add stat-skipping and fallback behavior in directory listings, strengthen file-type checks in RETR, and harden STOR/APPE data-paths (use pool buffers, proper error handling, 64-bit counters, and logging). Fix concurrency/atomic logic in ftp_buffer_pool (use compare_exchange_strong with retry) and update ftp_session to refresh last_activity on I/O. Minor updates: mark fallback buffer as _Thread_local in pal_fileio, update docs to describe the memory strategy, bump release to 1.2.1, add tests and QA scripts, and add license headers and small metadata changes (event_loop author).
2026-02-17 20:02:15 +01:00
Seregon f48fa11a40 Add zhttpd HTTP server and kqueue loop
Introduce an embedded Web File Explorer (zhttpd) and unified event loop implementation. Adds HTTP server headers and sources (http_api, http_parser, http_response, http_server, http_csrf, http_config), kqueue-based event loop (event_loop + event_loop_kqueue), embedded resource tooling and web UI (index.html, app.js, style.css, tools/generate_resources.py), API docs (docs/API.md), and tests (tests/test_http_query.c). Update Makefile to add ENABLE_ZHTTPD toggle (enabled by default on PS4/PS5), visibility flag for console targets, and test target for the new HTTP query test. Minor cleanup to include/ftp_config.h formatting and add ftpd.log to .gitignore.
2026-02-16 17:27:33 +01:00
Seregon 0cb53f7c22 First commit 2026-02-13 22:06:09 +01:00