xfuture 1.9.8 → 2.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +14 -11
- package/package/darwin/install_helper.sh +0 -0
- package/package/darwin/xFuture.node +0 -0
- package/package/darwin/xsing-box-exec +0 -0
- package/package/win32/xFuture.node +0 -0
- package/package/win32/xray.dll +0 -0
- package/package.json +2 -5
- package/resources/global.json +1 -1
- package/index-for-win32-ia32.js +0 -142
- package/package/darwin/xAdapter.framework/Headers/LVAdapter.h +0 -19
- package/package/darwin/xAdapter.framework/Headers/xAdapter.h +0 -19
- package/package/darwin/xAdapter.framework/Modules/module.modulemap +0 -6
- package/package/darwin/xAdapter.framework/Resources/Info.plist +0 -46
- package/package/darwin/xAdapter.framework/_CodeSignature/CodeResources +0 -149
- package/package/darwin/xAdapter.framework/xAdapter +0 -0
- package/resources/mao-dou-xray-vpn-driver.exe +0 -0
package/index.js
CHANGED
@@ -20,6 +20,9 @@ class xFuture {
|
|
20
20
|
init(){
|
21
21
|
this.driver = "";
|
22
22
|
this.isTunMode = true;
|
23
|
+
this.shell_path = "";
|
24
|
+
this.helper_path = "";
|
25
|
+
this.driver = "";
|
23
26
|
}
|
24
27
|
|
25
28
|
SetPassword(password) {
|
@@ -29,7 +32,7 @@ class xFuture {
|
|
29
32
|
SetTunModeEnable(enable){
|
30
33
|
this.isTunMode = enable;
|
31
34
|
parser.isTunMode = enable;
|
32
|
-
ff.SetTunModeEnable(enable
|
35
|
+
ff.SetTunModeEnable(enable);
|
33
36
|
}
|
34
37
|
|
35
38
|
StartTunnel(url){
|
@@ -49,10 +52,6 @@ class xFuture {
|
|
49
52
|
this.StopProxy();
|
50
53
|
}
|
51
54
|
|
52
|
-
SetVlessEncoding(version){
|
53
|
-
ff.SetVlessEncoding(version);
|
54
|
-
}
|
55
|
-
|
56
55
|
StartProxy(){
|
57
56
|
if (isMac || this.isTunMode) return true;
|
58
57
|
var ret = true;
|
@@ -89,17 +88,21 @@ class xFuture {
|
|
89
88
|
SetGlobalMode(isGlobalMode){
|
90
89
|
console.log("isGlobalMode:", isGlobalMode);
|
91
90
|
parser.isGlobalMode = isGlobalMode;
|
92
|
-
ff.SetGlobalMode(isGlobalMode
|
91
|
+
ff.SetGlobalMode(isGlobalMode);
|
93
92
|
}
|
94
93
|
|
95
94
|
// 1. Mac 请传 install_helper.sh 和 xfuture_helper 的绝对路径
|
96
95
|
// 2. Windows 请传 "maodou" 固定字符串 和 sysproxy.exe 的绝对路径
|
96
|
+
// 3. workingDir 传所有 geoip 和资源的目录绝对路径
|
97
97
|
InstallDriver(shell_path, helper_path, workingDir){
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
98
|
+
this.driver = helper_path;
|
99
|
+
this.workingDir = workingDir;
|
100
|
+
this.shell_path = shell_path;
|
101
|
+
parser.workingDir = workingDir;
|
102
|
+
parser.driver = helper_path;
|
103
|
+
parser.shell_path = shell_path;
|
104
|
+
ff.InstallDriver(shell_path, helper_path, workingDir);
|
105
|
+
}
|
103
106
|
|
104
107
|
GetCurrentStatus(){
|
105
108
|
return ff.GetCurrentStatus();
|
File without changes
|
Binary file
|
File without changes
|
Binary file
|
package/package/win32/xray.dll
CHANGED
Binary file
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "xfuture",
|
3
|
-
"version": "
|
3
|
+
"version": "2.8.2",
|
4
4
|
"description": "electron vpn sdk",
|
5
5
|
"main": "x.js",
|
6
6
|
"scripts": {
|
@@ -21,13 +21,11 @@
|
|
21
21
|
},
|
22
22
|
"files": [
|
23
23
|
"index.js",
|
24
|
-
"index-for-win32-ia32.js",
|
25
24
|
"parser.js",
|
26
25
|
"package.json",
|
27
26
|
"package/darwin/xFuture.node",
|
28
27
|
"package/darwin/xfuture_helper",
|
29
28
|
"package/darwin/install_helper.sh",
|
30
|
-
"package/darwin/xAdapter.framework",
|
31
29
|
"package/darwin/xsing-box-exec",
|
32
30
|
"package/win32/sysproxy.exe",
|
33
31
|
"package/win32/xFuture.node",
|
@@ -39,8 +37,7 @@
|
|
39
37
|
"resources/geoip-cn.srs",
|
40
38
|
"resources/geosite-cn.srs",
|
41
39
|
"resources/geosite-geolocation-!cn.srs",
|
42
|
-
"resources/mao-dou-xray-box-driver.exe"
|
43
|
-
"resources/mao-dou-xray-vpn-driver.exe"
|
40
|
+
"resources/mao-dou-xray-box-driver.exe"
|
44
41
|
],
|
45
42
|
"build": {
|
46
43
|
"mac": {
|
package/resources/global.json
CHANGED
package/index-for-win32-ia32.js
DELETED
@@ -1,142 +0,0 @@
|
|
1
|
-
let os = require("os");
|
2
|
-
const { spawn, spawnSync } = require('child_process')
|
3
|
-
var isMac = false;
|
4
|
-
const parser = require('./parser');
|
5
|
-
const fs = require('fs');
|
6
|
-
parser.isGlobalMode = false;
|
7
|
-
|
8
|
-
class xFuture {
|
9
|
-
|
10
|
-
init(){
|
11
|
-
this.driver = "";
|
12
|
-
this.isTunMode = true;
|
13
|
-
}
|
14
|
-
|
15
|
-
SetEventCallback(name, func){
|
16
|
-
|
17
|
-
}
|
18
|
-
|
19
|
-
GetSingBoxDuraion(){
|
20
|
-
return 0;
|
21
|
-
}
|
22
|
-
|
23
|
-
GetXrayDuration(){
|
24
|
-
return 0;
|
25
|
-
}
|
26
|
-
|
27
|
-
SetPassword(password) {
|
28
|
-
|
29
|
-
}
|
30
|
-
|
31
|
-
SetTunModeEnable(enable){
|
32
|
-
this.isTunMode = enable;
|
33
|
-
}
|
34
|
-
|
35
|
-
StartTunnel(url){
|
36
|
-
if(this.driver.length == 0) return false;
|
37
|
-
this.currentURI = url;
|
38
|
-
var json = parser.parse(url);
|
39
|
-
var xray_json = JSON.stringify(json);
|
40
|
-
console.log("address:", json.address);
|
41
|
-
var ok = this.startTunnelPrivate(xray_json, url);
|
42
|
-
if (ok) {
|
43
|
-
ok = this.StartProxy();
|
44
|
-
}
|
45
|
-
return ok;
|
46
|
-
}
|
47
|
-
|
48
|
-
startTunnelPrivate(json, url){
|
49
|
-
|
50
|
-
try {
|
51
|
-
// 同步写入文件
|
52
|
-
var filePath = this.workingDir + "\\configuration.json";
|
53
|
-
fs.writeFileSync(filePath, json, 'utf8');
|
54
|
-
console.log('File has been written successfully!');
|
55
|
-
var driver = this.workingDir + "\\mao-dou-xray-vpn-driver.exe";
|
56
|
-
spawn(driver, ["run", this.workingDir, filePath, url]);
|
57
|
-
return true;
|
58
|
-
} catch (err) {
|
59
|
-
console.error('An error occurred while writing to the file:', err);
|
60
|
-
return false;
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
stopTunnelPrivate() {
|
65
|
-
try {
|
66
|
-
var driver = this.workingDir + "\\mao-dou-xray-vpn-driver.exe";
|
67
|
-
spawnSync(driver, ["kill"]);
|
68
|
-
console.log("Driver killed");
|
69
|
-
}
|
70
|
-
catch (error) {
|
71
|
-
console.error('Error executing command:', error);
|
72
|
-
}
|
73
|
-
|
74
|
-
}
|
75
|
-
|
76
|
-
StopTunnel(){
|
77
|
-
this.stopTunnelPrivate();
|
78
|
-
this.StopProxy();
|
79
|
-
}
|
80
|
-
|
81
|
-
SetVlessEncoding(version){
|
82
|
-
|
83
|
-
}
|
84
|
-
|
85
|
-
StartProxy(){
|
86
|
-
var ret = true;
|
87
|
-
try {
|
88
|
-
let process = spawn(this.driver, ["global", "socks=127.0.0.1:40008"])
|
89
|
-
process.on('close', (code) => {
|
90
|
-
console.info('[sysproxy open]:', code)
|
91
|
-
});
|
92
|
-
} catch(err) {
|
93
|
-
console.warn('[sysproxy open] failed:', err)
|
94
|
-
this.stopTunnelPrivate();
|
95
|
-
ret = false;
|
96
|
-
}
|
97
|
-
return ret;
|
98
|
-
}
|
99
|
-
|
100
|
-
// App 进程退出时调用该接口,否则会导致电脑出现断网情况
|
101
|
-
StopProxy(){
|
102
|
-
if (!isMac) {
|
103
|
-
try {
|
104
|
-
let process = spawn(this.driver, ["off"])
|
105
|
-
process.on('close', function (code) {
|
106
|
-
console.info('[sysproxy stop]:', code)
|
107
|
-
});
|
108
|
-
} catch(err) {
|
109
|
-
console.warn('[sysproxy stop] failed:', err)
|
110
|
-
}
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
SetGlobalMode(isGlobalMode){
|
115
|
-
console.log("isGlobalMode:", isGlobalMode);
|
116
|
-
parser.isGlobalMode = isGlobalMode;
|
117
|
-
}
|
118
|
-
|
119
|
-
// 1. Mac 请传 install_helper.sh 和 xfuture_helper 的绝对路径
|
120
|
-
// 2. Windows 请传 "maodou" 固定字符串 和 sysproxy.exe 的绝对路径
|
121
|
-
InstallDriver(shell_path, helper_path, workingDir){
|
122
|
-
this.driver = helper_path;
|
123
|
-
this.workingDir = workingDir;
|
124
|
-
parser.workingDir = workingDir;
|
125
|
-
}
|
126
|
-
|
127
|
-
GetCurrentStatus(){
|
128
|
-
return 0;
|
129
|
-
}
|
130
|
-
|
131
|
-
GetCurrentURI(){
|
132
|
-
return this.currentURI;
|
133
|
-
}
|
134
|
-
|
135
|
-
GetStatistics(){
|
136
|
-
return {"downloadlink":0, "mdownloadlink":0, "muploadlink":0, "uploadlink":0};
|
137
|
-
}
|
138
|
-
}
|
139
|
-
|
140
|
-
const xFutureInstance = new xFuture;
|
141
|
-
xFutureInstance.init();
|
142
|
-
module.exports = xFutureInstance;
|
@@ -1,19 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// LVAdapter.h
|
3
|
-
// xAdapter
|
4
|
-
//
|
5
|
-
// Created by badwin on 2024/5/18.
|
6
|
-
//
|
7
|
-
|
8
|
-
#import <Foundation/Foundation.h>
|
9
|
-
|
10
|
-
NS_ASSUME_NONNULL_BEGIN
|
11
|
-
|
12
|
-
@interface LVAdapter : NSObject
|
13
|
-
+(NSString *)StartVPN:(NSData *)configuration url:(NSString *)url;
|
14
|
-
+(void)Stop;
|
15
|
-
+(void)SetupEnv:(NSString *)env;
|
16
|
-
+(NSDictionary *)GetStatistics;
|
17
|
-
@end
|
18
|
-
|
19
|
-
NS_ASSUME_NONNULL_END
|
@@ -1,19 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// xAdapter.h
|
3
|
-
// xAdapter
|
4
|
-
//
|
5
|
-
// Created by badwin on 2024/5/18.
|
6
|
-
//
|
7
|
-
|
8
|
-
#import <Foundation/Foundation.h>
|
9
|
-
|
10
|
-
//! Project version number for xAdapter.
|
11
|
-
FOUNDATION_EXPORT double xAdapterVersionNumber;
|
12
|
-
|
13
|
-
//! Project version string for xAdapter.
|
14
|
-
FOUNDATION_EXPORT const unsigned char xAdapterVersionString[];
|
15
|
-
|
16
|
-
// In this header, you should import all the public headers of your framework using statements like #import <xAdapter/PublicHeader.h>
|
17
|
-
|
18
|
-
|
19
|
-
#import <xAdapter/LVAdapter.h>
|
@@ -1,46 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
-
<plist version="1.0">
|
4
|
-
<dict>
|
5
|
-
<key>BuildMachineOSBuild</key>
|
6
|
-
<string>22D49</string>
|
7
|
-
<key>CFBundleDevelopmentRegion</key>
|
8
|
-
<string>en</string>
|
9
|
-
<key>CFBundleExecutable</key>
|
10
|
-
<string>xAdapter</string>
|
11
|
-
<key>CFBundleIdentifier</key>
|
12
|
-
<string>com.pi.xAdapter</string>
|
13
|
-
<key>CFBundleInfoDictionaryVersion</key>
|
14
|
-
<string>6.0</string>
|
15
|
-
<key>CFBundleName</key>
|
16
|
-
<string>xAdapter</string>
|
17
|
-
<key>CFBundlePackageType</key>
|
18
|
-
<string>FMWK</string>
|
19
|
-
<key>CFBundleShortVersionString</key>
|
20
|
-
<string>1.0</string>
|
21
|
-
<key>CFBundleSupportedPlatforms</key>
|
22
|
-
<array>
|
23
|
-
<string>MacOSX</string>
|
24
|
-
</array>
|
25
|
-
<key>CFBundleVersion</key>
|
26
|
-
<string>1</string>
|
27
|
-
<key>DTCompiler</key>
|
28
|
-
<string>com.apple.compilers.llvm.clang.1_0</string>
|
29
|
-
<key>DTPlatformBuild</key>
|
30
|
-
<string></string>
|
31
|
-
<key>DTPlatformName</key>
|
32
|
-
<string>macosx</string>
|
33
|
-
<key>DTPlatformVersion</key>
|
34
|
-
<string>13.3</string>
|
35
|
-
<key>DTSDKBuild</key>
|
36
|
-
<string>22E245</string>
|
37
|
-
<key>DTSDKName</key>
|
38
|
-
<string>macosx13.3</string>
|
39
|
-
<key>DTXcode</key>
|
40
|
-
<string>1430</string>
|
41
|
-
<key>DTXcodeBuild</key>
|
42
|
-
<string>14E222b</string>
|
43
|
-
<key>LSMinimumSystemVersion</key>
|
44
|
-
<string>11.0</string>
|
45
|
-
</dict>
|
46
|
-
</plist>
|
@@ -1,149 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
-
<plist version="1.0">
|
4
|
-
<dict>
|
5
|
-
<key>files</key>
|
6
|
-
<dict>
|
7
|
-
<key>Resources/Info.plist</key>
|
8
|
-
<data>
|
9
|
-
SJb6cxhPMYUgJyQiTwSEa7V8q7Y=
|
10
|
-
</data>
|
11
|
-
</dict>
|
12
|
-
<key>files2</key>
|
13
|
-
<dict>
|
14
|
-
<key>Headers/LVAdapter.h</key>
|
15
|
-
<dict>
|
16
|
-
<key>hash2</key>
|
17
|
-
<data>
|
18
|
-
p+8qklny/YuLe4Yt2ziTTIO2kCrEhU9YCkePcRRAJjo=
|
19
|
-
</data>
|
20
|
-
</dict>
|
21
|
-
<key>Headers/xAdapter.h</key>
|
22
|
-
<dict>
|
23
|
-
<key>hash2</key>
|
24
|
-
<data>
|
25
|
-
J9L94Z2aPJ5+zjtDTGR1t9y0aQ+74GqYs9UbaGvHTcg=
|
26
|
-
</data>
|
27
|
-
</dict>
|
28
|
-
<key>Modules/module.modulemap</key>
|
29
|
-
<dict>
|
30
|
-
<key>hash2</key>
|
31
|
-
<data>
|
32
|
-
7CZfjk6Kmn3++DDXlKWE57uE+bFu/BQimO+PP3TwI60=
|
33
|
-
</data>
|
34
|
-
</dict>
|
35
|
-
<key>Resources/Info.plist</key>
|
36
|
-
<dict>
|
37
|
-
<key>hash2</key>
|
38
|
-
<data>
|
39
|
-
lHFbOi0DCRsaFVGvkaoISwVNrPZbC8nkjGThhr+aYps=
|
40
|
-
</data>
|
41
|
-
</dict>
|
42
|
-
</dict>
|
43
|
-
<key>rules</key>
|
44
|
-
<dict>
|
45
|
-
<key>^Resources/</key>
|
46
|
-
<true/>
|
47
|
-
<key>^Resources/.*\.lproj/</key>
|
48
|
-
<dict>
|
49
|
-
<key>optional</key>
|
50
|
-
<true/>
|
51
|
-
<key>weight</key>
|
52
|
-
<real>1000</real>
|
53
|
-
</dict>
|
54
|
-
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
55
|
-
<dict>
|
56
|
-
<key>omit</key>
|
57
|
-
<true/>
|
58
|
-
<key>weight</key>
|
59
|
-
<real>1100</real>
|
60
|
-
</dict>
|
61
|
-
<key>^Resources/Base\.lproj/</key>
|
62
|
-
<dict>
|
63
|
-
<key>weight</key>
|
64
|
-
<real>1010</real>
|
65
|
-
</dict>
|
66
|
-
<key>^version.plist$</key>
|
67
|
-
<true/>
|
68
|
-
</dict>
|
69
|
-
<key>rules2</key>
|
70
|
-
<dict>
|
71
|
-
<key>.*\.dSYM($|/)</key>
|
72
|
-
<dict>
|
73
|
-
<key>weight</key>
|
74
|
-
<real>11</real>
|
75
|
-
</dict>
|
76
|
-
<key>^(.*/)?\.DS_Store$</key>
|
77
|
-
<dict>
|
78
|
-
<key>omit</key>
|
79
|
-
<true/>
|
80
|
-
<key>weight</key>
|
81
|
-
<real>2000</real>
|
82
|
-
</dict>
|
83
|
-
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
84
|
-
<dict>
|
85
|
-
<key>nested</key>
|
86
|
-
<true/>
|
87
|
-
<key>weight</key>
|
88
|
-
<real>10</real>
|
89
|
-
</dict>
|
90
|
-
<key>^.*</key>
|
91
|
-
<true/>
|
92
|
-
<key>^Info\.plist$</key>
|
93
|
-
<dict>
|
94
|
-
<key>omit</key>
|
95
|
-
<true/>
|
96
|
-
<key>weight</key>
|
97
|
-
<real>20</real>
|
98
|
-
</dict>
|
99
|
-
<key>^PkgInfo$</key>
|
100
|
-
<dict>
|
101
|
-
<key>omit</key>
|
102
|
-
<true/>
|
103
|
-
<key>weight</key>
|
104
|
-
<real>20</real>
|
105
|
-
</dict>
|
106
|
-
<key>^Resources/</key>
|
107
|
-
<dict>
|
108
|
-
<key>weight</key>
|
109
|
-
<real>20</real>
|
110
|
-
</dict>
|
111
|
-
<key>^Resources/.*\.lproj/</key>
|
112
|
-
<dict>
|
113
|
-
<key>optional</key>
|
114
|
-
<true/>
|
115
|
-
<key>weight</key>
|
116
|
-
<real>1000</real>
|
117
|
-
</dict>
|
118
|
-
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
119
|
-
<dict>
|
120
|
-
<key>omit</key>
|
121
|
-
<true/>
|
122
|
-
<key>weight</key>
|
123
|
-
<real>1100</real>
|
124
|
-
</dict>
|
125
|
-
<key>^Resources/Base\.lproj/</key>
|
126
|
-
<dict>
|
127
|
-
<key>weight</key>
|
128
|
-
<real>1010</real>
|
129
|
-
</dict>
|
130
|
-
<key>^[^/]+$</key>
|
131
|
-
<dict>
|
132
|
-
<key>nested</key>
|
133
|
-
<true/>
|
134
|
-
<key>weight</key>
|
135
|
-
<real>10</real>
|
136
|
-
</dict>
|
137
|
-
<key>^embedded\.provisionprofile$</key>
|
138
|
-
<dict>
|
139
|
-
<key>weight</key>
|
140
|
-
<real>20</real>
|
141
|
-
</dict>
|
142
|
-
<key>^version\.plist$</key>
|
143
|
-
<dict>
|
144
|
-
<key>weight</key>
|
145
|
-
<real>20</real>
|
146
|
-
</dict>
|
147
|
-
</dict>
|
148
|
-
</dict>
|
149
|
-
</plist>
|
Binary file
|
Binary file
|