mirror of
https://github.com/yanue/V2rayU.git
synced 2025-06-27 05:30:09 +00:00
commit
c2bb0097eb
@ -477,24 +477,30 @@ class MenuController: NSObject, NSMenuDelegate {
|
||||
}
|
||||
|
||||
func importUri(url: String) {
|
||||
let uri = url.trimmingCharacters(in: .whitespaces)
|
||||
let urls = url.split(separator: "\n")
|
||||
|
||||
if uri.count == 0 {
|
||||
noticeTip(title: "import server fail", subtitle: "", informativeText: "import error: uri not found")
|
||||
return
|
||||
}
|
||||
for url in urls {
|
||||
let uri = url.trimmingCharacters(in: .whitespaces)
|
||||
|
||||
if uri.count == 0 {
|
||||
noticeTip(title: "import server fail", subtitle: "", informativeText: "import error: uri not found")
|
||||
continue
|
||||
}
|
||||
|
||||
// ss://YWVzLTI1Ni1jZmI6ZUlXMERuazY5NDU0ZTZuU3d1c3B2OURtUzIwMXRRMERAMTcyLjEwNS43MS44Mjo4MDk5#翻墙党325.06美国 类型这种含中文的格式不是标准的URL格式
|
||||
// if URL(string: uri) == nil {
|
||||
if !ImportUri.supportProtocol(uri: uri) {
|
||||
noticeTip(title: "import server fail", subtitle: "", informativeText: "no found ss:// , ssr:// or vmess://")
|
||||
continue
|
||||
}
|
||||
|
||||
if let importUri = ImportUri.importUri(uri: uri) {
|
||||
self.saveServer(importUri: importUri)
|
||||
continue
|
||||
}
|
||||
|
||||
if URL(string: uri) == nil {
|
||||
noticeTip(title: "import server fail", subtitle: "", informativeText: "no found ss:// , ssr:// or vmess://")
|
||||
return
|
||||
}
|
||||
|
||||
if let importUri = ImportUri.importUri(uri: uri) {
|
||||
self.saveServer(importUri: importUri)
|
||||
return
|
||||
}
|
||||
|
||||
noticeTip(title: "import server fail", subtitle: "", informativeText: "no found ss:// , ssr:// or vmess://")
|
||||
}
|
||||
|
||||
func saveServer(importUri: ImportUri) {
|
||||
|
@ -158,21 +158,28 @@ class ImportUri {
|
||||
}
|
||||
|
||||
func importSSUri(uri: String) {
|
||||
if URL(string: uri) == nil {
|
||||
if URL(string: uri) == nil && uri.index(of: "#") == nil {
|
||||
self.error = "invalid ss url"
|
||||
return
|
||||
}
|
||||
|
||||
// 支持 ss://YWVzLTI1Ni1jZmI6ZjU1LmZ1bi0wNTM1NDAxNkA0NS43OS4xODAuMTExOjExMDc4#翻墙党300.16美国 格式
|
||||
let aUri = uri.split(separator: "#")
|
||||
|
||||
self.uri = uri
|
||||
|
||||
let ss = ShadowsockUri()
|
||||
ss.Init(url: URL(string: uri)!)
|
||||
ss.Init(url: URL(string: String(aUri[0]))!)
|
||||
if ss.error.count > 0 {
|
||||
self.error = ss.error
|
||||
self.isValid = false
|
||||
return
|
||||
}
|
||||
self.remark = ss.remark
|
||||
if ss.remark.count == 0 && aUri.count > 1 {
|
||||
self.remark = String(aUri[1])
|
||||
} else {
|
||||
self.remark = ss.remark
|
||||
}
|
||||
|
||||
let v2ray = V2rayConfig()
|
||||
var ssServer = V2rayOutboundShadowsockServer()
|
||||
@ -520,7 +527,7 @@ class ShadowsockUri {
|
||||
self.error = "error: decodeUrl"
|
||||
return
|
||||
}
|
||||
guard var parsedUrl = URLComponents(string: decodedUrl) else {
|
||||
guard let parsedUrl = URLComponents(string: decodedUrl) else {
|
||||
self.error = "error: parsedUrl"
|
||||
return
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user