MegaBulkUploader is a powerful tool designed for bulk uploading files or directories to MEGA.nz using proxy accounts. It automatically generates temporary accounts and uploads data in parallel streams with configurable size limits.
Important
This was originally built upon Windows, and very loosely tested in linux, so I cannot guarantee support, I'd love for some Linux C# developers to make some PRs to get compatibility 100%
- ✅ Auto-generates MEGA proxy accounts
- 📂 Supports both file and directory uploads
- 📦 Splits uploads based on file size or directory structure
- 📝 Detailed logging in plain text or BBCode format
dotnet MegaBulkUploader.dll <pathToUpload> [options]
Argument | Description |
---|---|
pathToUpload |
Required. Path to the file or directory to upload |
Option | Alias | Description |
---|---|---|
--help |
-h |
Show help message and exit |
--start-index <n> |
-si |
Starting section index (default: 0) |
--max-size <bytes> |
-ms |
Max size (in bytes) per chunk (default: 19327352832 equal to ~20GB) |
--upload-streams <n> |
-us |
Number of parallel upload streams (default: 6, min: 1, max: 6) |
--output <file> |
-o |
Output log file (default: Upload.log ) |
--bbcode (Flag) |
-bb |
Output logs in BBCode format (default: false ) |
--bbcode-out <file> |
-bo |
BBCode output log file (default: BbUpload.log ) |
dotnet MegaBulkUploader.dll ./my-folder --start-index 0 --max-size 19327352832 --upload-streams 6 --output Upload.log
- .NET 8.0+ SDK
- On Linux: Run as
sudo
for proper permissions- MegaCLI must be downloaded and located in
/usr/bin/
- MegaCLI must be downloaded and located in
- On Windows make sure that
\cli\x64
or\cli\x86
depening on architecture exists with all the required files
To build and publish the project locally, follow these steps:
git clone https://github.com/RiisDev/MegaBulkUploader.git
cd MegaBulkUploader
dotnet publish -c Release -p:PublishProfile=FolderPublish
The output will be located under
bin/Publish
You can then run the application using:
dotnet MegaBulkUploader.dll <pathToUpload> [options]
- Standard Log:
Upload.log
(default or custom via--output
) - BBCode Log:
BbUpload.log
(when--bbcode
is enabled, and customized via--bbcode-out
)
- This tool runs indefinitely and listens for cancellation via CTRL+C.
- For Linux users, make sure MegaCli is installed into the
/usr/bin/
directory for support and execute via sudo. - For Windows Users, make sure the cli folder is present in the dll directory.
- BBCode output is useful for forums or formatted sharing platforms.
MIT License — feel free to use, modify, and distribute.
This project makes use of MEGAcmd, the official command-line interface for MEGA.nz, which is licensed under the MIT License.
© 2013–present, Mega Limited.
MEGAcmd is © Mega Limited and provided under the MIT License.
Permission is hereby granted, free of charge, to any person obtaining a copy...
We include an unmodified copy of MEGAcmd for Windows users for convenience.
We do not modify, recompile, or alter MEGAcmd in any way.
If you do not trust our inclusion, feel free to download the official client and copy the files to the x64/x86 folders. All rights, ownership, and credit for MEGAcmd go to its original authors at Mega Limited.
Users are encouraged to review the MEGAcmd source and license directly at:
➡️ https://github.com/meganz/MEGAcmd
We do not provide a copy of MEGAcmd, and you must download it yourself from the official page.
- This project is not affiliated with, endorsed by, or associated with MEGA.nz.
- It is a personal, hobby project, developed for educational purposes only.
- Use this tool at your own risk. The author is not responsible for misuse or violations of MEGA’s Terms of Service.
- Bundled components are included purely for user convenience and retain their original licenses and authorship.