FEAT: custom ssl option

This commit is contained in:
iwakitakuma33
2025-05-31 12:27:06 +09:00
parent 3613596cd7
commit 4bff22d321

View File

@ -16,6 +16,7 @@ import fs from "fs";
import path from "path"; import path from "path";
// Add type imports for proxy agents // Add type imports for proxy agents
import { Agent } from "http"; import { Agent } from "http";
import { Agent as HttpsAgent } from 'https';
import { URL } from "url"; import { URL } from "url";
import { import {
@ -197,6 +198,16 @@ const USE_PIPELINE = process.env.USE_PIPELINE === "true";
// Add proxy configuration // Add proxy configuration
const HTTP_PROXY = process.env.HTTP_PROXY; const HTTP_PROXY = process.env.HTTP_PROXY;
const HTTPS_PROXY = process.env.HTTPS_PROXY; const HTTPS_PROXY = process.env.HTTPS_PROXY;
const NODE_TLS_REJECT_UNAUTHORIZED = process.env.NODE_TLS_REJECT_UNAUTHORIZED;
const GITLAB_CA_CERT_PATH = process.env.GITLAB_CA_CERT_PATH;
let sslOptions= undefined;
if (NODE_TLS_REJECT_UNAUTHORIZED === '0') {
sslOptions = { rejectUnauthorized: false };
} else if (GITLAB_CA_CERT_PATH) {
const ca = fs.readFileSync(GITLAB_CA_CERT_PATH);
sslOptions = { ca };
}
// Configure proxy agents if proxies are set // Configure proxy agents if proxies are set
let httpAgent: Agent | undefined = undefined; let httpAgent: Agent | undefined = undefined;
@ -213,9 +224,11 @@ if (HTTPS_PROXY) {
if (HTTPS_PROXY.startsWith("socks")) { if (HTTPS_PROXY.startsWith("socks")) {
httpsAgent = new SocksProxyAgent(HTTPS_PROXY); httpsAgent = new SocksProxyAgent(HTTPS_PROXY);
} else { } else {
httpsAgent = new HttpsProxyAgent(HTTPS_PROXY); httpsAgent = new HttpsProxyAgent(HTTPS_PROXY, sslOptions);
} }
} }
httpsAgent = httpsAgent || new HttpsAgent(sslOptions);
httpAgent = httpAgent || new Agent();
// Modify DEFAULT_HEADERS to include agent configuration // Modify DEFAULT_HEADERS to include agent configuration
const DEFAULT_HEADERS = { const DEFAULT_HEADERS = {