英语简介|中文介绍
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许可证开源的。