Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bf71ba1b50 | |||
| f047f82e86 | |||
| 9f122f47aa | |||
| 14de77926f | |||
| 3cbf36e0ad | |||
| 8204d8d41e | |||
| a95db23240 | |||
| 005817d499 | |||
| 7a80057cb5 | |||
| 214ee8dd90 | |||
| 38043d7d1f | |||
| 7af9789db7 | |||
| 9f341a5b14 | |||
| 3391523d45 | |||
| 23d469d008 | |||
| a3fa38b740 | |||
| c996ade142 | |||
| 2a2c29de29 | |||
| 22a3078af9 |
@@ -1 +0,0 @@
|
|||||||
buy_me_a_coffee: adsbit
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
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"
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
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,12 +7,6 @@ name: Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags: ["v*"]
|
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:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -46,7 +40,6 @@ jobs:
|
|||||||
tags: |
|
tags: |
|
||||||
type=semver,pattern={{version}}
|
type=semver,pattern={{version}}
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
type=raw,value=${{ inputs.version }},enable=${{ github.event_name == 'workflow_dispatch' && inputs.version != '' }}
|
|
||||||
type=raw,value=latest
|
type=raw,value=latest
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
|
|||||||
+2
-3
@@ -17,9 +17,8 @@ __pycache__/
|
|||||||
.claude/
|
.claude/
|
||||||
CLAUDE.md
|
CLAUDE.md
|
||||||
|
|
||||||
# Local secrets / tokens
|
# Gitea token
|
||||||
*.token
|
.gitea-token
|
||||||
.git-credentials
|
|
||||||
|
|
||||||
# OS
|
# OS
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
# 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
|
|
||||||
+3
-16
@@ -4,18 +4,6 @@ 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
|
on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to
|
||||||
[Semantic Versioning](https://semver.org/).
|
[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
|
## [1.1.1] - 2026-06-10
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -55,7 +43,6 @@ application behavior changes from 1.1.1.
|
|||||||
pixel-art sprites, directional backgrounds, weather, sun/moon, admin panel,
|
pixel-art sprites, directional backgrounds, weather, sun/moon, admin panel,
|
||||||
first-run setup wizard, and Docker/Podman support.
|
first-run setup wizard, and Docker/Podman support.
|
||||||
|
|
||||||
[1.1.2]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.1.2
|
[1.1.1]: https://github.com/OWNER/ADS-Bit/releases/tag/v1.1.1
|
||||||
[1.1.1]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.1.1
|
[1.1.0]: https://github.com/OWNER/ADS-Bit/releases/tag/v1.1.0
|
||||||
[1.1.0]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.1.0
|
[1.0]: https://github.com/OWNER/ADS-Bit/releases/tag/v1.0
|
||||||
[1.0]: https://github.com/AllenNPIT/ADS-Bit/releases/tag/v1.0
|
|
||||||
|
|||||||
@@ -1,24 +1,14 @@
|
|||||||
# ADS-Bit
|
# ADS-Bit
|
||||||
|
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://github.com/AllenNPIT/ADS-Bit/releases)
|
[](https://github.com/OWNER/ADS-Bit/releases)
|
||||||
[](https://github.com/AllenNPIT/ADS-Bit/actions/workflows/ci.yml)
|
[](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.
|
||||||
|
|
||||||
A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
|
A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@@ -39,7 +29,7 @@ Draw and edit aircraft sprites directly in the browser: pencil, eraser, line/rec
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone the repository
|
# Clone the repository
|
||||||
git clone https://github.com/AllenNPIT/ADS-Bit.git
|
git clone https://gitea.chops.one/allen/ADS-Bit.git
|
||||||
cd ADS-Bit
|
cd ADS-Bit
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
@@ -66,7 +56,7 @@ is available from GitHub Container Registry:
|
|||||||
docker run -d --name ads-bit --network host --restart unless-stopped \
|
docker run -d --name ads-bit --network host --restart unless-stopped \
|
||||||
-e ADSBIT_CONFIG=/app/data/config.json \
|
-e ADSBIT_CONFIG=/app/data/config.json \
|
||||||
-v "$PWD/data:/app/data" \
|
-v "$PWD/data:/app/data" \
|
||||||
ghcr.io/allennpit/ads-bit:latest
|
ghcr.io/OWNER/ads-bit:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
Then open http://localhost:2001 and complete the setup wizard.
|
Then open http://localhost:2001 and complete the setup wizard.
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 899 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 304 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 264 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 904 KiB |
@@ -17,7 +17,7 @@ from aiohttp import web, ClientSession, ClientTimeout
|
|||||||
import netifaces
|
import netifaces
|
||||||
import bcrypt
|
import bcrypt
|
||||||
|
|
||||||
VERSION = "1.1.2"
|
VERSION = "1.1.1"
|
||||||
|
|
||||||
WEB_DIR = Path(__file__).parent
|
WEB_DIR = Path(__file__).parent
|
||||||
# Config path is overridable (handy for containers persisting config on a
|
# Config path is overridable (handy for containers persisting config on a
|
||||||
|
|||||||
Reference in New Issue
Block a user