<div dir="ltr">HI all,<div><br></div><div>if you are running a web server you can use this to replace the <a href="http://checkip.dyndns.com">http://checkip.dyndns.com</a> suggested by Edgar (Hi Edgar!):</div><div><br></div><div><div><?php</div><div>$ip = getenv('HTTP_CLIENT_IP')?:</div><div>getenv('HTTP_X_FORWARDED_FOR')?:</div><div>getenv('HTTP_X_FORWARDED')?:</div><div>getenv('HTTP_FORWARDED_FOR')?:</div><div>getenv('HTTP_FORWARDED')?:</div><div>getenv('REMOTE_ADDR');</div><div>echo trim($ip);?></div></div><div> </div><div>This does a pretty good job of reporting back the IP address of a connection from php.  I was using <a href="https://api.ipify.org/">https://api.ipify.org/</a> but a number of companies wrongly reported that as a virus and blocked it.  Having your own code make it easier to get people to allow the connection especially if they are adjusting proxy servers for your server addresses anyway.  </div><div><br></div><div>I use the client IP address to calculate the distance from the client connecting to each server so that I can select the closest one and reduce latency.  </div><div><br></div><div>All the best,</div><div><br></div><div>Ron Teitelbaum</div><div><a href="http://www.3dicc.com">www.3dicc.com</a> </div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Sat, Mar 4, 2017 at 3:21 PM Edgar De Cleene <<a href="mailto:edgardec2005@gmail.com">edgardec2005@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg">YES<div class="gmail_msg">You could know your local and internet Ip</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I have this in Work (PasteUpMorph)</div><div class="gmail_msg"><div class="gmail_msg">reportPublicIP</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">      </span>"Report the public IP of this computer</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap"> </span>World reportPublicIP."</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>| addrString m s <span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">      </span>stream |</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">    </span>stream := HTTPSocket httpGet: '<a href="http://checkip.dyndns.com" class="gmail_msg" target="_blank">http://checkip.dyndns.com</a>'.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">      </span>stream upToAll: 'IP Address: '.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">     </span>stream := stream upTo: $<.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">       </span></div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">    </span>Socket initializeNetwork.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">   </span>addrString := stream upTo: $<.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">   </span>m := RectangleMorph new</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">             </span>color: (Color r: 0.6 g: 0.8 b: 0.6);</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">                </span>extent: 118@36;</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">             </span>borderWidth: 1.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">     </span>s := StringMorph contents: 'Public IP:'.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">    </span>s position: m position + (5@4).</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">     </span>m addMorph: s.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">      </span>s := StringMorph contents: addrString.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">      </span>s position: m position + (5@19).</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">    </span>m addMorph: s.</div><div class="gmail_msg"><span class="m_-7872573043175260211Apple-tab-span gmail_msg" style="white-space:pre-wrap">      </span>self primaryHand attachMorph: m.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">For local</div><div class="gmail_msg"> Transcript show: NetNameResolver localHostAddress printString</div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Mar 4, 2017, at 14:40, Hari Balaraman <<a href="mailto:hari.balaraman@icloud.com" class="gmail_msg" target="_blank">hari.balaraman@icloud.com</a>> wrote:</div><br class="m_-7872573043175260211Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg">Hi All,<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I was wondering if there is a way to figure out the IP addresses of various network interfaces on a host machine. I've looked at some traffic on the list from a few years ago (6-7 years ago) that appeared to indicate there was no way to do this. As far as I could tell, there was a workaround using (running regularly) shell script that would write interface information to a file that could then be scooped up by the image.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I was wondering if things have changed.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I'd like an application to be aware of and be able to provide the IP address and port it is listening on for requests from the outside world (not localhost.)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Thanks in advance.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Kind regards,</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Hari</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div></div><img src="https://master.mailbutler.io/tracking/931F966D-F14D-4918-A595-E150C88C3583" align="left" width="0" height="0" style="width:0;height:0;border:0" title="" alt="" id="m_-7872573043175260211MailButlerTrackingPixel" class="gmail_msg"></div><br class="gmail_msg"></div></blockquote></div><br class="gmail_msg"></div></div></blockquote></div></div>