NoahCardoza / CloudProxy

Proxy server to bypass Cloudflare protection.
MIT License
536 stars 62 forks source link

Feature request: Official support in Jackett #31

Closed ngosang closed 3 years ago

ngosang commented 3 years ago

Hello, I'm the original author or https://github.com/ngosang/FlareSolverr and one of the Jackett' developers. Since I don't have time to maintain FlareSolverr I'm thinking in using this project as official Cloudflare/Captcha resolver for Jackett. I will do all development, of course, but I have some concerns. Maybe you can help us in some way.

I don't expect all of these issues to be resolved anytime soon, but we need CloudProxy to be easy to install so that we can write a short installation guide in Jackett.

Original discussion: https://github.com/Jackett/Jackett/issues/9029

NoahCardoza commented 3 years ago

At the moment I'm very busy with work, but this looks doable. I'll look into creating an offical Docker image ASAP for starters.

Any help you, or anyone else from Jackett could provide would be greatly appreciated!

While I have some experience packaging applications, I'm sure someone else could do it better 😂

Twanislas commented 3 years ago

Hi @NoahCardoza,

I see there's already a Dockerfile in your repo. Wouldn't it be super simple to just build and host the docker image directly as a GitHub package (see https://docs.github.com/en/free-pro-team@latest/actions/guides/publishing-docker-images#publishing-images-to-github-packages) ?

It could be fully automated and trigger builds as soon as you publish a release.

Hope this helps ;)

Sebclem commented 3 years ago

Hi !

If you need any help for auto build your docker image, i'm here. You can look a one of my workflow that build and push docker container to Docker Hub when i create a new release, this one is very simple: https://github.com/Sebclem/seb_git_bot/blob/master/.github/workflows/build.yml

I have another one, much more complicated that build for different Arch and also get the release tag and add it the docker image: https://github.com/Sebclem/hassio-nextcloud-backup/blob/master/.github/workflows/build_addon.yml

If you have any question i will be happy to help.

NoahCardoza commented 3 years ago

@Twanislas @Sebclem

Thanks for the support! I'll be sure to look into those links and hit you guys up if I have any questions!

On another note: @ngosang What exactly would need to change to make this project support ARM?

ngosang commented 3 years ago

I see there's already a Dockerfile in your repo. Wouldn't it be super simple to just build and host the docker image directly as a GitHub package?

If you need any help for auto build your docker image, i'm here.

Yes, it's easy but it takes some time until it works as expected. You can open a PR with the configuration files if you want to do part of the work. @Sebclem if you have experience with Docker maybe you can help to reduce the current image size. We can use a smaller base image (Alpine), install less packages, etc...

What exactly would need to change to make this project support ARM?

You need to copy the Dockerfile, use an ARM base image (FROM) and test it because some software is not available for ARM. If you want to build ARM images in your x64 laptop you have to use docker buildx. The best thing will be to configure the GitHub action to do build and upload all images for you. => https://medium.com/swlh/using-github-actions-to-build-arm-based-docker-images-413a8d498ee In this repository you have examples of Dockerfiles => https://github.com/linuxserver/docker-mylar

The thing is the official puppeteer package does not work out of the box. There is an issue downloading Chrome. In this issue you have more details and there are several solutions in the comments, even an Docker image. => https://github.com/puppeteer/puppeteer/issues/550

If you can build x64, arm32 and arm64 Docker images I can help with testing. I have the hardware to test all architectures.

xfouloux commented 3 years ago

do not forget the docker windows too =) ! using azure pipelines/git actions or appveyor or something else ? I think there is some ppl using it on windows too.

Also i'm trying to reduce the docker image size, using

PUPPETEER_PRODUCT=chrome npm install --production=true
npm prune --production

but it seems that do not work afterwards because in package.json

  "devDependencies": {
    "@types/node": "^14.0.23",
    "@types/puppeteer": "^3.0.1",
    "@types/uuid": "^8.0.0",
    "eslint": "^7.5.0",
    "eslint-config-airbnb-base": "^14.2.0",
    "eslint-config-standard": "^14.1.1",
    "eslint-plugin-import": "^2.22.0",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.1",
    "nodemon": "^2.0.4",
    "ts-node": "^8.10.2"
  }

and it seems it is ts-node that is used to start everything

Or can you point me out to the right direction, i don't know node/npm at all :/

xfouloux commented 3 years ago

best i can do is 891MB

# ---- Base Node ----
FROM alpine AS base
# install node
RUN apk update && apk add --no-cache nodejs-current npm chromium
# set working directory
WORKDIR /home/node/app
# copy project file
COPY package*.json ./

#
# ---- Dependencies ----
FROM base AS dependencies
# install node packages
RUN apk add findutils python2 nss freetype freetype-dev harfbuzz ca-certificates ttf-freefont yarn
RUN npm set progress=false && npm config set depth 0
#RUN npm install --only=production
# copy production node_modules aside
#RUN cp -R node_modules prod_node_modules
# install ALL node_modules, including 'devDependencies'
RUN npm install
RUN PUPPETEER_PRODUCT=chrome npm install

#
# ---- Test ----
# run linters, setup and tests
#FROM dependencies AS test
#COPY . .
#RUN  npm run lint && npm run setup && npm run test

#
# ---- Release ----
FROM base AS release
# copy production node_modules
COPY --from=dependencies /home/node/app/node_modules ./node_modules
# copy app sources
RUN mkdir src/
COPY src/ ./src/
COPY tsconfig.json .
# expose port and define CMD

ENV LOG_LEVEL=debug
ENV LOG_HTML=
ENV PORT=8191
ENV HOST=0.0.0.0
# ENV CAPTCHA_SOLVER=harvester|<more coming soon>...
# ENV HARVESTER_ENDPOINT=https://127.0.0.1:5000/token

EXPOSE 8191
CMD npm run start
Sebclem commented 3 years ago

I think windows docker does not exist, it simply use the normal image. I think docker for windows is simply a linux virtual machine that run all the docker.

Sebclem commented 3 years ago

@xfouloux You can save 5MB (is not that much :rofl:) by replacing the base image with node:12-alpine:

# ---- Base Node ----
FROM node:12-alpine AS base
# install node
RUN apk update && apk add --no-cache chromium
# set working directory
WORKDIR /home/node/app
# copy project file
COPY package*.json ./
Twanislas commented 3 years ago

You can open a PR with the configuration files if you want to do part of the work.

See https://github.com/NoahCardoza/CloudProxy/pull/32, hope it helps ;)

ngosang commented 3 years ago

@NoahCardoza

I think it's important to provide an Installer or ZIP file for Windows users. Few people uses Docker in Windows because it has a really big overhead. It can be generated with Github actions too and published in this repository. It should include at least node, but we can use the system Chrome/Chromium if it's installed.

Anyway, that is not blocking Jackett. When the PRs are merged and the Dockers are in an official registry I will do tests in all architectures and finish the support in Jackett.

NoahCardoza commented 3 years ago

Sounds good! Reviewing/setting up the Docker CI right now 🥳

ngosang commented 3 years ago

@NoahCardoza Building a Windows .exe looks really easy. This has low priority of course. => https://www.monkwhocode.com/2020/06/nodejs-bundling-your-nodejs-application.html

NoahCardoza commented 3 years ago

Oh wow that looks way simpler than I would have thought! However I'm guessing I'd need a windows machine to package that right? Maybe a GH action could take care of that?

In other news:

Anyone know why this failed?

#17 [linux/arm/v7 3/9] RUN apk add --no-cache chromium
#17 0.193 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/armv7/APKINDEX.tar.gz
#17 0.554 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/armv7/APKINDEX.tar.gz
#17 1.151 ERROR: unsatisfiable constraints:
#17 1.222   chromium (missing):
#17 1.222     required by: world[chromium]
#17 ERROR: executor failed running [/bin/sh -c apk add --no-cache chromium]: exit code: 1

#8 [linux/amd64 3/9] RUN apk add --no-cache chromium
#8 CANCELED

#26 [linux/arm64 3/9] RUN apk add --no-cache chromium
#26 0.241 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/aarch64/APKINDEX.tar.gz
#26 0.593 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/aarch64/APKINDEX.tar.gz
#26 1.227 (1/104) Installing eudev-libs (3.2.9-r3)
#26 1.282 (2/104) Installing expat (2.2.9-r1)
#26 CANCELED
------
 > [linux/arm/v7 3/9] RUN apk add --no-cache chromium:
------
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apk add --no-cache chromium]: exit code: 1
Error: buildx call failed with: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apk add --no-cache chromium]: exit code: 1

I built it just fine on my mac...

NoahCardoza commented 3 years ago

Reduce Memory usage. Memory usage when IDLE is around 130MB. It's acceptable but memory is a scarce resource in embedded systems.

Do you know how much memory it uses ATM?

Update Docker installation documentation from registry. Maybe we should split the readme into several files. Most final users are not interesting in development or internals, just installation.

Good idea, it will probably make it easier for people to find what they need as well. I'll try to get around to that soon. In the middle of a hackathon right now, but after this week I'll have much more time!

ngosang commented 3 years ago

Maybe a GH action could take care of that?

That is the idea. They have all kind of machines, GitHub is owned by Microsoft :smile:

Anyone know why this failed?

It looks like it's failing only in ARM32 because chromium is not available, I tested only ARM64. I will open a PR later with a fix.

Do you know how much memory it uses ATM?

I can test it. The easy way is to execute docker stats to see memory and CPU usage. It's not perfect but it's useful.

ngosang commented 3 years ago

@NoahCardoza #34 fixes the build issue. I think I can reduce the image a bit more. I noticed than the default log level is debug. Could you change it to info?

Do you know how much memory it uses ATM?

120MB after start and 150MB after the first request.

ngosang commented 3 years ago

36 reduces the Docker image a bit more. I think we can't go further.

I have found a big issue in the memory management. I don't care if CloudProxy/Chrome uses 100MB or 200MB of RAM but it has to be limited. If it is not, you can compromise the whole machine.

For example, if you request this URL => https://www.111111111111111111.com/ with each request the memory increases in 100MB and it's never released. Try to send the request 20 times and you are using several GB of RAM.

In my original implementation I was creating and destroying a new Chrome browser in each request for good reasons:

I think you should add a new parameter/environment var to create/destroy Chrome after each request. This should be enabled by default in Docker but it can be disabled in local npm start. I think you have to disable session requests too if this is enabled.

xfouloux commented 3 years ago

Well it also can be limited on host side (it is what i do for most of my containers, and a restart each week, but yeah in prod condition it is not a good way to restart), by using container limits on memory/cpu shares, but then you may not get your result, app can fail and such if memory cannot be allocated, as ngosang said, browser need to be fast not limited. The container i did a few days ago is running for 3 days and using up 583Mb of RAM (and i'm a heavy user) So yeah it is a concern, for other apps not using jackett i guess, but as long as jackett is the one requesting CloudProxy it shouldn't do anything fun i guess (doesn't mean it shouldn't be fixed)

NoahCardoza commented 3 years ago

Thanks @ngosang for figuring that Docker build issue out!

v1.0.0 is now available:

NoahCardoza commented 3 years ago

In my original implementation I was creating and destroying a new Chrome browser in each request for good reasons.

It's been a while since I have used CloudProxy myself, but if I'm not mistaken you can make one-off requests if you don't pass a session ID. If you just call the request.get like in the documentation, that will spawn a browser and then terminate it right after.

If that's what you are doing though, maybe I misremembered something or it's not working the way it's intended to work.

chicungunya commented 3 years ago

Please someone can help ? I try to install cloudproxy on my raspberry Pi for Jackett and YGG with docker but i'm totally a noob. Do I miss something ? https://github.com/NoahCardoza/CloudProxy/issues/30 Thanks a lot

OrpheeGT commented 3 years ago

Hello, my CloudProxy container is consuming a lot after some time :

2020-11-20 09_18_51-NAS_N54L - Synology DiskStation

2020-11-20 09_19_56-AsPowerBar

2020-11-20 09_20_18-NAS_N54L - Synology DiskStation

noahcardoza-cloudproxy.txt

NoahCardoza commented 3 years ago

Thanks for the ss/stats @OrpheeGT!

I've been busy with a hackathon this week, but I'll look into the memory stuff next week. I have a couple ideas, however, if anyone wants to poke around and submit a PR before then that would be amazing!

NoahCardoza commented 3 years ago

@chicungunya I'm pretty sure CloudProxy integration is still under development, right @ngosang?

OrpheeGT commented 3 years ago

Thanks for the ss/stats @OrpheeGT!

I've been busy with a hackathon this week, but I'll look into the memory stuff next week. I have a couple ideas, however, if anyone wants to poke around and submit a PR before then that would be amazing!

FYI I was not using sclemenceau/docker-jackett:cloudproxy but older sebclem/jackett docker image. sebclem-jackett.zip

Now I'm on sclemenceau/docker-jackett:cloudproxy docker image and your container seems stable with 90mb memory used only, and CPU idle, since the reboot this morning.

abeloin commented 3 years ago

@NoahCardoza I'm have the same issue as @OrpheeGT, my docker image is consuming more and more memory.

From what I can understand from the error it crash at line 112 in route.ts. I'm guessing since the program throw a exception at that line, sessions.destroy in browserRequest is never called.

First time playing with typescript but I'm testing this to see if it help: https://github.com/abeloin/CloudProxy/commit/dbf0c5b6c86dbf8b62147ebfc19dc081e28ebe63 https://github.com/abeloin/CloudProxy/commit/e84f36a2d19945e93e72698415fa519c343d378c (updated version)

Update 3 After running with the patch for more around 48 hours, the memory usage is still at around 38MiB at idle after 245 requests. And also forgot to mention that I was running it with the zombie process patch which resolve the second issue I was having. Submited a PR for it

Update 4 It's been 12 days running PR #40 with around 600 one-session requests and memory usage is still around 30MiB at idle.

Here's the stack trace:

Error: Execution context was destroyed, most likely because of a navigation. at rewriteError (/home/node/cloudproxy/node_modules/puppeteer/lib/ExecutionContext.js:146:23) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:93:5) at async ExecutionContext._evaluateInternal (/home/node/cloudproxy/node_modules/puppeteer/lib/ExecutionContext.js:100:61) at async ElementHandle.evaluateHandle (/home/node/cloudproxy/node_modules/puppeteer/lib/JSHandle.js:44:16) at async ElementHandle.$ (/home/node/cloudproxy/node_modules/puppeteer/lib/JSHandle.js:375:24) at async DOMWorld.$ (/home/node/cloudproxy/node_modules/puppeteer/lib/DOMWorld.js:97:23) at async resolveChallenge (/home/node/cloudproxy/dist/routes.js:51:49) at async browserRequest (/home/node/cloudproxy/dist/routes.js:221:18) at async request.get (/home/node/cloudproxy/dist/routes.js:254:9) -- ASYNC -- at ExecutionContext.<anonymous> (/home/node/cloudproxy/node_modules/puppeteer/lib/helper.js:94:19) at ElementHandle.evaluateHandle (/home/node/cloudproxy/node_modules/puppeteer/lib/JSHandle.js:44:46) at ElementHandle.<anonymous> (/home/node/cloudproxy/node_modules/puppeteer/lib/helper.js:95:27) at ElementHandle.$ (/home/node/cloudproxy/node_modules/puppeteer/lib/JSHandle.js:375:35) at ElementHandle.<anonymous> (/home/node/cloudproxy/node_modules/puppeteer/lib/helper.js:95:27) at DOMWorld.$ (/home/node/cloudproxy/node_modules/puppeteer/lib/DOMWorld.js:97:38) at async resolveChallenge (/home/node/cloudproxy/dist/routes.js:51:49) at async browserRequest (/home/node/cloudproxy/dist/routes.js:221:18) at async request.get (/home/node/cloudproxy/dist/routes.js:254:9) at async Object.Router [as default] (/home/node/cloudproxy/dist/routes.js:267:16) -- ASYNC -- at Frame.<anonymous> (/home/node/cloudproxy/node_modules/puppeteer/lib/helper.js:94:19) at Page.$ (/home/node/cloudproxy/node_modules/puppeteer/lib/Page.js:255:33) at Page.<anonymous> (/home/node/cloudproxy/node_modules/puppeteer/lib/helper.js:95:27) at resolveChallenge (/home/node/cloudproxy/dist/routes.js:51:60) at async browserRequest (/home/node/cloudproxy/dist/routes.js:221:18) at async request.get (/home/node/cloudproxy/dist/routes.js:254:9) at async Object.Router [as default] (/home/node/cloudproxy/dist/routes.js:267:16) 2020-11-21T17:05:22.011Z ERROR REQ-8 Execution context was destroyed, most likely because of a navigation.

NoahCardoza commented 3 years ago

I'll take a look into this on Monday/Tuesday, it's currently Sunday for me and I'm STILL adding the finishing touches to a hackathon project 💀.

GautierT commented 3 years ago

Hi. Thank you all for your amazing work ! Cloudproxy is generating a lot of Zombie process... It's probably the same issue as @OrpheeGT

i'm using sclemenceau/docker-jackett:cloudproxy and noahcardoza/cloudproxy:latest

seed      1420  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      1497  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      1502  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      1506  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      2343  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      2389  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      2394  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      2398  0.0  0.0      0     0 ?        Z    Nov22   0:02 [chrome] <defunct>
seed      3205  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      3237  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      3240  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      3245  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      3968  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      3979  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      3983  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      3987  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      6675  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      6687  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      6691  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      6695  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      7033  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7046  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7049  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7053  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      7242  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7254  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7258  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7263  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      7567  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7613  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7618  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7622  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed      7804  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7816  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7820  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      7824  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed      8472  0.0  0.0  14688  1040 pts/0    S+   15:50   0:00 grep Z
seed     11732  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     11744  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     11821  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     12390  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     12402  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     12405  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     12411  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     13364  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     13376  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     13420  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     13486  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     13905  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     13917  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     13921  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     13925  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     14461  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     14473  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     14477  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     14844  0.0  0.0      0     0 ?        Z    01:00   0:00 [chrome] <defunct>
seed     14909  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     14916  0.0  0.0      0     0 ?        Z    01:00   0:00 [chrome] <defunct>
seed     14921  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     14924  0.0  0.0      0     0 ?        Z    01:00   0:00 [chrome] <defunct>
seed     14925  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     14929  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     14931  0.0  0.0      0     0 ?        Z    01:00   0:01 [chrome] <defunct>
seed     15036  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15048  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15053  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15057  0.0  0.0      0     0 ?        Z    Nov22   0:03 [chrome] <defunct>
seed     15396  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15464  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15468  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15474  0.0  0.0      0     0 ?        Z    Nov22   0:02 [chrome] <defunct>
seed     15968  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15980  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15984  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     15988  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     17063  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17075  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17079  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17083  0.0  0.0      0     0 ?        Z    Nov22   0:02 [chrome] <defunct>
seed     17129  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17140  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17147  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17148  0.0  0.0      0     0 ?        Z    Nov22   0:02 [chrome] <defunct>
seed     17550  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17561  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17566  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17573  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     17616  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17629  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17633  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     17637  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     17834  0.0  0.0      0     0 ?        Z    07:02   0:00 [chrome] <defunct>
seed     17851  0.0  0.0      0     0 ?        Z    07:02   0:00 [chrome] <defunct>
seed     17862  0.0  0.0      0     0 ?        Z    07:02   0:00 [chrome] <defunct>
seed     17867  0.0  0.0      0     0 ?        Z    07:02   0:00 [chrome] <defunct>
seed     18211  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     18269  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     18276  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     18282  0.0  0.0      0     0 ?        Z    Nov22   0:02 [chrome] <defunct>
seed     19117  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     19129  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     19135  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     19139  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     20966  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     20978  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     20981  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     20985  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     22468  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     22479  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     22483  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     22487  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     23087  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     23099  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     23103  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     23107  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     23630  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     23641  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     23646  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     23652  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     25469  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25481  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25485  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25491  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25961  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25972  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25977  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     25981  0.0  0.0      0     0 ?        Z    Nov22   0:02 [chrome] <defunct>
seed     26527  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     26539  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     26543  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     26547  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     27139  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     27150  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     27154  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     27158  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     27518  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     27536  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     27580  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     27636  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     28167  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     28179  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     28184  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     28188  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     30013  0.0  0.0      0     0 ?        Z    02:00   0:00 [chrome] <defunct>
seed     30024  0.0  0.0      0     0 ?        Z    02:00   0:00 [chrome] <defunct>
seed     30029  0.0  0.0      0     0 ?        Z    02:00   0:00 [chrome] <defunct>
seed     30033  0.0  0.0      0     0 ?        Z    02:00   0:01 [chrome] <defunct>
seed     30770  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     30782  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     30786  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     30792  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     31325  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     31338  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     31341  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     31345  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     31906  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     31969  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     31974  0.0  0.0      0     0 ?        Z    Nov22   0:00 [chrome] <defunct>
seed     31982  0.0  0.0      0     0 ?        Z    Nov22   0:01 [chrome] <defunct>
seed     32442  0.0  0.0      0     0 ?        Z    04:02   0:00 [chrome] <defunct>
seed     32489  0.0  0.0      0     0 ?        Z    04:02   0:00 [chrome] <defunct>
seed     32493  0.0  0.0      0     0 ?        Z    04:02   0:00 [chrome] <defunct>
seed     32497  0.0  0.0      0     0 ?        Z    04:02   0:01 [chrome] <defunct>

if i docker restart cloudproxy they all get killed. Is this related to how jackett handles session ? or a cloudproxy issue not closing browser ?

Thanks

abeloin commented 3 years ago

@GautierT It's a different issue, there is a pull request fixing that issue: PR #38

abeloin commented 3 years ago

Maybe you already aware but it seem that Alpine dropped Arm32(Armv7) support for Chromium starting with 3.12:

https://gitlab.alpinelinux.org/alpine/aports/-/commit/3e8f3d15a917f1952e79d0cafc4ca260ab2753cf

ngosang commented 3 years ago

@NoahCardoza Just remember that we are waiting for the memory problem to be solved. I'm not in a hurry but there are many users waiting.

NoahCardoza commented 3 years ago

Unfortunately I woke up with the worst headache of my whole year yesterday and lost basically all the time I had planned to spend reviewing the existing PR's and look into the memory issue.

I've got a big project underway at work but it's due next week so after that I'll have some more downtime.

OrpheeGT commented 3 years ago

Hello,

Is it something expected or should I create an issue ? :

image

xfouloux commented 3 years ago

it is an issue, that i only get with YGGTorrent, not with YGGCookies, so i guess there is something going on there that prevents it to work as intended.

abeloin commented 3 years ago

@OrpheeGT I've opened an issue here: https://github.com/abeloin/Jackett/issues/4

My guess is something went wrong in CloudProxy, you should have look in the log.

NeZios commented 3 years ago

Hello,

Is it something expected or should I create an issue ? :

image

Same issue here, but with YGGCookies too.

abeloin commented 3 years ago

@NeZios What version are using? Because this message is now different, it give you a more precise information on what's going on. You should use yggtorrent not yggcookies.

Also starting with v0.17.50, Jackett now support it officially.

ngosang commented 3 years ago

I'm going to close this because it's already integrated in Jackett. Users can choose FlareSolverr or CloudProxy, both are working and have the same API (at the time of writing).

@NoahCardoza if you want to contribute to FlareSolverr you are welcome. I can invite you to the organization if you want. The project is open source and always will be.