{"id":18933717,"url":"https://github.com/hieblmi/go-host-lnaddr","last_synced_at":"2026-03-13T04:33:35.316Z","repository":{"id":40366607,"uuid":"403139749","full_name":"hieblmi/go-host-lnaddr","owner":"hieblmi","description":"Host your own Lightning Address (see https://lightningaddress.com)","archived":false,"fork":false,"pushed_at":"2025-09-01T19:37:39.000Z","size":206,"stargazers_count":31,"open_issues_count":2,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-01T20:36:52.277Z","etag":null,"topics":["address","lightning","lightning-network","lightningaddress","lnaddress","lnd","lnpay","lnurl"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hieblmi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-09-04T19:26:18.000Z","updated_at":"2025-09-01T19:37:43.000Z","dependencies_parsed_at":"2023-12-02T20:27:40.614Z","dependency_job_id":"33b5a6ba-8290-41f8-96d7-05cbe8fb5957","html_url":"https://github.com/hieblmi/go-host-lnaddr","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hieblmi/go-host-lnaddr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieblmi%2Fgo-host-lnaddr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieblmi%2Fgo-host-lnaddr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieblmi%2Fgo-host-lnaddr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieblmi%2Fgo-host-lnaddr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hieblmi","download_url":"https://codeload.github.com/hieblmi/go-host-lnaddr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieblmi%2Fgo-host-lnaddr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30458001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T03:55:51.346Z","status":"ssl_error","status_checked_at":"2026-03-13T03:55:33.055Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["address","lightning","lightning-network","lightningaddress","lnaddress","lnd","lnpay","lnurl"],"created_at":"2024-11-08T11:55:54.075Z","updated_at":"2026-03-13T04:33:35.304Z","avatar_url":"https://github.com/hieblmi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡🖥️👾 Host your own Lightning Address on LND\nLightning wallets like [Zeus](https://github.com/ZeusLN/zeus), [Blixt](https://blixtwallet.github.io) and [many more](https://github.com/andrerfneves/lightning-address/blob/master/README.md#wallets-supported) let you send sats to a [Lightning Address](https://lightningaddress.com) such as thats@satswellspent.com — no QR code scan required.\n\n## Pre-requisites\n- A domain name and a static IP (or DNS) to host your Lightning Address (e.g., user@domain.com). A reverse proxy will typically terminate TLS for your domain. \n- A public Lightning Network node (LND) with enough inbound liquidity to receive payments.\n- Go toolchain installed: see [installation docs](https://golang.org/doc/install).\n- A web server and reverse proxy like Nginx or Caddy for routing to the service (example setup [here](https://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu-18-04)).\n- Valid TLS certificates (e.g., via Certbot) because LNURLp endpoints must be served over HTTPS (guide [here](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04)).\n\n## Features\n- Implements the Lightning Address (LNURLp) flow to receive Lightning payments to an email-like address.\n- Host multiple Lightning Addresses on the same server instance.\n- Flexible notifications on payment receipt via email, Telegram, HTTP and Signal (extensible).\n- Nostr NIP-05 style account verification: https://github.com/nostr-protocol/nips/blob/master/05.md\n- Nostr NIP-57 zaps support (optional).\n\n## Install and Setup\n### Clone \u0026 Build\n\nYou can use the Makefile or the Go toolchain directly.\n\nUsing the Makefile:\n\n```bash\n# Build the project (produces a local binary in the repo directory)\nmake\n\n# Install the lnaddr binary into $GOBIN (GOBIN must be set)\nmake install\n# This places the executable at: $GOBIN/lnaddr\n\n# Run tests\nmake test\n```\n\nAlternatively, using the Go toolchain directly:\n\n```\ngo install github.com/hieblmi/go-host-lnaddr@latest\n```\n\n### Configuration (TOML)\nBelow is a minimal TOML example. Adjust paths/domains to your setup. A JSON configuration is also supported if you prefer.\n\n```toml\nRPCHost = \"localhost:10009\"\nInvoiceMacaroonPath = \"/lnd/macaroonpath/invoices.macaroon\"\nTLSCertPath = \"/home/alice/.lnd/tls.cert\"\nWorkingDir = \"/home/alice/.go-host-lnaddr\"\nExternalURL = \"https://sendmesats.com\"\nListAllURLs = true\nLightningAddresses = [\"tips@sendmesats.com\"]\nMinSendableMsat = 1000\nMaxSendableMsat = 100000000\nMaxCommentLength = 150\nTag = \"payRequest\"\nMetadata = [\n  [\"text/plain\", \"Welcome to sendmesats.com\"],\n  [\"text/identifier\", \"tips@sendmesats.com\"],\n]\nThumbnail = \"/path/to/thumbnail.[jpeg|png]\"\nSuccessMessage = \"Thank you!\"\nInvoiceCallback = \"https://sendmesats.com/invoice/\"\nAddressServerPort = 9990\n\n[Nostr]\n  [Nostr.names]\n  myNostrUsername = \"npub1h.....\"\n\n  [Nostr.relays]\n  \"b9b.....\" = [\"wss://my.relay.com\"]\n\n[Zaps]\nNpub = \"npub1...\"\nNsec = \"nsec1...\"\n\n[[Notifiers]]\nType = \"mail\"\nMinAmount = 1000\n  [Notifiers.Params]\n  From = \"tips@sendmesats.com\"\n  Target = \"username@example.com\"\n  SmtpServer = \"smtp.sendmesats.com:587\"\n  Login = \"tips@sendmesats.com\"\n  Password = \"somerandompassword\"\n\n[[Notifiers]]\nType = \"telegram\"\nMinAmount = 1000\n  [Notifiers.Params]\n  ChatId = \"1234567890\"\n  Token = \"TelegramToken\"\n\n[[Notifiers]]\nType = \"http\"\nMinAmount = 1000\n  [Notifiers.Params]\n  Target = \"https://sendmesats.com/notify?amount={{.Amount}}\"\n  Method = \"POST\"\n  Encoding = \"application/x-www-form-urlencoded\"\n  BodyTemplate = \"message={{.Message}}\u0026title=New+payment+received\"\n\n[[Notifiers]]\nType = \"signal\"\nMinAmount = 1000\n  [Notifiers.Params]\n  FromPhoneNumber = \"+12345678901\"\n  ToPhoneNumber = \"+46912345678\"\n```\n\n#### Notes on Notifiers:\n- mail: sends via SMTP using PlainAuth. Target is the recipient address; From/SmtpServer/Login/Password are required.\n- telegram: sends a message via Bot API. Provide ChatId and Token; MinAmount filters small payments.\n- http: templated URL/body with Encoding controlling Content-Type and escaping. GET ignores BodyTemplate; POST uses it as the request body.\n- signal: sends a message via `signal-cli`. Provide FromPhoneNumber and ToPhoneNumber.\n\n#### Signal Notifier Setup\n1. (optional) If you need a new phone number for a separate Signal instance, checkout https://silent.link/.\n2. Install signal-cli from https://github.com/AsamK/signal-cli\n3. Follow the registration instructions https://github.com/AsamK/signal-cli?tab=readme-ov-file#usage\n4. Assign the registered number to `FromPhoneNumber` in your `.toml` config.\n5. Assign the receiver Signal number to `ToPhoneNumber` in your `.toml` config.\n\n#### Reverse proxy tip (example Nginx): proxy requests for\n/.well-known/lnurlp/* and /invoice/* to http://127.0.0.1:9990 while serving your domain over HTTPS.\n\n### Run\n```bash\n$GOBIN/lnaddr --config /path/to/config.toml\n```\n\nYou can also run the binary you built via `go install` directly from your Go bin directory. Sample configurations are provided (sample-config.toml, dev-config.toml). JSON configuration files are also supported if you prefer using .json instead of .toml. If using Docker, mount your configuration file and TLS/macaroon files as needed.\n\n## Notes\nThis project is experimental. Feedback is welcome — please open an issue if you have questions or suggestions, or open a PR yourself if you'd like to contribute.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhieblmi%2Fgo-host-lnaddr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhieblmi%2Fgo-host-lnaddr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhieblmi%2Fgo-host-lnaddr/lists"}