ED Expedition is a tool designed to help you plan, execute, and record your journeys through the galaxy. It allows you to plot routes using several methods and join one or more routes into one expedition.
Warning
Active Development: This project is in early stages. Expect bugs, breaking changes, and missing features. Use at your own risk.
Created routes using plotters such as Spansh. Every route is simply a series of jumps from system A to B, based on your ships capabilities.
Expeditions connect multiple routes together at common systems - Sol → Colonia + Colonia → Beagle Point becomes one seamless journey. The app also allows for branching paths; Feel like hunting for Earth-like planets mid-trip? Plot a new route through only F-stars starting and ending on your core route, and ED Expedition can guide you trough that too.
Once you kick off an journey, the app starts tracking you in-gane jumps. On every jump, it grabs the next system name on your route, and copies it into your clipboard so you don't have to tab out.
The app logs each jump - whether you stray on the path, or take a detour. Once you're finished - or if you halt it yourself - the expedition gets archived saving the stats and all the jumps, for your records.
The easiest way to get started:
- Go to the Releases page
- Download the latest version for your platform:
- Linux:
ed-expedition-linux-amd64-webkit2_41.tar.gzfor Ubuntu 24.04+ or other recent distrosed-expedition-linux-amd64.tar.gzfor Ubuntu 22.04/Debian 11 or older systems- Not sure? Try webkit2_41 first - if you get library errors, use the standard version
- Windows:
ed-expedition-windows-amd64.zip - macOS: Available by request (open an issue)
- Linux:
- Extract and run the executable
Linux users with Nix:
# Install to your profile
nix profile add github:Otard95/ed-expeditionNixOS Configuration:
Add to your flake inputs:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
ed-expedition = {
url = "github:Otard95/ed-expedition";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}Then add to system packages:
{ inputs, pkgs, ... }:
{
environment.systemPackages = [
inputs.ed-expedition.packages.${stdenv.hostPlatform.system}.default
];
}Linux:
# Run with your Elite Dangerous journal directory
./ed-expedition -j /path/to/steam/proton-prefix/.../Saved\ Games/Frontier\ Developments/Elite\ Dangerous/Windows:
# Run with your Elite Dangerous journal directory
ed-expedition.exe -j "%USERPROFILE%\Saved Games\Frontier Developments\Elite Dangerous\"Tip
The -j flag points to your Elite Dangerous journal directory for real-time tracking. The app will monitor new journal files as you play.
ED Expedition is built with Wails v2 (Go backend + Svelte frontend). If you're new to Wails, check their docs for the framework basics.
Prerequisites: Go 1.23+, Node.js, pnpm, and Wails CLI
(Or use nix develop if you have Nix installed)
# Run wails in development mode with hot reload
# It handles installing dependencies and building everything
wails devWarning
Journal directory configuration: The -j flag doesn't work with wails dev due to how Wails passes flags. The app defaults to ./data/journals (see main.go:24). To test with real journal files, either:
- Copy/symlink your journal files to
./data/journals/ - Use
cmd/simulate-logto generate test journal events in./data/journals/ - Build the binary (
wails build) and run it with-j /path/to/journal
Note
Linux users: If you get webkit2gtk-4.0 pkg-config errors, you likely
have webkit2gtk 4.1 installed. Use wails dev -tags webkit2_41 instead.
The nix flake currently has this issue.
Ubuntu 24.04 dependency issue (libwebkit) · Issue #3581 · wailsapp/wails
We use Conventional Commits for all commit messages. This allows automated changelog generation and semantic versioning via release-please.
Format:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Common types:
feat:- New features (triggers minor version bump)fix:- Bug fixes (triggers patch version bump)docs:- Documentation changeschore:- Maintenance tasks (version bumps, dependency updates)ci:- CI/CD changesrefactor:- Code refactoringperf:- Performance improvements
Breaking changes:
- Use
feat!:orfix!:OR includeBREAKING CHANGE:in footer - Triggers major version bump (or minor before v1.0.0)
Examples:
feat(routes): add Overcharge column with lightning indicator
fix(frontend): correct view button route for completed expeditions
docs: update README with conventional commit guidelines
chore: initialize project version to 0.1.0
Data Directory:
By default, expedition/route data is stored in OS-specific locations:
- Linux:
~/.local/share/ed-expedition/(respectsXDG_DATA_HOME) - macOS:
~/Library/Application Support/ed-expedition/ - Windows:
%APPDATA%\ed-expedition\
Override with the ED_EXPEDITION_DATA_DIR environment variable:
export ED_EXPEDITION_DATA_DIR=/custom/path/to/data
wails dev -j /path/to/journalThe app monitors Elite Dangerous journal files for real-time tracking. We've built some testing utilities:
cmd/jump-repl- Interactive REPL for testing active expeditions. Simulates jumps and targets with live feedback. Most useful for interactive testing.cmd/simulate-log- Simulates journal file writes to./data/journals/with configurable delays (useful for testing duringwails dev)cmd/expected-events- Shows what events should be detected from test datacmd/journal-watcher-test- Tests the actual watcher implementation
Interactive testing with the REPL (recommended):
# Terminal 1: Run the app in dev mode
wails dev
# Terminal 2: Start the REPL for your active expedition
cd cmd/jump-repl
go run . ../../data/journals
# In the REPL:
> jump next # Jump to next expected system
> jump detour # Jump to a random off-route system
> jump Sol # Jump to specific system by name
> target next # Set FSD target without jumping
> status # Show current expedition state
> help # Show all commandsAutomated testing with simulate-log:
# Terminal 1: Run the app in dev mode
wails dev
# Terminal 2: Simulate journal events from a log file
cd cmd/simulate-log
go run . ../../data/test-logs/Journal.2024-10-30T124500.01.log