mirror of
https://github.com/FlareSolverr/FlareSolverr.git
synced 2025-12-06 09:38:49 +01:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd308f01be | ||
|
|
b5eef32615 |
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v3.3.2 (2023/08/03)
|
||||||
|
|
||||||
|
* Fix URL domain in Prometheus exporter
|
||||||
|
|
||||||
## v3.3.1 (2023/08/03)
|
## v3.3.1 (2023/08/03)
|
||||||
|
|
||||||
* Fix for Cloudflare verify checkbox
|
* Fix for Cloudflare verify checkbox
|
||||||
|
|||||||
10
Dockerfile
10
Dockerfile
@@ -62,17 +62,17 @@ ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
|||||||
CMD ["/usr/local/bin/python", "-u", "/app/flaresolverr.py"]
|
CMD ["/usr/local/bin/python", "-u", "/app/flaresolverr.py"]
|
||||||
|
|
||||||
# Local build
|
# Local build
|
||||||
# docker build -t ngosang/flaresolverr:3.3.1 .
|
# docker build -t ngosang/flaresolverr:3.3.2 .
|
||||||
# docker run -p 8191:8191 ngosang/flaresolverr:3.3.1
|
# docker run -p 8191:8191 ngosang/flaresolverr:3.3.2
|
||||||
|
|
||||||
# Multi-arch build
|
# Multi-arch build
|
||||||
# docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
# docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||||
# docker buildx create --use
|
# docker buildx create --use
|
||||||
# docker buildx build -t ngosang/flaresolverr:3.3.1 --platform linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8 .
|
# docker buildx build -t ngosang/flaresolverr:3.3.2 --platform linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8 .
|
||||||
# add --push to publish in DockerHub
|
# add --push to publish in DockerHub
|
||||||
|
|
||||||
# Test multi-arch build
|
# Test multi-arch build
|
||||||
# docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
# docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||||
# docker buildx create --use
|
# docker buildx create --use
|
||||||
# docker buildx build -t ngosang/flaresolverr:3.3.1 --platform linux/arm/v7 --load .
|
# docker buildx build -t ngosang/flaresolverr:3.3.2 --platform linux/arm/v7 --load .
|
||||||
# docker run -p 8191:8191 --platform linux/arm/v7 ngosang/flaresolverr:3.3.1
|
# docker run -p 8191:8191 --platform linux/arm/v7 ngosang/flaresolverr:3.3.2
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "flaresolverr",
|
"name": "flaresolverr",
|
||||||
"version": "3.3.1",
|
"version": "3.3.2",
|
||||||
"description": "Proxy server to bypass Cloudflare protection",
|
"description": "Proxy server to bypass Cloudflare protection",
|
||||||
"author": "Diego Heras (ngosang / ngosang@hotmail.es)",
|
"author": "Diego Heras (ngosang / ngosang@hotmail.es)",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
|
||||||
from dtos import V1ResponseBase
|
from bottle import request
|
||||||
|
from dtos import V1RequestBase, V1ResponseBase
|
||||||
from metrics import start_metrics_http_server, REQUEST_COUNTER, REQUEST_DURATION
|
from metrics import start_metrics_http_server, REQUEST_COUNTER, REQUEST_DURATION
|
||||||
|
|
||||||
PROMETHEUS_ENABLED = os.environ.get('PROMETHEUS_ENABLED', 'false').lower() == 'true'
|
PROMETHEUS_ENABLED = os.environ.get('PROMETHEUS_ENABLED', 'false').lower() == 'true'
|
||||||
@@ -39,8 +40,12 @@ def prometheus_plugin(callback):
|
|||||||
|
|
||||||
domain = "unknown"
|
domain = "unknown"
|
||||||
if res.solution and res.solution.url:
|
if res.solution and res.solution.url:
|
||||||
parsed_url = urllib.parse.urlparse(res.solution.url)
|
domain = parse_domain_url(res.solution.url)
|
||||||
domain = parsed_url.hostname
|
else:
|
||||||
|
# timeout error
|
||||||
|
req = V1RequestBase(request.json)
|
||||||
|
if req.url:
|
||||||
|
domain = parse_domain_url(req.url)
|
||||||
|
|
||||||
run_time = (res.endTimestamp - res.startTimestamp) / 1000
|
run_time = (res.endTimestamp - res.startTimestamp) / 1000
|
||||||
REQUEST_DURATION.labels(domain=domain).observe(run_time)
|
REQUEST_DURATION.labels(domain=domain).observe(run_time)
|
||||||
@@ -54,4 +59,8 @@ def prometheus_plugin(callback):
|
|||||||
result = "error"
|
result = "error"
|
||||||
REQUEST_COUNTER.labels(domain=domain, result=result).inc()
|
REQUEST_COUNTER.labels(domain=domain, result=result).inc()
|
||||||
|
|
||||||
|
def parse_domain_url(url):
|
||||||
|
parsed_url = urllib.parse.urlparse(url)
|
||||||
|
return parsed_url.hostname
|
||||||
|
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|||||||
Reference in New Issue
Block a user