add client info page
This commit is contained in:
33
src/lib/clients.ts
Normal file
33
src/lib/clients.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import type { ClientDetails } from '$lib/types/clients';
|
||||
|
||||
/**
|
||||
* Convert client details to WireGuard configuration.
|
||||
*
|
||||
* ```conf
|
||||
* [Interface]
|
||||
* PrivateKey = wPa07zR0H4wYoc1ljfeiqlSbR8Z28pPc6jplwE7zPms=
|
||||
* Address = 10.18.11.100/32,fd00::1/128
|
||||
* DNS = 10.18.11.1,fd00::0
|
||||
*
|
||||
* [Peer]
|
||||
* PublicKey = BJ5faPVJsDP4CCxNYilmKnwlQXOtXEOJjqIwb4U/CgM=
|
||||
* PresharedKey = uhZUVqXKF0oayP0BS6yPu6Gepgh68Nz9prtbE5Cuok0=
|
||||
* Endpoint = vpn.lab.cazzzer.com:51820
|
||||
* AllowedIPs = 0.0.0.0/0,::/0
|
||||
* ```
|
||||
* @param client
|
||||
*/
|
||||
export function clientDetailsToConfig(client: ClientDetails): string {
|
||||
return `\
|
||||
[Interface]
|
||||
PrivateKey = ${client.privateKey}
|
||||
Address = ${client.ips.join(', ')}
|
||||
DNS = ${client.vpnDns}
|
||||
|
||||
[Peer]
|
||||
PublicKey = ${client.vpnPublicKey}
|
||||
PresharedKey = ${client.preSharedKey}
|
||||
Endpoint = ${client.vpnEndpoint}
|
||||
AllowedIPs = 0.0.0.0/0,::/0
|
||||
`;
|
||||
}
|
||||
Reference in New Issue
Block a user