Skip to content

[Bug] Speedtest fails due to blocked access to icanhazip.com by DoT – Allow override or skip external IP check. #2111

@dragon-db

Description

@dragon-db

Description
The speedtest-tracker Docker application fails to perform a speed test due to an issue fetching the external IP address. The logs show the following error:

2025-03-27 17:00:02] production.ERROR: Failed to fetch external IP address. ["cURL error 60: SSL: no alternative certificate subject name matches target hostname 'icanhazip.com' (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://icanhazip.com/"]

i tried logging into docker container and manually ran ping "icanhazip.com" it went fine but when using curl "icanhazip.com" i get this error:

This website has been blocked by DoT, You are Not Authorized to Access this Web Page as Per the DoT Compliance.

This issue might be specific to India as its blocked by DoT here, and this prevents the speed test from proceeding.


To Reproduce
Steps to reproduce the behavior:

  1. Deploy speedtest-tracker using Docker Compose.
  2. Perform a speed test.
  3. Observe that no results appear.
  4. Check the Docker logs and find the mentioned error.
  5. Log into the container using docker exec -it <container_id> sh.
  6. Run curl icanhazip.com and see the access restriction message.

Expected behavior
The speed test should proceed successfully. If fetching the external IP fails, the application should either:

  • Allow overriding icanhazip.com with an alternative service using an environment variable.
  • Provide an option to skip the external IP check before running the speed test.

Possible Workarounds

  • Implement an environment flag to specify a different service for fetching the external IP.
  • Introduce a flag to skip the external IP check if it is not a critical step.

Environment:

  • OS: Ubuntu 24.04
  • Architecture: amd64
  • Browser chrome, firefox
  • Version v1.3.0

Logs

───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗

      ██║     ██╔════╝██║██╔═══██╗

      ██║     ███████╗██║██║   ██║

      ██║     ╚════██║██║██║   ██║

      ███████╗███████║██║╚██████╔╝

      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io

───────────────────────────────────────

To support the app dev(s) visit:

speedtest-tracker: https://github.com/sponsors/alexjustesen

To support LSIO projects visit:

https://www.linuxserver.io/donate/

───────────────────────────────────────

GID/UID

───────────────────────────────────────

User UID:    1000

User GID:    1000

───────────────────────────────────────

Linuxserver.io version: v1.3.0-ls84

Build-date: 2025-03-19T02:22:06+00:00

───────────────────────────────────────

    

using keys found in /config/keys

[custom-init] No custom files found, skipping...

[ls.io-init] done.

[2025-03-29 07:00:02] production.ERROR: Failed to fetch external IP address. ["cURL error 60: SSL: no alternative certificate subject name matches target hostname 'icanhazip.com' (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://icanhazip.com/"] 

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions