360 Secure SkillHub
360 安全技能中心

FadNote

Node.js 命令行技能:把文本在本地用 AES-256-GCM 加密后上传到 FadNote 服务,生成仅可查看一次、默认 24 小时过期的分享链接,解密密钥置于链接片段中不下发服务器。支持命令行参数或标准输入,可输出单行链接或 JSON,无外部依赖。

easyfloyd
easyfloyd
热度 89.09
最近更新 2026-05-11 17:27:32
分类:安全依赖:代码执行 / 第三方 API应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add fadnote
Metadata
name
fadnote
version
1.0.2
description
Create secure shareable self-destructing notes
license
MIT
metadata
{"openclaw":{"emoji":"🔥","requires":{"bins":["node"],"env":["FADNOTE_URL"]},"primaryEnv":"FADNOTE_URL","homepage":"https://github.com/easyFloyd/fadnote"}}

FadNote Skill

Secure self-destructing shareable notes for OpenClaw

Create encrypted, one-time-read notes directly from OpenClaw. The server never sees your plaintext.


Overview

Property Value
Name fadnote
Version 1.0.2
Author easyFloyd
License MIT
Open Source Yes — https://github.com/easyFloyd/fadnote
Runtime Node.js 18+

Installation

# Via ClawHub
claw install fadnote

# Manual
git clone https://github.com/easyFloyd/fadnote.git
ln -s $(pwd)/fadnote/openclaw-skill/scripts/fadnote.js ~/.claw/bin/fadnote

Configuration

Variable Default Description
FADNOTE_URL https://fadnote.com FadNote server endpoint

Usage

From OpenClaw

user: Secure this API key: sk-abc123xyz

claw: I'll create a secure, self-destructing note for that.
      [runs: echo "sk-abc123xyz" | fadnote]

      🔗 https://fadnote.com/n/abc123# decryption-key-here

      Share it with the recipient via any channel and this link will self-destruct after first view.

CLI Usage

  Usage: fadnote [options] [text]
         echo "text" | fadnote [options]

  Create secure self-destructing notes that can only be viewed once.

  Options:
    -h, --help          Show this help message and exit
        --ttl <secs>    Time until note expires (default: 86400 = 24h)
        --json          Output JSON with noteId, expiresIn, and decryptionUrl

  Environment:
    FADNOTE_URL         API endpoint (default: https://fadnote.com)

  Examples:
    # Standard
    fadnote "My secret message" # direct input
    echo "My secret" | fadnote # from stdin

    # With options
    fadnote --ttl 3600 "Expires in 1 hour" # Custom TTL
    fadnote --json --ttl 7200 "JSON output" # JSON output:
      # {noteId: string, expiresIn: number, decryptionUrl: string}

    # File and clipboard input
    cat file.txt | fadnote --ttl 86400 # from stdin with options
    pbpaste | fadnote  # macOS clipboard
    xclip -o -selection clipboard | fadnote # from clipboard (Linux with xclip)
    xsel -b | fadnote # from clipboard (Linux with xsel)

Single Output: Single line with the shareable URL.

JSON Output:

{
  noteId: string,
  expiresIn: number,
  decryptionUrl: string
}

Triggers

I (OpenClaw) will automatically use the FadNote skill when you say any of:

  • "Secure this [content]"
  • "FadNote this [content]"
  • "Create a secure link for [content]"
  • "Share this securely: [content]"
  • "One-time note: [content]"
  • "Encrypt and share [content]"

With email delivery (if email skill is present):

  • "Secure this and email to [recipient]: [content]"
  • "FadNote this to [email]"
  • "Send secure note to [email]"

Examples:

- Secure this API key: sk-live-12345

- FadNote this password for the server

- Create a secure link for these credentials

- Share this securely: my private SSH key

- One-time note: the meeting location

Security

  • Client-side encryption — AES-256-GCM with PBKDF2 (600k iterations)
  • Zero knowledge — Server receives only encrypted blobs
  • One-time read — Note deleted immediately after first fetch
  • Auto-expire — Default 24 hour TTL
  • Open Source — Server code is publicly auditable at https://github.com/easyFloyd/fadnote

The decryption key is embedded in the URL fragment (#key) and never sent to the server.


Files

openclaw-skill/
├── SKILL.md           # This file
└── scripts/
    └── fadnote.js     # Main CLI script (~160 lines)

Requirements

  • Node.js 18+ (no external dependencies)

Troubleshooting

Error Cause Solution
FADNOTE_URL not set Environment variable missing export FADNOTE_URL=https://fadnote.com
Empty note No input provided Pipe text into fadnote: echo "secret" | fadnote
404 Not Found Server endpoint wrong Check FADNOTE_URL points to a running FadNote instance
Connection refused Server unreachable Verify server is up or use the live service
Crypto not available Node.js < 18 Upgrade to Node.js 18+

Links