Dynu.com IP 更新 API 的封装器。
面对现实... 一个仅以文本响应的 REST API 感觉不够现代。 DynuREST 将 Dynu.com IP 更新 API 的文本响应转换为适当的 HTTP 状态码和有意义的错误。
DynuREST 使用 Swift 包管理器 进行分发。 要将其安装到项目中,请将其作为依赖项添加到您的 Package.swift
清单中
let package = Package(
...
dependencies: [
.package(url: "https://github.com/richardpiazza/DynuREST.git", from: "3.0.0")
],
...
)
然后在任何你想使用它的地方导入 DynuREST 包
import DynuREST
DynuIPUpdater
共享实例允许向 Dynu.com API 发送 IP 信息。
let address = IPAddress.ipV4("X.X.X.X")
let response = try await DynuIPUpdater.shared.updateAddress(address, using: .basic("username", "password"))
IP 地址信息可以通过任何方式获得,但 DynuREST 有两个内置的提供程序
IPifyClient.shared
IFConfigClient.shared
它们都实现了 IPSource
协议
public protocol IPSource {
func ipAddress() async throws -> IPAddress
}
DynuIPUpdater
还包含一个辅助方法,可以自动从内置源检索 IP 信息。
func requestIP(_ sources: [IPSource]) async -> [IPAddress]