Skip to content

Commit

Permalink
fix #353
Browse files Browse the repository at this point in the history
  • Loading branch information
yanue committed Mar 3, 2020
1 parent 741f049 commit db58012
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
32 changes: 32 additions & 0 deletions V2rayU/v2ray/V2rayConfig.swift
Expand Up @@ -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] = []
Expand Down
22 changes: 22 additions & 0 deletions V2rayU/v2ray/v2rayOutbound.swift
Expand Up @@ -16,6 +16,7 @@ enum V2rayProtocolOutbound: String, Codable {
case socks
case vmess
case dns
case http
}

struct V2rayOutbound: Codable {
Expand All @@ -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
Expand Down Expand Up @@ -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)
}
}

Expand Down Expand Up @@ -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
}
}
}
Expand Down Expand Up @@ -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 = ""
}

0 comments on commit db58012

Please sign in to comment.