LINUXsecure_LOGO
Issues on Linux and Security
 
-->
 
 
 
 
 
 
 
home
button Other --> F2html.pl
 

mp3riot (formerly known as f2html.pl)

News:

I decided to rename f2html.pl into mp3riot. the reason is, that the name f2html.pl does not clearly indicate, for what the program is best suited for. Because the program has grown so much (and because the the name should be more attractive to get more users), a renaming seems to be a must to me.

There are some important news about mp3riot / f2htmlpl. Please see the NEWS for further details.

About:

Mp3riot (formerly known as f2html.pl) is a command line utility that searches recursively through directories, builds a file list (with additional file information), and generates html files, plylists, etc. The output can be controlled, links can be corrected, and more. The script is mainly desigend to create Web pages, playlists, and databases for mp3-files, but can also used for other purposes.

Read the manual for further details.

Main Features:

  • supports playlists in m3u, pls, and xml format
  • supports sql output
  • creates html pages, templates can be used
  • supports advanced grouping methods
  • supports slection by date ranges, file extensions, and by random
  • supports renaming of mp3 files using id3tag information, templates or guessing can be used
  • advanced string manipulation methods
  • and much more ...

Download:

Latest version: mp3riot-1.3.zip

Older versions of mp3riot / f2html.pl:

For Windows-Users:

You can also download a windows executable compiled with perl2exe. Then you need not to install perl. But I have not testet the functionality of the executable in detail. So it is best to use perl and the source of mp3riot!

Windows binaries of mp3riot:

Usage:

perl mp3riot [options]
Options:

  • -h, --help: Show this screen and exit
  • -k, --mkconf:Use an assistant to write a config file
  • -o, --os win/unix: Default "unix", otherwise windows
  • -Q, --sortby value: Default is NAME (the filename). You can sort the filelist by the following criteria: URLNAME, SHOWNAME, DIR, NAME, TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, TRACKNUM, SIZE, MODTIME, VBR, BITRATE, FREQUENCY, MINUTES, SECONDS, FIRSTCHAR
  • -n, --doublicates: Check for doublicates of files by their filename
  • -D, --md5doublicates: Check for doublicates of files by their MD5 sum
  • -V, --seekvalues <n,+-n,n>: Three values that have to be seperated by ",". This is an useful option for --md5doublicates. The first one is the offset in bytes, the second is the number of bytes to seek (and the direction), and the last value tells the program where to start from (1 means to start from the begining of a file, 2 means to start from the end of a file. So, a combination of 1000,-1128,2 tells the programm to start 1128 bytes before the file ends (id3v1 tag is 128 bytes long!) and use 1000 bytes for calculation of md5 sums.
  • -b, --dbfile file: Write database to a file for searching it
  • -m --m3u file: Write a m3u playlist file. Directory and filename or GROUPPATH for writing m3u files for groups.
  • -X --xml file: Write a xml playlist file. Directory and filename or GROUPPATH for writing xml files for groups.
  • -L --pls file: Write a pls playlist file. Directory and filename or GROUPPATH for writing pls files for groups.
  • -W, --b4s file: Write a b4s playlist file. Directory and filename or GROUPPATH for writing b4s files for groups.
  • -t, --html file: Write a html file. Directory and filename or GROUPPATH for writing html files for groups.
  • -a, --http name: Define the http address for url
  • -r, --remove: Remove id3tags (do you know what you are doing?)
  • -i, --mp3info: Use mp3/ogg info for html output
  • -e, --ext: Remove file extensions in html output
  • -f, --filesize: Use filesize for html output
  • -c, --check ext: Select files by their extension(s) (e.g. mp3). For every extension use a seperate flag!
  • -z, --skip number: Skip n elements of mount/directories/names
  • -p, --conf file: Use a config file
  • -w, --utf8 file: File with UTF-8 code for replacements in links
  • -q, --nocs: Do sorting not case sensitive
  • -j, --statfile file: Write statistics to file
  • -d, --dir directory: Define the (multiple) directory(ies) the mp3s are stored in. For every directory use a seperate flag!
  • -g, --sql file: Filename to store sql table in (only for mp3 and ogg!)
  • -y, --replace file: Name of replacement file; in the file use <string_1>=<string_2> to transform <string_1> into <string_2>; special characters like a backslash have to be preceeded by a backslash "\\" (used for directories)
  • -s, --seperate path: Write seperate html files for every character
  • -R, --rename: Renames mp3 and ogg file using their id3tag. The use of rename_template in the configfile is optional. If rename_template is not used, the program tries to create a filename like: ARTIST - ALBUM - TRACKNUMBER - TITLE by using the id3tag. It assumes, that the filenames have a similar format and tries to guess, whether the id3tag has enough information to create a better filename. Old and new filenames are stored in RENAME.bak
  • -B, --renameback: Renames files back using the file RENAME.bak
  • -T, --templatesHtml templates are used. They have to be defined in the conmfig file using the commands html_head, html_change, html_body, html_footer, html_sep_head. See the README for avalable templates!
  • -G, --groupfile file: Filename for grouping information: <groupname1>=<TYPE>=<string1>,<string2>,...
    Prossible types are: EQUAL, NAME, DIR, TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, TRACKNUM, SIZE, MODTIME, VBR, BITRATE, FREQUENCY, MM, SS, FIRSTCHAR
  • -P, --grouppath path: The path, where to write the html files for group
  • -O, --older number: Only files are selected, having a modification time higher than the specified days
  • -Y, --younger number: Only files are selected, having a modification time less than the specified days
  • -I, --id3tag: Use the id3 tag to get infos
  • -S, --random number: Percentage of file to select randomly (e.g. 50 to select 50% of files/every second file)
You can use nearly all commands in a config file (and it is the best to do it this way!). The syntax then changes sligthly, so that, for example, --dir changes to dir=
Additionally, in the config file it is possible to use the commands:
  • exec= param: Execute system command. This command can be used multiple times
  • rename_template=string:string with templates for renaming files by their id3tag (to be used together with --rename)
    The following rename templates are available: **TITLE**, **ARTIST**, **ALBUM**, **YEAR**, **COMMENT**, **GENRE**. **TRACKNUM**
  • html_head= string: Html code for the head
  • html_change= string: Html code if the first character between two file names change
  • html_body= string: Html code for each filename
  • html_footer= string: Html code for the foot
  • html_sep_head= string: Html code for the head seperate html files by first character
    The following html templates are available: **SUMOFFILES**, **SUMOFMEGS**, **DATE**, **URLNAME**, **SHOWNAME**, **DIR**, **NAME**, **TITLE**, **ARTIST**, **ALBUM**, **YEAR**, **COMMENT**, **GENRE**, **TRACKNUM**, **SIZE**, **MODTIME**, **VBR**, **BITRATE**, **FREQUENCY**, **MINUTES**, **SECONDS**, **HTMLINDEX**, **FIRSTCHAR**

History:

mp3riot 1.3-20041220

  • extended grouping fuction for all playlistfiles
  • renaming of special characters for filenames og groups
  • support of b4s playlistformat
  • sorting of filelist by various criterias of id3tag, mp3 and
  • file information (e.g. ARTIST, BITRATE etc.)
  • extended output of doublicate function by diretory names
  • added FIRSTCHAR as a value for grouping

mp3riot 1.2-20041007

  • Fixed bug in sql output
  • Flexible search for doublicate files using md5 sums
  • search for doublicates by filenames seperated from search function
  • fixed bug in xml output
  • filesize in html output is now rouded
  • replaced progress bar by counter in percentage
  • added counter for collected files
  • fixed bug in index in html output
  • fixed bug in html output for grouping
  • extended grouping function by new type EQUAL
  • bugfix in pls output

mp3riot 1.1-20030728

  • Renamed f2html.pl into mp3riot
  • Fixed output of playlist in M3U format, so that the M3U file is now containing full information
  • Fixed bug for retreaving the TITLE of an id3tag
  • Added output of playlist in XML format
  • Added output of playlist in PLS format
  • Added random fileselection for random playlists
  • Added the tracknumber for sql output
  • Added **TRACKNUM** (tracknumber) and as a template variable for html output
  • Added TRACKNUM (tracknumber) as a variable for groupings
  • Added tracknumber and comment for db output
  • Fixed bug in renaming function when special characters are present in the id3tag
  • Added rename_template to do renaming of files using their id3tag in a flexible way
  • Fixed a bug in renameback

f2html.pl 1.0-20030319

  • Fixed some smaller bugs
  • Rebuild the internal data structure completely
  • Removed option for fast sorting (not necessary any more)
  • Implemented selection of files by their modification time (younger and/or older than days from now)
  • Implemented grouping of files by string matching between group defninitions by various types
  • Implemented variable html-code dsefinitions and templates
  • Changed definition for string replacement
  • f2html.pl now comes with a new version of Info.pm from MP3-Info-1.02 by Chris Nandor
  • The use of the id3tag for sql and html output is now optional
  • Manpage is not supported any more.

f2html.pl 0.9-20030313

  • Fixed a commandline parameter bug where the parameters were handled non case sensitive. Now there are handled case sensitive. As a result the functions RENAME and RENAMEBACK did not work when called with the short command line argument.
  • Fixed a commandline parameter bug that occured with Perl 5.8.0 and Getopt::Long 2.32. The -s flag in line 1 of the perl script causes the program to count the command line parameters in an usual way, so that command line parameters got disturbed and did not work any more.

f2html.pl 0.8-20021105

  • Some changes in the documentation.
  • New option to rename files using their id3tag.
  • New option to rename files back.
  • Some code fixes.
  • Usage of the replace option has changed.

f2html.pl 0.7-20021016

  • Bug for the option "check" in config file and configuration wizard fixed
  • Bug for the check of the mp3 extension when mp3info was enabled fixed.
  • Bug of sum of megs in html output fixed.
  • Bug in mp3table.sql fixed.
  • Basic ogg vorbis support implemented (thanks to Jens Burkal).

f2html.pl 0.6-20020718

  • New method (experimental) for faster sorting. Useful for indexing huge number of files or mp3 files with additional information.
  • New option for checking for dublicates of filenames.
  • Now f2html.pl comes wioth a new version of Info.pm from MP3-Info-1.01 by Chris Nandor.

f2html.pl 0.5-20020626

  • Fixed problem with sql data output when files contain the charakter " ' ".
  • Name of option "hex" changed to "utf8".
  • Implemeted progress bar for prepating html files.
  • More information about what the program is doing.

f2html.pl 0.4-20011127

  • Now f2html comes with a new version of Info.pm from MP3-Info-0.91 by Chris Nandor.
  • Minor Bugfixes.
  • New option to create sql database.
  • New option to create a config file.

f2html.pl 0.3-20010628

  • Some checks and corrections for pathnames.
  • Only existing characters are written out at the top of a html file.
  • Rewrite of sum of files and sizes. Important for writing seperate html files for every character.
  • The option -q has been implemented and allows for doing the procedures in a non case sensitive way.
  • The option -j has been implemented. A html file with statistics can be written out.

f2html.pl 0.2-20010117

  • The manual has been updated.
  • The option -c has been updated. Now this option can be used more than only one time. So one is able to select file by different extensions.

f2html.pl 0.1-20001127

  • Initial release.


back to top

button Whats New
[2005-02-18] mp3riot version 1.3 released
[2004-10-08] mp3riot version 1.2 is out.
[2004-04-30] Added section Bridging
[2004-01-09] working progress on mp3riot version 1.2
Linux.com takes a lookat using 2-factor authentication for commit access to kernel git repositories. "Having the technology available is one thing, but how to incorporate it into the kernel development process -- in a way that doesn't make developers' lives painful and unbearable? When we asked them, it became abundantly clear that nobody wanted to type in 6-digit codes every time they needed to do a git remote operation. Where do you draw the line between security and usability in this case? We looked at the options available in gitolite, the git repository management solution used at kernel.org, and found a way that allowed us to trigger additional checks only when someone performed a write operation, such as "git push."Since we already knew the username and the remote IP address of the developer attempting to perform a write operation, we put together a verification tool that allowed developers to temporarily whitelist their IP addresses using their 2-factor authentication token."
Linux Kernel Git Repositories Add 2-Factor Authentication (Linux.com)

CentOShas updated nss-util(C7: incorrect wildcard certificate handling), nss-softokn(C7: incorrect wildcard certificate handling), and nss(C7: incorrect wildcard certificate handling). Fedorahas updated kernel(F19: multiple vulnerabilities) and samba(F19: remote code execution/privilege escalation). Oraclehas updated nss, nss-util, nss-softokn(OL7: incorrect wildcard certificate handling). Red Hathas updated qemu-kvm(RHEL6: multiple vulnerabilities). Scientific Linuxhas updated qemu-kvm(SL6: multiple vulnerabilities). SUSEhas updated flash-player(SLED11 SP3: multiple vulnerabilities). Ubuntuhas updated openssl(10.04 LTS: regression in previous update).
Security advisories for Tuesday

Python core developer Nick Coghlan seeks to dispel worriesthat an eventual Python 4.0 release will be as disruptive as 3.0 was. "Why mention this point? Because this switch to 'Unicode by default' is the most disruptive of the backwards incompatible changes in Python 3 and unlike the others (which were more language specific), it is one small part of a much larger industry wide change in how text data is represented and manipulated. With the language specific issues cleared out by the Python 3 transition, a much higher barrier to entry for new language features compared to the early days of Python and no other industry wide migrations on the scale of switching from 'binary data with an encoding' to Unicode for text modelling currently in progress, I can't see any kind of change coming up that would require a Python 3 style backwards compatibility break and parallel support period."
Coghlan: Why Python 4.0 won't be like Python 3.0

Neil Brown, the MD maintainer, has sent out an alert for a bug which, in fairly abnormal conditions, can lead to data loss on an MD-hosted RAID6 array. "There is no risk to an optimal array or a singly-degraded array. There is also no risk on a doubly-degraded array which is not recovering a device or is not receiving write requests."RAID6 users will likely want to apply the patch, though, which is likely to show up in the next stable kernel update from distributors.
An md/raid6 data corruption bug

The election for half of the members of the Linux Foundation's Technical Advisory board will be held 8:00PM, August 20, at the Kernel Summit/LinuxCon joint reception. As of this writing, there are fewer candidates than open positions. Anybody interested in serving on the TAB is encouraged to make their interest known prior to the election time and, if possible, attend the election.
The Linux Foundation Technical Advisory Board election

Debianhas updated xen(multiple vulnerabilities). Fedorahas updated 389-ds-base(F20: information disclosure), iodine(F19; F20: authentication bypass), kernel(F20: multiple vulnerabilities), krfb(F19; F20: denial of service), pixman(F20: denial of service), and tboot(F19; F20: boot chain bypass). Gentoohas updated libmodplug(multiple vulnerabilities). Mageiahas updated 389-ds-base(information disclosure), dhcpcd(denial of service), flash-player-plugin(multiple vulnerabilities), kernel-linus(M3; M4: multiple vulnerabilities), kernel-tmb(M3; M4: multiple vulnerabilities), and kernel-vserver(multiple vulnerabilities). openSUSEhas updated flash-player(11.4: multiple vulnerabilities). Red Hathas updated nss, nss-util, nss-softokn(RHEL7: incorrect certificate handling). SUSEhas updated krb5(code execution). Ubuntuhas updated kernel(14.04: multiple vulnerabilities) and linux-lts-trusty(12.04: multiple vulnerabilities).
Monday's security updates

Linus has released3.17-rc1 and closed the merge window for this release. He had suggested that the merge window could be extended, but that's not how things turned out. "I'm going to be on a plane much of tomorrow, and am not really supportive of last-minute pull requests during the merge window anyway, so I'm closing the merge window one day early, and 3.17-rc1 is out there now."
Kernel prepatch 3.17-rc1

O'Reilly Radar has posted a retrospective lookat the OpenStreetMap(OSM) project on the occasion of OSM's ten-year anniversary. Tyler Bell calls the project "the most significant development in the Open Geo Data movement"outside of GPS; noting that before OSM's creation, "map data sources were few, and largely controlled by a small collection of private and governmental players. The scarcity of map data ensured that it remained both expensive and highly restrictive, and no one but the largest navigation companies could use map data."Particularly interesting are the various comparisons between the state of the map in 2007 and today; the project's 1.5 million registered users do not seem to be slowing down, even if today's emphasis has shifted somewhat to less-visible features: "nodes are getting connected and turn restrictions added to facilitate navigation, while addresses are being sourced to help with geocoding and place finding."
Ten years of OpenStreetMap (O'Reilly Radar)

Fedorahas updated gd(F20: denial of service), httpd(F19: multiple vulnerabilities), krb5(F20: code execution), python-bottle(F19; F20: remote code execution), tor(F19; F20: traffic confirmation), transmission(F19: code execution), and v8(F19: denial of service). Ubuntuhas updated serf(12.04, 14.04: information leak) and subversion(12.04, 14.04: multiple vulnerabilities).
Friday's security updates

Kubuntu developer Jonathan Riddell looks at packaging all of the pieces of KDEon his blog. His perspective is, of course, Kubuntu-focused, but the comments contain lengthy responses from Fedora and openSUSE KDE packagers, which makes for a good look at the work distributions put into packaging a huge code base like KDE. "Much of what we package are libraries and if one small bit changes in the library, any applications which use that library will crash. This is ABI and the rules for binary [compatibility]in C++ are nuts. Not infrequently someone in KDE will alter a library ABI without realising. So we maintain symbol files to list all the symbols, these can often feel like more trouble than they're worth because they need updated when a new version of GCC produces different symbols or when symbols disappear and on investigation they turn out to be marked private and nobody will be using them anyway, but if you miss a change and apps start crashing as nearly happened in KDE PIM last week then people get grumpy."(Thanks to Robie Basak.)
Riddell: Upstream and Downstream: why packaging takes time

Greg Kroah-Hartman has announced the release of five new stable kernels: 3.16.1, 3.15.10, 3.14.17, 3.10.53, and 3.4.103. As usual, each has important fixes and users should upgrade. In addition, this is the last 3.15.x release, so users should be switching to the 3.16 series.
Five new stable kernels

CentOShas updated openssl(C7; C6; C5: multiple vulnerabilities). Debianhas updated gpgme1.0(code execution). Gentoohas updated adobe-flash(multiple vulnerabilities), catfish(multiple privilege escalations), and libpng(three vulnerabilities, two from 2013). openSUSEhas updated flash-player(13.1, 12.3: multiple vulnerabilities). Oraclehas updated openssl(OL7; OL6; OL5: multiple vulnerabilities). Red Hathas updated openssl(RHEL6&7; RHEL5: multiple vulnerabilities). Scientific Linuxhas updated openssl(SL6; SL5: multiple vulnerabilities).
Security advisories for Thursday

The LWN.net Weekly Edition for August 14, 2014 is available.
[$] LWN.net Weekly Edition for August 14, 2014

Flockis the annual conference for the Fedora distribution, but, like most free-software events, the program draws on a wide range of projects. At this year's event in Prague, keynote speaker Sean Cross spokeabout his work on the Novena laptopproject—including some speculation as to why it is succeeding in the demonstrably harshspace of open hardware products. Cross told the audience he hoped to get Fedora running on Novena (which runs Debian only at the moment) over the course of the conference, but he also hoped that the Novena story would be a helpful and informative tale for others undertaking a difficult, large-scale task—such as building a distribution.
[$] Lessons from the Novena laptop project

Red Hathas updated flash-plugin(multiple vulnerabilities) and openstack-ceilometer(RHEL OpenStack Platform: privilege escalation). Ubuntuhas updated kernel(14.04: denial of service), linux-lts-trusty(12.04: denial of service), and openjdk-6(10.04, 12.04: multiple vulnerabilities).
Wednesday's security updates

Cacti Multiple Unspecified Security Vulnerabilities
Vuln: Cacti Multiple Unspecified Security Vulnerabilities

Cacti Multiple Cross Site Scripting Vulnerabilities
Vuln: Cacti Multiple Cross Site Scripting Vulnerabilities

Review Board CVE-2014-5027 Unspecified Cross Site Scripting Vulnerability
Vuln: Review Board CVE-2014-5027 Unspecified Cross Site Scripting Vulnerability

OpenSSL CVE-2014-0224 Man in the Middle Security Bypass Vulnerability
Vuln: OpenSSL CVE-2014-0224 Man in the Middle Security Bypass Vulnerability

CVE-2014-5307 - Privilege Escalation in Panda Security Products
Bugtraq: CVE-2014-5307 - Privilege Escalation in Panda Security Products

CVE-2014-4973 - Privilege Escalation in ESET Windows Products
Bugtraq: CVE-2014-4973 - Privilege Escalation in ESET Windows Products

SQL Injection Vulnerability in ArticleFR
Bugtraq: SQL Injection Vulnerability in ArticleFR

[SECURITY] [DSA 3007-1] cacti security update
Bugtraq: [SECURITY] [DSA 3007-1] cacti security update

News, Infocus, Columns, Vulnerabilities, Bugtraq ...
More rss feeds from SecurityFocus

-->