{"id":174452,"date":"2023-06-01T19:13:36","date_gmt":"2023-06-01T19:13:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easynostr-wp-nip-05-endpoint\/"},"modified":"2024-12-31T16:01:57","modified_gmt":"2024-12-31T16:01:57","slug":"easynostr-nip05","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/easynostr-nip05\/","author":20963312,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.7.5","requires":"4.7","requires_php":"7.0","requires_plugins":null,"header_name":"easyNostr-Nip05","header_author":"easyDNS Technologies Inc.","header_description":"Use your WordPress site as a Nostr NIP-05 Identity Server","assets_banners_color":"","last_updated":"2024-12-31 16:01:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":782,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"mjeftovic","date":"2024-12-31 16:01:57"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":2920306,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[220745,220743,220744,220135],"plugin_category":[],"plugin_contributors":[220008,220009],"plugin_business_model":[],"class_list":["post-174452","plugin","type-plugin","status-publish","hentry","plugin_tags-easynostr","plugin_tags-nip-05","plugin_tags-nip05","plugin_tags-nostr","plugin_contributors-markjr13","plugin_contributors-tejinderb","plugin_committers-mjeftovic"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/easynostr-nip05\/assets\/icon-256x256.png?rev=2920306","icon_2x":"https:\/\/ps.w.org\/easynostr-nip05\/assets\/icon-256x256.png?rev=2920306","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin will enable your WordPress installation to function as a Nostr NIP-05 endpoint \/ server.<\/p>\n\n<p>When enabled, it will add a new field to the user profile for their Nostr public key (\"npub\"), which must be entered in hex format.<\/p>\n\n<p>To convert the npub key into hexval you can use a utility such as the (NIP-05 key conversion tool) found at <a href=\"https:\/\/easyNostr.com\/\" title=\"easyNostr\">easyNostr<\/a>. A future version of this plugin will likely have the conversion built-in.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li><p>Cross-Origin Resource Sharing (CORS) must be enabled on your web host.<\/p><\/li>\n<li><p>The webserver have permission to create or write to the \/.well-known\/ directory below your document root<\/p><\/li>\n<li><p>The \/.well-known\/nostr.json file must be executable as a PHP script<\/p><\/li>\n<\/ul>\n\n<h3>Todo<\/h3>\n\n<ul>\n<li><p>Add conversion for npub to hexval keys<\/p><\/li>\n<li><p>Lnurl support. We have to be careful here. If the WP install gets compromised an attacker can hijack future payments that reference your lnurl.<\/p><\/li>\n<li><p>Integrations into Nostr relays.<\/p><\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<ul>\n<li><p>(The easyNostr Github)[https:\/\/github.com\/easydns\/wp-nostr-nip05]<\/p><\/li>\n<li><p>(Telegram)[https:\/\/t.me\/easynostr]<\/p><\/li>\n<li><p>On Nostr via:\n@easyNostr: npub157tuz2760n09vg9362r4chwezxtqrfz7qq2mpxp49kl4g9znzr9qxf6hsp<\/p><\/li>\n<li><p>Mark Jeftovic in Nostr: markjr@bombthrower.com (NIP-05) \nnpub1elwpzsul8d9k4tgxqdjuzxp0wa94ysr4zu9xeudrcxe2h3sazqkq5mehan<\/p><\/li>\n<\/ul>\n\n<p>If you find this plugin useful, please consider donating to support its development:<\/p>\n\n<ul>\n<li><p>via BTC: bc1qdkaymqtvpus5prx6lsfx4483kvv95mjah2z2wc<\/p><\/li>\n<li><p>Lightning: lnbc1pjzem7hpp502vefct5jyv4lgjrhr76rstfvgq4tsds7eyhvsts9z6l47exr0fsdqu2askcmr9wssx7e3q2dshgmmndp5scqzpgxqyz5vqsp5hjumlyrmchfvkd0q3tc3q0kktlpnu7d3frjk4ln5uq4n6pjm00zs9qyyssqma8xvjhshaq25aq0p5t85eyq2jjxsygjd97ka0tmrtpaajndwmj4xf5x4mtjalp8xzj8mz8ju6kmyet8l8r59z3a75nu60npglddltspfffw7c<\/p><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ul>\n<li><p>Upload the plugin files to the \/wp-content\/plugins\/nostr directory, or install the plugin through the WordPress plugins screen directly.<\/p><\/li>\n<li><p>Activate the plugin through the Plugins screen in WordPress.<\/p><\/li>\n<li><p>Visit the user profile pages and enter the pubkey in under the Nostr NIP-05 Identity section.<\/p><\/li>\n<li><p>Optionally enter a pubkey for the \"root\" &#040;i.e _@example.com&#041; user in the easyNostr settings page.<\/p><\/li>\n<li><p>Make sure that your web server is enabled for Cross-Origin Resource Sharing (CORS). You can use a utility like https:\/\/cors-test.codehappy.dev\/ to check.<\/p><\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20enable%20cross-origin%20resource%20sharing%20%28cors%29%20for%20my%20web%20server%3F'><h3>How do I enable Cross-Origin Resource Sharing (CORS) for my web server?<\/h3><\/dt>\n<dd><p>The plugin adds modifies (or creates) an .htaccess file in your \/.well-known\/ directory that should enable CORS.<\/p>\n\n<p>cPanel\/WHMS has \"AllowOverride All\" on by default, so the plugin should be able to turn this on when you activate it.<\/p><\/dd>\n<dt id='the%20.htaccess%20file%20was%20created%2C%20but%20cors%20is%20still%20not%20enabled'><h3>The .htaccess file was created, but CORS is still not enabled<\/h3><\/dt>\n<dd><p>Check that the \/.well-known\/ directory was created, and that it has perms set to 0755<\/p>\n\n<p>If that's the case but CORS is still not enabled, you may have to manually enable it from your server settings.<\/p>\n\n<p>If you have access to the server itself, you can follow the instructions on enablng CORS:<\/p>\n\n<ul>\n<li><p>For Apache: https:\/\/enable-cors.org\/server_apache.html<\/p><\/li>\n<li><p>For Nginx: https:\/\/enable-cors.org\/server_nginx.html<\/p><\/li>\n<\/ul>\n\n<p>If you are using a web hosting provider using cPanel or Plesk then:<\/p>\n\n<ul>\n<li>For Plesk: https:\/\/support.plesk.com\/hc\/en-us\/articles\/12377597400087<\/li>\n<li>For cPanel: if it didn't enable when you installed the plugin, (it's more complicated)[https:\/\/support.cpanel.net\/hc\/en-us\/articles\/1500001533562-How-To-add-nosniif-CORS-HSTS-Clickjack-and-X-Xss-Protection-headers?_ga=2.48828454.1039362881.1680543384-1840926562.1678002612].<\/li>\n<\/ul>\n\n<p>Failing that, you may need to contact your webserver support people.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>initial package<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>minor format tweaks from initial release<\/li>\n<li>updated readme<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>removed heredoc for htaccess file (not allowed by WordPress)<\/li>\n<li>added htaccess-template.txt <\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>fix remaining function prefixes on nostr_menu (now enip05_menu), nostrsettings (now enip05_settings), nostractive (now enip05_active)<\/li>\n<\/ul>","raw_excerpt":"This plugin will enable your WordPress installation to function as a Nostr NIP-05 endpoint \/ server.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/174452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=174452"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mjeftovic"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=174452"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=174452"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=174452"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=174452"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=174452"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=174452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}