P2P file transfer, personal NAS, and remote desktop in one client
Direct peer connection · Encrypted by default · Free · Windows / macOS / Linux
A desktop app for large files, cross-device work, and access to a disk you run yourself. On the login screen you can register in one click and get a webrpc Token automatically—or sign in with an existing Token—to chat, send files, manage your drive, or remotely control a Windows PC.
Download a compiled build and run it →
- What File2File is
- Who it is for
- Screenshots
- Features
- Download and run
- How to use
- Current limits
- Build from source
- FAQ
- Stack
- Roadmap
File2File is a cross-platform desktop client on webrpc. One window covers three jobs:
- Peer-to-peer transfer — chat and send files of any size after a direct session. Nothing has to sit on a public cloud first.
- Personal drive — connect to your own
mywebdisk-serverand browse, upload, download, and search a folder you choose, like a file manager. - Remote desktop — view and mouse-control another computer’s screen on a connected PC session (Windows can be controlled; macOS cannot be the controlled side yet).
The channel is encrypted by default. No public IP is required. Files are not hosted on a central drive. Your Token is your identity; an optional passphrase keeps strangers out.
This is not a reskinned consumer cloud disk, and it is not a paid remote-control suite. The client is free. Prebuilt binaries are in the repository.
- People who move gigabyte installers, images, and media packs across Windows, Mac, and Linux
- Anyone who wants to reach a home PC or NAS folder from outside, and keep the data on a path they control
- Cases where you need to look at and click a Windows desktop for a while, without installing a separate remote tool
- Families or small teams who want chat, files, and an occasional voice call in one place
Login: one-click register for a Token, or sign in with one you already have
Session: text, screenshots, and large files on one encrypted channel (example: 2.76 GB at 3.93 MB/s)
Voice: incoming-call dialog with Answer / Decline
Personal NAS server: start mywebdisk-server on the machine that holds the files
Drive explorer: after you connect your own disk, browse capacity, upload, download, and search
Remote desktop: control a Windows PC, with in-app fullscreen and mouse input
- Session remarks and local history across logins
- Enter to send, Shift+Enter for a new line
- Pick a file or drop it on the window; cards show size, time, and average speed
- Built for large payloads so multi-gigabyte transfers can finish in one go
Run mywebdisk-server on a home PC, spare box, or any folder. Add that Token under Drive connections in File2File. Data stays in the directory you pass to the server. Reads and writes use the same encrypted webrpc channel.
Source and prebuilt binaries for each platform are in that repository — download and run, no compile required:
https://github.com/xiaoming-software/mywebdisk
The explorer supports:
| Action | What you get |
|---|---|
| Browse | List / icon views, breadcrumbs, total and free space |
| Upload | Button upload, or drop local files into the current folder |
| Download | Context-menu download; a task panel for progress and retry |
| Organize | New item, rename, move, delete, zip |
| Search | Search box at the top of the drive view |
| Multi-select | Marquee select and batch move |
Example server command (on the machine that stores the files):
./mywebdisk-server \
--token=<webrpc Token> \
--passwd=<Token password> \
--permission=<passphrase you choose> \
--path=<local folder to share>When the log says the service is ready, add a drive connection in File2File with the same Token.
On a connected computer session (not a drive session), click Remote control. After the peer accepts, their desktop appears.
- Fullscreen — enlarge the picture inside the File2File window
- Mouse — move, left click, right click, double-click, scroll
- Stats — resolution, FPS, and KB/s in the header
- Direction — you control their PC; you are not sharing your own screen
See Current limits for what is not supported yet.
- Voice: invite, answer, decline, hang up, mute, with echo cancellation
- Screenshots: capture a region and send it to the session; optionally hide this window first (macOS shortcut
⌃⌘A)
| Strength | What it means |
|---|---|
| Zero setup | One-click register on the login page: creates a webrpc account, claims free Token(s), fills the form—confirm and you are in. No browser signup first. |
| P2P direct | After the handshake, data goes peer to peer. No public IP. No upload-then-download detour. |
| Encrypted by default | The transfer channel is encrypted. Token plus an optional passphrase. |
| Your disk, your path | You pick the folder and the machine. File2File only connects and reads/writes. |
| Remote control in the same app | Chat, files, and remote desktop without switching tools. |
| Free | No per-transfer fee for the client. |
| Cross-platform | macOS, Windows, and Linux (x86_64 / ARM64) share the same flow. |
| Ready to run | Prebuilt binaries live in the repo. |
You do not need Rust or Tauri installed. Open the prebuilt folder and take the file for your OS:
https://github.com/xiaoming-software/File2File-Desktop/tree/main/dist-tauri
| Platform | Path | Notes |
|---|---|---|
| Windows 10/11 x64 | dist-tauri/windows-x64/File2File.exe |
WebView2 required (usually already on Win10/11) |
| macOS 11+ | dist-tauri/macos/File2File.app |
If Gatekeeper blocks it, allow the app under Privacy & Security |
| Linux amd64 | .deb in dist-tauri/linux-amd64/ |
Debian / Ubuntu and similar |
| Linux arm64 | .deb in dist-tauri/linux-arm64/ |
ARM boards, 64-bit Raspberry Pi |
The personal drive also needs mywebdisk-server on the machine that holds the files. File2File is the client. Download a prebuilt server from:
https://github.com/xiaoming-software/mywebdisk
That repo includes macOS / Linux / Windows binaries and the source. When you use File2File as the drive client, you only need mywebdisk-server, not the separate MyWebDisk desktop app in the same repo.
Every peer (and the NAS server) needs a Token and password from webrpc.cn. File2File offers two paths; new users should start with one-click register.
For first-time users who do not have a Token yet. Everything happens on the login page.
- Launch File2File and click Quick register (一键注册).
- The app automatically: creates a webrpc console account → signs in → claims your free device Token(s), with a progress dialog along the way.
- When done, Token, password, and a random auth passphrase are filled into the form and a summary dialog lets you review them.
- Click Sign in now to enter the workspace, or Sign in later to check the fields and log in manually.
About the free Token
- One-click registration grants 2 device Tokens ready for File2File and P2P sessions.
- Free Tokens include an expiry date (about one month). The top bar warns you before expiry; one-click users can open Manage tokens to reach the webrpc console for email, all Tokens, and renewal.
- Plans and pricing are defined on webrpc.cn.
Tip: enable Remember token to pick saved accounts from the dropdown later. You can set an account label per saved Token so multiple logins stay easy to tell apart.
If you already registered at webrpc.cn:
- Launch File2File.
- Enter Token and password (from the web console).
- Auth passphrase is optional. If both sides use the same one, unknown peers cannot connect.
- Check Remember token if you want it filled next time, then sign in.
The top bar shows Token, passphrase, status, and live session count. One-click users also see Token expiry and Manage tokens.
- Under Chat sessions, create a session with the peer Token (and their passphrase if they set one).
- Select it, click Connect, wait until it shows connected.
- The peer must be online.
| Action | How |
|---|---|
| Send text | Type and press Enter |
| Send a file | Select file, or drop a file on the window |
| Send a screenshot | Screenshot |
| Voice | Voice; the peer answers or declines |
| Remote control | Remote control on a computer session, after they accept |
- Download
mywebdisk-serverfor your OS from mywebdisk. Start it on the machine you want to share:--pathis the folder,--tokenis that machine’s webrpc Token. - In File2File, Drive connections → New, enter the drive Token (same as the server
--token). - When connected, use the explorer: capacity, folders, upload, download, search.
- Drive sessions cannot start remote desktop. Remote control is computer-to-computer only.
- Connect a computer session as in step 3.
- Click Remote control. The peer gets a prompt; after they accept, the screen appears.
- Use the mouse. Click Fullscreen to enlarge.
- Click End to stop.
If the peer is macOS, File2File reports that controlling a Mac desktop is not supported yet.
Log out in the top-right disconnects and returns to login. Local session history stays on disk.
These are product limits in this version:
- Remote desktop has no keyboard input yet — mouse only.
- macOS cannot be remotely controlled. A Mac can still control a Windows PC.
- Remote desktop works on computer sessions only, not drive / NAS sessions.
- Some higher-privilege windows on the remote OS may not accept clicks. That is an OS rule, not a missing button in File2File.
- The personal drive needs
mywebdisk-serverrunning. If the server is down, the client cannot connect.
Most people should use the prebuilt files above. Developers need Rust (cargo) and Tauri CLI 2. macOS also needs Xcode Command Line Tools. Cross-platform packaging needs Docker.
# Current host only
./build-tauri.sh
# All targets: macOS on the host, Linux / Windows in Docker
./build-all.sh
# A single target
./build-all.sh macos
./build-all.sh linux-arm64
./build-all.sh linux-amd64
./build-all.sh windowsOutput directory: dist-tauri/.
dist-tauri/
├── macos/File2File.app
├── linux-amd64/*.deb
├── linux-arm64/*.deb
└── windows-x64/File2File.exe
Dev mode:
cd src-tauri
cargo tauri devHow is this different from a normal cloud drive?
A typical cloud drive stores files on a vendor’s machines. File2File chat transfers go device to device. The personal-drive feature talks to your mywebdisk-server and a folder you choose.
Do I have to compile it?
No. Use the binaries in dist-tauri.
Does it work without a public IP?
Yes. webrpc does not require you to expose a port or own a static public address.
Do I have to sign up on the website first?
No. Use Quick register on the login page to create an account and claim free Token(s) (about one month of validity), then confirm sign-in. Existing Token holders can still paste credentials manually.
How long does the free Token last?
Free Tokens from one-click register expire after about one month. The app warns you beforehand; use Manage tokens in the top bar (one-click users) or visit webrpc.cn to renew.
What if I lose the Token?
Follow the process on webrpc.cn. Do not share the Token or passphrase with people you do not trust.
Why does controlling a Mac show “not supported”?
This release does not allow a Mac to be the controlled desktop. Controlling Windows is unchanged.
Can I type on the remote machine?
Not yet. Mouse only; keyboard input is on the roadmap.
The drive will not connect.
Download and start mywebdisk-server for your OS from mywebdisk. Confirm the service is ready, Token and passphrase match, both sides are logged into webrpc, and --path exists and is writable.
| Layer | Tech |
|---|---|
| Desktop shell | Tauri 2 (Rust) |
| UI | HTML / CSS / JavaScript |
| P2P channel | webrpc SDK |
| Voice | cpal capture/playback + AEC3 echo cancellation |
| Remote video | Screen capture + H.264, drawn on a canvas |
- Keyboard input for remote desktop
- macOS as a controlled desktop
- Live chat translation
- Video calls
- More session and transfer polish
- File2File prebuilt downloads: dist-tauri
- Personal NAS server mywebdisk (source and prebuilt binaries): xiaoming-software/mywebdisk
- Get a Token: https://webrpc.cn
- Chinese readme: README.md
- Issues and ideas: open an Issue in this repository
File2File, P2P file transfer, peer-to-peer large files, webrpc, personal NAS, personal cloud drive, remote desktop, remote PC control, cross-platform desktop client, free remote control, no public IP
File2File only moves data between peers. It does not host your files. Keep your Token and passphrase private. Remote desktop shows the other screen — only connect to people you trust.






