P2P-GUI is a remote web interface for
MLdonkey, aMule, rTorrent, Transmission and giFT.
This GUI tries to combine different GUIs for p2p programs in one application/project
to save overall work and to cover many different needs and tastes.
Therefore it's aimed to be easy to modify and to extend.
Supported platforms so far are Windows, Linux (i386) and MacOSX* (i386).
It's still beta and may crash. No warranty.
Compiling from Sources
Download and start the program on the console.
Browse to http://localhost:8080 or what host you started P2P-GUI on.
The Login screen will appear and you can login with user name "admin" and no password.
On Windows, you need to have OpenSSL installed.
On Linux, you need to have OpenSSL and libz installed.
On MacOSX, everything should be onboard.
- Integrated web server.
- Modular source code.
- Highly configurable (CSS/JS/HTML/D).
- No installation needed: download & run.
- Settings are stored.
- SSL cryptography.
- HTTP basic authentification.
- Flexible api to cover most network features/designs.
- Preliminary account support.
- Download unfinished files for preview.
- Three different web guis.
- Server side and HTML based.
- Languages: English, French, German, Italian, Spanish, Polish, Galician, Brazilian Portuguese, Dutch, Danish, Swedish.
- File browser.
- Include own content.
- User management.
- Country flags for IPs
- rot13 and l33t text transform ;-)
- Uses the JSON rpc api.
- Country flags for IPs.
- Still alpha.
The source is kept modular, so features can be excluded with compile flags.
- a remote window gui (GTK+,QTD)
- binaries for PPC/MIPS/ARM/SPARC; Windows64bit; *BSD
- proper multi user support
- more supported clients / integrated clients
- a remote console interface (curses?)
- more different web guis/styles/themes
- improved html/css design
How to use P2P-GUI and connected to
How to prepare rTorrent for remote connection?
- Download and uncompress the program packet.
- 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 different guis?
- rTorrent need to be compiled with xml-rpc support (./configure --with-xmlrpc-c)
- Create a file called .rtorrent.rc in your home and put this line into it: "scgi_port = localhost:5000".
- These steps were taken from the rTorrent XMLRPC Guide and Install Guide.
How to make use of the GeoIP database?
- You can switch between guis manually while you are logged in.
- The default can be set with the Plex Gui => User Settings .
How to get around the "object.Exception: Could not load OpenSSL library." error.
- Download the free GeoIP lite database from maxmind.com
- Put the decompressed file into the P2P-GUI settings directory (e.g. ".p2p-gui/")
- Restart P2P-GUI. The startup messages will tell you if the file was found.
How to enable SSL + password authentification
- On Windows, you need to have OpenSSL libraries installed
- You can download it here.
How to make buttons work for the HTML gui in Internet Explorer 6/7?
- in the html gui, go to User Settings
- Enable SSL and click on "Apply"
- Change the current URL and change "http" to "https" and press enter.
- You will be prompted to accept the certificate.
- The default is a self signed certificate, so you need to make an exception (e.g. for FireFox)
How to add clients to other users?
- 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., IE8 may work in standards mode
- Get Firefox, Opera etc.
- The Clutch GUI does support IE6/7
How to reset the password?
- I forgot to add a function to the 0.2 version. :-(
- But you can edit the configuration file.
- Shutdown P2P-GUI.
- Open .p2p-gui/webuser.json
- Copy the client ids from user "admin" => "clients" to the other users.
- Or just look up client ids in .p2p-gui/webclients.json
- Start P2P-GUI.
[Plex Gui] How to enable preview support for aMule (speedup for MLDonkey)?
- Shutdown P2P-GUI.
- Replace the password string in .p2p-gui/webuser.json
- You can use "d41d8cd98f00b204e9800998ecf8427e" for an empty password
- Or use md5sum -n "newpassword" | md5sum on the posix command line
[Plex Gui] How to add items to the panel?
- Note: this will work only if P2P-GUI 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
- P2P-GUI will now serve these files from hard disk instead using the gui protocol
How to alter guis, themes, skins?
- 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?
- Write out the files in the bianry to disk by invoking P2P-GUI with "--write-out-files".
- [Plex Gui] Add another *.css file along with the others and it will be selecteable.
- More detailed information can be found in the README.txt from SVN.
Why is it written in the D programming language?
- Yes, but those were dark ages. In a nutshell:
- In the beginning, there was Zuul
- Then there was a fork called Web-GMUI
- Web-GMUI switched from PHP to D and priorities of the project changed
- The project was renamed to P2P-GUI
- 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.
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.
Compiling from Sources
The current release may have bugs that are already fixed in SVN.
If you want to compile P2P-GUI from sources you need a D compiler and the Tango library.
These steps are for DMD on linux. Steps for Windows/MacOS and gdc (svn!) are similar.
- Get the P2P-GUI sources: svn co http://p2p-gui.svn.sourceforge.net/svnroot/p2p-gui/trunk p2p-gui
- Get and install the D compiler + Tango library, the repository snapshop is recommended
- Make sure you have OpenSSL and libz installed (mentioned in Quick Start).
- Compile the binary in the source directory: make dmd-linux32
- This won't include the webroot folder into the binary (mostly html, css and image files).
Read the provided README.txt for these extra steps.
- You might want to clear the browser cache.
Many thanks to all People/Projects who have contributed in many different ways:
- #D on freenet and the Tango team for lots of help and good libraries.
- All people who provided Translations. They can be found in the ChangeLog.
- Zuul, for the starting ground.
Server : freenode.net:6667
mwarning at users.sourceforge.net