Coder Social home page Coder Social logo

unrealircd / unrealircd-webpanel Goto Github PK

View Code? Open in Web Editor NEW
21.0 5.0 9.0 1.39 MB

An administration webpanel for UnrealIRCd

Home Page: https://www.unrealircd.org/docs/UnrealIRCd_webpanel

License: GNU General Public License v3.0

PHP 91.47% CSS 1.20% JavaScript 7.34%
admin-panel composer irc json-rpc php unrealircd webpanel

unrealircd-webpanel's Introduction

UnrealIRCd Administration WebPanel

Version Version Maintained Unreal

The UnrealIRCd Administration WebPanel gives you an overview of your IRC network, with detailed information about servers, users and channels. You can easily add and remove server bans, spamfilters and do other administrative tasks, all from the convenience of your web browser.

Example Overview from Desktop

Example Overview from Mobile

Installation

See https://www.unrealircd.org/docs/UnrealIRCd_webpanel for all documentation.

unrealircd-webpanel's People

Contributors

d3xt3r01 avatar madriix avatar syzop avatar tehpegasus avatar valwareirc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

unrealircd-webpanel's Issues

Upgrade tool

Both from the webpanel and from the new CLI tool: a way to easily update the webpanel to the latest version.

Right now, this could be as easy as running git pull and composer install (may need some detection to search for composer).
When we have releases it would have to download the release from GitHub, extract the .tar.gz, etc..

Ideally do this in a safe manner, creating some sort of backup prior, just in case.

Fix/tidy styling in spamfilter table

Describe the bug
If the spamfilter mask is too big other columns get out of screen.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Spamfilter
  2. Add a long spamfilter mask
  3. Watch the issue happening

Screenshots
spamfilter_no_wrap

NOTE: the long spamfilters were hidden for security reasons.

Blank page on a new installation (php 8.2)

Hello,

I did a fresh installation of UnrealIRCd-webpanel, so I deleted the directory from my FTP and removed all SQL tables. I also updated my PHP server to 8.2 and installed:

git clone https://github.com/unrealircd/unrealircd-webpanel
cd unrealircd-webpanel
composer install

(I am using cPanel and CentOS, so no need to set special permissions for the database)

On the first page, I filled out the form with my database information, and the connection was successfully established. Then, on the next page for the admin password and email, as soon as I submit it, I receive a blank page and cannot continue.

What could be causing this problem?

Best regards.

Sans titre-1

An idea for the "Plugins" tab

I updated the webpanel to the latest version in the ftp, and I uploaded two new plugins in the ftp, and it's annoying all the time to go to config.php to add lines in the array there . I thought to myself, it would be nice if the Plugins interface could look like this:

Sans titre-1

Have you considered doing this or is my idea helpful?

Regards

Installation does not work

Hi, I deleted my "unrealircd-webpanel" folder from the ftp, and when I try to download the latest update, it won't install and I'm getting errors. As a result, I am unable to install unrealircd-webpanel because the entire configuration system is no longer editable.

What should I put in config.php?

I have Php 8.1 version.

Best regards.

I have performed a new installation of unrealircd-webpanel (07/05/2023).

Hi
I didn't need to delete the tables this time; everything was accepted on both installation forms. A few days ago, I noticed that unrealircd-webpanel only works if the Sodium module (mod_sodium) is enabled on php, so I did that on my cPanel.

Here are the tests I performed (using PHP 8.2 and apache/httpd):

  • When I visit the homepage, there is no data displayed, as if it is not connecting to the IRC server's RPC.

  • No data is being shown from the RPC, even though I'm using the correct login and password.

Here is a screenshot
Sans titre-1

Translation from French to English :

Connection with https://labs.xx.com/unrealircd-webpanel/api/notification.php was interrupted while loading the page. unrealircd-admin.js:137:21
Connection with https://labs.xx.com/unrealircd-webpanel/api/overview.php was interrupted while loading the page. unrealircd-webpanel:592:16
None of the "sha384" hashes of the "integrity" attribute match the contents of the subresource. 2 unrealircd-webpanel

New CLI admin tool

I think it would be a good idea to have a command line (CLI) tool, like most webprojects have, for management of the panel itself. Like mediawiki has a maintenance/ directory for that (not a fan), NextCloud has the 'occ' command (better), etc.
Some commands would overlap with the normal webinterface, for example upgrading or installing a plugin would be possible both from the webpanel itself and on the command line (CLI). The CLI would then only be used if, for example, the admin set strict file permissions making the webinterface way impossible (webuser having no write access to the directory).
Other commands could be handy if you have access problems. For example I think a way to reset a password for a user account on the command line would be useful if people locked themselves out, so they don't need to reinstall (yeah I'm sure there is or will be a reset password option via email as well, but still...).

I'm talking about a very limited of commands here, that use the same code interface behind the curtains.

[Enhancement]: Fix table aesthetic and functionality

  • Filtering is currently broken on some pages and has different filter methods
  • Fix/align the aesthetics of tables scattered around (headers and common information)
  • Server details: Give User Modes table extra information which conforms with its neighbour tab Channel Modes
  • Logging: Put static items in badges and otherwise improve the aesthetics of logs table

Ideas:

Here are some ideas I'm considering and your feedback would be appreciated. Feel free to leave your thoughts/discuss things in the comment section.

Don't worry if you have no experience coding, I just need to know what would be helpful for you, the webpanel user.

User and Channel Notes

Motivation

Provide a way for operators to add and view notes about a particular user or channel.

Considerations

  • Keep notes IRCd-side or in the webpanels database? This will obviously have an impact on where the notes can be viewed from.
  • For user notes, a note can be tagged to an IP, account or some other relevant meta
  • Should viewing notes need a permission? (webpanel user role/unrealircd operclass permission) (Adding of course would need permission)
  • Should personal notes be allowed as well as global notes?

Third-Party UnrealIRCd module compatibility

Motivation

Provide compatibility with third-party unrealircd modules.

Considerations

  • Make sure everything that can be added by an unrealircd module should be catered for in at least a minimal sense. For example, usermodes and channel modes should not be hard-coded and you should be able to normally set modes added by such third-party modules via the webpanel (you can currently but I mean in any other potential areas(?))
  • Should additional support be automatically included for currently listed third-party modules? For example including the names and descriptions of usermodes and channel modes and other relevant considerations
    (descriptions of modes be added directly via unrealircd module API in future maybe?)
  • Should Valware add in native support for her (and other) modules? (i.e. if third/lockserv had RPC functionality, should it have auto-detection with automatic "it just works" magical powers?)

Right-Click Menus

Motivation

Provide better quick-actions for use around the webpanel

Considerations

  • Able to disable right-click menu in your user settings and use the default browser right-click menu?
  • Able to disable right-click menu for everyone? How deep should permissions go?
  • Firefox doesn't support the clipboard API like Chrome does, so Copy & Paste functionality is not really possible for all browsers which obviously poses a problem.
  • Which global options to provide? (options everywhere)
  • Which local options to provide? (on specific menus/pages/tables)
  • Menu API: PHP/JSON API with hooks and static JavaScript client frontend menu-builder? Or just let everything happen per-page (manually get the element and add to it with JavaScript on each page)

This list is not exhaustive and I'll be adding to it and updating it in time.

[Feature Request]: Restructure server details page

I was thinking 'Servers' details could get a bit of an overhaul (servers/details.php)
It shows all the info you could possibly want but... i was thinking to throw them in tabs, like you have on the channels details page.
Tabs like:

  • 'Details' which contains Basic Information + Extra Information
  • 'Channel Modes'
  • 'User Modes'
  • 'Modules' which contains the data as you currently show in the modules button (scratch the button)

I was thinking i could do it but then figured, i better work on unrealircd than the panel and also not that important, i mean all the info is already there, so it doesn't improve functionality. Better someone else does it.. some day..

Third party plugins

Provide a (better) platform for developers to contribute their own plugins to the unrealircd/webpanel community.

(this idea is split off from Valware's Idea thread)

Administrative considerations:

  • Github repo? I think this will be the right method
  • Plugin quality standards? (minimum requirements for contribution etc)

Interface (GUI):

  • Plugins page to contain a list with wide overview cards similar to the Overview, which is also similar to how WordPress does it.
  • Each plugin card to have an optional screenshot.
  • When clicking to view a plugin from this list, in-depth detail about the plugin should be displayed, including description and author contact details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.