{"id":22705242,"url":"https://github.com/blockstack-packages/blockstack-tor","last_synced_at":"2025-10-15T23:09:30.346Z","repository":{"id":76940202,"uuid":"90299224","full_name":"blockstack-packages/blockstack-tor","owner":"blockstack-packages","description":"Blockstack/Tor integration","archived":false,"fork":false,"pushed_at":"2017-05-11T21:19:46.000Z","size":15,"stargazers_count":21,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T05:15:49.019Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/blockstack-packages.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}},"created_at":"2017-05-04T18:57:35.000Z","updated_at":"2024-01-19T10:24:36.000Z","dependencies_parsed_at":"2023-03-10T18:15:22.581Z","dependency_job_id":null,"html_url":"https://github.com/blockstack-packages/blockstack-tor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockstack-packages%2Fblockstack-tor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockstack-packages%2Fblockstack-tor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockstack-packages%2Fblockstack-tor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockstack-packages%2Fblockstack-tor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blockstack-packages","download_url":"https://codeload.github.com/blockstack-packages/blockstack-tor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703195,"owners_count":21148116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-10T09:09:47.255Z","updated_at":"2025-10-15T23:09:25.312Z","avatar_url":"https://github.com/blockstack-packages.png","language":"Python","readme":"# blockstack-tor\n\nBlockstack/Tor integration.\n\n# Getting Started\n\nTo get started, do the following.\n\n1. Install [Blockstack](https://github.com/blockstack/blockstack-core).\n\n2. Set a Tor password, if you haven't already.\n```\n$ tor --hash-password \"hello world\"\n16:1DFAB8C36452BBFE60C21699968AB3B8E0B89DF7F53AAFB7C4E4C5ED5E\n```\n\n3. Add the password hash to your `torrc` file:\n```\n$ echo \"HashControlPassword 16:1DFAB8C36452BBFE60C21699968AB3B8E0B89DF7F53AAFB7C4E4C5ED5E\" \u003e\u003e /etc/tor/torrc\n```\n\n4. Start Tor\n```\n$ tor -f /etc/tor/torrc\n```\n\n5. Start `blockstack-tor` with your Tor password\n```\n$ blockstack-tor --password \"hello world\"\n```\n\n6. Try it out\n\nTest it out with `duckduckgo_tor.id`, which points to DuckDuckGo's hidden service.\n```\n$ curl -L --socks5-hostname 127.0.0.1:9050 -D - duckduckgo_tor.id\nHTTP/1.1 301 Moved Permanently\nServer: nginx\nDate: Mon, 08 May 2017 19:33:52 GMT\nContent-Type: text/html\nContent-Length: 178\nConnection: keep-alive\nLocation: https://duckduckgo.com/\nExpires: Tue, 08 May 2018 19:33:52 GMT\nCache-Control: max-age=31536000\nX-DuckDuckGo-Locale: en_US\n\nHTTP/1.1 200 OK\nServer: nginx\nDate: Mon, 08 May 2017 19:33:54 GMT\nContent-Type: text/html; charset=UTF-8\nContent-Length: 5229\nConnection: keep-alive\nETag: \"59109693-146d\"\nExpires: Mon, 08 May 2017 19:33:53 GMT\nCache-Control: no-cache\nStrict-Transport-Security: max-age=31536000\nAccept-Ranges: bytes\n\n\u003c!DOCTYPE html\u003e\n\u003c!--[if IEMobile 7 ]\u003e \u003chtml lang=\"en_US\" class=\"no-js iem7\"\u003e \u003c![endif]--\u003e\n\u003c!--[if lt IE 7]\u003e \u003chtml class=\"ie6 lt-ie10 lt-ie9 lt-ie8 lt-ie7 no-js\" lang=\"en_US\"\u003e \u003c![endif]--\u003e\n\u003c!--[if IE 7]\u003e    \u003chtml class=\"ie7 lt-ie10 lt-ie9 lt-ie8 no-js\" lang=\"en_US\"\u003e \u003c![endif]--\u003e\n\u003c!--[if IE 8]\u003e    \u003chtml class=\"ie8 lt-ie10 lt-ie9 no-js\" lang=\"en_US\"\u003e \u003c![endif]--\u003e\n\u003c!--[if IE 9]\u003e    \u003chtml class=\"ie9 lt-ie10 no-js\" lang=\"en_US\"\u003e \u003c![endif]--\u003e\n\u003c!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]\u003e\u003c!--\u003e\u003chtml class=\"no-js\" lang=\"en_US\"\u003e\u003c!--\u003c![endif]--\u003e\n\n...\n```\n\n# How to Link a .onion Address to a Blockchain ID\n\nTo register your .onion address, add a `TXT` record to your name's zone file, formatted as\n`tor \"address.onion\"`.  You can either manually edit your zone file, or use the\nnew zone file wizard in Blockstack 0.14.2+ to add the `TXT` record interactively.\n**There should be only one `tor` entry in your zone file**.\n\nExample for DuckDuckGo:\n```\n$ORIGIN duckduckgo_tor.id\n$TTL 3600\ntor TXT \"3g2upl4pq6kufc4m.onion\"\n```\n\nThe steps to register a name for your .onion address are as follows:\n\n1. Make a zone file with your .onion address\n\n```\n$ cat /tmp/tordemo.zonefile\n$ORIGIN tordemo.id\n$TTL 3600\ntor TXT \"3g2upl4pq6kufc4m.onion\"\n```\n\n2. Register your Blockchain ID with the zone file\n```\n$ blockstack register tordemo.id /tmp/tordemo.zonefile\n```\n\n3.  Wait for the registration to confirm\n```\n$ blockstack get_name_zonefile tordemo.id\n{\n    \"zonefile\": \"$ORIGIN tordemi.id\\n$TTL 3600\\ntor TXT \\\"3g2upl4pq6kufc4m.onion\\\"\\n\"\n}\n```\n\n4.  Enjoy!\n\n# Miscellaneous\n\n* **I don't have Blockstack installed.  Can I still try this out?**\n\nYes, you can!  Run `blockstack-tor` with the `--blockstack-node=node.blockstack.org:6264` flag to use a public node.\n\n* **Will you add support for [Prop279](https://github.com/torproject/torspec/blob/master/proposals/279-naming-layer-api.txt)?**\n\nYes, that's the plan.\n\n* **How do I try out adding .onion addresses to Blockstack names without registering them first?**\n\nYou can use the [Blockstack Integration Test\nFramework](https://github.com/blockstack/blockstack-core/tree/master/integration_tests)\nto register arbitrary Blockstack names and namespaces, and give them arbitrary\nzone files with which to experiment with this tool.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockstack-packages%2Fblockstack-tor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockstack-packages%2Fblockstack-tor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockstack-packages%2Fblockstack-tor/lists"}