diff --git a/www-apps/flaresolverr/Manifest b/www-apps/flaresolverr/Manifest new file mode 100644 index 0000000000..fb0776edca --- /dev/null +++ b/www-apps/flaresolverr/Manifest @@ -0,0 +1 @@ +DIST flaresolverr-3.4.6.tar.gz 93752 BLAKE2B 673d339c074c3e45dc089975d0a48300c2fd3e27129f463a025da99567ed47b94358db90827904b578b06195d284f52dffb37310f9d5ccd6412483e423c2418c SHA512 741fcd36f65ba086bfef6497349bff32fb08cac3976d2caebb37ef406c9d1b08150207277fef0da9eec3cc74bb6e0632063f9a366bfc62c3b44aa20255ebc775 diff --git a/www-apps/flaresolverr/files/flaresolverr.service b/www-apps/flaresolverr/files/flaresolverr.service new file mode 100644 index 0000000000..b3ba4fd498 --- /dev/null +++ b/www-apps/flaresolverr/files/flaresolverr.service @@ -0,0 +1,30 @@ +[Unit] +Description=Proxy server to bypass Cloudflare protection. +After=syslog.target network.target network-online.target + +[Service] +User=flaresolverr +Group=flaresolverr + +Type=simple +ExecStart=/usr/bin/flaresolverr +TimeoutStopSec=20 +Restart=on-failure + +PrivateTmp=yes +PrivateDevices=yes +PrivateMounts=yes +ProtectHome=yes +ProtectSystem=full +NoNewPrivileges=yes +ProtectHostname=yes +ProtectClock=yes +ProtectKernelTunables=yes +ProtectKernelModules=yes +ProtectKernelLogs=yes +ProtectControlGroups=yes +RestrictRealtime=yes + +[Install] +WantedBy=multi-user.target + diff --git a/www-apps/flaresolverr/flaresolverr-3.4.6.ebuild b/www-apps/flaresolverr/flaresolverr-3.4.6.ebuild new file mode 100644 index 0000000000..a6b516f368 --- /dev/null +++ b/www-apps/flaresolverr/flaresolverr-3.4.6.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=no +DISTUTILS_SINGLE_IMPL=1 +PYTHON_COMPAT=( python3_{12..14} ) + +inherit distutils-r1 systemd + +DESCRIPTION="Proxy server to bypass Cloudflare protection" +HOMEPAGE="https://github.com/FlareSolverr/FlareSolverr" +SRC_URI="https://github.com/FlareSolverr/FlareSolverr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/FlareSolverr-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="test" + +RDEPEND=" + acct-group/flaresolverr + acct-user/flaresolverr + + || ( + www-client/google-chrome + www-client/chromium + ) + + $(python_gen_cond_dep ' + dev-python/bottle[${PYTHON_USEDEP}] + dev-python/func-timeout[${PYTHON_USEDEP}] + dev-python/prometheus-client[${PYTHON_USEDEP}] + dev-python/selenium[${PYTHON_USEDEP}] + dev-python/waitress[${PYTHON_USEDEP}] + + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/websockets[${PYTHON_USEDEP}] + + dev-python/xvfbwrapper[${PYTHON_USEDEP}] + ') +" + +python_install() { + sed -i -e "1i#!${EPREFIX}/usr/bin/${EPYTHON}" "src/flaresolverr.py" || die + + python_moduleinto flaresolverr + python_domodule src/* package.json + + fperms +x "/usr/lib/${EPYTHON}/site-packages/${PN}/flaresolverr.py" + dosym -r "$_" "/usr/bin/flaresolverr" + + dodoc LICENSE + + systemd_newunit "${FILESDIR}/flaresolverr.service" "flaresolverr.service" +} diff --git a/www-apps/flaresolverr/metadata.xml b/www-apps/flaresolverr/metadata.xml new file mode 100644 index 0000000000..1042a6c8a9 --- /dev/null +++ b/www-apps/flaresolverr/metadata.xml @@ -0,0 +1,12 @@ + + + + + Pavel Sobolev + contact@paveloom.dev + + + https://github.com/FlareSolverr/FlareSolverr/issues + FlareSolverr/FlareSolverr + +