feat:添加neko到列表

This commit is contained in:
okxlin 2024-08-04 01:07:51 +08:00
parent f5e9c0ae58
commit 7f7310b2e6
8 changed files with 460 additions and 0 deletions

33
apps/neko/README.md Normal file
View File

@ -0,0 +1,33 @@
<div align="center">
<a href="https://github.com/m1k1o/neko" title="Neko's Github repository.">
<img src="https://raw.githubusercontent.com/m1k1o/neko/master/docs/_media/logo.png" width="400" height="auto"/>
</a>
<p align="center">
<a href="https://github.com/m1k1o/neko/releases">
<img src="https://img.shields.io/github/v/release/m1k1o/neko" alt="release">
</a>
<a href="https://github.com/m1k1o/neko/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/m1k1o/neko" alt="license">
</a>
<a href="https://hub.docker.com/u/m1k1o/neko">
<img src="https://img.shields.io/docker/pulls/m1k1o/neko" alt="pulls">
</a>
<a href="https://github.com/m1k1o/neko/issues">
<img src="https://img.shields.io/github/issues/m1k1o/neko" alt="issues">
</a>
<a href="https://github.com/sponsors/m1k1o">
<img src="https://img.shields.io/badge/-sponsor-red" alt="issues">
</a>
<a href="https://discord.gg/3U6hWpC">
<img src="https://discordapp.com/api/guilds/665851821906067466/widget.png" alt="Chat on discord">
</a>
<a href="https://github.com/m1k1o/neko/actions">
<img src="https://github.com/m1k1o/neko/actions/workflows/ghcr-amd.yml/badge.svg" alt="build">
</a>
</p>
<img src="https://raw.githubusercontent.com/m1k1o/neko/master/docs/_media/intro.gif" width="650" height="auto"/>
</div>
# n.eko
欢迎使用 Neko这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。

19
apps/neko/data.yml Normal file
View File

@ -0,0 +1,19 @@
name: Neko
tags:
- 实用工具
title: 自托管虚拟浏览器
description: 自托管虚拟浏览器
additionalProperties:
key: neko
name: Neko
tags:
- Tool
shortDescZh: 自托管虚拟浏览器
shortDescEn: A self-hosted virtual browser
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://neko.m1k1o.net
github: https://github.com/m1k1o/neko
document: https://neko.m1k1o.net

View File

@ -0,0 +1,37 @@
CONTAINER_NAME="neko"
DOWNLOAD_PATH="./data/Downloads"
IMAGE_NAME="m1k1o/neko:firefox"
MEM_USE="2048m"
NEKO_AUDIO_BITRATE=196
NEKO_AUDIO_CODEC="opus"
NEKO_BIND=8080
NEKO_BROADCAST_AUTOSTART="false"
NEKO_BROADCAST_PIPELINE=""
NEKO_BROADCAST_URL=""
NEKO_CERT=""
NEKO_CONTROL_PROTECTION="false"
NEKO_CORS=""
NEKO_DEVICE=""
NEKO_DISPLAY=""
NEKO_EPR="52000-52100"
NEKO_FILE_TRANSFER_ENABLED="true"
NEKO_FILE_TRANSFER_PATH="/home/neko/Downloads"
NEKO_HWENC="none"
NEKO_ICELITE=1
NEKO_ICESERVER=""
NEKO_ICESERVERS=""
NEKO_IMPLICIT_CONTROL="false"
NEKO_IPFETCH=""
NEKO_KEY=""
NEKO_LOCKS=""
NEKO_MAX_FPS=0
NEKO_NAT1TO1=""
NEKO_PASSWORD="neko"
NEKO_PASSWORD_ADMIN="admin"
NEKO_PATH_PREFIX=""
NEKO_PROXY="false"
NEKO_SCREEN="1920x1080@30"
NEKO_STATIC=""
NEKO_VIDEO_BITRATE=3500
NEKO_VIDEO_CODEC="vp8"
PANEL_APP_PORT_HTTP=40277

316
apps/neko/latest/data.yml Normal file
View File

@ -0,0 +1,316 @@
additionalProperties:
formFields:
- default: "m1k1o/neko:firefox"
edit: true
envKey: IMAGE_NAME
labelEn: Image Name
labelZh: 镜像名称
required: true
type: select
values:
- label: "m1k1o/neko:kde"
value: "m1k1o/neko:kde"
- label: "m1k1o/neko:chromium"
value: "m1k1o/neko:chromium"
- label: "m1k1o/neko:vivaldi"
value: "m1k1o/neko:vivaldi"
- label: "m1k1o/neko:microsoft-edge"
value: "m1k1o/neko:microsoft-edge"
- label: "m1k1o/neko:brave"
value: "m1k1o/neko:brave"
- label: "m1k1o/neko:tor-browser"
value: "m1k1o/neko:tor-browser"
- label: "m1k1o/neko:ungoogled-chromium"
value: "m1k1o/neko:ungoogled-chromium"
- label: "m1k1o/neko:google-chrome"
value: "m1k1o/neko:google-chrome"
- label: "m1k1o/neko:firefox"
value: "m1k1o/neko:firefox"
- label: "m1k1o/neko:vlc"
value: "m1k1o/neko:vlc"
- label: "m1k1o/neko:xfce"
value: "m1k1o/neko:xfce"
- label: "m1k1o/neko:base"
value: "m1k1o/neko:base"
- label: "m1k1o/neko:opera"
value: "m1k1o/neko:opera"
- label: "m1k1o/neko:vncviewer"
value: "m1k1o/neko:vncviewer"
- label: "m1k1o/neko:arm-firefox"
value: "m1k1o/neko:arm-firefox"
- label: "m1k1o/neko:arm-chromium"
value: "m1k1o/neko:arm-chromium"
- label: "m1k1o/neko:arm-base"
value: "m1k1o/neko:arm-base"
- default: "40277"
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "1920x1080@30"
edit: true
envKey: NEKO_SCREEN
labelEn: Screen Resolution
labelZh: 屏幕分辨率
required: true
type: text
- default: "neko"
edit: true
envKey: NEKO_PASSWORD
labelEn: User Password
labelZh: 用户密码
required: true
type: password
- default: "admin"
edit: true
envKey: NEKO_PASSWORD_ADMIN
labelEn: Admin Password
labelZh: 管理员密码
required: true
type: password
- default: "52000-52100"
edit: true
envKey: NEKO_EPR
labelEn: WebRTC UDP Port Range
labelZh: WebRTC UDP 端口范围
required: true
type: text
- default: "1"
edit: true
envKey: NEKO_ICELITE
labelEn: ICELite Mode
labelZh: ICELite 模式
required: true
type: number
- default: "2048m"
edit: true
envKey: MEM_USE
labelEn: Shared memory footprint (1gb)
labelZh: 共享内存占用 (1gb)
required: true
type: text
- default: "./data/Downloads"
edit: true
envKey: DOWNLOAD_PATH
labelEn: Download Path (Pay attention to folder permissions)
labelZh: 下载文件路径 (注意文件夹权限)
required: true
type: text
- default: "false"
edit: true
envKey: NEKO_CONTROL_PROTECTION
labelEn: Control Protection
labelZh: 控制保护
required: true
type: select
values:
- label: "False"
value: "false"
- label: "True"
value: "true"
- default: "false"
edit: true
envKey: NEKO_IMPLICIT_CONTROL
labelEn: Implicit Control
labelZh: 隐式控制
required: true
type: select
values:
- label: "False"
value: "false"
- label: "True"
value: "true"
- default: ""
edit: true
envKey: NEKO_LOCKS
labelEn: Locks
labelZh: 锁定
required: false
type: text
- default: ""
edit: true
envKey: NEKO_NAT1TO1
labelEn: NAT1to1 IP
labelZh: NAT1to1 IP
required: false
type: text
- default: ""
edit: true
envKey: NEKO_IPFETCH
labelEn: IP Fetch URL
labelZh: IP 获取URL
required: false
type: text
- default: ""
edit: true
envKey: NEKO_ICESERVER
labelEn: ICE Server
labelZh: ICE 服务器
required: false
type: text
- default: ""
edit: true
envKey: NEKO_ICESERVERS
labelEn: ICE Servers
labelZh: ICE 服务器组
required: false
type: text
- default: "vp8"
edit: true
envKey: NEKO_VIDEO_CODEC
labelEn: Video Codec
labelZh: 视频编解码器
required: false
type: text
- default: "3500"
edit: true
envKey: NEKO_VIDEO_BITRATE
labelEn: Video Bitrate
labelZh: 视频比特率
required: false
type: number
- default: "0"
edit: true
envKey: NEKO_MAX_FPS
labelEn: Max FPS
labelZh: 最大FPS
required: false
type: number
- default: "none"
edit: true
envKey: NEKO_HWENC
labelEn: Hardware Encoder
labelZh: 硬件编码器
required: false
type: text
- default: "opus"
edit: true
envKey: NEKO_AUDIO_CODEC
labelEn: Audio Codec
labelZh: 音频编解码器
required: false
type: text
- default: 196
edit: true
envKey: NEKO_AUDIO_BITRATE
labelEn: Audio Bitrate
labelZh: 音频比特率
required: false
type: number
- default: ""
edit: true
envKey: NEKO_BROADCAST_PIPELINE
labelEn: Broadcast Pipeline
labelZh: 广播管道
required: false
type: text
- default: ""
edit: true
envKey: NEKO_BROADCAST_URL
labelEn: Broadcast URL
labelZh: 广播URL
required: false
type: text
- default: "false"
edit: true
envKey: NEKO_BROADCAST_AUTOSTART
labelEn: Broadcast Autostart
labelZh: 广播自动启动
required: true
type: select
values:
- label: "False"
value: "false"
- label: "True"
value: "true"
- default: "8080"
edit: true
envKey: NEKO_BIND
labelEn: Bind Address
labelZh: 绑定地址
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: NEKO_CERT
labelEn: SSL Certificate Path
labelZh: SSL证书路径
required: false
type: text
- default: ""
edit: true
envKey: NEKO_KEY
labelEn: SSL Key Path
labelZh: SSL 密钥路径
required: false
type: text
- default: "false"
edit: true
envKey: NEKO_PROXY
labelEn: Proxy Mode
labelZh: 代理模式
required: true
type: select
values:
- label: "False"
value: "false"
- label: "True"
value: "true"
- default: ""
edit: true
envKey: NEKO_PATH_PREFIX
labelEn: Path Prefix
labelZh: 路径前缀
required: false
type: text
- default: ""
edit: true
envKey: NEKO_CORS
labelEn: CORS
labelZh: 跨域资源共享
required: false
type: text
- default: "true"
edit: true
envKey: NEKO_FILE_TRANSFER_ENABLED
labelEn: File Transfer Enabled
labelZh: 文件传输已启用
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
- default: "/home/neko/Downloads"
disabled: true
envKey: NEKO_FILE_TRANSFER_PATH
labelEn: File Transfer Path
labelZh: 文件传输路径
required: false
type: text
- default: ""
edit: true
envKey: NEKO_DISPLAY
labelEn: Display
labelZh: 显示
required: false
type: text
- default: ""
edit: true
envKey: NEKO_DEVICE
labelEn: Device
labelZh: 设备
required: false
type: text
- default: ""
edit: true
envKey: NEKO_STATIC
labelEn: Static Files Path
labelZh: 静态文件路径
required: false
type: text

View File

View File

@ -0,0 +1,52 @@
services:
neko:
image: ${IMAGE_NAME}
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
shm_size: "${MEM_USE}"
ports:
- "${PANEL_APP_PORT_HTTP}:${NEKO_BIND}"
- "${NEKO_EPR}:${NEKO_EPR}/udp"
volumes:
- "${DOWNLOAD_PATH}:${NEKO_FILE_TRANSFER_PATH}"
environment:
- NEKO_SCREEN=${NEKO_SCREEN}
- NEKO_PASSWORD=${NEKO_PASSWORD}
- NEKO_PASSWORD_ADMIN=${NEKO_PASSWORD_ADMIN}
- NEKO_EPR=${NEKO_EPR}
- NEKO_ICELITE=${NEKO_ICELITE}
- NEKO_CONTROL_PROTECTION=${NEKO_CONTROL_PROTECTION}
- NEKO_IMPLICIT_CONTROL=${NEKO_IMPLICIT_CONTROL}
- NEKO_LOCKS=${NEKO_LOCKS}
- NEKO_NAT1TO1=${NEKO_NAT1TO1}
- NEKO_IPFETCH=${NEKO_IPFETCH}
- NEKO_ICESERVER=${NEKO_ICESERVER}
- NEKO_ICESERVERS=${NEKO_ICESERVERS}
- NEKO_VIDEO_CODEC=${NEKO_VIDEO_CODEC}
- NEKO_VIDEO_BITRATE=${NEKO_VIDEO_BITRATE}
- NEKO_MAX_FPS=${NEKO_MAX_FPS}
- NEKO_HWENC=${NEKO_HWENC}
- NEKO_AUDIO_CODEC=${NEKO_AUDIO_CODEC}
- NEKO_AUDIO_BITRATE=${NEKO_AUDIO_BITRATE}
- NEKO_BROADCAST_PIPELINE=${NEKO_BROADCAST_PIPELINE}
- NEKO_BROADCAST_URL=${NEKO_BROADCAST_URL}
- NEKO_BROADCAST_AUTOSTART=${NEKO_BROADCAST_AUTOSTART}
- NEKO_BIND=:${NEKO_BIND}
- NEKO_CERT=${NEKO_CERT}
- NEKO_KEY=${NEKO_KEY}
- NEKO_PROXY=${NEKO_PROXY}
- NEKO_PATH_PREFIX=${NEKO_PATH_PREFIX}
- NEKO_CORS=${NEKO_CORS}
- NEKO_FILE_TRANSFER_ENABLED=${NEKO_FILE_TRANSFER_ENABLED}
- NEKO_FILE_TRANSFER_PATH=${NEKO_FILE_TRANSFER_PATH}
- NEKO_DISPLAY=${NEKO_DISPLAY}
- NEKO_DEVICE=${NEKO_DEVICE}
- NEKO_STATIC=${NEKO_STATIC}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

View File

@ -0,0 +1,3 @@
#!/bin/bash
chown -R 1000:1000 data

BIN
apps/neko/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB