mmrelay 1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mmrelay might be problematic. Click here for more details.
- mmrelay-1.0/LICENSE +21 -0
- mmrelay-1.0/MANIFEST.in +5 -0
- mmrelay-1.0/PKG-INFO +160 -0
- mmrelay-1.0/README.md +132 -0
- mmrelay-1.0/pyproject.toml +3 -0
- mmrelay-1.0/requirements.txt +10 -0
- mmrelay-1.0/sample_config.yaml +63 -0
- mmrelay-1.0/setup.cfg +46 -0
- mmrelay-1.0/src/mmrelay/__init__.py +9 -0
- mmrelay-1.0/src/mmrelay/cli.py +384 -0
- mmrelay-1.0/src/mmrelay/config.py +218 -0
- mmrelay-1.0/src/mmrelay/config_checker.py +133 -0
- mmrelay-1.0/src/mmrelay/db_utils.py +309 -0
- mmrelay-1.0/src/mmrelay/log_utils.py +107 -0
- mmrelay-1.0/src/mmrelay/main.py +281 -0
- mmrelay-1.0/src/mmrelay/matrix_utils.py +754 -0
- mmrelay-1.0/src/mmrelay/meshtastic_utils.py +569 -0
- mmrelay-1.0/src/mmrelay/plugin_loader.py +336 -0
- mmrelay-1.0/src/mmrelay/plugins/__init__.py +3 -0
- mmrelay-1.0/src/mmrelay/plugins/base_plugin.py +212 -0
- mmrelay-1.0/src/mmrelay/plugins/debug_plugin.py +17 -0
- mmrelay-1.0/src/mmrelay/plugins/drop_plugin.py +120 -0
- mmrelay-1.0/src/mmrelay/plugins/health_plugin.py +64 -0
- mmrelay-1.0/src/mmrelay/plugins/help_plugin.py +55 -0
- mmrelay-1.0/src/mmrelay/plugins/map_plugin.py +323 -0
- mmrelay-1.0/src/mmrelay/plugins/mesh_relay_plugin.py +134 -0
- mmrelay-1.0/src/mmrelay/plugins/nodes_plugin.py +92 -0
- mmrelay-1.0/src/mmrelay/plugins/ping_plugin.py +118 -0
- mmrelay-1.0/src/mmrelay/plugins/telemetry_plugin.py +179 -0
- mmrelay-1.0/src/mmrelay/plugins/weather_plugin.py +208 -0
- mmrelay-1.0/src/mmrelay/setup_utils.py +263 -0
- mmrelay-1.0/src/mmrelay.egg-info/PKG-INFO +160 -0
- mmrelay-1.0/src/mmrelay.egg-info/SOURCES.txt +37 -0
- mmrelay-1.0/src/mmrelay.egg-info/dependency_links.txt +1 -0
- mmrelay-1.0/src/mmrelay.egg-info/entry_points.txt +2 -0
- mmrelay-1.0/src/mmrelay.egg-info/requires.txt +10 -0
- mmrelay-1.0/src/mmrelay.egg-info/top_level.txt +1 -0
- mmrelay-1.0/tools/mmrelay.service +12 -0
mmrelay-1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 geoffwhittington
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
mmrelay-1.0/MANIFEST.in
ADDED
mmrelay-1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mmrelay
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: Bridge between Meshtastic mesh networks and Matrix chat rooms
|
|
5
|
+
Home-page: https://github.com/geoffwhittington/meshtastic-matrix-relay
|
|
6
|
+
Author: Geoff Whittington, Jeremiah K., and contributors
|
|
7
|
+
Author-email: jeremiahk@gmx.com
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/geoffwhittington/meshtastic-matrix-relay/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Topic :: Communications
|
|
14
|
+
Requires-Python: >=3.8
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: meshtastic
|
|
18
|
+
Requires-Dist: Pillow==11.1.0
|
|
19
|
+
Requires-Dist: matrix-nio==0.25.2
|
|
20
|
+
Requires-Dist: matplotlib==3.10.1
|
|
21
|
+
Requires-Dist: requests==2.32.3
|
|
22
|
+
Requires-Dist: markdown==3.7
|
|
23
|
+
Requires-Dist: haversine==2.9.0
|
|
24
|
+
Requires-Dist: schedule==1.2.2
|
|
25
|
+
Requires-Dist: platformdirs==4.2.0
|
|
26
|
+
Requires-Dist: py-staticmaps>=0.4.0
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
# M<>M Relay
|
|
30
|
+
|
|
31
|
+
## (Meshtastic <=> Matrix Relay)
|
|
32
|
+
|
|
33
|
+
A powerful and easy-to-use relay between Meshtastic devices and Matrix chat rooms, allowing seamless communication across platforms. This opens the door for bridging Meshtastic devices to [many other platforms](https://matrix.org/bridges/).
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Getting Started
|
|
38
|
+
|
|
39
|
+
MMRelay runs on Linux, macOS, and Windows.
|
|
40
|
+
|
|
41
|
+
### Quick Installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Install using pip
|
|
45
|
+
pip install mmrelay
|
|
46
|
+
|
|
47
|
+
# Or use pipx for isolated installation (recommended)
|
|
48
|
+
pipx install mmrelay
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Resources
|
|
52
|
+
|
|
53
|
+
- **New Users**: See [INSTRUCTIONS.md](INSTRUCTIONS.md) for setup and configuration
|
|
54
|
+
- **Existing Users**: Check [UPGRADE_TO_V1.md](UPGRADE_TO_V1.md) for migration guidance
|
|
55
|
+
- **Configuration**: Review [sample_config.yaml](sample_config.yaml) for examples
|
|
56
|
+
|
|
57
|
+
### Command-Line Options
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
usage: mmrelay [-h] [--config CONFIG] [--data-dir DATA_DIR] [--log-level {error,warning,info,debug}] [--logfile LOGFILE] [--version] [--generate-config] [--install-service] [--check-config]
|
|
61
|
+
|
|
62
|
+
Options:
|
|
63
|
+
-h, --help Show this help message and exit
|
|
64
|
+
--config CONFIG Path to config file
|
|
65
|
+
--data-dir DATA_DIR Base directory for all data (logs, database, plugins)
|
|
66
|
+
--log-level {error,warning,info,debug}
|
|
67
|
+
Set logging level
|
|
68
|
+
--logfile LOGFILE Path to log file (can be overridden by --data-dir)
|
|
69
|
+
--version Show version and exit
|
|
70
|
+
--generate-config Generate a sample config.yaml file
|
|
71
|
+
--install-service Install or update the systemd user service
|
|
72
|
+
--check-config Check if the configuration file is valid
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Features
|
|
78
|
+
|
|
79
|
+
- Bidirectional message relay between Meshtastic devices and Matrix chat rooms, capable of supporting multiple meshnets
|
|
80
|
+
- Supports serial, network, and **_BLE (now too!)_** connections for Meshtastic devices
|
|
81
|
+
- Custom fields are embedded in Matrix messages for relaying messages between multiple meshnets
|
|
82
|
+
- Truncates long messages to fit within Meshtastic's payload size
|
|
83
|
+
- SQLite database to store node information for improved functionality
|
|
84
|
+
- Customizable logging level for easy debugging
|
|
85
|
+
- Configurable through a simple YAML file
|
|
86
|
+
- Supports mapping multiple rooms and channels 1:1
|
|
87
|
+
- Relays messages to/from an MQTT broker, if configured in the Meshtastic firmware
|
|
88
|
+
- ✨️ _Cross-platform reactions support_ ✨️ **NEW!!**
|
|
89
|
+
|
|
90
|
+
_We would love to support [Matrix E2EE rooms](https://github.com/geoffwhittington/meshtastic-matrix-relay/issues/33), but this is currently not implemented._
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Windows Installer
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
|
|
98
|
+
The latest installer is available [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/releases).
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Plugins
|
|
103
|
+
|
|
104
|
+
M<>M Relay supports plugins for extending its functionality, enabling customization and enhancement of the relay to suit specific needs.
|
|
105
|
+
|
|
106
|
+
### Core Plugins
|
|
107
|
+
|
|
108
|
+
Generate a map of your nodes:
|
|
109
|
+
|
|
110
|
+

|
|
111
|
+
|
|
112
|
+
Produce high-level details about your mesh:
|
|
113
|
+
|
|
114
|
+

|
|
115
|
+
|
|
116
|
+
See the full list of core plugins [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Core-Plugins).
|
|
117
|
+
|
|
118
|
+
### Community & Custom Plugins
|
|
119
|
+
|
|
120
|
+
It is possible to create custom plugins and share them with the community. Check [example_plugins/README.md](https://github.com/geoffwhittington/meshtastic-matrix-relay/tree/main/example_plugins) and the [Community Plugins Development Guide](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-Development-Guide).
|
|
121
|
+
|
|
122
|
+
✨️ Visit the [Community Plugins List](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-List)!
|
|
123
|
+
|
|
124
|
+
#### Install a Community Plugin
|
|
125
|
+
|
|
126
|
+
Add the repository under the `community-plugins` section in `config.yaml`:
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
community-plugins:
|
|
130
|
+
example-plugin:
|
|
131
|
+
active: true
|
|
132
|
+
repository: https://github.com/jeremiah-k/mmr-plugin-template.git
|
|
133
|
+
tag: main
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Plugin System
|
|
137
|
+
|
|
138
|
+
MMRelay features a powerful plugin system with standardized locations:
|
|
139
|
+
|
|
140
|
+
- **Core Plugins**: Pre-installed with the package
|
|
141
|
+
- **Custom Plugins**: Your own plugins in `~/.mmrelay/plugins/custom/`
|
|
142
|
+
- **Community Plugins**: Third-party plugins in `~/.mmrelay/plugins/community/`
|
|
143
|
+
|
|
144
|
+
Plugins make it easy to extend functionality without modifying the core code.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Getting Started with Matrix
|
|
149
|
+
|
|
150
|
+
See our Wiki page [Getting Started With Matrix & MM Relay](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Getting-Started-With-Matrix-&-MM-Relay).
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Already on Matrix?
|
|
155
|
+
|
|
156
|
+
Join us!
|
|
157
|
+
|
|
158
|
+
- Our project's room: [#mmrelay:meshnet.club](https://matrix.to/#/#mmrelay:meshnet.club)
|
|
159
|
+
- Part of the Meshtastic Community Matrix space: [#meshtastic-community:meshnet.club](https://matrix.to/#/#meshtastic-community:meshnet.club)
|
|
160
|
+
- Public Relay Room: [#relay-room:meshnet.club](https://matrix.to/#/#relay-room:meshnet.club) - Where we bridge multiple meshnets. Feel free to join us, with or without a relay!
|
mmrelay-1.0/README.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# M<>M Relay
|
|
2
|
+
|
|
3
|
+
## (Meshtastic <=> Matrix Relay)
|
|
4
|
+
|
|
5
|
+
A powerful and easy-to-use relay between Meshtastic devices and Matrix chat rooms, allowing seamless communication across platforms. This opens the door for bridging Meshtastic devices to [many other platforms](https://matrix.org/bridges/).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Getting Started
|
|
10
|
+
|
|
11
|
+
MMRelay runs on Linux, macOS, and Windows.
|
|
12
|
+
|
|
13
|
+
### Quick Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Install using pip
|
|
17
|
+
pip install mmrelay
|
|
18
|
+
|
|
19
|
+
# Or use pipx for isolated installation (recommended)
|
|
20
|
+
pipx install mmrelay
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Resources
|
|
24
|
+
|
|
25
|
+
- **New Users**: See [INSTRUCTIONS.md](INSTRUCTIONS.md) for setup and configuration
|
|
26
|
+
- **Existing Users**: Check [UPGRADE_TO_V1.md](UPGRADE_TO_V1.md) for migration guidance
|
|
27
|
+
- **Configuration**: Review [sample_config.yaml](sample_config.yaml) for examples
|
|
28
|
+
|
|
29
|
+
### Command-Line Options
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
usage: mmrelay [-h] [--config CONFIG] [--data-dir DATA_DIR] [--log-level {error,warning,info,debug}] [--logfile LOGFILE] [--version] [--generate-config] [--install-service] [--check-config]
|
|
33
|
+
|
|
34
|
+
Options:
|
|
35
|
+
-h, --help Show this help message and exit
|
|
36
|
+
--config CONFIG Path to config file
|
|
37
|
+
--data-dir DATA_DIR Base directory for all data (logs, database, plugins)
|
|
38
|
+
--log-level {error,warning,info,debug}
|
|
39
|
+
Set logging level
|
|
40
|
+
--logfile LOGFILE Path to log file (can be overridden by --data-dir)
|
|
41
|
+
--version Show version and exit
|
|
42
|
+
--generate-config Generate a sample config.yaml file
|
|
43
|
+
--install-service Install or update the systemd user service
|
|
44
|
+
--check-config Check if the configuration file is valid
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Features
|
|
50
|
+
|
|
51
|
+
- Bidirectional message relay between Meshtastic devices and Matrix chat rooms, capable of supporting multiple meshnets
|
|
52
|
+
- Supports serial, network, and **_BLE (now too!)_** connections for Meshtastic devices
|
|
53
|
+
- Custom fields are embedded in Matrix messages for relaying messages between multiple meshnets
|
|
54
|
+
- Truncates long messages to fit within Meshtastic's payload size
|
|
55
|
+
- SQLite database to store node information for improved functionality
|
|
56
|
+
- Customizable logging level for easy debugging
|
|
57
|
+
- Configurable through a simple YAML file
|
|
58
|
+
- Supports mapping multiple rooms and channels 1:1
|
|
59
|
+
- Relays messages to/from an MQTT broker, if configured in the Meshtastic firmware
|
|
60
|
+
- ✨️ _Cross-platform reactions support_ ✨️ **NEW!!**
|
|
61
|
+
|
|
62
|
+
_We would love to support [Matrix E2EE rooms](https://github.com/geoffwhittington/meshtastic-matrix-relay/issues/33), but this is currently not implemented._
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Windows Installer
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
|
|
70
|
+
The latest installer is available [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/releases).
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Plugins
|
|
75
|
+
|
|
76
|
+
M<>M Relay supports plugins for extending its functionality, enabling customization and enhancement of the relay to suit specific needs.
|
|
77
|
+
|
|
78
|
+
### Core Plugins
|
|
79
|
+
|
|
80
|
+
Generate a map of your nodes:
|
|
81
|
+
|
|
82
|
+

|
|
83
|
+
|
|
84
|
+
Produce high-level details about your mesh:
|
|
85
|
+
|
|
86
|
+

|
|
87
|
+
|
|
88
|
+
See the full list of core plugins [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Core-Plugins).
|
|
89
|
+
|
|
90
|
+
### Community & Custom Plugins
|
|
91
|
+
|
|
92
|
+
It is possible to create custom plugins and share them with the community. Check [example_plugins/README.md](https://github.com/geoffwhittington/meshtastic-matrix-relay/tree/main/example_plugins) and the [Community Plugins Development Guide](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-Development-Guide).
|
|
93
|
+
|
|
94
|
+
✨️ Visit the [Community Plugins List](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-List)!
|
|
95
|
+
|
|
96
|
+
#### Install a Community Plugin
|
|
97
|
+
|
|
98
|
+
Add the repository under the `community-plugins` section in `config.yaml`:
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
community-plugins:
|
|
102
|
+
example-plugin:
|
|
103
|
+
active: true
|
|
104
|
+
repository: https://github.com/jeremiah-k/mmr-plugin-template.git
|
|
105
|
+
tag: main
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Plugin System
|
|
109
|
+
|
|
110
|
+
MMRelay features a powerful plugin system with standardized locations:
|
|
111
|
+
|
|
112
|
+
- **Core Plugins**: Pre-installed with the package
|
|
113
|
+
- **Custom Plugins**: Your own plugins in `~/.mmrelay/plugins/custom/`
|
|
114
|
+
- **Community Plugins**: Third-party plugins in `~/.mmrelay/plugins/community/`
|
|
115
|
+
|
|
116
|
+
Plugins make it easy to extend functionality without modifying the core code.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Getting Started with Matrix
|
|
121
|
+
|
|
122
|
+
See our Wiki page [Getting Started With Matrix & MM Relay](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Getting-Started-With-Matrix-&-MM-Relay).
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Already on Matrix?
|
|
127
|
+
|
|
128
|
+
Join us!
|
|
129
|
+
|
|
130
|
+
- Our project's room: [#mmrelay:meshnet.club](https://matrix.to/#/#mmrelay:meshnet.club)
|
|
131
|
+
- Part of the Meshtastic Community Matrix space: [#meshtastic-community:meshnet.club](https://matrix.to/#/#meshtastic-community:meshnet.club)
|
|
132
|
+
- Public Relay Room: [#relay-room:meshnet.club](https://matrix.to/#/#relay-room:meshnet.club) - Where we bridge multiple meshnets. Feel free to join us, with or without a relay!
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
matrix:
|
|
2
|
+
homeserver: https://example.matrix.org
|
|
3
|
+
access_token: reaalllllyloooooongsecretttttcodeeeeeeforrrrbot # See: https://t2bot.io/docs/access_tokens/
|
|
4
|
+
bot_user_id: "@botuser:example.matrix.org"
|
|
5
|
+
|
|
6
|
+
matrix_rooms: # Needs at least 1 room & channel, but supports all Meshtastic channels
|
|
7
|
+
- id: "#someroomalias:example.matrix.org" # Matrix room aliases & IDs supported
|
|
8
|
+
meshtastic_channel: 0
|
|
9
|
+
- id: "!someroomid:example.matrix.org"
|
|
10
|
+
meshtastic_channel: 2
|
|
11
|
+
|
|
12
|
+
meshtastic:
|
|
13
|
+
connection_type: serial # Choose either "tcp", "serial", or "ble"
|
|
14
|
+
serial_port: /dev/ttyUSB0 # Only used when connection is "serial"
|
|
15
|
+
host: meshtastic.local # Only used when connection is "tcp"
|
|
16
|
+
ble_address: AA:BB:CC:DD:EE:FF # Only used when connection is "ble" - Uses either an address or name from a `meshtastic --ble-scan`
|
|
17
|
+
meshnet_name: Your Meshnet Name # This is displayed in full on Matrix, but is truncated when sent to a Meshnet
|
|
18
|
+
broadcast_enabled: true # Must be set to true to enable Matrix to Meshtastic messages
|
|
19
|
+
detection_sensor: true # Must be set to true to forward messages of Meshtastic's detection sensor module
|
|
20
|
+
plugin_response_delay: 3 # Default response delay in seconds for plugins that respond on the mesh;
|
|
21
|
+
relay_reactions: true # Defaults to false, set to true to enable relay reactions between platforms
|
|
22
|
+
|
|
23
|
+
logging:
|
|
24
|
+
level: info
|
|
25
|
+
#log_to_file: true # Default is false
|
|
26
|
+
#filename: ~/.mmrelay/logs/mmrelay.log # Default location
|
|
27
|
+
#max_log_size: 10485760 # 10 MB default if omitted
|
|
28
|
+
#backup_count: 1 # Keeps 1 backup as the default if omitted
|
|
29
|
+
|
|
30
|
+
#database:
|
|
31
|
+
# path: ~/.mmrelay/data/meshtastic.sqlite # Default location
|
|
32
|
+
# msg_map: # The message map is necessary for the relay_reactions functionality. If `relay_reactions` is set to false, nothing will be saved to the message map.
|
|
33
|
+
# msgs_to_keep: 500 # If set to 0, it will not delete any messages; Defaults to 500
|
|
34
|
+
# wipe_on_restart: true # Clears out the message map when the relay is restarted; Defaults to False
|
|
35
|
+
|
|
36
|
+
# These are core Plugins - Note: Some plugins are experimental and some need maintenance.
|
|
37
|
+
plugins:
|
|
38
|
+
ping:
|
|
39
|
+
active: true
|
|
40
|
+
#channels: [2,3,5] # List of channels the plugin will respond to; DMs are always processed if the plugin is active
|
|
41
|
+
weather:
|
|
42
|
+
active: true
|
|
43
|
+
units: imperial # Options: metric, imperial - Default is metric
|
|
44
|
+
#channels: [] # Empty list, will only respond to DMs
|
|
45
|
+
nodes:
|
|
46
|
+
active: true
|
|
47
|
+
# Does not need to specify channels, as it's a Matrix-only plugin
|
|
48
|
+
|
|
49
|
+
#community-plugins:
|
|
50
|
+
# sample_plugin:
|
|
51
|
+
# active: true
|
|
52
|
+
# repository: https://github.com/username/sample_plugin.git
|
|
53
|
+
# tag: master
|
|
54
|
+
# advanced_plugin:
|
|
55
|
+
# active: false
|
|
56
|
+
# repository: https://github.com/username/advanced_plugin.git
|
|
57
|
+
# tag: v1.2.0
|
|
58
|
+
|
|
59
|
+
#custom-plugins:
|
|
60
|
+
# my_custom_plugin:
|
|
61
|
+
# active: true
|
|
62
|
+
# another_custom_plugin:
|
|
63
|
+
# active: false
|
mmrelay-1.0/setup.cfg
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[metadata]
|
|
2
|
+
name = mmrelay
|
|
3
|
+
version = 1.0
|
|
4
|
+
author = Geoff Whittington, Jeremiah K., and contributors
|
|
5
|
+
author_email = jeremiahk@gmx.com
|
|
6
|
+
description = Bridge between Meshtastic mesh networks and Matrix chat rooms
|
|
7
|
+
long_description = file: README.md
|
|
8
|
+
long_description_content_type = text/markdown
|
|
9
|
+
url = https://github.com/geoffwhittington/meshtastic-matrix-relay
|
|
10
|
+
project_urls =
|
|
11
|
+
Bug Tracker = https://github.com/geoffwhittington/meshtastic-matrix-relay/issues
|
|
12
|
+
classifiers =
|
|
13
|
+
Programming Language :: Python :: 3
|
|
14
|
+
License :: OSI Approved :: MIT License
|
|
15
|
+
Operating System :: OS Independent
|
|
16
|
+
Development Status :: 4 - Beta
|
|
17
|
+
Topic :: Communications
|
|
18
|
+
|
|
19
|
+
[options]
|
|
20
|
+
package_dir =
|
|
21
|
+
= src
|
|
22
|
+
packages = find:
|
|
23
|
+
python_requires = >=3.8
|
|
24
|
+
install_requires =
|
|
25
|
+
meshtastic
|
|
26
|
+
Pillow==11.1.0
|
|
27
|
+
matrix-nio==0.25.2
|
|
28
|
+
matplotlib==3.10.1
|
|
29
|
+
requests==2.32.3
|
|
30
|
+
markdown==3.7
|
|
31
|
+
haversine==2.9.0
|
|
32
|
+
schedule==1.2.2
|
|
33
|
+
platformdirs==4.2.0
|
|
34
|
+
py-staticmaps>=0.4.0
|
|
35
|
+
|
|
36
|
+
[options.packages.find]
|
|
37
|
+
where = src
|
|
38
|
+
|
|
39
|
+
[options.entry_points]
|
|
40
|
+
console_scripts =
|
|
41
|
+
mmrelay = mmrelay.cli:main
|
|
42
|
+
|
|
43
|
+
[egg_info]
|
|
44
|
+
tag_build =
|
|
45
|
+
tag_date = 0
|
|
46
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Meshtastic Matrix Relay - Bridge between Meshtastic mesh networks and Matrix chat rooms.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import os
|
|
6
|
+
|
|
7
|
+
# Get version from environment variable if available (set by GitHub Actions)
|
|
8
|
+
# Otherwise, use a default version
|
|
9
|
+
__version__ = os.environ.get("GITHUB_REF_NAME", "1.0.0")
|