karlheyes / icecast-kh

KH branch of icecast
GNU General Public License v2.0
300 stars 107 forks source link

Support for HTTP Headers #373

Closed iamflorencejay closed 1 year ago

iamflorencejay commented 1 year ago

HTTP headers are supported on icecast 2.4.1 and above, so it can be implemented. when will have that support?

karlheyes commented 1 year ago

I'm looking at the implementation of the http-headers block. It won't be coded the same way as it looks too messy but I'm almost there is the implementation.

karl

iamflorencejay commented 1 year ago

I'm looking at the implementation of the http-headers block. It won't be coded the same way as it looks too messy but I'm almost there is the implementation.

karl

Looking forward for that!

t0mtaylor commented 1 year ago

Look forward to this too, can finally upgrade and support setting headers to identify the icecast server used and also the real client ip address with the x-forwarded headers 🥇

rrolla commented 1 year ago

Look forward to this too, can finally upgrade and support setting headers to identify the icecast server used and also the real client ip address with the x-forwarded headers 1st_place_medal

This option is from version 2.3.3-kh1 https://github.com/karlheyes/icecast-kh/blob/master/NEWS#L412

set on your config file icecast.xml

        <!-- If behind reverse proxy, set here its ip
        <x-forwarded-for>192.168.1.120</x-forwarded-for>
karlheyes commented 1 year ago

ok, I have http header work mostly there now. I think I have covered all the areas I need to but before I merge it in. can you check to see it working as expected in the situations. I have it in a private branch for now, but I've put up a tar.gz at

karlheyes.github.io/icecast-2.4.0-kh17-http.tar.gz

everything else is based on the kh16.2 work. Key takeaways are that the tag block looks the same and can be global or per-mount. The status can be expanded eg "*" "2*" or "@(404|200)". I think the CORS aspect are all there but you can override them, like for the access*origin setting. Oh and if you want to add icy-metaint then it will add that but do not expect it to add icy meta

gunsar commented 1 year ago

thank's @karlheyes now i tried icecast-2.4.0-kh17-http linux version

t0mtaylor commented 1 year ago

Look forward to this too, can finally upgrade and support setting headers to identify the icecast server used and also the real client ip address with the x-forwarded headers 1st_place_medal

This option is from version 2.3.3-kh1 https://github.com/karlheyes/icecast-kh/blob/master/NEWS#L412

set on your config file icecast.xml

        <!-- If behind reverse proxy, set here its ip
        <x-forwarded-for>192.168.1.120</x-forwarded-for>

Don't think you understood my post @rrolla - i know that feature exists for user ip forwarding, we are waiting for the new one which is headers

Nice work @karlheyes - ill try icecast-2.4.0-kh17-http next week, thanks again for the quick turnaround! 👍

rrolla commented 1 year ago

x-forwarded-for

That user ip forwarding works with http headers @t0mtaylor https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For so yeah fully I didn't understand your post, but anyway sounds that new support for more http headers will be nice

karlheyes commented 1 year ago

I've updated the master to include http headers code. Has a few fixes to clean up

iamflorencejay commented 1 year ago

checking for that

karlheyes commented 1 year ago

kh18 is uploaded with fixes. All looking good. Will close this now