mirror of
https://github.com/yanue/V2rayU.git
synced 2025-06-27 05:30:09 +00:00
fix #353
This commit is contained in:
parent
741f049ffb
commit
db58012fa9
@ -994,6 +994,38 @@ class V2rayConfig: NSObject {
|
||||
v2rayOutbound.settingDns = settingDns
|
||||
break
|
||||
|
||||
case .http:
|
||||
var settingHttp = V2rayOutboundHttp()
|
||||
var servers: [V2rayOutboundHttpServer] = []
|
||||
|
||||
jsonParams["settings"]["servers"].arrayValue.forEach {
|
||||
val in
|
||||
var server = V2rayOutboundHttpServer()
|
||||
server.port = val["port"].intValue
|
||||
server.address = val["address"].stringValue
|
||||
|
||||
var users: [V2rayOutboundHttpUser] = []
|
||||
val["users"].arrayValue.forEach {
|
||||
val in
|
||||
var user = V2rayOutboundHttpUser()
|
||||
user.user = val["user"].stringValue
|
||||
user.pass = val["pass"].stringValue
|
||||
// append
|
||||
users.append(user)
|
||||
}
|
||||
|
||||
server.users = users
|
||||
// append
|
||||
servers.append(server)
|
||||
}
|
||||
|
||||
settingHttp.servers = servers
|
||||
|
||||
// set into outbound
|
||||
v2rayOutbound.settingHttp = settingHttp
|
||||
|
||||
break
|
||||
|
||||
case .shadowsocks:
|
||||
var settingShadowsocks = V2rayOutboundShadowsocks()
|
||||
var servers: [V2rayOutboundShadowsockServer] = []
|
||||
|
@ -16,6 +16,7 @@ enum V2rayProtocolOutbound: String, Codable {
|
||||
case socks
|
||||
case vmess
|
||||
case dns
|
||||
case http
|
||||
}
|
||||
|
||||
struct V2rayOutbound: Codable {
|
||||
@ -32,6 +33,7 @@ struct V2rayOutbound: Codable {
|
||||
var settingSocks: V2rayOutboundSocks?
|
||||
var settingVMess: V2rayOutboundVMess?
|
||||
var settingDns: V2rayOutboundDns?
|
||||
var settingHttp: V2rayOutboundHttp?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case sendThrough
|
||||
@ -91,6 +93,8 @@ extension V2rayOutbound {
|
||||
case .dns:
|
||||
settingDns = try container.decode(V2rayOutboundDns.self, forKey: CodingKeys.settings)
|
||||
break
|
||||
case .http:
|
||||
settingHttp = try container.decode(V2rayOutboundHttp.self, forKey: CodingKeys.settings)
|
||||
}
|
||||
}
|
||||
|
||||
@ -139,6 +143,9 @@ extension V2rayOutbound {
|
||||
case .dns:
|
||||
try container.encode(self.settingDns, forKey: .settings)
|
||||
break
|
||||
case .http:
|
||||
try container.encode(self.settingHttp, forKey: .settings)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -223,3 +230,18 @@ struct V2rayOutboundDns: Codable {
|
||||
var address: String = ""
|
||||
var port: Int?
|
||||
}
|
||||
|
||||
struct V2rayOutboundHttp: Codable {
|
||||
var servers: [V2rayOutboundHttpServer] = [V2rayOutboundHttpServer()]
|
||||
}
|
||||
|
||||
struct V2rayOutboundHttpServer: Codable {
|
||||
var address: String = ""
|
||||
var port: Int = 0
|
||||
var users: [V2rayOutboundHttpUser] = [V2rayOutboundHttpUser()]
|
||||
}
|
||||
|
||||
struct V2rayOutboundHttpUser: Codable {
|
||||
var user: String = ""
|
||||
var pass: String = ""
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user