From 753184093f03c411c51cad894692b13d57af88d0 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Tue, 12 Aug 2025 06:34:29 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/bookstack/{25.05.2 => 25.07.1}/.env | 0 .../bookstack/{25.05.2 => 25.07.1}/data.yml | 0 .../{25.05.2 => 25.07.1}/docker-compose.yml | 2 +- .../{25.05.2 => 25.07.1}/envs/default.env | 0 .../{25.05.2 => 25.07.1}/envs/global.env | 0 .../{25.05.2 => 25.07.1}/scripts/init.sh | 0 .../{25.05.2 => 25.07.1}/scripts/uninstall.sh | 0 .../{25.05.2 => 25.07.1}/scripts/upgrade.sh | 0 appstore/casdoor/{2.14.0 => 2.15.0}/.env | 0 .../{2.14.0 => 2.15.0}/config/init_data.json | 0 appstore/casdoor/{2.14.0 => 2.15.0}/data.yml | 0 .../{2.14.0 => 2.15.0}/docker-compose.yml | 2 +- .../{2.14.0 => 2.15.0}/envs/casdoor.env | 0 .../{2.14.0 => 2.15.0}/envs/default.env | 0 .../{2.14.0 => 2.15.0}/envs/global.env | 0 .../{2.14.0 => 2.15.0}/scripts/init.sh | 0 .../{2.14.0 => 2.15.0}/scripts/uninstall.sh | 0 .../{2.14.0 => 2.15.0}/scripts/upgrade.sh | 0 appstore/n8n/{1.106.2 => 1.107.0}/.env | 0 appstore/n8n/{1.106.2 => 1.107.0}/data.yml | 0 .../{1.106.2 => 1.107.0}/docker-compose.yml | 2 +- .../n8n/{1.106.2 => 1.107.0}/envs/default.env | 0 .../n8n/{1.106.2 => 1.107.0}/envs/global.env | 0 .../n8n/{1.106.2 => 1.107.0}/scripts/init.sh | 0 .../{1.106.2 => 1.107.0}/scripts/uninstall.sh | 0 .../{1.106.2 => 1.107.0}/scripts/upgrade.sh | 0 appstore/neko-brave/3.0.6/.env | 18 +++++++ appstore/neko-brave/3.0.6/data.yml | 45 ++++++++++++++++++ appstore/neko-brave/3.0.6/docker-compose.yml | 27 +++++++++++ .../3.0.6}/envs/default.env | 0 .../3.0.6}/envs/global.env | 0 .../3.0.6}/scripts/init.sh | 0 .../3.0.6}/scripts/uninstall.sh | 0 .../3.0.6}/scripts/upgrade.sh | 0 appstore/neko-brave/README.md | 20 ++++++++ appstore/neko-brave/data.yml | 14 ++++++ appstore/neko-brave/logo.png | Bin 0 -> 30055 bytes appstore/neko-chromium/3.0.6/.env | 18 +++++++ appstore/neko-chromium/3.0.6/data.yml | 45 ++++++++++++++++++ .../neko-chromium/3.0.6/docker-compose.yml | 27 +++++++++++ appstore/neko-chromium/3.0.6/envs/default.env | 2 + appstore/neko-chromium/3.0.6/envs/global.env | 2 + appstore/neko-chromium/3.0.6/scripts/init.sh | 17 +++++++ .../neko-chromium/3.0.6/scripts/uninstall.sh | 10 ++++ .../neko-chromium/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-chromium/README.md | 20 ++++++++ appstore/neko-chromium/data.yml | 14 ++++++ appstore/neko-chromium/logo.png | Bin 0 -> 30055 bytes appstore/neko-firefox/3.0.6/.env | 18 +++++++ appstore/neko-firefox/3.0.6/data.yml | 45 ++++++++++++++++++ .../neko-firefox/3.0.6/docker-compose.yml | 27 +++++++++++ appstore/neko-firefox/3.0.6/envs/default.env | 2 + appstore/neko-firefox/3.0.6/envs/global.env | 2 + appstore/neko-firefox/3.0.6/scripts/init.sh | 17 +++++++ .../neko-firefox/3.0.6/scripts/uninstall.sh | 10 ++++ .../neko-firefox/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-firefox/README.md | 20 ++++++++ appstore/neko-firefox/data.yml | 14 ++++++ appstore/neko-firefox/logo.png | Bin 0 -> 30055 bytes appstore/neko-google-chrome/3.0.6/.env | 18 +++++++ appstore/neko-google-chrome/3.0.6/data.yml | 45 ++++++++++++++++++ .../3.0.6/docker-compose.yml | 27 +++++++++++ .../neko-google-chrome/3.0.6/envs/default.env | 2 + .../neko-google-chrome/3.0.6/envs/global.env | 2 + .../neko-google-chrome/3.0.6/scripts/init.sh | 17 +++++++ .../3.0.6/scripts/uninstall.sh | 10 ++++ .../3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-google-chrome/README.md | 20 ++++++++ appstore/neko-google-chrome/data.yml | 14 ++++++ appstore/neko-google-chrome/logo.png | Bin 0 -> 30055 bytes appstore/neko-kde/3.0.6/.env | 18 +++++++ appstore/neko-kde/3.0.6/data.yml | 45 ++++++++++++++++++ appstore/neko-kde/3.0.6/docker-compose.yml | 27 +++++++++++ appstore/neko-kde/3.0.6/envs/default.env | 2 + appstore/neko-kde/3.0.6/envs/global.env | 2 + appstore/neko-kde/3.0.6/scripts/init.sh | 17 +++++++ appstore/neko-kde/3.0.6/scripts/uninstall.sh | 10 ++++ appstore/neko-kde/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-kde/README.md | 20 ++++++++ appstore/neko-kde/data.yml | 14 ++++++ appstore/neko-kde/logo.png | Bin 0 -> 30055 bytes appstore/neko-microsoft-edge/3.0.6/.env | 18 +++++++ appstore/neko-microsoft-edge/3.0.6/data.yml | 45 ++++++++++++++++++ .../3.0.6/docker-compose.yml | 27 +++++++++++ .../3.0.6/envs/default.env | 2 + .../neko-microsoft-edge/3.0.6/envs/global.env | 2 + .../neko-microsoft-edge/3.0.6/scripts/init.sh | 17 +++++++ .../3.0.6/scripts/uninstall.sh | 10 ++++ .../3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-microsoft-edge/README.md | 20 ++++++++ appstore/neko-microsoft-edge/data.yml | 14 ++++++ appstore/neko-microsoft-edge/logo.png | Bin 0 -> 30055 bytes appstore/neko-remmina/3.0.6/.env | 18 +++++++ appstore/neko-remmina/3.0.6/data.yml | 45 ++++++++++++++++++ .../neko-remmina/3.0.6/docker-compose.yml | 27 +++++++++++ appstore/neko-remmina/3.0.6/envs/default.env | 2 + appstore/neko-remmina/3.0.6/envs/global.env | 2 + appstore/neko-remmina/3.0.6/scripts/init.sh | 17 +++++++ .../neko-remmina/3.0.6/scripts/uninstall.sh | 10 ++++ .../neko-remmina/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-remmina/README.md | 20 ++++++++ appstore/neko-remmina/data.yml | 14 ++++++ appstore/neko-remmina/logo.png | Bin 0 -> 30055 bytes appstore/neko-tor-browser/3.0.6/.env | 18 +++++++ appstore/neko-tor-browser/3.0.6/data.yml | 45 ++++++++++++++++++ .../neko-tor-browser/3.0.6/docker-compose.yml | 27 +++++++++++ .../neko-tor-browser/3.0.6/envs/default.env | 2 + .../neko-tor-browser/3.0.6/envs/global.env | 2 + .../neko-tor-browser/3.0.6/scripts/init.sh | 17 +++++++ .../3.0.6/scripts/uninstall.sh | 10 ++++ .../neko-tor-browser/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-tor-browser/README.md | 20 ++++++++ appstore/neko-tor-browser/data.yml | 14 ++++++ appstore/neko-tor-browser/logo.png | Bin 0 -> 30055 bytes appstore/neko-vlc/3.0.6/.env | 18 +++++++ appstore/neko-vlc/3.0.6/data.yml | 45 ++++++++++++++++++ appstore/neko-vlc/3.0.6/docker-compose.yml | 27 +++++++++++ appstore/neko-vlc/3.0.6/envs/default.env | 2 + appstore/neko-vlc/3.0.6/envs/global.env | 2 + appstore/neko-vlc/3.0.6/scripts/init.sh | 17 +++++++ appstore/neko-vlc/3.0.6/scripts/uninstall.sh | 10 ++++ appstore/neko-vlc/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-vlc/README.md | 20 ++++++++ appstore/neko-vlc/data.yml | 14 ++++++ appstore/neko-vlc/logo.png | Bin 0 -> 30055 bytes appstore/neko-xfce/3.0.6/.env | 18 +++++++ appstore/neko-xfce/3.0.6/data.yml | 45 ++++++++++++++++++ appstore/neko-xfce/3.0.6/docker-compose.yml | 27 +++++++++++ appstore/neko-xfce/3.0.6/envs/default.env | 2 + appstore/neko-xfce/3.0.6/envs/global.env | 2 + appstore/neko-xfce/3.0.6/scripts/init.sh | 17 +++++++ appstore/neko-xfce/3.0.6/scripts/uninstall.sh | 10 ++++ appstore/neko-xfce/3.0.6/scripts/upgrade.sh | 17 +++++++ appstore/neko-xfce/README.md | 20 ++++++++ appstore/neko-xfce/data.yml | 14 ++++++ appstore/neko-xfce/logo.png | Bin 0 -> 30055 bytes appstore/synapse/{1.135.0 => 1.135.2}/.env | 0 .../synapse/{1.135.0 => 1.135.2}/data.yml | 0 .../{1.135.0 => 1.135.2}/docker-compose.yml | 4 +- appstore/synapse/1.135.2/envs/default.env | 2 + appstore/synapse/1.135.2/envs/global.env | 2 + appstore/synapse/1.135.2/scripts/init.sh | 17 +++++++ appstore/synapse/1.135.2/scripts/uninstall.sh | 10 ++++ appstore/synapse/1.135.2/scripts/upgrade.sh | 17 +++++++ dockge/bookstack/docker-compose.yml | 2 +- dockge/casdoor/docker-compose.yml | 2 +- dockge/n8n/docker-compose.yml | 2 +- dockge/neko-brave/.env | 18 +++++++ dockge/neko-brave/docker-compose.yml | 27 +++++++++++ dockge/neko-brave/envs/default.env | 2 + dockge/neko-brave/envs/global.env | 2 + dockge/neko-chromium/.env | 18 +++++++ dockge/neko-chromium/docker-compose.yml | 27 +++++++++++ dockge/neko-chromium/envs/default.env | 2 + dockge/neko-chromium/envs/global.env | 2 + dockge/neko-firefox/.env | 18 +++++++ dockge/neko-firefox/docker-compose.yml | 27 +++++++++++ dockge/neko-firefox/envs/default.env | 2 + dockge/neko-firefox/envs/global.env | 2 + dockge/neko-google-chrome/.env | 18 +++++++ dockge/neko-google-chrome/docker-compose.yml | 27 +++++++++++ dockge/neko-google-chrome/envs/default.env | 2 + dockge/neko-google-chrome/envs/global.env | 2 + dockge/neko-kde/.env | 18 +++++++ dockge/neko-kde/docker-compose.yml | 27 +++++++++++ dockge/neko-kde/envs/default.env | 2 + dockge/neko-kde/envs/global.env | 2 + dockge/neko-microsoft-edge/.env | 18 +++++++ dockge/neko-microsoft-edge/docker-compose.yml | 27 +++++++++++ dockge/neko-microsoft-edge/envs/default.env | 2 + dockge/neko-microsoft-edge/envs/global.env | 2 + dockge/neko-remmina/.env | 18 +++++++ dockge/neko-remmina/docker-compose.yml | 27 +++++++++++ dockge/neko-remmina/envs/default.env | 2 + dockge/neko-remmina/envs/global.env | 2 + dockge/neko-tor-browser/.env | 18 +++++++ dockge/neko-tor-browser/docker-compose.yml | 27 +++++++++++ dockge/neko-tor-browser/envs/default.env | 2 + dockge/neko-tor-browser/envs/global.env | 2 + dockge/neko-vlc/.env | 18 +++++++ dockge/neko-vlc/docker-compose.yml | 27 +++++++++++ dockge/neko-vlc/envs/default.env | 2 + dockge/neko-vlc/envs/global.env | 2 + dockge/neko-xfce/.env | 18 +++++++ dockge/neko-xfce/docker-compose.yml | 27 +++++++++++ dockge/neko-xfce/envs/default.env | 2 + dockge/neko-xfce/envs/global.env | 2 + dockge/synapse/docker-compose.yml | 4 +- 188 files changed, 2220 insertions(+), 10 deletions(-) rename appstore/bookstack/{25.05.2 => 25.07.1}/.env (100%) rename appstore/bookstack/{25.05.2 => 25.07.1}/data.yml (100%) rename appstore/bookstack/{25.05.2 => 25.07.1}/docker-compose.yml (91%) rename appstore/bookstack/{25.05.2 => 25.07.1}/envs/default.env (100%) rename appstore/bookstack/{25.05.2 => 25.07.1}/envs/global.env (100%) rename appstore/bookstack/{25.05.2 => 25.07.1}/scripts/init.sh (100%) rename appstore/bookstack/{25.05.2 => 25.07.1}/scripts/uninstall.sh (100%) rename appstore/bookstack/{25.05.2 => 25.07.1}/scripts/upgrade.sh (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/.env (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/config/init_data.json (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/data.yml (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/docker-compose.yml (93%) rename appstore/casdoor/{2.14.0 => 2.15.0}/envs/casdoor.env (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/envs/default.env (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/envs/global.env (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/scripts/init.sh (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/scripts/uninstall.sh (100%) rename appstore/casdoor/{2.14.0 => 2.15.0}/scripts/upgrade.sh (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/.env (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/data.yml (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/docker-compose.yml (94%) rename appstore/n8n/{1.106.2 => 1.107.0}/envs/default.env (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/envs/global.env (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/scripts/init.sh (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/scripts/uninstall.sh (100%) rename appstore/n8n/{1.106.2 => 1.107.0}/scripts/upgrade.sh (100%) create mode 100644 appstore/neko-brave/3.0.6/.env create mode 100644 appstore/neko-brave/3.0.6/data.yml create mode 100644 appstore/neko-brave/3.0.6/docker-compose.yml rename appstore/{synapse/1.135.0 => neko-brave/3.0.6}/envs/default.env (100%) rename appstore/{synapse/1.135.0 => neko-brave/3.0.6}/envs/global.env (100%) rename appstore/{synapse/1.135.0 => neko-brave/3.0.6}/scripts/init.sh (100%) rename appstore/{synapse/1.135.0 => neko-brave/3.0.6}/scripts/uninstall.sh (100%) rename appstore/{synapse/1.135.0 => neko-brave/3.0.6}/scripts/upgrade.sh (100%) create mode 100644 appstore/neko-brave/README.md create mode 100644 appstore/neko-brave/data.yml create mode 100644 appstore/neko-brave/logo.png create mode 100644 appstore/neko-chromium/3.0.6/.env create mode 100644 appstore/neko-chromium/3.0.6/data.yml create mode 100644 appstore/neko-chromium/3.0.6/docker-compose.yml create mode 100644 appstore/neko-chromium/3.0.6/envs/default.env create mode 100644 appstore/neko-chromium/3.0.6/envs/global.env create mode 100644 appstore/neko-chromium/3.0.6/scripts/init.sh create mode 100644 appstore/neko-chromium/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-chromium/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-chromium/README.md create mode 100644 appstore/neko-chromium/data.yml create mode 100644 appstore/neko-chromium/logo.png create mode 100644 appstore/neko-firefox/3.0.6/.env create mode 100644 appstore/neko-firefox/3.0.6/data.yml create mode 100644 appstore/neko-firefox/3.0.6/docker-compose.yml create mode 100644 appstore/neko-firefox/3.0.6/envs/default.env create mode 100644 appstore/neko-firefox/3.0.6/envs/global.env create mode 100644 appstore/neko-firefox/3.0.6/scripts/init.sh create mode 100644 appstore/neko-firefox/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-firefox/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-firefox/README.md create mode 100644 appstore/neko-firefox/data.yml create mode 100644 appstore/neko-firefox/logo.png create mode 100644 appstore/neko-google-chrome/3.0.6/.env create mode 100644 appstore/neko-google-chrome/3.0.6/data.yml create mode 100644 appstore/neko-google-chrome/3.0.6/docker-compose.yml create mode 100644 appstore/neko-google-chrome/3.0.6/envs/default.env create mode 100644 appstore/neko-google-chrome/3.0.6/envs/global.env create mode 100644 appstore/neko-google-chrome/3.0.6/scripts/init.sh create mode 100644 appstore/neko-google-chrome/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-google-chrome/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-google-chrome/README.md create mode 100644 appstore/neko-google-chrome/data.yml create mode 100644 appstore/neko-google-chrome/logo.png create mode 100644 appstore/neko-kde/3.0.6/.env create mode 100644 appstore/neko-kde/3.0.6/data.yml create mode 100644 appstore/neko-kde/3.0.6/docker-compose.yml create mode 100644 appstore/neko-kde/3.0.6/envs/default.env create mode 100644 appstore/neko-kde/3.0.6/envs/global.env create mode 100644 appstore/neko-kde/3.0.6/scripts/init.sh create mode 100644 appstore/neko-kde/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-kde/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-kde/README.md create mode 100644 appstore/neko-kde/data.yml create mode 100644 appstore/neko-kde/logo.png create mode 100644 appstore/neko-microsoft-edge/3.0.6/.env create mode 100644 appstore/neko-microsoft-edge/3.0.6/data.yml create mode 100644 appstore/neko-microsoft-edge/3.0.6/docker-compose.yml create mode 100644 appstore/neko-microsoft-edge/3.0.6/envs/default.env create mode 100644 appstore/neko-microsoft-edge/3.0.6/envs/global.env create mode 100644 appstore/neko-microsoft-edge/3.0.6/scripts/init.sh create mode 100644 appstore/neko-microsoft-edge/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-microsoft-edge/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-microsoft-edge/README.md create mode 100644 appstore/neko-microsoft-edge/data.yml create mode 100644 appstore/neko-microsoft-edge/logo.png create mode 100644 appstore/neko-remmina/3.0.6/.env create mode 100644 appstore/neko-remmina/3.0.6/data.yml create mode 100644 appstore/neko-remmina/3.0.6/docker-compose.yml create mode 100644 appstore/neko-remmina/3.0.6/envs/default.env create mode 100644 appstore/neko-remmina/3.0.6/envs/global.env create mode 100644 appstore/neko-remmina/3.0.6/scripts/init.sh create mode 100644 appstore/neko-remmina/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-remmina/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-remmina/README.md create mode 100644 appstore/neko-remmina/data.yml create mode 100644 appstore/neko-remmina/logo.png create mode 100644 appstore/neko-tor-browser/3.0.6/.env create mode 100644 appstore/neko-tor-browser/3.0.6/data.yml create mode 100644 appstore/neko-tor-browser/3.0.6/docker-compose.yml create mode 100644 appstore/neko-tor-browser/3.0.6/envs/default.env create mode 100644 appstore/neko-tor-browser/3.0.6/envs/global.env create mode 100644 appstore/neko-tor-browser/3.0.6/scripts/init.sh create mode 100644 appstore/neko-tor-browser/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-tor-browser/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-tor-browser/README.md create mode 100644 appstore/neko-tor-browser/data.yml create mode 100644 appstore/neko-tor-browser/logo.png create mode 100644 appstore/neko-vlc/3.0.6/.env create mode 100644 appstore/neko-vlc/3.0.6/data.yml create mode 100644 appstore/neko-vlc/3.0.6/docker-compose.yml create mode 100644 appstore/neko-vlc/3.0.6/envs/default.env create mode 100644 appstore/neko-vlc/3.0.6/envs/global.env create mode 100644 appstore/neko-vlc/3.0.6/scripts/init.sh create mode 100644 appstore/neko-vlc/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-vlc/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-vlc/README.md create mode 100644 appstore/neko-vlc/data.yml create mode 100644 appstore/neko-vlc/logo.png create mode 100644 appstore/neko-xfce/3.0.6/.env create mode 100644 appstore/neko-xfce/3.0.6/data.yml create mode 100644 appstore/neko-xfce/3.0.6/docker-compose.yml create mode 100644 appstore/neko-xfce/3.0.6/envs/default.env create mode 100644 appstore/neko-xfce/3.0.6/envs/global.env create mode 100644 appstore/neko-xfce/3.0.6/scripts/init.sh create mode 100644 appstore/neko-xfce/3.0.6/scripts/uninstall.sh create mode 100644 appstore/neko-xfce/3.0.6/scripts/upgrade.sh create mode 100644 appstore/neko-xfce/README.md create mode 100644 appstore/neko-xfce/data.yml create mode 100644 appstore/neko-xfce/logo.png rename appstore/synapse/{1.135.0 => 1.135.2}/.env (100%) rename appstore/synapse/{1.135.0 => 1.135.2}/data.yml (100%) rename appstore/synapse/{1.135.0 => 1.135.2}/docker-compose.yml (89%) create mode 100644 appstore/synapse/1.135.2/envs/default.env create mode 100644 appstore/synapse/1.135.2/envs/global.env create mode 100644 appstore/synapse/1.135.2/scripts/init.sh create mode 100644 appstore/synapse/1.135.2/scripts/uninstall.sh create mode 100644 appstore/synapse/1.135.2/scripts/upgrade.sh create mode 100644 dockge/neko-brave/.env create mode 100644 dockge/neko-brave/docker-compose.yml create mode 100644 dockge/neko-brave/envs/default.env create mode 100644 dockge/neko-brave/envs/global.env create mode 100644 dockge/neko-chromium/.env create mode 100644 dockge/neko-chromium/docker-compose.yml create mode 100644 dockge/neko-chromium/envs/default.env create mode 100644 dockge/neko-chromium/envs/global.env create mode 100644 dockge/neko-firefox/.env create mode 100644 dockge/neko-firefox/docker-compose.yml create mode 100644 dockge/neko-firefox/envs/default.env create mode 100644 dockge/neko-firefox/envs/global.env create mode 100644 dockge/neko-google-chrome/.env create mode 100644 dockge/neko-google-chrome/docker-compose.yml create mode 100644 dockge/neko-google-chrome/envs/default.env create mode 100644 dockge/neko-google-chrome/envs/global.env create mode 100644 dockge/neko-kde/.env create mode 100644 dockge/neko-kde/docker-compose.yml create mode 100644 dockge/neko-kde/envs/default.env create mode 100644 dockge/neko-kde/envs/global.env create mode 100644 dockge/neko-microsoft-edge/.env create mode 100644 dockge/neko-microsoft-edge/docker-compose.yml create mode 100644 dockge/neko-microsoft-edge/envs/default.env create mode 100644 dockge/neko-microsoft-edge/envs/global.env create mode 100644 dockge/neko-remmina/.env create mode 100644 dockge/neko-remmina/docker-compose.yml create mode 100644 dockge/neko-remmina/envs/default.env create mode 100644 dockge/neko-remmina/envs/global.env create mode 100644 dockge/neko-tor-browser/.env create mode 100644 dockge/neko-tor-browser/docker-compose.yml create mode 100644 dockge/neko-tor-browser/envs/default.env create mode 100644 dockge/neko-tor-browser/envs/global.env create mode 100644 dockge/neko-vlc/.env create mode 100644 dockge/neko-vlc/docker-compose.yml create mode 100644 dockge/neko-vlc/envs/default.env create mode 100644 dockge/neko-vlc/envs/global.env create mode 100644 dockge/neko-xfce/.env create mode 100644 dockge/neko-xfce/docker-compose.yml create mode 100644 dockge/neko-xfce/envs/default.env create mode 100644 dockge/neko-xfce/envs/global.env diff --git a/appstore/bookstack/25.05.2/.env b/appstore/bookstack/25.07.1/.env similarity index 100% rename from appstore/bookstack/25.05.2/.env rename to appstore/bookstack/25.07.1/.env diff --git a/appstore/bookstack/25.05.2/data.yml b/appstore/bookstack/25.07.1/data.yml similarity index 100% rename from appstore/bookstack/25.05.2/data.yml rename to appstore/bookstack/25.07.1/data.yml diff --git a/appstore/bookstack/25.05.2/docker-compose.yml b/appstore/bookstack/25.07.1/docker-compose.yml similarity index 91% rename from appstore/bookstack/25.05.2/docker-compose.yml rename to appstore/bookstack/25.07.1/docker-compose.yml index f58b945b8..9ca0f1c4d 100644 --- a/appstore/bookstack/25.05.2/docker-compose.yml +++ b/appstore/bookstack/25.07.1/docker-compose.yml @@ -12,7 +12,7 @@ services: - PUID=1000 - PGID=1000 - QUEUE_CONNECTION=database - image: linuxserver/bookstack:25.05.2 + image: linuxserver/bookstack:25.07.1 labels: createdBy: Apps networks: diff --git a/appstore/bookstack/25.05.2/envs/default.env b/appstore/bookstack/25.07.1/envs/default.env similarity index 100% rename from appstore/bookstack/25.05.2/envs/default.env rename to appstore/bookstack/25.07.1/envs/default.env diff --git a/appstore/bookstack/25.05.2/envs/global.env b/appstore/bookstack/25.07.1/envs/global.env similarity index 100% rename from appstore/bookstack/25.05.2/envs/global.env rename to appstore/bookstack/25.07.1/envs/global.env diff --git a/appstore/bookstack/25.05.2/scripts/init.sh b/appstore/bookstack/25.07.1/scripts/init.sh similarity index 100% rename from appstore/bookstack/25.05.2/scripts/init.sh rename to appstore/bookstack/25.07.1/scripts/init.sh diff --git a/appstore/bookstack/25.05.2/scripts/uninstall.sh b/appstore/bookstack/25.07.1/scripts/uninstall.sh similarity index 100% rename from appstore/bookstack/25.05.2/scripts/uninstall.sh rename to appstore/bookstack/25.07.1/scripts/uninstall.sh diff --git a/appstore/bookstack/25.05.2/scripts/upgrade.sh b/appstore/bookstack/25.07.1/scripts/upgrade.sh similarity index 100% rename from appstore/bookstack/25.05.2/scripts/upgrade.sh rename to appstore/bookstack/25.07.1/scripts/upgrade.sh diff --git a/appstore/casdoor/2.14.0/.env b/appstore/casdoor/2.15.0/.env similarity index 100% rename from appstore/casdoor/2.14.0/.env rename to appstore/casdoor/2.15.0/.env diff --git a/appstore/casdoor/2.14.0/config/init_data.json b/appstore/casdoor/2.15.0/config/init_data.json similarity index 100% rename from appstore/casdoor/2.14.0/config/init_data.json rename to appstore/casdoor/2.15.0/config/init_data.json diff --git a/appstore/casdoor/2.14.0/data.yml b/appstore/casdoor/2.15.0/data.yml similarity index 100% rename from appstore/casdoor/2.14.0/data.yml rename to appstore/casdoor/2.15.0/data.yml diff --git a/appstore/casdoor/2.14.0/docker-compose.yml b/appstore/casdoor/2.15.0/docker-compose.yml similarity index 93% rename from appstore/casdoor/2.14.0/docker-compose.yml rename to appstore/casdoor/2.15.0/docker-compose.yml index 3fd01bf6e..872e71418 100644 --- a/appstore/casdoor/2.14.0/docker-compose.yml +++ b/appstore/casdoor/2.15.0/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v2.14.0 + image: casbin/casdoor:v2.15.0 labels: createdBy: Apps networks: diff --git a/appstore/casdoor/2.14.0/envs/casdoor.env b/appstore/casdoor/2.15.0/envs/casdoor.env similarity index 100% rename from appstore/casdoor/2.14.0/envs/casdoor.env rename to appstore/casdoor/2.15.0/envs/casdoor.env diff --git a/appstore/casdoor/2.14.0/envs/default.env b/appstore/casdoor/2.15.0/envs/default.env similarity index 100% rename from appstore/casdoor/2.14.0/envs/default.env rename to appstore/casdoor/2.15.0/envs/default.env diff --git a/appstore/casdoor/2.14.0/envs/global.env b/appstore/casdoor/2.15.0/envs/global.env similarity index 100% rename from appstore/casdoor/2.14.0/envs/global.env rename to appstore/casdoor/2.15.0/envs/global.env diff --git a/appstore/casdoor/2.14.0/scripts/init.sh b/appstore/casdoor/2.15.0/scripts/init.sh similarity index 100% rename from appstore/casdoor/2.14.0/scripts/init.sh rename to appstore/casdoor/2.15.0/scripts/init.sh diff --git a/appstore/casdoor/2.14.0/scripts/uninstall.sh b/appstore/casdoor/2.15.0/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/2.14.0/scripts/uninstall.sh rename to appstore/casdoor/2.15.0/scripts/uninstall.sh diff --git a/appstore/casdoor/2.14.0/scripts/upgrade.sh b/appstore/casdoor/2.15.0/scripts/upgrade.sh similarity index 100% rename from appstore/casdoor/2.14.0/scripts/upgrade.sh rename to appstore/casdoor/2.15.0/scripts/upgrade.sh diff --git a/appstore/n8n/1.106.2/.env b/appstore/n8n/1.107.0/.env similarity index 100% rename from appstore/n8n/1.106.2/.env rename to appstore/n8n/1.107.0/.env diff --git a/appstore/n8n/1.106.2/data.yml b/appstore/n8n/1.107.0/data.yml similarity index 100% rename from appstore/n8n/1.106.2/data.yml rename to appstore/n8n/1.107.0/data.yml diff --git a/appstore/n8n/1.106.2/docker-compose.yml b/appstore/n8n/1.107.0/docker-compose.yml similarity index 94% rename from appstore/n8n/1.106.2/docker-compose.yml rename to appstore/n8n/1.107.0/docker-compose.yml index 0f921b9cb..217cd68b8 100644 --- a/appstore/n8n/1.106.2/docker-compose.yml +++ b/appstore/n8n/1.107.0/docker-compose.yml @@ -14,7 +14,7 @@ services: - N8N_PROTOCOL=http - N8N_DIAGNOSTICS_ENABLED=false - N8N_SECURE_COOKIE=false - image: n8nio/n8n:1.106.2 + image: n8nio/n8n:1.107.0 labels: createdBy: Apps networks: diff --git a/appstore/n8n/1.106.2/envs/default.env b/appstore/n8n/1.107.0/envs/default.env similarity index 100% rename from appstore/n8n/1.106.2/envs/default.env rename to appstore/n8n/1.107.0/envs/default.env diff --git a/appstore/n8n/1.106.2/envs/global.env b/appstore/n8n/1.107.0/envs/global.env similarity index 100% rename from appstore/n8n/1.106.2/envs/global.env rename to appstore/n8n/1.107.0/envs/global.env diff --git a/appstore/n8n/1.106.2/scripts/init.sh b/appstore/n8n/1.107.0/scripts/init.sh similarity index 100% rename from appstore/n8n/1.106.2/scripts/init.sh rename to appstore/n8n/1.107.0/scripts/init.sh diff --git a/appstore/n8n/1.106.2/scripts/uninstall.sh b/appstore/n8n/1.107.0/scripts/uninstall.sh similarity index 100% rename from appstore/n8n/1.106.2/scripts/uninstall.sh rename to appstore/n8n/1.107.0/scripts/uninstall.sh diff --git a/appstore/n8n/1.106.2/scripts/upgrade.sh b/appstore/n8n/1.107.0/scripts/upgrade.sh similarity index 100% rename from appstore/n8n/1.106.2/scripts/upgrade.sh rename to appstore/n8n/1.107.0/scripts/upgrade.sh diff --git a/appstore/neko-brave/3.0.6/.env b/appstore/neko-brave/3.0.6/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/appstore/neko-brave/3.0.6/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/appstore/neko-brave/3.0.6/data.yml b/appstore/neko-brave/3.0.6/data.yml new file mode 100644 index 000000000..85479c619 --- /dev/null +++ b/appstore/neko-brave/3.0.6/data.yml @@ -0,0 +1,45 @@ +additionalProperties: + formFields: + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "56000-56100" + edit: true + envKey: PANEL_APP_PORT_WEBRTC_EPR + labelZh: WebRTC 端口范围 + labelEn: WebRTC port range + required: true + type: text + - default: "admin" + edit: true + envKey: NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD + labelZh: 管理员密码 + labelEn: 管理员密码 + required: true + type: password + - default: "neko" + edit: true + envKey: NEKO_MEMBER_MULTIUSER_USER_PASSWORD + labelZh: 用户密码 + labelEn: 用户密码 + required: true + type: password + - default: "1920x1080@30" + edit: true + envKey: NEKO_DESKTOP_SCREEN + labelZh: 桌面分辨率 + labelEn: Desktop Resolution + required: true + type: text + - default: "127.0.0.1" + edit: true + envKey: NEKO_WEBRTC_NAT1TO1 + labelZh: 访问主机 (NAT1TO1) + labelEn: Access Host (NAT1TO1) + required: true + type: text diff --git a/appstore/neko-brave/3.0.6/docker-compose.yml b/appstore/neko-brave/3.0.6/docker-compose.yml new file mode 100644 index 000000000..cb83fbfba --- /dev/null +++ b/appstore/neko-brave/3.0.6/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-brave + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/brave:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/appstore/synapse/1.135.0/envs/default.env b/appstore/neko-brave/3.0.6/envs/default.env similarity index 100% rename from appstore/synapse/1.135.0/envs/default.env rename to appstore/neko-brave/3.0.6/envs/default.env diff --git a/appstore/synapse/1.135.0/envs/global.env b/appstore/neko-brave/3.0.6/envs/global.env similarity index 100% rename from appstore/synapse/1.135.0/envs/global.env rename to appstore/neko-brave/3.0.6/envs/global.env diff --git a/appstore/synapse/1.135.0/scripts/init.sh b/appstore/neko-brave/3.0.6/scripts/init.sh similarity index 100% rename from appstore/synapse/1.135.0/scripts/init.sh rename to appstore/neko-brave/3.0.6/scripts/init.sh diff --git a/appstore/synapse/1.135.0/scripts/uninstall.sh b/appstore/neko-brave/3.0.6/scripts/uninstall.sh similarity index 100% rename from appstore/synapse/1.135.0/scripts/uninstall.sh rename to appstore/neko-brave/3.0.6/scripts/uninstall.sh diff --git a/appstore/synapse/1.135.0/scripts/upgrade.sh b/appstore/neko-brave/3.0.6/scripts/upgrade.sh similarity index 100% rename from appstore/synapse/1.135.0/scripts/upgrade.sh rename to appstore/neko-brave/3.0.6/scripts/upgrade.sh diff --git a/appstore/neko-brave/README.md b/appstore/neko-brave/README.md new file mode 100644 index 000000000..9db54f902 --- /dev/null +++ b/appstore/neko-brave/README.md @@ -0,0 +1,20 @@ +# Neko (Brave版) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-brave/data.yml b/appstore/neko-brave/data.yml new file mode 100644 index 000000000..611ce2dba --- /dev/null +++ b/appstore/neko-brave/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-brave + name: Neko (Brave版) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-brave/logo.png b/appstore/neko-brave/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-chromium/3.0.6/scripts/uninstall.sh b/appstore/neko-chromium/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-chromium/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-chromium/3.0.6/scripts/upgrade.sh b/appstore/neko-chromium/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-chromium/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-chromium/README.md b/appstore/neko-chromium/README.md new file mode 100644 index 000000000..2231177bf --- /dev/null +++ b/appstore/neko-chromium/README.md @@ -0,0 +1,20 @@ +# Neko (Chromium版) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +![chromium](https://neko.m1k1o.net/img/icons/chromium.svg) + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-chromium/data.yml b/appstore/neko-chromium/data.yml new file mode 100644 index 000000000..4585469b0 --- /dev/null +++ b/appstore/neko-chromium/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-chromium + name: Neko (Chromium版) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-chromium/logo.png b/appstore/neko-chromium/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-firefox/3.0.6/scripts/uninstall.sh b/appstore/neko-firefox/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-firefox/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-firefox/3.0.6/scripts/upgrade.sh b/appstore/neko-firefox/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-firefox/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-firefox/README.md b/appstore/neko-firefox/README.md new file mode 100644 index 000000000..ce58e8ff8 --- /dev/null +++ b/appstore/neko-firefox/README.md @@ -0,0 +1,20 @@ +# Neko (火狐版) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +![firefox](https://neko.m1k1o.net/img/icons/firefox.svg) + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-firefox/data.yml b/appstore/neko-firefox/data.yml new file mode 100644 index 000000000..064029b1b --- /dev/null +++ b/appstore/neko-firefox/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-firefox + name: Neko (FireFox版) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-firefox/logo.png b/appstore/neko-firefox/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-google-chrome/3.0.6/scripts/uninstall.sh b/appstore/neko-google-chrome/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-google-chrome/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-google-chrome/3.0.6/scripts/upgrade.sh b/appstore/neko-google-chrome/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-google-chrome/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-google-chrome/README.md b/appstore/neko-google-chrome/README.md new file mode 100644 index 000000000..745d6c71a --- /dev/null +++ b/appstore/neko-google-chrome/README.md @@ -0,0 +1,20 @@ +# Neko (Google Chrome版版) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-google-chrome/data.yml b/appstore/neko-google-chrome/data.yml new file mode 100644 index 000000000..76725556b --- /dev/null +++ b/appstore/neko-google-chrome/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-google-chrome + name: Neko (Google Chrome版) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-google-chrome/logo.png b/appstore/neko-google-chrome/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-kde/3.0.6/scripts/uninstall.sh b/appstore/neko-kde/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-kde/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-kde/3.0.6/scripts/upgrade.sh b/appstore/neko-kde/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-kde/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-kde/README.md b/appstore/neko-kde/README.md new file mode 100644 index 000000000..6fbd58347 --- /dev/null +++ b/appstore/neko-kde/README.md @@ -0,0 +1,20 @@ +# Neko (Kde 丰富桌面环境) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +![kde](https://neko.m1k1o.net/img/icons/kde.svg) + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-kde/data.yml b/appstore/neko-kde/data.yml new file mode 100644 index 000000000..0caaccb2b --- /dev/null +++ b/appstore/neko-kde/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-kde + name: Neko (Kde丰富桌面环境) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-kde/logo.png b/appstore/neko-kde/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-microsoft-edge/3.0.6/scripts/uninstall.sh b/appstore/neko-microsoft-edge/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-microsoft-edge/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-microsoft-edge/3.0.6/scripts/upgrade.sh b/appstore/neko-microsoft-edge/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-microsoft-edge/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-microsoft-edge/README.md b/appstore/neko-microsoft-edge/README.md new file mode 100644 index 000000000..9defb1c50 --- /dev/null +++ b/appstore/neko-microsoft-edge/README.md @@ -0,0 +1,20 @@ +# Neko (Microsoft Edge版) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-microsoft-edge/data.yml b/appstore/neko-microsoft-edge/data.yml new file mode 100644 index 000000000..d66bc40b6 --- /dev/null +++ b/appstore/neko-microsoft-edge/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-microsoft-edge + name: Neko (Microsoft Edge版) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-microsoft-edge/logo.png b/appstore/neko-microsoft-edge/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-remmina/3.0.6/scripts/uninstall.sh b/appstore/neko-remmina/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-remmina/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-remmina/3.0.6/scripts/upgrade.sh b/appstore/neko-remmina/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-remmina/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-remmina/README.md b/appstore/neko-remmina/README.md new file mode 100644 index 000000000..0c802af41 --- /dev/null +++ b/appstore/neko-remmina/README.md @@ -0,0 +1,20 @@ +# Neko (Remmina 远程桌面客户端) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-remmina/data.yml b/appstore/neko-remmina/data.yml new file mode 100644 index 000000000..92b97d71c --- /dev/null +++ b/appstore/neko-remmina/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-remmina + name: Neko (Remmina远程桌面客户端) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-remmina/logo.png b/appstore/neko-remmina/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-tor-browser/3.0.6/scripts/uninstall.sh b/appstore/neko-tor-browser/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-tor-browser/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-tor-browser/3.0.6/scripts/upgrade.sh b/appstore/neko-tor-browser/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-tor-browser/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-tor-browser/README.md b/appstore/neko-tor-browser/README.md new file mode 100644 index 000000000..5cf8e902d --- /dev/null +++ b/appstore/neko-tor-browser/README.md @@ -0,0 +1,20 @@ +# Neko (洋葱浏览器版) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-tor-browser/data.yml b/appstore/neko-tor-browser/data.yml new file mode 100644 index 000000000..3cb825a5e --- /dev/null +++ b/appstore/neko-tor-browser/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-tor-browser + name: Neko (Tor Browser版) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-tor-browser/logo.png b/appstore/neko-tor-browser/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-vlc/3.0.6/scripts/uninstall.sh b/appstore/neko-vlc/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-vlc/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-vlc/3.0.6/scripts/upgrade.sh b/appstore/neko-vlc/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-vlc/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-vlc/README.md b/appstore/neko-vlc/README.md new file mode 100644 index 000000000..356238b22 --- /dev/null +++ b/appstore/neko-vlc/README.md @@ -0,0 +1,20 @@ +# Neko (Vlc 媒体播放器) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-vlc/data.yml b/appstore/neko-vlc/data.yml new file mode 100644 index 000000000..91ffcfe44 --- /dev/null +++ b/appstore/neko-vlc/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-vlc + name: Neko (Vlc媒体播放器) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-vlc/logo.png b/appstore/neko-vlc/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-xfce/3.0.6/scripts/uninstall.sh b/appstore/neko-xfce/3.0.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/neko-xfce/3.0.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-xfce/3.0.6/scripts/upgrade.sh b/appstore/neko-xfce/3.0.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/neko-xfce/3.0.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/neko-xfce/README.md b/appstore/neko-xfce/README.md new file mode 100644 index 000000000..151013ef5 --- /dev/null +++ b/appstore/neko-xfce/README.md @@ -0,0 +1,20 @@ +# Neko (Xface 轻量桌面环境) + +在 docker 中运行并使用 WebRTC 的自托管虚拟浏览器 + +![Neko](https://file.lifebus.top/imgs/neko_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + + + +Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko +是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 +Neko,您可以像在普通浏览器上一样浏览网页、运行应用程序和执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 +Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想利用虚拟浏览器的便利性和灵活性,Neko 都是完美的解决方案。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/neko-xfce/data.yml b/appstore/neko-xfce/data.yml new file mode 100644 index 000000000..f03cbcbaf --- /dev/null +++ b/appstore/neko-xfce/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: neko-xfce + name: Neko (Xface轻量桌面环境) + tags: + - WebSite + - Local + shortDescZh: 虚拟浏览器 + shortDescEn: Virtual Browser + type: website + crossVersionUpdate: true + limit: 0 + website: https://neko.m1k1o.net/ + github: https://github.com/m1k1o/neko/ + document: https://neko.m1k1o.net/ diff --git a/appstore/neko-xfce/logo.png b/appstore/neko-xfce/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2eed3400cebf105829c366bfbacf27344f8541 GIT binary patch literal 30055 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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/synapse/1.135.2/scripts/uninstall.sh b/appstore/synapse/1.135.2/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/synapse/1.135.2/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/synapse/1.135.2/scripts/upgrade.sh b/appstore/synapse/1.135.2/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/synapse/1.135.2/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/dockge/bookstack/docker-compose.yml b/dockge/bookstack/docker-compose.yml index f58b945b8..9ca0f1c4d 100644 --- a/dockge/bookstack/docker-compose.yml +++ b/dockge/bookstack/docker-compose.yml @@ -12,7 +12,7 @@ services: - PUID=1000 - PGID=1000 - QUEUE_CONNECTION=database - image: linuxserver/bookstack:25.05.2 + image: linuxserver/bookstack:25.07.1 labels: createdBy: Apps networks: diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index 3fd01bf6e..872e71418 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v2.14.0 + image: casbin/casdoor:v2.15.0 labels: createdBy: Apps networks: diff --git a/dockge/n8n/docker-compose.yml b/dockge/n8n/docker-compose.yml index 0f921b9cb..217cd68b8 100644 --- a/dockge/n8n/docker-compose.yml +++ b/dockge/n8n/docker-compose.yml @@ -14,7 +14,7 @@ services: - N8N_PROTOCOL=http - N8N_DIAGNOSTICS_ENABLED=false - N8N_SECURE_COOKIE=false - image: n8nio/n8n:1.106.2 + image: n8nio/n8n:1.107.0 labels: createdBy: Apps networks: diff --git a/dockge/neko-brave/.env b/dockge/neko-brave/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-brave/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-brave/docker-compose.yml b/dockge/neko-brave/docker-compose.yml new file mode 100644 index 000000000..cb83fbfba --- /dev/null +++ b/dockge/neko-brave/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-brave + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/brave:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-brave/envs/default.env b/dockge/neko-brave/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-brave/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-brave/envs/global.env b/dockge/neko-brave/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-brave/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-chromium/.env b/dockge/neko-chromium/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-chromium/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-chromium/docker-compose.yml b/dockge/neko-chromium/docker-compose.yml new file mode 100644 index 000000000..3ed4c0dcb --- /dev/null +++ b/dockge/neko-chromium/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-chromium + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/chromium:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-chromium/envs/default.env b/dockge/neko-chromium/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-chromium/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-chromium/envs/global.env b/dockge/neko-chromium/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-chromium/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-firefox/.env b/dockge/neko-firefox/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-firefox/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-firefox/docker-compose.yml b/dockge/neko-firefox/docker-compose.yml new file mode 100644 index 000000000..959d282b5 --- /dev/null +++ b/dockge/neko-firefox/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-firefox + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/firefox:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-firefox/envs/default.env b/dockge/neko-firefox/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-firefox/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-firefox/envs/global.env b/dockge/neko-firefox/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-firefox/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-google-chrome/.env b/dockge/neko-google-chrome/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-google-chrome/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-google-chrome/docker-compose.yml b/dockge/neko-google-chrome/docker-compose.yml new file mode 100644 index 000000000..15bfd6370 --- /dev/null +++ b/dockge/neko-google-chrome/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-google-chrome + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/google-chrome:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-google-chrome/envs/default.env b/dockge/neko-google-chrome/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-google-chrome/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-google-chrome/envs/global.env b/dockge/neko-google-chrome/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-google-chrome/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-kde/.env b/dockge/neko-kde/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-kde/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-kde/docker-compose.yml b/dockge/neko-kde/docker-compose.yml new file mode 100644 index 000000000..610450e3b --- /dev/null +++ b/dockge/neko-kde/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-kde + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/kde:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-kde/envs/default.env b/dockge/neko-kde/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-kde/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-kde/envs/global.env b/dockge/neko-kde/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-kde/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-microsoft-edge/.env b/dockge/neko-microsoft-edge/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-microsoft-edge/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-microsoft-edge/docker-compose.yml b/dockge/neko-microsoft-edge/docker-compose.yml new file mode 100644 index 000000000..a6d4c683e --- /dev/null +++ b/dockge/neko-microsoft-edge/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-microsoft-edge + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/microsoft-edge:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-microsoft-edge/envs/default.env b/dockge/neko-microsoft-edge/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-microsoft-edge/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-microsoft-edge/envs/global.env b/dockge/neko-microsoft-edge/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-microsoft-edge/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-remmina/.env b/dockge/neko-remmina/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-remmina/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-remmina/docker-compose.yml b/dockge/neko-remmina/docker-compose.yml new file mode 100644 index 000000000..ca4c095e5 --- /dev/null +++ b/dockge/neko-remmina/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-remmina + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/remmina:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-remmina/envs/default.env b/dockge/neko-remmina/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-remmina/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-remmina/envs/global.env b/dockge/neko-remmina/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-remmina/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-tor-browser/.env b/dockge/neko-tor-browser/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-tor-browser/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-tor-browser/docker-compose.yml b/dockge/neko-tor-browser/docker-compose.yml new file mode 100644 index 000000000..10b4cdaf9 --- /dev/null +++ b/dockge/neko-tor-browser/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-tor-browser + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/tor-browser:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-tor-browser/envs/default.env b/dockge/neko-tor-browser/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-tor-browser/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-tor-browser/envs/global.env b/dockge/neko-tor-browser/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-tor-browser/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-vlc/.env b/dockge/neko-vlc/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-vlc/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-vlc/docker-compose.yml b/dockge/neko-vlc/docker-compose.yml new file mode 100644 index 000000000..79f0270af --- /dev/null +++ b/dockge/neko-vlc/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-vlc + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/vlc:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-vlc/envs/default.env b/dockge/neko-vlc/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-vlc/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-vlc/envs/global.env b/dockge/neko-vlc/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-vlc/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/neko-xfce/.env b/dockge/neko-xfce/.env new file mode 100644 index 000000000..20d2aa384 --- /dev/null +++ b/dockge/neko-xfce/.env @@ -0,0 +1,18 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# WebRTC 端口范围 [必填] +PANEL_APP_PORT_WEBRTC_EPR=56000-56100 + +# 管理员密码 [必填] +NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin + +# 用户密码 [必填] +NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko + +# 桌面分辨率 [必填] +NEKO_DESKTOP_SCREEN=1920x1080@30 + +# 访问主机 (NAT1TO1) [必填] +NEKO_WEBRTC_NAT1TO1=127.0.0.1 + diff --git a/dockge/neko-xfce/docker-compose.yml b/dockge/neko-xfce/docker-compose.yml new file mode 100644 index 000000000..1014ab579 --- /dev/null +++ b/dockge/neko-xfce/docker-compose.yml @@ -0,0 +1,27 @@ +networks: + 1panel-network: + external: true +services: + neko: + cap_add: + - SYS_ADMIN + container_name: neko-xfce + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NEKO_WEBRTC_EPR=${PANEL_APP_PORT_WEBRTC_EPR} + - NEKO_WEBRTC_ICELITE=1 + - NEKO_WEBRTC_IP_RETRIEVAL_URL=https://ifconfig.co/ip + image: ghcr.io/m1k1o/neko/xfce:3.0.6 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR} + - ${PANEL_APP_PORT_WEBRTC_EPR}:${PANEL_APP_PORT_WEBRTC_EPR}/udp + restart: always + shm_size: 2gb diff --git a/dockge/neko-xfce/envs/default.env b/dockge/neko-xfce/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/neko-xfce/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/neko-xfce/envs/global.env b/dockge/neko-xfce/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/neko-xfce/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/synapse/docker-compose.yml b/dockge/synapse/docker-compose.yml index 234d6d000..8ac946a43 100644 --- a/dockge/synapse/docker-compose.yml +++ b/dockge/synapse/docker-compose.yml @@ -9,7 +9,7 @@ services: env_file: - ./envs/global.env - .env - image: matrixdotorg/synapse:v1.135.0 + image: matrixdotorg/synapse:v1.135.2 labels: createdBy: Apps networks: @@ -31,7 +31,7 @@ services: - SYNAPSE_REPORT_STATS=no - SYNAPSE_NO_TLS=true - SYNAPSE_HTTP_PORT=8008 - image: matrixdotorg/synapse:v1.135.0 + image: matrixdotorg/synapse:v1.135.2 networks: - 1panel-network restart: false