feat: 接入 AnyTLS 节点托管和用户流量同步
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
} from "@/lib/custom-proxy";
|
||||
import { revalidatePath } from "next/cache";
|
||||
|
||||
import { ensureDb } from "@/lib/db";
|
||||
import { requireAdminAccess } from "@/lib/session";
|
||||
import {
|
||||
createNode,
|
||||
@@ -115,3 +116,23 @@ export async function deleteNodeAction(formData: FormData) {
|
||||
revalidatePath("/admin/subscriptions");
|
||||
revalidatePath("/admin/dashboard");
|
||||
}
|
||||
|
||||
export async function updateAnyTLSNodeAction(data: FormData) {
|
||||
await requireAdminAccess();
|
||||
const name = String(data.get("name") || "").trim();
|
||||
if (!name || name.length > 100)
|
||||
return { error: "请填写 1–100 字的节点名称。" };
|
||||
const db = await ensureDb();
|
||||
db.prepare(
|
||||
"UPDATE hy2_nodes SET name=?,client_name=?,enabled=?,updated_at=? WHERE id=? AND node_type='anytls'",
|
||||
).run(
|
||||
name,
|
||||
name,
|
||||
data.get("enabled") === "on" ? 1 : 0,
|
||||
new Date().toISOString(),
|
||||
Number(data.get("id")),
|
||||
);
|
||||
revalidatePath("/admin/nodes");
|
||||
revalidatePath("/admin/subscriptions");
|
||||
revalidatePath("/admin/dashboard");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user