mirror of
https://github.com/yanue/V2rayU.git
synced 2025-06-27 05:30:09 +00:00
2.1.0
This commit is contained in:
parent
40d7a655f1
commit
c51bd4a684
Binary file not shown.
@ -1062,7 +1062,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 2.0.0;
|
||||
MARKETING_VERSION = 2.1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = net.yanue.V2rayU;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@ -1090,7 +1090,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 2.0.0;
|
||||
MARKETING_VERSION = 2.1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = net.yanue.V2rayU;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.0.0</string>
|
||||
<string>2.1.0</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
@ -34,7 +34,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2.0.0</string>
|
||||
<string>2.1.0</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
@ -249,4 +249,4 @@ extension FileManager {
|
||||
|
||||
func getAppVersion() -> String {
|
||||
return "\(Bundle.main.infoDictionary!["CFBundleShortVersionString"] ?? "")"
|
||||
}
|
||||
}
|
||||
|
@ -230,49 +230,15 @@ class V2rayLaunch: NSObject {
|
||||
|
||||
static func checkPort(host: String, port: String, tip: String) -> Bool {
|
||||
// shell("/bin/bash",["-c","cd ~ && ls -la"])
|
||||
let res = shell(launchPath: "/bin/bash", arguments: ["-c", "cd " + AppResourcesPath + " && ./V2rayUHelper -cmd port -h " + host + " -p " + port])
|
||||
let cmd = "cd " + AppResourcesPath + " && chmod +x ./V2rayUHelper && ./V2rayUHelper -cmd port -h " + host + " -p " + port
|
||||
let res = shell(launchPath: "/bin/bash", arguments: ["-c", cmd])
|
||||
|
||||
NSLog("checkPort: res=(\(String(describing: res))) cmd=(\(cmd))")
|
||||
|
||||
if res != "ok" {
|
||||
makeToast(message: tip + " error: " + (res ?? ""), displayDuration: 5)
|
||||
makeToast(message: tip + " error - " + (res ?? ""), displayDuration: 5)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
static func checkTcpPort(port: in_port_t) -> (Bool, descr: String) {
|
||||
let socketFileDescriptor = socket(AF_INET, SOCK_STREAM, 0)
|
||||
if socketFileDescriptor == -1 {
|
||||
return (false, "SocketCreationFailed, \(V2rayLaunch.descrOfPortError())")
|
||||
}
|
||||
var addr = sockaddr_in()
|
||||
let sizeOfSockAddr = MemoryLayout<sockaddr_in>.size
|
||||
addr.sin_len = __uint8_t(sizeOfSockAddr)
|
||||
addr.sin_family = sa_family_t(AF_INET)
|
||||
addr.sin_port = Int(OSHostByteOrder()) == OSLittleEndian ? _OSSwapInt16(port) : port
|
||||
addr.sin_addr = in_addr(s_addr: inet_addr("127.0.0.1"))
|
||||
addr.sin_zero = (0, 0, 0, 0, 0, 0, 0, 0)
|
||||
var bind_addr = sockaddr()
|
||||
memcpy(&bind_addr, &addr, Int(sizeOfSockAddr))
|
||||
|
||||
if Darwin.bind(socketFileDescriptor, &bind_addr, socklen_t(sizeOfSockAddr)) == -1 {
|
||||
let details = descrOfPortError()
|
||||
release(socket: socketFileDescriptor)
|
||||
return (false, "\(port), BindFailed, \(details)")
|
||||
}
|
||||
if listen(socketFileDescriptor, SOMAXCONN) == -1 {
|
||||
let details = descrOfPortError()
|
||||
release(socket: socketFileDescriptor)
|
||||
return (false, "\(port), ListenFailed, \(details)")
|
||||
}
|
||||
release(socket: socketFileDescriptor)
|
||||
return (true, "\(port) is free for use")
|
||||
}
|
||||
|
||||
static func release(socket: Int32) {
|
||||
Darwin.shutdown(socket, SHUT_RDWR)
|
||||
close(socket)
|
||||
}
|
||||
|
||||
static func descrOfPortError() -> String {
|
||||
return String.init(cString: (UnsafePointer(strerror(errno))))
|
||||
}
|
||||
}
|
||||
|
@ -14,4 +14,10 @@ sudo chown root:admin ${cmd}
|
||||
sudo chmod a+rx ${cmd}
|
||||
sudo chmod +s ${cmd}
|
||||
|
||||
cmd="./V2rayUHelper"
|
||||
|
||||
sudo chown root:admin ${cmd}
|
||||
sudo chmod a+rx ${cmd}
|
||||
sudo chmod +s ${cmd}
|
||||
|
||||
echo 'done'
|
||||
|
@ -125,6 +125,9 @@ class PingSpeed: NSObject {
|
||||
let cmd = "cd " + AppResourcesPath + " && chmod +x ./V2rayUHelper && ./V2rayUHelper -cmd ping -t 5s -f ./" + pingJsonFileName
|
||||
// print("cmd", cmd)
|
||||
let res = shell(launchPath: "/bin/bash", arguments: ["-c", cmd])
|
||||
|
||||
NSLog("pingInCmd: res=(\(String(describing: res))) cmd=(\(cmd))")
|
||||
|
||||
if res?.contains("ok") ?? false {
|
||||
// res is: ok config.xxxx
|
||||
fastV2rayName = res!.replacingOccurrences(of: "ok ", with: "")
|
||||
|
@ -1168,7 +1168,7 @@ class V2rayConfig: NSObject {
|
||||
}
|
||||
|
||||
if (V2rayStreamSettings.security(rawValue: steamJson["security"].stringValue) == nil) {
|
||||
self.errors += ["invalid " + preTxt + ".streamSettings.security"]
|
||||
self.streamTlsSecurity = V2rayStreamSettings.security.none.rawValue
|
||||
} else {
|
||||
// set security
|
||||
stream.security = V2rayStreamSettings.security(rawValue: steamJson["security"].stringValue)!
|
||||
|
@ -70,20 +70,14 @@ func main() {
|
||||
}
|
||||
|
||||
func checkPort() {
|
||||
if len(host) == 0 || len(port) == 0 {
|
||||
flag.Usage()
|
||||
os.Exit(1)
|
||||
return
|
||||
}
|
||||
|
||||
_, err := net.Listen("tcp", host+":"+port)
|
||||
if err != nil {
|
||||
flag.Usage()
|
||||
os.Exit(2)
|
||||
fmt.Println(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("ok")
|
||||
return
|
||||
}
|
||||
|
||||
type Server struct {
|
||||
|
Loading…
x
Reference in New Issue
Block a user