---
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
