MuWire file sharing client for I2P by zlatinb
 
 
Go to file
Zlatin Balevsky b5d8fcf25b missed tx/config 2019-12-08 12:51:25 +00:00
.tx missed tx/config 2019-12-08 12:51:25 +00:00
cli Update plugin version to fix bug about shadow jar 2019-11-11 10:52:37 +02:00
cli-lanterna Release 0.6.7 2019-11-26 09:55:10 +00:00
core comments in shared files are encoded 2019-12-08 00:26:17 +00:00
doc file hashing 2019-11-23 20:28:29 +02:00
gradle/wrapper add gradle wrapper 2019-05-31 17:06:39 +01:00
gui ability to chat from browse window 2019-11-29 03:41:59 +00:00
host-cache move i2p core dependency one level down, exclude core dependencies from plugin 2019-11-30 03:44:57 +00:00
logging logging config with all logs turned off 2019-11-02 08:52:29 +00:00
pinger move i2p core dependency one level down, exclude core dependencies from plugin 2019-11-30 03:44:57 +00:00
plug set the plugin icon 2019-12-04 19:23:43 +00:00
update-server move i2p core dependency one level down, exclude core dependencies from plugin 2019-11-30 03:44:57 +00:00
webui mark script executable 2019-12-08 12:44:11 +00:00
.gitignore ignore eclipse bin directory 2018-07-11 13:18:27 +01:00
LICENSE Initial commit 2018-07-02 13:42:53 +01:00
README.md proper plugin build number 2019-12-03 16:25:38 +00:00
TODO.md update TODO 2019-10-07 12:38:26 +01:00
build.gradle move i2p core dependency one level down, exclude core dependencies from plugin 2019-11-30 03:44:57 +00:00
gradle.properties Release 0.6.7 2019-11-26 09:55:10 +00:00
gradlew Replace deprecated backticks with $() for command substitution 2019-07-08 06:29:33 +01:00
gradlew.bat add gradle wrapper 2019-05-31 17:06:39 +01:00
settings.gradle start a new project for an interactive cli 2019-10-23 19:38:16 +01:00

README.md

MuWire - Easy Anonymous File-Sharing

MuWire is an easy to use file-sharing program which offers anonymity using I2P technology. It works on any platform Java works on, including Windows,MacOS,Linux.

It is inspired by the LimeWire Gnutella client and developped by a former LimeWire developer.

The current stable release - 0.6.7 is avaiable for download at https://muwire.com. You can find technical documentation in the doc folder. Also check out the Wiki for various documentation.

Building

You need JDK 9 or newer. After installing that and setting up the appropriate paths, just type

./gradlew clean assemble

If you want to run the unit tests, type

./gradlew clean build

If you want to build binary bundles that do not depend on Java or I2P, see the muwire-pkg project

Running the GUI

Type

./gradlew gui:run

If you have an I2P router running on the same machine that is all you need to do. If you use a custom I2CP host and port, create a file i2p.properties and put i2cp.tcp.host=<host> and i2cp.tcp.port=<port> in there. On Windows that file should go into %HOME%\AppData\Roaming\MuWire, on Mac into $HOME/Library/Application Support/MuWire and on Linux $HOME/.MuWire

Default I2CP port: 7654

Running the CLI

Look inside cli-lanterna/build/distributions. Untar/unzip one of the shadow files and then run the jar contained inside by typing java -jar cli-lanterna-x.y.z-all.jar in a terminal. The CLI will ask you about the router host and port on startup, no need to edit any files. However, the CLI does not have an options window yet, so if you need to change any options you will need to edit the configuration files. The CLI options are documented here cli options

The CLI is under active development and doesn't have all the features of the GUI.

Running the Web UI / Plugin

There is a Web-based UI under development. It is intended to be run as a plugin to the Java I2P router. To build it, do the following:

  1. Check out the Java I2P code from here I2P Github
  2. Build it using ant clean pkg
  3. Create a directory under the MuWire source tree called i2pjars and copy all jars from the i2p pkg-temp/lib directory there.
  4. Un-comment the webui and plug projects in MuWire's settings.gradle. (By default those are commented out)
  5. Edit gradle.properties to change the signer. You need to sign your plugin for the I2P router to load it. More information TODO
  6. Run ./gradlew -PbuildNumber=<integer> assemble
  7. If all goes well, there will be a file plug/build/MuWire.su3. Install that file from the I2P router console.

GPG Fingerprint

471B 9FD4 5517 A5ED 101F  C57D A728 3207 2D52 5E41

You can find the full key at https://keybase.io/zlatinb