Perun: Difference between revisions
Eleutherious (talk | contribs) New tool page, source-checked against the project README |
Eleutherious (talk | contribs) Second check: fixes to facts, dates (UTC), glosses and attribution |
||
| Line 2: | Line 2: | ||
| name = Perun | | name = Perun | ||
| what = Privacy-first run tracker, rebuilt on the Logos stack as an Android app and a Basecamp module | | what = Privacy-first run tracker, rebuilt on the Logos stack as an Android app and a Basecamp module | ||
| stage = | | stage = Almost done | ||
| licence = MIT or Apache-2.0 (licence files in the repository) | | licence = MIT or Apache-2.0 (licence files in the repository) | ||
| code = https://github.com/vpavlin/perun | | code = https://github.com/vpavlin/perun | ||
| Line 13: | Line 13: | ||
== What it does == | == What it does == | ||
* | * It records runs on an Android phone with GPS, also in the background, and shows them on the phone. | ||
* | * It sends a run to the user's Basecamp with "Sync to Basecamp" over Logos Delivery. The app uses the phone's shared Loam node when it is installed, and otherwise runs its own node. Loam is a separate app that runs one shared Logos Delivery node per phone for local-first apps. | ||
* | * It receives runs in <code>perun_core</code>, the Basecamp core module, which decodes the track, computes splits, elevation, pace and heart rate, and stores them in an SQLite database. | ||
* | * It shows the runs in Perun Analytics (<code>perun_analytics</code>), the desktop Basecamp view. | ||
* | * It can run <code>perun_core</code> headless (with no interface) as an always-on hub. | ||
* | * It uses a shared wire contract (the message format both ends follow) with a compact track codec, so that a normal run fits in one 150 KB Delivery message. | ||
* | * It keeps the blockchain out of scope for now. Logos Storage is an optional backup and is not on the sync path. | ||
Stage: | Stage: Almost done. The README says "the Android app and the Basecamp core + view are released", meaning published on apps.vpavlin.xyz. The modules are still below version 1.0, and the README adds that "the desktop is Linux x64 only for now". The original React web app now lives in a separate repository, vpavlin/perun-legacy. The README does not say whether it is an official Logos project. | ||
== Use it == | == Use it == | ||
| Line 30: | Line 30: | ||
== Build it == | == Build it == | ||
* <code>nix build ./module#lgx-portable</code> builds a portable bundle. The README says to always build the portable variant, not <code>.#lgx</code>. | * <code>nix build ./module#lgx-portable</code> builds a portable bundle. The README says to always build the portable variant, not <code>.#lgx</code>. | ||
* | * The README says pushing a <code>v*</code> tag makes CI build the <code>perun_analytics</code> portable <code>.lgx</code> for linux-amd64 and attach it to a GitHub Release. The workflow file triggers only on <code>module-v*</code> tags. | ||
* After a release, <code>scripts/gen-repo-index.sh vX.Y.Z</code> refreshes <code>repo/index.json</code>, which is then committed. | * After a release, <code>scripts/gen-repo-index.sh vX.Y.Z</code> refreshes <code>repo/index.json</code>, which is then committed. | ||
| Line 46: | Line 46: | ||
* [https://github.com/vpavlin/perun/blob/master/module/metadata.json module/metadata.json] and [https://github.com/vpavlin/perun/blob/master/core/metadata.json core/metadata.json], GitHub | * [https://github.com/vpavlin/perun/blob/master/module/metadata.json module/metadata.json] and [https://github.com/vpavlin/perun/blob/master/core/metadata.json core/metadata.json], GitHub | ||
* [https://github.com/vpavlin/perun/tags perun tags], GitHub | * [https://github.com/vpavlin/perun/tags perun tags], GitHub | ||
* [https://github.com/vpavlin/perun/blob/master/.github/workflows/release.yml release.yml] workflow, GitHub | |||
* [https://apps.vpavlin.xyz apps.vpavlin.xyz], app catalogue | |||
{{Page status|Stub}} | {{Page status|Stub}} | ||
Revision as of 21:01, 4 November 2026
Perun is a privacy-first run tracker with an Android app that sends runs over Logos Messaging (Logos Delivery) to a Basecamp module on the desktop. It is published by the GitHub user vpavlin.
What it does
- It records runs on an Android phone with GPS, also in the background, and shows them on the phone.
- It sends a run to the user's Basecamp with "Sync to Basecamp" over Logos Delivery. The app uses the phone's shared Loam node when it is installed, and otherwise runs its own node. Loam is a separate app that runs one shared Logos Delivery node per phone for local-first apps.
- It receives runs in
perun_core, the Basecamp core module, which decodes the track, computes splits, elevation, pace and heart rate, and stores them in an SQLite database. - It shows the runs in Perun Analytics (
perun_analytics), the desktop Basecamp view. - It can run
perun_coreheadless (with no interface) as an always-on hub. - It uses a shared wire contract (the message format both ends follow) with a compact track codec, so that a normal run fits in one 150 KB Delivery message.
- It keeps the blockchain out of scope for now. Logos Storage is an optional backup and is not on the sync path.
Stage: Almost done. The README says "the Android app and the Basecamp core + view are released", meaning published on apps.vpavlin.xyz. The modules are still below version 1.0, and the README adds that "the desktop is Linux x64 only for now". The original React web app now lives in a separate repository, vpavlin/perun-legacy. The README does not say whether it is an official Logos project.
Use it
- Android: add the F-Droid repository from apps.vpavlin.xyz and install Perun. The README recommends installing Loam as well. It runs on arm64 phones.
- Desktop: this needs Basecamp 0.3 on Linux x64. Add
https://apps.vpavlin.xyz/logos-repo.jsonin Basecamp's package manager, then install Perun Analytics. It pulls inperun_core. - Instead of the repository, a portable
.lgxfrom a GitHub Release can be installed withlgpm install URL --to ./modules, where URL is the release file.
Build it
nix build ./module#lgx-portablebuilds a portable bundle. The README says to always build the portable variant, not.#lgx.- The README says pushing a
v*tag makes CI build theperun_analyticsportable.lgxfor linux-amd64 and attach it to a GitHub Release. The workflow file triggers only onmodule-v*tags. - After a release,
scripts/gen-repo-index.sh vX.Y.Zrefreshesrepo/index.json, which is then committed.
Releases
The latest tags are module-v0.6.0 and mobile-v1.12.0, both dated 16 July 2026. module/metadata.json gives perun_analytics version 0.9.0, and core/metadata.json gives perun_core version 0.10.4.
See also
Sources
- perun README, GitHub, last commit 11 October 2026
- module/metadata.json and core/metadata.json, GitHub
- perun tags, GitHub
- release.yml workflow, GitHub
- apps.vpavlin.xyz, app catalogue