Simple login script
Project description
Simple file-based authentication system with messaging, permissions, and moderation.
Documentation • Report Bug • Request Feature
🌟 Why This Project?
- Fully customizable and easy to extend
- Includes real-world features (messaging, permissions, banning, etc.)
- Lightweight — no database required
✨ Features
- 🔑 User authentication (login & signup)
- 🔒 Password hashing using SHA-256
- 📬 User-to-user messaging
- 📥 Mailbox system (read, send, clear)
- 🛡️ Permission system (tiers 1–5)
- ⬆️ User promotion system
- 🚫 User banning system
- ❌ Account deletion
- 🛠️ Initial setup mode
🔐 System Overview
This system uses plain text files as a simple, lightweight database.
📁 Data Storage
users.txt→ Stores usernames and hashed passwordsbannedusers.txt→ Stores banned usernamesuser_(id).txt→ Stores user permissionsmailbox_(username).txt→ Stores user messages
🛠️ First-Time Setup
Run the program and type:
setup
This will:
- Create a default admin account
- Grant admin permissions
Default credentials:
- Username:
setup - Password:
setup
⚠️ Important: Delete this account after creating your own admin account.
🧑💻 Usage
At startup, choose:
log insign upsetup
📜 Commands
| Command | Description |
|---|---|
help |
Show all commands |
date/time |
Shows the current date and time |
message |
Send a message to a user |
readmail |
Read your mailbox |
promote |
Promote a user (requires permission) |
ban |
Ban a user |
banusername |
Ban a username from use for a new account |
deleteaccount |
Delete your account |
changelog |
View changes |
quit |
Exit the program |
🚫 Banning System
- Stored in
bannedusers.txt
When a user is banned:
- Their account is removed
- Their mailbox is deleted
- Their username cannot be reused
🔮 Planned Features
- Improved security (salted hashing, validation)
- Better error handling
- Cleaner code structure
- Database support (SQLite)
- Logging system
- Admin tools / interface
🤝 Contributing
- 🐛 Found a bug? Open an issue
- 💡 Have an idea? Suggest a feature
- 🔧 Want to improve the code? Submit a PR
All contributions are welcome.
📄 License
This project is free to use for educational purposes.
Made with learning in mind.
If you like it, consider ⭐ starring the repo!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_login_system-0.1.0.tar.gz.
File metadata
- Download URL: simple_login_system-0.1.0.tar.gz
- Upload date:
- Size: 43.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baff69e92e1fe02a52bf6fd0d3c2ae39052f3957b9077764a07e50ba13eda6db
|
|
| MD5 |
f26b0dace9efd73b7e8a755e6e823ac1
|
|
| BLAKE2b-256 |
47c2985c22d00eb1bdc4a905af12afbef9dedcae3802cfffc7da330873c815df
|
File details
Details for the file simple_login_system-0.1.0-py3-none-any.whl.
File metadata
- Download URL: simple_login_system-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7633cb42448081bf5c2526047cc00604e31e2b7d2b9130a28bd6265194c62b72
|
|
| MD5 |
7e067c45ecd7cca4473a20d67ac6bd07
|
|
| BLAKE2b-256 |
0ec446bc2fcf7f74929c9f54fbc6b4d5fb871007699df14df7db3de1adbdc825
|