Englische Einführung |中文介绍
Weblink ist eine reine webbasierte Dateitransfer- und Text-/Sprach-/Video-Chat-Anwendung, die auf WebRTC erstellt wurde. Es erfordert keine Downloads und funktioniert direkt in Ihrem Browser. Mithilfe einer serverlosen P2P-Architektur unterstützt sie mehrere Backends, einschließlich Firebase und WebSocket für effiziente Peer-to-Peer-Verbindungen. Darüber hinaus stellt Weblink die Privatsphäre und Sicherheit der Signalisierung von Nachrichten durch End-to-End-Verschlüsselung sicher.
Das Projekt wird auf Cloudflare -Seiten bereitgestellt und die Verwendung von Firebase als Backend kann unter https://v.webl.ink zugegriffen werden.
Alternativ können Sie die Version mit selbsthohener WebSocket als Backend unter https://webl.ink verwenden.
Weblink unterstützt derzeit die folgenden Funktionen:
| Besonderheit | Beschreibung |
|---|---|
| Dateisynchronisation | Rufen Sie zwischengespeicherte Dateien von der anderen Partei nahtlos ab. |
| ⏯️ Resume Transfer | Lebenslaufe Datei mühelos übertragen, wenn die Verbindung unterbrochen wird. |
| Dateiausschnitt | Übertragte Dateien werden in indiziertenDB sicher zwischengespeichert. |
| Bildschirmfreigabe | Teilen Sie Bildschirme, Kameras und Audio (enthalten Sprecher und Mikrofon) mit mehreren Clients. |
| ? Dateisuche | Suchen Sie schnell nach zwischen Ihnen und der anderen Partei zwischengespeicherten Dateien. |
| ? Übertragung von Klemmboard | Fügen Sie den Inhalt der Zwischenablage direkt in den Chat mit Ctrl + V oder mobilen Einfügen ein. |
| ? Ordnerübertragung | Senden Sie die Ordner mühelos mit automatischer Komprimierung. |
| ? Drucktransfer | Wählen Sie, ob Sie Dateien während der Übertragung für eine effiziente Datenbearbeitung komprimieren können. |
| ⚡ Multi-Channel-Übertragung | Steigern Sie die Übertragungsleistung mit parallelen Datenübertragungen über mehrere Kanäle hinweg. |
| ? Teilen und vorwärts | Teilen Sie Text oder Dateien per Systemfreigabe nach der Installation als PWA. |
| Text -Chat | Tauschen Sie Textnachrichten gegen reibungslose Kommunikation aus. |
Weitere Informationen finden Sie in Changelog.
git clone https://github.com/99percentpeople/weblink.git
cd weblink
pnpm installStellen Sie sicher, dass Sie die Firebase -Tasten im Projekt konfigurieren (wie unten gezeigt) und dann den folgenden Befehl ausführen:
# Development
pnpm dev
# Build
pnpm build Sie können dieses Projekt mit docker-compose.yaml für Docker bereitstellen, und es erstellt automatisch den Weblink-WS-Server als Backend.
Ändern Sie die Datei docker-compose.yaml um die richtigen Umgebungsvariablen festzulegen. Führen Sie dann den folgenden Befehl aus:
docker-compose up -d Um SSL zu aktivieren, müssen Sie das SSL Certificate cert.pem und Key key.pem -Dateien im docker/ssl -Verzeichnis bereitstellen. Und führen Sie den folgenden Befehl aus:
ENABLE_SSL=true docker-compose up -dAlternativ können Sie auch DockerFile verwenden, um dieses Projekt für Docker bereitzustellen.
Befolgen Sie die folgenden Schritte, um dieses Projekt für Vercel bereitzustellen:
Gehen Sie zur Vercel -Website und melden Sie sich an (oder erstellen Sie ein Konto).
Schließen Sie Ihr Github -Repository an und wählen Sie das geklonte Repository aus.
Suchen Sie in Ihren Einstellungen für die Projekte von Vercel "Umgebungsvariablen" und fügen Sie den Firebase -API -Schlüssel und andere Umgebungsvariablen hinzu (wie unten gezeigt).
Klicken Sie auf die Schaltfläche "Bereitstellen", und Vercel erstellt und bereitstellt Ihr Projekt automatisch.
Sie müssen FireBase -Schlüssel sowohl für die lokale Entwicklung als auch für die Bereitstellung in Vercel konfigurieren. Fügen Sie die folgenden Firebase -Umgebungsvariablen hinzu:
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
Legen Sie die Umgebungsvariablen für die Vercel -Bereitstellung an, indem Sie folgende Schritte befolgen:
Öffnen Sie Ihr Vercel -Projekt und gehen Sie zu "Einstellungen".
Finden Sie "Umgebungsvariablen".
Fügen Sie die obigen FireBase -Konfigurationselemente hinzu und geben Sie die entsprechenden Werte ein.
Diese Anwendung kann einen eigenen WebSocket -Server bereitstellen, und es wird ein WebSocket -Server bereitgestellt. Sie können es verwenden oder nicht. Weitere Informationen finden Sie in Weblink-WS-Server.
Erstellen Sie für die lokale Entwicklung eine .env.local -Datei und fügen Sie die Firebase -Tasten hinzu:
# 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 Wenn Sie P2P -Verbindungen außerhalb eines lokalen Netzwerks (in einer NAT -Umgebung) verwenden, müssen Sie möglicherweise einen Turn -Server konfigurieren, um sicherzustellen, dass Verbindungen hergestellt werden. Auf der Seite "Einstellungen" können Sie den Turn -Server mit dem folgenden Format konfigurieren, Coturn- und Cloudflare -Turn -Server unterstützen und mehrere Konfigurationen mit neuen Zeilenzeichen separat:
Konfigurationsformat drehen:
# 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
Hier sind einige Methoden, um öffentliche Betäubung zu bekommen und Server zu drehen:
Diese Anwendung stellt standardmäßig die Verwendung von Googles Stun Server. Wenn Sie keine Verbindung herstellen können, konfigurieren Sie bitte Ihren eigenen Stun -Server. Sie können unter https://gist.github.com/mondain/b0ec1cf5f60ae726202E für eine Liste öffentlicher Stun -Server finden. Fügen Sie dann den Stun -Server in Format stun:xxxx:xxxx in die Stun -Serverliste auf der Seite "Einstellungen" wie stun:stun.l.google.com:19302 hinzu.
Sie können den Turn -Server verwenden, der von CloudFlare -Anrufen bereitgestellt wird. Bitte besuchen Sie https://developers.cloudflare.com/calls/turn. Fügen Sie dann den Turn -Server in Formatname hinzu name|TURN_TOKEN_ID|API_TOKEN|cloudflare in die Seite "Turn Server" auf der Seite "Einstellungen".
Sie können sich unter https://github.com/coturn/coturn beziehen, um Ihren eigenen Turn -Server einzurichten.
Die Anwendung unterstützt derzeit die LAN-Verwendung in nicht sicheren Umgebungen. Stellen Sie sicher, dass sich Ihre Geräte in derselben LAN befinden und die Firewall keine P2P -Verbindungen blockiert.
Gleichzeitig führen Sie Weblink-WS-Server aus, um WebSocket-Verbindungen zu unterstützen.
Beiträge sind willkommen! Bitte zögern Sie nicht, Probleme zu senden oder Anfragen zu ziehen.
Dieses Projekt ist im Rahmen der MIT-Lizenz offen.