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

/statistics/ in bypass mode #1

Open
joeyh opened this issue Apr 23, 2024 · 7 comments
Open

/statistics/ in bypass mode #1

joeyh opened this issue Apr 23, 2024 · 7 comments

Comments

@joeyh
Copy link

joeyh commented Apr 23, 2024

Got this working easily with apache, congrats on doing what Starlink is unable to do!

But, /statistics/ is the main page I used this for, and it's not included. Note that I am using starlink in bypass mode, which causes the Statistics link on the main page to be dimmed out. But manually going to /statistics/ worked for me until of course they broke the whole interface. I think that simply including the page it used to serve for /statistics/ would fix this.

@joeyh
Copy link
Author

joeyh commented Apr 23, 2024

turns out that copying index.html to statistics/index.html makes dishy.starlink.com/statistics work!

@iam-TJ
Copy link
Owner

iam-TJ commented Apr 27, 2024

Hey! thanks for the links in other Reddit comments - just spotted one now. Your discovery on this is VERY interesting; it suggests that with some additional manipulation of the URL in the Javascript it should be possible! I'll do some more investigating. Nice one on this discovery. Together with my intention to replace the /speedtest link with a call-out to speed.cloudflare.com (since that supports IPv6 whereas Ookla does not) this could bring back most of the utility. The only area I've not explored but have noticed doesn't work is doing an authenticated log-in to starlink.com for account related functionality.

@iam-TJ
Copy link
Owner

iam-TJ commented Apr 27, 2024

And... we have it working! I've added an apache mod_rewrite directive to the server config and it works. I'll figure the same out for the others then push the changes here. Well done Joey!

The only problem is, the front page (/index.html) doesn't show Statistics as enabled so it cannot be clicked. Hmmph!

@iam-TJ
Copy link
Owner

iam-TJ commented Apr 27, 2024

Rewrite configuration added to apache2, nginx and lighttpd 1.4 (latter still fails since it cannot do the gRPC). Now need to investigate how to get the index page to enable its STATISTICS link.

Access via http://dishy.starlink.com/statistics

@iam-TJ
Copy link
Owner

iam-TJ commented Apr 28, 2024

@joeyh What timezone are you in and have you looked carefully at the timestamps on the graphs?

I'm in UTC+1 (U.K. - BST - British Summer Time) and at local time 10:35 the graph timestamps are -05:00 which suggests it is using EST/EDT (U.S. Eastern {Standard,Daylight} Time ).

I'd expect the data would use UTC and scripts adjust to local time via the timezone.

@iam-TJ
Copy link
Owner

iam-TJ commented Apr 30, 2024

Update on my investigations on properly enabling this. Not being a Javascript frameworks developer I'm making slow progress in reverse-engineering (my focus is Linux kernel and low-level core systems).

The web-server configuration is a temporary workaround until we figure out how to modify the code, or to generate a fake response, when the client app.bundle.web.js runs router detection logic.

Currently, it looks like that depends on calling into the router's API and on success setting reachable booleans in structures that control the REACT router and also dynamically adds/amends the browser element(s) to make them active to receive events.
I've done some trace and breakpoint debugging to follow the events and got some insights but the code is very hard to reason with due to the form with lamba functions everywhere and the loss of semantic naming.

I tried to simply fake it by having the user terminal also answer API requests aimed at router.starlink.com and although they are correctly proxied through the web-server the interfaces being called do not exist.

If we have anyone familiar with Javascript/REACT they may well get on better than I have so far.

@joeyh
Copy link
Author

joeyh commented Jun 29, 2024

The only problem is, the front page (/index.html) doesn't show Statistics as enabled so it cannot be clicked. Hmmph!

This bug is accurate to how starlink's html used to work for me in bypass mode, so it's not your bug. ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants