{"id":27610394,"url":"https://github.com/prthd/secure-file-system","last_synced_at":"2026-02-25T17:34:28.386Z","repository":{"id":280718395,"uuid":"942925838","full_name":"PrthD/Secure-File-System","owner":"PrthD","description":"A secure multi-user file system with end-to-end encryption, HMAC-based integrity verification, and Unix-style permission control. Features bcrypt-authenticated logins, group-based collaboration, and a command-line interface for secure file operations on untrusted storage.","archived":false,"fork":false,"pushed_at":"2025-03-26T22:05:17.000Z","size":732,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T23:34:47.179Z","etag":null,"topics":["access-control","bcrypt","cli","cryptography","encryption","fernet-encryption","filesystem","hmac-sha256","integrity","python","secure-storage","security","unix-permissions"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PrthD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-04T22:38:48.000Z","updated_at":"2025-04-02T22:17:03.000Z","dependencies_parsed_at":"2025-04-22T23:31:03.741Z","dependency_job_id":"7393df79-c6d5-41c6-bd21-3cff37367f55","html_url":"https://github.com/PrthD/Secure-File-System","commit_stats":null,"previous_names":["prthd/secure-file-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PrthD/Secure-File-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrthD%2FSecure-File-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrthD%2FSecure-File-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrthD%2FSecure-File-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrthD%2FSecure-File-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PrthD","download_url":"https://codeload.github.com/PrthD/Secure-File-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrthD%2FSecure-File-System/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259474517,"owners_count":22863694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access-control","bcrypt","cli","cryptography","encryption","fernet-encryption","filesystem","hmac-sha256","integrity","python","secure-storage","security","unix-permissions"],"created_at":"2025-04-22T23:27:24.689Z","updated_at":"2026-02-25T17:34:23.347Z","avatar_url":"https://github.com/PrthD.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure File System (SFS)\n\nA secure file system with encryption, access control, and integrity verification. Supports multi-user groups, Unix-like permissions, and a CLI for secure file operations.\n\n---\n\n## 📂 Project Overview\n\nThe **Secure File System (SFS)** is a command-line based file management system designed for untrusted environments. It integrates robust cryptographic techniques with Unix-style permission controls to provide secure multi-user file operations.\n\nKey security pillars include:\n\n- 🔒 **Confidentiality**: File names, contents, and metadata are encrypted.\n- 🛡️ **Integrity**: HMAC-based tamper detection alerts users of unauthorized modifications.\n- 🔑 **Access Control**: Role-based access with support for user/group/other permission levels.\n- 👤 **Authentication**: Secure password handling using bcrypt hashing.\n\n---\n\n## 👨‍💻 Team\n\n**Group Name**: The ByteKnights\n\n- Het Bharatkumar Patel (SID: 1742431, CCID: hetbhara)\n- Parth Dadhania (SID: 1722612, CCID: pdadhani)\n\n---\n\n## 🚀 Features\n\n- ✅ Encrypted file and directory names \u0026 contents (Fernet AES)\n- ✅ CLI-based interface with commands like `login`, `mkdir`, `cd`, `ls`, `touch`, `cat`, `echo`, `mv`, etc.\n- ✅ Unix-like permission model (`user`, `group`, `all`)\n- ✅ Integrity verification with SHA-256 HMAC\n- ✅ Secure password storage (bcrypt)\n- ✅ Admin capabilities for creating users and groups\n- ✅ Corruption alerting for external file tampering\n\n---\n\n## 🧰 Technologies Used\n\n| Category        | Technology/Tool         |\n| --------------- | ----------------------- |\n| Language        | Python                  |\n| Encryption      | `cryptography` (Fernet) |\n| Integrity Check | HMAC (SHA-256)          |\n| Authentication  | `bcrypt`                |\n| Data Storage    | Encrypted JSON files    |\n| Version Control | Git + GitHub            |\n| Automation      | `run.sh` bash script    |\n\n---\n\n## ⚙️ Setup Instructions\n\n### 🔧 Requirements\n\n- Python 3.8 or above\n- Git / Bash-compatible terminal (Linux/macOS/Windows Git Bash)\n\n### 🚀 Quick Start\n\n```bash\n# Clone the repository\ngit clone https://github.com/PrthD/Secure-File-System.git\ncd Secure-File-System\n\n# Make run script executable (Linux/macOS)\nchmod +x run.sh\n\n# Run the app\n./run.sh\n```\n\nThis will:\n\n- Create a virtual environment (if not already created)\n- Install dependencies from `requirements.txt`\n- Launch the Secure File System CLI\n\n---\n\n## 🧪 Default Admin Credentials\n\n```bash\nUsername: admin\nPassword: adminpass\n```\n\nUse this account to create users and groups via the `adduser` and `addgroup` commands.\n\n---\n\n## 📘 Example Commands\n\n```bash\nlogin admin adminpass\naddgroup team1\nadduser alice password123 team1\nmkdir secure_folder\ntouch notes.txt\necho notes.txt Hello world!\ncat notes.txt\nchmod notes.txt group\nlogout\n```\n\n---\n\n## 🧑‍🏫 User Roles\n\n- **Admin**: Can create users/groups\n- **User**: Can create/manage personal files and directories\n- **Group**: Enables collaborative access via permission settings\n\n---\n\n## 🛡️ Security Highlights\n\n- All data stored on disk (including filenames) is encrypted.\n- HMAC-based integrity check detects tampering from outside SFS.\n- External users see only encrypted content, preserving confidentiality.\n- Permission checks enforced before all read/write operations.\n\n---\n\n**Happy Securing! 🔐**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprthd%2Fsecure-file-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprthd%2Fsecure-file-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprthd%2Fsecure-file-system/lists"}