diff --git a/apps/flaresolverr/3.3.21/.env.sample b/apps/flaresolverr/3.3.21/.env.sample new file mode 100644 index 00000000..9758db53 --- /dev/null +++ b/apps/flaresolverr/3.3.21/.env.sample @@ -0,0 +1,12 @@ +BROWSER_TIMEOUT=40000 +CAPTCHA_SOLVER="none" +CONTAINER_NAME="flaresolverr" +HEADLESS="true" +HOST="0.0.0.0" +LANG="none" +LOG_HTML="false" +LOG_LEVEL="info" +PANEL_APP_PORT_HTTP=40322 +PROMETHEUS_ENABLED="false" +TEST_URL="https://www.google.com" +TIME_ZONE="Asia/Shanghai" diff --git a/apps/flaresolverr/3.3.21/data.yml b/apps/flaresolverr/3.3.21/data.yml new file mode 100644 index 00000000..96c226e0 --- /dev/null +++ b/apps/flaresolverr/3.3.21/data.yml @@ -0,0 +1,102 @@ +additionalProperties: + formFields: + - default: "40322" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "info" + edit: true + envKey: LOG_LEVEL + labelEn: Log Level + labelZh: 日志级别 + required: true + type: select + values: + - label: DEBUG + value: "debug" + - label: INFO + value: "info" + - label: ERROR + value: "error" + - default: "false" + edit: true + envKey: LOG_HTML + labelEn: Log HTML + labelZh: 日志 HTML 输出 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "none" + edit: true + envKey: CAPTCHA_SOLVER + labelEn: CAPTCHA Solver + labelZh: CAPTCHA 解密器 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TIME_ZONE + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "none" + edit: true + envKey: LANG + labelEn: Language + labelZh: 语言 + required: true + type: text + - default: "true" + edit: true + envKey: HEADLESS + labelEn: Headless Mode + labelZh: 无头模式 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "40000" + edit: true + envKey: BROWSER_TIMEOUT + labelEn: Browser Timeout + labelZh: 浏览器超时时间 + required: true + type: number + - default: "https://www.google.com" + edit: true + envKey: TEST_URL + labelEn: Test URL + labelZh: 测试 URL + required: true + type: text + - default: "0.0.0.0" + edit: true + envKey: HOST + labelEn: Host + labelZh: 监听地址 + required: true + type: text + - default: "false" + edit: true + envKey: PROMETHEUS_ENABLED + labelEn: Prometheus Enabled + labelZh: 启用 Prometheus + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" diff --git a/apps/flaresolverr/3.3.21/docker-compose.yml b/apps/flaresolverr/3.3.21/docker-compose.yml new file mode 100644 index 00000000..b466b691 --- /dev/null +++ b/apps/flaresolverr/3.3.21/docker-compose.yml @@ -0,0 +1,27 @@ +services: + flaresolverr: + image: "flaresolverr/flaresolverr:v3.3.21" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + environment: + - LOG_LEVEL=${LOG_LEVEL:-info} + - LOG_HTML=${LOG_HTML:-false} + - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} + - TZ=${TIME_ZONE:-Asia/Shanghai} + - LANG=${LANG:-none} + - HEADLESS=${HEADLESS:-true} + - BROWSER_TIMEOUT=${BROWSER_TIMEOUT:-40000} + - TEST_URL=${TEST_URL:-https://www.google.com} + - PORT=${PANEL_APP_PORT_HTTP:-8191} + - HOST=${HOST:-0.0.0.0} + - PROMETHEUS_ENABLED=${PROMETHEUS_ENABLED:-false} + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/flaresolverr/README.md b/apps/flaresolverr/README.md new file mode 100644 index 00000000..04a284c6 --- /dev/null +++ b/apps/flaresolverr/README.md @@ -0,0 +1,11 @@ +# FlareSolverr + +FlareSolverr 是一个代理服务器,旨在绕过 Cloudflare 和 DDoS-GUARD 的保护机制。 + +## 工作原理 + +FlareSolverr 启动一个代理服务器,处于空闲状态,消耗极少的资源,等待用户请求。一旦收到请求,它会使用 [Selenium](https://www.selenium.dev) 配合 [undetected-chromedriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver) 启动一个浏览器(Chrome),并使用用户提供的参数打开 URL。然后,它会等待 Cloudflare 验证被解决(或者超时)。一旦解决,HTML 代码和相关的 Cookies 将会返回给用户,这些 Cookies 可以用来通过其他 HTTP 客户端绕过 Cloudflare 的保护。 + +**注意**:Web 浏览器会消耗大量内存。如果你的机器内存较少,请避免同时发送过多请求。每个请求都会启动一个新的浏览器实例。 + +FlareSolverr 还支持使用持久会话。如果使用会话,确保在使用完之后关闭会话,以节省资源。 \ No newline at end of file diff --git a/apps/flaresolverr/data.yml b/apps/flaresolverr/data.yml new file mode 100644 index 00000000..b6ab5cc5 --- /dev/null +++ b/apps/flaresolverr/data.yml @@ -0,0 +1,19 @@ +name: FlareSolverr +tags: + - 开发工具 +title: 绕过 Cloudflare 保护的代理服务器 +description: 绕过 Cloudflare 保护的代理服务器 +additionalProperties: + key: flaresolverr + name: FlareSolverr + tags: + - DevTool + shortDescZh: 绕过 Cloudflare 保护的代理服务器 + shortDescEn: Proxy server to bypass Cloudflare protection + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/FlareSolverr/FlareSolverr + github: https://github.com/FlareSolverr/FlareSolverr + document: https://github.com/FlareSolverr/FlareSolverr diff --git a/apps/flaresolverr/latest/.env.sample b/apps/flaresolverr/latest/.env.sample new file mode 100644 index 00000000..9758db53 --- /dev/null +++ b/apps/flaresolverr/latest/.env.sample @@ -0,0 +1,12 @@ +BROWSER_TIMEOUT=40000 +CAPTCHA_SOLVER="none" +CONTAINER_NAME="flaresolverr" +HEADLESS="true" +HOST="0.0.0.0" +LANG="none" +LOG_HTML="false" +LOG_LEVEL="info" +PANEL_APP_PORT_HTTP=40322 +PROMETHEUS_ENABLED="false" +TEST_URL="https://www.google.com" +TIME_ZONE="Asia/Shanghai" diff --git a/apps/flaresolverr/latest/data.yml b/apps/flaresolverr/latest/data.yml new file mode 100644 index 00000000..96c226e0 --- /dev/null +++ b/apps/flaresolverr/latest/data.yml @@ -0,0 +1,102 @@ +additionalProperties: + formFields: + - default: "40322" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "info" + edit: true + envKey: LOG_LEVEL + labelEn: Log Level + labelZh: 日志级别 + required: true + type: select + values: + - label: DEBUG + value: "debug" + - label: INFO + value: "info" + - label: ERROR + value: "error" + - default: "false" + edit: true + envKey: LOG_HTML + labelEn: Log HTML + labelZh: 日志 HTML 输出 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "none" + edit: true + envKey: CAPTCHA_SOLVER + labelEn: CAPTCHA Solver + labelZh: CAPTCHA 解密器 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TIME_ZONE + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "none" + edit: true + envKey: LANG + labelEn: Language + labelZh: 语言 + required: true + type: text + - default: "true" + edit: true + envKey: HEADLESS + labelEn: Headless Mode + labelZh: 无头模式 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "40000" + edit: true + envKey: BROWSER_TIMEOUT + labelEn: Browser Timeout + labelZh: 浏览器超时时间 + required: true + type: number + - default: "https://www.google.com" + edit: true + envKey: TEST_URL + labelEn: Test URL + labelZh: 测试 URL + required: true + type: text + - default: "0.0.0.0" + edit: true + envKey: HOST + labelEn: Host + labelZh: 监听地址 + required: true + type: text + - default: "false" + edit: true + envKey: PROMETHEUS_ENABLED + labelEn: Prometheus Enabled + labelZh: 启用 Prometheus + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" diff --git a/apps/flaresolverr/latest/docker-compose.yml b/apps/flaresolverr/latest/docker-compose.yml new file mode 100644 index 00000000..3a63c06f --- /dev/null +++ b/apps/flaresolverr/latest/docker-compose.yml @@ -0,0 +1,27 @@ +services: + flaresolverr: + image: "flaresolverr/flaresolverr:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + environment: + - LOG_LEVEL=${LOG_LEVEL:-info} + - LOG_HTML=${LOG_HTML:-false} + - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} + - TZ=${TIME_ZONE:-Asia/Shanghai} + - LANG=${LANG:-none} + - HEADLESS=${HEADLESS:-true} + - BROWSER_TIMEOUT=${BROWSER_TIMEOUT:-40000} + - TEST_URL=${TEST_URL:-https://www.google.com} + - PORT=${PANEL_APP_PORT_HTTP:-8191} + - HOST=${HOST:-0.0.0.0} + - PROMETHEUS_ENABLED=${PROMETHEUS_ENABLED:-false} + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/flaresolverr/logo.png b/apps/flaresolverr/logo.png new file mode 100644 index 00000000..9cec3e62 Binary files /dev/null and b/apps/flaresolverr/logo.png differ