{"id":50548597,"url":"https://github.com/scobru/zentree","last_synced_at":"2026-06-04T01:01:31.788Z","repository":{"id":361860213,"uuid":"1256164705","full_name":"scobru/zentree","owner":"scobru","description":"A decentralized linktree clone","archived":false,"fork":false,"pushed_at":"2026-06-01T14:24:42.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T16:21:38.385Z","etag":null,"topics":["clone","decentralized","linktree","p2p","personal-page","personal-website","portfolio","zen"],"latest_commit_sha":null,"homepage":"https://scobru.github.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scobru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-01T14:19:24.000Z","updated_at":"2026-06-01T14:45:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/scobru/zentree","commit_stats":null,"previous_names":["scobru/zentree"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/scobru/zentree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scobru%2Fzentree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scobru%2Fzentree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scobru%2Fzentree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scobru%2Fzentree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scobru","download_url":"https://codeload.github.com/scobru/zentree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scobru%2Fzentree/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33886153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clone","decentralized","linktree","p2p","personal-page","personal-website","portfolio","zen"],"created_at":"2026-06-04T01:01:29.034Z","updated_at":"2026-06-04T01:01:31.777Z","avatar_url":"https://github.com/scobru.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌳 ZenTree — Decentralized P2P Personal Portal\n\nZenTree is a lightweight, responsive, and completely **decentralized personal portal template** (Linktree clone) that runs entirely serverless. It enables developers to host their own landing page along with a suite of end-to-end encrypted micro-apps (Notes, Bookmarks, Keep Vault) on any static web host for free.\n\nPowered by **ZEN**—a zero-config decentralized peer-to-peer graph database.\n\n## 🚀 Live Demo Structure\n\nThe project comes pre-configured with three decentralized utilities:\n1. 📝 **Notes App**: Offline-first, decentralized markdown workspace for publishing public notes or saving draft logs.\n2. 🔖 **Bookmarks App**: Secure, decentralized bookmark manager categorized dynamically.\n3. 🔒 **Keep Vault**: An **End-to-End Encrypted (E2EE)** private data store. All records are cryptographically encrypted in-browser before syncing to the P2P network.\n\n---\n\n## 🛠️ Features\n\n- 🌐 **100% Serverless**: No backend, no SQL, no configuration. Served strictly as static HTML, CSS, and JS.\n- ⚡ **Real-Time P2P Sync**: Automatically updates and syncs modifications across peers in real-time.\n- 🔐 **Cryptographic Auth**: Derives high-entropy cryptographic keypairs locally in-browser using Master Credentials (passwordless username + passphrase).\n- 🎨 **Premium Aesthetic**: Curated light/dark theme modes, Outfit \u0026 IBM Plex Mono typography, responsive grids, and clean micro-animations.\n- 📦 **Zero Dependencies**: Zero build tools, zero node packages. Loads everything instantly via CDN (Unpkg \u0026 Tabler Icons).\n\n---\n\n## 💻 Setup \u0026 Deployment\n\nSetting up your own ZenTree is incredibly simple and takes under 5 minutes:\n\n### 1. Fork \u0026 Clone\nClone this repository to your local system:\n```bash\ngit clone https://github.com/your-username/zentree.git\n```\n\n### 2. Configure Cryptographic Public Keys\nFor the portal to load your specific links without authentication, you need to configure your public view key:\n1. Open **`key-generator.html`** in your browser.\n2. Input your desired secure **Username** and **Password** (your Master Credentials) and click **Derive Public Key**.\n3. Copy the derived public view key.\n4. Open `index.html`, `apps/bookmarks.html`, and `apps/notes.html`.\n5. Locate `PUBLIC_VIEW_KEY` and paste your key inside the empty quotes:\n   ```javascript\n   const PUBLIC_VIEW_KEY = 'YOUR_DERIVED_KEY_HERE';\n   ```\n\n### 3. Seed Default Templates\nAfter authenticating inside **Manage Portal** for the first time:\n- Click **Seed Defaults** to instantly write a set of beautiful initial templates to your database node!\n- You can now add, edit, or delete any links directly in real-time. Simply hover over any link when logged in to see the red deletion action button.\n\n### 4. Deploy Anywhere\nSimply push your repository to GitHub and enable **GitHub Pages** (Settings -\u003e Pages) or drop the files onto any static hosting platform.\n\n---\n\n## 🌐 Recommended P2P Relays\n\nZenTree is pre-configured to sync data across these recommended decentralized peer-to-peer relays:\n- `wss://delay.scobrudot.dev/zen`\n- `wss://zen.akao.io:8420/zen`\n- `wss://zen0.akao.io:8420/zen`\n- `wss://zen1.akao.io:8420/zen`\n\n### 🚀 Spin Up Your Own Relay\nTo ensure maximum availability, data longevity, and self-sovereignty, you can run your own dedicated peer. Check out the [ZEN Relay Deployment Guide](https://github.com/akaoio/zen#deploy-a-relay-peer) to deploy your own relay with one single command.\n\n---\n\n## 🎨 Tech Stack\n\n- **HTML5 \u0026 Vanilla CSS**: Premium modern style patterns, responsive flexbox/grid layout, and dynamic HSL color variables.\n- **P2P Database**: [ZEN P2P Graph Engine](https://github.com/akaoio/zen) loaded dynamically via CDN.\n- **Icons**: [Tabler Icons Webfont](https://tabler.io/icons).\n- **Fonts**: Outfit \u0026 IBM Plex Mono via Google Fonts CDN.\n\n---\n\n## 📄 License\nThis project is open-source and free to use under the MIT License. Customize it, build on it, make it yours!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscobru%2Fzentree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscobru%2Fzentree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscobru%2Fzentree/lists"}