Shoutcast Protocol Descriptive Essay

Shoutcast streams on non-standard port would no longer play

Reported by viktor.g...@gmail.com, Nov 30 2016 Back to list

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.3 Safari/537.36 Example URL: Steps to reproduce the problem: 1. Open a shoutcast stream broadcasting from a non-standard port, i.e. http://www.memoryradio.de:4000/;7094720172667444stream.nsv - the only thing you get is ERR_INVALID_HTTP_RESPONSE 2. Open the attached html file with several shoutcast streams embedded as HTML5 audio - none would play What is the expected behavior? 1. In Chrome 54, the stream would start a download (it would play in Firefox) 2. In Chrome 54, all radios embedded in the attached HTML would play fine What went wrong? This seems to be related to changes mentioned in https://bugs.chromium.org/p/chromium/issues/detail?id=624462 and the same issue reported for WebKit here: https://bugs.webkit.org/show_bug.cgi?id=164530. Internet Exploder and Firefox would still play old shoutcast streams on non-standard ports fine. Did this work before? Yes Chrome 54 Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? No WebKit Nightly/ Safari 10.0.1 on Sierra Chrome version: 56.0.2924.3 Channel: n/a OS Version: OS X 10.12.1 Flash Version: Shockwave Flash 24.0 r0 This is not a bug and the problem seems to be on the broadcasting side, but the recent changes regarding limited/canceled support for HTTP/0.9 will make thousands of internet radio stations unplayable in Chromium based browsers.

Back to l7-filter main page

L7-filter Supported Protocols

Below is the list of supported protocols. Note that most of the protocols are listed as needing more testing. We need your help (yes, you!) to do this. Simply reporting on how patterns are working for you is helpful. The easiest way to do this is to follow the links by patterns you use. On the wiki, post your results in the l7-filter section of each page. You can also post to l7-filter-developers(@)lists(.)sf(.)net (you mustsubscribe first).

To help add support for more protocols, see the Pattern Writing HOWTO.

Key to symbols

Quality

The "quality" gives a rough idea of how well the pattern works. This is a conglomerate measure of several things, including (1) how well the protocol is understood (2) how much the pattern has been tested (3) in what variety of situations the pattern has been tested and (4) what fraction of identifiable traffic is identified correctly. For details, read the pattern file or the protocol's wiki entry.

Speed

The protocol package includes a tool for testing pattern performance. It tests them against 122 samples of actual network data (as of the 2009-05-19 release) 100,000 times each. The following times are for a 2 GHz Opteron.

The first speed shown for a pattern in the tables below is the speed when used in the kernel (with the old V8 regular expression library). The second is the speed when used in userspace (with the modern GNU library). Note that the userspace version has a smaller spread of speeds. That is, its slowest patterns are faster and its fastest patterns are slower than the kernel version.

Other notes

Groups

Protocols are marked as being in one or more "groups". Some groups refer to what sort of purpose each protocol has. These allow front-ends to treat a set of protocols in the same way without requiring the user to select (or know about) each individual protocol. For instance, an application could have a checkbox for "VoIP" rather than one for Skype, one for H.323, etc..

Other groups indicate whether a protocol is documented in an IETFRFC, whether it is standardized by any official body, a non-standard but used primarily by open source programs, or proprietary. Among other things, this is supposed to give some idea of how volatile these protocols are likely to be. IETF standards are highly unlikely to change behavior and break l7-filter's patterns suddenly. (Although if programs misimplement them, anything can happen.) Open source non-standardized protocols are somewhat more likely to change abruptly, but changes are likely to be publically documented and, of course, the source code can be read to learn about them as a last resort. Proprietary protocols can change at any time without warning. The nature of the changes may be a closely kept secret.

Not all groups that exist in the pattern files have icons shown on this page. Also, just because a protocol is not listed as being in a group does not mean that it is specifically excluded from that group. For instance, not every protocol without "secure" is insecure. We invite you to make the groups more complete by sending corrections/additions to our mailing list.

Protocols

The pattern name is what you must use when issuing l7-filter commands. The names below link to the pattern files. Select column headings to sort.

bad third line in replaytv-ivs.pat
wikinamespeedqualitygroupnotesdescription
100bao100bao - a Chinese P2P protocol/program - http://www.100bao.com
aimAIM - AOL instant messenger (OSCAR and TOC)
aimwebcontentAIM web content - ads/news content downloaded by AOL Instant Messenger
applejuiceApple Juice - P2P filesharing - http://www.applejuicenet.de
aresAres - P2P filesharing - http://aresgalaxy.sf.net
armagetronArmagetron Advanced - open source Tron/snake based multiplayer game
battlefield1942Battlefield 1942 - An EA game
battlefield2Battlefield 2 - An EA game.
battlefield2142Battlefield 2142 - An EA game.
bgpBGP - Border Gateway Protocol - RFC 1771
biffBiff - new mail notification
bittorrentBittorrent - P2P filesharing / publishing tool - http://www.bittorrent.com
chikkaChikka - SMS service which can be used without phones - http://chikka.com
cimdComputer Interface to Message Distribution, an SMSC protocol by Nokia
ciscovpnCisco VPN - VPN client software to a Cisco VPN server
citrixCitrix ICA - proprietary remote desktop application - http://citrix.com
counterstrike-sourceCounterstrike (using the new "Source" engine) - network game
cvsCVS - Concurrent Versions System
dayofdefeat-sourceDay of Defeat: Source - game (Half-Life 2 mod) - http://www.valvesoftware.com
dazhihuiDazhihui - stock analysis and trading; Chinese - http://www.gw.com.cn
dhcpDHCP - Dynamic Host Configuration Protocol - RFC 1541
directconnectDirect Connect - P2P filesharing - http://www.neo-modus.com
dnsDNS - Domain Name System - RFC 1035
doom3Doom 3 - computer game
edonkeyeDonkey2000 - P2P filesharing - http://edonkey2000.com and others
fasttrackFastTrack - P2P filesharing (Kazaa, Morpheus, iMesh, Grokster, etc)
fingerFinger - User information server - RFC 1288
freenetFreenet - Anonymous information retrieval - http://freenetproject.org
ftpFTP - File Transfer Protocol - RFC 959
gkrellmGkrellm - a system monitor - http://gkrellm.net
gnucleuslanGnucleusLAN - LAN-only P2P filesharing
gnutellaGnutella - P2P filesharing
goboogyGoBoogy - a Korean P2P protocol
gopherGopher - A precursor to HTTP - RFC 1436
guildwarsGuild Wars - online game - http://guildwars.com
h323H.323 - Voice over IP.
halflife2-deathmatchHalf-Life 2 Deathmatch - popular computer game
hddtemphddtemp - Hard drive temperature reporting
hotlineHotline - An old P2P filesharing protocol
http-rtspRTSP tunneled within HTTP
httpHTTP - HyperText Transfer Protocol - RFC 2616
identIdent - Identification Protocol - RFC 1413
imapIMAP - Internet Message Access Protocol (A common e-mail protocol)
imeshiMesh - the native protocol of iMesh, a P2P application - http://imesh.com
ippIP printing - a new standard for UNIX printing - RFC 2911
ircIRC - Internet Relay Chat - RFC 1459
jabberJabber (XMPP) - open instant messenger protocol - RFC 3920 - http://jabber.org
kugooKuGoo - a Chinese P2P program - http://www.kugoo.com
live365live365 - An Internet radio site - http://live365.com
liveforspeedLive For Speed - A racing game.
lpdLPD - Line Printer Daemon Protocol (old-style UNIX printing) - RFC 1179
mohaaMedal of Honor Allied Assault - an Electronic Arts game
msn-filetransferMSN (Micosoft Network) Messenger file transfers (MSNFTP and MSNSLP)
msnmessengerMSN Messenger - Microsoft Network chat client
muteMUTE - P2P filesharing - http://mute-net.sourceforge.net
napsterNapster - P2P filesharing
nbnsNBNS - NetBIOS name service
ncpNCP - Novell Core Protocol
netbiosNetBIOS - Network Basic Input Output System
nntpNNTP - Network News Transfer Protocol - RFCs 977 and 2980
ntp(S)NTP - (Simple) Network Time Protocol - RFCs 1305 and 2030
openftOpenFT - P2P filesharing (implemented in giFT library)
pcanywherepcAnywhere - Symantec remote access program
pocoPOCO and PP365 - Chinese P2P filesharing - http://pp365.comhttp://poco.cn
pop3POP3 - Post Office Protocol version 3 (popular e-mail protocol) - RFC 1939
pplivePPLive - Chinese P2P streaming video - http://pplive.com
qqTencent QQ Protocol - Chinese instant messenger protocol - http://www.qq.com
quake-halflifeHalf Life 1 engine games (HL 1, Quake 2/3/World, Counterstrike 1.6, etc.)
quake1Quake 1 - A popular computer game.
radminFamatech Remote Administrator - remote desktop for MS Windows
rdpRDP - Remote Desktop Protocol (used in Windows Terminal Services)
replaytv-ivsReplayTV Internet Video Sharing - Digital Video Recorder - http://replaytv.com
rloginrlogin - remote login - RFC 1282
rtpRTP - Real-time Transport Protocol - RFC 3550
rtspRTSP - Real Time Streaming Protocol - http://www.rtsp.org - RFC 2326
runesofmagicRunes of Magic - game - http://www.runesofmagic.com
shoutcastShoutcast and Icecast - streaming audio
sipSIP - Session Initiation Protocol - Internet telephony - RFC 3261, 3265, etc.
skypeoutSkype to phone - UDP voice call (program to POTS phone) - http://skype.com
skypetoskypeSkype to Skype - UDP voice call (program to program) - http://skype.com
smbSamba/SMB - Server Message Block - Microsoft Windows filesharing
smtpSMTP - Simple Mail Transfer Protocol - RFC 2821 (See also RFC 1869)
snmpSNMP - Simple Network Management Protocol - RFC 1157
socksSOCKS Version 5 - Firewall traversal protocol - RFC 1928
soribadaSoribada - A Korean P2P filesharing program/protocol - http://www.soribada.com
soulseekSoulseek - P2P filesharing - http://slsknet.org
ssdpSSDP - Simple Service Discovery Protocol - easy discovery of network devices
sshSSH - Secure SHell
sslSSL and TLS - Secure Socket Layer / Transport Layer Security - RFC 2246
stunSTUN - Simple Traversal of UDP Through NAT - RFC 3489
subspaceSubspace - 2D asteroids-style space game - http://sscentral.com
subversionSubversion - a version control system
teamfortress2Team Fortress 2 - network game - http://www.valvesoftware.com

One thought on “Shoutcast Protocol Descriptive Essay

Leave a Reply

Your email address will not be published. Required fields are marked *