Llink:compatible players: Difference between revisions

From Lundman Wiki
mNo edit summary
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== Changelog ==
Welcome to the FXP.One project.


=== llink-2.3.2 ===


    * Experimental transcoding support. MKV -> MPG on PS3 works ok.
Before you start, this is not just another FTP/FXP client. It does not
    * Sony Bravia TV compatibility
work that way.
    * undvd changed to use libdvdread-4.2.0.plus and libdvdnav-4.2.0
    * ISO in RAR code optimised considerably.
    * WindowsMediaPlayer12 compatibility support.


=== llink-2.3.1 ===


    * Fixed missing "i386" (32bit) version in Apple Mac Store
FXP.One consists of an engine, and
    * Fixed compatibility with AppleTV2 XBMC UPNP Client.  
you would need (at least) one GUI to control it.
    * Fixed compatibility with VLC. (Warning, VLC recursively lists on connect)




=== llink-2.3.0 ===
==FXP.One engine==


    * Replaced UPNP/SSDP code with real UPNP implementation. Confirmed PS3 works.
The idea was to put all the hard code into an engine that is really
    * Fixed seeking in VLC playback (missing "206" reply on "bytes=0-" header).
easy to interface with. This has worked surprisingly well, in that you
    * Added ".watched" to the visited conf define, for YAMJ users.
can FTP/FXP entirely by using "telnet". This means writing a client,
    * OSX GUI front-end for basic configuration
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.


=== llink-2.2.5 ===
This also means you do NOT have to run the engine on the same machine that you run the GUI client(s).  


    * fixes with UPNP code, make it more compliant.
For example, if you had a stable host, perhaps even with a static IP
    * fixes with XML scan
making the credentials for authentication easier, you could run the
    * more fixes in upnp, xml was incorrect, mime types required.
engine there. Then connect to it by the client of your choice.
    * Real RAR path parsing support, for YAMJ coherence.


=== llink-2.2.4 ===
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.


    * Fixed autotools so that "make install" works, as well as building from separate directory.
But you can run the engine and client at the same time, and quitting
    * Add conf IPNAME to the VISITED command
at the same time, making it appear like a normal FTP/FXP client.
    * Add support to optionally use Visited-DB files based on IP in filename.
    * Changed OPT|SEND_INDEX=index.html so that users can customise the filename.
    * Fixed so index.html can be in root of the '''first''' ROOT define.
    * HTTP|BUFFSERSIZE added, required for ipad, or random tweaking.
    * Major: load multiple skins selectable with User-Agent. To handle HD and SD skins.
    * Add AUTH command to conf for specifying IPs which require no PIN
    * Fixed large bug which would clear tvid if extra managed to load a file, and not show some entries.
    * Fixed external subtitles (.srt) for RAR:ed movies on NMT 200-series.


=== llink-2.2.3 ===


    * visited-db fixes for RAR archives and directories.
'''If you are looking for a Windows binary, please download the bundle from the latest [[UFxp]] client'''
    * regression on visited for plain files, also fixed.


=== llink-2.2.2 ===
==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


    * Created '''undvd''' utility to function like unrar for ISO/IMG/VIDEO_TS/DVD and Blurays.
Now create your SSL keys
    * Large changes gutting advd out, to replace with undvd.
    * libdvdnav: fixed readdir() code that was broken. Took out verbose debug messages.
    * Fixed auto-expand for ISO images.
    * UPNP fixes to stop C200 crashing when parsing our xml
    * Added Unix-like ~username/ expansion for ROOT path.
    * ROOT|URL added for direct urls.
    * UPNP dir and cgi parsing fixes, for spaces etc.
    * Single-quote was not URL escaped for some reason.


  % openssl req -new -x509 -nodes -out lion.pem -keyout lion.pem


=== llink-2.2.1 ===


    * Change to use libdvdnav. Should correctly follow streams, and handle ARCcoS DVDs.
Create your .FXP.One folder and copy lion.pem into it
    * Display DVD titles instead of VOB files
    * Display and Select Audio track in DVDs. Several hacks available to pick stream, report which is best.
    * SORT would not pass DIRSIZE and GENRE to libdirlist.
    * visited-db now stored on disk, using gdbm.
    * RAR archives in root "/" did not work.
    * UPnP feature added, very basic. See README.upnp and skin/upnp/
    * ADVD would sometimes close the HTTP connection when expanding directory listings
    * VIDEO_TS expand would set process_function, and attempt to re-expand added entries.
    * Changed "file_t" to "lfile_t" due to Solaris name-collision.
    * Opps, last file_t change also changed TVID macro!


  % mkdir .FXP.One && cp lion.pem .FXP.One/ 


=== llink-2.2.0 ===
Start the FXP.One engine


    * Added UDF2.50 support to dvdread for BD-5 ISO images. (HD-DVD as well, in theory)
   % FXP.One
    * Added support to UDF list files (instead of just domain,title DVD lookup)
    * Jukebox page 2 and up incorrectly handled Separator for files.
    * libdvdnav fails to open paths with /VIDEO_TS/. Reverted function from libdvdread.
    * Changed pass=0 to list and cache only. Pass=1+ simply replays cache. No need for lastline etc.
    * Fix history code so parent sets from page and focus correctly.
    * Fix focus setting
    * Add user-set sort-types in conf
    * Add sort-by cgi key, and MACROS to control sorting.
    * Fixed SSDP to also work against xbox360 and Playstation3 (query only, more work needed for actual use)
    * Added option to automatically expand RAR files when listing.    
    * Added option to automatically expand ISO files when listing.
    * Added option to allow sending of index.html file if present in directory
    * New MACROs for current page, tvid-tvid and total pages, total files.
    * Minor changes in extra-info, directory.ext was terminated at .ext


(Please use gnuMake; which might be called make, gmake, gnumake etc on your system)


=== llink-2.1.2 ===
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.


    * Changed from libdvdread-0.9.7 to libdvdnav-4.2.1 for future features
'''Openssl-devel'''If you see a error like this:
    * Changed libdvdread access to wrap it in an async wrapper (more efficient, cleaner)
''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?''
    * Added dvd_input RAR support to libdvdread for reading ISO inside RAR archives.
    * Generic menu added '''[nc]'''
    * Added working DELETE/DELETE-RECURSIVE menu code.
    * Added working UNRAR menu code.
    * Added working user SCRIPT code, and sample.


You will need to openssl-devel for your system. On most Red Hat Variants it can be done with yum.


=== llink-2.1.1 ===
yum -y install openssl-devel


    * Accidentally broke dvdread support in 2.1.0
'''''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.


=== llink-2.1.0 ===
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.


    * Major Windows code changes. IO base replaced.
To do this go to the openssl.org downloads page and download the version you want to use.  
    * Minor "visited" changes, since files are read in chunks, caching was needed.
    * Minor debug mode HTML comment lost bug fixed. '''[mikevs]'''
http://openssl.org/source/
    * Directories can also use ignore= tag '''[mikevs]'''
wget http://openssl.org/source/openssl-0.9.8k.tar.gz
    * Next/Prev will go to top/end properly. '''[mikevs]'''
tar -xvzf openssl-1.0.0g.tar.gz
    * Conditional MACROS if client agent is Syabas '''[mikevs]'''
cd openssl-1.0.0g
    * Last-line virtual line added for better navigation '''[mikevs]'''
./config -shared
    * Playlist feature to use "type=" tag, like type=music. '''[mikevs]'''
make
    * Add 2nd redirect test for RAR files, allow subtitles next to RAR file.(redirection must be on in llink.conf)
    * byte range close file bug found, was closing HTTP socket, not file.
    * New skin "nmt" '''[mikevs]'''
    * Clearing PIN should now work
    * Changed Aqua skin to show visited indication with icons over text colour.
    * OsX Application bundle using Platypus


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


=== llink-2.0.9 ===
==Running the engine==


    * Clean up of -h usage display '''[IronWolve]'''
    * hide_path() prototype fix, coredump for menus. '''[erlis]'''
    * CDATA core fix '''[kpziegler]'''
    * "visited" media code started. Colour-code media already played.


'''You will most likely need to create an SSL certificate for the engine since the default is only to accept secure connections.'''


=== llink-2.0.8 ===


    * Start of "Menu" support.
Since the engine will be saving your remote FTP site information, as
    * parental support. ".Directory" (and "$Directory$" under Windows) are not shown, unless correct PIN is entered.
well as any User/Passwords you chose on disk, you should consider
    * iStar double selector (status unknown)
encrypting these files.
    * "." core dump fixed.
    * "." and ".." removal for sub-directories
    * SSDP bindif support was not correct, again, really fixed.
    * Manual SSDP Query support
    * Somewhere along early 2.0.8 versions libdvdread support broke, fixed.
    * Added "VIDEO_TS" folders to libdvdread. (For merge support)
    * (lion timers bug fix for manual SSDP)


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.


=== llink-2.0.7 ===
For the first time you run FXP.One, just make up whatever Key you
want.


    * 32 bit lseek fix, would manifest as unable to seek/ff in large files. '''[dburckh]'''
When you start the engine in future, you have to specify the correct
    * libdvdread, should read .iso and .img files. (display .IFO/.VOB file to play)
Key or it will not be able to read your data files. (And you will not
    * SSDP announce to use bindif, if so specified '''[P.K.Lee]'''
be able to login).
    * Added -L option to work around LinkTheater bug
 
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".

Latest revision as of 05:43, 3 March 2012

Welcome to the FXP.One project.


Before you start, this is not just another FTP/FXP client. It does not work that way.


FXP.One consists of an engine, and you would need (at least) one GUI to control it.


FXP.One engine

The idea was to put all the hard code into an engine that is really 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-develIf 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

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".