Skip to content

Shaostoul/Humanity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,314 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Humanity

Wholesomely aiding humanity's betterment.

An open-source cooperative project to end poverty through education and technology. Not charity β€” capability. Public domain. Built by volunteers. For everyone.

🌐 united-humanity.us Β· πŸ’¬ Chat Β· πŸ“¦ GitHub Β· πŸ’œ Discord


What It Is

Humanity is two things built together:

  1. HumanityOS β€” a real-world platform for communication, collaboration, and life management. Chat, DMs, voice calls, project boards, marketplace, skill tracking, inventory, maps. Think of it as an operating system for your life that you actually own.

  2. Project Universe β€” a free game that teaches practical skills (homesteading, agriculture, building, health) by using the same underlying data layer as the real platform. Your in-game skills reflect real-world capability.

Both share the same server, identity system, and data layer. The game is how people learn to use the tools for real.


What's Live

Pages (18 standalone pages at /)

URL Page What it does
/chat Network Chat, DMs, voice, video, streaming
/home Home Multi-location manager (real, digital, fleet homes)
/profile Profile Your identity, bio, links, streaming platforms
/skills Skills Browse and manage skills by domain
/dashboard Dashboard 10 customizable widget types
/inventory Inventory Track what you own
/equipment Equipment Gear and loadout management
/quests Quests Mission and goal tracker
/calendar Calendar Events and planning
/logbook Logbook Personal journal
/systems Systems Kanban project board with task IDs
/maps Maps World map, earth view, sky view
/market Market Peer-to-peer listings for goods, services, skills
/learn Learn Web directory β€” 52 curated sites
/knowledge Knowledge Knowledge base and wiki
/streams Streams Live streaming interface
/settings Settings Themes, fonts, account management
/ops Ops Server admin and debug tools

Communication (the core, fully working)

  • Channels β€” admin-created rooms with descriptions and categories
  • E2E encrypted DMs β€” ECDH P-256 + AES-256-GCM, server never sees plaintext
  • Threaded replies β€” reply to any message with collapsible threads
  • Voice channels β€” persistent, always-on WebRTC mesh rooms
  • 1-on-1 video calls β€” WebRTC peer-to-peer with audio, video, screen share, PiP
  • @mentions, emoji reactions, message editing, message search
  • Image sharing with lazy-loaded placeholders
  • Browser push notifications and 6 notification sound options
  • Typing indicators and unread markers

Identity & Privacy

  • Ed25519 cryptographic identity β€” keys stored in your browser, never on server
  • Multi-device key linking β€” same identity across devices
  • Device management β€” list, label, and revoke linked keys
  • Key backup, export, and import
  • Encrypted user data sync β€” settings, follows, profile encrypted at rest
  • No IP logging, no analytics, no tracking

Social

  • Follow/friend system β€” mutual follow = friends, friends unlock DMs
  • Friend codes β€” 8-character codes with 24-hour expiry, auto-mutual-follow
  • User profiles with bio, pronouns, location, website, privacy controls
  • Unique pixel-art identicons per user
  • Groups β€” private group conversations
  • Client-side user blocking and report system

Productivity Tools

  • Project board β€” kanban-style with visible task IDs
  • Marketplace β€” peer-to-peer listings, kiosks, donation pricing presets
  • Asset library β€” file upload, browse, tag, preview
  • 118-element catalog, 44 materials, processing chains
  • Browse directory β€” 52 curated sites with uptime pings and domain info
  • Dashboard β€” 10 widget types, customizable layout
  • Notes, Todos, Garden tracker

Platform

  • PWA installable β€” works on mobile, add to homescreen
  • Desktop app β€” Native Rust/wgpu/egui binary for Windows, macOS, Linux
  • Command palette β€” quick navigation
  • Dark/light themes, accent colors, font size controls
  • Auto-reload on deploy β€” no manual refresh needed

Moderation & Federation

  • Role-based: admin πŸ‘‘, mod πŸ›‘οΈ, verified ✦, donor πŸ’Ž
  • Kick/ban, invite codes, auto-lockdown when no mods online
  • Phase 1 federation β€” anyone can host; servers discover each other
  • Single binary, zero dependencies, under 10 minutes to self-host
  • Verified servers that adopt the Humanity Accord earn highest trust

Architecture

Component Technology
Server Rust (axum + tokio)
Storage SQLite (rusqlite)
Transport WebSocket + WebRTC
Client Plain HTML/CSS/JS β€” no build step
Identity Ed25519 (signing) + ECDH P-256 (encryption)
Desktop Native binary (Rust/wgpu + egui GUI)
Hosting nginx + systemd
Layout Cargo workspace

Codebase Structure

Humanity/
β”œβ”€β”€ server/                    ← Rust relay server (axum/tokio, SQLite)
β”‚   └── src/
β”‚       β”œβ”€β”€ main.rs            ← Entry point, routing, axum setup
β”‚       β”œβ”€β”€ relay.rs           ← WebSocket handler (~5800 lines, message routing)
β”‚       β”œβ”€β”€ handlers/          ← Extracted relay helpers
β”‚       β”œβ”€β”€ storage/           ← SQLite domain modules (17 files)
β”‚       └── api.rs             ← HTTP REST API endpoints
β”œβ”€β”€ src/                       ← Rust desktop client engine source (gui, renderer, terrain, ship, assets, systems)
β”œβ”€β”€ crates/                    ← 19 sub-crates (core, modules, persistence)
β”œβ”€β”€ web/                       ← Web interface (browser + WebView)
β”‚   β”œβ”€β”€ chat/                  ← Chat client (app.js, crypto.js, chat-*.js)
β”‚   β”œβ”€β”€ pages/                 ← Standalone pages (tasks, maps, settings, etc.)
β”‚   β”œβ”€β”€ activities/            ← Game + real-world tools (gardening, download, etc.)
β”‚   └── shared/                ← shell.js, events.js, theme.css
β”œβ”€β”€ data/                      ← Hot-reloadable game data (CSV, TOML, RON, JSON)
β”œβ”€β”€ assets/                    ← All shared media (icons, shaders, models, textures, audio)
β”œβ”€β”€ docs/                      ← All documentation (design, accord, history, website)
β”‚   └── accord/                ← Humanity Accord (civilizational principles)
└── SELF-HOSTING.md            ← Production server setup guide

The client uses no build step β€” plain <script src=""> tags load modules in dependency order. All modules share global scope (no ES modules). When in doubt about a function's location, grep the web/ directory.

Adding a New Page

  1. Create yourpage.html at the repo root (copy any existing page as template)
  2. Add <script src="/shared/shell.js" data-active="yourkey"></script> in <head>
  3. Add navTab('/yourpage', 'icon.png', 'Label', 'yourkey') to shared/shell.js
  4. Add a mobile drawer entry to shared/shell.js
  5. Add nginx route: location = /yourpage { try_files /yourpage.html =404; } on the server
  6. Deploy: scp yourpage.html server:/var/www/humanity/

Security

  • Server-side Ed25519 signature verification on every message
  • E2E encrypted DMs (ECDH P-256 + AES-256-GCM) β€” server never sees plaintext
  • Encrypted user data sync β€” profile, settings, follows encrypted at rest
  • Fibonacci rate limiting + new-account slow mode
  • Content Security Policy, HSTS, TLS 1.2+ only
  • No IP logging
  • Per-session upload tokens with magic-byte validation
  • HMAC-SHA256 webhook verification
  • Non-root systemd service with hardened sandboxing
  • Full audit: SECURITY_AUDIT.md

Transparent AI Development

This project is pioneering fully transparent AI development. Our AI assistant Heron πŸͺΆ (named after Hero of Alexandria) operates with complete openness β€” public memory files, no black box, every decision documented.

β†’ See live AI memory Β· AI workspace rules


Host Your Own Server

Anyone can run a Humanity relay. No permission needed.

git clone https://github.com/Shaostoul/Humanity.git
cd Humanity
cargo build --release -p humanity-relay
./target/release/humanity-relay

Put it behind nginx with TLS (Let's Encrypt is free). People connect with their existing keypair β€” no migration needed.

β†’ Full self-hosting guide β€” nginx config, systemd, federation, admin commands

Want verified federation status? Publicly adopt the Humanity Accord and contact @Shaostoul.


Get Involved

Writers, designers, developers, educators, translators β€” or just someone who cares. Show up and ask what needs doing.

Donate β€” Every dollar goes toward development and hosting. β†’ GitHub Sponsors


Links

πŸŽ₯ YouTube Β· πŸ“Ί Twitch Β· 🟒 Rumble Β· 𝕏 X/Twitter Β· πŸ“· Instagram Β· πŸ”΅ Bluesky Β· 🟠 Reddit


License

Public domain β€” CC0 1.0. No permission required. No attribution required. This belongs to humanity.

About

Humanity is an open, public-domain project exploring how humans can live together with dignity, cooperation, and long-term continuity. It combines civilizational principles with rigorous system design to model learning, stewardship, and peaceful scalability.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors