FXP Tutorial source: The Ultimate board
Version 1.2, 01-03-2000
What is FXP?
FXP stands for File eXchange Protocol and it let's you copy files from one FTP-server to another using a FXP-client (see the downloads section). Normally you transfer files using the FTP protocol between your machine and a FTP-server, and the maximum transfer speed depends on the speed of your Internet connection (e.g. 56k, cable or T1). When transferring files between two remote hosts using a FXP client, the maximum transfer speed does not depend on you're connection but only on the connection between the two host, which is usually much faster than your own connection. Because it's a direct connection you won't be able to see the progress or the transfer speed of the files.
Although FXPing is very easy, there are a few restrictions to transferring the files. Both hosts have to support PASV mode and must allow PORT commands to foreign hosts. The FXP client tells the destination FTP to listen for a connection by sending a "PASV" command. The source FTP then connects to the data port reported by the destination server (after a success PASV command). So all the data goes directly from the source to the destination FTP and both servers do only report status messages on fail/success to the FTP client. At least one of the two remote hosts has to be a non-NT FTP-server, like a UNIX host or anything else. You can move files from a non-NT FTP-server to a NT FTP-server and the other way around, but you CANNOT FXP from a NT to an NT. One way to get by this limitation is using a Wingate (see the security section).
FXPing is fun, but the last thing you want is some sysop who is walking around your pc. Or even worse a sysop that contacts your isp and makes sure your account gets terminated, or one that turns you in to the cops... U can be identified by your computer's ip, that is why you should always use a proxyserver or a wingate when you connect to the internet.
A proxy server is a kind of buffer between your computer and the Internet. The data you request comes to the proxy first, and only then it transmits the data to you. Usually, proxy servers are used to increase the effective speed of your connection to the Internet, because they save files that are requested most often in a special database called "cache". As a result, the information you need may already be present in cache by the time of your request, making it possible for the proxy to deliver it immediately. In most cases, however, proxies do inform the target server about the address of the computer that made the request, transmitting your IP-address in different forms. Anonymous proxy servers don't transfer the information about the IP-address of the client, and hide the information about you and your surfing interests. Besides that, some proxy servers can also hide the very fact that your are surfing through a proxy server! One of the safest kind of proxies is the socks proxyserver.(it was originally intended as firewall). You can check whether a proxy is really anonymous or not on one of these sites. Lists of anonymous proxy servers can also be found there.
Another way of hiding your identity and transfer your files is using a wingate. Wingate is installed and run on a Windows 9x/ NT computer and used as a server for a lan. All other pc's connected to the lan will access the internet through this Wingate. Wingates work a little differently then socks proxy servers. If you log onto both sites using the same port , the files you want to transfer between the two sites are going through the wingate. The advantage to this is that it will allow you to FXP files to/from sites you could not before. The disadvantage is, the speed of your transfer is limited by the speed of the wingate you are using. Wingates are usually very busy and because of that very slow. Unless you absolutely can not make two sites FXP to each other, you probably do not want to use a wingate, as it will slow down your transfer 99.99% of the time. Wingates offer you a lot of services, but make sure when you are transfering files you always use port 21, not 23!
The easiest way of finding a proxy server or Wingate is to check a list on one these sites. However the proxies that are on these lists are usually heavyly used, and die soon because of that reason. The best way to get your hands on a good proxy is scan one yourself using a standard port or a special proxy scanner.
Sharing your files
If you want to share your files, but do not want dozens of people sucking up your bandwidth, this is the way to go: First find at least two pubs (anonymous FTP-servers). Use one FTP-server as a "store-site". You first transfer your files to this pub and send them to any other pub you want. Make sure that the first pub is a deletable one, and the second one (preferably) a non-deletable . Always clear the store-site not too long after you have transferred your files. Together with the fact that only you are accessing this site will make sure that the sysop will probably never notice that you are using it.
Why using a intermediate site in stead of transferring the files directly to a site that you're going to share with others? Those published sites usually do not last very long. First, the pub you are sharing will get very busy and because the sysop is probably wondering where all that traffic is coming from he will discover your files and he will delete them or shut the server down. Second there are the deleters (F**k you Pussy!). These people are out there to destroy your nice pub. In general they first download the files they want and then delete files leaving the empty dirs behind. When your pub gets deleted you will not have to upload all your files using your "slow" connection again to another pub, just simply use the fast connection from your store-site. This saves loads of time.
In order to publish a pub, you will first need to find one :-). The best way to do this is using a portscanner. These programs can scan series of ip's on public FTP's. Some of these scanners can also ping a site (see how fast it is), check for anonymous login and see whether you have write and delete rights. The directory attribute you are looking for is Dwrxwrxwrx, but others can work too. Dirs that often allow uploading are: pub (that is where the name comes from), incoming, _vti_pvt and upload. The fastest way to scan pubs is using FTP scanner. This program scans by default, up to 100 threads at the same time, on port 21 and checks for anonymous access. The easiest way of finding pubs is using Grim's Ping. It is slower than FTP scanner (max 5 threads), but it can also check for dir attributes. By the default it only checks the dirs named above, but you are able to change this. Scanning like this saves loads of time. It is also possible to run more than one copy of Ping at the same time.
There's no use in scanning random ip's, because most ip's will not have a public FTP-server running. Large companies and especially universities (fast connection) are a good target. First lookup a website using a searchengine (e.g. Altavista), for instance the Technical University of Prague (www.cvut.cz). Now use a ping commando (supplied with win 9x and nt) to find out the ip (in this case 22.214.171.124). Third thing to do is scan an ip range. Since this is a university, which has loads of hosts, we will scan the whole 147.32.x.x to 147.33.x.x ip-range for anonymous FTP-sites. When you are scanning a corporate website just scan the 147.32.240-50.x range. Once you have found one check whether you can write and delete files. The last thing to do is test the speed of your newly found pub. You can do this by using any ping commando and see what kind of value it returns, the lower the better. If you have found a site that is anonymous, has write rights and great speed뀉Just fill it!
Transferring files & Creating directories
Open your FXP client and connect to the first remote host. Make sure this is a non-NT pub! Connect to the second host as well. The next thing you have to do is creating directories for your files. Make sure they are somewhat hidden, otherwise the sysop or, even worse, those damn deleters will clear your pub before you've filled it. Usually you only have writing rights in the /pub (that's where the name comes from) or the /incoming dir. Create here a dir called tmp or something else people will not recognize as a unusual dir on a anonymous FTP.
The rest of your path should be hidden. This can be done by placing points (.) in the name of the dir (e.g. /.FXP) or using spaces (e.g. / FXP). The best method is however using the tilde (/~FXP). Clicking on a dir containing this symbol causes the remote host to change the dir to the root! A well hidden dir with your stuff could look like this: ftp://xxx.xxx.xxx.xxx/pub/temp/~/[2 spaces] ~/.my/~pub/꿧or/.[2spaces]FXP/myfiles. The last thing to do is just simply drag and drop files in your FXP-client from one host to the other, the rest goes naturally?