CFC-Servers / CFC-Servers/cfc_http_whitelist
Please add a way to request URL whitelisting by addon code.
- Dominant language
- Lua
- Stars
- 8
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
### The Problem
Some addons might rely on external HTTP request to work properly. So does my addon 3D Stream Radio: https://github.com/Grocel/3D-Stream-Radio
In the case of the radio addon, it ships with default playlist files (lists of URLs), that can be (and are) curated by server admins. These are basically trusted by server URLs. These files are stored on the server side, but are used/seen by clients whenever it has been viewed/picked on a radio entity.
At the moment the radio can not play server curated URLs, as these are not whitelisted by default. It is useful to not allow arbitrarily random URLs, especially those from other clients. But it causes bad UX on addons such as the radio with no way to account for this properly yet. The user just would see the default playlist as "being broken" for no apparent reason.
### My request
I would like to request a callable function to request a particular URL to be whitelisted on the client (the server too?) via addon code unless it has been specifically blacklisted.
The addon, which is already being trusted by being installed, would be able add their necessary HTTP calls to the whitelist.
In case of 3D Stream Radio, the addon would whitelist all the URLs in the playlist items the server has under its belt.
One way would be an addon-shipped config file, but I also would need a dynamic way for whitelisting on the fly, as the admins could change playlist contents, etc. ~~I would like the whitelisting request to not issue any user facing prompts unless specifically asked for by addon code, e.g. by a parameter being true etc.~~ (A better suggestion on this was posted below)
#### Bonus request
A server side function for whitelist requesting, so addons wouldn't need to network them to all clients by them-selves. There is also joined-after management to account for etc.
### Solution
I am not sure what solution would be the best to implement, so I would like to leave it up to your creativity. I am also open for alternative solutions you might find.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.