dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
Homebase의 핵심 목표는 모든 사람에게 탈중앙화된 평생 안전 온라인 공간을 제공하는 것
The core objective of Homebase is to revolutionize the concept of digital identity by creating a decentralized, lifelong, safe, and secure online home for every
보안C# · ShellGitHub @homebase-id온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기The Homebase project provides fully distributed self-sovereign identity, private communications, secure storage, personal social networking, web presence, and encrypted data storage - owned by you.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The Homebase project provides everyone with a fully distributed self-sovereign identity, private communications, and encrypted data storage - owned by you.README 전문 보기 ↗The Homebase project provides everyone with a fully distributed self-sovereign identity, private communications, and encrypted data storage - owned by you.
This odin-core repo is the back-end web server. The front-end apps (owner, chat, feed, mail, community, public) live in a separate repo, https://github.com/homebase-id/odin-js, which you check out next to this one.
This repo ships several pre-built identities for local development and testing:
Their certificates live in src/apps/Odin.Hosting/https/<domain>/ and are renewed every 3 months. If they've expired, run src/apps/Odin.Hosting/https/get-certificates.sh (and cert-expiry.sh to check). Below, frodo.dotyou.cloud is used as the example identity.
.NET 10 SDK — verify with dotnet --version (10.0.x).
Hostnames in /etc/hosts — the dev identities and the front-end dev host must resolve to localhost. Add:
127.0.0.1 frodo.dotyou.cloud sam.dotyou.cloud provisioning.dotyou.cloud admin.dotyou.cloud dev.dotyou.cloud
Permission to bind ports 80/443 — in Development the host listens on 80, 443, 4444 (admin) and UDP 3478 (STUN, see docs/stun.md; unprivileged, so nothing to do for it). On Linux, non-root users can't bind ports below 1024 by default. Either run as root, or lower the unprivileged-port floor once (survives reboots):
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
echo 'net.ipv4.ip_unprivileged_port_start=80' | sudo tee /etc/sysctl.d/99-odin-low-ports.conf
On macOS, ports 80/443 are bindable by normal users, so no action is needed.
# from the repo root
dotnet run --project src/apps/Odin.Hosting
This runs in the Development environment (the default launchSettings.json profile), uses SQLite, and stores data under $HOME/tmp/dotyou/{system,tenants,logs} (created automatically). On startup it registers all pre-built identities — you'll see log lines like Running security health check for frodo.dotyou.cloud.
Verify it's up:
curl -sk https://frodo.dotyou.cloud/api/owner/v1/authentication/verifyToken # -> false
Note: browsing
https://frodo.dotyou.cloud/directly will 500 until the front-end dev servers (step 2) are running, because the host reverse-proxies the app paths to them.
Running the integration tests? Stop the dev host first — Odin.Hosting.Tests' scaffold and the running host both bind the admin port (4444), so the suites fail with "address already in use" while the host runs. (Ports 8080/8443 must be free too.)
Why the dev DNS values are real names. appsettings.development.json sets ApexARecords to 127.0.0.1 and ApexAliasRecord to provisioning.dotyou.cloud — the public *.dotyou.cloud dev records genuinely resolve to 127.0.0.1, so the owner console's DNS tab and the boot-time DNS checks verify meaningfully on a dev machine instead of flagging placeholder mismatches. provisioning.dotyou.cloud is already in the /etc/hosts line above; nothing extra to configure.
Testing tenant mail locally. Email:TenantMail is off by default (the production posture), and the test suite depends on that default — don't enable it in appsettings.development.json (WebScaffold reads that file; the flag-off fixtures and the zero-error log assertions will fail suite-wide). For manual testing, layer it with environment variables for one run instead:
Email__TenantMail__Enabled=true \
Email__TenantMail__MxNodes__0=mx1.dotyou.cloud \
Email__TenantMail__SpfIncludeTarget=_spf.dotyou.cloud \
[email protected] \
[email protected] \
dotnet run --project src/apps/Odin.Hosting
Expect one deliberate boot ERR — Email:TenantMail:Enabled is true but Email:Provider is 'None' — the startup verifier flagging the provider-less combination; tenant mail behavior itself works for testing (record emission, MTA-STS policy, the mail activation API).
Stale environment / "No certificate configured" trap. The dev certificates from src/apps/Odin.Hosting/https/ are imported into an environment's certificate store only when an identity is first registered — i.e. on the environment's very first run. Renewing the repo certs later does NOT propagate into an existing $HOME/tmp/dotyou; the identities keep their old certs, ACME renewal is deliberately impossible for dotyou.cloud domains (they resolve to 127.0.0.1), and once those stored certs expire every HTTPS connection dies mid-TLS-handshake ("unexpected eof"). The log symptoms are:
ERR Can't create certificate for frodo.dotyou.cloud because dotyou.cloud domains (should) resolve to 127.0.0.1. Did it expire?
WRN No certificate configured for frodo.dotyou.cloud
The fix is a fresh environment (this wipes local dev data — identities, passwords, drives):
# stop the host first; move aside instead of deleting if you want a way back
mv ~/tmp/dotyou ~/tmp/dotyou.bak-$(date +%Y%m%d)
dotnet run --project src/apps/Odin.Hosting # re-registers all identities with the current repo certs
Rule of thumb: if the repo's dev certs were renewed since your ~/tmp/dotyou was created (compare cert-expiry.sh dates with the environment's age), reset the environment.
In the odin-js repo (checked out next to odin-core; Node 18+ works):
npm install && npm run build:libs # first time only
npm run start # runs all apps concurrently
401 on
@homebase-id/ffmpegduring install/build?build:libsembeds annpm i, and the lockfile pins the auth-gated@homebase-id/ffmpegfrom GitHub Packages — without registry auth both steps 401. Workaround (details in the odin-js README): stub the package, then skip the embedded install by building directly:npm run build -w ./packages/libs/js-lib -w ./packages/libs/ui-lib
Optional
@homebase-id/ffmpegdependency.js-liblazily imports the auth-gated GitHub Packages dependency@homebase-id/ffmpegfor video (HLS) processing.npm installskips it if you're not authenticated tonpm.pkg.github.com, but the vite dev server's optimizer still tries to resolve the import at startup and fails with "@homebase-id/ffmpeg … could not be resolved" on every app. If you don't need video, provide a tiny no-op stub: createodin-js/.ffmpeg-stub/with apackage.json("name": "@homebase-id/ffmpeg","type": "module","main": "index.js") and anindex.jsthat exports a throwingFFmpegclass, then symlinknode_modules/@homebase-id/ffmpeg -> ../../.ffmpeg-stub. (The real package's sources live in the siblingffmpeg-kit/ffmpeg.wasmrepos if you do need video.)
The Vite dev servers run on dev.dotyou.cloud and the back-end reverse-proxies each identity's app paths to them (Development only):
Path on the identity (e.g. frodo.dotyou.cloud) | Proxied to |
|---|---|
/ (public / home) | dev.dotyou.cloud:3000 |
/owner | dev.dotyou.cloud:3001 |
/apps/feed | dev.dotyou.cloud:3002 |
/apps/chat | dev.dotyou.cloud:3003 |
/apps/mail | dev.dotyou.cloud:3004 |
/apps/community | dev.dotyou.cloud:3006 |
| provisioning | dev.dotyou.cloud:3005 |
The Vite dev server uses a self-signed dev.dotyou.cloud certificate, so your browser will show a TLS warning the first time — accept it.
Open https://frodo.dotyou.cloud/owner. On first run you'll set the identity's password; after that you land in the owner console and can experiment (drives, connections, the chat/feed/mail apps, etc.). Repeat with sam.dotyou.cloud in a second browser/profile to test peer-to-peer flows between two identities.
Contributions are highly Welcomed 💙 . Feel free to open PRs for small issues such as typos. For large issues or features, please open an issue and wait for it to be assigned to you.
You can reach out to us on our Discord server if you have any questions or need help.
This is an Alpha version of Homebase.id. Expect breaking changes and significant updates as development progresses. Upgrading will be required during the Alpha phase due to ongoing changes to core functionality. Upgrading may sometimes require running upgrade scripts. Proceed with a production installation only if you're willing to stay up to date and manage the upgrade process as necessary.
If you discover any security issues, please send an email to info at homebase dot id. The email is automatically CCed to the entire team and we'll respond promptly.