[skip ci] update readme and bug report

This commit is contained in:
Thephaseless 2024-11-26 17:56:10 +00:00
parent 79b21161e1
commit f0c2584a3e
2 changed files with 23 additions and 29 deletions

View File

@ -11,14 +11,17 @@ assignees: ''
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
**I've:** **I've:**
- [ ] - read Loop Warning on Readme. - [ ] - read Loop Warning on Readme.
- [ ] - done the troubleshooting from Readme. - [ ] - done the troubleshooting from Readme.
- [ ] - checked if such issue already exists. - [ ] - checked if such issue already exists.
**Docker host (please complete the following information):** **Docker host (please complete the following information):**
- OS: [e.g. Ubuntu Linux] - OS: [e.g. Ubuntu Linux]
- Platform and model: [Synology, PC, Laptop, RPi 3] - Platform and model: [Synology, PC, Laptop, RPi 3]
- Architecture [e.g. ARM64] - Architecture [e.g. ARM64]
- Website: [e.g. https://nowsecure.nl]
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context about the problem here.

View File

@ -1,36 +1,27 @@
# Byparr # Byparr
An alternative to [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) as a drop-in replacement, build with [nodriver](https://github.com/ultrafunkamsterdam/nodriver) and [FastAPI](https://fastapi.tiangolo.com). An alternative to [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) as a drop-in replacement, build with [seleniumbase](https://seleniumbase.io/) and [FastAPI](https://fastapi.tiangolo.com).
> [!WARNING] > [!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. > 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 time-outing.
> [!IMPORTANT] > [!WARNING]
> Currenly, due to [bug in nodriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver/issues/1954), 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. > Support for NAS devices (like Synology) is minimal. Please report issues, but do not expect it to be fixed quickly. The only ARM device I have is a free Ampere Oracle VM, so I can only test ARM support on that.
> [!NOTE] > [!NOTE]
> Thanks to FastAPI implementation, now you can also see the API documentation at `/docs` or `/` (redirect to `/docs`) endpoints. > 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 ## Troubleshooting
1. Clone repo to the host that has the container has issues on. 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. 2. Using vscode and `SSH extention`, connect to the host and open repo in it.
4. Download `devcontainers` extention and reopen repo in container (with `CTRL + SHIFT + P` -> `Reopen in devcontainer`) 3. Download `devcontainers` extention and reopen repo in container (with `CTRL + SHIFT + P` -> `Reopen in devcontainer`)
3. Open vscode terminal (`` CTRL + ` ``) and run `./run_vnc.sh` script. 4. Forward port 6080 from devcontainer (port of noVNC server) to the host.
5. Write down the port from `Forwarded Address` in `Ports` tab in vscode (probably 5900). 5. Open `http://localhost:6080` and connect to the virtual desktop.
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. 6. Check if `chromium` works by running in VNC's terminal command `chromium --no-sandbox`.
7. Connect to the VNC server on container. 7. If chromium works, run (or debug) tests from VS Code.
8. Check if `chromium` works by running in VNC's terminal command `chromium --no-sandbox` 1. If code works, congrats! (/s) You are on your own.
9. If chromium works, run (or run debug) tests from VS Code. 2. If it does not, try another host or network, try again and create issue about the problem.
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 ## Usage
@ -39,18 +30,18 @@ I focus maily on Cloudflare, which is tested daily, any other anti-bot challenge
```yaml ```yaml
services: services:
byparr: byparr:
image: ghcr.io/thephaseless/byparr image: ghcr.io/thephaseless/byparr:latest
environment: environment:
- LOG_LEVEL=INFO # optional - LOG_LEVEL=INFO # optional
ports: ports:
- "8191:8191" # Optional if used with *arr network - "8191:8191" # Optional if needed to make make requests/check docs on host
``` ```
## Need help with / TODO ## Need help with / TODO
- [ ] Slimming container (~3GB bruh) - [x] Slimming container (only ~650 mB now!)
- [ ] Add more anti-bot challenges - [x] Add more anti-bot challenges
- [x] Add docstrings - [x] Add docstrings
- [ ] Implement versioning - [x] Implement versioning
- [ ] Proxy support - [ ] Proxy support
- [ ] Add more architectures support - [x] Add more architectures support