MiNode/README.md

90 lines
2.9 KiB
Markdown
Raw Normal View History

2016-06-30 07:19:01 +02:00
# MiNode
2021-08-01 16:40:57 +02:00
2024-06-07 17:22:27 +02:00
[![Testing](https://git.bitmessage.org/Bitmessage/MiNode/actions/workflows/test.yml/badge.svg)](https://git.bitmessage.org/Bitmessage/MiNode/actions?workflow=test.yml)
2021-08-01 16:40:57 +02:00
Python 3 implementation of the Bitmessage protocol. Designed only to route
objects inside the network.
2017-05-19 16:39:34 +02:00
## Requirements
- python3 (or pypy3)
- openssl
2016-06-30 10:39:31 +02:00
## Running
```
2022-09-10 18:24:49 +02:00
git clone https://git.bitmessage.org/lee.miller/MiNode.git
2016-06-30 10:39:31 +02:00
```
```
cd MiNode
./start.sh
```
2017-05-19 16:39:34 +02:00
It is worth noting that the `start.sh` script no longer tries to do a
`git pull` in order to update to the latest version.
Is is now done by the `update.sh` script.
2017-05-19 16:39:34 +02:00
2017-06-04 12:16:42 +02:00
## Command line
```
2017-07-01 15:58:31 +02:00
usage: main.py [-h] [-p PORT] [--host HOST] [--debug] [--data-dir DATA_DIR]
[--no-incoming] [--no-outgoing] [--no-ip]
[--trusted-peer TRUSTED_PEER]
[--connection-limit CONNECTION_LIMIT] [--i2p]
[--i2p-tunnel-length I2P_TUNNEL_LENGTH]
[--i2p-sam-host I2P_SAM_HOST] [--i2p-sam-port I2P_SAM_PORT]
2023-07-27 23:09:16 +02:00
[--i2p-transient]
2017-06-04 12:16:42 +02:00
optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT Port to listen on
2017-07-01 15:58:31 +02:00
--host HOST Listening host
2017-06-04 12:16:42 +02:00
--debug Enable debug logging
--data-dir DATA_DIR Path to data directory
--no-incoming Do not listen for incoming connections
--no-outgoing Do not send outgoing connections
2017-07-01 15:58:31 +02:00
--no-ip Do not use IP network
2017-06-04 12:16:42 +02:00
--trusted-peer TRUSTED_PEER
Specify a trusted peer we should connect to
--connection-limit CONNECTION_LIMIT
Maximum number of connections
2017-07-01 15:58:31 +02:00
--i2p Enable I2P support (uses SAMv3)
--i2p-tunnel-length I2P_TUNNEL_LENGTH
Length of I2P tunnels
--i2p-sam-host I2P_SAM_HOST
Host of I2P SAMv3 bridge
--i2p-sam-port I2P_SAM_PORT
Port of I2P SAMv3 bridge
2023-07-27 23:09:16 +02:00
--i2p-transient Generate new I2P destination on start
2017-07-01 15:58:31 +02:00
```
2017-07-01 15:58:31 +02:00
## I2P support
MiNode has support for connections over I2P network.
To use it it needs an I2P router with SAMv3 activated
(both Java I2P and i2pd are supported). Keep in mind that I2P connections
are slow and full synchronization may take a while.
2017-07-01 15:58:31 +02:00
### Examples
Connect to both IP and I2P networks (SAM bridge on default host and port
127.0.0.1:7656) and set tunnel length to 3 (default is 2).
2017-07-01 15:58:31 +02:00
```
2017-07-01 16:01:48 +02:00
$ ./start.sh --i2p --i2p-tunnel-length 3
2017-06-04 12:16:42 +02:00
```
Connect only to I2P network and listen for IP connections only from local
machine.
2017-07-01 15:58:31 +02:00
```
$ ./start.sh --i2p --no-ip --host 127.0.0.1
```
or
```
$ ./i2p_bridge.sh
```
If you add `trustedpeer = 127.0.0.1:8444` to `keys.dat` file in PyBitmessage it
will allow you to use it anonymously over I2P with MiNode acting as a bridge.
2017-05-19 16:39:34 +02:00
## Contact
2022-09-10 18:24:49 +02:00
- lee.miller: BM-2cX1pX2goWAuZB5bLqj17x23EFjufHmygv
2017-05-19 16:39:34 +02:00
## Links
- [Bitmessage project website](https://bitmessage.org)
2023-08-02 04:59:16 +02:00
- [Protocol specification](https://pybitmessage.rtfd.io/en/v0.6/protocol.html)