0xERR0R / blocky

Fast and lightweight DNS proxy as ad-blocker for local network with many features
https://0xERR0R.github.io/blocky/
Apache License 2.0
4.8k stars 210 forks source link

"CORS or Network issue" error in browser when List refresh blocky #1606

Open sborca opened 2 months ago

sborca commented 2 months ago

Hello! I run blocky app on an lxc container on Nokia router with OpenWRT as host OS, and when I trigger a List refresh action in WEB UI I got the error("CORS or Network issue"): CORSErr

All the other API requests works perfectly. Do you know why? My config.yml file looks like this:

blocking: denylists: ads:

Thank you very much!

sborca commented 1 month ago

Hello! any answer for my question?

TheoTechnicguy commented 3 weeks ago

Hi! I am having difficulties diagnosing and reproducing your issue. Can you provide other useful information like the logs of blocky and your browser?

To help out the community, I would like to kindly request formatting your configuration file. GitHub supports Markdown, so you can delimit your configuration file with triple backticks (see https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#quoting-code)

Doing so will help us save time formatting the configuration file and allow us to invest this time resolving the issue.

The reference configuration file I used for my tests is the following. Can you confirm it reflects yours?

bootstrapDns:
- upstream: https://cloudflare-dns.com/dns-query
  ips:
  - 104.16.248.249
  - 104.16.249.249
upstreams:
  timeout: 2s
  strategy: strict
  groups:
    default:
    - tcp+udp:1.1.1.1

blocking:
  denylists:
    ads:
    - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
    - https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
    - http://sysctl.org/cameleon/hosts
    - https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
  clientGroupsBlock:
    default:
    - ads
  loading:
    refreshPeriod: 24h
    downloads:
      timeout: 60s
    strategy: fast
ports:
  dns: 1053
  http: 4000
sborca commented 4 days ago

Hello! Thank you for you answer and sorry for my late reply! So, our config.yml looks like this:

upstreams:
  init:
    strategy: fast
  groups:
    default:
      - localhost
blocking:
  denylists:
    ads:
      - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
      - https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
      - http://sysctl.org/cameleon/hosts
      - https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
  clientGroupsBlock:
    default:
      - ads
  loading:
    refreshPeriod: 24h
    downloads:
      timeout: 60s
    strategy: fast
ports:
  dns: 1053
  http: 4000

The memory resources we have on our router is limited to 120 MB, so some operations like "list refresh" may take some more time (more than 20 seconds) and the browser throws this error. In our latest tests we discovered that if we modify the value of :

writeTimeout      = 20 * time.Second

from https://github.com/0xERR0R/blocky/blob/main/server/server.go source file, the behaviour changes and the error is not thrown anymore. We set it to 600. is it possible to make this constant configurable so that we do not need to modify the source code? Thank you ! PS: attached are the logs we captured during List refresh blockyLog browserLog CORSerr