ha-frp-rn 1.0.18 → 1.0.20
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/{assets → android/src/main/assets}/frpc-visitor-default.toml +141 -141
- package/android/src/main/java/io/github/acedroidx/frp/ShellService.kt +42 -1
- package/package.json +1 -1
- /package/{jniLibs → android/src/main/jniLibs}/arm64-v8a/libfrpc.so +0 -0
- /package/{jniLibs → android/src/main/jniLibs}/arm64-v8a/libfrps.so +0 -0
- /package/{jniLibs → android/src/main/jniLibs}/armeabi-v7a/libfrpc.so +0 -0
- /package/{jniLibs → android/src/main/jniLibs}/armeabi-v7a/libfrps.so +0 -0
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
# ===============================================
|
|
2
|
-
# frpc visitor config for native clients (Android / Windows)
|
|
3
|
-
#
|
|
4
|
-
# ✏️ BEFORE USE:
|
|
5
|
-
# 1. Replace all 'change_me_*' with real secretKey values
|
|
6
|
-
# 2. Update FRP_SERVER_ADDR and auth.token if needed
|
|
7
|
-
# 3. Save as 'frpc-visitor.toml' and load into your client
|
|
8
|
-
#
|
|
9
|
-
# This file is auto-generated from:
|
|
10
|
-
# - .env (优先)
|
|
11
|
-
# - .env.example
|
|
12
|
-
# - visitors/builtin/*.toml
|
|
13
|
-
# To update, run: ./scripts/render-full-config.py
|
|
14
|
-
# ===============================================
|
|
15
|
-
|
|
16
|
-
serverAddr = "103.236.89.242"
|
|
17
|
-
serverPort = 7000
|
|
18
|
-
auth.token = "2ab9901b45476e8dabaa12c8b556dd5b"
|
|
19
|
-
|
|
20
|
-
[[visitors]]
|
|
21
|
-
name = "aiws-stcp"
|
|
22
|
-
type = "stcp"
|
|
23
|
-
serverName = "gx10-a880-aiws-stcp"
|
|
24
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
25
|
-
bindPort = -1
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
[[visitors]]
|
|
29
|
-
name = "aiws-xtcp"
|
|
30
|
-
type = "xtcp"
|
|
31
|
-
serverName = "gx10-a880-aiws-xtcp"
|
|
32
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
33
|
-
bindAddr = "127.0.0.1"
|
|
34
|
-
bindPort = 10006
|
|
35
|
-
fallbackTo = "aiws-stcp"
|
|
36
|
-
fallbackTimeoutMs = 200
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
[[visitors]]
|
|
40
|
-
name = "dialog-agent2-10197"
|
|
41
|
-
type = "xtcp"
|
|
42
|
-
serverName = "gx10-a880-dialog-agent2-10197-xtcp"
|
|
43
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
44
|
-
bindAddr = "127.0.0.1"
|
|
45
|
-
bindPort = 10197
|
|
46
|
-
fallbackTo = "dialog-agent2-10197-stcp"
|
|
47
|
-
fallbackTimeoutMs = 300
|
|
48
|
-
|
|
49
|
-
[[visitors]]
|
|
50
|
-
name = "dialog-agent2-10197-stcp"
|
|
51
|
-
type = "stcp"
|
|
52
|
-
serverName = "gx10-a880-dialog-agent2-10197-stcp"
|
|
53
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
54
|
-
bindPort = -1
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
[[visitors]]
|
|
58
|
-
name = "frigate-stcp"
|
|
59
|
-
type = "stcp"
|
|
60
|
-
serverName = "gx10-a880-frigate-stcp"
|
|
61
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
62
|
-
bindPort = -1
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
[[visitors]]
|
|
66
|
-
name = "frigate-xtcp"
|
|
67
|
-
type = "xtcp"
|
|
68
|
-
serverName = "gx10-a880-frigate-xtcp"
|
|
69
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
70
|
-
bindAddr = "127.0.0.1"
|
|
71
|
-
bindPort = 5000
|
|
72
|
-
fallbackTo = "frigate-stcp"
|
|
73
|
-
fallbackTimeoutMs = 500
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
[[visitors]]
|
|
77
|
-
name = "ha-stcp"
|
|
78
|
-
type = "stcp"
|
|
79
|
-
serverName = "gx10-a880-ha-stcp"
|
|
80
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
81
|
-
bindPort = -1
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
[[visitors]]
|
|
85
|
-
name = "ha-xtcp"
|
|
86
|
-
type = "xtcp"
|
|
87
|
-
serverName = "gx10-a880-ha-xtcp"
|
|
88
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
89
|
-
bindAddr = "127.0.0.1"
|
|
90
|
-
bindPort = 8123
|
|
91
|
-
fallbackTo = "ha-stcp"
|
|
92
|
-
fallbackTimeoutMs = 500
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
# xtcp visitor for TCP port 7880
|
|
96
|
-
[[visitors]]
|
|
97
|
-
name = "livekit-7880-xtcp"
|
|
98
|
-
type = "xtcp"
|
|
99
|
-
serverName = "gx10-a880-livekit-7880-xtcp"
|
|
100
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
101
|
-
bindAddr = "127.0.0.1"
|
|
102
|
-
bindPort = 7880
|
|
103
|
-
fallbackTo = "livekit-7880-stcp"
|
|
104
|
-
fallbackTimeoutMs = 300
|
|
105
|
-
|
|
106
|
-
# stcp visitor for TCP port 7880
|
|
107
|
-
[[visitors]]
|
|
108
|
-
name = "livekit-7880-stcp"
|
|
109
|
-
type = "stcp"
|
|
110
|
-
serverName = "gx10-a880-livekit-7880-stcp"
|
|
111
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
112
|
-
bindPort = -1
|
|
113
|
-
|
|
114
|
-
# sudp visitor for UDP port 7883
|
|
115
|
-
[[visitors]]
|
|
116
|
-
name = "livekit-7883-sudp"
|
|
117
|
-
type = "sudp"
|
|
118
|
-
serverName = "gx10-a880-livekit-7883-sudp"
|
|
119
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
120
|
-
bindAddr = "127.0.0.1"
|
|
121
|
-
bindPort = 7883
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
[[visitors]]
|
|
125
|
-
name = "ssh-stcp"
|
|
126
|
-
type = "stcp"
|
|
127
|
-
serverName = "gx10-a880-ssh-stcp"
|
|
128
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
129
|
-
bindPort = -1
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
[[visitors]]
|
|
133
|
-
name = "ssh-xtcp"
|
|
134
|
-
type = "xtcp"
|
|
135
|
-
serverName = "gx10-a880-ssh-xtcp"
|
|
136
|
-
secretKey = "your_strong_secret_here_32_chars"
|
|
137
|
-
bindAddr = "127.0.0.1"
|
|
138
|
-
bindPort = 2222
|
|
139
|
-
fallbackTo = "ssh-stcp"
|
|
140
|
-
fallbackTimeoutMs = 500
|
|
141
|
-
|
|
1
|
+
# ===============================================
|
|
2
|
+
# frpc visitor config for native clients (Android / Windows)
|
|
3
|
+
#
|
|
4
|
+
# ✏️ BEFORE USE:
|
|
5
|
+
# 1. Replace all 'change_me_*' with real secretKey values
|
|
6
|
+
# 2. Update FRP_SERVER_ADDR and auth.token if needed
|
|
7
|
+
# 3. Save as 'frpc-visitor.toml' and load into your client
|
|
8
|
+
#
|
|
9
|
+
# This file is auto-generated from:
|
|
10
|
+
# - .env (优先)
|
|
11
|
+
# - .env.example
|
|
12
|
+
# - visitors/builtin/*.toml
|
|
13
|
+
# To update, run: ./scripts/render-full-config.py
|
|
14
|
+
# ===============================================
|
|
15
|
+
|
|
16
|
+
serverAddr = "103.236.89.242"
|
|
17
|
+
serverPort = 7000
|
|
18
|
+
auth.token = "2ab9901b45476e8dabaa12c8b556dd5b"
|
|
19
|
+
|
|
20
|
+
[[visitors]]
|
|
21
|
+
name = "aiws-stcp"
|
|
22
|
+
type = "stcp"
|
|
23
|
+
serverName = "gx10-a880-aiws-stcp"
|
|
24
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
25
|
+
bindPort = -1
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
[[visitors]]
|
|
29
|
+
name = "aiws-xtcp"
|
|
30
|
+
type = "xtcp"
|
|
31
|
+
serverName = "gx10-a880-aiws-xtcp"
|
|
32
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
33
|
+
bindAddr = "127.0.0.1"
|
|
34
|
+
bindPort = 10006
|
|
35
|
+
fallbackTo = "aiws-stcp"
|
|
36
|
+
fallbackTimeoutMs = 200
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
[[visitors]]
|
|
40
|
+
name = "dialog-agent2-10197"
|
|
41
|
+
type = "xtcp"
|
|
42
|
+
serverName = "gx10-a880-dialog-agent2-10197-xtcp"
|
|
43
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
44
|
+
bindAddr = "127.0.0.1"
|
|
45
|
+
bindPort = 10197
|
|
46
|
+
fallbackTo = "dialog-agent2-10197-stcp"
|
|
47
|
+
fallbackTimeoutMs = 300
|
|
48
|
+
|
|
49
|
+
[[visitors]]
|
|
50
|
+
name = "dialog-agent2-10197-stcp"
|
|
51
|
+
type = "stcp"
|
|
52
|
+
serverName = "gx10-a880-dialog-agent2-10197-stcp"
|
|
53
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
54
|
+
bindPort = -1
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
[[visitors]]
|
|
58
|
+
name = "frigate-stcp"
|
|
59
|
+
type = "stcp"
|
|
60
|
+
serverName = "gx10-a880-frigate-stcp"
|
|
61
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
62
|
+
bindPort = -1
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
[[visitors]]
|
|
66
|
+
name = "frigate-xtcp"
|
|
67
|
+
type = "xtcp"
|
|
68
|
+
serverName = "gx10-a880-frigate-xtcp"
|
|
69
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
70
|
+
bindAddr = "127.0.0.1"
|
|
71
|
+
bindPort = 5000
|
|
72
|
+
fallbackTo = "frigate-stcp"
|
|
73
|
+
fallbackTimeoutMs = 500
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
[[visitors]]
|
|
77
|
+
name = "ha-stcp"
|
|
78
|
+
type = "stcp"
|
|
79
|
+
serverName = "gx10-a880-ha-stcp"
|
|
80
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
81
|
+
bindPort = -1
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
[[visitors]]
|
|
85
|
+
name = "ha-xtcp"
|
|
86
|
+
type = "xtcp"
|
|
87
|
+
serverName = "gx10-a880-ha-xtcp"
|
|
88
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
89
|
+
bindAddr = "127.0.0.1"
|
|
90
|
+
bindPort = 8123
|
|
91
|
+
fallbackTo = "ha-stcp"
|
|
92
|
+
fallbackTimeoutMs = 500
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
# xtcp visitor for TCP port 7880
|
|
96
|
+
[[visitors]]
|
|
97
|
+
name = "livekit-7880-xtcp"
|
|
98
|
+
type = "xtcp"
|
|
99
|
+
serverName = "gx10-a880-livekit-7880-xtcp"
|
|
100
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
101
|
+
bindAddr = "127.0.0.1"
|
|
102
|
+
bindPort = 7880
|
|
103
|
+
fallbackTo = "livekit-7880-stcp"
|
|
104
|
+
fallbackTimeoutMs = 300
|
|
105
|
+
|
|
106
|
+
# stcp visitor for TCP port 7880
|
|
107
|
+
[[visitors]]
|
|
108
|
+
name = "livekit-7880-stcp"
|
|
109
|
+
type = "stcp"
|
|
110
|
+
serverName = "gx10-a880-livekit-7880-stcp"
|
|
111
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
112
|
+
bindPort = -1
|
|
113
|
+
|
|
114
|
+
# sudp visitor for UDP port 7883
|
|
115
|
+
[[visitors]]
|
|
116
|
+
name = "livekit-7883-sudp"
|
|
117
|
+
type = "sudp"
|
|
118
|
+
serverName = "gx10-a880-livekit-7883-sudp"
|
|
119
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
120
|
+
bindAddr = "127.0.0.1"
|
|
121
|
+
bindPort = 7883
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
[[visitors]]
|
|
125
|
+
name = "ssh-stcp"
|
|
126
|
+
type = "stcp"
|
|
127
|
+
serverName = "gx10-a880-ssh-stcp"
|
|
128
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
129
|
+
bindPort = -1
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
[[visitors]]
|
|
133
|
+
name = "ssh-xtcp"
|
|
134
|
+
type = "xtcp"
|
|
135
|
+
serverName = "gx10-a880-ssh-xtcp"
|
|
136
|
+
secretKey = "your_strong_secret_here_32_chars"
|
|
137
|
+
bindAddr = "127.0.0.1"
|
|
138
|
+
bindPort = 2222
|
|
139
|
+
fallbackTo = "ssh-stcp"
|
|
140
|
+
fallbackTimeoutMs = 500
|
|
141
|
+
|
|
@@ -65,6 +65,11 @@ class ShellService(private val context: Context) {
|
|
|
65
65
|
return
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
// === 添加调试代码 ===
|
|
69
|
+
Log.i(TAG, "Starting FRP with config path: $configPath")
|
|
70
|
+
listAssetsFiles(context) // 添加这行
|
|
71
|
+
|
|
72
|
+
|
|
68
73
|
setStatus(Status.STARTING, "Starting $binaryName...")
|
|
69
74
|
|
|
70
75
|
executorService.submit {
|
|
@@ -131,6 +136,25 @@ class ShellService(private val context: Context) {
|
|
|
131
136
|
}
|
|
132
137
|
}
|
|
133
138
|
|
|
139
|
+
/**
|
|
140
|
+
* 调试用:列出assets目录下的所有文件
|
|
141
|
+
*/
|
|
142
|
+
private fun listAssetsFiles(context: Context) {
|
|
143
|
+
try {
|
|
144
|
+
val assets = context.assets
|
|
145
|
+
val fileList = assets.list("") ?: emptyArray()
|
|
146
|
+
|
|
147
|
+
Log.i(TAG, "=== Assets Files List ===")
|
|
148
|
+
fileList.forEach { fileName ->
|
|
149
|
+
Log.i(TAG, "Asset file: $fileName")
|
|
150
|
+
}
|
|
151
|
+
Log.i(TAG, "Total files: ${fileList.size}")
|
|
152
|
+
Log.i(TAG, "======================")
|
|
153
|
+
} catch (e: IOException) {
|
|
154
|
+
Log.e(TAG, "Failed to list assets files", e)
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
134
158
|
/**
|
|
135
159
|
* 将 assets 中的文件复制到目标文件
|
|
136
160
|
*/
|
|
@@ -162,12 +186,29 @@ class ShellService(private val context: Context) {
|
|
|
162
186
|
android.content.pm.PackageManager.GET_SHARED_LIBRARY_FILES
|
|
163
187
|
)
|
|
164
188
|
val nativeLibraryDir = File(applicationInfo.nativeLibraryDir)
|
|
189
|
+
|
|
190
|
+
// ✅ 添加调试信息
|
|
191
|
+
Log.i(TAG, "=== Native Library Debug Info ===")
|
|
192
|
+
Log.i(TAG, "Package name: ${context.packageName}")
|
|
193
|
+
Log.i(TAG, "Native library directory: ${nativeLibraryDir.absolutePath}")
|
|
194
|
+
Log.i(TAG, "Directory exists: ${nativeLibraryDir.exists()}")
|
|
195
|
+
if (nativeLibraryDir.exists()) {
|
|
196
|
+
Log.i(TAG, "Directory files: ${nativeLibraryDir.listFiles()?.joinToString(", ") { it.name }}")
|
|
197
|
+
}
|
|
198
|
+
|
|
165
199
|
val libName = when (binaryName) {
|
|
166
200
|
"frpc" -> "libfrpc.so"
|
|
167
201
|
"frps" -> "libfrps.so"
|
|
168
202
|
else -> throw IllegalArgumentException("Unknown binary: $binaryName")
|
|
169
203
|
}
|
|
170
|
-
|
|
204
|
+
|
|
205
|
+
val binaryFile = File(nativeLibraryDir, libName)
|
|
206
|
+
Log.i(TAG, "Looking for binary: ${binaryFile.absolutePath}")
|
|
207
|
+
Log.i(TAG, "Binary file exists: ${binaryFile.exists()}")
|
|
208
|
+
Log.i(TAG, "Binary file can execute: ${binaryFile.canExecute()}")
|
|
209
|
+
Log.i(TAG, "===================================")
|
|
210
|
+
|
|
211
|
+
return binaryFile
|
|
171
212
|
}
|
|
172
213
|
|
|
173
214
|
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|