mirror of
https://github.com/wireadmin/wireadmin
synced 2025-03-12 14:38:21 +00:00
fix
This commit is contained in:
parent
5edb9b46c0
commit
6ee2435ba8
@ -16,12 +16,13 @@ export function isBetween(v: any, n1: number, n2: number): boolean {
|
|||||||
return n1 <= n && n >= n2;
|
return n1 <= n && n >= n2;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isJson(str: string | object): boolean {
|
export function isJson(data: any): boolean {
|
||||||
if (typeof str === 'object' && isObject(str)) {
|
if (typeof data !== 'string') {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return typeof str === 'string' && JSON.parse(str);
|
return !!JSON.parse(data);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -130,15 +130,11 @@ export class WGServer {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.lset(
|
client.lset(WG_SEVER_PATH, index, {
|
||||||
WG_SEVER_PATH,
|
...deepmerge(server, update),
|
||||||
index,
|
peers: update?.peers || server?.peers || [],
|
||||||
JSON.stringify({
|
updatedAt: new Date().toISOString(),
|
||||||
...deepmerge(server, update),
|
});
|
||||||
peers: update?.peers || server?.peers || [],
|
|
||||||
updatedAt: new Date().toISOString(),
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -258,14 +254,10 @@ class WGPeers {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.lset(
|
client.lset(WG_SEVER_PATH, index, {
|
||||||
WG_SEVER_PATH,
|
...server,
|
||||||
index,
|
peers: [...server.peers, peer],
|
||||||
JSON.stringify({
|
});
|
||||||
...server,
|
|
||||||
peers: [...server.peers, peer],
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
if (server.status === 'up') {
|
if (server.status === 'up') {
|
||||||
await this.server.stop();
|
await this.server.stop();
|
||||||
@ -285,14 +277,10 @@ class WGPeers {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.lset(
|
client.lset(WG_SEVER_PATH, index, {
|
||||||
WG_SEVER_PATH,
|
...server,
|
||||||
index,
|
peers: server.peers.filter((p) => p.publicKey !== publicKey),
|
||||||
JSON.stringify({
|
});
|
||||||
...server,
|
|
||||||
peers: server.peers.filter((p) => p.publicKey !== publicKey),
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
const peerIndex = peers.findIndex((p) => p.includes(`PublicKey = ${publicKey}`));
|
const peerIndex = peers.findIndex((p) => p.includes(`PublicKey = ${publicKey}`));
|
||||||
if (peerIndex === -1) {
|
if (peerIndex === -1) {
|
||||||
@ -329,7 +317,7 @@ class WGPeers {
|
|||||||
return deepmerge(p, update);
|
return deepmerge(p, update);
|
||||||
});
|
});
|
||||||
|
|
||||||
client.lset(WG_SEVER_PATH, index, JSON.stringify({ ...server, peers: updatedPeers }));
|
client.lset(WG_SEVER_PATH, index, { ...server, peers: updatedPeers });
|
||||||
await this.storePeers(publicKey, updatedPeers);
|
await this.storePeers(publicKey, updatedPeers);
|
||||||
|
|
||||||
if (server.status === 'up') {
|
if (server.status === 'up') {
|
||||||
@ -505,10 +493,7 @@ async function syncServers(): Promise<boolean> {
|
|||||||
client.del(WG_SEVER_PATH);
|
client.del(WG_SEVER_PATH);
|
||||||
|
|
||||||
// save all servers to redis
|
// save all servers to redis
|
||||||
client.lpush(
|
client.lpush(WG_SEVER_PATH, servers);
|
||||||
WG_SEVER_PATH,
|
|
||||||
servers.map((s) => JSON.stringify(s)),
|
|
||||||
);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -587,7 +572,7 @@ export async function generateWgServer(config: GenerateWgServerParams): Promise<
|
|||||||
// save server config
|
// save server config
|
||||||
logger.debug('WireGuard: GenerateWgServer: saving server to storage');
|
logger.debug('WireGuard: GenerateWgServer: saving server to storage');
|
||||||
logger.debug(server);
|
logger.debug(server);
|
||||||
client.lpush(WG_SEVER_PATH, JSON.stringify(server));
|
client.lpush(WG_SEVER_PATH, server);
|
||||||
|
|
||||||
const CONFIG_PATH = resolveConfigPath(confId);
|
const CONFIG_PATH = resolveConfigPath(confId);
|
||||||
|
|
||||||
@ -685,7 +670,7 @@ export function getServers(): WgServer[] {
|
|||||||
|
|
||||||
export async function findServerIndex(id: string): Promise<number | undefined> {
|
export async function findServerIndex(id: string): Promise<number | undefined> {
|
||||||
let index = 0;
|
let index = 0;
|
||||||
const servers = await getServers();
|
const servers = getServers();
|
||||||
for (const s of servers) {
|
for (const s of servers) {
|
||||||
if (s.id === id) {
|
if (s.id === id) {
|
||||||
return index;
|
return index;
|
||||||
@ -699,7 +684,7 @@ export async function findServer(
|
|||||||
id: string | undefined,
|
id: string | undefined,
|
||||||
hash?: string,
|
hash?: string,
|
||||||
): Promise<WgServer | undefined> {
|
): Promise<WgServer | undefined> {
|
||||||
const servers = await getServers();
|
const servers = getServers();
|
||||||
return id
|
return id
|
||||||
? servers.find((s) => s.id === id)
|
? servers.find((s) => s.id === id)
|
||||||
: hash && isJson(hash)
|
: hash && isJson(hash)
|
||||||
|
Loading…
Reference in New Issue
Block a user