diff options
author | Tekky <98614666+xtekky@users.noreply.github.com> | 2023-11-18 12:24:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-18 12:24:39 +0100 |
commit | 2fcb3f949bbde7f5380acc68dc6b1f938dec12bc (patch) | |
tree | 035bd400b4057a744b29a0ebee96579bfbf429f6 /g4f/Provider/npm/node_modules/funcaptcha/src/api.ts | |
parent | ~ | g4f `v-0.1.8.5` (diff) | |
parent | Add AiChatOnline, ChatgptDemoAi, ChatgptNext Providers (diff) | |
download | gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.tar gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.tar.gz gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.tar.bz2 gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.tar.lz gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.tar.xz gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.tar.zst gpt4free-2fcb3f949bbde7f5380acc68dc6b1f938dec12bc.zip |
Diffstat (limited to '')
-rw-r--r-- | g4f/Provider/npm/node_modules/funcaptcha/src/api.ts | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/g4f/Provider/npm/node_modules/funcaptcha/src/api.ts b/g4f/Provider/npm/node_modules/funcaptcha/src/api.ts deleted file mode 100644 index 6582750d..00000000 --- a/g4f/Provider/npm/node_modules/funcaptcha/src/api.ts +++ /dev/null @@ -1,85 +0,0 @@ -import request from "./http"; -import util from "./util"; - -export interface GetTokenOptions { - pkey: string; - // Service URL - surl?: string; - data?: { [key: string]: string }; - headers?: { [key: string]: string }; - site?: string; - // Page URL - location?: string; - proxy?: string; - language?: string; -} - -export interface GetTokenResult { - challenge_url: string; - challenge_url_cdn: string; - challenge_url_cdn_sri: string; - disable_default_styling: boolean | null; - iframe_height: number | null; - iframe_width: number | null; - // Enable keyboard biometrics - kbio: boolean; - // Enable mouse biometrics - mbio: boolean; - noscript: string; - // Enable touch biometrics - tbio: boolean; - // The token for the funcaptcha. Can be used 10 times before having to get a new token. - token: string; -} - -export async function getToken( - options: GetTokenOptions -): Promise<GetTokenResult> { - options = { - surl: "https://client-api.arkoselabs.com", - data: {}, - ...options, - }; - - if (!options.headers) - options.headers = { "User-Agent": util.DEFAULT_USER_AGENT }; - else if (!Object.keys(options.headers).map(v => v.toLowerCase()).includes("user-agent")) - options.headers["User-Agent"] = util.DEFAULT_USER_AGENT; - - options.headers["Accept-Language"] = "en-US,en;q=0.9"; - options.headers["Sec-Fetch-Site"] = "same-origin"; - options.headers["Accept"] = "*/*"; - options.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8"; - options.headers["sec-fetch-mode"] = "cors" - - if (options.site) { - options.headers["Origin"] = options.surl - options.headers["Referer"] = `${options.surl}/v2/${options.pkey}/1.5.5/enforcement.fbfc14b0d793c6ef8359e0e4b4a91f67.html` - } - - let ua = options.headers[Object.keys(options.headers).find(v => v.toLowerCase() == "user-agent")] - - let res = await request( - options.surl, - { - method: "POST", - path: "/fc/gt2/public_key/" + options.pkey, - body: util.constructFormData({ - bda: util.getBda(ua, options), - public_key: options.pkey, - site: options.site ? new URL(options.site).origin : undefined, - userbrowser: ua, - capi_version: "1.5.5", - capi_mode: "inline", - style_theme: "default", - rnd: Math.random().toString(), - ...Object.fromEntries(Object.keys(options.data).map(v => ["data[" + v + "]", options.data[v]])), - language: options.language || "en", - }), - headers: options.headers, - }, - options.proxy - ); - - return JSON.parse(res.body.toString()); -} |