From d672680c4cedb2cedf07099342c257ac59bcc9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Tue, 5 Nov 2024 21:17:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A4=8D=E6=B4=BB=E5=90=A7=E6=88=91?= =?UTF-8?q?=E7=9A=84arm64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/packet/client/nativeClient.ts | 2 +- src/native/packet/MoeHoo.linux.arm64.node | Bin 0 -> 39040 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/native/packet/MoeHoo.linux.arm64.node diff --git a/src/core/packet/client/nativeClient.ts b/src/core/packet/client/nativeClient.ts index 34c347a9..5838f4f8 100644 --- a/src/core/packet/client/nativeClient.ts +++ b/src/core/packet/client/nativeClient.ts @@ -12,7 +12,7 @@ export interface NativePacketExportType { SendPacket?: (cmd: string, data: string, trace_id: string) => void; } export class NativePacketClient extends PacketClient { - private readonly supportedPlatforms = ['win32.x64','linux.x64']; + private readonly supportedPlatforms = ['win32.x64', 'linux.x64', 'linux.arm64']; private MoeHooExport: { exports: NativePacketExportType } = { exports: {} }; private sendEvent = new LRUCache(500);//seq->trace_id constructor(core: NapCatCore) { diff --git a/src/native/packet/MoeHoo.linux.arm64.node b/src/native/packet/MoeHoo.linux.arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..bc2ef6d6b9b3f400c0221ca6391d6d8e7bce2f76 GIT binary patch literal 39040 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