2024-10-27 20:14:34 +01:00
2024-10-27 20:14:34 +01:00
2024-07-24 20:41:01 +00:00
2024-10-27 18:32:06 +00:00
2024-10-27 18:46:19 +00:00
2024-07-24 17:51:01 +00:00
2024-07-25 00:38:55 +00:00
2024-10-27 18:46:19 +00:00
2024-10-19 20:35:11 +00:00
2024-10-18 15:53:36 +00:00
2024-10-27 19:13:15 +01:00
2024-10-19 20:55:03 +00:00
2024-09-13 18:04:01 +00:00
2024-10-21 13:46:26 +00:00
2024-10-18 16:33:27 +00:00
2024-10-27 20:03:07 +01:00
2024-10-19 20:35:11 +00:00

Byparr

An alternative to FlareSolverr as a drop-in replacement, build with nodriver and FastAPI.

Warning

Due to recent challenge changes, this software does not guarantee that the Cloudflare challenge will be bypassed. Cloudflare likely requires valid network traffic originating from the users public IP address to mark a connection as legitimate. While this tool may bypass the initial browser check, it does not ensure that requests will consistently pass Cloudflare's validation. More testing and data are required to understand how Cloudflare identifies connections and requests as valid. Invalid requests will result in Byparr's looping and eventually timeouting.

Important

Currenly, due to bug in nodriver, if you want to run this project ouside of prebuild container, you have to run python fix_nodriver.py after creating venv to patch the library.

Note

Thanks to FastAPI implementation, now you can also see the API documentation at /docs or / (redirect to /docs) endpoints.

Early Development

Long story short, I created it in like 3 days, so if you get any bugs/hangs etc. please report it, so both of us can enjoy unblocked websites!

I focus maily on Cloudflare, which is tested daily, any other anti-bot challenges should pass out of the box, but if any issues, please report these providers with an example website ❤️

Troubleshooting

  1. Clone repo to the host that has the container has issues on.
  2. Using vscode and SSH extention, connect to the host and open repo in it.
  3. Download devcontainers extention and reopen repo in container (with CTRL + SHIFT + P -> Reopen in devcontainer)
  4. Open vscode terminal (CTRL + `) and run ./run_vnc.sh script.
  5. Write down the port from Forwarded Address in Ports tab in vscode (probably 5900).
  6. Open https://novnc.com/noVNC/vnc.html in your pc's browser and using settings on left under websocket, set host to localhost nad port to the port you wrote down and disable encryption.
  7. Connect to the VNC server on container.
  8. Check if chromium works by running in VNC's terminal command chromium --no-sandbox
  9. If chromium works, run (or run debug) tests from VS Code.
  10. Check if everything works by observing VNC in the browser as code is being tested.
  11. If code works, congrats! (/s) You are on your own.
  12. If it does not, try another host or network and try again.

Usage

Docker Compose

services:
  byparr:
    image: ghcr.io/thephaseless/byparr
    environment:
      - LOG_LEVEL=INFO # optional
    ports:
      - "8191:8191" # Optional if used with *arr network

Need help with / TODO

  • Slimming container (~3GB bruh)
  • Add more anti-bot challenges
  • Add docstrings
  • Implement versioning
  • Proxy support
  • Add more architectures support
Description
FlareSolverr drop-in replacement with FastAPI and nodriver
Readme Apache-2.0 21 MiB
Languages
Python 87.2%
Dockerfile 12.1%
Shell 0.7%