diff --git a/LICENSE b/LICENSE index 289a47d..7508b11 100644 --- a/LICENSE +++ b/LICENSE @@ -33,7 +33,7 @@ and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a + Object form, made available under the Licen2se, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2025 l5yth + Copyright (C) 2025 l5yth Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 9038d16..ffac7c9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # Potato-Mesh +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/l5y/potato-mesh/spec.yml?branch=main)](https://github.com/l5y/potato-mesh/actions) +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/l5y/potato-mesh)](https://github.com/l5y/potato-mesh/releases) +[![codecov](https://codecov.io/gh/l5y/potato-mesh/branch/main/graph/badge.svg?token=IK7USBPBZY)](https://codecov.io/gh/l5y/potato-mesh) +[![Open-Source License](https://img.shields.io/github/license/l5y/potato-mesh)](LICENSE) +[![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/l5y/potato-mesh/issues) + A simple Meshtastic-powered node dashboard for your local community. _No MQTT clutter, just local LoRa aether._ * Web app with chat window and map view showing nodes and messages. diff --git a/data/__init__.py b/data/__init__.py index e69de29..f5fed2d 100644 --- a/data/__init__.py +++ b/data/__init__.py @@ -0,0 +1,13 @@ +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/data/mesh.py b/data/mesh.py index 441bf60..690d40f 100644 --- a/data/mesh.py +++ b/data/mesh.py @@ -1,4 +1,19 @@ #!/usr/bin/env python3 + +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import dataclasses import json, os, time, threading, signal, urllib.request, urllib.error diff --git a/data/mesh.sh b/data/mesh.sh index 5204e55..9d7dc10 100755 --- a/data/mesh.sh +++ b/data/mesh.sh @@ -1,4 +1,19 @@ #!/usr/bin/env bash + +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -euo pipefail python -m venv .venv diff --git a/data/messages.sql b/data/messages.sql index d5468ee..e00b79f 100644 --- a/data/messages.sql +++ b/data/messages.sql @@ -1,3 +1,17 @@ +-- Copyright (C) 2025 l5yth +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + CREATE TABLE IF NOT EXISTS messages ( id INTEGER PRIMARY KEY, -- meshtastic packet id rx_time INTEGER NOT NULL, -- unix seconds when received diff --git a/data/nodes.sql b/data/nodes.sql index ffc1581..db3d957 100644 --- a/data/nodes.sql +++ b/data/nodes.sql @@ -1,4 +1,17 @@ --- nodes.sql +-- Copyright (C) 2025 l5yth +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + PRAGMA journal_mode=WAL; CREATE TABLE IF NOT EXISTS nodes ( diff --git a/test/debug.py b/test/debug.py index 295e783..376783b 100644 --- a/test/debug.py +++ b/test/debug.py @@ -1,4 +1,19 @@ #!/usr/bin/env python3 + +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import time, json, base64, threading from pubsub import pub # comes with meshtastic from meshtastic.serial_interface import SerialInterface diff --git a/web/Gemfile b/web/Gemfile index 5d407b9..ff971e9 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -1,3 +1,17 @@ +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + source "https://rubygems.org" gem "sinatra", "~> 4.0" diff --git a/web/app.rb b/web/app.rb index e46b89a..c0e8006 100644 --- a/web/app.rb +++ b/web/app.rb @@ -1,4 +1,19 @@ +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # frozen_string_literal: true + require "sinatra" require "json" require "sqlite3" diff --git a/web/app.sh b/web/app.sh index 2ec1754..9108b98 100755 --- a/web/app.sh +++ b/web/app.sh @@ -1,4 +1,19 @@ #!/usr/bin/env bash + +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -euo pipefail bundle install diff --git a/web/spec/app_spec.rb b/web/spec/app_spec.rb index 1ba3790..5b85385 100644 --- a/web/spec/app_spec.rb +++ b/web/spec/app_spec.rb @@ -1,3 +1,17 @@ +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # frozen_string_literal: true require "spec_helper" diff --git a/web/spec/spec_helper.rb b/web/spec/spec_helper.rb index 82f53f1..d0ffe0e 100644 --- a/web/spec/spec_helper.rb +++ b/web/spec/spec_helper.rb @@ -1,3 +1,17 @@ +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # frozen_string_literal: true require "tmpdir" diff --git a/web/views/index.erb b/web/views/index.erb index 854d973..57c88f7 100644 --- a/web/views/index.erb +++ b/web/views/index.erb @@ -1,4 +1,21 @@ + + +