- Refreship README -
Current version : 0.6b
Nayco@netcourrier.com
http://nayco.free.fr
Index :
- What is RefreshIP ?
- Download and installation
- Launching RefreshIP
- Security issues
- troubleshooting
- Bugs
- Helping us/contributions
- The authors
- Release notes
- What the F*** is RefreshIP ???
The purpose of RefreshIP is to solve the problem of dynamic IP
when connecting to the Internet.
Because some of us can't find web hosting that fit their needs,
it seems to be a good idea to self-host one's website.
Fast connection such as XDSL, cable, etc ... make this more
easy. The main problem encountered in this case is the dynamic
IP use by the providers : for example, french ADSL provider
changes your IP address every 24 hours.
Our solution : A small daemon checks your IP every 5 minutes
and sends it to the RefreshIP webserver. Users can now join your
site at the following address :
http://refreship.free.fr/YOURLOGIN/
It's now pretty easy for you to get your domain name from
any provider and bind it to the above address !!!
2. Download and installation.
Go to http://refreship.free.fr, and create your account
(Use the "Creer un compte" link).
Ok, ok, the site is entirely written in french, RefreshIP was
originally designed to be a french software; by porting it to
Linux, I decided to make it available for everyone ...
Read the disclaimer, click on "J'accepte" and just fill in
your desired login and your e-mail.
If everything goes right, you should see :
* Login : YOURLOGIN
* Mot de passe (password) : YOURPASSWORD
Keep these parameters... They are the only one you need to use
RefreshIP.
You can now use your login/password to login on the site (Form
on the left part of the window). you will now be able to modify
your account's parameters (On the left part of the site):
* "Changer la page d'absence" :
Post an offline HTML page; this is the page
that is displayed when you're offline.
* "Changer le mot de passe" :
Change your password.
* "Afficher les infos sur mon compte" :
Change/view other parameters; You can there
choose to display your site in a frame to hide
your IP, change the root directory of your site
(If different of the 'DocumentRoot' of apache)
Next, you should go back to the root of the site ("Page d'accueil"
link, on the left menu).
Take a look at the 'download' chapter... And choose your package :
* RefreshIP-linux-0.5b.tar.gz (About 20 Ko):
Standard and optimised versions of the daemon,
dynamically linked for Linux Mandrake 8.0
(Kernel 2.4.3-20mdk) + sources and conf file.
This version may work on many platforms without
re-compiling... Dunno !!!
* RefreshIP-static-linux-0.5b.tar.gz (About 2 Mo !!!) :
Optimised version of daemon, statically linked for
Linux Mandrake 8.0 (Kernel 2.4.3-20mdk) + sources
and conf file. Should work on more platforms ...
* refreship.msi :
The Windows 9x (Argghhh !!!) version, maintened by
my friend Finisher, head of the project, and creator
of RefreshIP !!!
* Maybe one day, other versions or add-on, such as X-windows
frontend ... see the 'contribution' below !!!
Installation :
Type the sacred commands (In the directory of your choice):
#tar xzvf RefreshIP-XXXXXXXXXXX.tar.gz
#cp refreship.conf /etc/
#vi /etc/refreship.conf
Now, add your login and password in that file, as described in it, but
remember : the file parsing is awfully designed, so, NO SPACES BEFORE
AND AFTER the "LOGIN = yourlogin" and "PASSWORD = yourpassword" lines.
As well, don't add spaces before the "#" characters, and don't remove
spaces around the "=" !!! ;(
#chmod 600 /etc/refreship.conf
#chown root.root /etc/refreship.conf
Here copy the RefreshIP executable of your choice in the /sbin/ dir :
#cp ./refreship /sbin/
or
#cp ./refreship-opt /sbin/ (Optimised: may use a very, very
little bit less ressources ;-)
or
#cp ./refreship-static /sbin/ (For the 'static' package)
Now, try your new daemon :
#/sbin/refreship-opt
#cat /var/log/messages (Or the path to you syslog output file)
You should read :
Oct 15 00:09:06 groundhog RefreshIP - Linux[11400]: Starting up ...
Oct 15 00:09:06 groundhog RefreshIP - Linux[11400]: Fetching configuration success
Oct 15 00:09:06 groundhog RefreshIP - Linux[11400]: IP update successful !!!
... Indicating a good startup. REMEMBER : Syslogd is the only way
RefreshIP has to communicate with you, but in case of problem, it'll
tell you everything ...
If the deamon doesn't start, you should try to launch another version
(Not optimised or static). If still not working, try to compile :
#g++ -o refreship refreship.cpp
or
#g++ -o refreship-opt -O3 refreship.cpp
#cp ./refreship /sbin/
And if still not working, er, ... Are you undex Linux ???
That's all, folks !!!
3. Launching Refreship.
Well, you can launch it manually whenever needed (?!!???), but, hey, I
think the purpose of Refreship is to be loaded at boot time !!!
So, you can add a line in /etc/inittab :
Re:2345:wait:/sbin/refreship
That's the simpliest way !!!
This daemon is designed to exit properly when sent a SIGTERM signal
(15). It sends a "Going offline" request to the Refreship server,
then exits.
If you change something in your config (password, login, etc...), you
can send a SIGHUP signal (1), to tell RefreshIP to read config
and sync with the server ...
If you want to design launching/stopping scripts, go on, see the
"contribution" chapter !!!
Last minute add-on : you may need so, because RefreshIP may be
killed AFTER the network stop on your machine ... This is not
really a problem, the server will assume that you are offline
after 10 minutes of inactivity ... but it should be cleaner
to design a '/etc/rc.d/init.d/refreship' script .
4. Security issues.
Well, er, ...
Many thing to notice which may not be problems (Tell me if you discover
a security hole !!!) :
* Your login/password are sent 'clean' to the server : Finisher
didn't implemented encryption in the first versions, and the
server code doesn't allow it ... But with a few kicks in his
ass, i may change Finisher's mind !!!
Question : Is it really a problem ??? (I think 'yes', but...)
* Your login/password appear in the config file, prevent
anybody from reading it !!! (And don't teach your friend to
sniff a TCP/IP connection ;-)
For that point, something important can be done : empty the
config file from your login/pass and re-compile RefreshIP
after un-commenting and filling the following lines as
described in the refreship.conf file
LOGIN = yourlogin
PASSWORD = yourpass
This will disable the config file parsing.
* The Nsock.h library is awfully designed, but I tried to
avoid hole when writing it... Well, I'm not sure ;(
---> Take a look, and tell me !!! (See the contribution chapter)
* Maybe other problems ??? Look around !!!
5. troubleshooting.
Syslogd is the only way RefreshIP has to communicate with you, but
in case of problem, it'll tell you everything ...
* Well, if the config file is in the good directory (/etc) and
parameters correctly written in it, there should be no problems
here ...
* If your network is well-configured, the only problem that may
occur is due to the method for getting the IP address :
RefreshIP take the last entry from the GETHOSTBYNAME() function,
but when typing 'ifconfig', you can verify that your internet
connection is the last entry ...
* If the RefreshIP server is down, well ... WAIT !!!
unfortunatly, this we are not self-hosted :-((
If the daemon cannot update your IP on the server, it'll try
every minute (Delay configurable in the source file)
If you have any problem, write us !!! (If you find the reason,
write us too ;-)
6. Bugs.
None at the moment, I let you discover :-p
7. Help us/contribution.
- Some may need a X-windows interface for RefreshIP : I'm currently not able to write X-windows apps, so I need help for this. (As it may not be difficult, it could be a good tutorial for me !!!)
- We need MANY people to test RefreshIP-Linux, 'cause I can't do it on all distro's and many platforms, and ..... The best : I HAVEN'T GOT AN ADSL CONNECTION YET (;-pp), and my winmodem doesn't work under Linux (I haven't found the right sources for the right module yet, although i searched for hour... :( ) I gonna get an external modem soon. 8. The authors.
- Finisher, physics teatcher, head of the project, Windows (argghh) version, PHP code of the server, http://refreship.free.fr
- Nayco, learning penguin breeder, Linux version of Refreship. nayco@netcourrier.com, http://nayco.free.fr (Mirror site, Linux stuff)
DO NOT HESITATE TO MAIL if you find bugs, want to submit ideas, add-on, contribute in any way, are a blond single girl and want to marry me, ...;-)
Nayco.
9. Release notes.
- V0.5b : Fully fonctional, first public release. ----> Needs to be tested !!!
- V0.6b : Added lock file "refreship.pid", in order to prevent from launching multiple instances of RefreshIP.
