For those who don’t like technical considerations:
This application is directly up and running on the wifi network, just install it, start the server and wait for 2 seconds, getting a message the HTTP server is started and a small icon comes on android status bar. Your server is active and you can go out of the application. The UPnP name by default is "eXport-it". You should be able to use it from any UPnP client on your Wifi network, or with a Web browser pointing to the URL given on the top left side of the "server" window. On your Wireless network, you can use your PC or iMac for looking at your videos and photos located on Android phone, as listening to the music or reading documents (.pdf, eBooks) with your favorite web browser like Chrome, Firefox, ... You can also validate your server with the local client.
It is an application for using data located on your Android phone or tablet, on other devices like another Android system, your PC, or if the media is compatible on your TV set. For that, it uses the most standard protocols, UpnP and Http.
This application implements a Server and a Client (two icons on your Android desktop).
The server builds a list of video, audio and image files, and additionally the pdf and eBook files it can find in your Android system.
The list of these files with their characteristics are set in memory and published through a UpnP Directory Service and an HTTP server.
The files are distributed only in four categories: the video files (mp4, webm and 3gpp) the audio files (mp3, ogg and m4a), the image files (jpeg, gif or png), and ebooks (pdf, prc, epub, pdb, mobi and djvu).
First of all, just start the server and wait for the end of initialization process. If you are on Wifi or on Mobile network you can check the status and the URLs to try it. Fort most of the people the server is inaccessible from Mobile network. You can first check what your server is distributing with a web browser pointing to the local URL after going out the server window (the real server is running in the background). It is also possible to use the IPv6 loopback address to access the HTML page from your browser with an URL like "//[::1]:8192".
As second step, you can use the server configuration to change your server name and perhaps adapt the font size to your language and device.
The next step consists in defining a user name and password as administrator with access to all categories.
When it works, you can define additional user names with access to specific categories.
And finally you can define "port forwarding" when you are connected on your home Wifi to be accessible from Internet. If you are using the full application with UPnP support, you have just to define a non null port alias in the configuration and check on the console if it works. With the free application you have to configure manually your ADSL router. When it looks good you can try it from home with any web browser you have, using a free public Web proxy with Javascript support.
HTTPS although supported, doesn't look to be the best for normal users due to the complexity to use it with smartphones and the poor performances compared to simple HTTP.
When port forwarding and authentication are working, you can use the "club" option to be easily accessible on Internet, publishing your data on www.export-it.club. To test your own server requires the use of a Web proxy because your own external IP address is not accessible from your Wifi network. This option permits to avoid the distribution of a changing URL with IP address and port number, just clicking on the right server line defined by your server name, a small description sentence and one of your image as icon.
The UPnP support is provided by Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Switzerland), and the Http Server is built on top
of NanoHTTPD version 1.25, Copyright 2001,2005-2012 Jarno Elonen and 2010 Konstantinos Togias.
Thus this application contains LGPL software. Both are modified versions, All the emoticons used in the comments were designed and made by Enrico Gollnow (Erni). Visit his website to find more info about him and his smileys (//www.gomotes.com).
The buttons were found by www.mindfreakerstuff.com and the enhanced spinner by //www.adanware.blogspot.com.
The password encryption routine uses Tom Wu's jsbn library (Javascript BigInteger and RSA) on web browser side and the SpongyCastle java library on server side.
This application use JmDNS, an implementation of multi-cast DNS in Java for service discovery and registration. This library is fully interoperable with Apple's Bonjour protocol.
All my thanks to Arthur van Hoff, Rick Blair and Kai Kreuzer, for this efficient library licensed under the Apache License, Version 2.0.
not native code. The teleal Cling library is only one jar file built with a few modifications required by the application from cling-core,
cling-support (1.0.5) and teleal-common (1.0.14) jar files… NanoHttpd was modified to support the “HEAD” method,
to add the DLNA HTTP headers, request logging and to provide an initial home page. The source code will be available as the executable when stabilized.
In system's settings, then Advanced settings, you can find Battery manager. To keep the server up and running permanently, you should select Performance for the Power plan, and activate this app in protected apps and in power-intensive apps.
The server requires access to the file system and to read the phone settings for detecting state changes like on Wifi or if data transmission is activated if connected to mobile network.
Optionally the server can send SMS when the external IP address is changed (option in the configuration) and the country code by Access_Coarse_Location,
(not a precise location just the two letters country code).
The client program uses the permission to write to external storage for saving downloaded files, and the record audio permission for showing curves when listening to music.
You can contact us by e-mail to “exportit.ddcs@gmail.com“.
Don’t hesitate to report problems, lack of functionalities, … All critics and comments are welcome.
Version 2.2.1 - Making corrections on download of Media files function (GET). Version 2.1.7 - Improving language switching on multilingual android systems. Version 2.1.5 - stabilizing application after many upgrades made in a hurry. - sorry, but I had to draw a new application icon. Version 2.1.3 - Initial layout page was reviewed. Version 2.0.9 - Improve use of categories and the "at random" switch in the client. - Due to the changes in the database, the previous backup files are no more usable. Version 2.0.7 - Automatic image selection when playing an audio files category - Better password encryption in database Version 1.9.9 - many small errors corrected everywhere. - capability of multiple categories per media file to ease selection. Version 1.9.7 - to correct set-up of permissions for Android 14 Version 1.9.6 - modifications to adapt code and libraries to current Android version - to replace exportit2 library by androidx.media3.exoplayer - changing image processing of the audio player Version 1.9.3 - apply required changes to support Android 14 - give access to FFprobe and FFmpeg commands in the application with this library Version 1.9.1 - new Web site www.ddcs.re replaces www.export-it.org and .club Google Play Store:
eXport-it
eXport-it FFmpeg
eXport-it client