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 Report: Proxy tool not working #37

Open
asis85 opened this issue Dec 10, 2023 · 9 comments
Open

Bug Report: Proxy tool not working #37

asis85 opened this issue Dec 10, 2023 · 9 comments
Assignees
Labels
bug Something isn't working investigating

Comments

@asis85
Copy link

asis85 commented Dec 10, 2023

Describe The Bug:

I can get the proxy tool download and setup but when I try to open Xfinity home safari can't open the page because it couldn't establish a secure connection to the server.

To Reproduce:

  1. Install & Trust The Profile
    Launch the Settings app on your phone. Just below your name, you will find Profile Downloaded; tap it.
    If you are using an older iOS, you won't see that. Go to General, scroll down, and tap on Profiles & Device Management; then tap on NodeMITMProxyCA.
    Hit Install on the top-right of the screen. If your phone has a password, you would be asked to enter it. A confirmation dialog will pop up; hit Install again. Finally hit Done to
    On your iPhone, go to Settings, open General, and tap on About. Towards the bottom, locate and open Certificate Trust Settings.
    Enable full trust for NodeMITMProxyCA by flicking its switch. You will be prompted with a warning; just hit Continue.
  2. Configure The Proxy
    On your iPhone, go to Settings and open Wi-Fi. Hit the info button (i), for the WiFi connection you are using. This will open the configuration for your connection.
    On your WiFi connection screen, scroll to the bottom and hit Configure Proxy. This will open the proxy configuration screen.
    On the proxy configuration screen, tap on Manual to reveal additional settings. Then set the server to 192.168.254.58 and the port to 585
    Leave the Authentication switch off.

Expected behavior:

error on webpage login

Logs:

does not made a log

Config:

{
    "name": "Xfinity Home",
    "pin": "0499",
    "logLevel": 3,
    "_bridge": {
        "username": "0E:1C:AA:CB:12:01",
        "port": 48827
    },
    "platform": "XfinityHomePlatform"
}

Operating System:

Ubuntu

Node Version:

v20.10.0

NPM Version:

10.2.3

Homebridge Version:

10.2.3

Plugin Version:

3.4.1

@asis85 asis85 added the bug Something isn't working label Dec 10, 2023
@Jrpadg
Copy link

Jrpadg commented Dec 10, 2023

Thank you for posting I will watch yours for any solution…

@bloomkd46
Copy link
Owner

I had to reset my refresh token today and while my phone opened Xfinity home just fine, the plugin never detected it. It is likely related to joeferner/node-http-mitm-proxy#294 (comment)

@bloomkd46
Copy link
Owner

I have traced this back to joeferner/node-http-mitm-proxy#258

It looks like the proxy software I use is only compatible up to node 16. For now, try running this plugin with node 16.

I will add a manual method for getting the token and I will later be able to switch proxy software to one that supports node 20

@Jrpadg
Copy link

Jrpadg commented Dec 12, 2023

Thank you! Looking forward to the workaround :). Very excited to get this plugin up and running :)

@Jrpadg
Copy link

Jrpadg commented Dec 17, 2023

Hello just checking in on the instructions and app for retrieving the token.

@bloomkd46
Copy link
Owner

Someone just confirmed that they were able to get the proxy tool working on node 20, so I will do some more research.

In the meantime, here is are some informal instructions for manually getting the token:

  • download Proxyman off the App Store
  • set it up
  • Add oauth.xfinity.com to the SSL list
  • Open the Xfinity home app with Proxyman running
  • Open Proxyman, and select oauth.xfinity.com from the list, then look for a POST request like oauth.xfinity.com/token (I don’t remember what it is exactly, it will be the only post request)
  • Go to the response tab
  • Look for a field in the json that is refreshToken
  • There is your token

Let me know if you have any further questions. These instructions are not complete yet, but they should work temporarily

@Jrpadg
Copy link

Jrpadg commented Dec 19, 2023

This worked for me! I am up and running thank you!!

@asis85
Copy link
Author

asis85 commented Dec 19, 2023 via email

@bloomkd46 bloomkd46 pinned this issue Jan 16, 2024
@bloomkd46
Copy link
Owner

Exact replication of what’s happening: joeferner/node-http-mitm-proxy#280

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working investigating
Projects
None yet
Development

No branches or pull requests

3 participants