- Add CloudronManifest.json with app metadata - Create Dockerfile with multi-stage build - Install Google Chrome (Chrome for Testing) since Ubuntu Noble doesn't have chromium package - Install required Chrome dependencies (libatk, libgtk, etc.) - Add start.sh script with Xvfb setup for headless Chrome - Copy entire Chrome installation directory for proper resource access - Add .gitignore and update README with installation instructions
105 lines
3.0 KiB
Markdown
105 lines
3.0 KiB
Markdown
# cloudron-flaresolverr
|
|
|
|
Proxy server to bypass Cloudflare protection. Packaged for Cloudron.
|
|
|
|
## About FlareSolverr
|
|
|
|
FlareSolverr is a proxy server to bypass Cloudflare and DDoS-GUARD protection. It's particularly useful for applications like Radarr, Sonarr, Jackett, and other automation tools that need to access websites protected by Cloudflare.
|
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
|
|
You need to install Cloudron CLI: [Cloudron CLI Documentation](https://docs.cloudron.io/packaging/cli/)
|
|
|
|
After installation, connect the CLI to your Cloudron instance:
|
|
```bash
|
|
cloudron login <your-cloudron-domain>
|
|
```
|
|
|
|
### Build and Install
|
|
|
|
1. Build the Docker image:
|
|
```bash
|
|
docker build -t yourusername/flaresolverr:1.0.0 .
|
|
```
|
|
|
|
2. Push the image to Docker Hub (or your preferred registry):
|
|
```bash
|
|
docker push yourusername/flaresolverr:1.0.0
|
|
```
|
|
|
|
3. Install the app on Cloudron:
|
|
```bash
|
|
cloudron install --image yourusername/flaresolverr:1.0.0
|
|
```
|
|
|
|
**Note:** Make sure you're in the `cloudron-flaresolverr` directory when running this command, as Cloudron CLI needs to read the `CloudronManifest.json` file.
|
|
|
|
### Usage
|
|
|
|
After installation, FlareSolverr will be available at the URL assigned by Cloudron. The default port is 8191.
|
|
|
|
You can test the service by visiting:
|
|
- `https://your-app-url.cloudron.app/` - Shows welcome message
|
|
- `https://your-app-url.cloudron.app/health` - Health check endpoint
|
|
|
|
### Configuration
|
|
|
|
FlareSolverr can be configured using environment variables. Key environment variables include:
|
|
|
|
- `LOG_LEVEL` - Logging level (default: `info`)
|
|
- `HOST` - Host to bind to (default: `0.0.0.0`)
|
|
- `PORT` - Port to listen on (default: `8191`)
|
|
- `CAPTCHA_SOLVER` - Captcha solver service (optional)
|
|
- `PROXY_URL` - Proxy URL (optional)
|
|
- `PROXY_USERNAME` - Proxy username (optional)
|
|
- `PROXY_PASSWORD` - Proxy password (optional)
|
|
|
|
You can set these in your Cloudron app settings under "Environment Variables".
|
|
|
|
### Integration with Other Apps
|
|
|
|
To use FlareSolverr with other Cloudron apps (like Radarr, Sonarr, etc.), you'll need to:
|
|
|
|
1. Get the internal IP address of your FlareSolverr container:
|
|
```bash
|
|
docker ps
|
|
docker network inspect cloudron
|
|
```
|
|
|
|
2. Configure your application to use FlareSolverr:
|
|
- URL: `http://<flaresolverr-internal-ip>:8191`
|
|
- Or use the Cloudron internal DNS if available
|
|
|
|
### Features
|
|
|
|
- ✅ Bypass Cloudflare protection
|
|
- ✅ Bypass DDoS-GUARD protection
|
|
- ✅ Headless Chrome/Chromium support
|
|
- ✅ Automatic session management
|
|
- ✅ Health check endpoint
|
|
- ✅ Prometheus metrics support
|
|
|
|
### Troubleshooting
|
|
|
|
If you encounter issues:
|
|
|
|
1. Check the app logs:
|
|
```bash
|
|
cloudron logs -f flaresolverr
|
|
```
|
|
|
|
2. Verify Chromium is working correctly inside the container
|
|
3. Ensure proper permissions on `/app/data` directory
|
|
|
|
### References
|
|
|
|
- [FlareSolverr GitHub Repository](https://github.com/FlareSolverr/FlareSolverr)
|
|
- [Cloudron Packaging Documentation](https://docs.cloudron.io/packaging/)
|
|
- [Cloudron Packaging Tutorial](https://docs.cloudron.io/packaging/tutorial/)
|
|
|
|
## License
|
|
|
|
MIT License - see LICENSE file for details.
|