Closed ngosang closed 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 😂
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 ;)
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.
@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?
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.
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 :/
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
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.
@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 ./
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 ;)
@NoahCardoza
hcaptcha-solver
dependency and fix ARM support (using system chromium). Thanks to @Twanislas @Sebclem @xfoulouxI 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.
Sounds good! Reviewing/setting up the Docker CI right now 🥳
@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
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...
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!
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.
@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.
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.
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)
Thanks @ngosang for figuring that Docker build issue out!
v1.0.0 is now available:
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.
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
Hello, my CloudProxy container is consuming a lot after some time :
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!
@chicungunya I'm pretty sure CloudProxy integration is still under development, right @ngosang?
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.
@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.
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 💀.
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
@GautierT It's a different issue, there is a pull request fixing that issue: PR #38
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
@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.
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.
Hello,
Is it something expected or should I create an issue ? :
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.
@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.
Hello,
Is it something expected or should I create an issue ? :
Same issue here, but with YGGCookies too.
@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.
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.
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.
hcaptcha-solver
with current Docker image.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