Installation

Cloud Share consists of two .NET 10 global tools published to NuGet. Installation takes about two minutes on any platform.


Prerequisites

.NET 10 SDK

Both tools require the .NET 10 SDK or Runtime. Download it from dot.net.

  # Verify your .NET version
dotnet --version
# Should output 10.x.x
  

ℹ️ Info: The tools are published as self-contained global tools; if you only want to run them (not build from source) you can install the .NET 10 Runtime instead of the full SDK.

Microsoft Dev Tunnels CLI

The devtunnel CLI is required by the sender. Cloud Share will attempt to install it automatically on first run if it is not found in your PATH. If you prefer to install it manually:

Windows

  winget install Microsoft.devtunnel
  

macOS

  brew install --cask devtunnel
  

Linux

  curl -sL https://aka.ms/DevTunnelCliInstall | bash
  

After installation, verify:

  devtunnel --version
  

Install both tools as .NET global tools. You only need to install the tools on the machines that will use them — the sender on the sending machine, the receiver on the receiving machine.

Install the Sender

  dotnet tool install --global Garrard.CloudShare.Sender
  

Install the Receiver

  dotnet tool install --global Garrard.CloudShare.Receiver
  

Verify installation

  cloud-share-sender --version
cloud-share-receiver --version
  

You should see version output for each tool. If the commands are not found, ensure ~/.dotnet/tools (Linux/macOS) or %USERPROFILE%\.dotnet\tools (Windows) is in your PATH.

⚠️ Warning: On first install you may need to open a new terminal window for the PATH update to take effect.


Update to the latest version

  dotnet tool update --global Garrard.CloudShare.Sender
dotnet tool update --global Garrard.CloudShare.Receiver
  

Uninstall

  dotnet tool uninstall --global Garrard.CloudShare.Sender
dotnet tool uninstall --global Garrard.CloudShare.Receiver
  

Build from source

If you want to build the tools from source:

  # Clone the repository
git clone https://github.com/garrardkitchener/cloud-share.git
cd cloud-share

# Restore dependencies
dotnet restore

# Build
dotnet build --configuration Release

# Run the sender directly
dotnet run --project TunnelSender/TunnelSender.csproj

# Run the receiver directly
dotnet run --project TunnelReceiver/TunnelReceiver.csproj
  

Session data location

Cloud Share saves preferences and session state to:

PlatformPath
Windows%USERPROFILE%\AppData\CloudShare\
macOS / Linux~/AppData/CloudShare/

Files stored:

FilePurpose
preferences.jsonDevTunnels login, UI preferences
receiver-session.jsonLast-used tunnel URL and secret (receiver)

Automatic DevTunnels authentication

The first time you run cloud-share-sender, it will prompt you to authenticate with DevTunnels. You can use:

  • Microsoft account (personal or work/school)
  • GitHub account

Your login is remembered in preferences.json. Use the --reset flag to re-authenticate:

  cloud-share-sender --reset
  

📸 Screenshot needed: installation-devtunnel-auth-prompt.png Description: Terminal showing the DevTunnels authentication prompt with Microsoft/GitHub options