WgEasyManager 1.1.0

dotnet add package WgEasyManager --version 1.1.0
                    
NuGet\Install-Package WgEasyManager -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WgEasyManager" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WgEasyManager" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="WgEasyManager" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WgEasyManager --version 1.1.0
                    
#r "nuget: WgEasyManager, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WgEasyManager@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WgEasyManager&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=WgEasyManager&version=1.1.0
                    
Install as a Cake Tool

.NET Library for working with WireGuard keys by wg-easy API

This Library is helpful for Telegram bots💪🏻

Installiation

Type this command in project's folder:

dotnet add package WgEasyManager

Quick start

  1. Get URL of your server with port
  2. Get password for access
  3. Initialize WgEasyClient:
private static WgEasyClient client = new("0.0.0.0:12345", "sup3rSecr3tPassw0rd", true);
//if your server hasn't SSL - set false
  1. Login to server:
static async Task Main(){
    await client.LoginToServerIfNeeded();
    //some code...
}

After Initialize in folder "wg-sessions" you can see "ip/port.wgmanager". It's cookies for access to your server.

Editing Keys

1. Get Keys

For getting keys use method .GetKeys()

var keys = client.GetKeys();
//returns List<WireGuardKey>

2. Create new key

Use method .CreateKey() for key creating

Parameters:
  • name - name of key
client.CreateKey("Lance's key");
//return key info in object 'WireGuardKey'

Also you can delete key with method DeleteKey() with parameter clientId

3. Block Key

Use method .BlockKey() for key baning

Parameters:
  • clientId - Client ID in wg-easy
client.DeleteKey("xxxx-xxxx-xxxx-xxxx");
// Key id you can get in object "WireGuardKey"

Also you can unblock key with method UnbanKey() with parameter clientId

4. Rename key

Use method .RenameKey() for updating key's name

Parameters:
  • clientId - client Id
  • name - new name for this key
client.RenameKey("xxxx-xxxx-xxxx-xxxx", "Lance's key");

5. Download .config file

Use method .DownloadConfig() for downloading .config file

Parameters:
  • clientId - Client Id for downloading
  • path - path for saving .config file
client.DownloadConfig("xxxx-xxxx-xxxx-xxxx", "path/to/download");

Also you can download QR-Code with method DownloadQrCode() with parameters clientId and path

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

- Fixed methods "DonwloadConfig()" and "DownloadQrCode()"
   - Removed `BinaryFormatter` and added `JsonConvert` for cookies sereliazation
   - Added namespace `WgEasyManager.Advanced` for developers
   - Replaced vars "password" and "serverUrl" in `WgEasyClient` object
   - Added Exceptions