Opened 14 years ago

Last modified 6 years ago

#2293 closed Feature request

FTP custom BOOST-mode in FileZilla server (like Avalaunch)

Reported by: gamester17 Owned by:
Priority: normal Component: FileZilla Server
Keywords: Cc: gamester17, Tim Kosse
Component version: Operating system type:
Operating system version:

Description

Avalaunch (a homebrew dashboard for modded Xboxes)
has a built-in custom FTP-server that has a very nice
feature called BOOST mode. Boost mode only works if both
the FTP-server and the FTP-client supports it. What boost
mode does is basically send a list (from the client to the
server) of all files from the transfer-list making new
connection/session for each file unessesary, resulting in a
much faster overall transfer speed when transfering many
small files (like example a complete and large website, or
text files, or even loads of MP3 files over a fast connection).
Team-Avalaunch the makers of the Avalaunch dashboard
also make a FTP-client called QWIX which supports this
boost mode.

Team-Avalaunch has made the specifications of this
BOOST mode open source to enable others to implement
support of it into their FTP servers and clients, found here:
http://forums.xbox-scene.com/index.php?showtopic=137059

Team-Ava's website: http://www.teamavalaunch.com

From Avalaunch FAQ (a bit old now as more supports it):
Q: What is Boost Mode?
A: Boost Mode is an improved FTP protocol that is currently
only supported with Avalaunch. It can make transfers push
the limits of your 100Mb connection, and is especially
helpful with transfers that contain a lot of small files."

PS! Some others that supports this boost mode is: SUXX,
UnleashX, C-XBOXtool

Attachments (1)

boost.zip (4.9 KB) - added by gamester17 14 years ago.
BOOST patch for xbFileZilla (Xbox FileZilla-server port)

Download all attachments as: .zip

Change History (8)

comment:1 Changed 14 years ago by gamester17

The idea behind BOOST mode (in Team-Avalaunch own words):

To being able to transfer small files with high speed, you need to
get rid of the massive negotiation for every file. However,
negotiating everything at start is acceptable. So that's what we'll
do. (We won't go into how we do the caching here, since that's
an entirely different issue).

  1. Boost mode detection; To enable boost mode in both

Avalaunch's file-manager and QWIX (FTP-client), you got to
reply on this command:

client => server : SITE BOOST SUPPORTED
valid reply for yes : 226

  1. Initializing the boost transfer; This is the heavy part. You got to

tell the server which file/directories is coming over - with all sizes.
and it has to be in the same order (of course ) as it's gonna
recieve in. The command is :

SITE BOOST START <UPLOAD/DOWNLOAD> <number of files
and dirs>
e.g. "SITE BOOST START UPLOAD 1000" if you're uploading
1000 files.

Reply with 226 if successful.

  1. File/Dir list; Dir syntax for directory addition (taking restoration

of the Xbox game GTA3 backup for example):

D,<name><cr>
(e.g.) D,F:\Games\Grand Theft Auto III

File syntax is similar, but demands also exact filesize
F,<name>,<size><cr>
F,default.xbe,3072000

(make sure you do the dir-change before the file so that it
changes/makes the dir up front).

---
D,F:\Games\Grand Theft Auto III\anim
F,CSHands.txd,44296
F,cuts.dir,9216
F,cuts.img,43634688
F,gta3.ini,10
.....

  1. The transfer; When all the files/dirs has been listed up in the

command socket, server must reply in this manner:

226 - <nr files/dirs recieved> <port open for file stream><cr>

in this case it answered this for 458 files to port 2048 :
226 - 458 2048

Client simply connects to that socket and the stream of all files in
the order specified the dir/file list.

comment:2 Changed 14 years ago by Tim Kosse

I won't implement this ftp extension it it's current form.
It is missing a formal specification, also it violates the
basic concepts of FTP. (For example the way filenames are
given, that are no FTP commands)

comment:3 Changed 14 years ago by gamester17

Not even as an option?, ...or just as an concept idea?, maybe it
could be implemented in a other way which would be acceptable
to you? (ie you could hopefully acheive the same or similar result
in a other way). Maybe possible to re-open this RFE for only that

PS! 1223961 is not a duplicate of this, 1223960 is for the server-
side and this (1223961) is for the client-side, thanks for listening

comment:4 Changed 14 years ago by gamester17

Any chance you reconsider the 'idea' of this to get similar result?

comment:5 Changed 14 years ago by Tim Kosse

I've yet to see a formal specification.

Changed 14 years ago by gamester17

Attachment: boost.zip added

BOOST patch for xbFileZilla (Xbox FileZilla-server port)

comment:6 Changed 14 years ago by gamester17

again it's just a concept, anyway I've attatched a patch by
Darren Horrocks (a.k.a. bizzeh) for the FileZilla-server
port inside XBMC (XboxMediaCenter) (that FileZilla-server
port for the Xbox is also known as xbfilezilla-server).
http://sourceforge.net/users/bizzeh/
http://sourceforge.net/projects/xbfilezilla/

Here's six different BOOST FTP-clients to test with:
http://www.teamavalaunch.com/qwix/
http://sourceforge.net/projects/xbgm
http://xbgm.sourceforge.net/index.php
http://cxboxtool.xbox-hq.com
http://suxx.xbox-hq.com
http://dwl.xbox-scene.com/~xbox/xbox-
scene/tools/utils/FileBooster.zip
http://www.layouts.xbox-scene.com (MooGUI)

Lastest xbFileZilla source code can be found here:
http://cvs.sourceforge.net/viewcvs.py/xbmc/XBMC/xbmc/lib/lib
FileZilla/
http://cvs.sourceforge.net/viewcvs.py/xbmc/XBMC/xbmc/lib/lib
FileZilla/source/

comment:7 Changed 14 years ago by Tim Kosse

No specification, no implementation. Simple as that.

Note: See TracTickets for help on using tickets.