Modules created by Claude

Hi,
I am a long time Webmin user and currently I am using it to administer my Samba domain controllers.
Since I did not find the modules for Webmin that resemble the RSAT-Tools for Windows, I asked Claude to create them for me:

  • Users and Computers
  • DNS
  • Sites and Services
  • Replication

Also I have a module to sync the DNS entries on a UDM SE to AD, so there is no mismatch if both is used. I did not write the code myself but anyhow I think the modules might be of help for others as well. What is the position on AI-generated modules, is it possible to add them to the module repository? All I found for Samba is either outdated or just covers sharing.

Here are some screenshots:




Many regards,
Thomas.

Thanks, Thomas.

We don’t welcome AI-generated code from outside contributors. See @Joe’s post for more details on this matter:

That said, if you mean submitting it to the third-party module repository that webmin.com used to host, that’s something to raise with @Jamie. The repository isn’t active right now, though it may return in the future.

Yet, I’m also not convinced AI-generated third-party modules belong in the Webmin module repository at all. If they are ever accepted, they should at minimum be clearly labeled as such, especially when they haven’t been reviewed by a human or were written by someone without solid Perl experience.

On a side note, from your screenshots it looks like the AI didn’t make proper or full use of the Webmin UI library. I’d suggest pointing your agent at the systemd, grub2 or nftables modules and having it follow their patterns.

This alone would be a massive PR boost and would allow the community to contribute and show their work off. The catalgoue would have flags/tags such as

  • virtualmin required
  • official
  • community
  • created by AI / partially created by AI
  • Virtualmin Pro Only
  • Paid
  • Free
  • Subscription

and you could have stars, links and reviews.

There are a lot of Webmin/Virtualmin modules out there that do not have a home so get lost and forgotten about.

You could also add up a skeleton module which users and AI can use as a template.

That would be useful, though it wouldn’t be trivial to implement and support.

what about using an off the shelf product (opensource and free of course), the wheel has already been invented. :smiley:

Hi Ilia,
thank you for your reply and I completely understand your point of view. Mine is that I have searched for a solution that does not require writing shell scripts or memorizing cli commands for a long time now. Everything I found was either not maintained anymore or buggy because it is not complete yet. Claude created the code for each module in less than 10 minutes each and only the first had to be corrected since it was too strict in the detection of the linux version (my Ubuntu 26.04 was too new for it). I now have modules that make the administration of my Samba servers much easier and I finally can get rid of the Windows servers that I had running solely to have a GUI that is easy to administer.
I completely understand that the code seems to be hard to review and there is the danger of backdoors. Thanks for the explanation on your standpoint as well.

That’s excellent news! Congratulations! And, I also think next year’s age-verification exemption could give Linux a real chance to grow faster. Or maybe I just (still) have too much faith in people.

I think we’re in a time where a lot more people could be contributing modules for specialized purposes (because of the improvements in AI for generating code), so it would be a good time to consider a new index. The old one was retired, I think, because so much of the code referenced was ancient and unmaintained; it’s not doing anyone any favors to point them at a 20 year old module that almost certainly doesn’t work correctly in a modern Webmin version and probably has security problems.

But, we’re also planning a major refactor of how UI works, which will make it easier for AI (and humans) to get UI right in Webmin. Currently, I think the ui-lib is the weakest part of developing for Webmin, and one that confuses agents and humans quite a lot. Getting a good looking UI out of ui-lib is hard as hell, and seemingly only Ilia can do it (I can’t). And, some other major API changes are coming, partly to address the new reality that high capability security threats are widespread now. Anybody can be a super hacker, if they’re ready to spend a few bucks on AI model usage. The need for security in depth has become more pressing.

So, a new index of Webmin/Virtualmin modules would be good and timely since so many folks are making new modules and updating old ones using LLM assistance, I’d like to get the ui-lib problem fixed first so we’re able to encourage modern habits for folks making new modules, and it definitely needs reviews and some kind of vetting, which is a harder problem than just listing modules people contribute.

From a safety perspective, if we’re making 3rd party modules easier to find and install, we’d feel responsible for performing some kind of automated malware detection (and even with that, installing random Webmin modules is potentially very dangerous!), which is costly. AI security reviews already chew up my usage limits extremely quickly, for just my own software; expanding that to review every new module someone submits could cost quite a lot. Even low-cost models like GLM add up really fast for full repo security audits. The WordPress index does malware scans, but I think they use old-fashioned AV anti-malware tools that obviously miss a bunch of stuff. I think we’d need to build our own deterministic tools (tools that run the module in a container and see whether the app does things that aren’t advertised functions, checks for known weird behaviors like making network connections, etc.) as well as LLM-based security audits. All of that is time-consuming and expensive. We’re not exactly rolling in money for infrastructure like this or for burning millions of tokens every month on security audits of third-party code.

I’ve long wanted to build a third-party ecosystem for Webmin and Virtualmin. It’s important for serving customers who have specific needs. But, it’s always been kind of a chicken and egg problem. Until recently there weren’t many maintained third-party modules (and there still aren’t really all that many, I’ve seen a half dozen folks post things). There was a lull in third-party dev for many years…there were lots of modules in the 00s, with almost no new ones through the 10s and 20s, and many of the old ones going unmaintained.

2 Likes

There is more modules out there than you think, but there is no central place to advertise them. Posting info on a forum is not always the medium people prefer to show case there hard work.

You do not have to vet external plugins. Just put a warning. Now could you offer a paid service for plugins where the developer pays you for it to be a sanctioned plugin which you guys have checked and supply for direct download to virtualmin.

Does this mean a proper template system? :blush:

It means we’re getting out of the UI business, most likely. No template system. Just a common stylesheet, some UI guidelines, and an API for interacting with the help and other UI-adjacent systems in Webmin. You’ll write HTML/CSS/JavaScript.

1 Like

The beauty with Claude is that I pointed it to the module mentioned above with a screenshot and about 20 minutes later, all 5 modules were updated. And I did one step more: there is a search field now I can use to filter entries. This is something, that was always missing in the tools like RSAT.
I have been working with Claude only for a couple of weeks now (inspired by a friend who has churned the whole software development in his company to Claude), For me as an end user with limited capabilities in terms of programming, this is a huge step forward: I know what I want but I do not know how to turn that into code (and it would take me ages and would not produce good and well documented code to start with). I think that this is the start of a disruption in code writing.

It will be a very long time before this team get made redundant looking at the latest changelog for 8.20

1 Like

I use Claude Code daily (mostly for my day job), and it has altered the software development landscape pretty dramatically. I’d urge caution with treating the code it produces as production-ready, but it’s also true it can accelerate development by a huge amount.

The problem with it from the perspective of an existing large project accepting third-party code produced by LLMs is that it is extremely hard to review. It comes in as a big pile of extremely verbose code without any human having a good understanding of it. If we have questions about choices, there’s no one to answer; no human knows, and if someone asks Claude to explain it, it’s just reading the code and docs a previous incarnation of Claude wrote and guesstimating answers (Claude’s “memory” isn’t memory, it’s a bolted-on database that allows it to pull previous events into its current context…it has no recollection of having built a thing and no idea what motivated the choices it made, every spelunk through the code is new for Claude), and the “meat proxy” (the human in between) is just ferrying questions and answers back and forth and nobody actually understands anything about the code in the process.

To be clear, I think it’s great that it is lowering the barrier to entry, and I know it’s possible to produce good software with Claude’s assistance. But, it has limitations and flaws, and it’s hard to recognize them without reading and understanding the code, which is made difficult by the verbosity of it. Because one can prompt a large swath of code into existence quickly, the code quickly balloons to something that’s hard and time-consuming for a human to review, and the more steps along the way, the more verbose and convoluted it becomes without a lot of intentional effort along the way to keep the LLM from repeating itself (one major failure mode of LLMs in large code is they repeat functionality over and over, many independent implementations of the same things, all slightly different…it works, but it’s hard to read and maintain).

In short: I now spend a lot of my development time at my day job reviewing and fixing code mostly written by Claude Opus/Fable (and GPT 5.6 Sol). In the case where I prompted the code into existence, I know what it’s supposed to do; I know the intention of each step and understand it and can keep it in line. In the case where someone else prompted it, I’m usually pretty lost trying to read and understand the code.

1 Like

different scenario, but I always make sure Claude adds lots of comments.

I yell at Claude every day to stop adding so many fucking comments. It contributes to the verbosity and difficulty reading/reviewing the code (it also often leaves behind comments after they no longer are true).

I think it’s much easier to properly configure AGENTS.md for each project, including how many comments it can add. This can greatly improve code quality, simplify and speed up work on project-specific tasks.

It’s a real head-scratcher as to why Linux hasn’t just “leaped-and-bounded” after all these years. Linux has had EVERY opportunity to “beat the competition” – sometimes whole companies or countries decide to “GO LINUX” only to quietly go back to Windows a while later. There seems to be something wrong somewhere in the layers of “GNU-LAND” because Linux SHOULD be at 75+% of the desktop AND server markets… but… still down in the single-digits.

This is NOT trash talk against Linux – I’m honestly confused why Linux is not on top.

That said, no matter how much I love Linux, I have a list of reasons why I use Windows as my daily driver at home AND work… but I wish I didn’t.

(I know, Joe, wrong forum)

Too many variations fighting against each other. There is only one Windows.

Every article about Linux touts a different variant, which one to choose?

1 Like

Either Fedora Desktop or Ubuntu Desktop—both are fine.

@Randomz is 100% right