F*EX use case: fexsync

With fexsync you can use your fexserver for rsync-alike directory synchronization.

Why one would use fexsync and not rsync:

fexsync has 2 modes: one for sending and one for receiving.
fexsync works synchronously.

For the sending account you need F*EX authorization, receiving is "free".

First, you have to download and install the F*EX clients:

wget https://fex.belwue.de/download/fex.pl
perl fex.pl

Then initialize fexsend (if not already done). Example:

framstag@tux:~: fexsend -I
F*EX server URL: fex.rus.uni-stuttgart.de
proxy address (hostname:port or empty if none):
Your email address as registered at fex.rus.uni-stuttgart.de: framstag@rus.uni-stuttgart.de
Your auth-ID for framstag@rus.uni-stuttgart.de at fex.rus.uni-stuttgart.de: JFD7gDd
data written to /home/framstag/.fex/id
This saves your authorization data in $HOME/.fex/id

Test it with:

framstag@tux:~: fexsend /etc/profile .
This sends /etc/profile to yourself.

Now you can use fexsync:

framstag@tux:~/tmp/blubb: fexsync .
to start sync receiving use:
fexsync blubb 630290 fex.rus.uni-stuttgart.de:443 framstag

fexsync will wait, until you activate the receiving:

tux@xerus:/tmp: fexsync blubb 630290 fex.rus.uni-stuttgart.de:443 framstag
connecting to fex.rus.uni-stuttgart.de:443
waiting for download
checking storage... 101 MB ok!
fexsync_blubb_630290.tar: 101 MB in 1 s (102884 kB/s)
extracting to /tmp/blubb :
phoon.png
xplanet.png
solarsystem.mp4

When you modify or add files on the sending account, then the next fexsync call will transfer only these files:

framstag@tux:~/tmp/blubb: cp phoon.png xphoon.png
framstag@tux:~/tmp/blubb: fexsync .
to start sync receiving use:
fexsync blubb 857773 fex.rus.uni-stuttgart.de:443 framstag

tux@xerus:/tmp: fexsync blubb 857773 fex.rus.uni-stuttgart.de:443 framstag
connecting to fex.rus.uni-stuttgart.de:443
waiting for download
checking storage... 1 MB ok!
fexsync_blubb_857773.tar: 1 MB in 1 s (1441 kB/s)
extracting to /tmp/blubb :
xphoon.png

If you have your FEXID on both sides and you are in a directory with the same name, then you can shorten fexsync:

sending (A): fexsync .
receiving (B): fexsync :

This transfers all (new) files from account A to account B.

For continous syncing, add option -c :

framstag@tux:~/tmp/blubb: fexsync -c .
to start sync receiving use:
  fexsync -d blubb 7fi8c30a fex.rus.uni-stuttgart.de:443 framstag
tux@xerus:/tmp: fexsync -d blubb 7fi8c30a fex.rus.uni-stuttgart.de:443 framstag

fexsync usage

send usage:    fexsync [-m MAX] [-z] [-c] DIRECTORY
receive usage: fexsync [-m MAX] [-d] TNAME TKEY [FEXSERVER FEXUSER]
options: -m  limit throuput to MAX kB/s
         -z  compress files
         -c  continuous syncing
         -d  delete extraneous files

more information

fexdox

With fexdox you can synchronize a local directory with DOX, either for upload or for download.
Only new or modified files will be transfered.
Sending and receiving works synchronously.
For sending you need a FEXID from the fexmaster.
For receiving you need user/password from the folder owner.
If a folder is open for anonymous access, then use "anonymous" as user name.

A folder on the fexserver has the same name as the local directory, but problematic characters will be substituted with "_".
File names are transfered "as is" (binary).

Send usage:

  fexdox -s [-v] [-i ID] [-m MAX] [-z] [-d] [-f FOLDER] DIRECTORY
  fexdox -s [-v] [-i ID] [-m MAX] [-z]      [-f FOLDER] . FILES_OR_DIRECTORIES
  fexdox -s [-v]         [-m MAX] [-z]                  DOXURL DIRECTORY <<<USER:PASSWORD

Receive usage:

  fexdox -r [-v] [-i ID] [-m MAX] [-z] [-d] FOLDER
  fexdox -r [-v]         [-m MAX] [-z] [-d] DOXURL [<<<USER:PASSWORD]

Other usage:

  fexdox    [-v] [-i ID] [-l] [-D FOLDER] [-a FOLDER]

Options:

  -v  verbose mode
  -i  use account ID from $HOME/.fex/id
  -s  send DIRECTORY (upload)
  -f  save to FOLDER
  -r  receive FOLDER (download)
  -m  limit throuput to MAX kB/s
  -z  force compression
  -d  delete extraneous files
  -l  list dox folders (uploaded directories)
  -D  delete FOLDER
  -a  assign FOLDER name to current directory