Shivan is a lightweight download manager that have been written in python 🐍. Shivan supports multi-part downloading method.
you can configure Shivan in two terms :
- where to save file after Shivan downloads the file
- how much Shivan must split file ( in range 1-8 parts)
To configure enter:
$ python3 main.py --config
Tip: Configuration steps will ask 2 questions and if you hit enter and leave it empty in any of step , it acts in:
- if step 1 leaved blank : save file in root of project
- if step 2 leaved blank : split file in 8 parts
$ pip install -r requirements.txt
$ python3 main.py <url>
I appreciate any PR or feedbacks to improve Shivan. You may ask "why i made this"?
Answer: I'm very curious about how donwload managers work because of that i wrote Shivan :)
- fix final file name
- multi-thread download
- dynamic file extension
- parts name be same as a file name
- first show information about file
- add config file for defualt setting
- dynamic path
- url format validation
- check url is downloadable
Short-term
- Dynamic number of part
- Check if all parts downloaded then concate to final_file
- Read from clipboard
- Turn it to pypi package
- Create setup.py installation
Long-term
- MacOS app
- Linux app