Hello everyone,
A small project I'm working on NetBSD.
I would like your opinion.
I often switch between operating systems and sometimes write a good number of scripts to speed things up a bit.
It's sometimes tiring to switch from one environment to another, especially since the differences are often significant.
Apart from the old Webmin, I haven't found, on NetBSD, a module to help facilitate the configuration of a server (at least for basic tasks), so I came up with the idea of writing a small collection of functions, grouped into a script, with a dialog screen display to make configurations more pleasant.
Initially, I was doing this for myself, being more used to FreeBSD than NetBSD which I am discovering little by little, I thought it could be a good way to learn and that ultimately it could possibly interest other people (or not.. it's up to you to tell me!).
I think this could make it easier to transition from a mainstream operating system to a BSD system like NetBSD for some people (CLI-phobes).
The choice of dialog will certainly provoke a backlash from some. I'm not fiercely attached to dialog, the idea is to make it all more pleasant for CLI-phobes, that's all.
So it can be an open question. dialog or not.. Usually, simple echoes and an index to choose an option are enough for me.
Currently, the script already allows the completion of these tasks:
- Setting up the NPF firewall with a customizable default rules file
- Guided or customizable SSH configuration
- Checking internet connection
- Automatic configuration of a Wifi connection
- User and group management
- sudo configuration for a user
- Installation of the ClamAV antivirus with optimized settings and addition of the securiteinfo.com and SaneSecurity bases
- Possibility to run an antivirus scan on / or /home in the background
- Update of bases added to ClamAV
- ClamAV logs management (timestamped compression .xz, visualization)
- ISO image burning on CD
- ISO image burning (or .usb) on USB device
- NTFS, FFSv1, FFSv2 formatting
- Mounting/unmounting USB devices NTFS, FFSv1, FFSv2
- Secure erasure of USB devices (dd)
- Reconstruction of the locate index
- Installation of the complete XFCE4/slim desktop environment
- Installation of usual desktop applications (choice or entire bundle)
- Installation of usual utilities (choice or entire bundle)
- Configuration of a network printer with PPD file.
- Setting up a VPN connection with the OVPN provider (adapted from FreeBSD)
The project is still in its early stages (I only started about a week ago, a few hours here and there), and it's just a script, written in the most basic standard shell possible to make it not unbearable (not always easy with dialog anyway), I don't intend to make it an application.
Given that I have already written a whole collection of scripts for the automatic deployment of virtual hosts for several CMS in HTTPS (with incorporation of signed or self-signed SSL certificates) on apache or nginx on FreeBSD, configuration of SFTP servers, XMPP, setting up local or remote rsync synchronizations, cron task management, automatic RAID configuration etc.. I won't take long to adapt them to NetBSD.
Many things can be done quite quickly, up to offering standard services (I'm thinking of YASM on opensuse for example).
I am also open to suggestions. This could be a collaborative project.
If the project may interest some of you, and if the dialogue proves to be constructive, then I could publish it and continue to write it.
Just a few screenshots :