
Research
/Security News
Malicious Chrome and Firefox Extensions Steal Crypto Traders’ Session and Wallet Data
Malicious Chrome and Firefox extensions target Axiom Trade and Padre users, stealing session tokens and wallet data.
node-red-contrib-letmepost
Advanced tools
Node-RED nodes for letmepost.dev — publish to Bluesky, X/Twitter, LinkedIn, Instagram, Threads, Facebook, Pinterest and TikTok through one API, plus a signed webhook trigger.
Node-RED nodes for letmepost.dev — the open-source social-media publishing API. Publish or schedule to Bluesky, X/Twitter, LinkedIn, Instagram, Threads, Facebook, Pinterest and TikTok through one API, and trigger flows from signed webhook deliveries.
| Node | What it does |
|---|---|
letmepost-config | Config node holding your API key and base URL. |
letmepost-publish | Publish or schedule a post (POST /v1/posts). |
letmepost-get-post | Fetch a post and its attempts (GET /v1/posts/{id}). |
letmepost-list-accounts | List connected accounts (GET /v1/accounts). |
letmepost-webhook | Trigger a flow on a signature-verified webhook event. |
From your Node-RED user directory (~/.node-red):
npm install node-red-contrib-letmepost
Or in the editor: Menu → Manage palette → Install and search for
node-red-contrib-letmepost. Restart Node-RED.
Requires Node.js 18+ (uses the global fetch) and Node-RED 3.0+.
lmp_live_… for production, lmp_test_… for the test environment).letmepost-config.https://api.letmepost.dev unless you self-host.The key is stored encrypted in Node-RED's credentials store, never in the flow JSON.
Publishes or schedules a post. Each node field can be overridden by the matching
msg property (msg wins; otherwise the node config is used).
msg.accountIds. Each
becomes a target { accountId }.bluesky).queued).Idempotency-Key header so retries never double-post.msg.media — optional array of MediaInput objects, passed through verbatim
(e.g. [{ "kind": "image", "mediaId": "med_…" }]).msg.payload.targets — advanced: if msg.payload already contains a
targets array, the whole payload is sent as the request body and the fields
above are ignored. Use this to build arbitrary multi-target / per-target
override shapes.Output msg.payload is the CreatePostResponse envelope:
{ id, status, createdAt, results[] }. The node status reflects the batch
status (published / partial_failed / failed / queued).
GET /v1/posts/{id}. Set Post ID on the node or msg.postId. Output
msg.payload is the PostDetail (the post row plus attempts[]).
GET /v1/accounts. Optional Profile ID filter (or msg.profileId). Output
msg.payload is the array of Account objects. Feed an account's id into the
publish node's Account IDs.
Triggers a flow when letmepost delivers an event. It registers an HTTP POST
route at the configured URL Path, verifies the signature, and emits the
event only when valid.
This node does not register itself with the API. Webhook endpoints are
created from the letmepost dashboard — the registration API is a
dashboard-session operation and does not accept an lmp_live_ API key. Register
the URL by hand:
Setup
/letmepost-webhook). Your public URL is the
Node-RED base URL plus this path,
e.g. https://your-host:1880/letmepost-webhook. Node-RED has to be reachable
from the public internet for letmepost to deliver to it.post.published, post.failed, token.expiring, …) or subscribe to all.signingSecret (whsec_…) the dashboard shows once at creation
into the node's Signing Secret field.Verification. Each delivery carries
X-Letmepost-Signature: sha256=<hex>, an HMAC-SHA256 of the raw request body
keyed by the signing secret (no timestamp). The node recomputes it over the
exact received bytes and compares in constant time. Deliveries that fail get a
401 and are dropped; malformed JSON gets a 400.
Output: msg.payload is the parsed event, msg.topic is the event type.
Action nodes report API failures via node.error(err, msg), so a Catch node
downstream can handle them. The message surfaces the letmepost error code, the
failed rule, the remediation, and the requestId.
FAQs
Node-RED nodes for letmepost.dev — publish to Bluesky, X/Twitter, LinkedIn, Instagram, Threads, Facebook, Pinterest and TikTok through one API, plus a signed webhook trigger.
The npm package node-red-contrib-letmepost receives a total of 2 weekly downloads. As such, node-red-contrib-letmepost popularity was classified as not popular.
We found that node-red-contrib-letmepost demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Research
/Security News
Malicious Chrome and Firefox extensions target Axiom Trade and Padre users, stealing session tokens and wallet data.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.