<div dir="ltr">rite now i have this code in which i got from xiph guide<div><br></div><div><icecast><br> <hostname>LAPTOP-U97RKMM3</hostname><br><location>United Kingdom</location><br><admin><a href="mailto:jayaubs89@gmail.com">jayaubs89@gmail.com</a></admin><br><fileserve>1</fileserve><br><server-id>icecast 2.4.4</server-id><br><br><limits><br> <clients>100</clients><br> <sources>2</sources><br> <queue-size>102400</queue-size><br> <client-timeout>30</client-timeout><br> <header-timeout>15</header-timeout><br> <source-timeout>10</source-timeout><br> <burst-on-connect>1</burst-on-connect><br> <burst-size>65536</burst-size><br></limits><br><br><authentication><br> <br> <source-password>examplepass</source-password><br> <br> <relay-password>examplepass</relay-password><br><br> <br> <admin-user>admin</admin-user><br> <admin-password>examplepass</admin-password><br> </authentication><br> <br> <shoutcast-mount>/stream</shoutcast-mount><br><mount><br> <mount-name>/example.ogg</mount-name><br> <authentication type="htpasswd"><br> <option name="filename" value="myauth"/><br> <option name="allow_duplicate_users" value="0"/><br> </authentication><br></mount><br><br><listen-socket><br> <port>8000</port><br> <bind-address>127.0.0.1</bind-address><br></listen-socket><br><br><listen-socket><br> <port>8443</port><br> <tls>1</tls><br></listen-socket><br><br><listen-socket><br> <port>8004</port><br> <shoutcast-mount>/live.mp3</shoutcast-mount><br></listen-socket><br><br><br><http-headers><br> <header name="Access-Control-Allow-Origin" value="*" /><br> <header name="X-Robots-Tag" value="index, noarchive" status="200" /><br></http-headers><br><br><paths><br> <basedir>./</basedir><br> <logdir>./logs</logdir><br> <pidfile>./icecast.pid</pidfile><br> <webroot>./web</webroot><br> <adminroot>./admin</adminroot><br> <allow-ip>/path/to/ip_allowlist</allow-ip><br> <deny-ip>/path_to_ip_denylist</deny-ip><br> <tls-certificate>/path/to/certificate.pem</tls-certificate><br> <ssl-allowed-ciphers>ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS</ssl-allowed-ciphers><br> <alias source="/foo" dest="/bar"/><br></paths><br><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></logging><br><directory><br> <yp-url-timeout>15</yp-url-timeout><br> <yp-url><a href="http://dir.xiph.org/cgi-bin/yp-cgi">http://dir.xiph.org/cgi-bin/yp-cgi</a></yp-url><br></directory><br><br><br></icecast><br></div><div><br></div><div><br></div><div>but i'm running the gui on windows10 </div><div>i can't for the life of me find logs folder and any of the other folders?</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 28, 2023 at 11:28 AM Philipp Schafft <<a href="mailto:phschafft@de.loewenfelsen.net">phschafft@de.loewenfelsen.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);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">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" 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" 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" 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" 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" target="_blank">https://www.loewenfelsen.net/</a><br>
Follow us: <a href="https://www.linkedin.com/company/loewenfelsen/" rel="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">Icecast@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/icecast" rel="noreferrer" target="_blank">http://lists.xiph.org/mailman/listinfo/icecast</a><br>
</blockquote></div>