Compare commits

...

5 Commits

Author SHA1 Message Date
ilike2burnthing
e3c300ee0f Update README.md
resolves #1663
2026-01-12 23:45:47 +00:00
NikoCat233
4fc4c45aac Add missing import of tarfile (#1646) 2025-12-17 18:49:48 +00:00
NikoCat233
ad1241cc36 Fix tar.gz having wrong uid/gid (#1645) 2025-12-16 18:36:01 +00:00
ngosang
440e124dd6 Update readme 2025-12-16 18:34:38 +01:00
flower
aee1df3201 Bump dependencies (#1640) 2025-12-09 12:55:38 +00:00
6 changed files with 41 additions and 16 deletions

View File

@@ -10,9 +10,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Auto Tag
- name: Auto tag
uses: Klemensas/action-autotag@stable
with:
GITHUB_TOKEN: "${{ secrets.GH_PAT }}"

View File

@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Downcase repo
run: echo REPOSITORY=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
@@ -39,7 +39,7 @@ jobs:
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
@@ -51,7 +51,7 @@ jobs:
- name: Build artifacts
run: |
python -m pip install -r requirements.txt
python -m pip install pyinstaller==6.16.0
python -m pip install pyinstaller==6.17.0
cd src
python build_package.py

View File

@@ -1,12 +1,13 @@
# FlareSolverr
[![Latest release](https://img.shields.io/github/v/release/FlareSolverr/FlareSolverr)](https://github.com/FlareSolverr/FlareSolverr/releases)
[![Docker Pulls](https://img.shields.io/docker/pulls/flaresolverr/flaresolverr)](https://hub.docker.com/r/flaresolverr/flaresolverr/)
[![Docker Pulls](https://img.shields.io/docker/pulls/flaresolverr/flaresolverr)](https://hub.docker.com/r/flaresolverr/flaresolverr)
[![Docker Stars](https://img.shields.io/docker/stars/flaresolverr/flaresolverr)](https://hub.docker.com/r/flaresolverr/flaresolverr)
[![GitHub issues](https://img.shields.io/github/issues/FlareSolverr/FlareSolverr)](https://github.com/FlareSolverr/FlareSolverr/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/FlareSolverr/FlareSolverr)](https://github.com/FlareSolverr/FlareSolverr/pulls)
[![Donate PayPal](https://img.shields.io/badge/Donate-PayPal-yellow.svg)](https://www.paypal.com/paypalme/diegoheras0xff)
[![Donate Bitcoin](https://img.shields.io/badge/Donate-Bitcoin-f7931a.svg)](https://www.blockchain.com/btc/address/13Hcv77AdnFWEUZ9qUpoPBttQsUT7q9TTh)
[![Donate Ethereum](https://img.shields.io/badge/Donate-Ethereum-8c8c8c.svg)](https://www.blockchain.com/eth/address/0x0D1549BbB00926BF3D92c1A8A58695e982f1BE2E)
[![GitHub Repo stars](https://img.shields.io/github/stars/FlareSolverr/FlareSolverr)](https://github.com/FlareSolverr/FlareSolverr)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/ngosang)
FlareSolverr is a proxy server to bypass Cloudflare and DDoS-GUARD protection.
@@ -50,7 +51,9 @@ We provide a `docker-compose.yml` configuration file. Clone this repository and
`docker-compose up -d` _(Compose V1)_ or `docker compose up -d` _(Compose V2)_ to start
the container.
If you prefer the `docker cli` execute the following command.
If you prefer the `docker cli` execute the following command:
**Bash**
```bash
docker run -d \
@@ -61,6 +64,12 @@ docker run -d \
ghcr.io/flaresolverr/flaresolverr:latest
```
**Command Prompt or Powershell**
```cmd
docker run -d --name=flaresolverr -p 8191:8191 -e LOG_LEVEL=info --restart unless-stopped ghcr.io/flaresolverr/flaresolverr:latest
```
If your host OS is Debian, make sure `libseccomp2` version is 2.5.x. You can check the version with `sudo apt-cache policy libseccomp2`
and update the package with `sudo apt install libseccomp2=2.5.1-1~bpo10+1` or `sudo apt install libseccomp2=2.5.1-1+deb11u1`.
Remember to restart the Docker daemon and the container after the update.

View File

@@ -1,14 +1,14 @@
bottle==0.13.4
waitress==3.0.2
selenium==4.38.0
selenium==4.39.0
func-timeout==4.3.5
prometheus-client==0.23.1
# Required by undetected_chromedriver
requests==2.32.5
certifi==2025.10.5
certifi==2025.11.12
websockets==15.0.1
packaging==25.0
# Only required for Linux and macOS
xvfbwrapper==0.2.15; platform_system != "Windows"
xvfbwrapper==0.2.16; platform_system != "Windows"
# Only required for Windows
pefile==2024.8.26; platform_system == "Windows"

View File

@@ -4,6 +4,7 @@ import shutil
import subprocess
import sys
import zipfile
import tarfile
import requests
@@ -87,9 +88,24 @@ def compress_package():
compr_format = 'zip' if os.name == 'nt' else 'gztar'
compr_file_name = 'flaresolverr_windows_x64' if os.name == 'nt' else 'flaresolverr_linux_x64'
compr_file_path = os.path.join(dist_folder, compr_file_name)
shutil.make_archive(compr_file_path, compr_format, package_folder)
print("Compressed file path: " + compr_file_path)
if compr_format == 'zip':
shutil.make_archive(compr_file_path, compr_format, package_folder)
print("Compressed file path: " + compr_file_path)
else:
def _reset_tarinfo(tarinfo):
tarinfo.uid = 0
tarinfo.gid = 0
tarinfo.uname = ""
tarinfo.gname = ""
return tarinfo
tar_path = compr_file_path + '.tar.gz'
with tarfile.open(tar_path, 'w:gz') as tar:
for entry in os.listdir(package_folder):
fullpath = os.path.join(package_folder, entry)
tar.add(fullpath, arcname=entry, filter=_reset_tarinfo)
print("Compressed file path: " + tar_path)
if __name__ == "__main__":
print("Building package...")