WireguardConfig overview
Wireguard config schema definitions
Added in v1.0.0
Table of contents
Api interface
$WireguardIniConfig (type alias)
Signature
export type $WireguardIniConfig = Schema.Annotable<
$WireguardIniConfig,
string,
Schema.Schema.Encoded<typeof WireguardConfig>,
never
>
Added in v1.0.0
Constructors
fromConfigFile
Loads a wireguard interface configuration from an INI file.
Signature
export declare const fromConfigFile: (
file: string
) => Effect.Effect<WireguardConfig, ParseResult.ParseError | PlatformError.PlatformError, FileSystem.FileSystem>
Added in v1.0.0
Requests
WireguardGetConfigRequest (class)
Signature
export declare class WireguardGetConfigRequest
Added in v1.0.0
WireguardSetConfigRequest (class)
Signature
export declare class WireguardSetConfigRequest
Added in v1.0.0
Resolvers
WireguardGetConfigResolver
Signature
export declare const WireguardGetConfigResolver: Resolver.RequestResolver<WireguardGetConfigRequest, never>
Added in v1.0.0
WireguardSetConfigResolver
Signature
export declare const WireguardSetConfigResolver: Resolver.RequestResolver<WireguardSetConfigRequest, never>
Added in v1.0.0
Responses
WireguardGetConfigResponse
Signature
export declare const WireguardGetConfigResponse: Schema.extend<
Schema.SchemaClass<
{
readonly Address: InternetSchemas.CidrBlockBase<"ipv4"> | InternetSchemas.CidrBlockBase<"ipv6">
readonly PrivateKey: string & Brand<"WireguardKey">
readonly Dns?:
| { readonly family: "ipv4"; readonly ip: InternetSchemas.IPv4Brand }
| { readonly family: "ipv6"; readonly ip: InternetSchemas.IPv6Brand }
| undefined
readonly ListenPort: InternetSchemas.PortBrand
readonly FirewallMark?: number | undefined
writeToFile: {
(
file: string
): Effect.Effect<void, ParseResult.ParseError | PlatformError.PlatformError, FileSystem.FileSystem | Path.Path>
}
up: {
(
interfaceObject?: WireguardInterface.WireguardInterface | undefined
): Effect.Effect<
WireguardInterface.WireguardInterface,
| Socket.SocketError
| ParseResult.ParseError
| Cause.TimeoutException
| PlatformError.PlatformError
| WireguardErrors.WireguardError,
FileSystem.FileSystem | Path.Path | CommandExecutor.CommandExecutor | WireguardControl.WireguardControl
>
}
upScoped: {
(
interfaceObject?: WireguardInterface.WireguardInterface | undefined
): Effect.Effect<
WireguardInterface.WireguardInterface,
| Socket.SocketError
| ParseResult.ParseError
| Cause.TimeoutException
| PlatformError.PlatformError
| WireguardErrors.WireguardError,
| FileSystem.FileSystem
| Path.Path
| CommandExecutor.CommandExecutor
| WireguardControl.WireguardControl
| Scope.Scope
>
}
},
{
readonly Address: `${string}/${number}`
readonly PrivateKey: string
readonly Dns?: string | undefined
readonly ListenPort: string | number
readonly FirewallMark?: number | null | undefined
},
never
>,
Schema.Struct<{
Peers: Schema.optionalWith<
Schema.Array$<typeof WireguardPeer.WireguardUApiGetPeerResponse>,
{ default: () => never[]; nullable: true }
>
}>
>
Added in v1.0.0
WireguardGetConfigResponse (type alias)
Signature
export type WireguardGetConfigResponse = Schema.Schema.Type<typeof WireguardGetConfigResponse>
Added in v1.0.0
Schema Transformations
WireguardIniConfig
A wireguard configuration encoded in the INI format.
Signature
export declare const WireguardIniConfig: $WireguardIniConfig
Added in v1.0.0
Schemas
WireguardConfig (class)
A wireguard configuration.
Signature
export declare class WireguardConfig
Added in v1.0.0
writeToFile (property)
Writes a wireguard interface configuration to an INI file.
Signature
writeToFile: (file: string) =>
Effect.Effect<void, ParseResult.ParseError | PlatformError.PlatformError, FileSystem.FileSystem | Path.Path>
Added in v1.0.0
up (property)
Starts a wireguard tunnel that will continue to run and serve traffic even after the nodejs process exits.
Signature
up: (interfaceObject?: WireguardInterface.WireguardInterface | undefined) =>
Effect.Effect<
WireguardInterface.WireguardInterface,
| Socket.SocketError
| ParseResult.ParseError
| Cause.TimeoutException
| PlatformError.PlatformError
| WireguardErrors.WireguardError,
FileSystem.FileSystem | Path.Path | CommandExecutor.CommandExecutor | WireguardControl.WireguardControl
>
Added in v1.0.0
upScoped (property)
Starts a wireguard tunnel that will be gracefully shutdown and stop serving traffic once the scope is closed.
Signature
upScoped: (interfaceObject?: WireguardInterface.WireguardInterface | undefined) =>
Effect.Effect<
WireguardInterface.WireguardInterface,
| Socket.SocketError
| ParseResult.ParseError
| Cause.TimeoutException
| PlatformError.PlatformError
| WireguardErrors.WireguardError,
| FileSystem.FileSystem
| Path.Path
| CommandExecutor.CommandExecutor
| WireguardControl.WireguardControl
| Scope.Scope
>
Added in v1.0.0