kdoren / jambox-pi-gen

Start jamming online easily with a Raspberry Pi, an audio interface, and this free Jambox image file. Just download/burn/boot/jam. Choose from multiple jamming apps: Jamulus, SonoBus, JackTrip, JamTaba, JammerNetz or HpsJam. User interface is any web browser on same local network. Pre-built image file is available under "Releases".
BSD 3-Clause "New" or "Revised" License
75 stars 9 forks source link

urlrelay seems to expire after a couple days - can we renew? #142

Open mnopneal opened 1 year ago

mnopneal commented 1 year ago

We are running a Jambox unattended at church, and loving it.

Although, after a couple of days, we cannot access it via URLrelay.com/go.

I brought it home, and verified that the box is alive, and IF I remember the old address, I can get to it with http://192.168.1.235:6080/?..............

So, it's looking like urlrelay.com is clearing out registrations.

I guess I could force a reboot every day in Crontab, but is there something I could run instead to re-do the registration?

regards,

Neal

kdoren commented 1 year ago

@mnopneal Where are you located and who is your internet service provider?

The urlrelay.com web service deletes stale registrations after 30 days, so the problem is not likely there.

urlrelay.com is like a mailbox that lets your raspberry pi pass its local url to your browser. Urlrelay.com matches them by their external IP address. To work, this requires that:

  1. the IP address that your raspberry pi used to register, and your browser have the same external IP address. This should be the case if your raspberry pi and your browser are behind the same router, and your external IP address has not changed since last registration.
  2. Your browser can't be using a VPN or other proxy. If that's the problem, though, it would flat-out never work.
  3. The local url of the rasperry pi (IP address) has not changed. This is quite unlikely, but I have seen routers change the raspberry pi IP address (buggy netgear orbi firmware). A workaround is to assign a static DHCP lease in your router, and/or update the router firmware.

My money is on #1, your external IP address is probably changing. You can check your browser IP address at https://whatismyip.com. If you see this change, that's you're problem.

The raspberry pi should register on boot, and every 24 hours after that. The script which does this is /usr/local/bin/urlrelay.sh. You can verify that it is running with "ps aux | grep urlrelay". Even if this script somehow broke, the registration will stay active for 30 days. But the registration will be wrong for as long as 24 hours if your IP address changes. You can make it register more frequently by changing the second-to-last line from "sleep 1d" to something short like "sleep 10m".

-Kevin

mnopneal commented 1 year ago

Thanks for the reply. We are newly on AT&T fiber; the church is on Business Comcast. IP public addresses haven't changed for either one. I have turned off the reboot in crontab. I will make much more careful notes on this. I.E. get it to the point of urlrelay.com not providing an answer after a couple of days.

kdoren commented 1 year ago

@mnopneal whats your external ip? I might be able to get more insight from the urlrelay database.

What exactly are you seeing when it fails? An error message from urlrelay?

There's always a chance that the problem is not with urlrelay, but that your pi, or vnc process, is crashing. One cross check is to see if you can ssh into the pi while it's in that state.

-Kevin

mnopneal commented 1 year ago

I'm retired, so a little out of practice at keeping detailed logs:

Dec 24th: Started Jambox. Dec 25th: did urlrelay.com/go, got normal response, and Connect link worked fine. (at 192.168.1.235) Mon Dec 26 13:44:59 EST 2022: did urlrelay.com/go, and repeatedly got no response for 60 seconds, then it threw up a link for my normal Jambox at 192.168.1.176, which is upstairs and powered down at the moment.
Manually edited that browser link for .235 , and it connected fine.

So, the Jambox is running; problem appears to be that urlrelay.com/go isn't responding rationally.

My public IP is still at 108.207.234.244. I can leave things alone for a couple of days, then connect to it and invoke that update script by hand to see if it spits out any errors or makes any difference in the urlrelay response.

Thanks.

On 2022-12-25 00:06, Kevin Doren wrote:

@mnopneal [1] whats your external ip? I might be able to get more insight from the urlrelay database.

What exactly are you seeing when it fails? An error message from urlrelay?

There's always a chance that the problem is not with urlrelay, but that your pi, or vnc process, is crashing. One cross check is to see if you can ssh into the pi while it's in that state.

-Kevin

-- Reply to this email directly, view it on GitHub [2], or unsubscribe [3]. You are receiving this because you were mentioned.Message ID: @.***>

Links:

[1] https://github.com/mnopneal [2] https://github.com/kdoren/jambox-pi-gen/issues/142#issuecomment-1364627453 [3] https://github.com/notifications/unsubscribe-auth/AIGOAU5LTDIMPPJXEBEJLP3WO7I6TANCNFSM6AAAAAATGCJAFU

kdoren commented 1 year ago

@mnopneal I think that what's happening is that you have 2 jamboxes behind the same router, and both have id=1.

urlrelay works "like magic" if you have a single box on your local network (same external IP as your browser). When you go to urlrelay.com/go, there is only one place to go, and you'll be redirected there.

What you apparently have is 2 boxes with default setting of id=1. In that case urlrelay.com will redirect you to the box which registered most recently. The boxes re-register every 24 hours, so if they are both powered on, you'll get redirected to one box for x hours, then the other box for 24-x hours.

If you have more than one box, you, and your boxes, need to specify the difference. This is done in the box (by setting a different NODE_ID ( i.e. set NODE_ID=2 on one of your boxes) in the file /etc/urlrelay/urlrelay.conf, then rebooting. After that you can get into either box by specifying its ID, like "urlrelay.com/go?id=2" (or id=1),

This is described here: https://github.com/kdoren/jambox-pi-gen#urlrelay

-Kevin

mnopneal commented 1 year ago

Thanks. I'm a little skeptical, since we had these issues with the Jambox at church, with no other Jamboxen nearby, and mine is normally off, BUT in the spirit of eliminating possibilities, I have done as suggested. This time, I did the urlrelay.com/go, got normal response for .235, and Connect link worked fine. So, the 24 hours is from the anniversary of boot-up time?

kdoren commented 1 year ago

Yes, every 24 hours from boot up unless you've done something to change it.

You could be dealing with more than one problem. I.e. box crashes sometimes at church because hardware is flakey. You bring it home where another box has same id, and then things get really confusing.

Now that the id is fixed, you'll be in a position to see if there is an additional problem to debug