85 lines
3.4 KiB
Markdown
85 lines
3.4 KiB
Markdown
---
|
|
title: AirPipe
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, file-transfer-and-sync, web, share, typescript]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=file-transfer-and-sync]
|
|
---
|
|
|
|
# AirPipe 🪂
|
|
> Partage de fichiers Web local (LAN-first, PWA, TypeScript).
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://airpipe.vercel.app |
|
|
| **GitHub** | https://github.com/sponsors/yshanu (ou repo public) |
|
|
| **License** | MIT |
|
|
| **Langage** | TypeScript (Next.js) |
|
|
| **Étoiles** | 50+ |
|
|
| **Dernière MAJ** | 2025 |
|
|
| **Catégorie** | [[cat-file-transfer-and-sync]] |
|
|
|
|
## Description
|
|
AirPipe est un service minimaliste de **transfert de fichiers entre appareils** sur le même réseau local. Le cas d'usage typique : envoyer une grosse vidéo du téléphone vers le PC (ou inversement) **sans** uploader sur un cloud tiers, sans installer d'application native, sans câble. Tout passe par le navigateur via une **PWA** (Progressive Web App).
|
|
|
|
L'interface détecte automatiquement l'IP locale, propose une URL QR-code que l'on scanne avec son téléphone, puis on glisse-dépose les fichiers qui sont transférés en **WebSocket** ou via des **data channels WebRTC** (P2P dans le navigateur). Le serveur ne fait office que de **signaling** et de relai si nécessaire ; il ne stocke pas les fichiers.
|
|
|
|
Léger, sans base de données, sans tracking, AirPipe s'inspire du « LocalSend » (Android) ou de « Snapdrop » (open source) tout en adoptant un design moderne. C'est un excellent complément à un homelab pour partager rapidement des captures d'écran, des logs, des APK entre appareils.
|
|
|
|
## Installation
|
|
### Docker Compose
|
|
```yaml
|
|
services:
|
|
airpipe:
|
|
image: ghcr.io/yashdeore/airpipe:latest
|
|
container_name: airpipe
|
|
environment:
|
|
- PORT=3000
|
|
- HOST=0.0.0.0
|
|
volumes:
|
|
- ./uploads:/app/uploads
|
|
ports:
|
|
- "3000:3000"
|
|
restart: unless-stopped
|
|
```
|
|
|
|
### npm (Node 20+)
|
|
```bash
|
|
git clone https://github.com/yashdeore/airpipe.git
|
|
cd airpipe && npm install && npm run build
|
|
npm start
|
|
```
|
|
|
|
## Configuration
|
|
1. Lancer le conteneur et accéder à `http://<host>:3000`.
|
|
2. L'UI affiche un QR code vers l'URL locale.
|
|
3. Scanner le QR code avec le téléphone (même réseau Wi-Fi).
|
|
4. Glisser-déposer des fichiers, le transfert démarre.
|
|
5. Optionnel : HTTPS via reverse proxy (Caddy recommandé) pour autoriser les PWA features (notifications, fullscreen).
|
|
6. Configurer la rétention des fichiers uploadés (TTL).
|
|
|
|
## Alternatives
|
|
- **Open source** : [[app-microbin]] (paste+file), Snapdrop/Pairdrop (P2P), LocalSend (LAN), Croc (CLI), Wormhole (Magic-Wormhole), ShareDrop.
|
|
- **Propriétaire** : Apple AirDrop, Nearby Share, SHAREit, Xender.
|
|
|
|
## Sécurité
|
|
- Transferts LAN par défaut : pas d'exposition Internet.
|
|
- HTTPS recommandé si usage en WAN (mDNS ne marche pas partout).
|
|
- Pas de stockage cloud, pas de logs distants.
|
|
- PWA installable avec permissions minimales.
|
|
- Pas d'authentification : prévoir un reverse proxy avec Authelia/BasicAuth si exposition publique.
|
|
|
|
## Ressources
|
|
- Code : https://github.com/yashdeore/airpipe
|
|
- Démo : https://airpipe.vercel.app
|
|
- Issues : https://github.com/yashdeore/airpipe/issues
|
|
|
|
## Pages Liées
|
|
- [[cat-file-transfer-and-sync]] — Catégorie parente
|
|
- [[app-microbin]] — Paste & file share
|
|
- [[app-syncthing]] — P2P files sync
|
|
- [[recettes-docker-compose]] — Modèles de stacks
|