跳到主內容

RustDesk 修改連線設定 - Windows

  BUBU 上一篇有寫用編譯方式進行客戶端連線方式,那這一篇會寫說怎麼用批次檔方式修改連線設定,原本 BUBU 是照著官方文件用 CLI 方式來匯入設定結果都沒有用後來應該是可以確認除非您有用官方提供的 Pro 版本那些指令才會有生效。

運行環境


  環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: Windows 10、11

設定過程


建立批次檔

  本批次檔是跟 ChatGPT 產生出來測試沒有問題,那 RustDesk 設定檔是 RustDesk2.toml

  • 建立批次檔
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: 設定變數
:: 官方提供最新版客戶端程式位置
set "url=https://github.com/rustdesk/rustdesk/releases/download/1.3.0/rustdesk-1.3.0-x86_64.exe"
set "installer=rustdesk-1.3.0-x86_64.exe"
:: 設定檔位置
set "configPath=%appdata%\RustDesk\config\RustDesk2.toml"
:: 官方預設連線位置
set "search=rendezvous_server = 'rs-ny.rustdesk.com:21116'"
:: 修改成自己設建置位置
set "replace=rendezvous_server = 'rust.xxxx.com:21116'"
set "notepadProcName=notepad.exe"

echo 下載 RustDesk 安裝檔中...
:: 下載安裝檔
powershell -command "Invoke-WebRequest -Uri %url% -OutFile %installer%"

:: 靜默安裝
echo 安裝 RustDesk 中...
start /wait "" %installer% --silent-install

:: 等待 5 秒以確保程式已啟動
timeout /t 30 /nobreak >nul

:: 等待安裝完成
echo 安裝完成,準備啟動 RustDesk...

:: 啟動 RustDesk 程式
start "" "%ProgramFiles%\RustDesk\rustdesk.exe"

:: 等待 5 秒以確保程式已啟動
timeout /t 30 /nobreak >nul

:: 修改設定檔案
if exist "%configPath%" (
    echo 修改設定檔中...
    (for /f "usebackq delims=" %%i in ("%configPath%") do (
        set "line=%%i"
        if "!line!"=="%search%" (
            echo %replace%
        ) else (
            echo !line!
        )
    )) > "%configPath%.tmp"
    
    :: 在設定檔最後新增設定
	:: 設 ID 伺服器位置
    echo relay-server = 'rust.xxxx.com' >> "%configPath%.tmp"
	:: 設定該站台的金鑰
    echo key = '站台金鑰' >> "%configPath%.tmp"
	:: 設定中繼站台位置
    echo custom-rendezvous-server = 'rust.xxxx.com' >> "%configPath%.tmp"
    
    move /Y "%configPath%.tmp" "%configPath%"
) else (
    echo 無法找到設定檔: %configPath%
)

:: 在背景開啟設定檔,不顯示在畫面上
echo 在背景開啟設定檔中...
start /min notepad.exe "%configPath%"

:: 監控 RustDesk 是否正常啟動
echo 檢查 RustDesk 是否正常啟動中...
timeout /t 30 /nobreak >nul
tasklist /fi "imagename eq rustdesk.exe" | find /i "rustdesk.exe" >nul 2>&1
if errorlevel 1 (
    echo RustDesk 未啟動,請檢查問題。
) else (
    echo RustDesk 啟動正常,關閉背景中的設定檔...
    taskkill /f /im %notepadProcName% >nul 2>&1
)


echo 完成!
endlocal
pause
exit
手動重啟服務

  • 在批次檔的執行畫面如果有看到 監控 RustDesk 是否正常啟動 這些字眼,請在畫面右下角看會看到藍色的兩個半圓圖案,點選他按右鍵會看到退出

  • 退出之後再重新執行一次程式,會看到服務尚未執行再點點選啟動服務

  • 在進到設定裡面確認網路裡面的設定是否有值,如果有值的話會像下面示這樣子才會是正確的

補充說明


備註





參考相關網頁