shape

ShareAnything - 使用 WebRTC 打造 P2P 檔案分享服務

概述

即使在 NAT 環境下也能支援穩定的跨平台檔案分享

技術棧

  • Rust

    Rust

  • MySQL

    MySQL

  • Flyway

    Flyway

  • Docker Compose

    Docker Compose

  • AWS

    AWS

  • Nginx

    Nginx

  • Cloudflare

    Cloudflare

  • Vercel

    Vercel

  • TypeScript

    TypeScript

  • React

    React

  • Axios

    Axios

  • WebRTC

    WebRTC

團隊

1 人(個人專案)

期間

2025.11 ~ 2026.04

相關連結

網頁服務

詳細內容

  1. 概要
    • 我在公用電腦或 CLI 環境的 Linux 伺服器上,感受到檔案分享的不便。為了解決這個問題,我開發了以網頁與 CLI 為基礎的檔案分享平台。
    • 建置 TURN/STUN 伺服器基礎架構,即使在 NAT 環境下也能支援穩定的 WebRTC P2P 檔案傳輸。
    概要 1
  2. 主要功能
    • 一般傳輸可透過上傳檔案來快速分享。
    • 安全傳輸則與接收者直接連線以安全地傳送,且檔案不會儲存在伺服器上。
    • 可透過 npm i -g share-anything-cli 安裝 CLI 用戶端。
    主要功能 1
    主要功能 2
    主要功能 3
  3. 使用技術
    • 以 Rust 與 Axum 開發後端伺服器,並以 MySQL 與 Flyway 管理資料。
    • 運用 Cloudflare TURN/Workers 與 R2,並以 Nginx 與 Docker Compose 建構基礎架構。
    • 前端以 TypeScript 與 React 實作,並部署於 Vercel。