Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Move away from using example.com for connectivity test #2326

Open
khantzawhein opened this issue Jan 15, 2025 · 6 comments
Open

[Bug]: Move away from using example.com for connectivity test #2326

khantzawhein opened this issue Jan 15, 2025 · 6 comments
Assignees
Labels
bug Something is broken, we are tracking it

Comments

@khantzawhein
Copy link
Contributor

khantzawhein commented Jan 15, 2025

Application

Outline Client

Describe the bug

The domain used to test the connection "example.com" is down and subsequently Outline is also down.

The example.com has become a single point of failure for Outline. And most importantly, example.com is not intended to be used in production usage. (https://www.iana.org/help/example-domains).

By the time I posted this issue here, that domain has been unstable for at least past 1 hour. (Up and down frequently)

Please take this opportunity to fix this issue in future.

image image

Steps to reproduce

  1. Open App
  2. Connect
  3. Example.com is down
  4. Get i/o timeout error

What did you expect to happen?

Normally Connect

What actually happened?

Getting VPNStartFailure or i/o timeout error

Outline Version

All

What operation system are you using?

Android, iOS, Linux, macOS, Windows

Operating System Version

All Clients

Screenshots and Videos

See Comments

@khantzawhein khantzawhein added the bug Something is broken, we are tracking it label Jan 15, 2025
@khantzawhein
Copy link
Contributor Author

khantzawhein commented Jan 15, 2025

Usage in Outline's code "connectivity.go"

image

@khantzawhein
Copy link
Contributor Author

image

@khantzawhein
Copy link
Contributor Author

image

This is code in newer version

@sbruens sbruens changed the title [Bug]: Urgent: Example.com is down and Outline is also broken!!! [Bug]: Move away from using example.com for connectivity test Jan 15, 2025
@sbruens sbruens self-assigned this Jan 15, 2025
@sbruens
Copy link
Contributor

sbruens commented Jan 16, 2025

I think each platform should specify the website(s) to use for its connectivity check, rather than have a long central list that all platforms share. It would align the connectivity check more with the platform the app is running on.

In other words, the callers of CheckTCPAndUDPConnectivity would pass in a list of websites to check in parallel and allow us to tweak the lists per platform.

Originally posted by @sbruens in #2328 (comment)

@sbruens
Copy link
Contributor

sbruens commented Jan 16, 2025

For posterity, there are some more relevant comments in #2328.

@khantzawhein
Copy link
Contributor Author

khantzawhein commented Jan 16, 2025

Let me add some points to consider when choosing urls for connectivity tests, as I commented in #2328.

  • The latency when connected from multiple region across the world. Because that connection check will block the VPN connection until it’s completed.
  • Reachability from servers all over the world (especially from most censored countries like Iran, China, Russia etc.)
  • Support http (port 80) without forcing https, which can cost unnecessary TCP handshake overheads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken, we are tracking it
Projects
None yet
Development

No branches or pull requests

2 participants