meshtastic 0.0.142 → 0.0.143
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.
- checksums.yaml +4 -4
- metadata +20 -144
- data/.github/workflows/main.yml +0 -27
- data/.gitignore +0 -29
- data/.rspec +0 -3
- data/.rubocop.yml +0 -35
- data/.rubocop_todo.yml +0 -134
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/AUTOGEN_meshtastic_protobufs.sh +0 -28
- data/CHANGELOG_BETWEEN_TAGS.txt +0 -196
- data/CODE_OF_CONDUCT.md +0 -84
- data/Gemfile +0 -23
- data/LICENSE +0 -21
- data/README.md +0 -106
- data/Rakefile +0 -17
- data/bin/meshtastic_autoinc_version +0 -38
- data/build_meshtastic_gem.sh +0 -58
- data/git_commit.sh +0 -29
- data/lib/meshtastic/admin.rb +0 -24
- data/lib/meshtastic/admin_pb.rb +0 -31
- data/lib/meshtastic/apponly.rb +0 -24
- data/lib/meshtastic/apponly_pb.rb +0 -18
- data/lib/meshtastic/atak.rb +0 -24
- data/lib/meshtastic/atak_pb.rb +0 -22
- data/lib/meshtastic/cannedmessages.rb +0 -24
- data/lib/meshtastic/cannedmessages_pb.rb +0 -15
- data/lib/meshtastic/channel.rb +0 -24
- data/lib/meshtastic/channel_pb.rb +0 -18
- data/lib/meshtastic/clientonly.rb +0 -24
- data/lib/meshtastic/clientonly_pb.rb +0 -18
- data/lib/meshtastic/config.rb +0 -24
- data/lib/meshtastic/config_pb.rb +0 -42
- data/lib/meshtastic/connection_status.rb +0 -24
- data/lib/meshtastic/connection_status_pb.rb +0 -20
- data/lib/meshtastic/device_ui_pb.rb +0 -23
- data/lib/meshtastic/deviceonly.rb +0 -24
- data/lib/meshtastic/deviceonly_pb.rb +0 -28
- data/lib/meshtastic/interdevice_pb.rb +0 -17
- data/lib/meshtastic/localonly.rb +0 -24
- data/lib/meshtastic/localonly_pb.rb +0 -19
- data/lib/meshtastic/mesh_interface.rb +0 -596
- data/lib/meshtastic/mesh_pb.rb +0 -65
- data/lib/meshtastic/module_config.rb +0 -24
- data/lib/meshtastic/module_config_pb.rb +0 -36
- data/lib/meshtastic/mqtt.rb +0 -383
- data/lib/meshtastic/mqtt_pb.rb +0 -19
- data/lib/meshtastic/paxcount.rb +0 -24
- data/lib/meshtastic/paxcount_pb.rb +0 -15
- data/lib/meshtastic/portnums.rb +0 -24
- data/lib/meshtastic/portnums_pb.rb +0 -15
- data/lib/meshtastic/powermon_pb.rb +0 -18
- data/lib/meshtastic/remote_hardware.rb +0 -24
- data/lib/meshtastic/remote_hardware_pb.rb +0 -16
- data/lib/meshtastic/rtttl.rb +0 -24
- data/lib/meshtastic/rtttl_pb.rb +0 -15
- data/lib/meshtastic/serial_interface.rb +0 -550
- data/lib/meshtastic/storeforward.rb +0 -24
- data/lib/meshtastic/storeforward_pb.rb +0 -19
- data/lib/meshtastic/stream_interface.rb +0 -132
- data/lib/meshtastic/telemetry.rb +0 -24
- data/lib/meshtastic/telemetry_pb.rb +0 -24
- data/lib/meshtastic/util.rb +0 -70
- data/lib/meshtastic/version.rb +0 -5
- data/lib/meshtastic/xmodem.rb +0 -24
- data/lib/meshtastic/xmodem_pb.rb +0 -16
- data/lib/meshtastic.rb +0 -71
- data/lib/nanopb_pb.rb +0 -19
- data/meshtastic.gemspec +0 -73
- data/reinstall_meshtastic_gemset.sh +0 -29
- data/sig/meshtastic.rbs +0 -4
- data/spec/lib/meshtastic/admin_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/admin_spec.rb +0 -6
- data/spec/lib/meshtastic/apponly_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/apponly_spec.rb +0 -6
- data/spec/lib/meshtastic/atak_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/atak_spec.rb +0 -6
- data/spec/lib/meshtastic/cannedmessages_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/cannedmessages_spec.rb +0 -6
- data/spec/lib/meshtastic/channel_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/channel_spec.rb +0 -6
- data/spec/lib/meshtastic/clientonly_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/clientonly_spec.rb +0 -6
- data/spec/lib/meshtastic/config_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/config_spec.rb +0 -6
- data/spec/lib/meshtastic/connection_status_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/connection_status_spec.rb +0 -6
- data/spec/lib/meshtastic/device_ui_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/deviceonly_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/deviceonly_spec.rb +0 -6
- data/spec/lib/meshtastic/interdevice_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/localonly_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/localonly_spec.rb +0 -6
- data/spec/lib/meshtastic/mesh_interface_spec.rb +0 -6
- data/spec/lib/meshtastic/mesh_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/module_config_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/module_config_spec.rb +0 -6
- data/spec/lib/meshtastic/mqtt_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/mqtt_spec.rb +0 -6
- data/spec/lib/meshtastic/paxcount_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/paxcount_spec.rb +0 -6
- data/spec/lib/meshtastic/portnums_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/portnums_spec.rb +0 -6
- data/spec/lib/meshtastic/powermon_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/remote_hardware_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/remote_hardware_spec.rb +0 -6
- data/spec/lib/meshtastic/rtttl_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/rtttl_spec.rb +0 -6
- data/spec/lib/meshtastic/serial_interface_spec.rb +0 -6
- data/spec/lib/meshtastic/storeforward_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/storeforward_spec.rb +0 -6
- data/spec/lib/meshtastic/stream_interface_spec.rb +0 -6
- data/spec/lib/meshtastic/telemetry_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/telemetry_spec.rb +0 -6
- data/spec/lib/meshtastic/util_spec.rb +0 -6
- data/spec/lib/meshtastic/version_spec.rb +0 -17
- data/spec/lib/meshtastic/xmodem_pb_spec.rb +0 -6
- data/spec/lib/meshtastic/xmodem_spec.rb +0 -6
- data/spec/lib/meshtastic_spec.rb +0 -6
- data/spec/lib/nanopb_pb_spec.rb +0 -6
- data/spec/spec_helper.rb +0 -15
- data/upgrade_Gemfile_gems.sh +0 -21
- data/upgrade_gem.sh +0 -4
- data/upgrade_meshtastic.sh +0 -13
- data/upgrade_ruby.sh +0 -45
data/CHANGELOG_BETWEEN_TAGS.txt
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
ed4a5ab Meshtastic module - update #help method to be more useful
|
|
2
|
-
1f2ae6c Meshtastic module - update #help method to be more useful
|
|
3
|
-
e251a13 Meshtastic::MQTT module - minor #bugfix in format
|
|
4
|
-
c1662df Meshtastic::MQTT module - minor tweaks
|
|
5
|
-
c646e81 Merge pull request #82 from ninp0/master
|
|
6
|
-
1e9c14a README.md - better examples && distinguish between channel, channel_id, and channel_topic
|
|
7
|
-
be39a7d Merge pull request #81 from ninp0/master
|
|
8
|
-
1209bb4 README.md - better examples && distinguish between channel, channel_id, and channel_id_path
|
|
9
|
-
bed3e7b Merge pull request #80 from ninp0/master
|
|
10
|
-
39326e1 README.md - better examples.
|
|
11
|
-
d810969 Merge pull request #79 from ninp0/master
|
|
12
|
-
2394749 protobufs - pull in latest
|
|
13
|
-
ba62aaf README.md - better examples.
|
|
14
|
-
285785f Merge pull request #78 from ninp0/master
|
|
15
|
-
da242e2 README.md - better examples.
|
|
16
|
-
b6645c5 Merge pull request #77 from ninp0/master
|
|
17
|
-
dc9bfd3 Update docs
|
|
18
|
-
20c2c97 Merge pull request #76 from ninp0/master
|
|
19
|
-
225f4a0 Meshtastic::MQTT module - #bugfix in #connect method
|
|
20
|
-
9076f4f Merge pull request #75 from ninp0/master
|
|
21
|
-
825e88f Meshtastic module - #bugfix in #send_text method
|
|
22
|
-
fb3067e Meshtastic module - #bugfix in #send_text method
|
|
23
|
-
c65a4be Meshtastic::MQTT module - #bugfix in #connect method
|
|
24
|
-
5ab6042 Merge pull request #74 from ninp0/master
|
|
25
|
-
68967a1 Meshtastic::MQTT module - #bugfix in #connect method
|
|
26
|
-
06082ee Merge pull request #73 from ninp0/master
|
|
27
|
-
86dc0bd Gemfile updates
|
|
28
|
-
3c5a7c6 Merge pull request #72 from ninp0/master
|
|
29
|
-
3bf6ed6 pull in latest meshtastic protobuf and update Gemfile #add_specs
|
|
30
|
-
94beb52 pull in latest meshtastic protobuf and update Gemfile
|
|
31
|
-
6168a3f pull in latest meshtastic protobuf and update Gemfile
|
|
32
|
-
476e946 Gemfile - bump ruby to 3.4.1
|
|
33
|
-
fd559f5 Gemfile - bump ruby to 3.4.1
|
|
34
|
-
f17640b Merge pull request #71 from ninp0/master
|
|
35
|
-
61c7d6e Gemfile - bump versions to latest
|
|
36
|
-
85a40a8 Merge pull request #70 from ninp0/master
|
|
37
|
-
0f9fb8a upgrade_Gemfile_gems.sh - More flexible versioning for rubocop gems
|
|
38
|
-
d88be1f Merge pull request #69 from ninp0/master
|
|
39
|
-
e517ff1 upgrade_Gemfile_gems.sh - More flexible versioning for rubocop gems
|
|
40
|
-
ff497cd Merge pull request #67 from ninp0/master
|
|
41
|
-
b881a76 upgrade_Gemfile_gems.sh - More flexible versioning for rubocop gems
|
|
42
|
-
18aebbf Merge pull request #66 from ninp0/master
|
|
43
|
-
f21157c Gemfile - bump versions to latest
|
|
44
|
-
749430d Merge pull request #65 from ninp0/master
|
|
45
|
-
2a7d7ea Gemfile - bump versions to latest
|
|
46
|
-
f12d78e Merge pull request #64 from ninp0/master
|
|
47
|
-
0ab7fd1 Gemfile - bump versions to latest
|
|
48
|
-
d0aee95 Merge pull request #63 from ninp0/master
|
|
49
|
-
4b0390e Gemmfile bump version
|
|
50
|
-
820b3ba Merge pull request #62 from ninp0/master
|
|
51
|
-
908a6c0 .ruby-version - bump to 3.3.4
|
|
52
|
-
c4ec72b Merge pull request #61 from ninp0/master
|
|
53
|
-
82f41e6 Gemfile - bump versions to latest
|
|
54
|
-
08fcd17 Merge pull request #60 from ninp0/master
|
|
55
|
-
1d0117e Gemfile - bump versions to latest
|
|
56
|
-
48fd16a Merge pull request #59 from ninp0/master
|
|
57
|
-
0e18752 Gemfile - bump versions to latest
|
|
58
|
-
e5aa123 Merge pull request #58 from ninp0/master
|
|
59
|
-
5a24743 Gemfile - bump versions to latest
|
|
60
|
-
51f4720 Merge pull request #57 from ninp0/master
|
|
61
|
-
2af7c97 Gemfile - bump versions to latest
|
|
62
|
-
cf14910 Merge pull request #56 from ninp0/master
|
|
63
|
-
b0c854e Gemfile - update dependencies to align w/ pwn gem
|
|
64
|
-
433f482 Merge pull request #55 from ninp0/master
|
|
65
|
-
a6097f2 Meshtastic.send_text method - force ASCII-8BIT when packing a payload into Meshtastic::PortNum::TEXT_MESSAGE_APP protobuf
|
|
66
|
-
fda26d6 Merge pull request #54 from ninp0/master
|
|
67
|
-
0a0ac8e Meshtastic::MQQT module - encode raw_packet using UTF-8
|
|
68
|
-
78c9102 Merge pull request #53 from ninp0/master
|
|
69
|
-
8881b6f Meshtastic::MQQT module - encode raw_packet using UTF-8
|
|
70
|
-
c4a757b Merge pull request #52 from ninp0/master
|
|
71
|
-
b7747e8 Meshtastic.send_text method - encode text using UTF-8
|
|
72
|
-
8885660 Merge pull request #51 from ninp0/master
|
|
73
|
-
a2f852d Meshtastic::MQTT.send_text method - initial commit wrapping via: :mqtt into Meshtastic.send_text method for sending messages over mqtt
|
|
74
|
-
378bb5e Merge pull request #50 from ninp0/master
|
|
75
|
-
8c72c07 Meshtastic::MQTT module - rescue encoding incompatibilities
|
|
76
|
-
4e7cd5a Merge pull request #49 from ninp0/master
|
|
77
|
-
2ba8d25 Meshtastic module - improve message_packet.id generation
|
|
78
|
-
a701ed1 Merge pull request #48 from ninp0/master
|
|
79
|
-
ffad703 Meshtastic module - generate random packet id if the previous one is 0 #bugfix
|
|
80
|
-
2947746 Merge pull request #47 from ninp0/master
|
|
81
|
-
8c921db Meshtastic module - generate random packet id if the previous one is 0 #tweak
|
|
82
|
-
332233b Merge pull request #46 from ninp0/master
|
|
83
|
-
7c206db Meshtastic module - generate random packet id if the previous one is 0
|
|
84
|
-
3586f13 Merge pull request #45 from ninp0/master
|
|
85
|
-
18c3e7c Meshtastic module - wrap mesh_packet into instance of Meshtastic::ServiceEnvelope when sending "via: :mqtt"
|
|
86
|
-
23917bb Meshtastic module - wrap mesh_packet into instance of Meshtastic::ServiceEnvelope
|
|
87
|
-
10f393f Merge pull request #44 from ninp0/master
|
|
88
|
-
0952291 Meshtastic module - remove stdout debugging
|
|
89
|
-
1a4170b Merge pull request #43 from ninp0/master
|
|
90
|
-
31519c2 Meshtastic::MQTT module - remove stdout debugging
|
|
91
|
-
d1f543a Merge pull request #42 from ninp0/master
|
|
92
|
-
0d91831 Meshtastic::MQTT && Meshtastic modules - support sending encrypted messages via TEXT_MESSAGE_APP / decrypting via Meshtastic::MQTT
|
|
93
|
-
6490534 Merge pull request #41 from ninp0/master
|
|
94
|
-
59ec4a2 Meshtastic::MQTT.subscribe method - translate rx_time integer to rx_time_utc timestamp #tweaks
|
|
95
|
-
a6734ce Merge pull request #40 from ninp0/master
|
|
96
|
-
d65a1d7 Meshtastic::MQTT.subscribe method - translate rx_time integer to rx_time_utc timestamp
|
|
97
|
-
0092c80 Merge pull request #39 from ninp0/master
|
|
98
|
-
3715d75 Meshtastic::MQTT.decode_payload method - handle portnum, "UNKNOWN_APP"
|
|
99
|
-
81d8663 Merge pull request #38 from ninp0/master
|
|
100
|
-
3bf61bc Meshtastic::MQTT.subscribe method - broader subscription region when region == #
|
|
101
|
-
f0c4510 Merge pull request #37 from ninp0/master
|
|
102
|
-
7a70550 Meshtastic::MQTT module - only work w/ valid packets
|
|
103
|
-
4bcd522 Merge pull request #36 from ninp0/master
|
|
104
|
-
dd7ce88 Meshtastic::MQTT module - overwrite payload[:macaddr] to avoid malformed utf-8 sequences when casting to JSON
|
|
105
|
-
9f43f5f Merge pull request #35 from ninp0/master
|
|
106
|
-
f18f9f0 Meshtastic::MQTT module - additional payload decoding and data massaging tweaks / reduce number of #gps_search calls to only valid lat lon values
|
|
107
|
-
11263b9 Merge pull request #34 from ninp0/master
|
|
108
|
-
7b3365b Meshtastic::MQTT module - a lot of payload decoding bugfixes. Meshtastic module - begin implementing the ability to send packets (decoded and encrypted).
|
|
109
|
-
9db5d74 Merge pull request #33 from ninp0/master
|
|
110
|
-
480edd4 Meshtastic::MQQT - recursively decode nested payloads specific to port nums
|
|
111
|
-
f007947 Merge pull request #32 from ninp0/master
|
|
112
|
-
743869b Meshtastic::MQTT module - change psk parameter to psks which requires a hash of chanbnl psk key pair values
|
|
113
|
-
2da71a9 Merge pull request #31 from ninp0/master
|
|
114
|
-
2b3329b Meshtastic::MQTT module - try default psk for more channel #subscribe values
|
|
115
|
-
612018f Merge pull request #30 from ninp0/master
|
|
116
|
-
d449683 Meshtastic::MQTT module - rescue #bugfix
|
|
117
|
-
9ab8c7a Merge pull request #29 from ninp0/master
|
|
118
|
-
3f15a89 Meshtastic::MQTT module - #help tweak
|
|
119
|
-
0d7b9fd Meshtastic::MQTT module - better channel support in #subscribe method
|
|
120
|
-
5f7bf75 Merge pull request #28 from ninp0/master
|
|
121
|
-
2f24bf2 Meshtastic::MQTT module - include all ServiceEnvelope hash response contents instead of just values for :packet key
|
|
122
|
-
6c4f5db Merge pull request #27 from ninp0/master
|
|
123
|
-
0b78b81 Meshtastic::MQTT module - move filter logic to the ensure block to enable filtering messages by stdout values "inspect" or "pretty"
|
|
124
|
-
e39a0d9 Merge pull request #26 from ninp0/master
|
|
125
|
-
4ab3587 Meshtastic::MQTT module - display mac address appropriately when e.g. NODEINFO_APP returns mixed ascii macaddr values
|
|
126
|
-
08b38ef Merge pull request #25 from ninp0/master
|
|
127
|
-
f5d5a6b Meshtastic::MQTT module - #rubocop
|
|
128
|
-
03de0ad Meshtastic::MQTT module - implement working NODEINFO_APP, SIMULATOR_APP, and RANGE_TEST_APP decoders
|
|
129
|
-
6485c97 Merge pull request #24 from ninp0/master
|
|
130
|
-
e7bdd82 Meshtastic::MQTT module - implement a gps_metadata boolean parameter (default to false) for the #subscribe method to avoid rate limit issues
|
|
131
|
-
5b665e7 Merge pull request #23 from ninp0/master
|
|
132
|
-
41b1473 Merge branch 'master' of ssh://github.com/ninp0/meshtastic
|
|
133
|
-
b6f6e68 Meshtastic::MQTT module - implement TRACEROUTE_APP decoding
|
|
134
|
-
7896b1e Merge pull request #22 from ninp0/master
|
|
135
|
-
b653692 Meshtastic::MQTT module - add gps_metadata for POSITION_APP via #gps_search method
|
|
136
|
-
6536892 Merge pull request #21 from ninp0/master
|
|
137
|
-
8dd7f06 ./git_commit.sh - include ./AUTOGEN_meshtastic_protobufs.sh to pull in latest protobuf definitions
|
|
138
|
-
27effa9 Merge pull request #20 from ninp0/master
|
|
139
|
-
292b6db Meshtastic::MQTT module - disable APPS where Protobuf#decode object is unknown
|
|
140
|
-
07f3b29 Merge pull request #19 from ninp0/master
|
|
141
|
-
ef29b94 Meshtastic::MQTT module - format tweak in message object when dumping to STDOUT
|
|
142
|
-
2b97702 Merge pull request #18 from ninp0/master
|
|
143
|
-
393b252 README.md - doc tweaks
|
|
144
|
-
9345cb2 Merge pull request #17 from ninp0/master
|
|
145
|
-
ebcb1a1 Meshtastic::MQTT module - pull back the curtain.
|
|
146
|
-
4bb24b6 Merge pull request #16 from ninp0/master
|
|
147
|
-
460c087 Meshtastic::MQTT module - dont display debugging info if block_given? is true
|
|
148
|
-
fd82bc1 Merge pull request #15 from ninp0/master
|
|
149
|
-
c7056b0 Meshtastic::MQTT module - add block support to interact with each message
|
|
150
|
-
ba5f84f Meshtastic::VERSION - bump
|
|
151
|
-
455cc9b Meshtastic::MQTT - #bugfix in #subscribe method when json = true
|
|
152
|
-
af251ed Merge pull request #14 from ninp0/master
|
|
153
|
-
80a392b Meshtastic::MQTT - add #gps_search method
|
|
154
|
-
474774b Merge pull request #13 from ninp0/master
|
|
155
|
-
32af2f9 Meshtastic::MQTT - update usage for #subscribe and #help methods
|
|
156
|
-
d33c05a Merge pull request #12 from ninp0/master
|
|
157
|
-
7126de7 Meshtastic::MQTT - implement message filter parameter on #subscripbe method and code cleanup
|
|
158
|
-
5220cde Merge pull request #11 from ninp0/master
|
|
159
|
-
76de568 README.md - #moretweaks
|
|
160
|
-
5cae453 Merge pull request #10 from ninp0/master
|
|
161
|
-
93e2bb8 README.md - #link_tweaks
|
|
162
|
-
e4c6e61 README.md - Setting expectations
|
|
163
|
-
2a15599 Merge pull request #9 from ninp0/master
|
|
164
|
-
bf0cc6b README.md - Setting expectations
|
|
165
|
-
5c63bb5 Merge pull request #8 from ninp0/master
|
|
166
|
-
a823462 Disable Map object temporarily
|
|
167
|
-
0104d0b Merge pull request #7 from ninp0/master
|
|
168
|
-
5dde96d Include nanopb_pb rSpec
|
|
169
|
-
2b792f2 Ensure Gemfile set google-protobuf version to the same version returned by the protoc command
|
|
170
|
-
641d11d Include nanopb_pb rSpec
|
|
171
|
-
b552585 Include nanopb_pb rSpec
|
|
172
|
-
a06690b Include nanopb_pb
|
|
173
|
-
89fb0d9 Meshtastic::VERSION - bump
|
|
174
|
-
f5ada48 Comment out protobuf modules that are calling unknown proto3_optional method
|
|
175
|
-
c0a9dd9 Comment out protobuf modules that are calling unknown proto3_optional method
|
|
176
|
-
90016bd rSpec - barebones build testing
|
|
177
|
-
41da62c Merge pull request #6 from ninp0/master
|
|
178
|
-
dd5d419 Github Workflow - working barebones
|
|
179
|
-
d35ff76 Merge pull request #5 from ninp0/master
|
|
180
|
-
22abe89 meshtastic.gemspec - few minor tweaks to spec
|
|
181
|
-
64eee43 Merge pull request #4 from ninp0/master
|
|
182
|
-
935e409 upgrade_Gemfile_gems.sh - Skip bundler until A newer bundler version becomes available in Github workflows
|
|
183
|
-
745ebe1 Gemfile - tweak minimum supported bundler version for Github workflows
|
|
184
|
-
479682c Merge pull request #3 from ninp0/master
|
|
185
|
-
22a261d Gemfile - tweak minimum supported bundler version for Github workflows
|
|
186
|
-
450dd6d Merge pull request #2 from ninp0/master
|
|
187
|
-
7839b8f Gemfile - tweak supported bundler for Github workflows
|
|
188
|
-
d9545b1 Merge pull request #1 from ninp0/master
|
|
189
|
-
23fdf18 Gemfile - more gems
|
|
190
|
-
99b70da More build scripts (reinstall gemset)
|
|
191
|
-
664224a Gemfile - include required bundler gems
|
|
192
|
-
06b121d .github/workflows/main.yml - Update to run relevant tasks
|
|
193
|
-
8b373ed Meshtastic::VERSION #bugfix
|
|
194
|
-
9b9f16a README.md updates
|
|
195
|
-
e83c35f Meshtastic Ruby Gem - Initial Alpha Commit w/ Protobuf Generation and operating Meshtastic::MQTT module
|
|
196
|
-
7729c8b Initial commit
|
data/CODE_OF_CONDUCT.md
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
# Contributor Covenant Code of Conduct
|
|
2
|
-
|
|
3
|
-
## Our Pledge
|
|
4
|
-
|
|
5
|
-
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
6
|
-
|
|
7
|
-
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
|
|
8
|
-
|
|
9
|
-
## Our Standards
|
|
10
|
-
|
|
11
|
-
Examples of behavior that contributes to a positive environment for our community include:
|
|
12
|
-
|
|
13
|
-
* Demonstrating empathy and kindness toward other people
|
|
14
|
-
* Being respectful of differing opinions, viewpoints, and experiences
|
|
15
|
-
* Giving and gracefully accepting constructive feedback
|
|
16
|
-
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
|
|
17
|
-
* Focusing on what is best not just for us as individuals, but for the overall community
|
|
18
|
-
|
|
19
|
-
Examples of unacceptable behavior include:
|
|
20
|
-
|
|
21
|
-
* The use of sexualized language or imagery, and sexual attention or
|
|
22
|
-
advances of any kind
|
|
23
|
-
* Trolling, insulting or derogatory comments, and personal or political attacks
|
|
24
|
-
* Public or private harassment
|
|
25
|
-
* Publishing others' private information, such as a physical or email
|
|
26
|
-
address, without their explicit permission
|
|
27
|
-
* Other conduct which could reasonably be considered inappropriate in a
|
|
28
|
-
professional setting
|
|
29
|
-
|
|
30
|
-
## Enforcement Responsibilities
|
|
31
|
-
|
|
32
|
-
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
|
|
33
|
-
|
|
34
|
-
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
|
|
35
|
-
|
|
36
|
-
## Scope
|
|
37
|
-
|
|
38
|
-
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
|
|
39
|
-
|
|
40
|
-
## Enforcement
|
|
41
|
-
|
|
42
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at jake.hoopes@gmail.com. All complaints will be reviewed and investigated promptly and fairly.
|
|
43
|
-
|
|
44
|
-
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
|
|
45
|
-
|
|
46
|
-
## Enforcement Guidelines
|
|
47
|
-
|
|
48
|
-
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
|
|
49
|
-
|
|
50
|
-
### 1. Correction
|
|
51
|
-
|
|
52
|
-
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
|
|
53
|
-
|
|
54
|
-
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
|
|
55
|
-
|
|
56
|
-
### 2. Warning
|
|
57
|
-
|
|
58
|
-
**Community Impact**: A violation through a single incident or series of actions.
|
|
59
|
-
|
|
60
|
-
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
|
|
61
|
-
|
|
62
|
-
### 3. Temporary Ban
|
|
63
|
-
|
|
64
|
-
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
|
|
65
|
-
|
|
66
|
-
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
|
|
67
|
-
|
|
68
|
-
### 4. Permanent Ban
|
|
69
|
-
|
|
70
|
-
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
|
|
71
|
-
|
|
72
|
-
**Consequence**: A permanent ban from any sort of public interaction within the community.
|
|
73
|
-
|
|
74
|
-
## Attribution
|
|
75
|
-
|
|
76
|
-
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
|
|
77
|
-
available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
|
78
|
-
|
|
79
|
-
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
|
|
80
|
-
|
|
81
|
-
[homepage]: https://www.contributor-covenant.org
|
|
82
|
-
|
|
83
|
-
For answers to common questions about this code of conduct, see the FAQ at
|
|
84
|
-
https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
|
data/Gemfile
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
LANG = 'en_US.UTF-8'
|
|
4
|
-
LC_ALL = 'en_US.UTF-8'
|
|
5
|
-
source 'https://rubygems.org'
|
|
6
|
-
|
|
7
|
-
gemspec
|
|
8
|
-
|
|
9
|
-
gem 'bundler', '>=2.7.2'
|
|
10
|
-
gem 'bundle-audit', '0.1.0'
|
|
11
|
-
gem 'geocoder', '1.8.6'
|
|
12
|
-
gem 'google-protobuf', '4.33.0'
|
|
13
|
-
gem 'grpc-tools', '1.76.0'
|
|
14
|
-
gem 'mqtt', '0.6.0'
|
|
15
|
-
gem 'rake', '13.3.0'
|
|
16
|
-
gem 'rdoc', '6.15.0'
|
|
17
|
-
gem 'rspec', '3.13.2'
|
|
18
|
-
gem 'rubocop', '>=1.81.6'
|
|
19
|
-
gem 'rubocop-rake', '>=0.7.1'
|
|
20
|
-
gem 'rubocop-rspec', '>=3.7.0'
|
|
21
|
-
gem 'rvm', '1.11.3.9'
|
|
22
|
-
gem 'uart', '1.0.0'
|
|
23
|
-
gem 'yard', '0.9.37'
|
data/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 0day Inc.
|
|
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.
|
data/README.md
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# Meshtastic
|
|
2
|
-
|
|
3
|
-
Ruby gem for interfacing with Meshtastic nodes / network.
|
|
4
|
-
|
|
5
|
-
# Setting Expectations
|
|
6
|
-
|
|
7
|
-
This gem was created to support alt-comm capabilities w/in a security research framework known as [PWN](https://github.com/0dayInc/pwn). Contributors of this effort cannot guarantee full functionality or support for all Meshtastic features.
|
|
8
|
-
|
|
9
|
-
# Objectives
|
|
10
|
-
|
|
11
|
-
- Consume the latest [Meshtastic Protobof Specs](https://github.com/meshtastic/protobufs) and [auto-generate Ruby protobuf modules for Meshtastic](https://github.com/0dayInc/meshtastic/blob/master/AUTOGEN_meshtastic_protobufs.sh) using the `protoc` command: `Complete`
|
|
12
|
-
- Integrate auto-generated Ruby protobuf modules into a working Ruby gem: `Complete`
|
|
13
|
-
- Scale out Meshtastic Ruby Modules for their respective protobufs within the meshtastic gem (e.g. Meshtastic::MQTTPB is auto-generated based on latest Meshtastic protobuf specs and extended via Meshtastic::MQTT for more MQTT interaction as desired): `Ongoing Effort`
|
|
14
|
-
|
|
15
|
-
## Installation
|
|
16
|
-
|
|
17
|
-
Install the gem and add to the application's Gemfile by executing:
|
|
18
|
-
|
|
19
|
-
$ bundle add meshtastic
|
|
20
|
-
|
|
21
|
-
If bundler is not being used to manage dependencies, install the gem by executing:
|
|
22
|
-
|
|
23
|
-
$ gem install meshtastic
|
|
24
|
-
|
|
25
|
-
## Usage
|
|
26
|
-
|
|
27
|
-
At the moment the only module available is `Meshtastic::MQTT`. To view MQTT messages, and include only messages containing `_APP` _and_ `LongFast` strings, use the following code:
|
|
28
|
-
|
|
29
|
-
```ruby
|
|
30
|
-
require 'meshtastic'
|
|
31
|
-
Meshtastic::MQTT.help
|
|
32
|
-
mqtt_obj = Meshastic::MQTT.connect
|
|
33
|
-
puts mqtt_obj.inspect
|
|
34
|
-
Meshtastic::MQTT.subscribe(
|
|
35
|
-
mqtt_obj: mqtt_obj,
|
|
36
|
-
include: '_APP, LongFast'
|
|
37
|
-
)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
This code will dump the contents of every message:
|
|
41
|
-
|
|
42
|
-
```ruby
|
|
43
|
-
require 'meshtastic'
|
|
44
|
-
mqtt_obj = Meshastic::MQTT.connect
|
|
45
|
-
Meshtastic::MQTT.subscribe(
|
|
46
|
-
mqtt_obj: mqtt_obj,
|
|
47
|
-
root_topic: 'msh',
|
|
48
|
-
region: 'US',
|
|
49
|
-
topic: '2/e/LongFast/#',
|
|
50
|
-
psks: { LongFast: 'AQ==' }
|
|
51
|
-
) do |message|
|
|
52
|
-
puts message.inspect
|
|
53
|
-
end
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Sending a message over MQTT:
|
|
57
|
-
|
|
58
|
-
```ruby
|
|
59
|
-
require 'meshtastic'
|
|
60
|
-
mqtt_obj = Meshastic::MQTT.connect
|
|
61
|
-
client_id = "!#{mqtt_obj.client_id}"
|
|
62
|
-
Meshtastic::MQTT.send_text(
|
|
63
|
-
mqtt_obj: mqtt_obj,
|
|
64
|
-
from: client_id,
|
|
65
|
-
to: '!ffffffff',
|
|
66
|
-
root_topic: 'msh',
|
|
67
|
-
region: 'US',
|
|
68
|
-
topic: '2/e/LongFast/#',
|
|
69
|
-
channel: 93,
|
|
70
|
-
text: 'Hello, World!',
|
|
71
|
-
psks: { LongFast: 'AQ==' }
|
|
72
|
-
)
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
One of the "gotchas" when sending messages is ensuring you're sending over the proper integer for the `channel` parameter. The best way to determine the proper `channel` value is by sending a test message from within the meshtastic app and then viewing the MQTT message similar to the following:
|
|
76
|
-
|
|
77
|
-
```ruby
|
|
78
|
-
require 'meshtastic'
|
|
79
|
-
mqtt_obj = Meshastic::MQTT.connect
|
|
80
|
-
Meshtastic::MQTT.subscribe(
|
|
81
|
-
mqtt_obj: mqtt_obj,
|
|
82
|
-
root_topic: 'msh',
|
|
83
|
-
region: 'US',
|
|
84
|
-
topic: '2/e/LongFast/#',
|
|
85
|
-
psks: { LongFast: 'AQ==' },
|
|
86
|
-
include: '!YOUR_CLIENT_ID'
|
|
87
|
-
) do |message|
|
|
88
|
-
puts message.inspect
|
|
89
|
-
end
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
You should see something like this:
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
{packet: {from: 4080917205, to: 4294967295, channel: 93, id: 1198634591, rx_time: 1738614021, rx_snr: 0.0, hop_limit: 3, want_ack: false, priority: :HIGH, rx_rssi: 0, delayed: :NO_DELAY, via_mqtt: false, hop_start: 3, public_key: "", pki_encrypted: false, next_hop: 0, relay_node: 0, tx_after: 0, decoded: {portnum: :TEXT_MESSAGE_APP, payload: "WHAT IS MY channel VALUE?", want_response: false, dest: 0, source: 0, request_id: 0, reply_id: 0, emoji: 0, bitfield: 0}, encrypted: :decrypted, topic: "msh/US/2/e/LongFast/!f33ddad5", node_id_from: "!f33ddad5", node_id_to: "!ffffffff", rx_time_utc: "2025-01-01 07:00:00 UTC"}, channel_id: "LongFast", gateway_id: "!f33ddad5"}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Note where is says `channel: 93`. This is the `channel` value required to send messages in this particular example.
|
|
99
|
-
|
|
100
|
-
## Contributing
|
|
101
|
-
|
|
102
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/0dayinc/meshtastic. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/0dayinc/meshtastic/blob/master/CODE_OF_CONDUCT.md).
|
|
103
|
-
|
|
104
|
-
## Code of Conduct
|
|
105
|
-
|
|
106
|
-
Everyone interacting in the Meshtastic project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/0dayinc/meshtastic/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'bundler/gem_tasks'
|
|
4
|
-
require 'rspec/core/rake_task'
|
|
5
|
-
require 'rdoc/task'
|
|
6
|
-
require 'rubocop/rake_task'
|
|
7
|
-
|
|
8
|
-
RSpec::Core::RakeTask.new(:spec)
|
|
9
|
-
RuboCop::RakeTask.new do |rubocop|
|
|
10
|
-
config_file = '.rubocop.yml'
|
|
11
|
-
rubocop.options = ['-E', '-S', '-c', config_file]
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
RDoc::Task.new do |rdoc|
|
|
15
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
16
|
-
rdoc.rdoc_dir = 'rdoc'
|
|
17
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
# frozen_string_literal: true
|
|
4
|
-
|
|
5
|
-
require 'meshtastic'
|
|
6
|
-
|
|
7
|
-
old_rev = Meshtastic::VERSION
|
|
8
|
-
placeholder_arr = old_rev.split('.')
|
|
9
|
-
major = placeholder_arr[0].to_i
|
|
10
|
-
minor = placeholder_arr[1].to_i
|
|
11
|
-
hotfix = placeholder_arr[2].to_i
|
|
12
|
-
|
|
13
|
-
if hotfix < 999
|
|
14
|
-
hotfix += 1
|
|
15
|
-
placeholder_arr[2] = hotfix.to_s
|
|
16
|
-
else
|
|
17
|
-
# TODO: Tag master branch once minor version is reached
|
|
18
|
-
placeholder_arr[2] = '0'
|
|
19
|
-
if minor < 9
|
|
20
|
-
minor += 1
|
|
21
|
-
placeholder_arr[1] = minor.to_s
|
|
22
|
-
else
|
|
23
|
-
placeholder_arr[1] = '0'
|
|
24
|
-
major += 1
|
|
25
|
-
placeholder_arr[0] = major.to_s
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
new_rev = placeholder_arr.join('.')
|
|
30
|
-
|
|
31
|
-
puts "Upgrading to #{new_rev}..."
|
|
32
|
-
File.open('./lib/meshtastic/version.rb', 'w') do |f|
|
|
33
|
-
f.puts '# frozen_string_literal: true'
|
|
34
|
-
f.puts "\n"
|
|
35
|
-
f.puts 'module Meshtastic'
|
|
36
|
-
f.puts " VERSION = '#{new_rev}'"
|
|
37
|
-
f.puts 'end'
|
|
38
|
-
end
|
data/build_meshtastic_gem.sh
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
#!/bin/bash --login
|
|
2
|
-
if [[ $MESHTASTIC_ROOT == '' ]]; then
|
|
3
|
-
if [[ ! -d '/opt/meshtastic' ]]; then
|
|
4
|
-
mesh_root=$(pwd)
|
|
5
|
-
else
|
|
6
|
-
mesh_root='/opt/meshtastic'
|
|
7
|
-
fi
|
|
8
|
-
else
|
|
9
|
-
mesh_root="${MESHTASTIC_ROOT}"
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
ls pkg/*.gem 2> /dev/null | while read previous_gems; do
|
|
13
|
-
rvmsudo rm $previous_gems
|
|
14
|
-
done
|
|
15
|
-
old_ruby_version=`cat ${mesh_root}/.ruby-version`
|
|
16
|
-
# Default Strategy is to merge codebase
|
|
17
|
-
# rvmsudo git config pull.rebase false
|
|
18
|
-
# rvmsudo git pull origin master
|
|
19
|
-
git config pull.rebase false
|
|
20
|
-
git pull origin master
|
|
21
|
-
new_ruby_version=`cat ${mesh_root}/.ruby-version`
|
|
22
|
-
|
|
23
|
-
rvm list gemsets | grep `cat ${mesh_root}/.ruby-gemset`
|
|
24
|
-
if [[ $? != 0 ]]; then
|
|
25
|
-
echo "Ruby v${new_ruby_version} is not installed. Installing..."
|
|
26
|
-
cd $mesh_root && ./upgrade_ruby.sh $new_ruby_version
|
|
27
|
-
# Rely on RVM to creeate gemset
|
|
28
|
-
cd / && cd $mesh_root
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
if [[ $old_ruby_version == $new_ruby_version ]]; then
|
|
32
|
-
export rvmsudo_secure_path=1
|
|
33
|
-
rvmsudo /bin/bash --login -c "cd ${mesh_root} && ./reinstall_meshtastic_gemset.sh"
|
|
34
|
-
rvmsudo rake
|
|
35
|
-
rvmsudo rake install
|
|
36
|
-
rvmsudo rake rerdoc
|
|
37
|
-
rvmsudo gem update --system
|
|
38
|
-
rvmsudo gem rdoc --rdoc --ri --overwrite -V meshtastic
|
|
39
|
-
echo "Invoking bundle-audit Gemfile Scanner..."
|
|
40
|
-
rvmsudo bundle-audit
|
|
41
|
-
|
|
42
|
-
latest_gem=$(ls pkg/*.gem)
|
|
43
|
-
if [[ $latest_gem != "" ]]; then
|
|
44
|
-
echo "Pushing ${latest_gem} to RubyGems.org..."
|
|
45
|
-
rvmsudo gem push $latest_gem --debug
|
|
46
|
-
fi
|
|
47
|
-
else
|
|
48
|
-
cd $mesh_root && ./upgrade_ruby.sh $new_ruby_version $old_ruby_version
|
|
49
|
-
fi
|
|
50
|
-
|
|
51
|
-
unpriv_user=`echo $USER`
|
|
52
|
-
if [[ $unpriv_user != 'root' ]]; then
|
|
53
|
-
if [[ $(uname -s) == 'Darwin' ]]; then
|
|
54
|
-
rvmsudo chown -R $unpriv_user $mesh_root
|
|
55
|
-
else
|
|
56
|
-
rvmsudo chown -R $unpriv_user:$unpriv_user $mesh_root
|
|
57
|
-
fi
|
|
58
|
-
fi
|
data/git_commit.sh
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
#!/bin/bash --login
|
|
2
|
-
if [[ $1 != "" && $2 != "" && $3 != "" ]]; then
|
|
3
|
-
# Default Strategy is to merge codebase
|
|
4
|
-
git config pull.rebase false
|
|
5
|
-
git config commit.gpgsign true
|
|
6
|
-
git pull origin master
|
|
7
|
-
git add . --all
|
|
8
|
-
echo 'Updating Gems to Latest Versions in Gemfile...'
|
|
9
|
-
./upgrade_Gemfile_gems.sh
|
|
10
|
-
./AUTOGEN_meshtastic_protobufs.sh
|
|
11
|
-
meshtastic_autoinc_version
|
|
12
|
-
if [[ $tag_this_version_bool == 'true' ]]; then
|
|
13
|
-
last_tag=$(git tag | tail -n 1)
|
|
14
|
-
git log $last_tag.. --oneline > CHANGELOG_BETWEEN_TAGS.txt
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
git commit -a -S --author="${1} <${2}>" -m "${3}"
|
|
18
|
-
./upgrade_meshtastic.sh
|
|
19
|
-
# Tag for every 100 commits (i.e. 0.1.100, 0.1.200, etc)
|
|
20
|
-
tag_this_version_bool=`ruby -r 'meshtastic' -e 'if Meshtastic::VERSION.split(".")[-1].to_i % 100 == 0; then print true; else print false; end'`
|
|
21
|
-
if [[ $tag_this_version_bool == 'true' ]]; then
|
|
22
|
-
this_version=`ruby -r 'meshtastic' -e 'print Meshtastic::VERSION'`
|
|
23
|
-
echo "Tagging: ${this_version}"
|
|
24
|
-
git tag $this_version
|
|
25
|
-
git push origin $this_version
|
|
26
|
-
fi
|
|
27
|
-
else
|
|
28
|
-
echo "USAGE: ${0} '<full name>' <email address> '<git commit comments>'"
|
|
29
|
-
fi
|
data/lib/meshtastic/admin.rb
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'meshtastic/admin_pb'
|
|
4
|
-
|
|
5
|
-
# Plugin used to interact with Meshtastic nodes
|
|
6
|
-
module Meshtastic
|
|
7
|
-
module Admin
|
|
8
|
-
# Author(s):: 0day Inc. <support@0dayinc.com>
|
|
9
|
-
|
|
10
|
-
public_class_method def self.authors
|
|
11
|
-
"AUTHOR(S):
|
|
12
|
-
0day Inc. <support@0dayinc.com>
|
|
13
|
-
"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# Display Usage for this Module
|
|
17
|
-
|
|
18
|
-
public_class_method def self.help
|
|
19
|
-
puts "USAGE:
|
|
20
|
-
#{self}.authors
|
|
21
|
-
"
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
data/lib/meshtastic/admin_pb.rb
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
-
# source: meshtastic/admin.proto
|
|
4
|
-
|
|
5
|
-
require 'google/protobuf'
|
|
6
|
-
|
|
7
|
-
require 'meshtastic/channel_pb'
|
|
8
|
-
require 'meshtastic/config_pb'
|
|
9
|
-
require 'meshtastic/connection_status_pb'
|
|
10
|
-
require 'meshtastic/device_ui_pb'
|
|
11
|
-
require 'meshtastic/mesh_pb'
|
|
12
|
-
require 'meshtastic/module_config_pb'
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
descriptor_data = "\n\x16meshtastic/admin.proto\x12\nmeshtastic\x1a\x18meshtastic/channel.proto\x1a\x17meshtastic/config.proto\x1a\"meshtastic/connection_status.proto\x1a\x1ameshtastic/device_ui.proto\x1a\x15meshtastic/mesh.proto\x1a\x1emeshtastic/module_config.proto\"\xd6\x18\n\x0c\x41\x64minMessage\x12\x17\n\x0fsession_passkey\x18\x65 \x01(\x0c\x12\x1d\n\x13get_channel_request\x18\x01 \x01(\rH\x00\x12\x33\n\x14get_channel_response\x18\x02 \x01(\x0b\x32\x13.meshtastic.ChannelH\x00\x12\x1b\n\x11get_owner_request\x18\x03 \x01(\x08H\x00\x12.\n\x12get_owner_response\x18\x04 \x01(\x0b\x32\x10.meshtastic.UserH\x00\x12\x41\n\x12get_config_request\x18\x05 \x01(\x0e\x32#.meshtastic.AdminMessage.ConfigTypeH\x00\x12\x31\n\x13get_config_response\x18\x06 \x01(\x0b\x32\x12.meshtastic.ConfigH\x00\x12N\n\x19get_module_config_request\x18\x07 \x01(\x0e\x32).meshtastic.AdminMessage.ModuleConfigTypeH\x00\x12>\n\x1aget_module_config_response\x18\x08 \x01(\x0b\x32\x18.meshtastic.ModuleConfigH\x00\x12\x34\n*get_canned_message_module_messages_request\x18\n \x01(\x08H\x00\x12\x35\n+get_canned_message_module_messages_response\x18\x0b \x01(\tH\x00\x12%\n\x1bget_device_metadata_request\x18\x0c \x01(\x08H\x00\x12\x42\n\x1cget_device_metadata_response\x18\r \x01(\x0b\x32\x1a.meshtastic.DeviceMetadataH\x00\x12\x1e\n\x14get_ringtone_request\x18\x0e \x01(\x08H\x00\x12\x1f\n\x15get_ringtone_response\x18\x0f \x01(\tH\x00\x12.\n$get_device_connection_status_request\x18\x10 \x01(\x08H\x00\x12S\n%get_device_connection_status_response\x18\x11 \x01(\x0b\x32\".meshtastic.DeviceConnectionStatusH\x00\x12\x31\n\x0cset_ham_mode\x18\x12 \x01(\x0b\x32\x19.meshtastic.HamParametersH\x00\x12/\n%get_node_remote_hardware_pins_request\x18\x13 \x01(\x08H\x00\x12\\\n&get_node_remote_hardware_pins_response\x18\x14 \x01(\x0b\x32*.meshtastic.NodeRemoteHardwarePinsResponseH\x00\x12 \n\x16\x65nter_dfu_mode_request\x18\x15 \x01(\x08H\x00\x12\x1d\n\x13\x64\x65lete_file_request\x18\x16 \x01(\tH\x00\x12\x13\n\tset_scale\x18\x17 \x01(\rH\x00\x12\x45\n\x12\x62\x61\x63kup_preferences\x18\x18 \x01(\x0e\x32\'.meshtastic.AdminMessage.BackupLocationH\x00\x12\x46\n\x13restore_preferences\x18\x19 \x01(\x0e\x32\'.meshtastic.AdminMessage.BackupLocationH\x00\x12L\n\x19remove_backup_preferences\x18\x1a \x01(\x0e\x32\'.meshtastic.AdminMessage.BackupLocationH\x00\x12?\n\x10send_input_event\x18\x1b \x01(\x0b\x32#.meshtastic.AdminMessage.InputEventH\x00\x12%\n\tset_owner\x18 \x01(\x0b\x32\x10.meshtastic.UserH\x00\x12*\n\x0bset_channel\x18! \x01(\x0b\x32\x13.meshtastic.ChannelH\x00\x12(\n\nset_config\x18\" \x01(\x0b\x32\x12.meshtastic.ConfigH\x00\x12\x35\n\x11set_module_config\x18# \x01(\x0b\x32\x18.meshtastic.ModuleConfigH\x00\x12,\n\"set_canned_message_module_messages\x18$ \x01(\tH\x00\x12\x1e\n\x14set_ringtone_message\x18% \x01(\tH\x00\x12\x1b\n\x11remove_by_nodenum\x18& \x01(\rH\x00\x12\x1b\n\x11set_favorite_node\x18\' \x01(\rH\x00\x12\x1e\n\x14remove_favorite_node\x18( \x01(\rH\x00\x12\x32\n\x12set_fixed_position\x18) \x01(\x0b\x32\x14.meshtastic.PositionH\x00\x12\x1f\n\x15remove_fixed_position\x18* \x01(\x08H\x00\x12\x17\n\rset_time_only\x18+ \x01(\x07H\x00\x12\x1f\n\x15get_ui_config_request\x18, \x01(\x08H\x00\x12<\n\x16get_ui_config_response\x18- \x01(\x0b\x32\x1a.meshtastic.DeviceUIConfigH\x00\x12\x35\n\x0fstore_ui_config\x18. \x01(\x0b\x32\x1a.meshtastic.DeviceUIConfigH\x00\x12\x1a\n\x10set_ignored_node\x18/ \x01(\rH\x00\x12\x1d\n\x13remove_ignored_node\x18\x30 \x01(\rH\x00\x12\x1d\n\x13\x62\x65gin_edit_settings\x18@ \x01(\x08H\x00\x12\x1e\n\x14\x63ommit_edit_settings\x18\x41 \x01(\x08H\x00\x12\x30\n\x0b\x61\x64\x64_contact\x18\x42 \x01(\x0b\x32\x19.meshtastic.SharedContactH\x00\x12<\n\x10key_verification\x18\x43 \x01(\x0b\x32 .meshtastic.KeyVerificationAdminH\x00\x12\x1e\n\x14\x66\x61\x63tory_reset_device\x18^ \x01(\x05H\x00\x12\x1c\n\x12reboot_ota_seconds\x18_ \x01(\x05H\x00\x12\x18\n\x0e\x65xit_simulator\x18` \x01(\x08H\x00\x12\x18\n\x0ereboot_seconds\x18\x61 \x01(\x05H\x00\x12\x1a\n\x10shutdown_seconds\x18\x62 \x01(\x05H\x00\x12\x1e\n\x14\x66\x61\x63tory_reset_config\x18\x63 \x01(\x05H\x00\x12\x16\n\x0cnodedb_reset\x18\x64 \x01(\x05H\x00\x1aS\n\nInputEvent\x12\x12\n\nevent_code\x18\x01 \x01(\r\x12\x0f\n\x07kb_char\x18\x02 \x01(\r\x12\x0f\n\x07touch_x\x18\x03 \x01(\r\x12\x0f\n\x07touch_y\x18\x04 \x01(\r\"\xd6\x01\n\nConfigType\x12\x11\n\rDEVICE_CONFIG\x10\x00\x12\x13\n\x0fPOSITION_CONFIG\x10\x01\x12\x10\n\x0cPOWER_CONFIG\x10\x02\x12\x12\n\x0eNETWORK_CONFIG\x10\x03\x12\x12\n\x0e\x44ISPLAY_CONFIG\x10\x04\x12\x0f\n\x0bLORA_CONFIG\x10\x05\x12\x14\n\x10\x42LUETOOTH_CONFIG\x10\x06\x12\x13\n\x0fSECURITY_CONFIG\x10\x07\x12\x15\n\x11SESSIONKEY_CONFIG\x10\x08\x12\x13\n\x0f\x44\x45VICEUI_CONFIG\x10\t\"\xbb\x02\n\x10ModuleConfigType\x12\x0f\n\x0bMQTT_CONFIG\x10\x00\x12\x11\n\rSERIAL_CONFIG\x10\x01\x12\x13\n\x0f\x45XTNOTIF_CONFIG\x10\x02\x12\x17\n\x13STOREFORWARD_CONFIG\x10\x03\x12\x14\n\x10RANGETEST_CONFIG\x10\x04\x12\x14\n\x10TELEMETRY_CONFIG\x10\x05\x12\x14\n\x10\x43\x41NNEDMSG_CONFIG\x10\x06\x12\x10\n\x0c\x41UDIO_CONFIG\x10\x07\x12\x19\n\x15REMOTEHARDWARE_CONFIG\x10\x08\x12\x17\n\x13NEIGHBORINFO_CONFIG\x10\t\x12\x1a\n\x16\x41MBIENTLIGHTING_CONFIG\x10\n\x12\x1a\n\x16\x44\x45TECTIONSENSOR_CONFIG\x10\x0b\x12\x15\n\x11PAXCOUNTER_CONFIG\x10\x0c\"#\n\x0e\x42\x61\x63kupLocation\x12\t\n\x05\x46LASH\x10\x00\x12\x06\n\x02SD\x10\x01\x42\x11\n\x0fpayload_variant\"[\n\rHamParameters\x12\x11\n\tcall_sign\x18\x01 \x01(\t\x12\x10\n\x08tx_power\x18\x02 \x01(\x05\x12\x11\n\tfrequency\x18\x03 \x01(\x02\x12\x12\n\nshort_name\x18\x04 \x01(\t\"f\n\x1eNodeRemoteHardwarePinsResponse\x12\x44\n\x19node_remote_hardware_pins\x18\x01 \x03(\x0b\x32!.meshtastic.NodeRemoteHardwarePin\"s\n\rSharedContact\x12\x10\n\x08node_num\x18\x01 \x01(\r\x12\x1e\n\x04user\x18\x02 \x01(\x0b\x32\x10.meshtastic.User\x12\x15\n\rshould_ignore\x18\x03 \x01(\x08\x12\x19\n\x11manually_verified\x18\x04 \x01(\x08\"\x9c\x02\n\x14KeyVerificationAdmin\x12\x42\n\x0cmessage_type\x18\x01 \x01(\x0e\x32,.meshtastic.KeyVerificationAdmin.MessageType\x12\x16\n\x0eremote_nodenum\x18\x02 \x01(\r\x12\r\n\x05nonce\x18\x03 \x01(\x04\x12\x1c\n\x0fsecurity_number\x18\x04 \x01(\rH\x00\x88\x01\x01\"g\n\x0bMessageType\x12\x19\n\x15INITIATE_VERIFICATION\x10\x00\x12\x1b\n\x17PROVIDE_SECURITY_NUMBER\x10\x01\x12\r\n\tDO_VERIFY\x10\x02\x12\x11\n\rDO_NOT_VERIFY\x10\x03\x42\x12\n\x10_security_numberBa\n\x14org.meshtastic.protoB\x0b\x41\x64minProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00\x62\x06proto3"
|
|
16
|
-
|
|
17
|
-
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
18
|
-
pool.add_serialized_file(descriptor_data)
|
|
19
|
-
|
|
20
|
-
module Meshtastic
|
|
21
|
-
AdminMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.AdminMessage").msgclass
|
|
22
|
-
AdminMessage::InputEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.AdminMessage.InputEvent").msgclass
|
|
23
|
-
AdminMessage::ConfigType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.AdminMessage.ConfigType").enummodule
|
|
24
|
-
AdminMessage::ModuleConfigType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.AdminMessage.ModuleConfigType").enummodule
|
|
25
|
-
AdminMessage::BackupLocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.AdminMessage.BackupLocation").enummodule
|
|
26
|
-
HamParameters = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.HamParameters").msgclass
|
|
27
|
-
NodeRemoteHardwarePinsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.NodeRemoteHardwarePinsResponse").msgclass
|
|
28
|
-
SharedContact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.SharedContact").msgclass
|
|
29
|
-
KeyVerificationAdmin = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.KeyVerificationAdmin").msgclass
|
|
30
|
-
KeyVerificationAdmin::MessageType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.KeyVerificationAdmin.MessageType").enummodule
|
|
31
|
-
end
|