s'
This commit is contained in:
@@ -417,8 +417,28 @@ install_neko_browser() {
|
||||
set -a
|
||||
[ -f "$STACK_ENV" ] && . "$STACK_ENV"
|
||||
set +a
|
||||
local neko_dir="$ROOT_DIR/services/neko"
|
||||
local neko_prof="${NEKO_PROFILE_HOST_DIR:-$neko_dir/data/chromium-profile}"
|
||||
mkdir -p "$neko_prof"
|
||||
chmod 777 "$neko_prof" 2>/dev/null || true
|
||||
export NEKO_HTTP_PORT="${NEKO_HTTP_PORT:-9200}"
|
||||
compose_run "$ROOT_DIR/services/neko/docker-compose.yml" up -d
|
||||
export NEKO_USER_PASS="${NEKO_USER_PASS:-live}"
|
||||
export NEKO_ADMIN_PASS="${NEKO_ADMIN_PASS:-admin}"
|
||||
export NEKO_PROFILE_HOST_DIR="$neko_prof"
|
||||
export NEKO_DESKTOP_SCREEN="${NEKO_DESKTOP_SCREEN:-1920x1080@30}"
|
||||
export NEKO_WEBRTC_EPR="${NEKO_WEBRTC_EPR:-52000-52100}"
|
||||
export NEKO_WEBRTC_UDP_RANGE="${NEKO_WEBRTC_UDP_RANGE:-52000-52100}"
|
||||
export NEKO_WEBRTC_ICELITE="${NEKO_WEBRTC_ICELITE:-1}"
|
||||
if [ -z "${NEKO_WEBRTC_NAT1TO1:-}" ]; then
|
||||
export NEKO_WEBRTC_NAT1TO1="$(hostname -I 2>/dev/null | awk '{print $1}')"
|
||||
else
|
||||
export NEKO_WEBRTC_NAT1TO1
|
||||
fi
|
||||
export NEKO_PLUGINS_ENABLED="${NEKO_PLUGINS_ENABLED:-true}"
|
||||
(
|
||||
cd "$neko_dir" || exit 1
|
||||
compose_run "$neko_dir/docker-compose.yml" up -d
|
||||
)
|
||||
}
|
||||
|
||||
configure_adb_udev() {
|
||||
|
||||
@@ -462,6 +462,13 @@ service_chromium_stop() {
|
||||
}
|
||||
|
||||
service_neko_status() {
|
||||
if [ "${ENABLE_NEKO:-0}" != "1" ]; then
|
||||
kv available 0
|
||||
kv running 0
|
||||
kv status unavailable
|
||||
kv detail "在 config/system-stack.env 设置 ENABLE_NEKO=1 后执行安装脚本或在此 Start 拉取容器"
|
||||
return 0
|
||||
fi
|
||||
if [ ! -f "$NEKO_COMPOSE" ]; then
|
||||
kv available 0
|
||||
kv running 0
|
||||
@@ -488,19 +495,43 @@ service_neko_status() {
|
||||
}
|
||||
|
||||
service_neko_start() {
|
||||
if [ "${ENABLE_NEKO:-0}" != "1" ]; then
|
||||
kv message "请先在 config/system-stack.env 设置 ENABLE_NEKO=1"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$NEKO_COMPOSE" ]; then
|
||||
kv message "Neko compose missing"
|
||||
return 0
|
||||
fi
|
||||
local neko_dir
|
||||
neko_dir="$(cd "$(dirname "$NEKO_COMPOSE")" && pwd)"
|
||||
local prof="${NEKO_PROFILE_HOST_DIR:-$ROOT_DIR/services/neko/data/chromium-profile}"
|
||||
mkdir -p "$prof"
|
||||
chmod 777 "$prof" 2>/dev/null || true
|
||||
export NEKO_HTTP_PORT="${NEKO_HTTP_PORT:-9200}"
|
||||
export NEKO_USER_PASS="${NEKO_USER_PASS:-live}"
|
||||
export NEKO_ADMIN_PASS="${NEKO_ADMIN_PASS:-admin}"
|
||||
export NEKO_PROFILE_HOST_DIR="$prof"
|
||||
export NEKO_DESKTOP_SCREEN="${NEKO_DESKTOP_SCREEN:-1920x1080@30}"
|
||||
export NEKO_WEBRTC_EPR="${NEKO_WEBRTC_EPR:-52000-52100}"
|
||||
export NEKO_WEBRTC_UDP_RANGE="${NEKO_WEBRTC_UDP_RANGE:-52000-52100}"
|
||||
export NEKO_WEBRTC_ICELITE="${NEKO_WEBRTC_ICELITE:-1}"
|
||||
if [ -z "${NEKO_WEBRTC_NAT1TO1:-}" ]; then
|
||||
export NEKO_WEBRTC_NAT1TO1="$(hostname -I 2>/dev/null | awk '{print $1}')"
|
||||
fi
|
||||
export NEKO_PLUGINS_ENABLED="${NEKO_PLUGINS_ENABLED:-true}"
|
||||
cmd="$(compose_bin)" || {
|
||||
kv message "docker compose unavailable"
|
||||
return 0
|
||||
}
|
||||
if [ "$cmd" = "docker compose" ]; then
|
||||
docker compose -f "$NEKO_COMPOSE" up -d
|
||||
else
|
||||
docker-compose -f "$NEKO_COMPOSE" up -d
|
||||
fi
|
||||
(
|
||||
cd "$neko_dir" || exit 1
|
||||
if [ "$cmd" = "docker compose" ]; then
|
||||
docker compose -f docker-compose.yml up -d
|
||||
else
|
||||
docker-compose -f docker-compose.yml up -d
|
||||
fi
|
||||
)
|
||||
kv message "Neko stack started"
|
||||
}
|
||||
|
||||
@@ -509,15 +540,20 @@ service_neko_stop() {
|
||||
kv message "Neko compose missing"
|
||||
return 0
|
||||
fi
|
||||
local neko_dir
|
||||
neko_dir="$(cd "$(dirname "$NEKO_COMPOSE")" && pwd)"
|
||||
cmd="$(compose_bin)" || {
|
||||
kv message "docker compose unavailable"
|
||||
return 0
|
||||
}
|
||||
if [ "$cmd" = "docker compose" ]; then
|
||||
docker compose -f "$NEKO_COMPOSE" down
|
||||
else
|
||||
docker-compose -f "$NEKO_COMPOSE" down
|
||||
fi
|
||||
(
|
||||
cd "$neko_dir" || exit 1
|
||||
if [ "$cmd" = "docker compose" ]; then
|
||||
docker compose -f docker-compose.yml down
|
||||
else
|
||||
docker-compose -f docker-compose.yml down
|
||||
fi
|
||||
)
|
||||
kv message "Neko stack stopped"
|
||||
}
|
||||
|
||||
@@ -526,7 +562,7 @@ service_android_gateway_status() {
|
||||
kv available 0
|
||||
kv running 0
|
||||
kv status unavailable
|
||||
kv detail "Set ANDROID_DOWNLINK_IF in system-stack.env to enable gateway mode"
|
||||
kv detail "透明网关需第二块网卡:在 system-stack.env 设置 ANDROID_DOWNLINK_IF(如 eth1),并安装 NetworkManager(nmcli)"
|
||||
return 0
|
||||
fi
|
||||
if [ ! -d "/sys/class/net/$ANDROID_DOWNLINK_IF" ]; then
|
||||
|
||||
Reference in New Issue
Block a user