SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files
  • Refreship README -
    Current version : 0.6b
                                                Nayco@netcourrier.com
                                                http://nayco.free.fr

Index :

  1. What is RefreshIP ?
  2. Download and installation
  3. Launching RefreshIP
  4. Security issues
  5. troubleshooting
  6. Bugs
  7. Helping us/contributions
  8. The authors
  9. Release notes
    1. 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.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.