英語簡介|中文介紹
Weblink是一個基於Web的純文件傳輸,文本/語音/視頻聊天應用程序構建了WEBRTC。它不需要下載,直接在您的瀏覽器中工作。利用無服務器的P2P體系結構,它支持多個後端,包括Firebase和Websocket,以提供有效的對等連接。此外,Weblink確保通過端到端加密來確保信令消息的隱私和安全性。
該項目已部署在CloudFlare頁面上,並使用Firebase作為後端可以在https://v.webl.ink上訪問。
另外,您可以在https://webl.ink上使用自託的Websocket作為後端使用該版本。
Weblink當前支持以下功能:
| 特徵 | 描述 |
|---|---|
| 文件同步 | 從另一方無縫地檢索緩存的文件。 |
| ⏯️簡歷轉移 | 如果連接中斷,請毫不費力地恢復文件傳輸。 |
| 文件緩存 | 傳輸的文件被牢固地緩存在IndexedDB中。 |
| 屏幕共享 | 與多個客戶共享屏幕,相機和音頻(包括說話者和麥克風)。 |
| ?文件搜索 | 快速搜索您和另一方的緩存文件。 |
| ?剪貼板轉移 | 將剪貼板內容直接粘貼到與Ctrl + V或移動粘貼操作的聊天中。 |
| ?文件夾傳輸 | 自動壓縮毫不費力地發送文件夾。 |
| ?壓縮轉移 | 選擇在傳輸過程中壓縮文件以進行有效的數據處理。 |
| ⚡多通道傳輸 | 通過跨多個通道的並行數據傳輸提高傳輸性能。 |
| ?分享和向前 | 作為PWA安裝後,通過系統共享共享文本或文件。 |
| 文字聊天 | 交換短信以進行平穩的通信。 |
更多信息可以在ChangElog中找到。
git clone https://github.com/99percentpeople/weblink.git
cd weblink
pnpm install確保在項目中配置Firebase密鑰(如下所示),然後運行以下命令:
# Development
pnpm dev
# Build
pnpm build您可以使用docker-compose.yaml部署此項目將其部署到Docker,並且它將自動構建Weblink-WS-Server作為後端。
修改docker-compose.yaml文件以設置正確的環境變量。然後運行以下命令:
docker-compose up -d要啟用SSL,您需要在docker/ssl目錄中提供SSL證書cert.pem和key.pem文件。並運行以下命令:
ENABLE_SSL=true docker-compose up -d另外,您也可以使用Dockerfile將該項目部署到Docker。
要將該項目部署到Vercel,請按照以下步驟:
轉到Vercel網站並登錄(或創建帳戶)。
連接您的github存儲庫,然後選擇克隆的存儲庫。
在您的Vercel項目設置中,找到“環境變量”,並添加Firebase API鍵和其他環境變量(如下所示)。
單擊“部署”按鈕,Vercel將自動構建和部署您的項目。
您將需要配置Firebase密鑰,以供本地開發和部署到Vercel。添加以下壁爐環境變量:
VITE_FIREBASE_API_KEY
VITE_FIREBASE_AUTH_DOMAIN
VITE_FIREBASE_PROJECT_ID
VITE_FIREBASE_STORAGE_BUCKET
VITE_FIREBASE_MESSAGING_SENDER_ID
VITE_FIREBASE_APP_ID
VITE_FIREBASE_DATABASE_URL
對於Vercel部署,請按照以下步驟設置環境變量:
打開您的Vercel項目,然後轉到“設置”。
查找“環境變量”。
添加上面的firebase配置項並輸入相應的值。
此應用程序可以部署自己的Websocket服務器,並提供Websocket服務器。您可以選擇是否使用它。有關詳細信息,請參閱Weblink-ws-Server。
對於本地開發,創建一個.env.Local文件並添加firebase鍵:
# backend choose FIREBASE or WEBSOCKET
# FIREBASE
VITE_BACKEND = FIREBASE
VITE_FIREBASE_API_KEY = your-firebase-api-key
VITE_FIREBASE_AUTH_DOMAIN = your-firebase-auth-domain
VITE_FIREBASE_PROJECT_ID = your-firebase-project-id
VITE_FIREBASE_STORAGE_BUCKET = your-firebase-storage-bucket
VITE_FIREBASE_MESSAGING_SENDER_ID = your-firebase-messaging-sender-id
VITE_FIREBASE_APP_ID = your-firebase-app-id
VITE_FIREBASE_DATABASE_URL = your-database-url
# WEBSOCKET
VITE_BACKEND = WEBSOCKET
VITE_WEBSOCKET_URL = your-websocket-url 如果您在局部網絡外(在NAT環境中)使用P2P連接,則可能需要配置轉向服務器以確保建立連接。在“設置”頁面中,您可以使用以下格式配置轉向服務器,支持Coturn和Cloudflare轉向服務器,並使用Newline字符分開多個配置:
轉向配置格式:
# use coturn with account and password
turn:turn1.example.com:3478|user1|pass1|longterm
# use coturn with timestamp
turns:turn2.example.com:5349|user2|pass2|hmac
# use cloudflare turn server
name|TURN_TOKEN_ID|API_TOKEN|cloudflare
以下是一些獲得公共眩暈和轉動服務器的方法:
此應用程序默認使用Google的眩暈服務器。如果您無法連接,請配置自己的昏迷服務器。您可以參考https://gist.github.com/mondain/b0ec1cf5f60ae726202e以獲取公共電擊服務器列表。然後,以格式stun:xxxx:xxxx在設置頁面中的Stun Server列表中,例如stun:stun.l.google.com:19302 。
您可以使用CloudFlare電話提供的轉彎服務器,請訪問https://developers.cloudflare.com/calls/turn。然後以格式name|TURN_TOKEN_ID|API_TOKEN|cloudflare在“設置”頁面中的轉向服務器列表中。
您可以參考https://github.com/coturn/coturn來設置自己的轉彎服務器。
該應用程序當前支持在非安全環境中使用LAN。確保您的設備在同一LAN中,並且防火牆不會阻止P2P連接。
同時,運行Weblink-ws-Server以支持WebSocket連接。
歡迎捐款!請隨時提交問題或提取請求。
該項目是根據MIT許可證開源的。