A comprehensive cross-platform Python application for daily task management with integrated tools for MySQL backups, FTP/SFTP file management, media downloading, and advanced shell access.
- Task Management: Create, edit, delete, and manage tasks with deadlines and timers
- Task Archive: Automatic archiving of completed tasks after configurable time threshold
- Notes: Create and manage detailed notes with rich text editing
- Useful Links: Quick access to frequently used URLs
- Deadline Tracking: Real-time countdown with visual alerts and sound notifications
- Search: Quick search functionality for tasks
- Cloud Sync: Optional HTTP, FTP, or S3 synchronization for task database
- Analog Clocks: Display up to 6 timezone clocks (US, UK, Japan, Bangladesh, India, Singapore)
- Date/Time Display: Main date and time display with timezone label (configurable visibility)
- Settings: Comprehensive settings for theme, sync, clock visibility, and archive threshold
- GUI-based MySQL database backup management
- Save and manage multiple connection presets
- Backup history tracking
- Secure credential storage with SQLite (
settings.db) - Remote Backup Options: HTTP, FTP, S3, or Google Drive (OAuth2)
- Automatic credential persistence and auto-load on startup
- Cross-platform support (Linux/Windows/Mac)
- Full-featured file transfer client similar to FileZilla
- Support for FTP, FTPS (TLS), and SFTP protocols
- Advanced Features:
- File upload, download, delete, rename
- Directory creation and navigation
- File/folder permissions editing (chmod)
- File properties viewer (size, dates, permissions)
- Multi-select operations
- Transfer queue with progress tracking
- Connection profiles with saved credentials
- Local and remote file browsing
- Recursive directory deletion
- Cross-platform support (Linux/Windows/Mac)
- Download videos and audio from various platforms
- Support for playlists and single media files
- Quality settings (video: best, 1080p, 720p, 480p, 360p)
- Audio quality options (320, 256, 192, 128, 96 kbps)
- Format selection (MP4, WebM, MKV)
- Auto-detection of clipboard URLs
- System tray integration
- Auto-start with Windows/Linux
- Cross-platform support (Linux/Windows/Mac)
- Powerful GUI shell with admin/root capabilities
- Cross-platform command execution (Linux/Windows/Mac)
- Privilege elevation support (sudo/pkexec on Linux, UAC on Windows, osascript on Mac)
- Command history
- Current directory management
- Built-in commands
- Dark theme interface
- Python 3.12 or higher
- Linux, Windows, or macOS
# Install dependencies
pip install -r requirements.txt
# Run the application
python task.py- All GUIs run without console windows
- Taskbar icons properly configured
- Auto-start support via Windows Registry
- Auto-start via
.desktopfile in~/.config/autostart/ - FFmpeg installation via package manager (Ubuntu:
sudo apt-get install ffmpeg) - Proper icon support via Pillow fallback
- Auto-start not yet implemented (can be added)
- FFmpeg installation via Homebrew (
brew install ffmpeg)
to-do/
βββ task.py # Main dashboard application
βββ icon.ico # Application icon
βββ icon_utils.py # Centralized icon management
βββ settings_db.py # Shared settings database utilities
βββ sync_server.py # Optional sync server
βββ requirements.txt # Python dependencies
βββ settings.db # Shared credentials/settings database
βββ ftp_client/ # FTP/FTPS/SFTP client
β βββ ftp_client_gui.py # Main FTP client GUI
β βββ ftp_client_gui_enhanced.py # Enhanced version
βββ media_downloader/ # Media downloader
β βββ media-download.py # Main media downloader GUI
β βββ requirements.txt # Media downloader dependencies
βββ mysql_client/ # MySQL backup tool
β βββ mysql_backup_gui.py # MySQL backup GUI
βββ shell_yamin/ # Advanced shell
βββ shell_gui.py # Shell GUI
βββ README.md # Shell documentation
- Add Task: Type in the input field and press Enter
- Set Deadline: Right-click task β "Set Timer..." or click "β° Add Timer"
- Edit Task: Right-click β "Edit Task..." for comprehensive editing
- Toggle Done: Double-click task or press Space
- Delete Task: Select task and press Delete or right-click β "Delete Task"
- Search: Type in search box and press Enter to find tasks
- Archive: View archived tasks via Archive β View Archive...
- Add Note: Click "β Add New Note" button
- Edit Note: Right-click note β "Edit"
- Add Link: Click "β Add New Link" button
- Open Link: Double-click link in list
- Access: Tools β Settings
- Theme: Light/Dark mode
- Analog Clocks: Show/hide individual timezone clocks
- Date/Time Display: Show/hide main date and time
- Cloud Sync: Configure HTTP, FTP, or S3 synchronization
- Archive Threshold: Set hours before completed tasks are auto-archived
Access via Tools menu:
- MySQL Backup Tool: Database backup management
- FTP/FTPS/SFTP Client: File transfer and management
- Media Downloader: Download videos and audio
- Advanced Shell: GUI shell with admin access
- Main dashboard DB file:
taskmask.db(used by all dashboard features)- Default location (Windows):
%APPDATA%\DailyDashboard\database\taskmask.db - Default location (Linux/Mac):
~/.config/DailyDashboard/database/taskmask.db - Portable mode: Create
portable.txtnext totask.pyto use./database/taskmask.db
- Default location (Windows):
- Shared credentials/settings DB file:
settings.db(stored in project root)- Contains: saved MySQL connections, FTP connection profiles, backup locations, backup history, OAuth2 tokens, archive settings, clock visibility settings, and other shared credential/history settings
Configure in Tools β Settings:
- HTTP Sync: Custom server synchronization
- FTP Sync: FTP server synchronization
- S3 Sync: Amazon S3 or S3-compatible storage
Configure in MySQL Backup Tool β Step 3 β Remote Backup:
- HTTP: Upload backup archives to custom HTTP endpoint
- FTP: Upload to FTP server
- S3: Upload to Amazon S3 or S3-compatible storage
- Google Drive: Upload to your personal Google Drive using OAuth2
- Go to Google Cloud Console
- Create or select a project
- Enable Google Drive API
- Go to Credentials β Create Credentials β OAuth client ID
- Choose Desktop app as application type
- Download the JSON file and save it as
client_secrets.jsonin themysql_client/folder - In the MySQL Backup Tool, click "π Authorize Google Drive" to complete OAuth2 flow
- Connection Profiles: Save FTP/FTPS/SFTP connection credentials
- Auto-connect: Load saved connections on startup
- Credentials Storage: All credentials stored securely in
settings.db
- Output Directories:
- Windows:
%USERPROFILE%\Downloads\Yamin Downloader\ - Linux/Mac:
~/Downloads/Yamin Downloader/
- Windows:
- FFmpeg: Auto-downloads on Windows, manual installation required on Linux/Mac
- Auto-start: Enable in File menu
See requirements.txt for complete list. Key dependencies:
pytz>=2024.1- Timezone handlingplaysound==1.2.2- Sound playback
boto3>=1.28.0- S3 sync support (dashboard sync + MySQL backup)
google-api-python-client>=2.100.0- Google Drive APIgoogle-auth>=2.23.0- Google authentication (OAuth2)google-auth-httplib2>=0.1.1- OAuth2 HTTP supportgoogle-auth-oauthlib>=1.1.0- OAuth2 flow support
paramiko>=3.0.0- SFTP support (optional, required for SFTP protocol)
yt-dlp>=2025.3.31- Media download enginepyperclip>=1.8.2- Clipboard operationspystray>=0.19.4- System tray iconvalidators>=0.22.0- URL validationrequests>=2.31.0- HTTP requestscertifi>=2023.7.22- SSL certificates
Pillow>=10.0.0- Image processing and icon supportpywin32>=306- Windows API integration (Windows only, optional)
- β¨ Task Archive System: Automatic archiving of completed tasks with configurable threshold
- β¨ Analog Clocks: 6 timezone clocks with individual show/hide settings
- β¨ Date/Time Display: Main date and time display with timezone label and visibility control
- β¨ FTP/FTPS/SFTP Client: Full-featured file transfer client with advanced features
- β¨ Media Downloader: Cross-platform media downloader with quality settings
- β¨ Advanced Shell: GUI shell with admin/root capabilities
- β¨ Cross-Platform Support: Full compatibility with Linux, Windows, and macOS
- β¨ Console Window Hiding: All GUIs run without console windows
- β¨ Shared Settings Database: Centralized credential and settings storage
- β¨ MySQL Backup Remote Storage: HTTP, FTP, S3, and Google Drive (OAuth2) support
- β¨ Auto-Save Credentials: All tools automatically remember connection settings
- β¨ Improved Error Handling: Better error messages and fallback mechanisms
Import Errors: Ensure all dependencies are installed: pip install -r requirements.txt
Icon Not Loading: Icon file should be in project root as icon.ico
Console Windows Appearing: On Windows, ensure pywin32 is installed. Console windows are automatically hidden.
FFmpeg Not Found (Media Downloader):
- Windows: Auto-downloads on first use
- Linux: Install via package manager (
sudo apt-get install ffmpeg) - macOS: Install via Homebrew (
brew install ffmpeg)
Database Issues: Delete database file to reset (location shown in status bar)
FTP Connection Issues: Check firewall settings and ensure correct port numbers
Media Downloader Not Opening: Check that all dependencies are installed, especially yt-dlp
MIT License - See LICENSE file for details
Made with β€οΈ for productive daily management and automation
Developer: Md. Yamin Hossain
GitHub: https://github.com/needyamin