Recommended Posts

So, if like me you've got BT's internet and have to use an echolife HG612 gateway and also run a server, you want your DNS to always be pointing to your IP even if it changes (Despite having a UPS, sometimes the line here drops for no reason and the IP changes).

So, I thought the ideal solution would be to just get the IP direct from the gateway itself! Now, I've reflashed my gateway to the stock echolife firmware so I have access to the web interface panel which this needs! Also note that it does some pretty lame output with the headers too. Anyway, this WILL need to be modified to work with your gateway I think, it works for mine with the specified WAN interface name!

Anyway, this in in PHP and uses CURL (I dislike CURL immensly but for some reason it wasn't liking my fsockopen and kept returning a piece of javascript code)

<?PHP
/*
	   Echolife WAN IP Retriever
	   Version 0.5
	   Created by n_K, 2012
	   Modify and use this script how you please.
*/
function DoCurl($URL, $POST = null, $Cookies = null)
{
		//Get a page using CURL.
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $URL);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($curl, CURLOPT_TIMEOUT, 6);
		curl_setopt($curl, CURLOPT_USERAGENT, 'EcholifeIPUpdater/0.5 (n_K)');
		curl_setopt($curl, CURLOPT_HEADER, true);
		if (!is_null($POST))
		{
				curl_setopt($curl, CURLOPT_POST, true);
				if (strlen($POST) > 2)
				{
						curl_setopt($curl, CURLOPT_POSTFIELDS, $POST);
				}
		}
		else
		{
				curl_setopt($curl, CURLOPT_POST, false);
		}
		if (!is_null($Cookies))
		{
				curl_setopt($curl, CURLOPT_COOKIE, $Cookies);
		}

		$result = curl_exec($curl);
		curl_close($curl);
		return $result;
}

function CurlCookies($Data)
{
		//Extract cookies from received data. (MODIFIED FOR USE WITH ECHOLIFE ONLY!)
		$Matches = preg_split('/Set-cookie:(.*?);/', $Data, -1, PREG_SPLIT_DELIM_CAPTURE);
		$i = 0;
		$Cookies = '';
		while ($i < count($Matches))
		{
				if ($i%2 == 1)
				{
						//Odd number-index!
						$Cookies .= $Matches[$i].'; ';
				}
				++$i;
		}
		$Cookies = substr($Cookies, 0, strlen($Cookies)-1);
		return $Cookies;
}

//Login to the modem as unpriviledged user and get the cookies
$Login = DoCurl('http://192.168.1.1/html/login.cgi?Username='./* PUT YOUR ECHOLIFE GATEWAY LOGIN USERNAME HERE */.'&Password='.rawurlencode(base64_encode(/* PUT YOUR ECHOLIFE GATEWAY PASSWORD HERE */)).'&Language=0&RequestFile=html/status/internetstatus.gz.html', 'a', 'Cookie=LoginTimes=0:LoginOverTime=0; FirstMenu=Admin_0; SecondMenu=Admin_0_0; ThirdMenu=Admin_0_0_0; sessionID=2222224564789011; Language=English');
$Cookies = CurlCookies($Login);

//Get the internet status page
$BigData = explode("\n", DoCurl('http://192.168.1.1/html/status/internetstatus.asp', null, $Cookies));
if (count($BigData) > 3)
{
		//Looks like we have some data to parse!
		foreach ($BigData as $ThisLine)
		{
				/* CHANGE YOUR GATEWAY INTERFACE BELOW TO WHAT IS DISPLAYED ON WAN PAGE 'WanPPP2' IN MY CASE */
				if (substr($ThisLine, 0, 14) == 'var WanPPP2 = ')
				{
						//We have it!
						$Data = $ThisLine;
						break;
				}
		}

		if (strlen($Data) > 5)
		{
				//Got it!
				/* CHANGE YOUR GATEWAY INTERFACE BELOW TO WHAT IS DISPLAYED ON WAN PAGE 'ptm1.101' IN MY CASE */
				$Data = explode(',', explode('ptm1.101",', $Data)[1]);
				/*
						0 = connected/not
						1 = IP
						2 = DNS servers
						3 = ?
						4 = ?
				*/
				if ($Data[0] == '"Connected"')
				{
						//Yay! We've got the IP!
						$IP = substr($Data[1], 1, (strlen($Data[1])-2));
						if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $IP, $BB) > 0)
						{
								//IP is in right format too!

/* PUT YOUR IP UPDATING/USING CODE HERE! */
						}
						else
						{
								//No valid IP found
						}
				}
				else
				{
						//Error, no connection!
				}
		}
		else
		{
				//Couldn't find WAN interface
		}
}
else
{
		//No data returned
}
?>

So there you go, maybe it'll be of use to someone!

Link to comment
https://www.neowin.net/forum/topic/1108769-getting-echolife-gateway-ip/
Share on other sites

"So, I thought the ideal solution would be to just get the IP direct from the gateway itself!"

Why is that? Why can you not just hit the update page of your dynamic dns provider from your server and have it use your source IP. This seems much more robust a solution than access your routers status page. And then you have to put in your code anyway to update your dyndns provider

/* PUT YOUR IP UPDATING/USING CODE HERE! */

Seems lot of extra steps when you could just hit the provider page and have it use the source IP your coming from as your update - this is how most of them work.

The servers have static IPs addressed as 192.168.1.x, and yes I could hit sites likes whatismyip.net and use them but there's no guarantee they're right, plus they might change the page layout/system like whatismyip.org which now has an image to stop you using it to get your IP in scripts.

Plus I don't have a dynamic IP providers, I've got 2 domains with DNS control on 123-reg (which was also a complete pain to get working via CLI).

And the last reason is that I've got multiple WAN connections, so the server that runs this script has internet out a different IP and interface than what the gateway is on so the IPs wouldn't be right anyway.

Who said anything about using whatmyip?

So your dns is hosted on 123 reg? I don't see anything on their site about adjustment of TTLs -- so even if your IP changes, what is the TTL if its anything more than a say a few minutes. Your server is going to be down for quite some time any any sort of IP change on your end. Not a optimal sort of setup at all, I would host your dns from a site that provides for dynamic updates and low ttls on the records.

No **** your servers behind your router are most likely going to have private ips -- if they were public it would be very unlikely that you were on a dynamic IP in the first place.

"so the server that runs this script has internet out a different IP and interface than what the gateway is on so the IPs wouldn't be right anyway."

Well that seems again like a pretty messed up way to do it ;) Why not just run the script on the server itself, or route the traffic to your update so it goes out the connection your servers would be accepting traffic on.

A simple http string quite often can update the IP that changes -- so for example on zoneedit with wget

wget -O - --http-user=username --http-passwd=password 'http://dynamic.zoneedit.com/auth/dynamic.html?host=www.mydomain.com'

There you go your IP is updated using the source IP you came from - run this on the server your wanting to point to, and shazam your IP would be updated. This looks a lot simpler than your convoluted method to me.

Also any dns provider that supports dynamic updates would most likely have a client you could just run on the service. zoneedit for example has clients that run on windows, linux and mac. Also have cross platform support with java, perl and python.

Seems to me your wasting a lot of time reinventing the wheel without spending a couple of minutes looking to see how it can be done easier, faster and better.

Signing up to a dyndns service would mean I'd have to move my domains and pay extra (dyndns charge more than static DNS providers).

123-reg does it pretty secure, i.e. it's SSL ONLY and it's all ajax so you've got to go through a lot of tosh to get various pieces of information you need to change things.

Short TTL is crap anyway, get a short TTL and suddenly everywhere stops accepting your emails. Although 123-reg has TTL of 24 hours I've found if I clear my DNS cache it and retry it'll update without 10 minutes.

OK just a random problem that I found out about earlier, the refurbished PC we got had it's network card set to jumbo packets and I was wondering why hotmail just refused to load and only some pieces of data came through, very slowly, not sure if it's a hotmail issue or an issue with this modem or what but disabling jumbo frames fixed it completely, so just a warning to people :)

This topic is now closed to further replies.
  • Posts

    • You still can, its just under the Transform flyout for WordArt now
    • Likely nothing will be done in corporate America, there have been countless Tesla self-driving incidents. Then again, there have also been countless human operated incidents. It's literally daily news here in Canada, to the extent that it's now odd if we get a day where a collision doesn't get announced on the radio throughout the day...
    • SKG Hand Massager with Heat OS500 hands on by Steven Parker I was offered the chance to test out the SKG Hand Massager with Heat OS500, and full disclosure, they let me keep it regardless of my findings. Anyway, I jumped at the chance due to my long hours sitting at my desk, mousing around. Apologies for the knife cut across the top of the box; that was my doing, being a bit too heavy-handed with opening up the outer packaging. First up, what's in the box: SKG Hand Massager with Heat OS500 1x Type-C charging cable User Manual 1-Year Warranty (card) In short, everything you need to get started. According to the official Amazon listing, here are the key features: Full-Hand Air Compression: OS500 wraps your fingers, palm, and wrist with multi-chamber air compression for a complete hand relaxation experience. The extended massage chamber helps cover more of the hand and wrist area than standard palm-only hand massagers Palm Kneading with 6 Modes & 6 Intensities: Built-in palm kneading rollers add a hands-on massage feel, while 6 preset modes and 6 pressure levels let you choose the comfort level that fits your day—from gentle relaxation to a firmer full-hand massage 3 Heat Levels with Cooling Fan: Choose from 104°F, 113°F or 122°F warmth to suit different seasons and comfort preferences. The built-in cooling fan helps reduce stuffiness during heated sessions, keeping your hand feeling fresh and comfortable Easy Visual Display & Smart Timer: The digital image display clearly shows massage area, mode, intensity, heat level, and remaining time at a glance. Select 10, 15, or 20-minute sessions for quick office breaks, evening relaxation, or everyday hand care Rechargeable, Cordless & Comfortable: A 3000mAh battery supports over 90 minutes of full-function use on a full charge, with convenient USB-C charging. The soft inner lining, smooth ABS/PU finish, and premium black-gold design make OS500 ideal for home, office, or gifting With all that out of the way, here are my own findings. I gave it a try on both left and right hands, and as you can maybe see from the above YouTube Short, (sorry for the shaky video), my whole hand fits in, but my wrist barely enters the Hand Massager. I was able to push through a bit more with my fingertips extending out the other end to get a bit of massaging on the start of my wrist. Usage For some reason, there is a strap that is very difficult to fasten to my wrist with one hand. I am not sure what function it has, and it isn't mentioned in the user manual. The only thing I could find was in the product images that claimed "wrist precision". Unlike the Bob and Brad Hand Massager, this device does not massage the wrist anyway, even though a "wrist mode" is mentioned, which must be for smaller hands than I have, as it is mainly intended for the hand and fingers. In addition, for its steeper price, there are no disposable gloves provided in the box, which is a bit of an issue considering the internal cover (which appears to be elasticated nylon) cannot be removed for washing; so you are left with only one choice: always thoroughly wash your hands before using it. I can imagine this thing getting a bit grimy after a period of use, and that is a bit of a shame. With that said, the buttons on the device, from left to right, do the following: Heat button: 3-level heat control at 104°F, 113°F, or 122°F Mode button: Auto mode Circular mode Soothing mode Relax mode Palm and fingers mode Palm and wrist mode Intensity button: from (First-time users) 15Ka, 25Ka, 35Ka, 45Ka, 55Ka, 60Ka (Intensive relief) Knead button: on or off (6 pressure levels) Power button: Long-press to turn on or off Cooling button: turn on or off the cooling fan Also, in the product imagery, it states there are 36 "custom modes," but nowhere is it listed what these modes are. I can only imagine that they mean a combination of all of the above settings in different intensity levels. The device itself seems to rely on a single "kneading" mechanism located at the palm area of the hand, which spins when in use, and the other massage features are mainly utilized through the air sacs, increasing and decreasing at various levels on the hand and fingers. I am not sure it offered too much relief for someone who is typing and operating a mouse for hours at a time; further testing may be required. It does feel nice, though. Finally, you may be wondering how this fits into the scope of a tech website? Well, let me tell you something: sometimes I sit for up to 15 hours working on Neowin, and although I take breaks in between, it takes a toll on my body. I think in the immediate absence of a partner to apply relief, a good massager like this Hand Massager can shed the strains of the day in just a couple of 15-minute bursts. On the official website, this has an MSRP of $99.99, but luckily for our readers, it is selling at $10 off for just $89.99 right now on Amazon. SKG Hand Massager with Heat OS500 for $89.99 (with $10 off coupon), $99.99 MSRP For me, this gets a thumbs hands(?) down. However, it could be improved by making it so that the protective covering could be removed and thrown into the washing machine, or get yourself some disposable gloves to use with it. As an Amazon Associate, we earn from qualifying purchases.
    • Thanks for the info, but I'm still not sure if I need this....
    • We check out the SKG PS700 Neck Massager by Steven Parker I was offered the chance to test out the SKG PS700 Neck Massager, and full disclosure, they let me keep it regardless of my findings. Anyway, I jumped at the chance due to my long hours sitting at my desk; I figured it could offer some neck pain relief. What's in the box: SKG PS700-2 Neck Massager Rechargeable Battery (inside massager) Type-C USB cable User Manual Quick Start guide 1-Year Warranty In short, everything you need to get started. According to the official listing, here are the key features: Biomimetic Kneading & High Torque Motor: Designed with innovative biomimetic kneading heads that perfectly simulate the touch of human hands. Powered by a high-torque motor, this massager delivers powerful and precise deep tissue relief to effectively target stiff neck muscles and release built-up tension Soothing Heat & Integrated Sound Relaxation: Experience the ultimate Relaxationation with our dual-action approach. The soothing heat function gently warms your neck, while the built-in sound Relaxation provides calming audio tracks, helping you achieve a state of mindfulness and mental tranquility during your physical massage Cordless Convenience & Travel-Ready & Father's Day Gifts: Crafted for maximum portability and ease of use. Its lightweight, cordless design allows you to enjoy a premium massage anywhere without the hassle of tangled wires-whether you're taking a quick break at your desk or winding down at home Versatile Relief for Home & Office: An essential wellness companion for office workers, gamers, frequent travelers, or anyone looking to integrate mindfulness into their daily routine. It seamlessly fits into your lifestyle, providing instant neck relief whenever and wherever you need it Safe & Premium Materials: Manufactured with high-quality, skin-friendly materials to ensure a safe and comfortable experience without irritation. SKG backs this device with dedicated customer service, making it a thoughtful tech-health gift for family and friends App & Bluetooth Music Control: Connect via Bluetooth to control your massage settings through the dedicated app and enjoy your favorite music during your massage session for a fully customizable and immersive relaxation experience Red Light Warmth Technology: Features advanced red light warmth technology that penetrates deep into neck muscles to enhance blood circulation and provide soothing comfort while relieving muscle tension and stiffness Design With all that out of the way, here are my own findings. SKG does not say what materials are used to make the neck massager. However, on the product website, it mentions "soft-touch silicone" with what looks like PU leather cushioning, with the rest being mostly made up of plastics. On the inside of the massager, there are two "biomimetic kneading heads" that are motorized for the different styles of massage, which are not actually listed at all in the paper user manual, but the standard included modes are: De-stress mode, Mediation mode, Relax mode, Shiatsu mode. The massager looks quite premium and is actually very comfortable to wear. This massager is small and light enough to go anywhere, as it doesn't get in the way of anything, so I was able to use it in the chair while writing this review. Unlike the back massager, SKG does not warn in the user guide not to use it for more than 30 minutes a day (or two 15-minute sessions). However, there is a long laundry list of important safeguards to consider before and during the use of the device, and it is warned that the neck massager is not waterproof. It also includes a 1,400mAh battery with a rated power of 14W and input of 5V, which is the standard for up to USB 3.0 power (although the Amperage is not mentioned at all). SKG does not say how long it takes to charge, but a quick calculation at 2A (if that is what it is) would mean it would take roughly 1.5 hrs to charge from empty. In any case, the light around the button changes from orange to green on a full charge. In addition, it is not possible to use the device while it is charging. On the right of the neck massager is the On/Off and modes button, which also acts as a joystick. You can operate all the modes directly from the power button, as well as the app, which I'll get into a bit later: Push up: Short press to adjust Heat levels On/Off button: long press Mode Switching: Short press (while in operation) ➕ Push left: increase Music volume ➖ push right: decrease Music volume Push down: Short-press to turn Music on or off The massager defaults to De-stress mode, and it is not stated anywhere if the neck massager has overheat protection. This time around, regarding heat, the only detail I could find is that it has "triple action soothing heat." The temperature stages are not listed anywhere in the paper manual, Amazon listing, or official website. The heat levels can be adjusted through the app or directly on the device using the joystick button. Usage There's also the SKG Health app, which makes using the massager far easier than feeling around for the button on the side of your neck. If the app is stopped, you are required to log in with a verification code over email, which I am not too pleased with, as this means it will only work that way for however long SKG decides to support it through said app. However, I was not able to get the app to connect to the OS500, which I have reported back to my contact. Bluetooth appeared to be working on the neck massager as it became available to pair with my phone, but the SKG app failed to discover it. Before I forget, there's also a switch next to the USB charging port to deactivate and activate the Voice Prompt, which, when enabled, audibly tells the user when switching intensities, modes, or connecting to the app and informs when the massages start and are completed. That said, on to my likes and dislikes, which are listed below. What I didn't like Unable to connect the Neck Massager to the app Use through the mobile app relies on continued support from SKG What I liked Can be used without the app Cordless use Light and comfortable to wear Heat is also quite comfortable Where to buy: According to the official website, this has an MSRP of $249.99, but is currently $50 (on Amazon). To sweeten the deal a bit more, there's also an in-page coupon that knocks a further $20 off the price. SKG PS700-2 Neck Massager for $179.99 on Amazon (was $199.99) Apply the in-page $20 off coupon for the final price of $179.99 Just like the back massager, this gets a confused thumbs up (due to the cost). However, I cannot rate it through app usage as it failed to connect. As an Amazon Associate, we earn from qualifying purchases.
  • Recent Achievements

    • Dedicated
      Almohandis earned a badge
      Dedicated
    • Dedicated
      JuvenileDelinquent earned a badge
      Dedicated
    • First Post
      DrWankel earned a badge
      First Post
    • Reacting Well
      DrWankel earned a badge
      Reacting Well
    • Week One Done
      Supreme Spray LV earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      505
    2. 2
      +Edouard
      184
    3. 3
      PsYcHoKiLLa
      85
    4. 4
      Michael Scrip
      78
    5. 5
      Steven P.
      76
  • Tell a friend

    Love Neowin? Tell a friend!