mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-07-03 07:47:20 +02:00
Flaresolverr update step 1
This commit is contained in:
parent
f4cb5ab46d
commit
8553291a5c
3 changed files with 83 additions and 45 deletions
|
@ -1,46 +1,51 @@
|
|||
{ pkgs, lib, stdenv, python3 }:
|
||||
with pkgs;
|
||||
{ lib, stdenv, python3, chromium, xvfb-run, xorgserver, makeWrapper, chromedriver, fetchFromGitHub, substituteAll }:
|
||||
|
||||
let
|
||||
python_env = pkgs.python3.withPackages
|
||||
(p: with p; [ bottle waitress selenium func-timeout requests websockets xvfbwrapper ]);
|
||||
|
||||
python_env = python3.withPackages
|
||||
(p: with p; [ bottle waitress selenium func-timeout requests websockets xvfbwrapper webtest certifi prometheus-client ]);
|
||||
in
|
||||
stdenv.mkDerivation
|
||||
rec {
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flaresolverr";
|
||||
version = "3.1.2";
|
||||
|
||||
version = "3.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-36ILIyMTzm9pK9aakfZHfsHWy9xHtFez8QGZuIJ04vM=";
|
||||
sha256 = "sha256-lSOw63yjFdi32N44r3A8Ggvexpov9CnaEP7fD7EBdKc=";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
buildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ chromedriver ];
|
||||
patches = [ ./flaresolverr.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/utils.py \
|
||||
--replace "CHANGEME" "${pkgs.chromedriver}/bin/chromedriver"
|
||||
'';
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./chromedriver_path.patch;
|
||||
chromedriver_path = "${chromedriver}/bin/chromedriver";
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share
|
||||
cp -r . $out/share
|
||||
|
||||
cp -r src $out/share/flaresolverr
|
||||
cp package.json $out/share/flaresolverr
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${python_env}/bin/python $out/bin/flaresolverr \
|
||||
--prefix PATH : ${lib.makeBinPath [ pkgs.chromium pkgs.xvfb-run xorg.xorgserver pkgs.chromedriver ]} \
|
||||
--add-flags $out/share/src/flaresolverr.py \
|
||||
--chdir $out/share/
|
||||
--prefix PATH : ${lib.makeBinPath [ chromium xvfb-run xorgserver chromedriver ]} \
|
||||
--add-flags $out/share/flaresolverr/flaresolverr.py \
|
||||
--chdir $out/share/flaresolverr
|
||||
'';
|
||||
|
||||
meta.platforms = [ "x86_64-linux" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Proxy server to bypass Cloudflare protection";
|
||||
homepage = "https://github.com/FlareSolverr/FlareSolverr";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ julienmalka ];
|
||||
# Flaresolverr will not run without chromedriver and xvfb-run
|
||||
platforms = lib.intersectLists chromedriver.meta.platforms xvfb-run.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue