Jade Internet Design Ltd. (est. 1999)

OneDrive Client for Linux

Version: v2.5.9-42-g8812182

Built: 2026-01-25 02:33:17

SHA-256 3c77052244d85b55abb92828df8a5d6ed09851a029dd257af9b26bf847c3d82d

How to Install and Run This OneDrive Build as a User Systemd Service

This guide shows how to set up the downloaded onedrive binary so it runs automatically using systemd --user (no sudo required).

1. Place the Binary

mkdir -p ~/.local/bin
cp onedrive-v2.5.9-42-g8812182 ~/.local/bin/onedrive
chmod +x ~/.local/bin/onedrive

2. Create the Systemd Service

nano ~/.config/systemd/user/onedrive.service
[Unit]
Description=OneDrive Free Client (Personal Build)
After=network-online.target

[Service]
ExecStart=%h/.local/bin/onedrive --monitor
Restart=on-failure
RestartSec=3
Environment=PATH=%h/.local/bin:/usr/bin:/bin

[Install]
WantedBy=default.target

3. Enable + Start the Service

systemctl --user daemon-reload
systemctl --user enable --now onedrive.service
systemctl --user status onedrive.service
journalctl --user -u onedrive.service -f

(Optional) Enable Automatic Updates

If you want this OneDrive build to stay updated automatically, install the updater script and a user-level systemd timer.

4. Install the Update Script

mkdir -p ~/.local/bin
nano ~/.local/bin/update-onedrive.sh
#!/bin/bash
set -e

BASE_URL="https://onedrive.jadeinternet.net"
BIN="$HOME/.local/bin/onedrive"
TMP="$HOME/.local/bin/onedrive.new"

get_local_ver() {
    if [ -x "$BIN" ]; then
        "$BIN" --version | awk '{print $2}'
    else
        echo "none"
    fi
}

get_remote_ver() {
    curl -fs "$BASE_URL/index.html" |
        grep -o 'href="onedrive-[^"]*"' |
        head -n1 |
        sed 's/.*onedrive-\([^"]*\)".*/\1/'
}

LOCAL_VER=$(get_local_ver)
REMOTE_VER=$(get_remote_ver)

[ -z "$REMOTE_VER" ] && exit 0
[ "$LOCAL_VER" = "$REMOTE_VER" ] && exit 0

echo "Updating OneDrive $LOCAL_VER → $REMOTE_VER"

curl -f "$BASE_URL/onedrive-$REMOTE_VER" -o "$TMP"
chmod 755 "$TMP"
mv "$TMP" "$BIN"

systemctl --user restart onedrive
chmod +x ~/.local/bin/update-onedrive.sh

5. Create the Service

nano ~/.config/systemd/user/onedrive-update.service
[Unit]
Description=Update OneDrive binary if a newer build is available
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=%h/.local/bin/update-onedrive.sh

6. Create the Timer

nano ~/.config/systemd/user/onedrive-update.timer
[Unit]
Description=Run OneDrive updater daily

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

7. Enable the Updater

systemctl --user daemon-reload
systemctl --user enable --now onedrive-update.timer
systemctl --user list-timers | grep onedrive
systemctl --user start onedrive-update.service

This will check once per day and replace the binary only when a newer version is available. Your running onedrive service will be restarted automatically when an update is installed.