mirror of
https://github.com/yanue/V2rayU.git
synced 2025-06-27 05:30:09 +00:00
fix #406
This commit is contained in:
parent
8577c414a1
commit
44688d84c0
@ -174,7 +174,7 @@ Gw
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="Import" identifier="Import" id="BS9-X1-ueN">
|
||||
<view key="view" ambiguous="YES" id="Ab3-ML-cu8">
|
||||
<view key="view" id="Ab3-ML-cu8">
|
||||
<rect key="frame" x="10" y="33" width="394" height="491"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
@ -274,7 +274,7 @@ Gw
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Manual" identifier="Manual" id="qq1-yV-VsK">
|
||||
<view key="view" id="YXI-Uw-7SR">
|
||||
<view key="view" ambiguous="YES" id="YXI-Uw-7SR">
|
||||
<rect key="frame" x="10" y="33" width="394" height="491"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
@ -112,7 +112,6 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
// add default
|
||||
V2rayServer.add(remark: "default", json: "", isValid: false)
|
||||
}
|
||||
|
||||
self.shadowsockMethod.removeAllItems()
|
||||
self.shadowsockMethod.addItems(withTitles: V2rayOutboundShadowsockMethod)
|
||||
|
||||
@ -206,7 +205,7 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
v2rayConfig = V2rayConfig()
|
||||
|
||||
defer {
|
||||
if self.configText.string.count > 0 && v2rayConfig.isValid {
|
||||
if self.configText.string.count > 0 {
|
||||
self.bindDataToView()
|
||||
}
|
||||
}
|
||||
@ -241,17 +240,6 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
|
||||
// export data to V2rayConfig
|
||||
func exportData() {
|
||||
// ========================== base start =======================
|
||||
// base
|
||||
// v2rayConfig.httpPort = self.httpPort.stringValue.replacingOccurrences(of: ",", with: "")
|
||||
// v2rayConfig.socksPort = self.sockPort.stringValue.replacingOccurrences(of: ",", with: "")
|
||||
// v2rayConfig.enableUdp = self.enableUdp.state.rawValue > 0
|
||||
// v2rayConfig.enableMux = self.enableMux.state.rawValue > 0
|
||||
// v2rayConfig.dns = self.dnsServers.stringValue
|
||||
// v2rayConfig.mux = Int(self.muxConcurrent.intValue)
|
||||
// v2rayConfig.isNewVersion = self.version4.state.rawValue > 0
|
||||
// ========================== base end =======================
|
||||
|
||||
// ========================== server start =======================
|
||||
if self.switchProtocol.indexOfSelectedItem >= 0 {
|
||||
v2rayConfig.serverProtocol = self.switchProtocol.titleOfSelectedItem!
|
||||
@ -279,7 +267,7 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
|
||||
// socks5
|
||||
v2rayConfig.serverSocks5.servers[0].address = self.socks5Addr.stringValue
|
||||
v2rayConfig.serverSocks5.servers[0].port = self.socks5Port.stringValue
|
||||
v2rayConfig.serverSocks5.servers[0].port = Int(self.socks5Port.intValue)
|
||||
|
||||
var sockUser = V2rayOutboundSockUser()
|
||||
sockUser.user = self.socks5User.stringValue
|
||||
@ -373,12 +361,11 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
|
||||
// socks5
|
||||
self.socks5Addr.stringValue = v2rayConfig.serverSocks5.servers[0].address
|
||||
self.socks5Port.stringValue = v2rayConfig.serverSocks5.servers[0].port
|
||||
self.socks5Port.stringValue = String(v2rayConfig.serverSocks5.servers[0].port)
|
||||
if v2rayConfig.serverSocks5.servers[0].users.count > 0 {
|
||||
self.socks5User.stringValue = v2rayConfig.serverSocks5.servers[0].users[0].user
|
||||
self.socks5Pass.stringValue = v2rayConfig.serverSocks5.servers[0].users[0].pass
|
||||
}
|
||||
|
||||
// ========================== server end =======================
|
||||
|
||||
// ========================== stream start =======================
|
||||
@ -578,7 +565,7 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
}
|
||||
NSWorkspace.shared.open(url)
|
||||
}
|
||||
|
||||
|
||||
@IBAction func goStreamHelp(_ sender: Any) {
|
||||
guard let url = URL(string: "https://www.v2ray.com/chapter_02/05_transport.html") else {
|
||||
return
|
||||
@ -703,17 +690,17 @@ class ConfigWindowController: NSWindowController, NSWindowDelegate, NSTabViewDel
|
||||
|
||||
@IBAction func cancel(_ sender: NSButton) {
|
||||
// hide dock icon and close all opened windows
|
||||
_ = menuController.showDock(state: false)
|
||||
_ = menuController.showDock(state: false)
|
||||
}
|
||||
|
||||
@IBAction func goAdvanceSetting(_ sender: Any) {
|
||||
preferencesWindowController.show(preferencePane: .advanceTab)
|
||||
}
|
||||
|
||||
|
||||
@IBAction func goSubscribeSetting(_ sender: Any) {
|
||||
preferencesWindowController.show(preferencePane: .subscribeTab)
|
||||
}
|
||||
|
||||
|
||||
@IBAction func goRoutingRuleSetting(_ sender: Any) {
|
||||
preferencesWindowController.show(preferencePane: .routingTab)
|
||||
}
|
||||
|
@ -31,8 +31,11 @@ class Ping : NSObject {
|
||||
host = cfg.serverShadowsocks.address
|
||||
port = cfg.serverShadowsocks.port
|
||||
} else if cfg.serverProtocol == V2rayProtocolOutbound.socks.rawValue {
|
||||
if cfg.serverSocks5.servers.count == 0 {
|
||||
return
|
||||
}
|
||||
host = cfg.serverSocks5.servers[0].address
|
||||
port = Int(cfg.serverSocks5.servers[0].port) ?? 0
|
||||
port = Int(cfg.serverSocks5.servers[0].port)
|
||||
} else {
|
||||
return
|
||||
}
|
||||
|
@ -485,6 +485,7 @@ class V2rayConfig: NSObject {
|
||||
outbound.settingShadowsocks = ss
|
||||
break
|
||||
case V2rayProtocolOutbound.socks:
|
||||
print("self.serverSocks5", self.serverSocks5)
|
||||
outbound.settingSocks = self.serverSocks5
|
||||
break
|
||||
default:
|
||||
@ -549,7 +550,7 @@ class V2rayConfig: NSObject {
|
||||
self.error = "missing socks.address";
|
||||
return
|
||||
}
|
||||
if self.serverSocks5.servers[0].port.count == 0 {
|
||||
if self.serverSocks5.servers[0].port == 0 {
|
||||
self.error = "missing socks.port";
|
||||
return
|
||||
}
|
||||
@ -562,10 +563,6 @@ class V2rayConfig: NSObject {
|
||||
// check stream setting
|
||||
switch self.streamNetwork {
|
||||
case V2rayStreamSettings.network.h2.rawValue:
|
||||
if self.streamH2.path.count == 0 {
|
||||
// self.error = "missing streamSettings.httpSettings.path";
|
||||
// return
|
||||
}
|
||||
break
|
||||
case V2rayStreamSettings.network.ws.rawValue:
|
||||
break
|
||||
@ -999,20 +996,31 @@ class V2rayConfig: NSObject {
|
||||
|
||||
case .socks:
|
||||
var settingSocks = V2rayOutboundSocks()
|
||||
settingSocks.servers[0].address = jsonParams["settings"]["address"].stringValue
|
||||
settingSocks.servers[0].port = jsonParams["settings"]["port"].stringValue
|
||||
var servers: [V2rayOutboundSockServer] = []
|
||||
|
||||
var users: [V2rayOutboundSockUser] = []
|
||||
jsonParams["settings"]["users"].arrayValue.forEach {
|
||||
jsonParams["settings"]["servers"].arrayValue.forEach {
|
||||
val in
|
||||
var user = V2rayOutboundSockUser()
|
||||
user.user = val["user"].stringValue
|
||||
user.pass = val["pass"].stringValue
|
||||
user.level = val["level"].intValue
|
||||
var server = V2rayOutboundSockServer()
|
||||
server.port = val["port"].intValue
|
||||
server.address = val["address"].stringValue
|
||||
|
||||
var users: [V2rayOutboundSockUser] = []
|
||||
val["users"].arrayValue.forEach {
|
||||
val in
|
||||
var user = V2rayOutboundSockUser()
|
||||
user.user = val["user"].stringValue
|
||||
user.pass = val["pass"].stringValue
|
||||
user.level = val["level"].intValue
|
||||
// append
|
||||
users.append(user)
|
||||
}
|
||||
|
||||
server.users = users
|
||||
// append
|
||||
users.append(user)
|
||||
servers.append(server)
|
||||
}
|
||||
settingSocks.servers[0].users = users
|
||||
|
||||
settingSocks.servers = servers
|
||||
|
||||
// set into outbound
|
||||
v2rayOutbound.settingSocks = settingSocks
|
||||
|
@ -188,7 +188,7 @@ struct V2rayOutboundSocks: Codable {
|
||||
|
||||
struct V2rayOutboundSockServer: Codable {
|
||||
var address: String = ""
|
||||
var port: String = ""
|
||||
var port: Int = 0
|
||||
var users: [V2rayOutboundSockUser] = [V2rayOutboundSockUser()]
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user