{"id":18895193,"url":"https://github.com/farisc0de/uploady","last_synced_at":"2026-03-08T00:01:44.676Z","repository":{"id":38018992,"uuid":"323133229","full_name":"farisc0de/Uploady","owner":"farisc0de","description":"Simple File Uploading Software","archived":false,"fork":false,"pushed_at":"2026-01-24T10:42:22.000Z","size":9296,"stargazers_count":108,"open_issues_count":0,"forks_count":14,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-01-24T11:15:08.472Z","etag":null,"topics":["file-sharing","file-upload","file-uploads","image-processing","image-upload","image-uploader","php","php-library","php7","upload-file","uploading","uploady"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farisc0de.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"farisc0de","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-12-20T18:00:41.000Z","updated_at":"2026-01-24T10:41:34.000Z","dependencies_parsed_at":"2023-02-09T20:31:06.952Z","dependency_job_id":"dbb36160-f71e-48b1-a3a0-ef0e5196656b","html_url":"https://github.com/farisc0de/Uploady","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/farisc0de/Uploady","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farisc0de%2FUploady","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farisc0de%2FUploady/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farisc0de%2FUploady/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farisc0de%2FUploady/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farisc0de","download_url":"https://codeload.github.com/farisc0de/Uploady/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farisc0de%2FUploady/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30238062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T23:52:25.683Z","status":"ssl_error","status_checked_at":"2026-03-07T23:52:25.373Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["file-sharing","file-upload","file-uploads","image-processing","image-upload","image-uploader","php","php-library","php7","upload-file","uploading","uploady"],"created_at":"2024-11-08T08:27:05.641Z","updated_at":"2026-03-08T00:01:44.668Z","avatar_url":"https://github.com/farisc0de.png","language":"PHP","readme":"\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://ibb.co/LXPzsfRs\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/farisc0de/Uploady/refs/heads/main/uploady_logo.png\" alt=\"Uploady Logo\" border=\"0\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n![](https://img.shields.io/github/license/farisc0de/Uploady) ![](https://img.shields.io/github/v/release/farisc0de/Uploady) ![](https://img.shields.io/github/repo-size/farisc0de/Uploady) ![](https://img.shields.io/badge/PHP-777BB4?style=for-the-badge\u0026logo=php\u0026logoColor=white) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=farisc0de_Uploady\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=farisc0de_Uploady)\n\n# Uploady\n\nUploady is a modern, secure file uploader script with multi-file upload support.\n\nIt comes with more than 20 features and you can set it up in less than 5 minutes.\n\nBuilt with PHP 8.x and MySQL, featuring a modern Bootstrap 5.3 UI.\n\nFree and open source under the MIT license.\n\n## Features\n\n- **Multi-File Upload** - Drag and drop support with progress tracking\n- **5 Protection Levels**\n  - MIME type validation\n  - Extension whitelist\n  - File size limits (role-based)\n  - Forbidden filename blocking\n  - ClamAV virus scanning (optional)\n- **Admin Panel** - Charts, stats, and complete file management\n- **Role-based Access** - User roles with configurable upload size limits\n- **Data Collection** - IP address, browser, OS, and country detection\n- **Localization** - Multi-language support with RTL compatibility\n- **Customization** - Custom CSS/JS, logo, favicon, AdSense, and Google Analytics\n- **File Management** - Auto-delete after X days or X downloads\n- **Pages System** - Create and manage custom pages\n- **Report Abuse** - Built-in abuse reporting system\n- **Social Sharing** - Share uploaded files on social media\n- **API Access** - RESTful API with API key authentication\n\n## Project Structure\n\n```\nuploady/\n├── actions/           # AJAX action handlers (upload, delete, etc.)\n├── admin/             # Admin panel pages and settings\n├── api/               # REST API endpoints\n├── assets/            # CSS, JS, and static assets\n├── components/        # Reusable PHP components\n├── config/            # Configuration files\n├── languages/         # Language translation files\n├── logic/             # Business logic handlers\n├── modules/           # Feature modules\n├── profile/           # User profile pages\n├── src/Uploady/       # Core application classes\n│   ├── Handler/       # Upload and file handlers\n│   ├── Auth.php       # Authentication\n│   ├── Database.php   # Database wrapper\n│   ├── Mailer.php     # Email functionality\n│   ├── Role.php       # Role management\n│   ├── Settings.php   # Application settings\n│   ├── User.php       # User management\n│   └── Utils.php      # Utility functions\n├── uploads/           # User uploaded files\n└── vendor/            # Composer dependencies\n```\n\n## Screenshots\n\n![](https://i.imgur.com/jALS2DN.png)\n\n![](https://i.imgur.com/fTe1FCZ.png)\n\n## Requirements\n\n- PHP 8.0 or higher\n- MySQL 5.7 or higher\n- Composer\n- Required PHP extensions: `pdo`, `pdo_mysql`, `gd`, `fileinfo`, `json`, `mbstring`\n- Optional: ClamAV for virus scanning\n\n## Installation\n\n### Standard Installation\n\n1. Upload all files to your server\n2. Run `composer install` in the `uploady/` directory\n3. Modify `config/config.php` with your database credentials:\n\n```php\ndefine(\"DB_HOST\", \"localhost\");\ndefine(\"DB_USER\", \"your_username\");\ndefine(\"DB_PASS\", \"your_password\");\ndefine(\"DB_NAME\", \"uploady\");\ndefine(\"SITE_URL\", \"https://yourdomain.com/\");\n```\n\n4. Set directory permissions:\n\n```bash\nchmod 755 -R uploady/\nchmod 775 uploady/uploads/\nchmod 775 uploady/storage/\n```\n\n5. Navigate to `install.php` in your browser\n6. Follow the installation wizard\n7. Delete `install.php` after successful installation\n\n### Docker Deployment\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/farisc0de/Uploady\ncd Uploady/\n```\n\n2. Update `config/config.php` for Docker:\n\n```php\ndefine(\"DB_HOST\", \"db\");\ndefine(\"DB_USER\", \"uploady\");\ndefine(\"DB_PASS\", \"uploady\");\ndefine(\"DB_NAME\", \"uploady\");\n```\n\n3. Build and run:\n\n```bash\ndocker-compose up -d\n```\n\n## ClamAV Integration (Optional)\n\nUploady supports ClamAV for real-time virus scanning of uploaded files.\n\n### Installing ClamAV\n\n**Ubuntu/Debian:**\n\n```bash\nsudo apt update\nsudo apt install clamav clamav-daemon\nsudo systemctl start clamav-daemon\nsudo systemctl enable clamav-daemon\n```\n\n**CentOS/RHEL:**\n\n```bash\nsudo yum install epel-release\nsudo yum install clamav clamav-update clamd\nsudo systemctl start clamd@scan\nsudo systemctl enable clamd@scan\n```\n\n**macOS (Homebrew):**\n\n```bash\nbrew install clamav\ncp /usr/local/etc/clamav/freshclam.conf.sample /usr/local/etc/clamav/freshclam.conf\ncp /usr/local/etc/clamav/clamd.conf.sample /usr/local/etc/clamav/clamd.conf\nfreshclam\nclamd\n```\n\n### Update Virus Definitions\n\n```bash\nsudo freshclam\n```\n\n### Configure Uploady for ClamAV\n\nIn your admin panel, enable the \"Virus Scanner\" option.\n\n### Verify ClamAV is Running\n\n```bash\n# Check socket exists\nls -la /var/run/clamav/clamd.sock\n\n# Test ClamAV\necho \"X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\" | clamdscan -\n```\n\n## API Usage\n\n### Upload a File\n\n```bash\ncurl --location 'https://yourdomain.com/api/upload' \\\n--header 'X-API-KEY: your_api_key_here' \\\n--form 'file=@\"/path/to/your/file.jpg\"'\n```\n\n### Response\n\n```json\n{\n  \"filename\": \"original_name.jpg\",\n  \"filehash\": \"hashed_filename.jpg\",\n  \"filesize\": \"1.5 MB\",\n  \"uploaddate\": \"2025-01-23 12:00:00\",\n  \"fileurl\": \"https://yourdomain.com/uploads/user_id/hashed_filename.jpg\",\n  \"filetype\": \"image/jpeg\",\n  \"file_id\": \"abc123...\",\n  \"user_id\": \"xyz789...\"\n}\n```\n\n## Wiki\n\n- [How to install on shared hosting](https://github.com/farisc0de/Uploady/wiki/How-to-Install-on-a-shared-hosting)\n- [How to install with Docker](https://github.com/farisc0de/Uploady/wiki/How-to-install-using-Docker)\n\n## Roadmap (v4.0)\n\n- [x] PhpFileUpload refactor\n- [x] Upgrade Bootstrap to 5.3.3\n- [x] Modernize the UI\n- [x] ClamAV malware scanning support\n- [ ] Report abuse dashboard\n- [ ] S3 Bucket integration (PhpFileUploading supports it, but not implemented yet in Uploady)\n- [ ] File tagging system (In Progress)\n- [ ] Short URL generation (In Progress)\n- [ ] File preview (PDF, video, audio players)\n- [ ] File comments/notes\n- [ ] Email file sharing\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Copyright\n\nDeveloped by Faris AL-Otaibi - 2024-2025\n","funding_links":["https://github.com/sponsors/farisc0de"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarisc0de%2Fuploady","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarisc0de%2Fuploady","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarisc0de%2Fuploady/lists"}