{"id":28092735,"url":"https://github.com/prathameshkhade/sysadmin","last_synced_at":"2025-05-13T13:39:29.437Z","repository":{"id":289112740,"uuid":"872576375","full_name":"prathameshkhade/SysAdmin","owner":"prathameshkhade","description":"Manage your Linux servers on the go! SysAdmin is a Flutter-based mobile app providing a user-friendly interface for system monitoring and administration over SSH","archived":false,"fork":false,"pushed_at":"2025-05-06T09:55:24.000Z","size":10108,"stargazers_count":79,"open_issues_count":6,"forks_count":4,"subscribers_count":3,"default_branch":"dev","last_synced_at":"2025-05-06T10:37:01.338Z","etag":null,"topics":["administration","android","flutter","linux","linux-app","linux-server","linux-server-administration","linux-server-monitoring","server-monitoring","ssh-manager","sysadmin","sysadmin-tools","sysadmin-utilities","sysadmins","system-administration"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prathameshkhade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-14T17:17:57.000Z","updated_at":"2025-05-06T09:55:27.000Z","dependencies_parsed_at":"2025-04-21T16:44:58.036Z","dependency_job_id":null,"html_url":"https://github.com/prathameshkhade/SysAdmin","commit_stats":null,"previous_names":["prathameshkhade/sysadmin"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathameshkhade%2FSysAdmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathameshkhade%2FSysAdmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathameshkhade%2FSysAdmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathameshkhade%2FSysAdmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prathameshkhade","download_url":"https://codeload.github.com/prathameshkhade/SysAdmin/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253951580,"owners_count":21989529,"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":["administration","android","flutter","linux","linux-app","linux-server","linux-server-administration","linux-server-monitoring","server-monitoring","ssh-manager","sysadmin","sysadmin-tools","sysadmin-utilities","sysadmins","system-administration"],"created_at":"2025-05-13T13:39:27.432Z","updated_at":"2025-05-13T13:39:29.420Z","avatar_url":"https://github.com/prathameshkhade.png","language":"Dart","readme":"\u003cp align=\"center\"\u003e\n   \u003cpicture\u003e\n      \u003cimg width=\"180\" src=\"assets/LogoRound.png\" alt=\"SysAdmin Logo\" /\u003e\n   \u003c/picture\u003e\n   \u003cbr\u003e\n   \u003cspan style=\"font-size: 2em; font-weight: bold;\"\u003eSysAdmin\u003c/span\u003e\n   \u003cbr\u003e\n   \u003ci\u003e\u003cb\u003eLinux server management in your pocket\u003c/b\u003e\u003c/i\u003e\n   \u003cbr\u003e\u003cbr\u003e\n   \u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/com.sysadmin.sysadmin\"\u003e\n      \u003cimg width=\"200\" src=\"https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png\" alt=\"Get it on IzzyOnDroid\" /\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://www.openapk.net/sysadmin-linux-server-management/com.sysadmin.sysadmin/\"\u003e\n      \u003cimg width=\"200\" src=\"https://www.openapk.net/images/openapk-badge.png\" alt=\"Get it on OpenAPK\" /\u003e\n   \u003c/a\u003e\n   \u003cbr\u003e\u003cbr\u003e\n   \u003ca href=\"https://github.com/prathameshkhade/SysAdmin/releases\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/release/prathameshkhade/SysAdmin.svg\" alt=\"GitHub release\"\u003e\n   \u003c/a\u003e\n   \u003ca href=\"LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-GPLv3-blue.svg\" alt=\"License: GPL v3\"\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://flutter.dev/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Made%20with-Flutter-02569B.svg\" alt=\"Flutter\"\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/prathameshkhade/SysAdmin/stargazers\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/prathameshkhade/SysAdmin\" alt=\"GitHub stars\"\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/prathameshkhade/SysAdmin/network/members\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/forks/prathameshkhade/SysAdmin\" alt=\"GitHub forks\"\u003e\n   \u003c/a\u003e\n   \u003ca href=\"CONTRIBUTING.md\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/contributions-welcome-brightgreen.svg\" alt=\"Contributions welcome\"\u003e\n   \u003c/a\u003e\n   \u003cbr\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003e *\"Command your servers, not your schedule. Admin anywhere, anytime.\"*\n\n## 🔍 Overview\n\n**SysAdmin** is an open-source mobile application that puts the power of Linux server administration in your pocket. Built with Flutter, it provides a sleek, intuitive GUI for managing your Linux servers on the go - no laptop required.\n\n\u003e *\"When your server needs you, but your laptop is at home.\"*\n\n\u003e [!warning]\n\u003e \u003cb\u003eTHIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.\u003c/b\u003e\n\u003e \n\u003e \u003cb\u003ePUTTING SYSADMIN, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.\u003c/b\u003e\n\n## Screenshots\n\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/01.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/01.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/02.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/02.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/03.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/03.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/04.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/04.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/05.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/05.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/06.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/06.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/07.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/07.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/08.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/08.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/09.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/09.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/10.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/10.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/11.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/11.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/12.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/12.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/13.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/13.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/14.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/14.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/15.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/15.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/16.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/16.png)\n[\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/17.png\" width=160\u003e](fastlane/metadata/android/en-US/images/phoneScreenshots/17.png)\n\n## 🔍 Understanding The Problem\n\nAs a Linux system administrator, you may have faced these challenges:\n\n- 💻 **Always needing a laptop** to connect to your servers\n- ⏱️ **Time wasted** turning on devices, connecting, and executing repetitive commands\n- 🔄 **Repetitive tasks** that could be simplified with a GUI\n- 🔋 **Energy consumption** from keeping a laptop running for quick server checks\n\nSysAdmin addresses these issues by providing a comprehensive mobile solution that puts powerful server management tools in your pocket.\n\n## 🌟 Why SysAdmin?\n\nTraditional server management requires either physical access or an SSH session through a terminal, which can be inconvenient when you're on the move. **SysAdmin** solves this by providing:\n\n- [x] **Mobile-First GUI** for Linux server management\n- [x] **Multi-Server Support** - manage all your servers from one app\n- [x] **Secure Connections** using SSH/SFTP with password or key-based authentication\n- [x] **No Command Line Required** (but available when you need it!)\n- [x] **Environmentally Friendly** - uses less energy than keeping a laptop running\n\n\u003e *\"Because the command line should be a choice, not a necessity.\"*\n\n## 🚀 Key Features\n\n### Currently Available:\n\n- **Dashboard** - View server status, system metrics, and connection details at a glance\n- **SSH Manager** - Store and manage multiple server connections securely\n- **System Information** - Detailed hardware information about your connected server\n- **Real-time System Resource Monitoring** - Track CPU, RAM, and swap usage with graphs\n- **SFTP File Explorer** - Browse, upload, download, and manage files with ease\n- **Schedule Jobs** - Create one-time and recurring tasks\n- **Environment Variables** - Manage both local and global environment variables\n- **Terminal** - Full terminal access when you need the command line\n\n### Coming Soon:\n\n- **User \u0026 Group Management**\n- **Service \u0026 Log Management**\n- **Package Management**\n- **Firewall Configuration**\n- **Container Management** (Docker/Podman)\n- **Disk \u0026 Network Management**\n- **VNC Support**\n\n## 🌱 Sustainable Development Goals\n\nSysAdmin contributes to several UN Sustainable Development Goals:\n\n- **SDG 4 (Quality Education)** - Making server management more accessible to beginners\n- **SDG 8 (Decent Work and Economic Growth)** - Increasing productivity and supporting remote work\n- **SDG 9 (Industry, Innovation, and Infrastructure)** - Promoting innovation with mobile-friendly server management\n- **SDG 11 (Sustainable Cities and Communities)** - Supporting smart infrastructure with less energy usage\n- **SDG 17 (Partnerships for the Goals)** - Encouraging open-source collaboration\n\n## 🛡️ Security Features\n\nSecurity is our top priority. SysAdmin implements:\n\n- **Local Authentication** - Biometric/pin protection using your device's screen lock\n- **Encrypted Communications** - All server communications use SSH/SFTP encryption\n- **Secure Credential Storage** - Connection details are stored in your device's secure storage\n- **No Server-side Components** - Your credentials never leave your device\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Flutter SDK (latest stable version)\n- Android Studio or VS Code with Flutter extensions\n- A test Linux server with SSH access\n\n### Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/prathameshkhade/SysAdmin.git\n   cd SysAdmin\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   flutter pub get\n   ```\n\n3. **Run the app:**\n   ```bash\n   flutter run\n   ```\n\n### Setting up for first time?\n\n1. Launch the app\n2. Navigate to SSH Manager and add your first server connection\n3. Set your preferred connection as default\n4. Explore the dashboard and features!\n\n## 💡 Project Architecture\n\n```shell\nlib/\n│\n├── core/                     # Core system-wide constants, utilities, and base classes\n│   ├── constants/            # App-wide constants (colors, dimensions, strings, etc.)\n│   ├── utils/                # Utility/helper functions (e.g., validators, formatters)\n│   ├── theme/                # Theme and styling information\n│   └── widgets/              # Shared reusable widgets across the app\n│\n├── data/                     # Data layer for managing data sources\n│   ├── models/               # Data models representing application entities (User, SSH Connection, etc.)\n│   ├── repositories/         # Abstraction of data sources (local, remote API, etc.)\n│   └── services/             # Logic for handling services like network, authentication, etc.\n│\n├── domain/                   # Domain layer for business logic\n│   ├── entities/             # Core business entities\n│   ├── usecases/             # Application-specific business logic\n│   └── interfaces/           # Interfaces for repositories or services\n│\n├── presentation/             # UI layer - Screens, Widgets, and State management\n│   ├── screens/              # All major screens and pages (onboarding, dashboard, settings, etc.)\n│   │   ├── onboarding/       # Screens related to onboarding\n│   │   ├── dashboard/        # Main admin dashboard\n│   │   ├── user_management/  # User and Group management screens\n│   │   ├── ssh_management/   # SSH connections management screens\n│   │   ├── sftp/             # File transfer (SFTP) management screens\n│   │   └── ...               # More feature screens (logs, services, cron jobs, etc.)\n│   └── widgets/              # Reusable widgets (buttons, cards, dialogs) specific to the presentation layer\n│\n├── providers/                # State management (e.g., Riverpod, Provider, etc.)\n│   └── ssh_state.dart        # Global application state (loading, session, etc.)\n│\n├── routes/                   # Application navigation and routing\n│   └── app_routes.dart       # App's route definitions and navigators\n│\n├── config/                   # Environment-based configurations\n│   ├── env/                  # Separate config files for dev, staging, production\n│   └── app_config.dart       # Main configuration file\n│\n└── main.dart                 # App entry point\n```\n\n## 🤝 Contributing\n\nWe welcome contributions from everyone! Whether you're fixing bugs, improving documentation, or proposing new features, your help is appreciated.\n\nPlease read our [Contribution Guidelines](CONTRIBUTING.md) before submitting a pull request.\n\n\u003e *\"In open source, we feel strongly that to really do something well, you have to get a lot of people involved.\"* - Linus Torvalds\n\n## 📜 License\n\u003cdiv align='center'\u003e   \n   \u003ca href=\"https://www.gnu.org/licenses/gpl-3.0.en.html\"\u003e   \n      \u003cimg src=\"https://www.gnu.org/graphics/gplv3-127x51.png\" alt=\"GNU GPLv3 Image\"\u003e\n   \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cp\u003eSysAdmin is Free Software: You can use, study, share, and improve it at will.\n\u003cp\u003eSpecifically you can redistribute and/or modify it under the terms of the \u003ca href=\"https://www.gnu.org/licenses/gpl.html\"\u003eGNU General Public License\u003c/a\u003e as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\n## 💖 Support \u0026 Donations\n\nIf you find **SysAdmin** helpful, consider supporting the development! Your support helps keep this project open-source and constantly improving 🚀\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://www.buymeacoffee.com/prathameshkhade\"\u003e\n      \u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee\u0026emoji=☕\u0026slug=prathameshkhade\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Comic\u0026outline_colour=000000\u0026coffee_colour=ffffff\" alt=\"Buy Me A Coffee\" /\u003e\n   \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003cpicture\u003e\n      \u003cimg width=\"200\" style=\"border-radius: 15px;\" src=\"assets/GooglePay_QR.png\" alt=\"UPI QR Code\" /\u003e\n   \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  You can also donate directly via UPI: \u003ccode\u003epkhade2865@okaxis\u003c/code\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003e Every bit of support means the world 🙏\n\n## 📬 Contact\n\nQuestions or feedback? Reach out at [pkhade2865+sysadmin@gmail.com](mailto:pkhade2865+sysadmin@gmail.com) or report an issue [GitHub Issues](https://github.com/prathameshkhade/SysAdmin/issues)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e\u003cb\u003eMade with \u003cimg src=\"https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Smilies/Red%20Heart.png\" alt=\"❤️\" width=\"37\" height=\"38\" style=\"vertical-align: middle;\" /\u003e by \u003ci\u003eprathameshkhade\u003c/i\u003e\u003c/b\u003e\u003c/h3\u003e\n  \u003cp\u003e\u003ci\u003eBecause server management shouldn't require a desk.\u003c/i\u003e\u003c/p\u003e\n\u003c/div\u003e\n","funding_links":["https://www.buymeacoffee.com/prathameshkhade","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprathameshkhade%2Fsysadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprathameshkhade%2Fsysadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprathameshkhade%2Fsysadmin/lists"}