Web-GMUI
Web-GMUI is a remote web interface for
MLdonkey, aMule, rTorrent and giFT.
A main aim is to combine GUIs for p2p programs in one application
to save overall work and to cover many different needs and tastes.
Note:
Supported platforms so far are Windows, Linux (i386) and MacOSX (i386).
It's still beta and may crash. No warranty.
Screenshots
Quick Start
Features
Future
FAQ
Contributions
Contact
Old homepage (PHP project)
Quick Start
Download and start the program
on the console.
Browse to http://localhost:8080 or what host you
started Web-GMUI on.
On Windows, you need to have OpenSSL installed.
On Linux, you need to have OpenSSL and libz installed.
On MacOSX, everything should be onboard.
Features:
- A skinned HTML and a JavaScript based gui (AJAX with JSON)
- Integrated web server.
- UTF-8 support
- Customizability (CSS/JS/HTML/D)
- No installation needed: download&run
- SSL cryptography
- HTTP basic authentification
- Languages: english, german, spanish, polish, galician, brazilian portugese, dutch, danish, swedish, french
- Flexible api to cover most network features/designs.
- Preliminary account support.
- Download unfinished files for preview (also remote for MLDonkey)
Beta phase plans:
- bugfixes :P
- login page / authentification forwarding to client
- binaries for PPC/MIPS/ARM/SPARC; Windows64bit; *BSD
- save/restore gui settings
- improved html/css design
- improved client support
- complete/more translations
- proper chunk display
Future plans
- multi user support
- a "real" gui (GTK+/wxWidgets/QT?/..)
- more different web guis/styles/themes
- more supported clients / integrated clients?
The source is kept modular, so features can be excluded with compile flags.
FAQ:
How to use Web-GMUI and connected to
MLDonkey/aMule/rTorrent/giFT?
- download the program
- start it in your console/or double click on windows
- open up your browser and go to "http://127.0.0.1:8080"
- click on the "Clients" tab
- enter connection settings and click on "Add", then on "Connect"
- click on the downloads panel etc.
How to access the JavaScript/JSON GUI?
- go to http://127.0.0.1:8080/json/
- Optional: make it the default gui
- use the html gui and go to User Settings
- change the "User Interface" setting to "JS GUI"
How to enable access from outside?
- Start Web-GMUI with command line parameter -m "0.0.0.0"
How to enable SSL + password authentification
- you want probably allow access from outside first, start web-gmui with command line parameter -m "0.0.0.0"
- in the html gui, go to User Settings
- enter a password for the current user ("admin") and click on "save"
- set "Enable SSL" and "Basic Authentification" to "On" and click on "save"
- Note: plain http access is disabled now
- go to the browser url and change "http" to "https" and press enter
- you will be prompted to accept the certificate
- accept the certificate to be able to access the web interface again
How to make buttons work for the HTML gui in Internet Explorer 6/7?
- IE has a long (not finished) history for non standard compliant browsers.
- I have no time atm. for IE specific workarounds
- Hence, IE6/7 isn't supported atm.
- Get IE8, Firefox, Opera etc.
How to enable preview support for aMule (speedup for MLDonkey)?
- Note: this will work only if Web-GMUI and the client have direct access to the clients temp directory
- select a client on the Clients panel
- go to the Client Settings panel and look for the temp directory setting
- set that setting to your clients temp directory
- Web-GMUI will now serve these files from hard disk instead using the gui protocol
How to add items to the panel?
- Module Settings => Core
- Check the panel items and click Apply to have items loaded/unloaded
Wasn't there a PHP version for multi user management?
- Web-GMUI started out as a PHP program (a fork of Zuul)
- The old PHP code is present in SVN, but unmaintained.
- Current Web-GMUI is a complete rewrite in D and does have different aims.
- Multi user capabilities are not useable yet, but will be extended at some point.
Why is it written in the D programming language?
- The previous code base was written in PHP.
But it lacks ways to handle binary data and was slow. Not very elegant. It's no fun.
- I wrote a Demo in Java with servlets.
The code separation wasn't good and the language was bloated; framework overkill;
the runtime size was big => not suited for routers
- I wrote a Demo in C/C++; a simple webserver and apache module.
But it was difficult to code quickly. Error message ofuscation.
A JSON handler template became a nightmare (~1000 LOC); ~500LOC in readable D
- D is similar in speed and grammar to C/C++;
nice error messages; cleaner/more powerfull grammar; fast coding; fun.
Contributions
Any contribution is welcome!
You can participate in multiple ways:
- Submit a bug report.
- Return feedback (e.g. Theme xy made me cry.).
- Add/improve translations.
- Add/improve CSS themes.
- Compile code for different platforms.
- Improve/extend the program code/api design.
How to alter/add themes
Contact
Chat:
Server : freenode.net:6667
Channel: #web-gmui
eMail:
mwarning at users.sourceforge.net