10 Commits

Author SHA1 Message Date
root 72b4d1393e Re-add viewer screenshot (receiver IP and location masked)
CI / Python checks (push) Has been cancelled
CI / Docker build (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Re-added after history scrub. This capture shows neither the receiver
IP nor the location name (status bar reads "CONNECTED" / "ADS-Bit").

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 01:10:59 -07:00
root d649593239 Scrub location/IP from public assets; add gitleaks pre-commit hook
- README: replace real lat/lon in the config example with 0.0/0.0 and
  drop the city name from the screenshot caption
- viewer screenshot: re-captured with the receiver IP masked
- add .pre-commit-config.yaml running gitleaks to block secrets from
  reaching gitea or the public GitHub mirror

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 14:22:12 -07:00
root acce31ed3a Replace gitea references with GitHub
Point the Quick Start clone command at the GitHub repo and drop the
obsolete .gitea-token ignore rule in favour of a generic secrets pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 13:35:45 -07:00
AllenNPIT 47320b24d1 Create FUNDING.yml 2026-06-15 13:31:04 -07:00
root 07df375d00 Add viewer + pixel editor screenshots and Screenshots section to README
New README "Screenshots" section showing the live viewer (East view with
aircraft over the Las Vegas skyline) and the in-app pixel sprite editor,
using freshly captured screenshots.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 12:08:22 -07:00
allen 6d1b178e85 Merge pull request 'Release v1.1.2: publish container image + security workflows' (#12) from release/v1.1.2 into main
Release / image (push) Has been cancelled
2026-06-10 15:36:03 -07:00
root babed47fe6 Release v1.1.2: publish container image + add security workflows
- Bump VERSION to 1.1.2 (no app behavior change from 1.1.1).
- release.yml: add workflow_dispatch so images can be published manually from
  the Actions tab in addition to on version tags.
- Add CodeQL code scanning (Python + JavaScript), free for public repos.
- Add Dependabot config for GitHub Actions and pip updates.

This is the first release to publish a multi-arch image to GHCR
(ghcr.io/allennpit/ads-bit).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 15:36:02 -07:00
allen f635c23027 Merge pull request 'Set GitHub namespace (AllenNPIT)' (#11) from chore/set-namespace into main 2026-06-10 10:26:48 -07:00
root 9c0594975a Set GitHub namespace (AllenNPIT) in README badges and CHANGELOG links
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:26:47 -07:00
allen f081af36d8 Merge pull request 'Package for public GitHub release' (#10) from chore/github-packaging into main 2026-06-10 10:13:54 -07:00
11 changed files with 111 additions and 13 deletions
+1
View File
@@ -0,0 +1 @@
buy_me_a_coffee: adsbit
+17
View File
@@ -0,0 +1,17 @@
version: 2
updates:
# Keep GitHub Actions pinned versions current.
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
commit-message:
prefix: "ci"
# Keep Python dependencies current.
- package-ecosystem: pip
directory: "/"
schedule:
interval: weekly
commit-message:
prefix: "deps"
+35
View File
@@ -0,0 +1,35 @@
name: CodeQL
# Static security analysis (free for public repositories). Scans the Python
# backend and the vanilla-JS frontend on pushes, PRs, and weekly.
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: "23 5 * * 1"
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
security-events: write
contents: read
actions: read
strategy:
fail-fast: false
matrix:
language: [python, javascript]
steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
- name: Analyze
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{ matrix.language }}"
+7
View File
@@ -7,6 +7,12 @@ name: Release
on:
push:
tags: ["v*"]
workflow_dispatch:
inputs:
version:
description: "Image tag to publish (e.g. 1.1.2); leave blank for just :latest"
required: false
default: ""
permissions:
contents: read
@@ -40,6 +46,7 @@ jobs:
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,value=${{ inputs.version }},enable=${{ github.event_name == 'workflow_dispatch' && inputs.version != '' }}
type=raw,value=latest
- name: Build and push
+3 -2
View File
@@ -17,8 +17,9 @@ __pycache__/
.claude/
CLAUDE.md
# Gitea token
.gitea-token
# Local secrets / tokens
*.token
.git-credentials
# OS
.DS_Store
+14
View File
@@ -0,0 +1,14 @@
# Pre-commit hooks for ADS-Bit.
#
# Setup (once):
# pip install pre-commit
# pre-commit install
#
# Thereafter gitleaks scans every commit for secrets (tokens, keys,
# password hashes) before they can reach gitea or the public GitHub mirror.
# Run manually across the whole tree with: pre-commit run --all-files
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.18.4
hooks:
- id: gitleaks
+16 -3
View File
@@ -4,6 +4,18 @@ All notable changes to this project are documented here. The format is based
on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to
[Semantic Versioning](https://semver.org/).
## [1.1.2] - 2026-06-10
First release with a published container image and security tooling. No
application behavior changes from 1.1.1.
### Added
- Prebuilt multi-arch (amd64 + arm64) container image published to GitHub
Container Registry: `ghcr.io/allennpit/ads-bit`.
- CodeQL code-scanning workflow (Python + JavaScript) and Dependabot updates
for GitHub Actions and pip.
- `workflow_dispatch` trigger on the release workflow for manual image builds.
## [1.1.1] - 2026-06-10
### Added
@@ -43,6 +55,7 @@ on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to
pixel-art sprites, directional backgrounds, weather, sun/moon, admin panel,
first-run setup wizard, and Docker/Podman support.
[1.1.1]: https://github.com/OWNER/ADS-Bit/releases/tag/v1.1.1
[1.1.0]: https://github.com/OWNER/ADS-Bit/releases/tag/v1.1.0
[1.0]: https://github.com/OWNER/ADS-Bit/releases/tag/v1.0
[1.1.2]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.1.2
[1.1.1]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.1.1
[1.1.0]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.1.0
[1.0]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.0
+17 -7
View File
@@ -1,14 +1,24 @@
# ADS-Bit
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Release](https://img.shields.io/github/v/release/OWNER/ADS-Bit)](https://github.com/OWNER/ADS-Bit/releases)
[![CI](https://github.com/OWNER/ADS-Bit/actions/workflows/ci.yml/badge.svg)](https://github.com/OWNER/ADS-Bit/actions/workflows/ci.yml)
> **Setup note:** replace `OWNER` with your GitHub username/org throughout this README (badges and image names) after creating the repository.
[![Release](https://img.shields.io/github/v/release/AllenNPIT/ADS-Bit)](https://github.com/AllenNPIT/ADS-Bit/releases)
[![CI](https://github.com/AllenNPIT/ADS-Bit/actions/workflows/ci.yml/badge.svg)](https://github.com/AllenNPIT/ADS-Bit/actions/workflows/ci.yml)
A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
![ADS-Bit Screenshot](screenshots/screenshot.png)
## Screenshots
### Live viewer
Real-time ADS-B traffic rendered as pixel-art sprites over a directional background — here the East view, with a desert skyline on the horizon. Aircraft are labelled with callsign, altitude, and distance, and listed in the sidebar sorted by range.
![Live viewer with aircraft in view](screenshots/viewer.png)
### In-app pixel editor
Draw and edit aircraft sprites directly in the browser: pencil, eraser, line/rectangle/ellipse shapes, fill bucket, select & move, zoom/pan, undo/redo, custom palettes, and an adjustable reference overlay. Saving uploads the sprite back to the running tracker — no external tools needed.
![In-browser pixel sprite editor](screenshots/pixel-editor.png)
## Features
@@ -29,7 +39,7 @@ A retro SNES-style side-view flight tracker that displays ADS-B aircraft data wi
```bash
# Clone the repository
git clone https://gitea.chops.one/allen/ADS-Bit.git
git clone https://github.com/AllenNPIT/ADS-Bit.git
cd ADS-Bit
# Install dependencies
@@ -56,7 +66,7 @@ is available from GitHub Container Registry:
docker run -d --name ads-bit --network host --restart unless-stopped \
-e ADSBIT_CONFIG=/app/data/config.json \
-v "$PWD/data:/app/data" \
ghcr.io/OWNER/ads-bit:latest
ghcr.io/allennpit/ads-bit:latest
```
Then open http://localhost:2001 and complete the setup wizard.
Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 KiB

+1 -1
View File
@@ -17,7 +17,7 @@ from aiohttp import web, ClientSession, ClientTimeout
import netifaces
import bcrypt
VERSION = "1.1.1"
VERSION = "1.1.2"
WEB_DIR = Path(__file__).parent
# Config path is overridable (handy for containers persisting config on a