MiniDLNA Indicator
Project description
MiniDLNA Indicator
This indicator allows you to launch an instance of MiniDLNA as a normal user, without the need to edit configuration files as root, or restart by command the application if you have changed the configuration.
Some of the features this indicator provides are:
Detect if the process has died, using a background thread
Auto generation of a port and uuid to avoid conflicts with the default configuration (check this to know the problem about uuid)
Auto configuration when first run (adding the pictures, music, videos and downloads folder of the user, if the exist, and generating a random, non-default, port)
Tested operating systems:
Fedora 26 (with the KStatusNotifierItem/AppIndicator Support Gnome Shell extension)
It should work with any operating system that supports Python 3.5+, AppIndicator and the required dependencies. If you have problems, please, open an issue.
Tested from these devices (tests from more devices are welcome):
What is MiniDLNA?
In brief, MiniDLNA is a small program that allows you to share multimedia content (audio, video, pictures, etc.) easily with DLNA/UPnP compatible devices (for example, smart TVs, phones, XBMC, etc.). This also could be done with some type of share services, like Windows/Samba/CIFS, NFS, etc. but DLNA is easier to configure (you just need to run the program and select the folders you want to share); it is faster, no need to configure security.
Requirements
You will need this software to run the indicator, considering a standard initial installation of Ubuntu/Mint:
sudo apt install minidlna python3-setuptools python3-pip python3-gi python3-psutil
For Fedora, you will need RPM Fusion repository:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
And then install these dependencies:
sudo dnf install minidlna python3-setuptools python3-pip python3-gobject python3-psutil libappindicator-gtk3
Also remember to install the KStatusNotifierItem/AppIndicator Support Gnome Shell extension from the web or using these commands:
sudo dnf install chrome-gnome-shell gnome-tweak-tool jq
curl -s https://raw.githubusercontent.com/okelet/minidlnaindicator/master/gnome-ext-install.md | bash -s -- install appindicatorsupport@rgcjonas.gmail.com
Instalation/Upgrade
No deb or rpm packages available; only from PyPi; if someone wants to contribute, it will be welcome.
python3 -m pip install --user --upgrade minidlnaindicator
pip will create a shortcut in the applications menu.
Configuration
The configuration is very basic. It will detect an existing user configuration in the ~/.minidlna/minidlna.conf file, check it, and use it. If it doesn’t exist, it will generate a new one with the user images, music, videos and downloads folder of the current user.
The default application configuration, will launch the MiniDLNA process when the indicator starts, and it will be stopped when the indicator finishes. Also, the own indicator will configure itself to run on every user logon. All these 3 settings can be changed from the indicator configuration menu.
The MiniDLNA configuration has to be done by hand, but there are some shortcuts to open the file and edit it. You can also open from the menu the LOG. If you change the configuration, please remember to restart the MiniDLNA process.
How it looks
Entry in the applications menu (Ubuntu 16.04):
Indicator menu:
Indicator menu (in spanish):
License
I don’t know. This is a very small program done for myself and published just to help other people with the same problems.
In brief, this is my idea. You can use the program freely; you don’t have to pay me or somebody anything. You can modify it, and redistribute it, as long as you keep this “license”, attach the base source code, and mention the original author (me).
Anyway, I wish (but this is not mandatory, as long as you accomplish the previous sentence) there weren’t lots of forks spread over Internet, so, I would prefer if you have fixes or new features, do a pull request; this is something just to have the code centralized and ordered; I hate when I search a program or library and there are lots of forks, each one with different fixes or features.
Additionaly, as I do, you can’t sell this program or get any economic benefit of it.
If you like the program, you can send a bottle of good wine (I don’t like beer 😊).
Fixes or suggestions about this “license” are welcome.
TODO
Translators needed
Detect external MiniDLNA configuration changes
Allow some basic MiniDLNA configuration (media folders, port)
Type checking
Validated with MyPy:
mypy --python-version 3.5 --ignore-missing-imports --strict .
Credits
Icons from:
Me
Website (in spanish): https://okelet.github.io
Email: okelet@gmail.com
Other projects
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.