朴珉圭 | 後端開發者

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

概述

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

技術棧

  • Rust
  • MySQL
  • Flyway
  • Docker Compose
  • AWS
  • Nginx
  • Cloudflare
  • Vercel
  • TypeScript
  • React
  • Axios
  • 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。