Llink:compatible players: Difference between revisions

From Lundman Wiki
No edit summary
mNo edit summary
 
(2 intermediate revisions 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.




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


    * Fixed missing "i386" (32bit) version in Apple Mac Store
    * Fixed compatibility with AppleTV2 XBMC UPNP Client.
    * Fixed compatibility with VLC. (Warning, VLC recursively lists on connect)


==FXP.One engine==


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


    * Replaced UPNP/SSDP code with real UPNP implementation. Confirmed PS3 works.
This also means you do NOT have to run the engine on the same machine that you run the GUI client(s).  
    * Fixed seeking in VLC playback (missing "206" reply on "bytes=0-" header).
    * Added ".watched" to the visited conf define, for YAMJ users.
    * OSX GUI front-end for basic configuration


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


    * fixes with UPNP code, make it more compliant.
You can disconnect this client (the engine will keep working if you do
    * fixes with XML scan
not tell it to stop) and start a new (and possibly different) client
    * more fixes in upnp, xml was incorrect, mime types required.
elsewhere, and resume control of your previous work.
    * Real RAR path parsing support, for YAMJ coherence.


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


    * Fixed autotools so that "make install" works, as well as building from separate directory.
    * Add conf IPNAME to the VISITED command
    * 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 ===
'''If you are looking for a Windows binary, please download the bundle from the latest [[UFxp]] client'''


    * visited-db fixes for RAR archives and directories.
==Compiling and Install the engine==
    * regression on visited for plain files, also fixed.
  % 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


=== llink-2.2.2 ===
Now create your SSL keys


    * Created '''undvd''' utility to function like unrar for ISO/IMG/VIDEO_TS/DVD and Blurays.
  % openssl req -new -x509 -nodes -out lion.pem -keyout lion.pem
    * 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.




=== llink-2.2.1 ===
Create your .FXP.One folder and copy lion.pem into it


    * Change to use libdvdnav. Should correctly follow streams, and handle ARCcoS DVDs.
  % mkdir .FXP.One && cp lion.pem .FXP.One/  
    * 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!


Start the FXP.One engine


=== llink-2.2.0 ===
  % FXP.One


    * Added UDF2.50 support to dvdread for BD-5 ISO images. (HD-DVD as well, in theory)
(Please use gnuMake; which might be called make, gmake, gnumake etc on your system)
    * 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


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.


=== llink-2.1.2 ===
'''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?''


    * Changed from libdvdread-0.9.7 to libdvdnav-4.2.1 for future features
You will need to openssl-devel for your system. On most Red Hat Variants it can be done with yum.  
    * Changed libdvdread access to wrap it in an async wrapper (more efficient, cleaner)
    * 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.


yum -y install openssl-devel


=== llink-2.1.1 ===
'''''SSL Issues'''''


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


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


    * Major Windows code changes. IO base replaced.
Now go back to your FXP.Oned directory,
    * Minor "visited" changes, since files are read in chunks, caching was needed.
make clean
    * Minor debug mode HTML comment lost bug fixed. '''[mikevs]'''
./configure LIBS=-ldl --with-ssl-dir=/home/erin/srcs/openssl-1.0.0g
    * Directories can also use ignore= tag '''[mikevs]'''
make
    * Next/Prev will go to top/end properly. '''[mikevs]'''
make install
    * Conditional MACROS if client agent is Syabas '''[mikevs]'''
    * Last-line virtual line added for better navigation '''[mikevs]'''
    * Playlist feature to use "type=" tag, like type=music. '''[mikevs]'''
    * 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


==Running the engine==


=== llink-2.0.9 ===


    * Clean up of -h usage display '''[IronWolve]'''
'''You will most likely need to create an SSL certificate for the engine since the default is only to accept secure connections.'''
    * hide_path() prototype fix, coredump for menus. '''[erlis]'''
    * CDATA core fix '''[kpziegler]'''
    * "visited" media code started. Colour-code media already played.




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


    * Start of "Menu" support.
FXP.One engine will do this for you. When you start the engine, it
    * parental support. ".Directory" (and "$Directory$" under Windows) are not shown, unless correct PIN is entered.
will as for a "Key". This is the Key that it will use to encrypt all
    * iStar double selector (status unknown)
its data files. If you do not want encryption, just press return.  
    * "." 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)


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


=== llink-2.0.7 ===
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).


    * 32 bit lseek fix, would manifest as unable to seek/ff in large files. '''[dburckh]'''
To start again, you need to delete all .FXP.One files, and the engine
    * libdvdread, should read .iso and .img files. (display .IFO/.VOB file to play)
will create these again.
    * SSDP announce to use bindif, if so specified '''[P.K.Lee]'''
 
    * Added -L option to work around LinkTheater bug
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".