MuWire file sharing client for I2P by zlatinb
 
 
Go to file
Zlatin Balevsky 79c0da6d49
remove obsolete plugin
2025-01-01 20:26:33 +02:00
.github/workflows append commit hash to artifact name try 2 2022-02-11 10:30:55 +00:00
.tx update config 2020-11-03 10:10:39 +00:00
cli wip on upgrading gradle: remove most references to 'compile' and 'runtime' configurations 2021-04-07 12:52:38 +01:00
cli-lanterna Release 0.8.11 2022-01-18 20:02:19 +00:00
core rework reconnect I2CP reconnect logic to prevent infinite loop when connection to I2P router is lost 2024-08-08 19:51:45 +03:00
doc update some docs to match how things have evolved 2022-02-10 17:59:41 +00:00
docker/rootfs Make default i2cp host 172.17.0.1 in the docker wizard 2020-09-27 17:02:15 +01:00
gradle/wrapper up gradle and groovy versions for building with JDK 17 2021-12-08 15:16:15 +00:00
gui Provision for when there is DBUS on the system but notifications are not configured 2024-07-28 21:02:24 +03:00
host-cache load latest verified hosts on hostcache startup 2022-02-10 13:15:11 +00:00
images docker: Remove incompletes warning from README 2020-01-14 20:11:34 +01:00
logging logging config with all logs turned off 2019-11-02 08:52:29 +00:00
mwmodules wip on upgrading gradle: remove most references to 'compile' and 'runtime' configurations 2021-04-07 12:52:38 +01:00
pinger wip on upgrading gradle: remove most references to 'compile' and 'runtime' configurations 2021-04-07 12:52:38 +01:00
tracker wip on upgrading gradle: remove most references to 'compile' and 'runtime' configurations 2021-04-07 12:52:38 +01:00
update-server lint the json on update server startup 2022-02-22 17:01:59 +00:00
.dockerignore docker: Make sure build directories are ignored 2020-01-14 19:20:11 +01:00
.gitignore add idea files to gitignore 2020-11-29 00:43:08 +00:00
.gitlab-ci.yml try 2 to integrate coverage reports with gitlab 2022-02-14 11:43:46 +00:00
Dockerfile docker: Use 48x48 icon 2020-09-27 13:57:39 +02:00
LICENSE Initial commit 2018-07-02 13:42:53 +01:00
README.md Update README.md with instructions to import connections from a friend 2024-07-13 22:38:33 +03:00
TODO.md item done 2022-08-29 13:49:22 +01:00
build.gradle fixes for reproducibility on windows 2021-05-14 20:41:44 +01:00
gradle.properties update i2p library 2024-08-02 02:31:27 +03: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 remove obsolete plugin 2025-01-01 20:26:33 +02:00

README.md

MuWire - Easy Anonymous File-Sharing

MuWire is a file publishing and networking tool that protects the identity of its users by using I2P technology. Anyone with a desktop computer and an internet connection can create a unique anonymous online persona and publish information of any kind without fear of censorship or persecution. MuWire works on any platform Java works on, including Windows, MacOS, Linux, Rapsberry Pi.

Users can then use their MuWire identities to publish files, search for files published by others, subscribe to each others publications and communicate through chat and messaging. Furthermore, users can establish trust-based relationship with each other where they assign a “trust level” to their contacts.

You can find technical documentation in the doc folder. Also check out the Wiki for various other documentation.

Downloading

If you prefer not to build MuWire from source, .zip bundles built from the latest code are available on the continuous integration page.

Building

You need a JDK version between 11 and 18 inclusive. Newer versions may not work. 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. If you want to package MuWire for a Linux distribution, see the Packaging wiki page.

Running the GUI

Type

./gradlew gui:run

The setup wizard will ask you for the I2CP host and port of a Java I2P or I2Pd router. If running I2Pd (PurpleI2P), you need to enable the I2CP interface. That interface is enabled by default in the Java I2P router.

Connecting to other MuWire nodes

At the moment there is no discovery service available so MuWire cannot connect automatically. To work around, this, you can import the list of connections from another MuWire user. I plan on setting up a discovery service soon.

Reproducible build

The zip distribution of MuWire can be build reproducibly on some systems. For more info see the reproducible build page.

Docker

MuWire is available as a Docker image. For more information see the Docker page.

Translations

If you want to help translate MuWire, instructions are on the wiki Translate page.

Creating your own MuWire network

If you want to create your own MuWire network instructions are on the Wiki.

  • MuCats - MuCats is a project to create a website for hosting hashes of files shared on the MuWire network.
  • MuWire Seedbox Daemon A headless daemon that only serves files and is controlled via a JSON-RPC interface. Suitable for seedboxes.

GPG Fingerprint

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