Welcome to the Blog Management system – a Linux-based platform for managing blogs, user preferences, and moderation. Built entirely with Bash scripts, YAML files, MySQL, and Linux ACLs.
🧪 Tested On:
OS: Arch Linux 6.15.1
Shell: zsh 5.9
Repo: DeltaTask
git clone https://github.com/JACKURUVI99/DeltaTask.git
cd DeltaTask/DeltaTask/scripts
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq
sudo chmod +x /usr/local/bin/yqMake sure the following are installed:
- bash
- yq (v4+)
- setfacl
- perl
- mysql
users.yaml→ All users and rolesuserpref.yaml→ Blog preferences per usersubscriptions.yaml→ Author followings- MySQL database
blogdbwith usernamerootand passwordarch
sudo ./setup.sh
sudo ./initusers.shuser → /home/users/<username>
all_blogs/, subscribed_blogs/, notifications.log
author → /home/authors/<author>
blogs/, public/, subscribers_only/
moderator → /home/mods/<mod>
blacklist.txt, author symlinks
system → /scripts
All logic and YAML configs
reports → /scripts/reports
Admin-generated reports
user → Create users, set up home, permissions
use → sudo ./initusers.sh
author → Manage blogs: create, publish, archive, delete, edit
use → ./manageblogs.sh [option] <filename>
options → -n (new), -p (publish), -a (archive), -d (delete), -e (edit), -s (subscriber toggle), -h (help)
author → Setup folders and blogs.yaml
use → sudo ./manage_blogs_setup.sh
moderator → Grant moderators access to all authors
use → sudo ./mod_permission_setup.sh
admin → Delete non-protected users
use → sudo ./deleteusers.sh
admin → Unlock user accounts
use → sudo ./renuewusers.sh <username>
admin → Set directory ACLs and access
use → sudo ./permissions.sh
admin → Full system setup (groups, directories, perms)
use → sudo ./setup.sh
admin → Set ACLs for author directories
use → sudo ./setup_author_permission.sh
user → Subscribe/unsubscribe to authors
use → ./subscriptionmodel.sh <authorname>
admin → Generate blog activity reports
use → sudo ./adminpanel.sh
admin → Setup reports folder
use → sudo ./adminpanel_setup.sh
moderator → Create blacklist.txt files
use → sudo ./blacklist_setup.sh
moderator → Setup access to author blogs
use → sudo ./blogfilter_setup.sh
moderator → Censor blacklisted words in blogs
use → ./blogfilter.sh <author_username>
admin → Personalized blog feed per user
use → sudo ./userFY.sh
users.yaml → User roles and usernames
userpref.yaml → Blog interest tags per user
subscriptions.yaml → Maps users to followed authors
blogs.yaml → Each author’s blog metadata
- MySQL password
archis hardcoded — replace with env variables for production - Clean up duplicate subscriptions in
subscriptions.yamlto avoid errors - All features work offline (Netcat-based notifications, bash-only logic)
Made With love<3 by Harish Annavisamy!