Overview All changes saved

CONNECTED WORKSPACE 01

Everything where
you expect it.

Your Windows and Linux folders, in one quiet place.
Synced on your terms.

⌘Linux
⊞Windows

Synced moments ago

FOLDER LINKS 03

Your connected places

DROP ZONE

Send something across

RECENTLY MOVED

Latest activity

SERVER STATUS LIVE

Your connection, at a glance

Server onlineAPI responding · secure connection
12 ms
Uploaded today1.24 GB63% of 2 GB sync allowance
Downloaded today842 MB42% of 2 GB sync allowance
Files in queue3Waiting for the other device

SEND ACROSS ↗

Place a file exactly
where you need it.

Choose a file, choose a destination on Windows, and it will be waiting when you arrive.

⊞
Windows laptopLast seen 3 minutes ago

SEND TO

OTHER SIDE ◫

See what’s on
the other side.

Browse any allowed Windows path, without syncing everything.

⊞
Windows laptop Available now

Type a full Windows path such as D:\Projects\client-site, or search by file name inside the current folder. Only approved folders are accessible.

WINDOWS FOLDERS

Windows / Desktop
No matching files in this folder.

ACTIVITY ◷

A clear trail of
every movement.

Transfers, restored versions, and protected deletes stay visible here.

SHARED NOTES ✦

Leave a note
for your other self.

Notes appear across every connected device as soon as they’re saved.

Saved locally

SETTINGS ⚙

Keep control
of the connection.

DUALINK stays deliberately light: it watches only the folders you link.

◌

Safe Delete

Deleted files stay in DUALINK Trash before anything is removed from the other side.

◷

Version history

Keep restore points whenever a synced file changes.

◒

Sync schedule

Sync quietly when devices wake up, then check only for linked folder changes.

F

DUALINK

Made by FARES ALAMRI — FAA
faaa.space ↗

v0.1.0

DUALINK WIKI ?

Set it up once.
Move freely after.

Everything needed to connect Windows, Linux, your server, and a second device.

01 · START HERE

What DUALINK connects

DUALINK has two parts: this dashboard, and a small companion agent on every computer. The dashboard stores your links and shows progress. The agent sees only the folders you approve and transfers queued files when that device starts.

For dual-boot

Linux and Windows are never running at the same moment. DUALINK places transfers in your server queue. When you boot the other system, its agent fetches them automatically.

02 · SERVER

Set up the website and database

  1. Upload the DUALINK folder to a PHP 8.2+ host with HTTPS enabled.
  2. Open phpMyAdmin, select your database, then import api/schema.sql.
  3. Copy api/config.example.php to api/config.php and add your host’s database details and Google OAuth keys.
  4. Keep api/config.php outside Git and outside the public web directory when your host allows it.
  5. Create a Google OAuth “Web application”, add your HTTPS callback URL, and complete server-side ID-token verification in api/auth/google-callback.php.

Open your domain in a browser. The Server Status card should change to Server online when the health endpoint is configured.

03 · LINUX

Connect your Linux system

  1. Install the DUALINK desktop companion from the project releases.
  2. Sign in with the same Google account used on the website.
  3. Name the device, for example Linux workstation.
  4. Select each Linux folder you want to link and choose its Windows destination.
  5. Allow notifications if you want “project.zip arrived” messages.

For right-click Send to DUALINK, enable the file-manager integration from the companion’s Settings. It adds Send to DUALINK to supported file-manager menus.

04 · WINDOWS

Connect your Windows system

  1. Install and open the companion app after booting Windows.
  2. Sign in with the exact same Google account.
  3. Choose your target folders such as Downloads, Desktop, Documents, or D:\Projects.
  4. Accept the folder permissions. DUALINK cannot read anything outside folders you explicitly link.
  5. Keep “Start with Windows” enabled so queued Linux transfers arrive automatically.

05 · OTHER SIDE

Browse without syncing

Open Other Side, type a path like C:\Users\Fares\Downloads, then select Go. Use the search field to filter by file or folder name. Select Bring to Linux to queue only that item; no full-folder sync is created.

For safety, the desktop agent rejects paths outside your approved folder roots. This prevents a browser session from exploring the whole operating system.

06 · SECURITY

Your files and database stay private

  • Use HTTPS everywhere, never plain HTTP in production.
  • Database credentials belong only in api/config.php; the file is ignored by Git and must not be public.
  • Use a unique database user with access only to the DUALINK database.
  • Google login is verified server-side; never trust a Google profile sent directly from the browser.
  • Store uploaded file objects outside public_html or in private object storage with short-lived signed URLs.

07 · HELP

When something does not arrive

Server shows offline
Check HTTPS, PHP error logs, database connection, and the API health endpoint.
File stays in queue
Boot the other system and make sure its companion is signed in with the same Google account.
Path is rejected
Add that folder as an approved location from the desktop companion, then retry.
Two edits conflict
Choose Keep Windows, Keep Linux, or Keep both. DUALINK never overwrites a conflict silently.

SEND ACROSS

Send a file to Windows

NEW FOLDER LINK

Connect two places

✓
Sent acrossYour file is waiting on Windows.
DUALINK

YOUR CONNECTED WORKSPACE

Everything where
you expect it.

Sign in once to connect your Linux, Windows, and web devices.

Continue with GoogleGoogle is the only sign-in method. Your file access stays limited to folders you approve.