Nostr & Decentralized Social

Nostr Article PublishCommand-Line Long-Form Posts for Nostr

Free, MIT-licensed Rust command-line tool for publishing and deleting Markdown long-form articles on Nostr relays. Setup, use and safety explained.

Free Open source Windows: Likely v0.2.0 Updated 17 Jul 2025
9 min read Last update 17 Jul 2025 github.com/madcato/nostr-article-publish

Nostr Article Publish is a free, open-source command-line tool for writers and developers who want to publish Markdown articles to the Nostr network without a graphical app. Written in Rust and released under the MIT license, it sends long-form posts to Nostr relays and can also remove them later. If you prefer scripting or keep your writing in plain text files, this tool fits your workflow well.

The project is at version 0.2.0, and its last code update came in July 2025, so it is an early-stage release rather than a mature product. Windows support is listed as likely rather than confirmed, so check the releases page for a ready-made build. The sections below cover installation, configuration, safe key handling and how it compares with other Nostr tools.

02

What Is NIP-23 Long-Form Content?

On Nostr, most posts are short notes. NIP-23 defines a separate way to share longer text, such as blog posts, documentation pages or essays, with Markdown formatting. Clients that support it can show the piece as an article with its own title, summary and image rather than as a stream of short messages.

A long-form article is also addressable. Each one is identified by a unique value you set, so a later version can replace the earlier one and a deletion request can target one specific piece. That is why this tool asks for an article identifier when you publish and again when you want to remove it.

Because the format is built on Markdown, your existing writing habits carry over. Headings, lists, links and code blocks work the way you expect, as long as you keep raw HTML out of the file. The validation step in this tool exists partly for that reason.

03

Who Should Use a Command-Line Publisher?

A command-line publisher suits people who already work in plain text. A developer who keeps release notes or technical guides in a Git repository can publish updates straight from the project folder. A writer who drafts articles in a Markdown editor can save the file and publish it without copying text into a web form.

Scripting is another strong use case. If you publish the same kind of update on a schedule, you can wrap the command in a batch file and reuse your settings. The tool does one job, so it is easy to fit into a larger routine alongside other utilities.

It is less suited to people who want a visual editor, image drag-and-drop or a feed to read. Those needs are better met by a graphical Nostr client, which can be used alongside this tool rather than instead of it.

04

How Relays Store and Share Your Articles

Nostr relays are servers that receive, store and pass along events. When you publish an article, the tool sends it to every relay listed in your configuration file. Publishing to several relays spreads the same article across more than one server, so it is less dependent on a single host being online.

Deletion works differently. The tool can send a request to remove an article, but relays are independent operators and do not all handle removal the same way. Some may keep a copy for a while or ignore the request. Treat publishing on Nostr as close to permanent and plan your content with that in mind.

Choosing relays is a practical decision. Pick relays that you trust and that fit the audience you want to reach. Adding more relays increases reach and redundancy, but it also means more places where your content lives.

05

Key features

Markdown Long-Form Publishing

Write your article in Markdown and publish it as a long-form Nostr post in a single command. You can attach optional metadata such as a title, a cover image, a summary and a publication timestamp. These fields help clients display your article with a proper headline and preview, so you do not have to format everything by hand.

Article Deletion by Identifier

Each article carries a unique identifier that you choose when publishing. Pass that same identifier to the tool when you want to remove the article. This gives you a simple way to retire an old post or correct a mistake without opening a browser.

Content Validation

Before anything is sent, the tool checks that your content contains no HTML tags and no hard line breaks. This catches formatting problems that would otherwise display badly in Nostr clients. Clean Markdown goes in, and a tidy article comes out.

Environment Variable Key Handling

Your signing key is read from an environment variable rather than typed on the command line or written into the content file. Keeping the key out of your article files and shell history reduces accidental exposure. It is also a practical habit for scripts you may share or back up.

Asynchronous Multi-Relay Connections

The tool connects to several relays using the nostr-sdk crate, and the relay addresses are listed in a TOML configuration file. Asynchronous connections let the program talk to relays without waiting for each one in turn. You can manage one list of relays instead of editing the publishing command each time.
06

Supported coins

The documentation mentions Nostr as the network the tool works with, so it is built specifically for publishing to Nostr relays. It does not handle cryptocurrency or wallet functions; its job is to send and remove long-form articles.

07

How to install Nostr Article Publish on Windows

  1. 1

    Get the release file

    Open the official GitHub repository at github.com/madcato/nostr-article-publish and go to the Releases page. Download only from the official website or that repository, and avoid copies offered on other sites. If no Windows build is listed, you can build the program from source, which is the only route that requires the Rust toolchain.

  2. 2

    Verify the file

    Calculate the SHA-256 checksum of the downloaded file and compare it with the value published with the release. If a signature is provided, check it as well. Do not run the file if the values do not match.

  3. 3

    Place the program

    Move the executable into a folder that you control, such as a dedicated tools directory. You can add that folder to your PATH so the command works from any terminal window. Keeping it in one known location also makes updates easier to track.

  4. 4

    Create the relay configuration

    Create the TOML file that lists the relays you want to publish to. Save it somewhere you can reference when you run the tool. You can add or remove relays later without changing your articles.

  5. Set your signing key

    Store your key in the environment variable the tool reads, either for the current terminal session or in your user environment settings. Avoid writing the key into article files, batch scripts you share or screenshots.

08

How to use Nostr Article Publish

Once the program is installed and configured, publishing takes one command. Prepare your article as a Markdown file and choose a unique identifier for it. Keep the identifier stable if you plan to update or remove the post later.

Follow these steps:

  1. Write your article in a Markdown file, and leave out raw HTML tags and hard line breaks, since validation will reject them.
  2. Confirm that your key is set in the environment variable and that the relay TOML file lists the relays you want.
  3. Run the program with the -f or --file-name option, followed by the path to your Markdown file.
  4. Add the -a or --article-identifier option with a unique identifier for the article.
  5. Check your chosen relays or a Nostr client to confirm the article appears.
  6. To remove the article later, run the delete function with the same article identifier.

If validation fails, open the file and remove any HTML or forced line breaks, then run the command again. Saving a copy of each Markdown file in your project folder makes it simple to republish or delete an article with the correct identifier.

09

Pros & cons

Pros
  • Free to use and released under the MIT license
  • Publishes Markdown articles in a single command
  • Validates content to block HTML tags and hard line breaks
  • Reads the signing key from an environment variable
  • Connects to multiple relays from one configuration file
  • Simple to script and automate
Cons
  • Command-line only, with no graphical editor or feed
  • Windows support is listed as likely, not confirmed
  • Version 0.2.0 with a last code update in July 2025 suggests an early-stage project
  • Requires comfort with terminals, environment variables and TOML files
  • Relays may not honor deletion requests in the same way
10

Is Nostr Article Publish safe?

Download the program only from the official GitHub repository at github.com/madcato/nostr-article-publish, and avoid copies on third-party download sites. Compare the SHA-256 checksum or signature of the file with the values published on the release page before running it. Because the tool signs your articles with your key, never enter your private key or seed phrase on third-party websites, even if they claim to help with publishing. Keep the key only in the environment variable, not in article files or shared scripts. The project is not deprecated, since its last code update was in July 2025, but check the latest version on the official website before you install.

  • Official source only. Download from github.com/madcato/nostr-article-publish. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
11

Alternatives

Nostr Article Publish has one focused job: turn a Markdown file into a published long-form article and remove it when asked. Gossip and Vega are graphical desktop clients for reading and posting, so they suit people who prefer to browse and write in a window. NAK is a broader command-line toolkit for working with Nostr events, and Nostr Commander RS is a command-line client for everyday messaging. Amethyst and Coop are client apps for ordinary Nostr use rather than publishing scripts. If your workflow is writing articles in files and publishing from a terminal, this tool is the narrower and more direct choice.

12

Specifications

Price
Free
Type
Open source
License
MIT
Latest version
0.2.0
Last update
17 Jul 2025
Windows support
Likely (builds for Windows; check releases)
Source code
github.com/madcato/nostr-article-publish
13

Frequently asked questions

Yes, Nostr Article Publish is free and open source under the MIT license. You can use, copy and modify the code under the terms of that license. The project does not charge for publishing, but you should still check the official repository for the latest version before installing.

Windows support is listed as likely rather than confirmed. The project builds for Windows, so you can compile it yourself if no ready-made build is available. Check the GitHub Releases page first, then follow the verification steps on this page before running any file you download.

The tool itself is a straightforward command-line program, but it handles your signing key, so safe habits matter. Download it only from the official GitHub repository, verify the SHA-256 checksum or signature, and keep your key in the environment variable. Never enter a seed phrase or private key on third-party websites.

Yes, the tool can request removal of a published article. You need the same article identifier you used when you published it. Keep in mind that relays are run independently and may not remove every copy, so deletion is not a guarantee that the article disappears everywhere.

No, you do not need to write Rust to run the program. Rust matters only if you choose to build the program from source, since that requires the Rust toolchain. If you use a ready-made build, you only need to set up the relay configuration and your key, then run the command.

The tool works with the Nostr protocol and publishes to the relays listed in your TOML configuration file. It is designed for long-form content under NIP-23, so it fits writers and developers who share articles on Nostr rather than people who use other networks.

Yes, the tool connects to multiple relays and reads their addresses from a TOML file. You can keep one shared list and update it as your needs change. Publishing to several relays can improve reach and reduce dependence on any single server.

14

Verdict

Nostr Article Publish is a good fit for developers, writers and technical users who publish Markdown articles to Nostr and are comfortable with a terminal. It is free, MIT licensed and focused on a narrow task, which makes it easy to automate. It is less suitable for anyone who wants a visual editor or a feed to read. Treat it as an early-stage tool, verify every download carefully and protect your signing key.

Download now