|
|
(2 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| Welcome to the FXP.One project.
| | 1. Telnet into the box and change to the /mnt/syb8634/etc directory. |
|
| |
|
| | 2. Jailbreak the ftpuser and move him into the mounting directory: |
| | ../bin/pure-pw usermod ftpuser -D /opt/sybhttpd/localhost.drives/ -f pureftpd.passwd |
| | 3. Re-write the PureFTPd user database: |
| | ../bin/pure-pw mkdb pureftpd.pdb -f pureftpd.passwd |
| | 4. That's it, you can confirm your changes if you want |
| | ../bin/pure-pw show ftpuser -f pureftpd.passwd |
|
| |
|
| Before you start, this is not just another FTP/FXP client. It does not
| | ==Newer versions== |
| work that way.
| | A recent upgrade reveals that this method no longer works, as the ftp user file is now created dynamically on startup. |
|
| |
|
| | To fix this, telnet into the box and copy to the /mnt/syb8634/etc/ftpserver.sh file to a download directory and edit the following section as below |
|
| |
|
| FXP.One consists of an engine, and
| | start() { |
| you would need (at least) one GUI to control it.
| | echo -n "Starting FTP Server..." |
| | /mnt/syb8634/bin/nmt_services.cgi cmd=ftp_passwd opt=ftpuser > /dev/null 2> /dev/null |
| | /mnt/syb8634/bin/telnetd telnetd -l /bin/sh -p 23 & |
| | /mnt/syb8634/bin/pure-ftpd -j -H -lpuredb:/etc/pureftpd.pdb -U 133:022 -c 10 -k 100 -I 1440 -w & |
| | /mnt/syb8634/bin/pure-pw usermod ftpuser -D /opt/sybhttpd/localhost.drives/ -f /etc/pureftpd.passwd |
| | /mnt/syb8634/bin/pure-pw mkdb /etc/pureftpd.pdb -f /etc/pureftpd.passwd |
| | } |
|
| |
|
| | ==Adding users== |
| | Someone in the NMT forums asked me if there was a way to add additional users. I don't know why you would want multiple users, but here is your solution: |
|
| |
|
| ==FXP.One engine==
| | Add the following line to your start() script near the usermod line: |
| | (echo NEWUSER PASSWORD; echo NEWUSER PASSWORD) | pure-pw useradd NEWUSER -D /opt/sybhttpd/localhost.drives -u nmt -f /etc/pureftpd.passwd |
|
| |
|
| The idea was to put all the hard code into an engine that is really
| | Obviously, you want to replace NEWUSER PASSWORD in both cases with the password for the user you are creating and NEWUSER in the last instance with the username you desire for your new user. You can do this as many times, to add as many users as you like. |
| easy to interface with. This has worked surprisingly well, in that you
| |
| can FTP/FXP entirely by using "telnet". This means writing a client,
| |
| which is essentially just a Display Shell, quite trivial. This
| |
| includes people who wants to just script clients, like by using perl,
| |
| python and so on.
| |
| | |
| This also means you do NOT have to run the engine on the same machine that you run the GUI client(s).
| |
| | |
| For example, if you had a stable host, perhaps even with a static IP
| |
| making the credentials for authentication easier, you could run the
| |
| engine there. Then connect to it by the client of your choice.
| |
| | |
| You can disconnect this client (the engine will keep working if you do
| |
| not tell it to stop) and start a new (and possibly different) client
| |
| elsewhere, and resume control of your previous work.
| |
| | |
| But you can run the engine and client at the same time, and quitting
| |
| at the same time, making it appear like a normal FTP/FXP client.
| |
| | |
| | |
| '''If you are looking for a Windows binary, please download the bundle from the latest [[UFxp]] client'''
| |
| | |
| ==Compiling and Install the engine==
| |
| % wget http://www.lundman.net/ftp/fxp-one-1.4.tar.gz
| |
| % tar -xvf fxp-one-1.4.tar.gz
| |
| % cd FXP.One/
| |
| % ./configure
| |
| % make
| |
| % make install
| |
| | |
| Now create your SSL keys
| |
| | |
| % openssl req -new -x509 -nodes -out lion.pem -keyout lion.pem
| |
| | |
| | |
| Create your .FXP.One folder and copy lion.pem into it
| |
| | |
| % mkdir .FXP.One && cp lion.pem .FXP.One/
| |
| | |
| Start the FXP.One engine
| |
| | |
| % FXP.One
| |
| | |
| (Please use gnuMake; which might be called make, gmake, gnumake etc on your system)
| |
| | |
| This should always compile the '''FXP.One engine'''. If ''configure'' can find the correct '''CDK''' library and '''ncurses''' on your system it will also compile the '''ncurses''' client '''FXP.cOne'''. Otherwise it will skip compiling this client.
| |
| | |
| '''Openssl-devel'''If you see a error like this:
| |
| ''checking whether we need extra options to link OpenSSL... configure: error: Found linkable OpenSSL in , but it doesn't run, even with -R. Maybe specify another using --with-ssl-dir?''
| |
| | |
| You will need to openssl-devel for your system. On most Red Hat Variants it can be done with yum. | |
| | |
| yum -y install openssl-devel
| |
| | |
| | |
| If you want to run '''clomps-irc''' you will need libpcre and headers, so most likely the -dv version if there is one:
| |
| | |
| apt-get install libpcre3-dev
| |
| | |
| | |
| | |
| | |
| '''''SSL Issues'''''
| |
| | |
| If your trying to connect from your client and get errors about ssl it probably means that they versions of ssl you have on your engine and your client are not compatible.
| |
| | |
| For example on the client end we have ssl version OpenSSL 0.9.8e-fips-rhel5 and on the server and OpenSSL 09.8k on another. There are many reasons why this will not work and many more why it should. In this case you will need to compile OpenSSL 0.9.8K on the server you wish to use FXP.Oned on and build FXP.Oned against that version of ssl. It the example below we will build openssl-0.9.8k in a local directory and compile FXP.Oned to use it.
| |
| | |
| To do this go to the openssl.org downloads page and download the version you want to use.
| |
|
| |
| http://openssl.org/source/
| |
| wget http://openssl.org/source/openssl-0.9.8k.tar.gz
| |
| tar -xvzf openssl-1.0.0g.tar.gz
| |
| cd openssl-1.0.0g
| |
| ./config -shared
| |
| make
| |
| | |
| Now go back to your FXP.Oned directory,
| |
| make clean
| |
| ./configure LIBS=-ldl --with-ssl-dir=/home/erin/srcs/openssl-1.0.0g
| |
| make
| |
| make install
| |
| | |
| ==Running the engine==
| |
| | |
| | |
| '''You will most likely need to create an SSL certificate for the engine since the default is only to accept secure connections.'''
| |
| | |
| | |
| Since the engine will be saving your remote FTP site information, as
| |
| well as any User/Passwords you chose on disk, you should consider
| |
| encrypting these files.
| |
| | |
| FXP.One engine will do this for you. When you start the engine, it
| |
| will as for a "Key". This is the Key that it will use to encrypt all
| |
| its data files. If you do not want encryption, just press return.
| |
| | |
| For the first time you run FXP.One, just make up whatever Key you
| |
| want.
| |
| | |
| When you start the engine in future, you have to specify the correct
| |
| Key or it will not be able to read your data files. (And you will not
| |
| be able to login).
| |
| | |
| To start again, you need to delete all .FXP.One files, and the engine
| |
| will create these again.
| |
| | |
| When the user file does not exist, the FXP.One engine will
| |
| automatically create a login as "admin" with password "admin".
| |
| | |
| | |
| NOTE: If you edit .FXP.One.settings file, you can change the option
| |
| "ssl=1". By default it will only allow SSL connections. If you change
| |
| it to "ssl=0" you make it optional. This allows you to telnet to the
| |
| engine should you wish to check it out. Please read the
| |
| "engine/API.txt" for more information on the FXP.One protocol.
| |
| | |
| NOTE: Please be aware that all skiplist, movefirstlist and passlists
| |
| are separated by the "/" character.
| |
| That is, "fmovefirst=*.sfv/*.nfo".
| |
1. Telnet into the box and change to the /mnt/syb8634/etc directory.
2. Jailbreak the ftpuser and move him into the mounting directory:
../bin/pure-pw usermod ftpuser -D /opt/sybhttpd/localhost.drives/ -f pureftpd.passwd
3. Re-write the PureFTPd user database:
../bin/pure-pw mkdb pureftpd.pdb -f pureftpd.passwd
4. That's it, you can confirm your changes if you want
../bin/pure-pw show ftpuser -f pureftpd.passwd
Newer versions
A recent upgrade reveals that this method no longer works, as the ftp user file is now created dynamically on startup.
To fix this, telnet into the box and copy to the /mnt/syb8634/etc/ftpserver.sh file to a download directory and edit the following section as below
start() {
echo -n "Starting FTP Server..."
/mnt/syb8634/bin/nmt_services.cgi cmd=ftp_passwd opt=ftpuser > /dev/null 2> /dev/null
/mnt/syb8634/bin/telnetd telnetd -l /bin/sh -p 23 &
/mnt/syb8634/bin/pure-ftpd -j -H -lpuredb:/etc/pureftpd.pdb -U 133:022 -c 10 -k 100 -I 1440 -w &
/mnt/syb8634/bin/pure-pw usermod ftpuser -D /opt/sybhttpd/localhost.drives/ -f /etc/pureftpd.passwd
/mnt/syb8634/bin/pure-pw mkdb /etc/pureftpd.pdb -f /etc/pureftpd.passwd
}
Adding users
Someone in the NMT forums asked me if there was a way to add additional users. I don't know why you would want multiple users, but here is your solution:
Add the following line to your start() script near the usermod line:
(echo NEWUSER PASSWORD; echo NEWUSER PASSWORD) | pure-pw useradd NEWUSER -D /opt/sybhttpd/localhost.drives -u nmt -f /etc/pureftpd.passwd
Obviously, you want to replace NEWUSER PASSWORD in both cases with the password for the user you are creating and NEWUSER in the last instance with the username you desire for your new user. You can do this as many times, to add as many users as you like.