Assembla home | Assembla project page
 

Configuring your system for remote access to the Sage Webserver

Firewalls

Normally, there will be firewalls between your Sage PC and the internet, preventing any internet users from accessing data on your PC. These firewalls could be software firewalls built into Windows XP, commercial software firewalls such as Zone Alarm, or a hardware firewall/router.

If you do not have a firewall, it is recommended that you get one to protect your computer from attacks over the internet.

To allow the sage webserver to be accessible from remote systems, you need to open a hole in your firewall to allow incomming traffic to the webserver. How to do this depends on which firewall you use.

Software Firewalls

Most software firewalls will prompt you when a process starts acting as a server, asking if you want to allow it. Otherwise, the firewall software will have a configuration page which allows you to specify which programs/ports are open.

For the webserver, you need to allow SageTV.exe or SageTVService.exe to act as a TCP server on port 8080.

For Windows XP firewall, this means: Either :

  • enabling the 'open port in Windows Firewall' install option

or the manual method:

  • start->control panel->Network Connections->Properties
  • Advanced tab;
  • Settings
  • Exceptions Tab
  • Add port... 8080

In Zone Alarm, this means:

  • Start Zone Alarm
  • Go to Program Control
  • ensure that SageTV or SageTV Service has Green Tick marks in the Server: Trusted AND Server:Internet columns (right click each item to change it)

Hardware Firewalls

For hardware firewalls/routers, these normally perform several tasks: interconnecting computers in a home network, sharing a single IP address for internet access between these computers, and acting as a firewall for these computers.

To allow the SageTV web server to be accessible from the internet, you need to tell the router to open port 8080, and tell it which computer connections to this port should be forwarded.

If your router supports Universal Plug and Play, Sage can automatically port-forward the webserver port, just like it can do for the placeshifter (See WebserverInstall, and the Sage documentation)

For manual port forwarding, how you do this depends on your router, (check the documentation) but most have an administration web interface on http://192.168.0.1/ or http://192.168.1.254/. The page is usually called port forwarding or virtual server, and you normally need to specify

  • the port number of the service: 8080
  • the IP address of the computer on the private network that you wish the incomming requests to be forwarded to.

On some routers, this may have to be a static address (ie not-auto-allocated) or a predefined DHCP address (where you configure the router to always assign a specific address to a specific machine). Check the router docs for more information.

Giving your IP address a name (DNS)

Most computers are connected to the internet via an ISP that gives them an IP address which can change from time to time. It is therefore useful to give your computer a name which will always translate to the correct IP address. This is known as Dynamic DNS

Several companies provide this for free. (http://dyndns.org; http://no-ip.com; others)

  • you need to register with the service
  • create yourself a domain name (such as name.no-ip.com)
  • and then get your computer to update the IP address associated with this domain name.

If your IP address rarely changes, you may want to do these updates manually, but for frequently changing IP addresses, there are many pieces of software that can do this IP address updating automatically -- these are sometimes known as update clients and both dyndns.org and no-ip.com have lists of these clients.

Some hardware routers/firewalls have dynamic dns update clients built into them.

Once you have registered a domain name such as xyz.dyndns.org, or xyz.no-ip.info, and have opened your port in the firewall, you should be able to access your system remotely using: http://xyz.no-ip.info/sage/Home (obviously change the actual domain name to whatever you registered).

Testing

Once you have created your domain name and opened your firewall, you might want to test to see if the internet can reach your webserver...

There are several possible ways of doing this.

One is via on-line firewall testing tools -- here are a couple of options

  • AuditMyPc's firewall test is quite good -- conect to the page from inside your LAN, or from your Sage PC, in the 'advanced test' box enter the webserver port (8080 by default) and hit Go. The returned page should report that
    The following ports have been reported open!
  • grc.com's ShieldsUp?!:
    • Go to www.grc.com
    • Select ShieldsUp? from the menu
    • Proceed
    • Enter 8080 in the textbox
    • Select User Specified Custom Port Probe
    • If is listed as Open, then incoming connections are being accepted by your computer on this port (it shows it as a Failure of your firewall)

(Warning, GRC.com is difficult to navigate and full of shrill panic-inducing warnings!

Another way of testing is via web-proxies: if you make a request to access your home system via the public IP address (eg http://my_system_address:8080/) it will test whether your system is accessible from the internet:

  • http://www.spysurfing.com/ -- very good: supports user/password auth, can also be used to bypass company firewalls that block connections to port 8080
  • http://proxify.com/ -- cannot handle authentication, so simply tell it to connect back to the home page on your own system: http://my_system_address:8080/ and you should get a page returned with
    There is nothing to see here, please move along
    before being redirected to an error page.

Yet another way of testing is via web-validators such as http://validator.w3.org/ -- run a validation request on your own system: http://my_system_address:8080/, or just click the [WC3 XML] button at the bottom of each page when you access it via the internet address.

Forum threads on setting up remote access to SageTV:

Home Networking How-To's