xdrop

โดย xixu-me

Use this skill when the user wants to send or fetch files through an Xdrop server from the terminal, asks to automate encrypted Xdrop share-link workflows, provides an Xdrop `/t/:transferId#k=...` link to download and decrypt locally, or needs Xdrop CLI flags such as `--quiet`, `--json`, `--expires-in`, `--output`, or `--api-url`, even if they do not explicitly mention the skill name.

npx skills add https://github.com/xixu-me/skills --skill xdrop

Use the bundled scripts inside this skill directory.

Available scripts

  • scripts/upload.mjs — Upload local files or directories to an Xdrop server and print the share link
  • scripts/download.mjs — Download an Xdrop share link, decrypt it locally, and save the files

Environment requirements:

  • Bun
  • Local filesystem access
  • Network access to the target Xdrop server

Upload

bun scripts/upload.mjs --server <xdrop-site-url> <file-or-directory> [...]

Prefer these flags when relevant:

  • --quiet: suppress progress output and keep stdout clean
  • --json: return transferId, shareUrl, and expiresAt
  • --expires-in <seconds>: choose a supported expiry
  • --api-url <url>: override the default <server>/api/v1
  • --name <value>: set the transfer display name
  • --concurrency <n>: limit parallel uploads per file

Useful examples:

bun scripts/upload.mjs --server http://localhost:8080 ./dist/report.pdf
bun scripts/upload.mjs --server http://localhost:8080 --quiet ./archive.zip
bun scripts/upload.mjs --server http://localhost:8080 --expires-in 600 --json ./notes.txt

If the user wants verification, upload a small temporary file and then confirm the public transfer API or browser can open the returned link.

Download

Require the full share link, including #k=.... Without the fragment key, the transfer cannot be decrypted.

bun scripts/download.mjs "<share-url>"

Prefer these flags when relevant:

  • --output <dir>: choose the destination directory
  • --quiet: suppress progress output and keep stdout clean
  • --json: return transferId, outputRoot, and saved file paths
  • --api-url <url>: override the default <share-origin>/api/v1

Useful examples:

bun scripts/download.mjs "http://localhost:8080/t/abc123#k=..."
bun scripts/download.mjs --output ./downloads "http://localhost:8080/t/abc123#k=..."
bun scripts/download.mjs --quiet --json --output ./downloads "http://localhost:8080/t/abc123#k=..."

By default the downloader writes to ./xdrop-<transferId> and preserves the manifest's relative paths.

Gotchas

  • A download link without the #k=... fragment is not decryptable. Ask for the full original share URL.
  • Use --quiet whenever another command or caller needs to capture stdout. Progress logs otherwise go to stderr, but the final result still matters.

Guardrails

  • Prefer --quiet when another command or script needs to capture stdout.
  • Keep the full share link fragment intact for downloads.
  • Do not bypass the scripts' built-in path sanitization or transfer cleanup behavior with manual ad hoc commands unless the user explicitly asks.

Skills เพิ่มเติมจาก xixu-me

github-actions-docs
xixu-me
ใช้เมื่อผู้ใช้ถามถึงวิธีการเขียน อธิบาย ปรับแต่ง ย้ายระบบ รักษาความปลอดภัย หรือแก้ไขปัญหาเวิร์กโฟลว์ GitHub Actions, ไวยากรณ์เวิร์กโฟลว์, ทริกเกอร์, เมทริกซ์, รันเนอร์, เวิร์กโฟลว์ที่ใช้ซ้ำได้, อาร์ติแฟกต์, การแคช, ซีเคร็ต, OIDC, การปรับใช้, แอคชันแบบกำหนดเอง หรือ Actions Runner Controller โดยเฉพาะเมื่อต้องการเอกสารอย่างเป็นทางการของ GitHub, ลิงก์ที่แน่นอน หรือคำแนะนำ YAML ที่อ้างอิงจากเอกสาร
developmentdevopsdocument
use-my-browser
xixu-me
Use when work depends on the user's live browser session or visible rendered state rather than static fetches, especially for browser debugging contexts or DevTools-selected elements or requests, logged-in dashboards or CMS flows, localhost apps, forms, uploads, downloads, media inspection, DOM or iframe inspection, Shadow DOM, or browser failures that look like soft 404s, auth walls, anti-bot checks, or rate limits.
browser-automationweb-scrapingtesting
readme-i18n
xixu-me
ใช้เมื่อผู้ใช้ต้องการแปล README ของ repository, ทำให้ repo รองรับหลายภาษา, แปลเอกสาร, เพิ่มตัวสลับภาษา, ทำให้ README เป็นสากล, หรืออัปเดต README เวอร์ชันภาษาต่างๆ ใน repository แบบ GitHub
documentdevelopmentapi
openclaw-secure-linux-cloud
xixu-me
ใช้เมื่อโฮสต์ OpenClaw ด้วยตนเองบนเซิร์ฟเวอร์คลาวด์, ปรับปรุงความปลอดภัยของเกตเวย์ OpenClaw ระยะไกล, เลือกระหว่าง SSH tunneling, Tailscale, หรือการเปิดเผยผ่าน reverse-proxy, หรือตรวจสอบ Podman, การจับคู่, การแซนด์บ็อกซ์, การยืนยันตัวตนด้วยโทเค็น, และค่าเริ่มต้นการอนุญาตเครื่องมือสำหรับการปรับใช้ส่วนบุคคลที่ปลอดภัย
devopssecurity
develop-userscripts
xixu-me
ใช้เมื่อสร้าง, ดีบัก, แพ็กเกจ หรือเผยแพร่ userscripts สำหรับเบราว์เซอร์สำหรับ Tampermonkey หรือ ScriptCat รวมถึง GM APIs, metadata blocks, ปัญหาการอนุญาต, การตั้งค่า @match/@grant/@connect, สคริปต์พื้นหลังหรือตามกำหนดเวลาของ ScriptCat, UserConfig blocks หรือขั้นตอนการทำงานแบบสมัครสมาชิก
developmentbrowser-automationweb-scraping
secure-linux-web-hosting
xixu-me
ใช้เมื่อตั้งค่า ปรับปรุงความปลอดภัย หรือตรวจสอบเซิร์ฟเวอร์คลาวด์สำหรับการโฮสต์ด้วยตนเอง รวมถึง DNS, SSH, ไฟร์วอลล์, Nginx, การโฮสต์เว็บไซต์แบบคงที่, การทำ reverse proxy สำหรับแอปพลิเคชัน, HTTPS ด้วย Let's Encrypt หรือไคลเอนต์ ACME, การเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS อย่างปลอดภัย หรือการปรับแต่งเครือข่ายหลังการเปิดตัว เช่น BBR
devopssecurityaws
opensource-guide-coach
xixu-me
ใช้เมื่อผู้ใช้ต้องการคำแนะนำเกี่ยวกับการเริ่มต้น การมีส่วนร่วม การเติบโต การกำกับดูแล การระดมทุน การรักษาความปลอดภัย หรือการดำรงอยู่ของโครงการโอเพนซอร์ส หรือถามเกี่ยวกับการปฐมนิเทศผู้มีส่วนร่วม สุขภาพของชุมชน ความเหนื่อยล้าของผู้ดูแล จรรยาบรรณ ตัวชี้วัด พื้นฐานทางกฎหมาย หรือการนำโครงการโอเพนซอร์สไปใช้
developmentresearch
running-claude-code-via-litellm-copilot
xixu-me
ใช้เมื่อต้องการกำหนดเส้นทาง Claude Code ผ่านพร็อกซี LiteLLM ในเครื่องไปยัง GitHub Copilot เพื่อลดค่าใช้จ่ายโดยตรงจาก Anthropic กำหนดค่า ANTHROPIC_BASE_URL หรือ ANTHROPIC_MODEL ที่ต้องการแทนที่ หรือแก้ไขปัญหาการตั้งค่าพร็อกซี Copilot ที่ล้มเหลว เช่น model-not-found, ไม่มีการรับส่งข้อมูล localhost, หรือข้อผิดพลาดการตรวจสอบสิทธิ์ GitHub 401/403
developmentapidevops