diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index f2970c0..8039a04 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -36,7 +36,7 @@ If applicable, add screenshots to help explain your problem. **Bug occurs on official PairDrop instance https://pairdrop.net/** No | Yes -Version: v1.10.9 +Version: v1.10.10 **Bug occurs on self-hosted PairDrop instance** No | Yes @@ -44,7 +44,7 @@ No | Yes **Self-Hosted Setup** Proxy: Nginx | Apache2 Deployment: docker run | docker compose | npm run start:prod -Version: v1.10.9 +Version: v1.10.10 **Additional context** Add any other context about the problem here. diff --git a/README.md b/README.md index d34786d..9fd70f1 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,18 @@

Local file sharing in your web browser. -
-
+
+ Inspired by Apple's AirDrop. +
+ Fork of Snapdrop. +
+
Report a bug
Request feature

+
## Features File sharing on your local network that works on all platforms. diff --git a/docs/faq.md b/docs/faq.md index 90eed40..c685658 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -188,7 +188,7 @@ to learn more about STUN, TURN and WebRTC.
Yes. Your files are sent using WebRTC, encrypting them in transit. -Still you have to trust the PairDrop server. To ensure the connection is secure and there is no [MITM](https://wikiless.org/wiki/Man-in-the-middle_attack) there is a plan to make PairDrop +Still you have to trust the PairDrop server. To ensure the connection is secure and there is no [MITM](https://en.m.wikipedia.org/wiki/Man-in-the-middle_attack) there is a plan to make PairDrop zero trust by encrypting the signaling and implementing a verification process. See [issue #180](https://github.com/schlagmichdoch/PairDrop/issues/180) to keep updated.
diff --git a/docs/host-your-own.md b/docs/host-your-own.md index 2c22a3d..f846db7 100644 --- a/docs/host-your-own.md +++ b/docs/host-your-own.md @@ -556,10 +556,6 @@ a2enmod proxy a2enmod proxy_http ``` -```bash -a2enmod proxy_wstunnel -``` -
Create a new configuration file under `/etc/apache2/sites-available` (on Debian) @@ -570,18 +566,10 @@ Create a new configuration file under `/etc/apache2/sites-available` (on Debian) ```apacheconf - ProxyPass / http://127.0.0.1:3000/ - RewriteEngine on - RewriteCond %{HTTP:Upgrade} websocket [NC] - RewriteCond %{HTTP:Connection} upgrade [NC] - RewriteRule ^/?(.*) "ws://127.0.0.1:3000/$1" [P,L] + ProxyPass / http://127.0.0.1:3000/ upgrade=websocket - ProxyPass / https://127.0.0.1:3000/ - RewriteEngine on - RewriteCond %{HTTP:Upgrade} websocket [NC] - RewriteCond %{HTTP:Connection} upgrade [NC] - RewriteRule ^/?(.*) "wws://127.0.0.1:3000/$1" [P,L] + ProxyPass / https://127.0.0.1:3000/ upgrade=websocket ``` @@ -589,14 +577,10 @@ Create a new configuration file under `/etc/apache2/sites-available` (on Debian) ```apacheconf - Redirect permanent / https://127.0.0.1:3000/ + Redirect permanent / https://127.0.0.1:3000/ - ProxyPass / https://127.0.0.1:3000/ - RewriteEngine on - RewriteCond %{HTTP:Upgrade} websocket [NC] - RewriteCond %{HTTP:Connection} upgrade [NC] - RewriteRule ^/?(.*) "wws://127.0.0.1:3000/$1" [P,L] + ProxyPass / http://127.0.0.1:3000/ upgrade=websocket ``` diff --git a/docs/how-to.md b/docs/how-to.md index 2073748..6513b13 100644 --- a/docs/how-to.md +++ b/docs/how-to.md @@ -45,11 +45,11 @@ This pairdrop-cli version was released alongside v1.10.4 #### Linux / Mac 1. Download the latest _pairdrop-cli.zip_ from the [releases page](https://github.com/schlagmichdoch/PairDrop/releases) ```shell - wget "https://github.com/schlagmichdoch/PairDrop/releases/download/v1.10.9/pairdrop-cli.zip" + wget "https://github.com/schlagmichdoch/PairDrop/releases/download/v1.10.10/pairdrop-cli.zip" ``` or ```shell - curl -LO "https://github.com/schlagmichdoch/PairDrop/releases/download/v1.10.9/pairdrop-cli.zip" + curl -LO "https://github.com/schlagmichdoch/PairDrop/releases/download/v1.10.10/pairdrop-cli.zip" ``` 2. Unzip the archive to a folder of your choice e.g. `/usr/share/pairdrop-cli/` ```shell diff --git a/package-lock.json b/package-lock.json index 8355630..42a0b80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pairdrop", - "version": "1.10.9", + "version": "1.10.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pairdrop", - "version": "1.10.9", + "version": "1.10.10", "license": "ISC", "dependencies": { "express": "^4.18.2", diff --git a/package.json b/package.json index ef07b97..5ed2324 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pairdrop", - "version": "1.10.9", + "version": "1.10.10", "type": "module", "description": "", "main": "server/index.js", diff --git a/public/index.html b/public/index.html index 2f16499..a2c4584 100644 --- a/public/index.html +++ b/public/index.html @@ -622,7 +622,7 @@

PairDrop

-
v1.10.9
+
v1.10.10
diff --git a/public/manifest.json b/public/manifest.json index 63a9bb9..5198d81 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -26,8 +26,6 @@ } ], "background_color": "#efefef", - "start_url": "/", - "scope": "/", "display": "minimal-ui", "theme_color": "#3367d6", "screenshots" : [ diff --git a/public/scripts/ui.js b/public/scripts/ui.js index c9bd365..873e612 100644 --- a/public/scripts/ui.js +++ b/public/scripts/ui.js @@ -2101,7 +2101,7 @@ class ReceiveTextDialog extends Dialog { let linkNodePlaceholder = `${p}${m}`; // add linkNodePlaceholder to text node and save a reference to linkNodes object - linkNodes[linkNodePlaceholder] = `${url}`; + linkNodes[linkNodePlaceholder] = `${url}`; return `${whitespaceOrSpecial}${linkNodePlaceholder}`; } // link is not valid -> do not replace diff --git a/public/scripts/util.js b/public/scripts/util.js index fc418ff..7d6c54a 100644 --- a/public/scripts/util.js +++ b/public/scripts/util.js @@ -477,13 +477,16 @@ function getThumbnailAsDataUrl(file, width = undefined, height = undefined, qual return new Promise(async (resolve, reject) => { try { if (file.type === "image/heif" || file.type === "image/heic") { - // browsers can't show heic files --> convert to jpeg before creating thumbnail - let blob = await fileToBlob(file); - file = await heic2any({ - blob, - toType: "image/jpeg", - quality: quality - }); + // hotfix: Converting heic images taken on iOS 18 crashes page. Waiting for PR #350 + reject(new Error(`Hotfix: Converting of HEIC/HEIF images currently disabled.`)); + return; + // // browsers can't show heic files --> convert to jpeg before creating thumbnail + // let blob = await fileToBlob(file); + // file = await heic2any({ + // blob, + // toType: "image/jpeg", + // quality: quality + // }); } let imageUrl = URL.createObjectURL(file); diff --git a/public/service-worker.js b/public/service-worker.js index 7f8cb3f..c247828 100644 --- a/public/service-worker.js +++ b/public/service-worker.js @@ -1,4 +1,4 @@ -const cacheVersion = 'v1.10.9'; +const cacheVersion = 'v1.10.10'; const cacheTitle = `pairdrop-cache-${cacheVersion}`; const forceFetch = false; // FOR DEVELOPMENT: Set to true to always update assets instead of using cached versions const relativePathsToCache = [