Add file_auth plugin, which offers similar functionality to sql_auth
but then with files. Note that the webserver needs to be able to
write to the data/ directory. See config/config.php.sample
The sql auth plugin is better, but this way users have no excuse
not to use any authentication, basically ;D
Add api/common_api.php and use Server-Sent Events, streaming JSON
data on like the overview page to update the User/Channel/.. counts
instead of doing a HTTP request every second like we had before.
The use of api/common_api.php from api/ is quite easy:
require_once('common_api.php');
which takes care of validating the session, closing the session,
disabling output buffering, etc.
And then you use either:
* api_log_loop($sources)
like: api_log_loop(["connect"]);
Or:
* api_timer_loop((int $every_msec, string $method, array|null $params = null)
like: api_timer_loop(1000, "stats.get");
And then all the (streaming) JSON-RPC response data from the server is
streamed back to the client via SSE.
Move to new style config, with config in config/ directory.
There is currently a compatibility layer so existing installs
don't have to update their config.php per se... although that
won't be around forever ;)
The overview will now display live stats updated every second, so you can be sure the numbers you're looking at are current without having to refresh the page.
This goes for everything except the Services and Panel Access cards, though I will make these live in the near future.
This tab will let you see if there are any mode mismatches or module version mismatches, and any other stuff we can think might be useful to add in.
Since we already have a hardcoded End Of Life, it sounds reasonable to add UnrealIRCd5 being EOL as a "problem" listed on this page after July, for example.
By installing this project this morning on my subdomain I came across this error and I took the liberty of correcting it :
https://www.zupimages.net/up/23/14/v2rd.jpg
Move including connection.php out of common.php so it is made explicit.
This fixes an issue where a connection is made to the IRC server before
the user is verified to be logged in (and on the login screen too).
A few webpages now don't include connection.php, such as Login,
the IP whois tool and the Settings.
Bram Matthys [Fri, 31 Mar 2023 12:26:06 +0000 (14:26 +0200)]
Use user.set_issuer so currently logged in user is communicated to UnrealIRCd
for logging/auditing and other purposes such as unrealircd.org/issued-by mtag.
Bram Matthys [Mon, 27 Mar 2023 09:06:04 +0000 (11:06 +0200)]
Channel details: re-add the Host column in "User List", but only fill
it when using UnrealIRCd 6.0.8+. In older versions one would have to
do 1 API call for each user in the list which is way too slow when the
webserver and IRC server are on different machines (eg: load time of
40 seconds for a 100 user channel).
In UnrealIRCd 6.0.8+ this information is included in the single
channel.get() when requested, so we only have to do 1 API call and
not 101.
Bram Matthys [Wed, 15 Mar 2023 07:54:07 +0000 (08:54 +0100)]
Warn about SQL_DEFAULT_USER being set in config.php.
This is a plaintext user/password that is set in the config that is only
meant for during installation of the SQL plugin. It should be removed
directly after you are logged in for the first time.
Bram Matthys [Wed, 15 Mar 2023 07:44:03 +0000 (08:44 +0100)]
Not important but set example SQL database name to unrealircdwebpanel.
I know, it's long, but I don't think "unrealircd" is appropriate since
this is not unrealircd but the unrealircd web panel :D. Also, now
it matches my instructions in the README.md.
Bram Matthys [Wed, 15 Mar 2023 07:41:17 +0000 (08:41 +0100)]
Don't mention file-based auth anymore and add more info for SQL auth.
Get rid of the "under construction" text even though it may be, after all
the entire web panel is under construction :D. And add hands-on
instructions for creating the database, user, granting permissions,
and the exact steps to go through.