mirror of
https://github.com/0x5eal/wg-lua.git
synced 2025-04-10 21:10:54 +01:00
31 lines
766 B
TypeScript
31 lines
766 B
TypeScript
const { generatePrivateKey, generatePublicKey } = require<{
|
|
generatePrivateKey: () => number[];
|
|
generatePublicKey: (privateKey: number[]) => number[];
|
|
}>("wg");
|
|
const { atob } = require<{ atob: (buf: number[]) => string }>("base64");
|
|
|
|
export interface Keypair {
|
|
publicKey: string;
|
|
privateKey: string;
|
|
}
|
|
|
|
export interface Wireguard {
|
|
generateKeypair(): Keypair;
|
|
generatePublicKey(privateKey: number[]): string;
|
|
}
|
|
|
|
export const wireguard: Wireguard = {
|
|
generateKeypair: function () {
|
|
const privateKey = generatePrivateKey();
|
|
const publicKey = generatePublicKey(privateKey);
|
|
|
|
return {
|
|
publicKey: atob(publicKey),
|
|
privateKey: atob(privateKey),
|
|
};
|
|
},
|
|
|
|
generatePublicKey: function (privateKey) {
|
|
return atob(generatePublicKey(privateKey));
|
|
},
|
|
};
|