This file is indexed.

/usr/bin/xiph2vclt is in vclt-tools 0.1.4-4.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/perl

#      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2009-2011
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License version 3
#    as published by the Free Software Foundation.
#
#    It is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this software; see the file COPYING.gplv3. If not, write to
#    the Free Software Foundation, 51 Franklin Street, Fifth Floor,
#    Boston, MA 02110-1301, USA.

use strict;
use XML::Simple;
use Data::Dumper;
use Digest::SHA qw(sha1);

my %mine2codec = (
                  'application/ogg' => 'ogg_vorbis',
#                  'audio/mpeg'      => 'mpeg',
#                  'audio/aacp'      => 'aacp',
#                  'audio/aac'       => 'aac',
#                  'video/nsv'       => 'nsv',
                 );

my $xml = XMLin($ARGV[0] || 'yp.xml');

my $list = $xml->{'entry'};

if ( ref($list) eq 'HASH' ) {
 $list = [$list];
}

my $type;
my $uuid;

foreach my $c (@{$list}) {
 $type = $mine2codec{$c->{'server_type'}};


 print "TITLE=$c->{'server_name'}\n" if $c->{'server_name'};

 print "STREAMURL=$c->{'listen_url'}\n";
 print "SIGNALINFO=codec:$type\n" if defined $type;

 if ( defined(($uuid = gen_uuid($c))) ) {
  print "HASH={UUID}$uuid\n";
 }

 print "==\n";
}

exit(0);

# ---
sub gen_uuid {
 use bytes;
 my ($c)  = @_;
 my $hash = '\153\247\270\021\235\255\021\321\200\264\000\300\117\324\060\310'; # URL NS
 my $sha1;
 my $uuid;

 $hash .= $c->{'listen_url'};

 $sha1 = sha1($hash);

 $uuid = substr($sha1, 0, 16);

 substr($uuid, 6, 1, chr(ord(substr($uuid, 6, 1)) & 0x0f | 0x50));
 substr($uuid, 8, 1, chr(ord(substr($uuid, 8, 1)) & 0x3f | 0x80));

 return join('-',
            map { unpack('H*', $_) }
            map { substr($uuid, 0, $_, '') }
            (4, 2, 2, 2, 6));
}

#ll

__END__
          'current_song' => 'Juan Chavez APPO - Entrevista a Juan Chavez de la APPO',
          'bitrate' => 'Quality 2.0',
          'listen_url' => 'http://labbs.net:8080/nerdfiles.ogg',
          'channels' => '0',
          'samplerate' => '0',
          'genre' => 'linux gnu',
          'server_type' => 'application/ogg',
          'server_name' => 'nerdfiles.ogg'