punchnet-macos/punchnet/Core/SystemConfig.swift
2026-01-06 16:33:02 +08:00

64 lines
1.9 KiB
Swift

//
// SystemConfig.swift
// sdlan
//
// Created by on 2024/6/3.
//
import Foundation
struct SystemConfig {
//
static let version = 1
static let version_name = "1.1"
//
static let installedChannel = "MacAppStore"
// super
//static let superHost = "118.178.229.213"
static let superHost = "punchnet.s5s8.com"
static let superPort = 18083
// stun
static let stunServers = "118.178.229.213:1265,1266;118.178.229.213:1265,1266"
//static let stunServers = "127.0.0.1:1265,1266;127.0.0.1:1265,1266"
static func getOptions(networkCode: String, token: String, clientId: String, hostname: String, noticePort: Int) -> [String:NSObject]? {
guard let superIp = DNSResolver.resolveAddrInfos(superHost).first else {
return nil
}
let options = [
"version:": version as NSObject,
"installed_channel": installedChannel as NSObject,
"client_id": clientId as NSObject,
"network_code": networkCode as NSObject,
"token": token as NSObject,
"super_ip": superIp as NSObject,
"super_port": superPort as NSObject,
"stun_servers": stunServers as NSObject,
"remote_dns_server": superIp as NSObject,
"hostname": hostname as NSObject,
"notice_port": noticePort as NSObject
]
return options
}
public static func getClientId() -> String {
let userDefaults = UserDefaults.standard
if let uuid = userDefaults.value(forKey: "gClientId") as? String {
return uuid
} else {
let uuid = UUID().uuidString.replacingOccurrences(of: "-", with: "").lowercased()
userDefaults.setValue(uuid, forKey: "gClientId")
return uuid
}
}
}