=============================================================================
IVSProvider plugin for WiRNS 1.x
Version 1.02 (10/05/04)
By j.m. (with large portions borrowed from kjac's defunct IVSProxy plugin)
=============================================================================
___________
Description
The IVSProvider plugin proxies requests to the RDDNS (IVS) server and allows
you to override the IP and port information it normally returns with custom
info of your own. It also caches all responses to previous lookup requests
and will returns the cached info in the case of failed RDDNS requests (e.g.
when the server is down).
Uses for this plugin include:
- Simulating loopback for those using routers that do not support it (loopback
is required in order to IVS between two ReplayTVs on the same LAN)
- Allowing two parties who are both using this plugin to use IVS even when the
RDDNS server is down by manually entering each other's ISN, IP address,
and port in the IVSProvider configuration file
- Permitting IVS transfers between two ReplayTVs that had previously
communicated via IVS (through the plugin) even when the RDDNS server is
down, provided that the IP and port information has not changed since the
time of the last communication.
Please read and acknowledge the DISCLAIMER below before installing and using
this plugin.
____________
Installation
For existing WiRNS users:
To install the plugin, place the "IVSProvider.dll" file in the "Plugins"
sub-folder within the folder containing the "WiRNS.exe" file. Place the
"micro_dns.dll" file in the folder containing the "WiRNS.exe" file,
overwriting the existing "micro_dns.dll" file.
For new WiRNS users:
It is possible to use this plugin with a very minimal installation of WiRNS.
To do so, follow this subset of the normal WiRNS installation instructions:
- Download WiRNS v1.x and unzip it to a folder
- Place the included "micro_dns.dll" file in the folder containing the
"WiRNS.exe" file, overwriting the existing "micro_dns.dll" file.
- Place the included "IVSProvider.dll" file in the "Plugins" sub-folder
- Start WiRNS by double-clicking the "StartWirns.bat" file
- Configure WiRNS by browsing to "http://127.0.0.1:8923" in your web browser
Click Configuration->WiRNS
Set "WiRNS IP" to the IP address of your PC
Set "DNS Server" to the IP address of a working DNS server
(e.g. the IP of your ISP's DNS server *or* the IP of your router)
- Close the WiRNS server by closing its console window
- Restart WiRNS by double-clicking the "StartWirns.bat" file again
- Reconfigure your ReplayTV to connect via WiRNS
Go to Menu->Setup->Network and Input Settings->Change network
Configure the ReplayTV to use a static (manual) IP
Set DNS1 to the "WiRNS IP" you specified above, leaving DNS2 blank.
Alternatively, if you want the ReplayTV to use WiRNS only if it is
running, set DNS2 to your normal DNS IP. If the ReplayTV fails
when contacting DNS1 (e.g. WiRNS isn't unning), then it will fall
back upon DNS2, which should work if you entered the IP of a
working DNS server.
For users of WiRNS v0.7a: This version of the IVSProvider plugin is backwards
compatible with WiRNS v0.7a. However, installation and usage is a little
different with the earlier version of WiRNS. Please read the included
"LEGACY.TXT" file (in addition to this README) for details.
_____
Usage
To return custom IP/port information for a given ISN, create a file named
"IVSProvider.conf" in the folder containing the "WiRNS.exe" file (NOT in the
"Plugins" sub-folder). Using any text editor, type the custom info into the
"IVSProvider.conf" file. The format is one "IP|Port|ISN" entry per line
(without the quotes). Comments are supported, just start the line with "#."
Save the file. In response to a RDDNS lookup request for an ISN listed in
"IVSProvider.conf", the message "[PLUGIN] IVSProvider returned custom
information for ISN" should appear in the console window.
Caching of RDDNS responses is automatically handled by the IVSProvider plugin
(the cache file is "IVSProvider.cache"). In the event a lookup request to
RDDNS fails, IVSProvider will return any information it has cached for that
ISN. The message "[PLUGIN] IVSProvider returned cached information for ISN"
should appear in the console window. IVSProvider will *only* use the cached
info as a last resort--i.e. when no other information is available from the
RDDNS server. This will allow you to continue to *receive* a show from any
cached ISNs--even if the RDDNS server is down--as long as the IP and Port
information for the ISN has not changed since the last time it was cached. It
will not allow you to continue to *send* a show unless the receiving party is
using this plugin and has the correct information cached for your ISN.
NOTE: If you make changes to the above files while WiRNS is running, you MUST
restart WiRNS for those changes to take effect!
_______________________
Sample IVSProvider.conf
# Sample configuration
# Lines beginning with # are comments
# Info in this file will ALWAYS override info from the RDDNS server
# Format: IP|Port|ISN
# Simulated loopback for ReplayTVs on a LAN
192.168.1.10|29000|00055-09166-55000
192.168.1.11|29001|00055-09166-55001
192.168.1.12|29002|00055-09166-55002
____
Tips
***INSTALLATION***
- If you do not know the IP address of your PC or your DNS servers, you can
find them by typing "ipconfig /all" at a command prompt. Look for the "DNS
Servers" entry and use the first one listed for the "DNS Server" setting in
the WiRNS configuration. You can also enter the "IP Address" listed there for
your "WiRNS IP."
- Assuming your router forwards DNS requests (as most do), you can use the
router's IP address for the "DNS Server" when configuring WiRNS.
- Unless you want to use WiRNS for its other features such as custom guide
data etc., you do not need to enter any info about your ReplayTVs, DataDirect,
etc. when setting up WiRNS. Just stick to the steps I listed above.
***USAGE***
- Use of this plugin does NOT alter any info stored on the RDDNS server.
Anyone not using this plugin will still be able to reach you via IVS as long
as the RDDNS server is working.
- If IVSProvider does not seem to be using the contents of the
"IVSProvider.conf" file, make SURE you placed the "IVSProvider.conf" file in
the same folder as the "WiRNS.exe" file. Do *not* put it in the "Plugins"
sub-folder, as it will not be used there.
- For this plugin to work most effectively, you must be running WiRNS 24/7.
However, you can just run it when you need to do local IVS. Also, you can run
it when the RDDNS server goes down by putting the ISN/IP/Port information for
the other party in the "IVSProvider.conf" file. IMPORTANT: Both parties to a
transfer (sender and receiver) must do this in order to initiate a transfer
while the RDDNS server is down.
***TROUBLESHOOTING***
- Start WiRNS from a command prompt instead of double-clicking from Windows
Explorer. This way the WiRNS console window will not close if an error
occurs, which will allow you to record the error and report it.
- You cannot run WiRNS and any other HTTP server--e.g. DVArchive, IIS, Apache,
etc.--on the same PC at the same time (unless all such servers are bound to
separate IP addresses). WiRNS works by binding port 80 (HTTP) on the "WiRNS
IP" you specify. That means WiRNS will not work properly if another program
has already bound port 80 of that IP. If you are having problems getting your
ReplayTV to connect through WiRNS, try typing "netstat -ano" into a command
prompt while WiRNS IS NOT RUNNING. Look for any entries that have ":80" with
"LISTENING" beside it. If the IP address for that entry is "0.0.0.0" or
matches your "WiRNS IP" then something else is binding port 80, which prevents
WiRNS from working. The same is also true with regard to running any other
program that binds port 53 (DNS).
- If your ReplayTV is not able to communicate with WiRNS, ensure that you are
not running any firewall on the WiRNS PC (or configure the firewall to permit
WiRNS to communicate). Otherwise, it will block the necessary communication
between the ReplayTV and WiRNS. In particular, be sure to disable the
firewall that is included with Windows XP (the Internet Connection Firewall or
Windows Firewall). NOTE: Windows XP Service Pack 2 will enable the Windows
Firewall by default, so it is critical to check this when troubleshooting.
_____
Links
WiRNS http://wirns.sourceforge.net
ReplayTV FAQ http://www.replayfaqs.com
ReplayTV TWiki http://www.molehill.org/twiki/bin/view/Replay/WebHome
__________
DISCLAIMER
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.