Skip to content

Latest commit

 

History

History
392 lines (275 loc) · 17 KB

File metadata and controls

392 lines (275 loc) · 17 KB

File2File logo

File2File

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.

简体中文 · English

Download prebuilt binaries macOS, Windows, Linux webrpc Tauri 2 Version 0.1.0

Download a compiled build and run it →


Contents


What File2File is

File2File is a cross-platform desktop client on webrpc. One window covers three jobs:

  1. Peer-to-peer transfer — chat and send files of any size after a direct session. Nothing has to sit on a public cloud first.
  2. Personal drive — connect to your own mywebdisk-server and browse, upload, download, and search a folder you choose, like a file manager.
  3. 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.


Who it is for

  • 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

Screenshots

File2File login screen using a webrpc Token

Login: one-click register for a Token, or sign in with one you already have

File2File chat session with large file transfer progress

Session: text, screenshots, and large files on one encrypted channel (example: 2.76 GB at 3.93 MB/s)

File2File incoming voice call dialog

Voice: incoming-call dialog with Answer / Decline

Starting mywebdisk-server from a terminal for a personal NAS

Personal NAS server: start mywebdisk-server on the machine that holds the files

File2File drive explorer connected to a home NAS with capacity and file grid

Drive explorer: after you connect your own disk, browse capacity, upload, download, and search

File2File remote desktop controlling a Windows PC with fullscreen and end buttons

Remote desktop: control a Windows PC, with in-app fullscreen and mouse input


Features

Chat and large file transfer

  • 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

Personal drive / NAS

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.

Remote desktop

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

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

Why File2File

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.

Download and run

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.


How to use

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.

Option A: One-click register (recommended)

For first-time users who do not have a Token yet. Everything happens on the login page.

  1. Launch File2File and click Quick register (一键注册).
  2. The app automatically: creates a webrpc console account → signs in → claims your free device Token(s), with a progress dialog along the way.
  3. When done, Token, password, and a random auth passphrase are filled into the form and a summary dialog lets you review them.
  4. 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.

Option B: Sign in with an existing Token

If you already registered at webrpc.cn:

  1. Launch File2File.
  2. Enter Token and password (from the web console).
  3. Auth passphrase is optional. If both sides use the same one, unknown peers cannot connect.
  4. 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.

3. Chat and send files to another PC

  1. Under Chat sessions, create a session with the peer Token (and their passphrase if they set one).
  2. Select it, click Connect, wait until it shows connected.
  3. 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

4. Connect your personal drive

  1. Download mywebdisk-server for your OS from mywebdisk. Start it on the machine you want to share: --path is the folder, --token is that machine’s webrpc Token.
  2. In File2File, Drive connections → New, enter the drive Token (same as the server --token).
  3. When connected, use the explorer: capacity, folders, upload, download, search.
  4. Drive sessions cannot start remote desktop. Remote control is computer-to-computer only.

5. Control a Windows desktop

  1. Connect a computer session as in step 3.
  2. Click Remote control. The peer gets a prompt; after they accept, the screen appears.
  3. Use the mouse. Click Fullscreen to enlarge.
  4. Click End to stop.

If the peer is macOS, File2File reports that controlling a Mac desktop is not supported yet.

6. Sign out

Log out in the top-right disconnects and returns to login. Local session history stays on disk.


Current limits

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-server running. If the server is down, the client cannot connect.

Build from source

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 windows

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

FAQ

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


Stack

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

Roadmap

  • Keyboard input for remote desktop
  • macOS as a controlled desktop
  • Live chat translation
  • Video calls
  • More session and transfer polish

Links


Topics

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.