Open-source project
leaperone/MultiPost-Extension avatar
leaperone/MultiPost-Extension

MultiPost Extension: one-click publishing to Weibo, Zhihu and Xiaohongshu from a browser extension

A browser extension that helps users publish content to multiple social media platforms with one click.

3,553 stars413 forksTypeScriptApache-2.0

At a glance

What is it?
MultiPost is a TypeScript browser extension that posts the same content to more than ten Chinese and international platforms without an API key. It is built with Plasmo and React, and its real constraint is that it drives the platforms' own web UIs.
Who is it for?
Adopt MultiPost if your publishing workflow is manual, browser-based, and concentrated on Chinese platforms such as Zhihu, Weibo, Xiaohongshu and Douyin, and you want to avoid registering a developer app per platform. Do not adopt it if you need a documented, versioned server API with retry guarantees, or if rollback of a bad post matters to you, because the README documents neither.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 6 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 3, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem MultiPost targets: republishing the same article by hand

A writer finishes a post and then repeats the same work five or ten times: open the platform, paste the text, re-upload the images, fix the formatting that the editor mangled, hit publish. The README frames this as the pain point the project exists to remove, promising that "through a single edit, content can be synchronized to all platforms." The audience is content creators and marketers who publish to Chinese platforms, and the project lists Zhihu, Weibo, Xiaohongshu and Douyin among more than ten supported destinations. The unusual claim is the absence of setup: no login, no registration, no API key, and the README calls it free. That matters because the official APIs of these platforms usually require a registered developer account, per-app review, and a token you have to store and refresh. MultiPost sidesteps that whole layer, which is both its main selling point and the source of its fragility.

How MultiPost works: a Plasmo extension that drives platform web UIs

The repository is a Plasmo extension written in TypeScript, with React 18, HeroUI components, Tailwind, and @plasmohq/storage for persistence. Plasmo is the build tool: package.json defines "dev": "plasmo dev" and "build": "plasmo build && plasmo package", and the manifest fields are localization keys such as __MSG_extensionName__ resolved from the locales/ directory. Because there is no API key and no OAuth flow, publishing cannot go through the platforms' official APIs. The extension has to operate on the platforms' own web pages, which is why it ships as a browser extension rather than a server. Two integration surfaces are documented: an extension API for calling from your own web app, and a RESTful API for calling from a script or server. The README states both exist but does not describe their endpoints, authentication or rate limits, so treat the developer documentation at multipost.app/docs/development as the authoritative source before building against either. The dependency list also hints at content handling: @mozilla/readability and turndown suggest HTML is extracted and converted to Markdown somewhere in the pipeline, which fits a workflow that starts from an article page or editor.

Installing MultiPost and publishing a first post

The README does not give a from-source install path. It points to the Chrome Web Store and the Microsoft Edge Add-ons store, with the Chrome listing identified by the extension ID dhohkaclnjgcikfoaacfgijgjgceofih. Install from the store listing for your browser, then open the extension. There is no account step to complete, which is the point of the design. The second route is the hosted article editor at md.multipost.app, which the README describes as an online editor for creating and publishing content to multiple platforms; its source lives in a separate repository, leaperone/multipost-wechat-markdown-editor. If you want to build the extension yourself rather than install the store build, the scripts are declared in package.json and the project uses pnpm, since pnpm-lock.yaml and pnpm-workspace.yaml are both at the repository root.

bash
pnpm install
pnpm dev

The dev script runs plasmo dev, which starts a development build; the README does not document how to load that build into a browser, so consult Plasmo's own documentation for the unpacked-extension step. For a production artifact, pnpm build runs plasmo build followed by plasmo package, which produces the packaged extension. Linting and formatting go through Biome rather than ESLint or Prettier: pnpm lint runs biome check, and pnpm format runs biome format --write. After installing the store build, the first real use is to open a page you want to publish, invoke the extension, select the destination platforms, and publish; the README's claim is that no per-platform login or API key is needed, so the platforms you are already signed into in that browser are the ones that will receive the post.

The limitation that matters: no API key means no API contract

The feature that makes MultiPost easy to try is the same feature that makes it hard to depend on. Publishing without an API key means the extension is automating the platforms' web interfaces, and those interfaces are not a contract. When a platform changes its editor markup, upload flow or anti-automation checks, the corresponding adapter can break until the maintainers ship a fix. The release history shows this cadence: v1.4.3 on 2026-06-05, v1.4.4 on 2026-07-18, and v1.4.8 on 2026-09-14, with the last push to the repository on the same day as v1.4.8. Frequent patch releases are normal for this class of tool, and they also mean you should not pin an old build and expect it to keep working. The README does not document rollback, retry behaviour, or what happens when a post succeeds on four platforms and fails on the fifth, so partial-failure handling is something you would have to observe yourself. It is also the wrong tool if you need a stable, documented server-side API with idempotency keys, or if your content pipeline is already automated and you want a queue rather than a browser.

MultiPost compared with scheduling and API-based publishing tools

The related search terms around this project include Buffer, Hootsuite, Postiz and Mixpost, and the difference is architectural rather than cosmetic. Buffer and Hootsuite are hosted schedulers: you connect accounts through each platform's official API, and the vendor holds the tokens and the posting queue. Postiz and Mixpost are self-hostable publishing platforms that likewise work through platform APIs and give you a server you control. MultiPost does not hold tokens and does not run a server for you; it runs in your browser and acts on pages where you are already logged in. That gives it a much shorter setup path and no per-platform app review, and it takes away the things an API gives you: a documented request shape, error codes, rate-limit headers, and a server-side log of what was sent. If your job is scheduling a month of posts across a team, a scheduler fits better. If your job is finishing an article and getting it onto six Chinese platforms in one action, the browser-extension approach removes the part that actually costs you time.

Maintenance, licence and what an upgrade actually costs

The repository is not archived, and the last push was on 2026-09-14, the same day v1.4.8 was released. The project is Apache-2.0 licensed, which permits commercial use and modification, and requires that you keep the licence and notice files and state significant changes if you redistribute a modified version. That is a summary of the licence text, not legal advice; read LICENSE in the repository if you plan to fork or ship a derivative. The practical upgrade cost is the platform-adapter surface. Because each destination is driven through its web UI, a platform redesign can invalidate a working version without any change in this repository, so a team that depends on MultiPost should expect to update the extension on the maintainers' release cadence rather than on its own schedule. Building from source adds a second cost: the toolchain is Plasmo 0.90.5 with React 18.2.0 and TypeScript 5.2.2, and package.json carries a long list of pnpm overrides for transitive dependencies, which means the lockfile is doing real work and you should not casually upgrade individual packages.

Editorial conclusion

Adopt MultiPost if your publishing workflow is manual, browser-based, and concentrated on Chinese platforms such as Zhihu, Weibo, Xiaohongshu and Douyin, and you want to avoid registering a developer app per platform. Do not adopt it if you need a documented, versioned server API with retry guarantees, or if rollback of a bad post matters to you, because the README documents neither. Before rolling it out, verify the current platform list and the RESTful API surface at docs.multipost.app, and confirm whether the extension API is stable enough for your own web app.

Frequently asked questions

Does MultiPost Extension require an API key or an account?

No. The README states that publishing needs no login, no registration and no API key, and that the extension is free. That is possible because it publishes through the platforms' web interfaces in your browser rather than through their official APIs.

Which platforms does MultiPost Extension support?

The README says it covers more than ten mainstream platforms and names Zhihu, Weibo, Xiaohongshu and Douyin, along with TikTok and YouTube in the English feature list. The README does not give a complete, itemized list, so check the documentation site for the current set.

Can I install MultiPost Extension from source instead of the store?

The README only points to the Chrome Web Store and Microsoft Edge Add-ons listings, so it does not document a from-source install. The repository does define pnpm dev and pnpm build scripts that run Plasmo, but loading the development build into a browser is left to Plasmo's own documentation.

What happens if a post fails on one platform but succeeds on another?

The README does not document partial-failure behaviour, retries or rollback, so this cannot be answered from the project's own material. If partial failures matter to your workflow, you would need to verify it yourself against the platforms you use.

Official sources

  1. leaperone/MultiPost-Extension on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/leaperone-multipost-extension.svg)](https://hysenlabs.com/projects/leaperone-multipost-extension)