/usr/share/doc/liquidsoap/html/scripts/icecast_proxy.html is in liquidsoap 1.1.1-7.1.
This file is owned by root:root, with mode 0o644.
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 | <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" \
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Liquidsoap :: Audio Stream Generation</title>
<link href="../css/style.css" type="text/css" rel="stylesheet" />
<link href="../css/homepage.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="logo">
<h1>Liquidsoap</h1>
<h2>Audio Stream Generation</h2>
</div>
<div>
<ul id="menu">
<li id="menu-about">
<a href="../index.html">about</a></li>
<li id="menu-support">
<a href="../documentation.html">documentation</a></li>
<li id="menu-developers">
<a href="https://github.com/savonet/liquidsoap/issues">developers</a></li>
</ul>
</div>
</div>
<div id="content">
<h3>icecast_proxy.liq</h3>
<pre># Serve all files other
# than /admin.* by fetching data
# from Icecast, located at localhost:8000
def proxy_icecast(~protocol,~data,~headers,uri) =
def f(x) =
# Replace Host
if string.capitalize(fst(x)) == "HOST" then
"Host: localhost:8000"
else
"#{fst(x)}: #{snd(x)}"
end
end
headers = list.map(f,headers)
headers = string.concat(separator="\r\n",headers)
request =
"#{method} #{uri} #{protocol}\r\n\
#{headers}\r\n\r\n"
get_process_output("echo #{quote(request)} | \
nc localhost 8000")
end
# Register this handler at port 8005
# (provided harbor sources are also served
# from this port).
harbor.http.register(port=8005,method="GET",
"^/(?!admin)",
proxy_icecast)
</pre> <a href="icecast_proxy.liq">Download</a>
</div>
<div>
<div id="footer"> 2003-2013 Savonet team</div>
</div>
</div>
</body>
</html>
|