mirror of
https://github.com/FlareSolverr/FlareSolverr.git
synced 2025-06-08 04:25:25 +00:00
Fix TypeScript compilation and bump minor version
This commit is contained in:
parent
ff6cb05ac6
commit
f653d154f2
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "flaresolverr",
|
||||
"version": "1.1.2",
|
||||
"version": "1.1.3",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "flaresolverr",
|
||||
"version": "1.1.2",
|
||||
"version": "1.1.3",
|
||||
"description": "Proxy server to bypass Cloudflare protection.",
|
||||
"scripts": {
|
||||
"start": "node ./dist/index.js",
|
||||
|
@ -2,9 +2,10 @@ import { v1 as UUIDv1 } from 'uuid'
|
||||
import sessions, { SessionsCacheItem } from './session'
|
||||
import { RequestContext } from './types'
|
||||
import log from './log'
|
||||
import { Browser, SetCookie, Request, Page, Headers, HttpMethod, Overrides, Cookie } from 'puppeteer'
|
||||
import { SetCookie, Request, Headers, HttpMethod, Overrides, Cookie } from 'puppeteer'
|
||||
import { TimeoutError } from 'puppeteer/Errors'
|
||||
import getCaptchaSolver, { CaptchaType } from './captcha'
|
||||
import * as Puppeteer from "puppeteer-extra/dist/puppeteer";
|
||||
|
||||
export interface BaseAPICall {
|
||||
cmd: string
|
||||
@ -70,7 +71,7 @@ type OverridesProps =
|
||||
const CHALLENGE_SELECTORS = ['#trk_jschal_js', '.ray_id', '.attack-box']
|
||||
const TOKEN_INPUT_NAMES = ['g-recaptcha-response', 'h-captcha-response']
|
||||
|
||||
async function interceptResponse(page: Page, callback: (payload: ChallengeResolutionT) => any) {
|
||||
async function interceptResponse(page: Puppeteer.Page, callback: (payload: ChallengeResolutionT) => any) {
|
||||
const client = await page.target().createCDPSession();
|
||||
await client.send('Fetch.enable', {
|
||||
patterns: [
|
||||
@ -116,7 +117,7 @@ async function interceptResponse(page: Page, callback: (payload: ChallengeResolu
|
||||
});
|
||||
}
|
||||
|
||||
async function resolveChallenge(ctx: RequestContext, { url, maxTimeout, proxy, download, returnOnlyCookies }: BaseRequestAPICall, page: Page): Promise<ChallengeResolutionT | void> {
|
||||
async function resolveChallenge(ctx: RequestContext, { url, maxTimeout, proxy, download, returnOnlyCookies }: BaseRequestAPICall, page: Puppeteer.Page): Promise<ChallengeResolutionT | void> {
|
||||
|
||||
maxTimeout = maxTimeout || 60000
|
||||
let status = 'ok'
|
||||
@ -319,7 +320,7 @@ function mergeSessionWithParams({ defaults }: SessionsCacheItem, params: BaseReq
|
||||
return copy
|
||||
}
|
||||
|
||||
async function setupPage(ctx: RequestContext, params: BaseRequestAPICall, browser: Browser): Promise<Page> {
|
||||
async function setupPage(ctx: RequestContext, params: BaseRequestAPICall, browser: Puppeteer.Browser): Promise<Puppeteer.Page> {
|
||||
const page = await browser.newPage()
|
||||
|
||||
// merge session defaults with params
|
||||
|
@ -3,10 +3,11 @@ import * as path from 'path'
|
||||
import * as fs from 'fs'
|
||||
|
||||
import puppeteer from 'puppeteer-extra'
|
||||
import { LaunchOptions, Browser, Headers, SetCookie } from 'puppeteer'
|
||||
import { LaunchOptions, Headers, SetCookie } from 'puppeteer'
|
||||
|
||||
import log from './log'
|
||||
import { deleteFolderRecursive, sleep, removeEmptyFields } from './utils'
|
||||
import * as Puppeteer from "puppeteer-extra/dist/puppeteer";
|
||||
|
||||
interface SessionPageDefaults {
|
||||
headers?: Headers
|
||||
@ -14,7 +15,7 @@ interface SessionPageDefaults {
|
||||
}
|
||||
|
||||
export interface SessionsCacheItem {
|
||||
browser: Browser
|
||||
browser: Puppeteer.Browser
|
||||
userDataDir?: string
|
||||
defaults: SessionPageDefaults
|
||||
}
|
||||
@ -77,7 +78,7 @@ export default {
|
||||
// TODO: sometimes browser instances are created and not connected to correctly.
|
||||
// how do we handle/quit those instances inside Docker?
|
||||
let launchTries = 3
|
||||
let browser;
|
||||
let browser: Puppeteer.Browser;
|
||||
|
||||
while (0 <= launchTries--) {
|
||||
try {
|
||||
@ -90,7 +91,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
if (!browser) { throw Error(`Failed to lanch browser 3 times in a row.`) }
|
||||
if (!browser) { throw Error(`Failed to launch browser 3 times in a row.`) }
|
||||
|
||||
if (cookies) {
|
||||
const page = await browser.newPage()
|
||||
@ -98,7 +99,7 @@ export default {
|
||||
}
|
||||
|
||||
sessionCache[id] = {
|
||||
browser,
|
||||
browser: browser,
|
||||
userDataDir: puppeteerOptions.userDataDir,
|
||||
defaults: removeEmptyFields({
|
||||
userAgent,
|
||||
|
Loading…
x
Reference in New Issue
Block a user