Transfa

io.github.colapsis由 GitHub 帳號 colapsis 發布v1.0.1更新於 Oct 24, 2026

Upload any file, get a signed link. SHA-256 verified, TTL-enforced, no account required.

已驗證STDIO僅桌面檔案與儲存開發者工具

概覽

AI 產生的概覽

讓助理把本機檔案上傳到 Transfa 檔案分享服務,並取回附 SHA-256 檢查碼、會到期的簽章下載連結。

可以做什麼
此伺服器提供工具,可上傳本機檔案並回傳直連網址、分享頁面與 SHA-256 檢查碼;查詢上傳檔案的詮釋資料(檔名、大小、檢查碼、到期時間、下載次數、來源欄位);列出最近的上傳;立即刪除某個上傳;以及依 run_id 取回同一次執行或工作階段下的完整檔案清單。上傳時可附帶 run_id、step、consumer、intent 等來源資訊。連結受有效期限制,也可設定密碼或限制下載次數。
適用情境
適合助理需要把產生的檔案、報告、模型或建置產物交給他人或另一個助理,又不想自行架設儲存空間的情況。也適用於指令碼、CI 與代理流程中需要可分享連結和檢查碼的檔案傳遞。
執行需求
以 stdio 方式在本機執行,通常用 npx transfa-mcp 啟動,因此需要 Node.js。API 金鑰為選用:設定 TRANSFA_API_KEY 可使用列出上傳等帳戶功能;不設定則以訪客模式運作,限制為 10 MB。可用 TRANSFA_BASE_URL 指向自架執行個體,預設使用官方服務。需要能連線至 Transfa 服務的網路。
安裝前請注意
上傳的檔案會離開本機並存放在第三方服務上,請勿上傳金鑰或敏感資料。API 金鑰透過 TRANSFA_API_KEY 傳入,應視為憑證妥善保管。上傳會產生在到期前可被存取的連結,delete_upload 會立即刪除上傳內容。更大的檔案與更長的保留時間需要付費方案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Transfa,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[transfa]

Dead-simple file sharing for developers and AI agents.
Upload with one command. Share with a link. No account required.

[npm version] [npm downloads] [node version] [MIT License] [Hosted service]


$ tf upload model.gguf✓ Uploaded  model.gguf  (4.2 GB)  →  https://transfa.sh/f/xK9mRp  SHA-256    a3f8c2...d91b  Expires    in 7 days

Why transfa?

Most file-sharing tools are built for humans clicking through UIs. transfa is built for the terminal — designed to be called from shell scripts, CI pipelines, and AI agents (Claude, GPT, Cursor, etc.) that need to move files without friction.

  • No signup required — just install and upload
  • Any format, any size — up to 100 GB; ML models, archives, binaries, code, media
  • Built for agents — JSON API, SHA-256 checksums, idempotent uploads
  • Password protection, download limits, TTL — full control over every link
  • 100+ formats detected — MIME type auto-detection including .gguf, .safetensors, .parquet, .ipynb, and more

Install

Node.js / CLI

bash
npm install -g transfa

Python SDK

bash
pip install transfa

MCP server (Claude, Cursor, any MCP-compatible agent)

bash
npx -y transfa-mcp

Or use the raw install script:

bash
curl -fsSL https://transfa.sh/install | sh

Quick start

bash
# Upload a file (no account needed)tf upload photo.jpg
# Upload with custom TTL and passwordtf upload secret.zip --ttl 24h --password hunter2
# Upload and pipe the URL to clipboardtf upload bundle.tar.gz | grep url | awk '{print $2}' | pbcopy
# Download a filetf download https://transfa.sh/f/xK9mRp
# List your uploadstf list
# Delete an uploadtf delete xK9mRp

GitHub Actions

Upload build artifacts, coverage reports, and any CI output straight from your workflow:

yaml
- uses: colapsis/transfa-action@v1  id: upload  with:    file: ./dist/report.pdf    api-key: ${{ secrets.TRANSFA_API_KEY }}
- run: echo "${{ steps.upload.outputs.agent-link }}" >> $GITHUB_STEP_SUMMARY

All five outputs are available after the step: id, agent-link, human-link, sha256, expires-at.

See colapsis/transfa-action for the full input reference and more examples (password-protected links, self-hosted instances, single-download limits).


API

transfa is fully REST. Every operation the CLI does, you can do with curl or any HTTP client.

Upload

bash
curl -X POST https://transfa.sh/api/upload \  -H "Authorization: Bearer $TF_KEY" \  -F "[email protected]" \  -F "ttl=7d"
json
{  "id": "xK9mRp",  "url": "https://transfa.sh/f/xK9mRp",  "download_url": "https://transfa.sh/api/download/xK9mRp",  "filename": "model.gguf",  "bytes": 4512345678,  "sha256": "a3f8c2...d91b",  "expires_at": "2026-05-21T12:00:00.000Z"}

Upload options (form fields or headers):

FieldHeaderDescription
ttlX-Transfa-TTLExpiry: 1h, 24h, 7d, 30d
password—Password-protect the download link
max_downloads—Burn after N downloads
filenameX-Transfa-FilenameOverride the stored filename

Download

bash
# Direct download (no auth required)curl -L https://transfa.sh/api/download/xK9mRp -o model.gguf
# Password-protectedcurl -L "https://transfa.sh/api/download/xK9mRp?password=hunter2" -o secret.zip

File info

bash
curl https://transfa.sh/api/download/info/xK9mRp
json
{  "id": "xK9mRp",  "filename": "model.gguf",  "bytes": 4512345678,  "sha256": "a3f8c2...d91b",  "mime_type": "application/octet-stream",  "download_count": 3,  "has_password": false,  "expires_at": "2026-05-21T12:00:00.000Z",  "active": true}

List uploads

bash
curl https://transfa.sh/api/upload \  -H "Authorization: Bearer $TF_KEY"

Delete

bash
curl -X DELETE https://transfa.sh/api/upload/xK9mRp \  -H "Authorization: Bearer $TF_KEY"

Supported formats

Over 100 file types with correct MIME detection — including types not in standard MIME databases:

CategoryFormats
ML models.gguf .ggml .safetensors .onnx .pt .pth .pkl .ckpt .tflite .mlmodel .lora
Data science.parquet .arrow .feather .h5 .hdf5 .npz .npy .lance .duckdb .ipynb
Code.py .rs .go .ts .kt .swift .scala .cu .sol .vy .elm .zig
Archives.zip .tar .gz .bz2 .xz .7z .zst
3D / Design.glb .gltf .obj .stl .usdz .blend .fig .sketch .psd
Media.avif .webp .heic .jxl .opus .flac .webm .av1
Config.toml .hcl .tf .tfvars .nix .dhall .lock .env
Everything else.wasm .sqlite .db .pem .crt .p12 + all standard types

Any other format is accepted as application/octet-stream — nothing is blocked.


Plans

GuestFreeProTeam
Max file size10 MB500 MB50 GB100 GB
Uploads / day5205005,000
Max TTL24h48h30 days180 days
Storage——UnlimitedUnlimited
PriceFreeFree$12/mo$48/mo
Trial——3-day free trial3-day free trial

→ See full pricing


MCP server (Claude, Cursor, and any MCP-compatible agent)

transfa ships an MCP server that lets Claude, Cursor, and any MCP-compatible agent upload and share files autonomously — no shell commands, no infrastructure setup.

bash
npx -y transfa-mcp

Claude Desktop config

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "transfa": {      "command": "npx",      "args": ["-y", "transfa-mcp"],      "env": {        "TRANSFA_API_KEY": "your-api-key"      }    }  }}

The API key is optional — the server works in guest mode without one (10 MB / 24h limit).

Available MCP tools

ToolDescription
uploadUpload a file from the local filesystem. Returns agent_link (direct URL), human_link (share page), and sha256. Accepts run_id, step, consumer, intent for provenance.
file_infoGet metadata about an upload — filename, size, SHA-256, expiry, download count, provenance fields.
list_uploadsList recent uploads (requires API key).
delete_uploadDelete an upload immediately.
run_artifactsGet all files uploaded under a run_id — the full provenance manifest for a pipeline run or agent session.

Example agent workflow

When Claude has transfa as an MCP tool, it can:

  1. Generate a report → call upload → get a link → paste the link in the conversation
  2. Pass a file to another agent by sharing the agent_link
  3. Clean up with delete_upload when done

Python SDK

python
import transfa
# Uploadresult = transfa.upload("model.pt", ttl="24h", run_id="run-42", artifact=True)print(result.url, result.sha256)
# Download (SHA-256 verified)transfa.download(result.id, output="model.pt")
# Provenance manifest for a runmanifest = transfa.run_artifacts("run-42")
# Asyncasync with transfa.AsyncClient() as client:    result = await client.upload("model.pt")

See python/README.md for the full API reference.


Use with AI agents (script/subprocess)

transfa is also designed to be called from shell scripts, CI pipelines, and agents that prefer subprocess calls:

python
import subprocess, json
result = subprocess.run(    ["tf", "upload", "output.csv"],    capture_output=True, text=True)data = json.loads(result.stdout)print(data["url"])  # https://transfa.sh/f/xK9mRp

Or use the REST API directly — no SDKs, no auth flows, just HTTP.


Self-hosting

bash
git clone https://github.com/colapsis/transfa.gitcd transfacp .env.example .env          # fill in your keysnpm install --prefix servernpm install --prefix clinpm run build --prefix frontendpm2 start ecosystem.config.cjs

Requirements: Node.js 18+, nginx (for SSL/proxy)

See nginx/transfa.conf for a production-ready nginx config.

Environment variables

VariableDescription
PORTServer port (default: 3001)
BASE_URLPublic URL e.g. https://transfa.sh
STRIPE_SECRET_KEYStripe secret key for billing
STRIPE_WEBHOOK_SECRETStripe webhook signing secret
STRIPE_PRO_PRICE_IDStripe price ID for Pro plan
STRIPE_TEAM_PRICE_IDStripe price ID for Team plan

Security

Found a vulnerability? Please email [email protected] or see SECURITY.md.

Do not open a public issue for security reports.


License

MIT — © 2026 transfa contributors

來源:README.md,提交 d665b06

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分