@jonathanleelx/meddle 0.0.1 → 0.0.3
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/dist/cert.d.ts +1 -0
- package/dist/cert.d.ts.map +1 -1
- package/dist/cert.js +79 -21
- package/dist/cert.js.map +1 -1
- package/package.json +2 -2
- /package/bin/{index → index.js} +0 -0
package/dist/cert.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ interface CAStatus {
|
|
|
4
4
|
trusted?: boolean;
|
|
5
5
|
}
|
|
6
6
|
export declare function getCAStatus(): Promise<CAStatus>;
|
|
7
|
+
export declare function checkCATrusted(): boolean;
|
|
7
8
|
export declare function ensureRootCA(): Promise<void>;
|
|
8
9
|
export declare function getRootCAPath(): string;
|
|
9
10
|
export { crtMgr };
|
package/dist/cert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert.d.ts","sourceRoot":"","sources":["../cert.ts"],"names":[],"mappings":"AAsBA,QAAA,MAAM,MAAM,KAA8B,CAAC;AA+B3C,UAAU,QAAQ;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"cert.d.ts","sourceRoot":"","sources":["../cert.ts"],"names":[],"mappings":"AAsBA,QAAA,MAAM,MAAM,KAA8B,CAAC;AA+B3C,UAAU,QAAQ;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAYrD;AA6FD,wBAAgB,cAAc,IAAI,OAAO,CA8BxC;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAWlD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/cert.js
CHANGED
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.crtMgr = void 0;
|
|
37
37
|
exports.getCAStatus = getCAStatus;
|
|
38
|
+
exports.checkCATrusted = checkCATrusted;
|
|
38
39
|
exports.ensureRootCA = ensureRootCA;
|
|
39
40
|
exports.getRootCAPath = getRootCAPath;
|
|
40
41
|
const EasyCert = require('node-easy-cert');
|
|
@@ -92,9 +93,7 @@ async function getCAStatus() {
|
|
|
92
93
|
}
|
|
93
94
|
else {
|
|
94
95
|
result.exist = true;
|
|
95
|
-
|
|
96
|
-
result.trusted = easyCert.ifRootCATrusted;
|
|
97
|
-
}
|
|
96
|
+
result.trusted = checkCATrusted();
|
|
98
97
|
return result;
|
|
99
98
|
}
|
|
100
99
|
}
|
|
@@ -145,20 +144,86 @@ async function trustRootCA() {
|
|
|
145
144
|
console.log('证书路径:', rootCAPath, '- 请稍后手动添加信任以支持 HTTPS 代理。');
|
|
146
145
|
return;
|
|
147
146
|
}
|
|
148
|
-
if (
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
147
|
+
if (answer.trustCA === 'auto') {
|
|
148
|
+
if (platform === 'darwin') {
|
|
149
|
+
try {
|
|
150
|
+
(0, child_process_1.execSync)(`sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "${rootCAPath}"`, {
|
|
151
|
+
stdio: 'inherit'
|
|
152
|
+
});
|
|
153
|
+
console.log('根证书已成功添加到系统信任。');
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
console.error('自动添加失败,正在打开证书文件供手动添加...');
|
|
157
|
+
openCertForUser(rootCAPath);
|
|
158
|
+
}
|
|
154
159
|
}
|
|
155
|
-
|
|
156
|
-
console.error('自动添加失败,正在打开证书文件供手动添加...');
|
|
160
|
+
else if (platform === 'win32') {
|
|
157
161
|
openCertForUser(rootCAPath);
|
|
158
162
|
}
|
|
163
|
+
else if (platform === 'linux') {
|
|
164
|
+
const certName = 'meddle-root-ca.crt';
|
|
165
|
+
const isDebian = (0, fs_1.existsSync)('/usr/local/share/ca-certificates');
|
|
166
|
+
const isRhel = (0, fs_1.existsSync)('/etc/pki/ca-trust/source/anchors');
|
|
167
|
+
try {
|
|
168
|
+
if (isDebian) {
|
|
169
|
+
const dest = `/usr/local/share/ca-certificates/${certName}`;
|
|
170
|
+
(0, child_process_1.execSync)(`sudo cp "${rootCAPath}" "${dest}" && sudo update-ca-certificates`, {
|
|
171
|
+
stdio: 'inherit'
|
|
172
|
+
});
|
|
173
|
+
console.log('根证书已成功添加到系统信任。');
|
|
174
|
+
}
|
|
175
|
+
else if (isRhel) {
|
|
176
|
+
const dest = `/etc/pki/ca-trust/source/anchors/${certName}`;
|
|
177
|
+
(0, child_process_1.execSync)(`sudo cp "${rootCAPath}" "${dest}" && sudo update-ca-trust`, {
|
|
178
|
+
stdio: 'inherit'
|
|
179
|
+
});
|
|
180
|
+
console.log('根证书已成功添加到系统信任。');
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
console.log('未识别的 Linux 发行版,请手动安装证书。');
|
|
184
|
+
openCertForUser(rootCAPath);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
console.error('自动添加失败,正在打开证书文件供手动添加...');
|
|
189
|
+
openCertForUser(rootCAPath);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
159
192
|
}
|
|
160
|
-
|
|
161
|
-
|
|
193
|
+
}
|
|
194
|
+
function checkCATrusted() {
|
|
195
|
+
const rootCAPath = crtMgr.getRootCAFilePath();
|
|
196
|
+
if (!rootCAPath)
|
|
197
|
+
return false;
|
|
198
|
+
const platform = os.platform();
|
|
199
|
+
try {
|
|
200
|
+
if (platform === 'darwin') {
|
|
201
|
+
(0, child_process_1.execSync)(`security find-certificate -c "meddle" /Library/Keychains/System.keychain`, {
|
|
202
|
+
stdio: 'pipe'
|
|
203
|
+
});
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
else if (platform === 'linux') {
|
|
207
|
+
const caBundles = [
|
|
208
|
+
'/etc/ssl/certs/ca-certificates.crt',
|
|
209
|
+
'/etc/pki/tls/certs/ca-bundle.crt',
|
|
210
|
+
];
|
|
211
|
+
for (const bundle of caBundles) {
|
|
212
|
+
if ((0, fs_1.existsSync)(bundle)) {
|
|
213
|
+
(0, child_process_1.execSync)(`openssl verify -CAfile "${bundle}" "${rootCAPath}"`, {
|
|
214
|
+
stdio: 'pipe'
|
|
215
|
+
});
|
|
216
|
+
return true;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
return false;
|
|
162
227
|
}
|
|
163
228
|
}
|
|
164
229
|
async function ensureRootCA() {
|
|
@@ -166,14 +231,7 @@ async function ensureRootCA() {
|
|
|
166
231
|
const { keyPath, crtPath } = await doGenerate(false);
|
|
167
232
|
console.log('根证书已生成:', keyPath, crtPath);
|
|
168
233
|
}
|
|
169
|
-
const isTrusted =
|
|
170
|
-
crtMgr.ifRootCATrusted((err, trusted) => {
|
|
171
|
-
if (err)
|
|
172
|
-
resolve(false);
|
|
173
|
-
else
|
|
174
|
-
resolve(trusted);
|
|
175
|
-
});
|
|
176
|
-
});
|
|
234
|
+
const isTrusted = checkCATrusted();
|
|
177
235
|
if (!isTrusted && !process.env.MEDDLE_HEADLESS && !process.env.MEDDLE_MCP) {
|
|
178
236
|
await trustRootCA();
|
|
179
237
|
}
|
package/dist/cert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert.js","sourceRoot":"","sources":["../cert.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,
|
|
1
|
+
{"version":3,"file":"cert.js","sourceRoot":"","sources":["../cert.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jonathanleelx/meddle",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "A simple development proxy server with custom routing rules, mock responses, HTTPS interception, and a plugin system",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"setup:web": "cd web && pnpm install"
|
|
31
31
|
},
|
|
32
32
|
"bin": {
|
|
33
|
-
"meddle": "bin/index"
|
|
33
|
+
"meddle": "bin/index.js"
|
|
34
34
|
},
|
|
35
35
|
"files": [
|
|
36
36
|
"bin/",
|
/package/bin/{index → index.js}
RENAMED
|
File without changes
|