UNRAID IILINK howto


Recommended Posts

First off I am a novice just fiquered how to get this up and running and have tested it and its 100% perfect. This is how I done it

 

1) go to http://www.lundman.net/wiki/index.php/Llink:linux

 

up top there is a llink-2.2.0-linux_x86.tar.gz

download it and extract it to your flash drive

 

(there should be a folder called llink as well as other files not in a folder such as bzroot

2)download http://www.editpadpro.com/editpadlite.html

then open llink.conf and change the part where it talks about the root device

find the one that doesnt have a # infront of it and chaneg it to read like the example below

ROOT|path=/mnt/user/HDTV/

 

(***this is an example your share will be exactly the same except called whatever you call it mine is labeled HDTV)

3) open msdos prompt and type telnet tower (then enter)

then root as username with no password

 

 

then

type cd .. (make sure it is cd with a space then .. then enter)

then

type this in

cd /boot/llink ( enter)

then type llink (enter)

and you should see it started

then you can

type exit and you will see the telnet session ended then just fire up your popcorn hour or other nmt and you should see

llink-daemon as as server

Link to comment

to get it to autostart look below

 

if you want to know where your shares are stored they are in the

mnt directory on the flash.

 

just telnet in and cd ..

cd /mnt

ls

 

then you will see a list you can add more than one in the llink.conf I just added one to verify it works.(the one called HDTV in the above example)

Link to comment

okay I now have it working from the startup

you need to add

cd /boot/llink

echo "./llink" | at now + 1 minute

 

 

to the go script

 

below is a copy of my go script from the config directory on the flash

in between the asterisks

*****

#!/bin/bash

# Start the Management Utility

/usr/local/sbin/emhttp &

cd /boot/llink

echo "./llink" | at now + 1 minute

sleep 30

for i in /dev/md*

do

    blockdev --setra 2048 $i

done

*******

Link to comment

I'm having a problem with llink:

 

If I enable my path in the conf file -

 

ROOT|path=/mnt/user/Movies/

 

The llink menu page does not display (the Aires theme page).

 

If I comment out my path and enable the default HTTP path, I do get the llink menu page.

 

I can confirm via Telnet that I have the correct path to my Movies share, but for some reason when enabled, it appears to kill the webserver.  You can also test this by going to //Tower:8001

 

I can't figure out what I'm doing wrong.

 

Also, do you know the command to stop llink without rebooting?

 

Cheers,

Bill

Link to comment

#

# SSDP is the mulsticast discovery protocol used by the

# Buffalo Networked DVD Player, and hopefully something

# similar by the others. In theory you should

# not need to change anything here if you want to use it.

#

# Example line with all options is:

# SSDP|ON|multicast=239.255.255.250|port=1900|bindif=0

#

# Due to a bug in lion, you might have to specify bindif in reverse

# order. If you want 192.168.10.4, you bindif=4.10.168.192. This option

# is usually not required. Remove if unsure.

#

# The default is:

SSDP|ON

 

#

# When we receive SSDP broadcast, and there might be a lot

# on your network, select the "match" filter by which we

# will recognise our DVD Player. In theory this should work

# for all MyiBox devices. If your report something different

# please email me for updates.

#

# Example line with all options is:

# USN|match=*myiBoxUPnP*SyabasSTB*|pattern=192.168.*:*

#

# The default is:

USN|match=*myiBoxUPnP*SyabasSTB*|pattern=*

 

 

# Advanced:

# Manually connect and declare ourselves? This should not be needed but

# for some situations it could be useful.

# For llink running on nmt, it ignores SSDP from own IP, so we alias a new

# IP, and force announcement to port 2020.

#ANNOUNCE|url=http://127.0.0.1:2020/myiBoxUPnP/description.xml|usn=llink_myiBoxUPnP_SyabasSTB_llink|freq=30

 

 

#

# The HTTP request port. This is where the DVD player will connect

# for the directory listings, as well as the files.

# By default, Buffalo's own software uses port 8000, so I use

# port 8001 so that both can run at the same time.

# The "name" field is what is displayed on the DVDPlayer.

# "pin" is only used for "parental" extra authority. All Directories and

# files starting with a "." are normally not shown. If a PIN is entered

# correctly, these are added to the listing. They are actually text strings.

#

# NOTE: user and pass is NOT yet implemented! Use bindif to

# bind to internal only nic. Patterns are also to come. See bindif note above

#

# Example line with all options is:

#HTTP|port=8001|bindif=0|pin=1234|name=llink-daemon|user=Syabasi|pass=myIBox

#

# The default is:

HTTP|port=8002|pin=1234|name=llink-daemon

 

#

# The SKIN used for all directory listings. Not that there are many.

# It will send "head.html", followed by the "TYPE" files below, and

# finally "tail.html". If you do something neat, please send it to me.

#

# SIZE_TYPE=human|bytes|none

#

# When replacing LLINK_FILE_SIZE, should it use human (5GB, 350MB) or

# bytes (1234576) or none (space). Note if you want to have details in

# the skin, use LLINK_DETAIL_SIZE which is always "bytes".

#

# PAGE_SIZE sets the number of lines a listing should send, by default.

# You can not set it if you want everything in one long list. Note that

# clients can always request from/to, which over-rides this value.

#

# PASSES specifies how many times should it loop over a directory listing,

# usually 1 is sufficient, but if you are doing fancy things... it tags on

# PASS number infront of the file names. Ie, head.html->2head.html,

# line_dir.html->2line_dir.html. First pass is still head.html. (not 1head.html).

#

# Example line with all options is:

# SKIN|path=./skin/default/|MaxNameLength=40

#

# The default is:

#

# My own hack job

#SKIN|path=./skin/moon720/|MaxNameLength=50|SIZE_TYPE=human

#

# New Skin from Syabas

SKIN|path=./skin/aquarius_720/|PAGE_SIZE=10|SIZE_TYPE=human

#

# Skin by PoPEye

#SKIN|path=./skin/kamaishi_skies/|PAGE_SIZE=10|SIZE_TYPE=human|PASSES=2

#RAND|FREQ=300|MAX=2

#

# Skin by dc11ab

#SKIN|path=./skin/blackskin720/|PAGE_SIZE=10|SIZE_TYPE=human

#RAND|FREQ=300|MAX=31

#

#Skin by Mikesv

#SKIN|path=./skin/nmt/|PAGE_SIZE=10|SIZE_TYPE=human

#

# New Skin from NC

#SKIN|path=./skin/clterm720/|PAGE_SIZE=10|SIZE_TYPE=human

 

 

#

# TYPE

#

# Define types of movies. This is to match a filename, to a

# HTML template file. So that "*.mpg" files, use "lines_movies.html"

# when producing HTML for the DVD Player.

# NOTE: This is "in ORDER". The first/top match here is used. End this

# list with "ext=*" and "name=unknown", or, blank if you wish not

# to display unknown types.

#

# See also the "mime.types" file, although my DVDPlayer seems to ignore

# "Content-Type:" tag.

#

# Example line with all options is:

# TYPE|name=Movies|ext=*.mpg/*.mpeg/*.avi/*.wmv|filename=line_movie.html|menu=menu.html

#

 

# Separators. If you require extra HTML every 5th directory listing, as

# and example, we do this with special TYPE entry. This need to be before any

# File extention mappings. Note it is sent before item "X" so if you want 5

# entries, then a separator, the value to use is "6".

# TYPE|name=Separator|ext=NA|count=6|ignore=*|filename=separator.html

 

# Movie types

TYPE|name=Movies|ext=*.mpg/*.mpeg/*.avi/*.wmv/*.mp4/*.vob/*.ifo/*.ts/*.flv/*.mkv/*.tp/*.mov/*.m2ts/*.evo/*.m4v|filename=line_movie.html

 

# Music types

TYPE|name=Music|ext=*.mp3/*.wav/*.ogg/*.wma/*.flac|filename=line_music.html

 

# If you are using JUKEBOX style skin, you probably do not want to add .jpg .png

TYPE|name=Photo|ext=*.jpg/*.png/*.jpeg|filename=line_photo.html

# Want music with your photos? Set args=/directory and it will play all

# inside said directory.

#TYPE|name=Photo|ext=*.jpg/*.png/*.jpeg|filename=line_photo.html|args=/mp3/VA-Barnyard-OST-2006-EGM/

 

# Default entry for directory

TYPE|name=Directory|ext=NA|filename=line_dir.html

#TYPE|name=Directory|ext=NA|ignore=Sample|filename=line_dir.html

 

# Unrar on the fly? Match *.rar, but ignore anything not .part01.rar

#

# Included unrar-seek

# Windows

#TYPE|name=RarDirectory|ext=*.part1.rar/*.part01.rar/*.part001.rar/*.part0001.rar|filename=line_dir.html|cmd=unrar|args=unrar.exe

#TYPE|name=RarDirectory|ext=*.rar|ignore=*.part?.rar/*.part??.rar/*.part???.rar/*.part????.rar|filename=line_dir.html|cmd=unrar|args=unrar.exe

TYPE|name=RarDirectory|ext=*.part1.rar/*.part01.rar/*.part001.rar/*.part0001.rar|filename=line_dir.html|cmd=unrar|args=./unrar

TYPE|name=RarDirectory|ext=*.rar|ignore=*.part?.rar/*.part??.rar/*.part???.rar/*.part????.rar|filename=line_dir.html|cmd=unrar|args=./unrar

 

TYPE|name=Playlists|ext=*.pls|filename=line_playlist.html

 

 

# If you want unknown files to show up, uncomment the next line. If

# you want them hidden, comment-out the next line.

# TYPE|name=unknown|ext=*|filename=line_unknown.html

 

#

# Re-direct. You can also send certain file lookups to check an alternate

# directory. Most commonly a common subtitle-directory.

# "filename" needs just be defined, it is otherwise not used. "args" should

# be the new directory name.

TYPE|name=subtitles|cmd=redirect|ext=*.srt/*.sub/*.smi/*.ssa|ignore=*|filename=.|args=/Users/lundman/subtitles/

 

#

# Want to redirect the XML files?

#

#TYPE|name=extra|cmd=redirect|ext=*.xml/*.jpg|ignore=*|filename=.|args=/Users/lundman/tmp/

 

# Do you want menu?

TYPE|name=Menu|ext=NA|ignore=*|filename=menu.html

TYPE|name=DirectoryMenu|ext=NA|ignore=*|filename=menu_dir.html

#TYPE|name=Menu|ext=*.iso|ignore=*|filename=menu_iso.html

 

# Handle ISO and IMG files internally?

# It is optional to use "VIDEO_TS" directory names here as well, but it

# is included by default so that decryption can work, and DVDREAD_MERGE works.

TYPE|name=libdvdread|ext=*.iso/*.img/*.toast/VIDEO_TS|filename=line_dir.html|cmd=dvdread

 

 

 

 

#

# For those who want to define a RAND set of images, or named, you

# can define that here

# RAND|FREQ=300|MAX=5

# would generate a new random value every 300 seconds, or 5 minutes, of values

# of 1,2,3,4,5. When replaced with macro, it leaves "rand3" for example, so

# if can be used with img src="background_<!--LLINK_RAND-->.jpg" to be

# replaced with img src="background_rand3.jpg".

#

# RAND|FREQ=300|MAX=5

#

 

#

# Various Configuration Options to modify the behavior of certain commands.

#

# DVDREAD default is to split .VOBs into 1GB parts. If you set it to

# "MERGE" it will make one giant VOB instead.

OPT|DVDREAD_MERGE=1

# Set "NOTSDIR" if you wish to have no top level "VIDEO_TS" directory

OPT|DVDREAD_NOTSDIR=1

# *.ISO files in RARs should be handled by libdvdread?

OPT|DVDREAD_RARISO=1

 

# Do you want to see RAR files, and expand them like directories, or

# Do you want RAR files to be expanded automatically, and directory show

# the contents?

OPT|EXPAND_RAR=1

 

# Do you want to see ISO files, and expand them like directories, or

# Do you want ISO files to be expanded automatically, and directory show

# the contents?

OPT|EXPAND_ISO=1

 

# Send index.html pages? If a directory contains an "index.html" file,

# should llink send it instead of the default behavior of listing the

# contents. This enables "static"-content-jukebox skins to work.

OPT|SEND_INDEX=1

 

# Delete options, be careful here as anyone on your network could issue these

# commands. pattern might not lock connections enough, so we should add a

# match to HTTP line.

# YES = Always allow operation, STRONGLY DISCOURAGED. Use PIN!

# NO  = Always deny operation

# PIN = Allow operation after valid PIN input. Your IP is registered for 15mins

#

# DEL_DIR=YES, DEL_RECURSIVE=NO : Will only let deletion of empty directories.

# DEL_DIR=YES, DEL_RECURSIVE=YES: Will delete the directory-tree.

#

OPT|DEL_FILE=PIN

OPT|DEL_DIR=PIN

# I myself am not entirely confident with Delete-Recursive. Use it with care.

OPT|DEL_RECURSIVE=PIN

#

OPT|UNRAR=PIN

 

#

# New sorting options. Define as many sorting styles as wanted, and llink

# will cycle them when requested to change. First one is the default way.

#

# Default line is:

# SORT| by name | newest first | by reverse name | oldest first

#

# The list flags are:

#

#  -t  Sort list in date order

#  -N  Sort list in name order

#  -r  Reverse sorting order

#  -D  Sort directories before files. (Like Windows)

#  -s  Sort list in size order

#  -C  Case insensitive sorting. (Like Windows)

#  -a  Show dot-files

#  -W  Show directory content size instead of block count (expensive)

#  -G  If found ".genre" file, display this instead of group field.

#

#SORT|SET="-CND"|SET="-Ct"|SET="-CNDr"|SET="-Ctr"

SORT|SET="-WCND"|SET="-WCt"|SET="-WCNDr"|SET="-WCtr"

 

 

#

# VISITED MEDIA DB

#

# Define this if you want llink to attempt to display media that it thinks

# has already been watched. It is stored in a DB file.

# MINTIME=sec : Minimum time a media file needs to have played to be considered

# as watched. This is to rule out querying everything.

# PERCENT=int : Minimum bytes sent percentage of total media size to be

# considered watched.

VISITED|FILE=llink.bdb|MINTIME=0|PERCENT=50

 

 

# USER SCRIPTS

#

# For the advanced users, you can define scripts to execute when the CGI part

# of the URI asks for it, with the first argument as the item selected.

# For example, something like:

# <a href=<!--LLINK_CURRENT_DIRECTORY_URL-->/&myscript=<!--LLINK_FILE_URL-->

#

# If the script sends output starting with "STATUS: " the STATUS_MESSAGE

# is updated in llink.

#

# If you set PIN=yes the script can only be executed after valid PIN input.

#

# Do remember to make the script executable (chmod 755 myscript.sh on Unix)

#

#SCRIPT|name=myscript|path=./myscript.sh|PIN=NO

 

 

#

# Your root device(s). I allow you to specify the root as you want it

# and as many roots as you would like.

#

# NOTE: If you define mutiple roots, and those top level directories

# have the same named file and/or directory, you will only be able to

# access the first defined one. Please rename the clashes, or, put them

# into a sub-directory. (Or don't use multiple roots)

#

# You can also use the "SUBDIR" tag to alias a ROOT to a different name.

#

# FLAGS type is no longer used. See the SORT option above.

#

# Example line with all options is:

#ROOT|path=/tmp/

#ROOT|path=c:/shared/

#

# The default is:

#ROOT|path=e:/download/

#ROOT|path=z:/

ROOT|path=/mnt/user/

#ROOT|path=/Users/lundman/netbsd/mp3/|SUBDIR=MyMusic

#ROOT|path=/Volumes/Unsafe/Downloads/

 

# Device ROOT. Example, USB/CDRom device etc. You probably want to use it

# with SUBDIR to give it a name.

#ROOT|path=/dev/disk1|DVDREAD|subdir=DVD

 

 

#

# HTTP file system, current limitation is that there has to be one

# real ROOT defined before this one.

# Default is to send the URL to player, but you can also chose PROXY mode

# where llink will do the connection and relay to player.

#

#ROOT|HTTP=http://www.hd-trailers.net/blog/feed/|path=trailers|PROXY

#ROOT|HTTP=http://www.hd-trailers.net/blog/feed/|path=xtrailers

#HTTP ROOTs must be last.

 

 

 

Link to comment

Just wanted to report that llink is working great on unRAID server now.  One of the movie files in my share was causing llink to choke.

 

Many of my movie files are ISO format, and llink is not particularly friendly with ISO's.  Luckily the files in the ISO are presented in an expanded listing, then I typically pick the largest VOB and play it.  This means no DVD menu though.  Haven't tried playing unexpanded rar files yet.

 

Thanks for the great tutorial on setting up llink.

Link to comment

I just updated the conf file before I had /mnt/user/HDTV I changed it to just /mnt/user  that way all shares show.

 

I also adjusted my go script with

cd /boot/llink

echo "./llink" | at now + 1 minute

this allows it to always boot and start the server. I was having trouble at times after rebooring that I could not always see the llink-daemon now it is working.

 

One last side note if you want to reboot or turn off server make sure you are not straming any files with the nmt and use a browser to stop the array and then hit power down or reboot. I find if you shut down with telnet it causes the server to start a parity check.

Link to comment

@wild:  I'm trying to set up llink on unRAID as well.  When I start llink, I don't "see" the llink-daemon on the NMT (PCH-A110) as a "Media Source" (i.e., it did not look like a share in the Network Browser).  After some research, I found I could connect the llink-daemon as a "Web Service" using "http://<unRAID Box IP Address>:<http Port Number>"  Did you have to do the same thing to establish the NMT connection?

 

Kevin

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.