<div dir="auto"><div dir="auto">Good afternoon </div><div dir="auto"><br></div>Ah that's probably why I'm getting errors I'm running version 2.4.4 on a windows 10 laptop using command prompt in admin mode, also you mentioned about a trap what's that? And why am I getting adding user failed I don't want listeners to consistently login everytime they tune in?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 28 Feb 2023, 11:28 Philipp Schafft, <<a href="mailto:phschafft@de.loewenfelsen.net">phschafft@de.loewenfelsen.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Good morning,<br>
<br>
On Tue, 2023-02-28 at 01:07 +0000, Coolvibes Reloaded wrote:<br>
> i'm trying to config the usr authentication <br>
> but when i goto add myself into the admin part <br>
> i get add user failed check log?<br>
> <br>
> so i did and i'm getting this<br>
> [...]<br>
> [2023-02-28  00:46:16] EROR auth_htpasswd/auth_htpasswd.c No filename<br>
> given in options for authenticator.<br>
> [...]<br>
<br>
There is no filename given for the htpasswd auth, will comment below.<br>
<br>
<br>
<br>
> [2023-02-28  00:44:26] WARN auth/auth.c unknown auth setting (auth)<br>
> [2023-02-28  00:44:26] WARN auth/auth.c unknown auth setting<br>
> (comment)<br>
> [2023-02-28  00:44:26] EROR auth_htpasswd/auth_htpasswd.c No filename<br>
> given in options for authenticator.<br>
> [2023-02-28  00:44:26] EROR connection/connection.c Could not create<br>
> listener socket on port 8080 bind my ip<br>
> [2023-02-28  00:44:26] EROR connection/connection.c Could not create<br>
> listener socket on port 8081 bind my ip<br>
<br>
Another set of warnings. Looking at the config below you seem to have<br>
fallen into the over configuration trap. Plus I'm not sure where some<br>
of that came from. Maybe you want to comment on that so we can improve<br>
docs/default configs.<br>
<br>
<br>
What is also missing is which exact version of Icecast you are running.<br>
The below seems to be a mix of 2.4.x and 2.5.x. I try to answer in a<br>
generic was for both.<br>
<br>
I would also suggest you to run xmllint every time you change the<br>
config as it checks the syntax. Helps to spot problems early. It also<br>
provides a way to autoformat (with the --format option) the file. Which<br>
is very nice.<br>
<br>
Another general note here: Everyone using 2.5.x is recommended to have<br>
a look at the dashboard. Icecast reports many common problems there. It<br>
is much easier to spot things very early there.<br>
<br>
<br>
> now my config file is <br>
> <br>
> <icecast><br>
>   <!-- location and admin are two arbitrary strings that are e.g.<br>
> visible<br>
>          on the server info page of the icecast web interface<br>
>          (server_version.xsl). --><br>
>   <location>United Kingdom</location><br>
>   <admin><a href="mailto:someemail@example.com" target="_blank" rel="noreferrer">someemail@example.com</a></admin><br>
> <br>
>   <!-- This is the hostname other people will use to connect to your<br>
> server.<br>
>          It affects mainly the urls generated by Icecast for<br>
> playlists and yp<br>
>          listings. You MUST configure it properly for YP listings to<br>
> work!<br>
>     --><br>
>   <hostname>yourip/url</hostname><br>
<br>
This is not for an IP address nor an URL. It is for the hostname of the<br>
server. ;)<br>
<br>
<br>
>   <!-- IMPORTANT!<br>
>          Especially for inexperienced users:<br>
>          Start out by ONLY changing all passwords and restarting<br>
> Icecast.<br>
>          For detailed setup instructions please refer to the<br>
> documentation.<br>
>          It's also available here: <a href="http://icecast.org/docs/" rel="noreferrer noreferrer" target="_blank">http://icecast.org/docs/</a><br>
>     --><br>
> <br>
>   <limits><br>
>     <clients>9000</clients><br>
>     <sources>2</sources><br>
>     <queue-size>524288</queue-size><br>
>     <client-timeout>30</client-timeout><br>
>     <header-timeout>15</header-timeout><br>
>     <source-timeout>10</source-timeout><br>
>     <!-- If enabled, this will provide a burst of data when a client <br>
>              first connects, thereby significantly reducing the<br>
> startup <br>
>              time for listeners that do substantial buffering.<br>
> However,<br>
>              it also significantly increases latency between the<br>
> source<br>
>              client and listening client.  For low-latency setups,<br>
> you<br>
>              might want to disable this. --><br>
>     <burst-on-connect>1</burst-on-connect><br>
>     <!-- same as burst-on-connect, but this allows for being more<br>
>              specific on how much to burst. Most people won't need to<br>
>              change from the default 64k. Applies to all mountpoints<br>
>  --><br>
>     <burst-size>65535</burst-size><br>
>   </limits><br>
> <br>
>   <authentication><br>
>     <!-- Sources log in with username 'source' --><br>
>     <source-password>somepass</source-password><br>
>     <!-- Relays log in with username 'relay' --><br>
>     <relay-password>somepass</relay-password><br>
> <br>
>     <!-- Admin logs in with the username given below --><br>
>     <admin-user>admin</admin-user><br>
>     <admin-password>somepass</admin-password><br>
>   </authentication><br>
>   <br>
> <br>
>   <!-- set the mountpoint for a shoutcast source to use, the default<br>
> if not --><br>
>   <!-- specified is /stream but you can change it here if an<br>
> alternative is --><br>
>   <!-- wanted or an extension is required --><br>
>   <shoutcast-mount>/stream</shoutcast-mount><br>
<br>
<br>
>   <directory><br>
>     <yp-url-timeout>15</yp-url-timeout><br>
>     <yp-url><a href="http://dir.xiph.org/cgi-bin/yp-cgi" rel="noreferrer noreferrer" target="_blank">http://dir.xiph.org/cgi-bin/yp-cgi</a></yp-url><br>
>   </directory><br>
> <br>
>   <!-- You may have multiple <listener> elements --><br>
>   <listen-socket><br>
>     <port>someport</port><br>
>     <bind-address>someip</bind-address><br>
> <shoutcast-mount>/stream</shoutcast-mount><br>
>     <tls>1</tls><br>
> <ssl>1</ssl><br>
>   </listen-socket><br>
> <br>
>   <listen-socket><br>
>     <port>8080</port><br>
>     <tls>1</tls><br>
>   </listen-socket><br>
> <br>
>   <listen-socket><br>
>     <port>8080</port><br>
>     <tls>1</tls><br>
>   </listen-socket><br>
> <br>
>   <listen-socket><br>
>     <port>8080</port><br>
>     <shoutcast-mount>/stream</shoutcast-mount><br>
>   </listen-socket><br>
> <br>
>   <listen-socket><br>
>     <port>8080</port><br>
>   </listen-socket><br>
> <br>
>   <listen-socket><br>
>     <port>8080</port><br>
>   </listen-socket><br>
> <br>
>   <listen-socket><br>
>     <port>8080</port><br>
>     <ssl>1</ssl><br>
>   </listen-socket><br>
<br>
You repeat yourself a lot here. Clearly you can only bind once to each<br>
port and address pair. (If no bind address is given, the wildcard<br>
address is assumed.)<br>
<br>
As for the TLS settings: in 2.4.x it is <ssl>1</ssl> and in 2.5.x it is<br>
<tls>true</tls> (which is the same as setting it to "rfc2818"). However<br>
for 2.5.x I would recommend to set this to <tls>auto</tls> (which<br>
allows any mode, including non-TLS) or <tls>auto_no_plain</tls> which<br>
allows any mode but non-TLS.<br>
<br>
More details can be found e.g. here:<br>
<a href="https://wiki.xiph.org/Icecast_Server/known_https_restrictions#Icecast2_2.5.x_.28branch_.22master.22.29" rel="noreferrer noreferrer" target="_blank">https://wiki.xiph.org/Icecast_Server/known_https_restrictions#Icecast2_2.5.x_.28branch_.22master.22.29</a><br>
<br>
If there is general interest in this I can talk a little bit about this<br>
on Friday as well.<br>
<br>
<br>
>   <!-- Global header settings <br>
>          Headers defined here will be returned for every HTTP request<br>
> to Icecast.<br>
> <br>
>          The ACAO header makes Icecast public content/API by default<br>
>          This will make streams easier embeddable (some HTML5<br>
> functionality needs it).<br>
>          Also it allows direct access to e.g. /status-json.xsl from<br>
> other sites.<br>
>          If you don't want this, comment out the following line or<br>
> read up on CORS. <br>
>     --><br>
>   <http-headers><br>
>     <header name="Access-Control-Allow-Origin" value="*" /><br>
>     <header name="X-Robots-Tag" value="index, noarchive" status="200"<br>
> /><br>
>   </http-headers><br>
> <br>
>   <!-- Relaying<br>
>          You don't need this if you only have one server.<br>
>          Please refer to the config for a detailed explanation.<br>
>     --><br>
>   <!--<master-server>127.0.0.1</master-server>--><br>
>   <!--<master-server-port>8001</master-server-port>--><br>
>   <!--<master-update-interval>120</master-update-interval>--><br>
>   <!--<master-password>hackme</master-password>--><br>
> <br>
>   <!-- setting this makes all relays on-demand unless overridden,<br>
> this is<br>
>          useful for master relays which do not have <relay><br>
> definitions here.<br>
>          The default is 0 --><br>
>   <!--<relays-on-demand>1</relays-on-demand>--><br>
> <br>
>   <relay><br>
>     <server>someip</server><br>
>     <port>someport</port><br>
>     <mount>/coolvibes.ogg</mount><br>
>     <local-mount>/strawbs.ogg</local-mount><br>
>     <on-demand>0</on-demand><br>
> <br>
>     <relay-shoutcast-metadata>0</relay-shoutcast-metadata><br>
>   </relay><br>
<br>
If you're using recent 2.5.x you can also use<br>
<url><a href="http://example.org/blubb" rel="noreferrer noreferrer" target="_blank">http://example.org/blubb</a></url> here for the upstream address.<br>
<br>
<br>
>   <!-- Mountpoints<br>
>          Only define <mount> sections if you want to use advanced<br>
> options,<br>
>          like alternative usernames or passwords<br>
>     --><br>
> <br>
>   <!-- Default settings for all mounts that don't have a specific --><br>
> <br>
>   <mount type="normal"><br>
>     <mount-name>/live.mp3</mount-name><br>
<br>
In this block you set a real huge amount of options. I guess most of<br>
them can go. Some are set to the default value (e.g. you set <burst-<br>
size> to the same value as the global default). Some should be avoided<br>
unless there is a real requiement (e.g. <*type*>, <*metadata*>,<br>
<*header*>, <bitrate>, ...). And for some I'm not sure if you actually<br>
use them (<on-*>, <fallback*>, <intro>).<br>
<br>
Generally speaking use as little options as possible.<br>
<br>
<br>
>     <username>someusername</username><br>
>     <password>someexamplepass</password><br>
>     <max-listeners>900</max-listeners><br>
>     <max-listener-duration>3600</max-listener-duration><br>
>     <dump-file>/tmp/dump-example1.ogg</dump-file><br>
>     <intro>/intro.ogg</intro><br>
>     <fallback-mount>/stream.ogg</fallback-mount><br>
>     <fallback-override>1</fallback-override><br>
>     <fallback-when-full>1</fallback-when-full><br>
>     <charset>ISO8859-1</charset><br>
>     <public>1</public><br>
>     <stream-name>somestream</stream-name><br>
>     <stream-description>'hello'</stream-description><br>
>     <stream-url>someurl</stream-url><br>
>     <genre>World</genre><br>
>     <bitrate>160</bitrate><br>
>     <type>application/mp3</type><br>
>     <subtype>mp3</subtype><br>
>     <hidden>1</hidden><br>
>     <burst-size>65536</burst-size><br>
>     <mp3-metadata-interval>4096</mp3-metadata-interval><br>
<br>
>     <authentication type="htpasswd"><br>
>       <auth name="stream_auth" value="#" /><br>
>  <option name="allow_duplicate_users" value="1"/><br>
>       <!-- See authentication documentation --><br>
>     </authentication><br>
<br>
Not sure where you got this block from.<br>
Generally the htpasswd type takes an option with the filename. From the<br>
2.4.4 example:<br>
        <authentication type="htpasswd"><br>
                <option name="filename" value="myauth"/><br>
        </authentication><br>
<br>
The filename is relativ to Icecast's cwd (after chroot if any). So<br>
depending on your setup you might want to set it absolute.<br>
<br>
<br>
<br>
>     <http-headers><br>
>       <header name="Access-Control-Allow-Origin" value="*" /><br>
>       <header name="X-Robots-Tag" value="index, noarchive" /><br>
>       <header name="foo" value="bar" status="200" /><br>
>       <header name="Nelson" value="Ha-Ha!" status="404" /><br>
>     </http-headers><br>
>     <on-connect>/home/icecast/bin/source-start</on-connect><br>
>     <on-disconnect>/home/icecast/bin/source-end</on-disconnect><br>
>   </mount><br>
<br>
<br>
The rest below is 2.4.x style config. Nothing wroth with it even for<br>
2.5.x. But it might be a bit nicer to read/work with in 2.5.x style.<br>
<br>
>   <fileserve>1</fileserve><br>
> <br>
>     <paths><br>
>         <logdir>./log</logdir><br>
>         <webroot>./web</webroot><br>
>         <adminroot>./admin</adminroot><br>
<br>
Relative paths here look a bit like you try to run it not as a service.<br>
I would avoid this outside of testing.<br>
<br>
<br>
> <br>
>         <!-- Aliases: treat requests for 'source' path as being for<br>
> 'dest' path<br>
>              May be made specific to a port or bound address using<br>
> the "port"<br>
>              and "bind-address" attributes.<br>
>           --><br>
>         <!--<br>
>         <alias source="/foo" destination="/bar"/><br>
>         --><br>
>         <!-- Aliases: can also be used for simple redirections as<br>
> well,<br>
>              this example will redirect all requests for <br>
> http://server:port/ to<br>
>              the status page<br>
>         --><br>
>         <alias source="/" destination="/status.xsl"/><br>
>         <!-- The certificate file needs to contain both public and<br>
> private part.<br>
>              Both should be PEM encoded.<br>
>         <ssl-certificate>./icecast.pem</ssl-certificate><br>
>         --><br>
>     </paths><br>
> <br>
> <security><br>
>         <chroot>0</chroot><br>
> <br>
>         <changeowner><br>
<br>
Having changeowner active is not the nicest thing. Unless you need the<br>
extra permissions for e.g. binding to a privileged port I would suggest<br>
to not use this. If running as a service it is best to let the<br>
operating system change to the correct user before starting Icecast. if<br>
running ín a more test setup sudo/doas -u works very nice to switch to<br>
the target user.<br>
<br>
<br>
>             <user>user</user><br>
>             <group>users</group><br>
>         </changeowner><br>
> <br>
>     </security><br>
> <br>
>   <logging><br>
>         <accesslog>access.log</accesslog><br>
>         <errorlog>error.log</errorlog><br>
>         <!-- <playlistlog>playlist.log</playlistlog> --><br>
>         <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error<br>
> --><br>
>         <logsize>10000</logsize> <!-- Max size of a logfile --><br>
>         <!-- If logarchive is enabled (1), then when logsize is<br>
> reached<br>
>              the logfile will be moved to<br>
> [error|access|playlist].log.DATESTAMP,<br>
>              otherwise it will be moved to<br>
> [error|access|playlist].log.old.<br>
>              Default is non-archive mode (i.e. overwrite)<br>
>         --><br>
>         <!-- <logarchive>1</logarchive> --><br>
>     </logging><br>
> </icecast><br>
<br>
<br>
With best regards,<br>
<br>
-- <br>
Philipp Schafft (CEO/Geschäftsführer)<br>
Telephone:           +49.3535 490 17 92<br>
Website:             <a href="https://www.loewenfelsen.net/" rel="noreferrer noreferrer" target="_blank">https://www.loewenfelsen.net/</a><br>
Follow us:           <a href="https://www.linkedin.com/company/loewenfelsen/" rel="noreferrer noreferrer" target="_blank">https://www.linkedin.com/company/loewenfelsen/</a><br>
Geschäftsführer/CEO: Philipp Schafft<br>
<br>
Löwenfelsen UG (haftungsbeschränkt)     Registration number:<br>
Bickinger Straße 21                     HRB 12308 CB<br>
04916 Herzberg (Elster)                 VATIN/USt-ID:<br>
Germany                                 DE305133015<br>
_______________________________________________<br>
Icecast mailing list<br>
<a href="mailto:Icecast@xiph.org" target="_blank" rel="noreferrer">Icecast@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/icecast" rel="noreferrer noreferrer" target="_blank">http://lists.xiph.org/mailman/listinfo/icecast</a><br>
</blockquote></div>