Archived
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c2f6894ef5
|
||
|
|
943f2615f3
|
No files matched your search
@@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## [0.2.3] - 2026-04-06
|
||||
|
||||
### Changed
|
||||
|
||||
- README: clarify that the bridge relays raw LoRa packets and works with any
|
||||
protocol (Meshtastic, MeshCore, etc.) simultaneously.
|
||||
|
||||
## [0.2.2] - 2026-04-06
|
||||
|
||||
### Fixed
|
||||
|
||||
- TUI now fits in 80-column terminals (was 86).
|
||||
|
||||
## [0.2.1] - 2026-04-06
|
||||
|
||||
### Fixed
|
||||
|
||||
Generated
+1
-1
@@ -906,7 +906,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "donglora-bridge"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"blake3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "donglora-bridge"
|
||||
version = "0.2.1"
|
||||
version = "0.2.3"
|
||||
edition = "2024"
|
||||
authors = ["Stephen Waits <steve@waits.net>"]
|
||||
license = "MIT"
|
||||
|
||||
@@ -4,16 +4,19 @@
|
||||
[](LICENSE)
|
||||

|
||||
|
||||
**donglora-bridge** connects LoRa radios to the internet so packets heard by one
|
||||
radio can be retransmitted by another radio anywhere in the world.
|
||||
**donglora-bridge** relays raw LoRa packets over the internet. Every packet your
|
||||
radio hears is forwarded to every other bridge running the same passphrase, and
|
||||
their radios retransmit it locally. Because it operates on raw packets, it works
|
||||
with any protocol built on LoRa --
|
||||
[Meshtastic](https://meshtastic.org/),
|
||||
[MeshCore](https://github.com/rocketgithub/meshcore-firmware),
|
||||
or anything else -- simultaneously and without configuration. If your radio can
|
||||
hear it, the bridge will relay it.
|
||||
|
||||
[LoRa](https://en.wikipedia.org/wiki/LoRa) is a long-range, low-power wireless
|
||||
protocol used by off-grid mesh networks like
|
||||
[MeshCore](https://github.com/rocketgithub/meshcore-firmware). A single LoRa
|
||||
radio might cover a few kilometers. This bridge removes that limit: any packet
|
||||
your radio hears gets relayed over the internet to every other bridge running the
|
||||
same passphrase, and their radios retransmit it locally. The result is a single
|
||||
mesh network across a larger geographic area.
|
||||
modulation used by off-grid mesh networks. A single radio might cover a few
|
||||
kilometers. This bridge removes that limit, extending a local LoRa network
|
||||
across a larger geographic area.
|
||||
|
||||
There is no central server. Bridges discover each other automatically using the
|
||||
[Mainline DHT](https://en.wikipedia.org/wiki/Mainline_DHT) and communicate
|
||||
|
||||
+3
-3
@@ -245,8 +245,8 @@ fn draw_ui(
|
||||
series: &TimeSeries,
|
||||
) {
|
||||
// Minimum terminal size for the 3-column layout.
|
||||
if area.width < 86 || area.height < 12 {
|
||||
let msg = format!("Terminal too small ({}x{}), need 86x12+", area.width, area.height);
|
||||
if area.width < 80 || area.height < 12 {
|
||||
let msg = format!("Terminal too small ({}x{}), need 80x12+", area.width, area.height);
|
||||
frame.render_widget(
|
||||
Paragraph::new(msg).alignment(Alignment::Center).style(Style::default().fg(C_RATE_DROP)),
|
||||
area,
|
||||
@@ -266,7 +266,7 @@ fn draw_ui(
|
||||
// Packet log columns: Age=5 Hash=8 RF=4 Net=4 Size=6 RSSI=6 SNR=5 Act=5 = 43 + 2 border + 1 pad = 46
|
||||
let cols = Layout::default()
|
||||
.direction(Direction::Horizontal)
|
||||
.constraints([Constraint::Length(30), Constraint::Length(46), Constraint::Min(10)])
|
||||
.constraints([Constraint::Length(30), Constraint::Length(46), Constraint::Min(4)])
|
||||
.split(rows[1]);
|
||||
|
||||
// Left column: Network, Radio, Stats stacked.
|
||||
|
||||
Reference in new issue
Block a user