Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,330 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Warframe Hub

Vercel Actions Release OpenSSF Scorecard OpenSSF Best Practices Supported by the Warframe Community Developers Discord

Warframe Hub is a community web app for Warframe players. It helps Tenno spend their time well in-game by:

  • Providing timely worldstate information so you can plan when and where to play
  • Giving in-depth item, drop, and searchable game data when you need to dig deeper

Live site: https://hub.warframestat.us (also deployed via Vercel)

Project docs and community norms:

Quick start

git clone https://github.com/WFCD/warframe-hub.git
cd warframe-hub
npm install
npm run dev          # http://localhost:8742

Production build locally:

npm run build
npm start            # http://localhost:8742

Requires Node.js 24 LTS (Krypton) (see .nvmrc). Copy .example.env if you need NEXT_PUBLIC_* values.

Obtain, feedback, and contribute

Goal How
Use the hub Open https://hub.warframestat.us, or run/self-host from this repo (below)
Report bugs / ask for features GitHub Issues (templates for bugs, features, questions). English preferred.
Discuss GitHub Issues / Pull Requests (searchable, URL-addressable) or WFCD Discord
Contribute code Fork → branch → pull request into dev. See CONTRIBUTING.md

Security issues: email security@warframestat.us — do not file a public issue. Details in docs/SECURITY.md.

Using the hub

After opening the live site or a local instance:

  1. Timers / worldstate (home) — alerts, fissures, invasions, sorties, cycles, and other time-sensitive events so you can plan sessions.
  2. Codex (/codex) — searchable item data (q, types, categories, page query params; see docs/INTERFACE.md).
  3. Open-world helpers — maps and fish tools under /poe, /vallis, and /deimos.
  4. Other tools — synthesis (/synthesis), riven data (/riven/data), and related pages from the nav.

Preferences (platform, locale, panel layout, trackables) stay in the browser. The hub reads public Warframe worldstate/item APIs; it does not log into your Warframe account. Full route/config reference: docs/INTERFACE.md.

Security expectations (users)

  • Treat the site as read-only game information. Do not enter Warframe passwords or account credentials here — the hub never asks for them.
  • Self-hosting: only set secrets you intend (e.g. Sentry DSN); do not expose admin tokens in client-visible NEXT_PUBLIC_* env vars.
  • Report suspected vulnerabilities privately per docs/SECURITY.md.

Prerequisites

Dependencies

Most software dependencies are managed by npm and install with the project.

Warframe Hub needs network access to parse Warframe worldstate. It uses the WorldState API from Warframe Stat.us (API).

Installation

npm i
npm run build
npm start

The site is available at http://localhost:8742

Self-hosting (Docker)

Official site stays on Vercel. Images publish to GHCR on each semantic-release (ghcr.io/wfcd/warframe-hub). Semver lives on git tags / GitHub Releases / GHCR tags — root package.json stays 0.0.0-dev.

For self-host (e.g. behind SWAG):

docker pull ghcr.io/wfcd/warframe-hub:latest
docker run --rm -p 8742:8742 -e NEXT_PUBLIC_DSN=https://public_key@o0.ingest.sentry.io/0 ghcr.io/wfcd/warframe-hub:latest
# → http://localhost:8742

Verify keyless Cosign signature (after a signed release):

cosign verify \
  --certificate-identity-regexp 'https://github.com/WFCD/warframe-hub/.github/workflows/release.yml@refs/heads/dev' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  ghcr.io/wfcd/warframe-hub:latest

Verify SPDX SBOM attestation:

cosign verify-attestation \
  --type spdxjson \
  --certificate-identity-regexp 'https://github.com/WFCD/warframe-hub/.github/workflows/release.yml@refs/heads/dev' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  ghcr.io/wfcd/warframe-hub:latest

Or copy the sample compose and adapt (join your SWAG network; proxy to http://hub:8742):

cp docker-compose.sample.yml docker-compose.yml
docker compose up -d

Local image build (optional):

docker build -t warframe-hub .

NEXT_PUBLIC_DSN is injected at container start via docker/entrypoint.sh (writes dist/client/runtime-env.js). Browsers load it as /runtime-env.js (not baked into the image). Clients still call api.warframestat.us / cdn.warframestat.us directly — the hub process does not proxy those.

Development

See docs/LAYOUT.md for what lives where, docs/DEVELOPMENT.md for local tooling, and docs/ARCHITECTURE.md for design overview.

Stack: vinext + React + TypeScript at the repo root (port 8742).

npm install
npm run dev          # vinext @ http://localhost:8742
npm run build        # production static export

Env: .example.env (NEXT_PUBLIC_*).

Releases and changelog

Human-readable release notes are published on GitHub Releases (generated by semantic-release from Conventional Commits — not raw git log). Upgrade by pulling a newer GHCR tag or deploying the tagged commit.

When a release fixes a publicly known run-time vulnerability in this project that already had a CVE (or similar) at release time, that ID is listed in the release notes per docs/RELEASES.md. (If none have applied yet, that Best Practices item is N/A.)

Testing

CI runs on GitHub Actions (lint, property tests, Cypress e2e/component). Vercel preview deploys run from the Git integration.

Latest CI: Actions → CI (or the badge above).

Local tooling

Linting

npm run lint
npm run lint:fix

Tests

npm run test:property   # fast-check / node:test (no browser)
npm test                # property + Cypress e2e + component (dev/server as required)

Cypress needs a running app (npm run dev or npm start) for e2e. See CONTRIBUTING.md and docs/TESTING.md.

License

Distributed under the Apache License 2.0. Plain-English summary: tldrlegal Apache-2.0.

Small note

Like most projects, Warframe Hub is purely out of passion, love, and dedication to the Warframe Community and open source software in general. This is not our full-time job, and probably will never be. No donations will be encouraged because once a person starts to receive payments for a passion project, is it still a passion?

About

📘 Warframe hub strives to be the community center of the Warframe game

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

98 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages