Commit Graph

116 Commits

Author SHA1 Message Date
Miroslav Šedivý 21e7c8d8a4 feat: add Raspberry Pi GPU browser example and update documentation links 2026-09-27 17:08:07 +02:00
Miroslav Šedivý 5bade7c005 feat: update GPU browser examples and add OAuth configuration example 2026-09-27 17:04:51 +02:00
Miroslav Šedivý 6ff8959a7f feat: rename GPU-accelerated browser examples for Intel and Nvidia. 2026-09-27 17:00:24 +02:00
Miroslav Šedivý 159255015e Add example Docker Compose configurations for Neko
- Introduced a simple browser example using Firefox in Docker with optional persistent profile configuration.
- Added a TURN server example using Coturn alongside Neko for WebRTC support.
- Updated installation documentation to include new examples and improved organization.
- Enhanced Docusaurus configuration to support dynamic code imports for example files.
- Updated package dependencies to include remark-code-import for better documentation handling.
2026-09-27 16:56:58 +02:00
Miroslav Šedivý 6bc8350213 feat: add email scope to OAuth configuration and update documentation 2026-09-24 00:18:02 +02:00
Miroslav Šedivý 3f3ae10fb9 feat: implement user email restrictions for OAuth login 2026-09-24 00:17:58 +02:00
Miroslav Šedivý d991fec3c7 refactor(oauth): improve readability of newOAuthHandler and OAuth methods. 2026-09-24 00:17:34 +02:00
@刘羡鱼 dae23a90b5 feat(auth): add OIDC-only member authentication (#686)
* feat(auth): add OIDC member authentication

* docs(auth): document OIDC member login

* fix(auth): address OAuth review feedback

* refactor(auth): move OAuth flow into member provider
2026-09-24 00:15:46 +02:00
Abdellatif Anaflous 73b9d71b0d fix(capture): accept a bare pipeline string in video pipelines entries (#701)
* fix(capture): accept a bare pipeline string in video pipelines entries

NEKO_CAPTURE_VIDEO_PIPELINES expects every entry to be a full pipeline config
object, but the singular capture.video.pipeline option trains people to write
the whole pipeline as a plain string, so a dict like {"high": "ximagesrc ...
! appsink"} failed to unmarshal, the error got reduced to a warn and neko fell
back to the default vp8 pipeline silently, also overriding a directly set
video codec

the json string hook decodes the env value into a generic map, so the shorthand
is restored in the mapstructure chain: a string value for an entry now becomes
VideoConfig{GstPipeline: ...}, the same shape the single pipeline option
produces, object entries are untouched

the new config test drives the production env flow (Init + Set) and fails on
master with the same two warnings the reporter saw

Fixes #689

* feat(capture): add shorthand support for pipeline entries as plain strings.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2026-09-10 13:45:30 +02:00
ycsi b0f01cedea feat(capture): toggle mouse pointer via capture.video.show_pointer (#691)
* feat(capture): toggle mouse pointer via capture.video.show_pointer

- config: register capture.video.show_pointer config option
- config: default pointer to visible (ShowPointer: true) on the
hardcoded fallback pipeline, override applies only when the flag is
explicitly set, so per-pipeline YAML overrides stay untouched
- compose: document NEKO_CAPTURE_VIDEO_SHOW_POINTER example

* fix(capture): apply show_pointer to all pipelines

- capture: thread capture.video.show_pointer into broadcast and
  screencast gstreamer pipelines, previously hardcoded show-pointer=true
  and silently ignored the flag
- config: resolve capture.video.show_pointer once into
  Capture.VideoShowPointer so all pipeline builders share one value
- docs: document capture.video.show_pointer in configuration/capture.md,
  including its reach into broadcast and screencast, and regenerate
  help.txt/help.json
- compose: drop stray commented-out example, default compose file is
  not meant to list every option
2026-08-29 13:47:04 +02:00
Vaibhav Srivastava 393177f574 docs: fix typo acheived -> achieved (#696)
Signed-off-by: Vaibhav Srivastava <vaibhavsri1712@gmail.com>
2026-08-29 13:46:13 +02:00
Miroslav Šedivý baf21c1d97 feat: remove default configuration to prevend accidental override.
we used to have file neko.yaml with default configuration, but if we would add neko.yml the default configuration would still be read. so instead, default configuartion was moved to the sever itself and no file is distributed with it by defautl.
2026-08-15 15:36:06 +02:00
@刘羡鱼 6f31613d3b feat: add arm64 Google Chrome image (#685) 2026-08-11 18:01:58 +02:00
Paul Troeger cc014571cc feat: add openinapp plugin to open chat links in shared neko instance (#682)
* feat: add openinapp plugin to open chat links in shared neko instance

* lint.

* feat(openinapp): implement open link handler and route for opening links.

* feat(openinapp): switched to http backend and removed example in docker-compose.yaml

* lint.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2026-08-09 22:53:39 +02:00
Miroslav Šedivý 365944d1ea feat(browsers): update persistent data policies for Firefox-based browsers. 2026-08-07 21:24:49 +02:00
Abdellatif Anaflous d6a4200b36 feat(filetransfer): allow file deletion and add user delete config option (#683)
* feat(filetransfer): allow file deletion and add user delete config option

* fix(client): make user_delete required boolean in payload

* lint.

* feat(filetransfer): add confirmation dialog for file deletion.

* feat(filetransfer): add delete file confirmation messages in multiple languages

* lint.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2026-08-07 18:12:02 +02:00
Sadok Barbouche 30d8e1c595 feat: add ?scroll query param to set scroll sensitivity on load (#681)
Follows the same pattern as the existing ?volume param. Lets users
bake a preferred scroll sensitivity into the URL (useful for cast/embed
setups where the settings panel isn't reachable), and it's persisted
to localStorage afterwards so it sticks on future visits.

Fixes #607
2026-08-05 23:09:53 +02:00
Abdellatif Anaflous 613647c72c fix(filetransfer): allow non-admin file uploads and downloads (#679)
* fix(filetransfer): remove auth.AdminsOnly middleware wrapper from routes

* fix(filetransfer): add config option to allow non-admin users to download and upload files.

* fix(filetransfer): implement user permissions for file download and upload in client.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2026-08-05 22:33:17 +02:00
Miroslav Šedivý e843961c37 chore: update release notes for v3.1.5, adding new features and fixes.. 2026-08-05 17:26:14 +02:00
Budovi dfc41f73d6 Add support for H265 encoded streams (#648)
* Add H265 support

Adds H265 as a selectable video codec with software (x265enc), VAAPI
(vah265enc), and NVENC (nvh265enc) pipeline paths in both the legacy
pipeline builder and the RTPCodec definition.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Replace legacy vaapih264enc with vah264enc

The gstreamer-vaapi plugin suite (vaapih264enc) is superseded by the va
plugin (vah264enc) in gst-plugins-bad. Switch to it and update the
parameters accordingly: CBR instead of VBR for lower-latency streaming,
key-int-max instead of keyframe-period, and target-usage instead of
quality-level.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Unify keyframe interval to 60 frames for NVENC H264/H265 encoder paths

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-04 15:16:33 +02:00
cdxii d2ec13a236 Install Widevine for Arm64 (#660)
* chromium arm64 widevine

* brave arm64 widevine

* firefox arm64 widevine

* vivaldi arm64 widevine

* Update browser.md for arm64 drm

* add link to instruction

* add widevine-installer

* widevine base image, tools in utils, move files for chromiums

* include installer in runtime

* add runtime/widevine-installer in repo-structure
2026-08-03 13:55:42 +02:00
Miroslav Šedivý 4764dcbb05 docs: add warning about using localhost for NEKO_WEBRTC_NAT1TO1 and common WebRTC connection errors. (#672) 2026-07-31 15:01:03 +02:00
Miroslav Šedivý c804b1ac24 docs: add single-user setup section to UI customization (#671) 2026-07-31 14:28:41 +02:00
Miroslav Šedivý 81deea72fb docs: add warning about persistent profile volume and session management for Firefox (#670) 2026-07-31 14:28:30 +02:00
Miroslav Šedivý e6239d6a51 feat: update video encoding to use nvautogpuh264enc for NVIDIA driver 590+ support. (#667) 2026-07-31 14:28:19 +02:00
Miroslav Šedivý 97b0513e89 docs: enhance build instructions with custom Docker image guidance (#665) 2026-07-31 11:34:48 +02:00
Miroslav Šedivý 2f9c20bb97 docs: add Brave singleton lock fix to troubleshooting (closes #609) (#663) 2026-07-31 11:34:20 +02:00
Miroslav Šedivý b1a4055228 docs: add Safari not-available section with Apple TOS note (closes #634) (#664) 2026-07-31 11:34:02 +02:00
Miroslav Šedivý 98e5d0a685 docs: update developer guide with build instructions and add local development setup. (#661) 2026-07-30 17:08:21 +02:00
Miroslav Šedivý fdb0be3426 add scam warning alert to homepage. 2026-04-17 21:28:12 +02:00
Miroslav Šedivý 716c60af28 remove support for linux/arm/v7. 2026-04-02 15:33:37 +02:00
Miroslav Šedivý a597d44680 Upgrade to debian trixie (#581)
* move flavored bookworm dockerfile to a new trixie dockerfile.

* fix opera openbox selector.

* fix remmina dependencies.

* remove chromium explicit bookworm source.

* Update apps to work with trixie (#624)

Co-authored-by: yesBad <me@bad.cash>

* remove SYS_ADMIN capability requirement for Chromium-based Docker images and update documentation accordingly.

* fix chromium package.

* change uBlock Origin to uBlock Origin Lite.

* restore waterfox in build matrix for GHCR workflows.

---------

Co-authored-by: Bad <87938689+yesBad@users.noreply.github.com>
Co-authored-by: yesBad <me@bad.cash>
2026-04-02 15:12:21 +02:00
Miroslav Šedivý a2f5f7ec79 feat(docs): add related projects section and VRChat streaming integration. 2026-03-14 20:36:13 +01:00
Miroslav Šedivý f84740f6da replace discord join link. 2026-03-08 12:32:23 +01:00
4g0tt3nSou1 c11e7f35b9 Clarify authentication module implementation status (#617)
* Clarify authentication module implementation status

Added a note regarding the implementation status of LDAP, OIDC, and other subsystems.

* use warning box.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2026-01-24 10:47:42 +01:00
Miroslav Šedivý 7b7c876775 update nvidia docs. 2025-09-16 19:59:55 +02:00
Miroslav Šedivý 5b9225f401 add hostname to broadcast variables. (#576) 2025-09-10 22:53:52 +02:00
Miroslav Šedivý 04c0d5ea15 fix docs #545. 2025-06-17 10:05:27 +02:00
Miroslav Šedivý 2b565bc762 fix incorrect docs, #545. 2025-06-17 09:58:42 +02:00
Miroslav Šedivý b0048432df add #486 to docs. 2025-06-15 20:25:34 +02:00
Miroslav Šedivý cb3d02fbb6 update release notes #537. 2025-05-29 01:56:56 +02:00
Miroslav Šedivý 0b4bf9e224 update release notes. 2025-05-29 01:56:22 +02:00
Miroslav Šedivý d530b759f5 update docs. 2025-05-28 20:16:27 +02:00
camerony 725d5396c0 Fix typo in quick-start guide for local network setup (#533) 2025-05-16 07:52:54 +02:00
Miroslav Šedivý 11cef143a3 temporarily disable waterfox build due to Cloudflare blocked download link. 2025-04-21 16:11:46 +02:00
Miroslav Šedivý 73e61de52e add SECURITY.md file. 2025-04-21 16:03:51 +02:00
Miroslav Šedivý c9ca4e7144 docs firefox: guide on how to find extension ID. 2025-04-12 23:38:52 +02:00
Miroslav Šedivý c1ccae4ac4 docs: info about supporting only one provider at a time. #505 2025-04-07 22:45:42 +02:00
Miroslav Šedivý 46e9b19e09 docs: legacy mode explained. 2025-04-06 17:29:56 +02:00
Miroslav Šedivý 3c787baa40 legacy: forward ws ping messages #506. 2025-04-06 17:19:22 +02:00