# share **Repository Path**: remedo/share ## Basic Information - **Project Name**: share - **Description**: 个人手机pc同步软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-15 - **Last Updated**: 2026-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ShareLink LAN-based bidirectional file sharing between Android phones and PCs. ## Architecture Two peer nodes discover each other via mDNS on the same WiFi network, pair via QR code scanning with Ed25519 mutual authentication, then access each other's shared directories through signed HTTP file APIs. - **PC**: Node.js Fastify backend (file server + mDNS) + React web UI (127.0.0.1 only) - **Android**: Kotlin + Jetpack Compose app with embedded NanoHTTPD file server + NSD discovery ## Quick Start ### PC Server ```bash cd pc/web && npm ci && npm run build # build the web UI cd pc/server && npm ci # install server deps SHARELINK_HOME=./data npm start # start the server ``` Open `http://localhost:8090` in your browser. ### Android App ```bash cd android # Set sdk.dir in local.properties to your Android SDK path ./gradlew assembleDebug adb install app/build/outputs/apk/debug/app-debug.apk ``` ### Pairing 1. On PC: open the web UI, go to "devices" tab, click "pair" to show a QR code 2. On Android: open the app, tap "scan" and scan the PC's QR code 3. On PC: accept the incoming pairing request 4. Binding is mutual and persists across restarts ### File Sharing 1. On Android: go to "shares" tab, tap +, grant folder access via SAF 2. On PC: go to "shares" tab, add a folder path 3. Browse and download from the "peer" tab on either side ## Environment Variables - `SHARELINK_HOME`: config storage directory (default: `~/.sharelink`) - `ANDROID_HOME`: Android SDK path (for building the APK) ## Protocol See [docs/PROTOCOL.md](docs/PROTOCOL.md) for the full pairing handshake, signature format, and file API specification.