|
|
Windows installers, MacOS bundles and Linux AppImages can be built using the [muwire-pkg](http://i2pgit.org/zlatinb/muwire-pkg) project. This document describes how to package MuWire for your Linux distribution of choice.
|
|
|
|
|
|
# Disabling language selection
|
|
|
The first time it starts, MuWire will prompt the user to select a language. If you want to disable that prompt or hardcode a language of your choice, do:
|
|
|
```
|
|
|
echo "locale=en" > $HOME/.MuWire/gui.properties
|
|
|
```
|
|
|
Change `en` to whatever language code you want MuWire to display in.
|
|
|
|
|
|
# Disabling updates
|
|
|
Since your distribution most likely has a package manager that manages updates, you want to disable the in-app update functionality. Pass the following switch to the java runtime (not as an argument to MuWire):
|
|
|
|
|
|
`-DdisableUpdates=true`
|
|
|
|
|
|
# Customizing the setup wizard
|
|
|
|
|
|
The first time MuWire runs it will launch a setup wizard. You can customize the default values of this wizard or disable it completely.
|
|
|
|
|
|
To disable the setup wizard, `touch $HOME/.MuWire/MuWire.properties`
|
|
|
|
|
|
To customize the wizard, you need to create a file with default wizard properties, then pass the following switch to the java virtual machine:
|
|
|
|
|
|
`-Dwizard.defaults=/absolute/path/to/wizard_defaults.properties`
|
|
|
|
|
|
The following property defaults can be customized in this manner:
|
|
|
```
|
|
|
# default location for downloaded files
|
|
|
downloadLocation=/some/absolute/path
|
|
|
|
|
|
# default location where to store incomplete files
|
|
|
incompleteLocation=/another/absolute/path
|
|
|
|
|
|
# I2P tunnel length and quantity
|
|
|
tunnelLength=3
|
|
|
tunnelQuantity=4
|
|
|
|
|
|
## Settings for external router
|
|
|
|
|
|
# Host where the I2P or I2Pd router is running
|
|
|
i2cpHost=127.0.0.1
|
|
|
|
|
|
# I2CP port of the router
|
|
|
i2cpPort=7654
|
|
|
|
|
|
## Settings for embedded router
|
|
|
|
|
|
# incoming and outgoing bandwidth in KB
|
|
|
inBw=512
|
|
|
outBw=256
|
|
|
|
|
|
# TCP & UDP router port
|
|
|
i2npTcpPort=<random integer>
|
|
|
i2npUdpPort=<random integer>
|
|
|
```
|
|
|
|
|
|
# Embedded or external router?
|
|
|
|
|
|
If the I2P or I2Pd router is already packaged for your distribution, you should go with an external router. To my knowledge Debian and Arch do that.
|
|
|
|
|
|
Otherwise you can opt to use MuWire's embedded router. Packaging that is a more involved process:
|
|
|
|
|
|
1. Enable the external router by passing the following property to the Java Virtual Machine:
|
|
|
|
|
|
`-DembeddedRouter=true`
|
|
|
|
|
|
2. Copy the [reseed certificates](http://i2pgit.org/i2p-hackers/i2p.i2p/tree/master/installer/resources/certificates/reseed) into `$HOME/.MuWire/certificates/reseed`
|
|
|
3. From [here](http://i2pgit.org/i2p-hackers/i2p.i2p/tree/master/installer/resources) copy the following files into `$HOME/.MuWire/geoip` :
|
|
|
```
|
|
|
countries.txt
|
|
|
continents.txt
|
|
|
GeoLite2-Country.mmdb.gz
|
|
|
```
|
|
|
4. gunzip the `GeoLite2-Country.mmdb.gz` file in that same directory.
|
|
|
|
|
|
To verify that you have packaged everything correctly, launch MuWire as a user that does not have a `$HOME/.MuWire` folder. If it connects at all then the reseed certificates are deployed ok. To see if the GeoIP database is deployed ok, click on Status->I2P, it should show your country correctly. |
|
|
\ No newline at end of file |