Your files, your format!
Welcome to Uniconverter! This program allows you to convert files of one type to another using a simple web interface. It is designed to be user-friendly and efficient, making it easy for anyone to convert their files without any technical knowledge.
- π Dark Theme: The program features a sleek dark theme that is easy on the eyes and provides a modern look.
- π±οΈ Drag and Drop: Users can easily drag and drop files into the program for conversion, making the process quick and intuitive.
- π File Preview: The program allows users to preview the files they want to convert, ensuring they select the correct files before conversion.
- ποΈ Folder Support: Users can upload entire folders of files, making it convenient for batch conversions.
- π’ Multimodality Compatibility: The program can convert files to different formats, such as video to audio.
- βΎοΈ No Conversion Limit: There are no caps on the number or size of files you can convert.
- π Docker Compatibility: The program can be run in a Docker container, making it easy to deploy and use on any system.
- π« PWA Support: The program can be installed as a Progressive Web App (PWA), allowing users to run it like a native application on their devices.
- π§© Polyglot Merging: The program can merge files of different formats into a single output file.
- βΉοΈ Metadata Extraction: The program can extract metadata from files, providing users with additional information about their files.
- ποΈ Metadata Deletion: The program can delete metadata from files, ensuring user privacy and reducing file size.
To install, you only have to clone the repository
git clone https://github.com/321BadgerCode/uniconverter.git
cd ./uniconverter/π¦ Dependencies
When using Docker, the only dependency for this repository is Docker itself.
- Docker: You can download Docker from this Docker instruction.
Otherwise, the following dependencies are required:
- Python: You can download Python from the Python website.
- FFMpeg: The program requires FFmpeg to be installed on your system. You can download it from the FFmpeg website.
- ExifTool: The program uses ExifTool for metadata extraction. You can download it from the ExifTool website.
- Python Packages: The program uses several Python packages. You can install them using pip:
pip install -r requirements.txtNote
Not all Python packages are required for the program to run, but some packages are needed for specific file conversions or features.
To use the program, you can either run it with Python or within a Docker container:
After installing the dependencies, the only command needed to run the program is:
python ./app.pyThen, just go to http://localhost:5000 to view the web interface.
π Docker Notes
- Ensure you have Docker installed on your system. You can find installation instructions on the Docker website.
- The program uses Docker Compose to manage the container. Make sure you have Docker Compose installed as well.
- The program uses the
docker composecommand, which is the newer syntax for Docker Compose. If you have an older version of Docker Compose, you may need to usedocker-composeinstead. - Some helpful commands:
groups # Check your user groups (you should see `docker` in the list)
newgrp docker # Create a new group session with the `docker` group
sudo usermod -aG docker $USER && sudo reboot # Add your user to the Docker group and reboot your device- Build the Docker image
docker compose up
docker compose up -d # Run in detached mode- Access the web interface Go to http://localhost:5000 in a web browser to access the Uniconverter web interface.
firefox http://127.0.0.1:5000- Stop the Docker container (if ran in detached mode)
docker ps # List running containers
docker compose down- Cleanup (optional)
docker compose down --volumes --remove-orphans # Remove volumes and orphan containers
docker images # List docker images
docker rmi uniconverter-web # Remove the Docker imageπ» Command Line Arguments
| Argument | Description | Default |
|---|---|---|
-h & --help |
Help menu | |
--cleanup |
Delete optional files on exit | False |
To build the program into an executable (Electron app), you can run the following commands:
npm install -g nativefier
python ./app.pyThen, run the following in a separate terminal session:
nativefier --single-instance http://localhost:5000Note
The nativefier command will create a standalone application that can be run on your system. You can find the generated folder in the current directory, labeled Uniconverter-linux-x64 (or similar, depending on your OS). You cannot delete the resource files found in that generated folder after building, as they are required for the application to run.
Contributions are welcome! If you have any suggestions or improvements, feel free to open an issue or submit a pull request. Please run the following to setup the development environment:
chmod +x ./setup_dev.sh
./setup_dev.shThis establishes the Git commit template and commit-msg hook, which ensures that all commits follow the project's commit message guidelines.