home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 December / PCWorld_2003-12_cd.bin / Software / Vyzkuste / itunes / shoutcast-1-9-2-windows.exe / README.TXT next >
Text File  |  2002-11-25  |  24KB  |  560 lines

  1.           _ _          __ _        _             _              _   
  2.  _ _ _  _| | |___ ___ / _| |_   __| |_  ___ _  _| |_ __ __ _ __| |_ 
  3. | ' \ || | | (_-</ _ \  _|  _| (_-< ' \/ _ \ || |  _/ _/ _` (_-<  _|
  4. |_||_\_,_|_|_/__/\___/_|  \__| /__/_||_\___/\_,_|\__\__\__,_/__/\__|
  5. ====================================================================
  6.                                               streaming audio system
  7. README.TXT for SHOUTCAST SERVER 1.8.9 - November 25, 2002
  8.  
  9. Table of Contents:
  10.   Introduction
  11.   Requirements
  12.   Updates
  13.   Bug reporting / Support
  14.   Installation
  15.   Configuration
  16.   Running and Shutdown
  17.   Tech Notes / How it Works
  18.   Remote Administration
  19.   XML statistics
  20.   How to Choose Your Maximum Listeners Value
  21.   License
  22.   Version History
  23.  
  24.  
  25.  
  26. Introduction:
  27.  
  28.   SHOUTcast is a streaming audio system for Windows and Un*x platforms.
  29. At the center of the system is this product, the SHOUTcast Distributed
  30. Network Audio Server (DNAS).  The DNAS is responsible for accepting
  31. a broadcast feed from Winamp and the SHOUTcast Source DSP plug-in, and
  32. repeating the broadcast to listeners connected to this SHOUTcast DNAS.
  33. Once your source content is being fed into the SHOUTcast DNAS, it will
  34. also, dependent on the source content's configuration, list itself
  35. with the SHOUTcast directory so listeners can locate your broadcast.
  36.  
  37.   The DNAS also has the ability to deliver on-demand content in MP3
  38. format stored in the content/ directory.
  39.  
  40.   SHOUTcast is a product of Nullsoft, Inc, makers of the fantastically
  41. popular Winamp audio player for Win32.  The SHOUTcast system relies on
  42. Winamp for playback and content sourcing.  Winamp is available at
  43. http://www.winamp.com
  44.  
  45.  
  46. Requirements:
  47.  
  48. If you want to broadcast to listeners, you'll need:
  49.  
  50. * 90Mhz or faster server, running one of Windows 95, 98, NT, 2000, ME,
  51.   Mac OS X, Sparc Solaris 2.7+, FreeBSD 4.x+, or Linux with a libc6 kernel.
  52.  
  53. * 14kB of memory for every listener you want to broadcast to (i.e. 1,000
  54.   listeners means you need 14 Megabytes of RAM), plus whatever your
  55.   operating system needs for overhead, plus 1.5MB for the server's
  56.   base requirements.  Don't set the listener count higher than you need,
  57.   it just screws things up.
  58.  
  59. * Enough bandwidth to run the server.  If you want to broadcast to 100
  60.   listeners at 24kbps, you'll need about 24kbps*100 = 2,400kbps = 2.4Mbps
  61.   of bandwidth.  That's about 2 T1 lines worth of bandwidth.  Trying to
  62.   push 100 128kbps listeners down your 768kbps cable modem isn't going
  63.   to work :)
  64.  
  65. * If you want people on the internet to be able to hear you, you also need
  66.   a clear connection to the internet.  No firewalls, NAT devices, web
  67.   caches at the ISP, proxy servers, or internet sharing devices.  In some
  68.   cases you can make a workaround but if you intend to provide a quality
  69.   streaming service you have to invest in a quality connection.  Naturally,
  70.   if you just want to run a private server locally on a LAN, you don't need
  71.   this at all.
  72.  
  73. * If you want to list this server on the SHOUTcast directory, you will need
  74.   a working DNS server configured as well.  You can verify DNS is working
  75.   by pinging www.yahoo.com, or pulling up a web browser and visiting
  76.   www.shoutcast.com.  Note that you can't ping www.shoutcast.com, because
  77.   AOL blocks ICMP traffic.
  78.  
  79. * A broadcast source.  This is usually in the form of a computer running
  80.   Winamp (can be the same computer running the DNAS), and the SHOUTcast
  81.   Source Plugin.  This is available in the I wanna be a DJ section on
  82.   SHOUTcast.com.
  83.  
  84. If you don't have some/any of the above, you can still broadcast a station, but you'll have to pay someone for the privelege of hosting a SHOUTcast server
  85. for you, and you won't need this piece of software.  To find good providers,
  86. visit the SHOUTcast forums on www.shoutcast.com and hear what others say
  87. about the growing number of streaming audio providers.
  88.  
  89.  
  90. Updates:
  91.  
  92.   SHOUTcast world headquarters is at http://www.shoutcast.com.  Stop by 
  93. to snag the latest version.
  94.  
  95.  
  96.  
  97. Bug reporting / Support:
  98.  
  99.   SHOUTcast is a labor of love, and as such has no formal support mechanism.
  100. Please send your support questions to our volunteer-staffed (and highly
  101. effective) web forums.  Please search the forums BEFORE asking a question
  102. someone else has probably asked a thousand times before.
  103.  
  104.   You may also find the SHOUTcast list server and forums to be useful tools.
  105. The URLs are http://listserv.winamp.com and http://www.shoutcast.com/forum,
  106. respectively.
  107.  
  108.  
  109.  
  110. Installation:
  111.  
  112. Windows:  The provided installer will automatically install the DNAS,
  113. an uninstaller, and Start Menu shortcuts.
  114.  
  115. Unix versions:  Use gunzip and tar to decompress and extract the necessary
  116. binaries for your particular operating system.  When complete, you should
  117. have three files:  the server binary, server config file, and this readme.
  118. Make certain the server is chmod u+x, and that the config file is readable
  119. by the user you want to run the server as.  The server does *not* need to
  120. be run as root, unless you want to use port numbers below 1024 to serve
  121. SHOUTcast audio streams.
  122.  
  123.  
  124.  
  125. Configuration:
  126.  
  127. Windows:  Launch the GUI SHOUTcast DNAS by going to Start Menu -> SHOUTcast
  128. DNAS.  Click on Edit Config in the menu bar, and a text editor will appear with the configuration file for the SHOUTcast server.  When finished, save your changes, and kill the GUI server.  You have to restart the DNAS for changes to take effect.
  129.  
  130. Unix:  Edit the sc_serv.conf file in the text editor of your choice.  Tom
  131. would prefer you use Emacs, because it makes Justin really mad.  Justin would
  132. prefer you use vi, because he thinks Tom suffers from some vicious malaise.
  133. You'll probably be lame and end up using Pico.
  134.  
  135. There's additional documentation available on the parameters on shoutcast.com
  136. in the documentation section.
  137.  
  138.  
  139.  
  140. Running / Shutdown:
  141.  
  142. WINDOWS:
  143.  
  144. The SHOUTcast DNAS installer creates shortcuts under Start Menu -> Programs ->
  145. SHOUTcast DNAS to launch either the console or GUI version of the DNAS.
  146.  
  147. To launch via command line, cd to the directory the DNAS is installed in, and run sc_serv_cons.exe sc_serv.ini.
  148.  
  149. To shutdown, click Kill Server in the GUI version, or press Ctrl-C on the keyboard in the console version.
  150.  
  151. UNIX:
  152.  
  153. Under Unix, cd to the directory where you unpacked the SHOUTcast server, and type ./sc_serv to start the server.  You can start the server in the background by entering ./sc_serv &.  If you want to stop the server, send a TERM or INT signal by issuing a ctrl-C if the server is in the foreground, or a kill -TERM if the server is running in the background.
  154.  
  155. Signals support is included on UNIX.  Issuing a SIGHUP (kill -HUP) will force the DNAS to close and re-open the logfiles (useful for logfile rotation.)     Also, SIGWINCH (kill -WINCH) will reload the following config file items
  156. (and, specifically, NOT items which aren't listed here) and start again:
  157.  
  158.    "Password"
  159.    "LogFile"
  160.    "RelayServer"
  161.    "RelayPort"
  162.    "PublicServer"
  163.    "RealTime"
  164.    "ScreenLog"
  165.    "IntroFile"
  166.    "AutoDumpUsers"
  167.    "DestIP"
  168.    "SrcIP"
  169.    "AutoDumpSourceTime"
  170.    "BackupFile"
  171.    "Yport"
  172.    "BanFile"
  173.    "RipFile"
  174.    "AdminPassword"
  175.    "AllowRelay"
  176.    "AllowPublicRelay"
  177.    "ListenerTimer"
  178.    "WebLog"
  179.    "TchLog"
  180.    "Sleep"
  181.    "Unique"
  182.    "ContentDir"
  183.    "W3CLog"
  184.    "W3CEnable"
  185.    "CleanXML"
  186.    "RIPOnly"
  187.  
  188. If you intend on broadcasting to more than 64 listeners, you may also want to look into unlimiting the descriptors allocated to your shell.  The commands limit, ulimit, and unlimit may be of some assistance to you.
  189.  
  190. Tech Notes / How it Works:
  191.  
  192. As of SHOUTcast 1.6.0, there are two modes of operation.  The DNAS's primary
  193. function is as a live-broadcast repeater.  It receives data from a broadcaster, notifies the SHOUTcast directory when requested to by the client, and repeats the broadcast audio data from the source to the listeners.  It attempts to do this rather efficiently.
  194.  
  195. The second mode of operation is on-demand content streaming.  If you place
  196. .MP3 files in the content directory, SHOUTcast will send these streams to 
  197. listeners along with a small amount of protection keeping them from being
  198. able to save the stream as it comes in (unlike web servers).
  199.  
  200. An example of on-demand streaming and how it works:
  201.  
  202. Assuming you've installed the DNAS in /usr/local/shoutcast, and have
  203. copied a valid MP3 file named music.mp3 into /usr/local/shoutcast/content,
  204. you would place a URL link on a web page as follows:
  205.  
  206. <A HREF="http://your.dnas.ip.address:port/content/music.pls">Music</A>
  207.  
  208. Now, although there is no file called music.pls in the content directory,
  209. when a WEB BROWSER (NOT WINAMP) connects to the DNAS and requests music.pls, 
  210. the DNAS will check to make sure a file called music.mp3 exists in the
  211. content directory, and if so, auto-generate a playlist for the browser to
  212. hand off to the player for streaming.
  213.  
  214. The server runs under many operating systems.  It's a threaded, multi-processor aware application.  Memory use is static (meaning it won't change over time), and dependent upon the number of listeners configured.  CPU usage of the DNAS is very low -- we've broadcasted 24kbps on a single 300mhz processor to over 600 listeners.
  215.  
  216. The DNAS server runs (as of this beta release) on Windows 2000, Windows NT 4/3, Windows 98, Windows 95, FreeBSD, Linux (glibc), MacOS X, and Sparc Solaris.
  217.  
  218.  
  219.  
  220. Remote Administration:
  221.  
  222. Remote administration is handled by connecting to the server with a
  223. web browser.  Point your browser to http://your.servers.ip.address:port/
  224. and log in with the admin password you have specified in the config
  225. file.
  226.  
  227.  
  228.  
  229. XML Statistics:
  230.  
  231. The SHOUTcast DNAS provides an internal mechanism for providing statistics
  232. to external applications via XML, which is useful for providing live 
  233. information on your DNAS embedded in other webpages via PHP, Perl, or 
  234. other methods which can implement XML.  Accessing this data is a bit tricky,
  235. so it's briefly explained here:
  236.  
  237. XML pages should be called via:
  238.  
  239. http://yourip:port/admin.cgi?pass=yourpass&mode=viewxml&page=0
  240. http://yourip:port/admin.cgi?pass=yourpass&mode=viewxml&page=1
  241. ...
  242.  
  243. Where:
  244. Page 0 is all DNAS data
  245. Page 1 is only Main data 
  246. Page 2 is only Webdata Table
  247. Page 3 is only Listener Table
  248. Page 4 is only Songhistory Table
  249.  
  250. Your XML parser MUST send a User-Agent: HTTP header containing the
  251. word "Mozilla" in order for the DNAS to recognize it as something
  252. other than a listener.
  253.  
  254. A sample PHP script for getting XML data from a SHOUTcast DNAS is
  255. available at http://beta.shoutcast.com/~tpepper/grabxml.phps.  It
  256. should be fairly painless to induce what should be done differently
  257. for other implementations of middleware.
  258.  
  259.  
  260. Quick Statistics:
  261.  
  262. To snag a quick list of listener counts, server state, bitrate, and current
  263. title, use the URL http://yourip:port/7.html
  264.  
  265.  
  266.  
  267. How to Choose Your Maximum Listeners Value:
  268.  
  269. All listeners are only able to listen at what their connections can support.
  270. For most users on the net, when you consider modem/PPP overhead, internet 
  271. congestion, and the fact that most modems out there are around 33.6kbps, it
  272. makes sense to use 24kbps for most public streaming. Even though, 
  273. theoretically, 33.6 users should be able to listen at 32kbps, with overhead 
  274. it becomes impossible.
  275.  
  276. Anyone with a 56k modem sending to an upstream server is affected by the 
  277. asymmetric nature of 56k modems. That is, the fastest a 56k modem can download 
  278. data as fast as 53kbps, the upload data is at most 31.2kbps. Sorry, no
  279. 56 or 32kbps streams are servable over a 56k modem.
  280.  
  281. You cannot serve more users that you have available bandwidth. If you're 
  282. running the SHOUTcast server over a modem link at any speed, the most you 
  283. can muster is one user at 24 or 32kbps. Attempting to serve more users than
  284. you have bandwidth only causes skippage.
  285.  
  286. Shell sysadmins will be *very* unhappy if you consume their available 
  287. bandwidth and server CPU without their consent. SHOUTcast is a highly 
  288. demanding program of bandwidth. A T1 line can only theoretically support 
  289. about 60 listeners if no other traffic is on that T1. Additionally, each 
  290. listener takes up a thread on the server operating system, which can slow 
  291. some operating systems if allowed to expand beyond the limits of the system. 
  292. If you throw up a SHOUTcast server unbeknownst to the sysadmin with 50+ 
  293. maximum users, you had better be prepared to face the consequences of your 
  294. actions.  As a fellow sysadmin, I offer this to you as your ONLY WARNING.
  295.  
  296. Pick a smart number of maxusers for your server. Calculate by taking the 
  297. available bandwidth you have, multiplying by 0.9 to account for overhead, 
  298. and dividing by the bitrate you want to serve at. For example, an ADSL 
  299. connection @ 768kbps upstream * 0.9 / 24kbps ~= 29 maximum users. Again, 
  300. set this number too high, and when you reach the limit of bandwidth ALL 
  301. the streams will start to skip. 
  302.  
  303.  
  304.  
  305. License:
  306.  
  307. SHOUTCAST SERVER(TM)
  308.  
  309. SHOUTCAST(TM), all versions, are copyright protected and are the property 
  310. of Nullsoft, Inc.  Until further notice, this software may be used for personal or commercial purposes for free and need not be registered with Nullsoft, Inc., or its parent company, America Online, Inc.
  311.  
  312. SHOUTCAST(TM) may not be copied, sold, distributed or used in any other 
  313. manner without the express written consent of Nullsoft, Inc.
  314.  
  315. To the maximum extent permitted by law, Nullsoft, Inc. disclaims all
  316. warranties regarding this software, express or implied, including but not
  317. limited to warranties of merchantability and fitness for a particular
  318. purpose.  In no event shall Nullsoft, Inc. be liable for consequential,
  319. special, incidental or indirect damages arising out of the use or inability
  320. to use this software even if Nullsoft, Inc. is aware of the possibility of
  321. such damages or a known defect.
  322.  
  323. By using this software, you are agreeing to the above terms.
  324.  
  325. Additional Terms of Use information is available at:
  326. http://www.shoutcast.com/disclaimer.phtml
  327.  
  328.  
  329.  
  330. Version History:
  331.  
  332. v1.9.2 (November 25, 2002)
  333. * new features
  334.   - sc_serv now recognizes content-types other than Audio/MPEG.  We've been
  335.     sending it all sorts of things.  Rudimentary, DNAS 3.x will be the
  336.     real launch vehicle for different media types.
  337.   - Development support for authentication servers.  Using auth will
  338.     preclude you being able to use the SHOUTcast directory, since listeners
  339.     need authorization to listen to your server.  Ask in the mailing list
  340.     for information on testing this new undocumented featureset.
  341.   - Since bugtraq apparently feels unix admins aren't capable of demonstrating
  342.     enough self-control to mark their logfiles as private, the server no
  343.     longer logs the correct password alongside the submitted password on
  344.     a failed broadcaster connect.
  345.  
  346. * new bugfixes
  347.   - Fixed overflow exploit where if no broadcast was currently active on the
  348.     server and attacker knew the broadcast password to the server, the server
  349.     could be coredumped.
  350.  
  351. v1.8.9 (March 15, 2002)
  352. * new features
  353.   - w3c logfile support.  w3c logfiles allow providers to use tools like
  354.     analog and webtrends to track their station statistics.  it also permits
  355.     companies like Arbitron and Measurecast to officially track your station
  356.     metrics.
  357.   - DNAS can now run in reserved-IP only mode.  This means both that your
  358.     server will only accept connections from Reserved IP addresses, and
  359.     also that it will force this server into private-only mode.  Servers
  360.     in reserved-IP mode will not be listed on the SHOUTcast directory, but
  361.     are still compatible when using downstream public relay servers to
  362.     cluster.
  363.   - XML can be changed with a conf line item to remove linefeeds and spacing
  364.     which confuses some XML parsers (i.e. Flash).  The default leaves it in
  365.     "pretty" mode.
  366.   - Public servers now provide cumulative metrics back to the SHOUTcast
  367.     directory.  These values are used to make the statistics on SHOUTcast
  368.     (i.e. http://shoutcast.com/ttsl.html) more accurate.
  369.   - XML now contains two new listener items, POINTER and UID, for ShoutClub's
  370.     tools
  371.   - XML now contains STREAMSTATUS for noting active source connection
  372.   - New HTTP pages, title or title.html and listen.m3u
  373.   - Streamrippers are now denied connections
  374.  
  375. * new config items
  376.   - W3CLog -- Use this item to define the name of the file for w3c logfiles.
  377.   - W3CEnable -- Use this item to turn W3C logging on or off.
  378.   - CleanXML -- Use this item to strip linefeeds and spacing from XML files.
  379.   - RIPOnly -- Use this item to only allow IP addresses in the Reserved IP
  380.     list to connect/relay.  Setting this item to yes forces this server to
  381.     not list in the SHOUTcast directory (PublicServer=never)
  382.  
  383. * bugfixes
  384.   - Fixed sc_serv.ini so Content dir doesn't have trailing slash (fixes 
  385.     on-demand serving)
  386.   - Average Listening Time no longer includes relay connections
  387.  
  388.  
  389. v1.8.8 (January 16, 2002)
  390. * internal release only
  391.  
  392.  
  393. v1.8.7 (December 12, 2001)
  394. * internal release only
  395.  
  396. v1.8.6 (November 2, 2001)
  397. * internal release only
  398.  
  399. v1.8.5 (October 18, 2001)
  400. * internal release only
  401.  
  402. v1.8.4 (September 15, 2001)
  403. * internal release only
  404.  
  405. v1.8.3 (August 7, 2001)
  406. * bugfixes
  407.  - Fixed buffer overrun issue on nasty implementations of vsprintf() on some
  408.    OS's
  409.  - Fixed buffer overrun issue with XML Page generator, when under a DoS 
  410.    Attack.
  411.  - Fixed buffer overrun issue with GUI logging function when under a DoS 
  412.    Attack.
  413.  
  414. v1.8.2 (July 23, 2001)
  415. * new features (trying to remember...)
  416.  - Automatic full server redirection for clusters
  417.  - On-demand content can now be from any specified directory
  418.  - On-demand content now supports subdirectories
  419.  
  420. * new config items
  421.  - ContentDir -- Allows you to specify the source directory for on-demand
  422.    streams
  423.  
  424. * bugfixes
  425.  - Fixed rare bug where losing DNS of yp server caused multiple-day loss of
  426.    contact to yp
  427.  - XML header change (more compatible.  yay.)
  428.  - uh, some other stuff we did in february that I don't remember.
  429.  
  430. v1.8.0 (January 4, 2001)
  431. * new features
  432.  - internal buffer size now 1 meg -- better resiliency for bad connections
  433.  - initial buffer fill size now larger -- no waits for fast connects
  434.  - far better international language support
  435.  - new web logs now approved for Arbitron ratings
  436.  - buffer position now tracked in admin page (entries that are always at zero
  437.    are recording or relaying your stream.  should nominally sit around 
  438.    128,000)
  439.  - Solaris build now even more optimized, we've pushed 500Mbps on one box with
  440.    this build.
  441.  - Title updates should now be much more closely synchronized with the change
  442.    in the audio stream.
  443.  
  444. * new config items (none)
  445.  
  446. * bugfixes
  447.  - Windows sleep granularity fixed.  No more skipping on high bitrate streams.
  448.    Sorry.
  449.  - XML and HTML pages now correctly encode high-byte characters.  You need to
  450.    upgrade to DSP 1.8.0 for international titling to work correctly.
  451.  - Good tweaks in good places, smarter net delivery, smarter buffering.
  452.  
  453. v1.7.1 (August 29, 2000)
  454. * new features (none)
  455.  
  456. * new config items
  457.  - Unique -- Allows variable substitution in mass configuration setups
  458.  - Include -- Reads additional configuration file
  459.  
  460. * bugfixes
  461.  - Average Listener Time now calculated only for listeners connected longer
  462.    than one minute, and includes current listeners in calculated value
  463.  - Average Listener Time no longer returns negative values on very short
  464.    connects
  465.  - Windows version no longer experiences heavy skipping (1.7.0 bug)
  466.  - Fixed rare condition where "zombie" listeners took up listener slots
  467.  
  468. v1.7.0 (August 14, 2000)
  469. * new features
  470.  - New XML pages for subsets of shoutcast statistics data.  See XML section.
  471.  - Average Listener Time now listed on status page
  472.  - New logging system tracks individual listener events, and assigns
  473.    unique ID for every connected socket for easier tracking.
  474.  - DNAS should now be MUCH more optimized for high-bandwidth
  475.    delivery (listener impact on CPU is now linear instead of geometric)
  476.  
  477. * new config items
  478.  - WebLog (Yes/No, default No) - display http:// requests in log
  479.  - TchLog (Yes/No, default Yes) - display yp touches
  480.  - Sleep (value) - tweakable parameter for high-traffic SHOUTcast
  481.    servers -- adjusts sleep granularity.
  482.  - CpuCount (value) - tweakable parameter for high-traffic SHOUTcast
  483.    servers -- adjusts client threads.
  484.  
  485. * bugfixes
  486.  - All non-ASCII characters are now properly encoded for XML
  487.  - YP now receives average listener time data (for ratings)
  488.  
  489. v1.666.1 (June 12 2000)
  490. * bug fixes
  491.  - Occasional CPU full load issue at idle, and during client connections
  492.    (a thread-safe sleep() would sure be nice.  way to track it down, tag.)
  493.  
  494. v1.666.0 (June 6 2000)
  495. * new features
  496.  - ListenerTimer config item will force-disconnect listeners active for 
  497.    the number of minutes specified
  498.  - AllowRelay config item will permit or deny other servers from relaying
  499.  - AllowPublicRelay config item allows relaying, but forces relays to treat
  500.    server as non-public
  501.  - Ban / Reserve IP lists now available to add on-the-fly
  502.  - Initial stream backpositioning set at 32k (faster sync-up for listeners
  503.    with faster connections)
  504.  - Taillog via HTML admin now available regardless of disk logging setting
  505.  
  506. * bugfixes
  507.  - XML now displays appropriately URL-encoded data for all wacky characters
  508.  - Linux SIGSEGV errors fixed.  No, really, I mean it.
  509.  - Taillog now handled internally via circular buffer because Linux pukes
  510.    when more than one thread is accessing a file a lot
  511.  - Relay lock fixed
  512.  - On-demand content delivery fixed for Linux
  513.  
  514. v1.6.0rc2 (May 16 2000)
  515. * new features
  516.  - Reported listener count only tracks unique IPs (cuts down on fake entries)
  517.  - Upon NAK from yp, server will now attempt to speak to yp again on a source
  518.    disconnect/reconnect, instead of total server restart
  519.  
  520. * bugfixes
  521.  - SPARC solaris sleep isn't thread-safe, fixed
  522.  - Fixed bug where servers occasionally locked in listener thread and listener
  523.    count skyrocketed
  524.  - Fixed Linux web-admin SIGSEGV bug
  525.  - Fixed taillog SIGSEGV bug
  526.  
  527. v1.6.0b1 (Feb 16 2000)
  528. * new features:
  529.  - XML status page [http://server:port/admin.cgi?pass=(passwd)&mode=viewxml]
  530.  - on-demand content serving (prevents save-to-disk in Winamp, etc.)
  531.    example included: [http://server:port/content/scpromo.mp3] (open in Winamp)
  532.  - on-demand content playlist generator (for direct URL linking)
  533.    example included: [http://server:port/content/scpromo.pls] (open in IE)
  534.  
  535. * bugfixes:
  536.  - yp bug where losing connection with yp would leave server out of directory
  537.    until sc_serv restart
  538.  - fixed obscure bug in client thread which would occasionally freeze clients
  539.  
  540. v1.5.0 (Jan 20 2000)
  541.  - Complete rewrite of source
  542.  - Now 4 thread model instead of n+3, much more efficient
  543.  - Fixed annoying year 2000 log display anomaly (thank you tm struct)
  544.  - Code no longer leaky on any supported OS to best of our knowledge
  545.  - No more wierd signals sneaking in and killing sc_serv on Solaris
  546.  - Addition of IRC, AIM, and ICQ flags for directory
  547.  - Addition of Bans via web interface -- kick and ban the bastards
  548.  - Addition of Reserved connects -- always permit connects by IP
  549.  - Low-bandwidth status report for Palm VII (http://server/7.html)
  550.  - New hyperleet web interface (thanks for the help Steve)
  551.  - Last n songs integrated into web interface (1-20)
  552.  - Admin and Broadcast passwords can optionally be different (hello live365)
  553.  - Listener list (http) now sorted by connect time
  554.  - (fixed 1.3.0b1 gui display bug, taillog now persistent)
  555.  - removal of usage graph (it was crappy)
  556.  - removal of telnet log interface (use http, please)
  557.  - Top secret credits page (happy hunting)
  558.  - Tom has new kick-ass girlfriend (Nullsoft is in bloom)
  559.  - Tag now highly eligible bachelor
  560.