From 899b4e60684459af7027c0397a40166596f8c837 Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 29 May 2026 11:46:09 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E4=BC=98=E5=8C=96=20Doc?= =?UTF-8?q?ker=20=E9=83=A8=E7=BD=B2=E5=91=BD=E4=BB=A4=EF=BC=8C=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 25 +++++++++------ docs/en/guide/agent.md | 3 +- docs/guide/agent.md | 3 +- docs/guide/deployment.md | 5 ++- openflare_server/web/features/nodes/utils.ts | 32 ++++++++++---------- 5 files changed, 35 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 8e722677..6c959e86 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,21 @@ docker compose up -d ### 2. 安装 Agent 安装 Agent 前请先在节点上安装 OpenResty,或改用内置 OpenResty 的 Agent Docker 镜像。 +你可以在控制面板的节点管理->详情->节点信息->节点标识与部署复制安装命令,或直接使用下面的脚本: + +#### Docker 部署 + +Docker 部署可直接运行 Agent 镜像: + +```bash +docker run -d --name openflare-agent --restart unless-stopped \ + -p 80:80 -p 443:443 \ + -e OPENFLARE_SERVER_URL=http://your-server:3000 \ + -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ + ghcr.io/rain-kl/openflare-agent:latest +``` + +#### 本地部署 使用 `discovery_token` 接入: @@ -113,16 +128,6 @@ curl -fsSL https://raw.githubusercontent.com/Rain-kl/OpenFlare/main/scripts/inst 安装脚本默认写入 `/opt/openflare-agent`,创建 `openflare-agent.service`,自动查找 `openresty`,并可重复执行以重装或升级 Agent。 -Docker 部署可直接运行 Agent 镜像: - -```bash -docker run -d --name openflare-agent --restart unless-stopped \ - -p 80:80 -p 443:443 -p 127.0.0.1:18081:18081 \ - -e OPENFLARE_SERVER_URL=http://your-server:3000 \ - -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ - ghcr.io/rain-kl/openflare-agent:latest -``` - ### 3. 卸载 Agent 如需彻底卸载 Agent 并清空本地数据,可执行: diff --git a/docs/en/guide/agent.md b/docs/en/guide/agent.md index 303302cf..37526925 100644 --- a/docs/en/guide/agent.md +++ b/docs/en/guide/agent.md @@ -50,8 +50,7 @@ Agent self-update requires the GitHub Release to include both the target binary ```bash docker run -d --name openflare-agent --restart unless-stopped \ - -p 80:80 -p 443:443 -p 127.0.0.1:18081:18081 \ - -v openflare-agent-data:/data \ + -p 80:80 -p 443:443 \ -e OPENFLARE_SERVER_URL=http://your-server:3000 \ -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ ghcr.io/rain-kl/openflare-agent:latest diff --git a/docs/guide/agent.md b/docs/guide/agent.md index bc37f12b..a826aaec 100644 --- a/docs/guide/agent.md +++ b/docs/guide/agent.md @@ -97,8 +97,7 @@ Docker 部署时直接运行内置 OpenResty 的 Agent 镜像: ```bash docker run -d --name openflare-agent --restart unless-stopped \ - -p 80:80 -p 443:443 -p 127.0.0.1:18081:18081 \ - -v openflare-agent-data:/data \ + -p 80:80 -p 443:443 \ -e OPENFLARE_SERVER_URL=http://your-server:3000 \ -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ ghcr.io/rain-kl/openflare-agent:latest diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index 764f7e31..3dd9c017 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -173,7 +173,7 @@ Docker 部署时直接运行 Agent 镜像。该镜像基于 OpenResty 镜像制 ```bash docker run -d --name openflare-agent --restart unless-stopped \ - -p 80:80 -p 443:443 -p 127.0.0.1:18081:18081 \ + -p 80:80 -p 443:443 \ -v openflare-agent-data:/data \ -v ./agent.json:/etc/openflare/agent.json:ro \ ghcr.io/rain-kl/openflare-agent:latest @@ -183,8 +183,7 @@ docker run -d --name openflare-agent --restart unless-stopped \ ```bash docker run -d --name openflare-agent --restart unless-stopped \ - -p 80:80 -p 443:443 -p 127.0.0.1:18081:18081 \ - -v openflare-agent-data:/data \ + -p 80:80 -p 443:443 \ -e OPENFLARE_SERVER_URL=http://your-server:3000 \ -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ ghcr.io/rain-kl/openflare-agent:latest diff --git a/openflare_server/web/features/nodes/utils.ts b/openflare_server/web/features/nodes/utils.ts index 0187776e..4f1a4997 100644 --- a/openflare_server/web/features/nodes/utils.ts +++ b/openflare_server/web/features/nodes/utils.ts @@ -1,18 +1,18 @@ -import type { NodeItem } from '@/features/nodes/types'; - -export const WS_CONNECTED_LAST_SEEN = '__OPENFLARE_WS_CONNECTED__'; - -export function isWSConnectedLastSeen(value: string | null | undefined) { - return value === WS_CONNECTED_LAST_SEEN; -} - -export function isMeaningfulTime(value: string | null | undefined) { - return ( - Boolean(value) && - !isWSConnectedLastSeen(value) && - !String(value).startsWith('0001-01-01') - ); -} +import type { NodeItem } from '@/features/nodes/types'; + +export const WS_CONNECTED_LAST_SEEN = '__OPENFLARE_WS_CONNECTED__'; + +export function isWSConnectedLastSeen(value: string | null | undefined) { + return value === WS_CONNECTED_LAST_SEEN; +} + +export function isMeaningfulTime(value: string | null | undefined) { + return ( + Boolean(value) && + !isWSConnectedLastSeen(value) && + !String(value).startsWith('0001-01-01') + ); +} export function getNodeStatusVariant(status: NodeItem['status']) { if (status === 'online') { @@ -181,7 +181,7 @@ export function buildNodeInstallCommand(serverUrl: string, agentToken: string) { export function buildNodeDockerInstallCommand(serverUrl: string, agentToken: string) { return [ `docker run -d --name openflare-agent --restart unless-stopped \\`, - ` -p 80:80 -p 443:443 -p 127.0.0.1:18081:18081 \\`, + ` -p 80:80 -p 443:443 \\`, ` -e OPENFLARE_SERVER_URL=${serverUrl} \\`, ` -e OPENFLARE_AGENT_TOKEN=${agentToken} \\`, ` ghcr.io/rain-kl/openflare-agent:latest`