feat: proxy optional

このコミットが含まれているのは:
xiang 2023-06-05 16:00:29 +08:00
コミット fdbe20b60c
2個のファイルの変更6行の追加4行の削除

ファイルの表示

@ -65,7 +65,7 @@ router.get('/ask/stream', async (ctx) => {
app.use(router.routes());
(async () => {
await freeBrowserPool.init(process.env.POOL_SIZE || 2, process.env.DEBUG === '1');
await freeBrowserPool.init(+(process.env.POOL_SIZE || 2), process.env.DEBUG === '1');
const server = app.listen(3000, () => {
console.log("Now listening: 127.0.0.1:3000");
});

ファイルの表示

@ -2,7 +2,6 @@ import puppeteer, {Browser, Page, PuppeteerLaunchOptions} from "puppeteer";
import fs from 'fs';
import path from "path";
import run from "node:test";
import {randomUUID} from "crypto";
import {v4} from "uuid";
const runPath = path.join(__dirname, 'run');
@ -56,7 +55,7 @@ class FreeBrowserPool {
this.pool = [];
}
public async init(size: number,debug:boolean) {
public async init(size: number, debug: boolean) {
this.debug = debug;
console.log(`browser pool init size:${size}`)
if (!fs.existsSync(runPath)) {
@ -75,8 +74,11 @@ class FreeBrowserPool {
private async newBrowser(): Promise<FreeBrowser> {
const options: PuppeteerLaunchOptions = {
headless: this.debug ? false : 'new',
args: ['--no-sandbox',`--proxy-server=${process.env.http_proxy}`]
args: ['--no-sandbox']
};
if (process.env.http_proxy) {
options.args?.push(`--proxy-server=${process.env.http_proxy}`);
}
const browser = new FreeBrowser(v4(), options);
await browser.init();
return browser;