403 error
What's Happening?
Error: Received a non-OK status code 403 when trying to use AnonymousOverflow. It seems upstream started using CloudFlare and this is causing issues
How to reproduce:
Go to any instances for example https://ao.bloat.cat/questions/799272/why-cant-one-ssl-certificate-be-used-for-multiple-machines or https://ao.maid.zone/questions/799272/why-cant-one-ssl-certificate-be-used-for-multiple-machines
I confirm this as well for my private instance. I tried the workaround mentioned https://github.com/httpjamesm/AnonymousOverflow/discussions/87 but it doesnt seem to fix the issue apart from changing the status code: Error: Received a non-OK status code 0
I'm also getting:
Error: Received a non-OK status code 403
On 4 private instances in different countries (in US, Asia, Europe).
Looks like Stack overflow doesn't want us 💔
It's most likely due to the Cloudflare challenge before loading the site. Maybe we can use FlareSolverr or similar software to bypass it...
I can access stack overflow directly on the same connection without a cloudflare challenge, so I don't think that's generally the problem.
I was able to get my instance working with FlareSolverr as @IAmChrisAMA suggested: https://ao.ngn.tf/questions/799272/why-cant-one-ssl-certificate-be-used-for-multiple-machines
Please note that I did not thoroughly test this solution, use this only as a temporary solution, here are the instructions:
- Add FlareSolverr support to AnonymousOverflow, here is my implementation
- Apply this patch to FlareSolverr
- If you are using docker, build the new images and place AnonymousOverflow and FlareSolverr in the same network so AnonymousOverflow can connect to FlareSolverr to get the solution for the cloudflare challenge
If you want an easier solution, you can temporarily use my images, here is an example compose file:
services:
anonymousoverflow:
container_name: anonymous_overflow
image: git.ngn.tf/ngn/anonymous_overflow:latest
environment:
APP_URL: "https://ao.example.com"
JWT_SIGNING_SECRET: "topsecret"
FLARESOLVER: "http://flaresolverr:8191"
THEME: "dark"
ports:
- 8080:8080
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
read_only: true
restart: unless-stopped
flaresolverr:
container_name: anonymous_overflow_flaresolverr
image: git.ngn.tf/ngn/flaresolverr:latest
environment:
LOG_LEVEL: "info"
TZ: "Europe/Berlin"
LANG: "en_US"
security_opt:
- no-new-privileges:true
restart: unless-stopped
Again, this is just a temporary solution
Also fuck cloudflare
I just realized FlareSolverr already built the docker image with the patch I mentioned: https://github.com/FlareSolverr/FlareSolverr/pull/1282
So for FlareSolverr use this image:
ghcr.io/flaresolverr/flaresolverr:pr-1282
I'm seeing the cloudflare challenge on my desktop sometimes, now, too. But if I revisit without clearing my cookies, there's no challenge the second time.
Maybe there's a way to copy a desktop cookie somewhere that it could use? Could that be simpler?
@ngn13, Thank you! Would you mind building an ARM image as well?
@goremykin i just did, let me know if it works
@ngn13, Yep, the anonymous_overflow image works. However, the flaresolverr/flaresolverr:pr-1282 image crashes. I'll take a look at it later.
@goremykin i suggest you build the image yourself or report the issue to flaresolverr project
This is what I keep getting when I try to use the docker image:
anonymous_overflow_flaresolverr | 2025-05-18 20:14:23 INFO Challenge detected. Title found: Just a moment...
anonymous_overflow_flaresolverr | 2025-05-18 20:14:31 ERROR Error: Error solving the challenge. Timeout after 12.0 seconds.
anonymous_overflow_flaresolverr | 2025-05-18 20:14:31 INFO Response in 13.563 s
anonymous_overflow_flaresolverr | 2025-05-18 20:14:31 INFO 172.18.0.2 POST http://flaresolverr:8191/v1 500 Internal Server Error
@dave0003, I had the same. The 21hsmw/flaresolverr:nodriver image is able to solve cloudflare challenge in my case, but then anonynousoverflow fails with
failed to get https://stackoverflow.com/questions/13995857/?answertab=scoredesc: failed to parse body: Time.UnmarshalJSON: input is not a JSON string[GIN]
Sorry guys, I broke the timeout, it was supposed to be 120 seconds. Now it's fixed, if you have a slower network connection and 120 seconds is not enough to solve the challenge, add the TIMEOUT environment variable to the anonymous overflow image, and specify the timeout in seconds.
note: don't forget to update the docker image before retrying
Thanks, it's working now.
Looks like the repository was deleted...? @ngn13
@hyperdefined if you are talking about git.ngn.tf/ngn/flaresolverr:latest, I already told that you should use ghcr.io/flaresolverr/flaresolverr:pr-1282 instead
I just want to say thanks for building this. Get tired of chosing 'Don't ~~fuck~~ play with me' on every single StackOverflow page I visit (plus giving them information).
Privacy is an human right.
Looks like the repository was deleted...?
@hyperdefined https://git.ngn.tf/ngn/anonymous_overflow
Original link was bad.
Also curious, @ngn13 , any chance you can elaborate on what your "personal changes" are? (Aside from the addition of flaresolverr handling, if anything else).
Either way, thank you for sharing!!
Oh, and for me, I had to change the docker-compose a bit to get this to work:
services:
anonymousoverflow:
container_name: anonymous_overflow
image: git.ngn.tf/ngn/anonymous_overflow:latest
environment:
APP_URL:https://ao.example.com
JWT_SIGNING_SECRET:topsecret
FLARESOLVER:http://anonymous_overflow_flaresolverr:8191
THEME:dark
ports:
- 8080:8080
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
read_only: true
restart: unless-stopped
flaresolverr:
container_name: anonymous_overflow_flaresolverr
image: git.ngn.tf/ngn/flaresolverr:latest
environment:
TZ:Europe/Berlin
LANG:en_US
security_opt:
- no-new-privileges:true
restart: unless-stopped
EDIT: Removed all single/double quotes and spaces in environment variable section, as they were causing some issue in my setup. Per my comment below.
Hi, Is anyone hosting a working instance that users could use ? Thanks
I just went through all of the instances on the instance list:
https://aohub.httpjames.space/
And these are the instances that are still working:
https://ao.vern.cc https://overflow.hostux.net https://ao.bloat.cat https://overflow.freedit.eu https://anonoverflow.hyperreal.coffee https://overflow.sudovanilla.org https://overflow.ducks.party https://ao.ngn.tf https://anonymousoverflow.privacyredirect.com https://soflow.nerdvpn.de https://o.iii.st https://overflow.canine.tools
Plus this new one that's not on the list, yet:
https://o.307200.xyz
@ryang3d
Also curious, @ngn13 , any chance you can elaborate on what your "personal changes" are? (Aside from the addition of flaresolverr handling, if anything else).
~besides the cia backdoor~ it's mostly dependency updates, since it's meant to be only used my personal instance i also changed the background to black (for the dark mode), if you want to see all the changes i made to the source tree just check the commits after 6f984fe7fd
at this point, i think stackoverflow will certainly stick with cloudflare, we definitely need flaresolverr support in this official repo
May just be something on my end... but this stopped working for me. Curious if @ngn13 or anybody else may have run into this before? I keep getting these failures in the AO container logs (and "Error: Request to server failed" in the GUI) when trying to use the AO service. No major changes before it stopped working, but it was working :/
failed to get https://stackoverflow.com/questions/67495344/?answertab=scoredesc: request failed: Post "": unsupported protocol scheme ""[GIN] 2025/07/07 - 07:27:35 | 500 | 4.143675391s | <public ip> | GET "/questions/67495344/how-to-execute-terminal-commands-with-python"
Even after applying the temporary solution on my server, it seems it still gives 403 even after cookie saving from the flaresolverr... does it mean the server is banned?
UPDATE: anyway solved using tailscale... overflow.seasi.dev instance should now also work again
May just be something on my end... but this stopped working for me. Curious if @ngn13 or anybody else may have run into this before?
@ryang3d unfortunately not, i've not run into this before, if you could run flaresolverr with LOG_LEVEL set to "debug", make a single request and provide the logs of the two containers, i can try to help you out
Any time I enable the LOG_LEVEL environment variable on the flaresolverr container, it just seems to crash, complaining about unknown log levels.
File "/usr/local/lib/python3.11/logging/__init__.py", line 207, in _checkLevel
raise ValueError("Unknown level: %r" % level)
ValueError: Unknown level: "'DEBUG'"
Traceback (most recent call last):
File "/app/flaresolverr.py", line 88, in <module>
logging.basicConfig(
File "/usr/local/lib/python3.11/logging/__init__.py", line 2062, in basicConfig
root.setLevel(level)
File "/usr/local/lib/python3.11/logging/__init__.py", line 1464, in setLevel
self.level = _checkLevel(level)
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/logging/__init__.py", line 207, in _checkLevel
raise ValueError("Unknown level: %r" % level)
ValueError: Unknown level: "'DEBUG'"
Also, the error from my previous comment seems to occur without any interaction with the flaresolverr container. But perhaps if I was able to enable logs, I might be proven wrong...
@ryang3d I don’t know anything about your environment and the container, but could the issue come from the fact that single quotes are part of the log level string passed to flaresolverr? Look closely:
ValueError: Unknown level: "'DEBUG'"
'DEBUG' is an unknown log level likely because the known one reads as DEBUG (without quotes).
Whoops, well that was embarrassing... But great catch! ~However this brings me back to the issue where requests are not even making it to the flaresolverr container (nothing in logs other than successful startup message, even after changing log level to debug). The only somewhat useful logs I am getting are those first ones I posted (with the "unsupported protocol scheme" message).~
Turns out Docker Compose really doesn't like quotes.... I have more than 50 containers running, but this is the first time I've run into this issue xD
After removing ALL of the single/double quotes (and spaces, just in case) from the environment variables section of my docker_compose.yml, everything is working again! Thanks for the support @ngn13!
EDIT: lol, I must be getting old or something... Thanks also to @Openstreetmapler!!