1. 程式人生 > 其它 >通過域名執行群暉網路儲存伺服器中的AutoHotkey指令碼 2022年4月

通過域名執行群暉網路儲存伺服器中的AutoHotkey指令碼 2022年4月

 

不下載檔案直接通過域名在公網上執行群暉網路儲存伺服器中的AutoHotkey指令碼,並批量自動靜默的安裝和設定電腦應用程式軟體的方法。

 

 

 

  1. 通過AutoHotkey指令碼的自定義主視窗中的進度條瞭解AutoHotkey指令碼執行的進度。
  2. 通過AutoHotkey指令碼的後臺模擬鍵盤滑鼠和控制元件操作對nd2cmd.exe和WinSCP進行命令列引數傳遞(為何使用nd2cmd.exe,因為nd2cmd.exe提供了命令列引數傳遞的功能,命令列比AutoHotkey指令碼的模擬鍵盤和滑鼠操作更可靠,模擬鍵盤滑鼠對視窗和控制元件操作不穩定有可能會操作失敗。為何使用WinSCP,因為,大批量上傳下載檔案時WinSCP、Xftp和FileZilla_Pro要比RaiDrive、WebDrive更可靠,更穩定)
  3. 通過SetTimer和操作,檢測,重試的方式確保不可靠的視窗操作和控制元件操作的順利進行(為何要使用SetTimer而不使用Loop,因為,SetTimer可以多開多個SetTimer同時進行操作,但是Loop無法多開並行操作。為何使用檢測重試,因為,SetTimer可以提高指令碼的可靠性,當操作沒有達到預期效果時指令碼會立即重試操作。有時候對視窗的模擬操作會失敗,只能重試,並且檢測重試無需等待視窗完成建立或者顯示成功,有效的節省了時間,提高了指令碼的效能)假如情況特殊指令碼進入長期等待或者死迴圈等情況時,使用者可以通過控制主視窗終止指令碼或者重啟指令碼。
  4. 群暉網路附屬儲存伺服器,DDNS動態域名解析,華碩無線路由器,埠轉發,AutoHotkey指令碼呼叫nd2cmd.exe或者WinSCP連線群暉網路附屬儲存伺服器的WebDAV套件的檔案服務。(為何不使用群暉的SFTP檔案服務,因為,我嘗試了多次連線群暉SFTP都沒有成功,也不知道是不是我的設定錯誤還是NetDrive2的缺陷,不管他了,反正都差不多,WebDAV+HTTPS測試成功了,就用WebDAV好了,區別不大。為何不使用RaiDrive或者WebDrive來對映網路驅動器,因為,我在獲取RaiDrive視窗中的控制元件的類名時遇到了困難)
  5. 為了防止洩密,請用feiyue的​​AHK原始碼加密器 v3.2​​( AHK Source Code Encryptor v3.2 By FeiYue)對AutoHokey指令碼加密,保護群暉網路附屬儲存伺服器中的檔案,不讓未經授權的人員檢視自己的隱私祕密檔案。同時,也可以用字串加密AutoHotkey函式對群暉使用者名稱和群暉密碼進行加密(建議在記憶體中解密,不要在磁碟中解密群暉密碼)。
  6. 為了防止丟失檔案,請使用群暉網路附屬儲存伺服器的 RAID 1 映象儲存池、群暉Hyper Backup套件和群暉Cloud Sync套件來定時備份重要檔案。注意:RAID 1 映象儲存池無法代替群暉Hyper Backup套件的備份任務,RAID 1 映象儲存池無法找回清空回收站之後的已刪除的檔案。
  7. 以下一些AutoHotkey原始碼片段提供給大家參考,希望各位讀者能夠製作出自己私人定製的群暉網路附屬儲存伺服器的對映網路驅動器的單檔案的綠色免安裝的應用程式軟體包。

 

我的某臺群暉網路儲存伺服器的SFTP檔案服務的使用者名稱是:

ds1821+usr-A_K-s_s_P_w-R_-_-Z_Y_-Y_w_K-q_u-U_U-_x_-_N-v_-w_A+end

我的某臺群暉網路儲存伺服器的SFTP檔案服務的密碼是:

ds1821+pwd-AA8-e-KsL_5_6w77-Z-_Y_-M-G-R_E_dV-U-_x_pp_-79_wNA+end

 

; 用AutoHotkey指令碼呼叫NetDrive2的nd2cmd.exe程式異地遠端連線群暉網路附屬儲存伺服器的WebDAV Server套件的檔案服務的測試程式碼片段
Run,"C:\Program Files\NetDrive2\nd2cmd.exe" -c m -t dav -u https://你的群暉DDNS主機名稱.myds.me:你的華碩無線路由器埠轉發的外部埠 -a 你的群暉使用者名稱(我的使用者名稱長度是64個字元) -p 你的群暉密碼(我的密碼長度是64個字元,密碼中含有減號 下劃線 等標點符號) -d s -l 你的對映網路驅動器卷標
; 說明:s:\Folder1\Folder2是對映網路驅動器後需要開啟的群暉網路附屬儲存伺服器中的資料夾
Run,s:\Folder1\Folder2
; 說明:AutoHotkeyScript1.ahk是對映網路驅動器後需要執行的群暉網路附屬儲存伺服器中的指令碼
Run,s:\Folder1\Folder2\AutoHotkeyScript1.ahk
Run,s:\Folder1\Folder2\AutoHotkeyScript2.ahk

為何要用AutoHotkey指令碼連線群暉網路附屬儲存伺服器,因為,用AutoHotkey指令碼連線群暉的WebDAV Server可以在任何時間,任何地點進行,非常方便快捷,對映網路驅動器後可以直接在網路驅動器中執行其他AutoHotkey指令碼,可以啟動Maye和Rolan通過拼音首字母序列搜尋已索引的檔案,可以用Everything通過檔名和資料夾名快速的搜尋群暉網路附屬儲存伺服器中的檔案(請預先索引資料夾),可以用FileLocator Pro或者Archivarius 3000對群暉網路附屬儲存伺服器中的檔案進行全文搜尋(Full-Text Search)(需要預先建立索引)。通過AutoHotkey指令碼連線群暉網路附屬儲存伺服器無需記憶長達64個字元的使用者名稱,無需記憶長達64個字元的超級複雜的密碼,只需記住Auto Hotkey中簡短的密碼即可,登入密碼可以簡短到4個數字,加密並編譯之後的AutoHotkey指令碼和WinSCP程式一起用WinRAR壓縮打包成單檔案綠色免安裝應用程式軟體,打包後的可執行自解壓縮包只儲存在自己經常使用的裝置上,由於陌生人不知道訪問WebDAV檔案服務的DDNS網址URL,不知道外部埠,不知道使用者名稱,不知道密碼,並且64個字元的使用者名稱和64個字元的密碼之中含有減號、下劃線等標點符號,所以群暉網路附屬儲存伺服器對於陌生人來說比較難以滲(黑)透(客),比較難以入侵,比較難以攻破,比較難以竊密,比較難以搞破壞。而對於已授權使用者來說只需要雙擊自解壓程式並輸入簡短密碼就可以直接訪問群暉網路附屬儲存伺服器中的檔案了。本文中的簡短密碼是abc333

 

NetDrive2用於執行群暉網路附屬儲存伺服器中的AutoHotkey指令碼、用於執行群暉網路附屬儲存伺服器中的電腦軟體安裝包、用於開啟群暉網路附屬儲存伺服器中的文件、表格、圖片、音樂、視訊、國語中字電影等各種檔案,無需複製,無需下載,直接在群暉網路附屬儲存伺服器對映網路驅動器中開啟執行,非常方便快捷簡單易用。

 

如需大量傳輸檔案則應當使用WinSCP,同樣只需記憶簡短密碼,並且WinSCP無需安裝就可以使用,非常簡便快捷。

 

;
;  群暉簡易登入器
;
;  C:\Prog\WinSCP\Login.ahk
;
; WinSCP 一鍵登入群暉網路儲存伺服器SFTP檔案服務的AutoHotkey指令碼原始碼
; 群暉SFTP設定成超級長超級複雜超級繁瑣的密碼不容易記憶,此指令碼嫁接轉換成容易記憶的簡單密碼 abc333
#SingleInstance,force
#Persistent
; 身份驗證,請使用飛躍的  AHK 原始碼加密器 v3.1 -FeiYue 加密工具對AutoHotkey原始碼加密保護SFTP登入資訊
; 請使用專用函式對SFTP密碼字串進行加密處理
InputBox, password, Enter Password, (your Input will be hidden), hide
Needle := "abc333"
if InStr(password, Needle)
{
    ; 正在驗證金鑰檔案是否有效
    ; 鍵盤和滑鼠閒置超時時自動斷開與群暉的SFTP連線保護隱私資料,防止洩密
    SetTimer,ScreenLockAndOff,500
    ; 群暉SFTP檔案服務請使用,複雜使用者名稱,複雜密碼,複雜網址,冷門埠和高強度私鑰
    ; 群暉SFTP用超級複雜的強密碼連線,使用者只需要記住簡單的密碼 abc333 就可以了。
    Run,%A_ScriptDir%\WinSCP.exe "SynologySFTPUserName:SynologySFTPPassword---ABC333&^#_--$!!!~k3$$3%8^^92((3'7f6s;'..?//\[email protected]:49376" /Desktop /UploadIfAny
}
else
{
    ExitApp
}
return
;
ScreenLockAndOff()
{
    ;超時毫秒數,50*1000=50000,1秒=1000毫秒
    if(A_TimeIdlePhysical>50000)
    {
        if(A_TimeIdle>50000)
        {
            loop,5
            {
                ;~ 鍵鼠閒置超時關閉WinSCP保護隱私資料,防止洩密
                WinClose,ahk_class TScpCommanderForm
                WinClose,ahk_exe WinSCP.exe
                Process,Close,WinSCP.exe
                ;~ 關閉顯示器
                SendMessage, 0x112, 0xF170, 2,, Program Manager
                ;~ 鎖定電腦桌面
                Run,C:\Windows\System32\Rundll32.Exe user32.dll LockWorkStation
            }
        }
}
}

 

REM  C:\Prog\一鍵製作群暉簡易登入器便攜綠色免安裝單檔案程式包.bat
REM  此批處理指令碼檔案最後編輯日期  2022年3月26日                                                                                                        
if exist "C:\Program Files (x86)\WinRAR\WinRAR.exe" (
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -agYYYY.MM.DD_HH-MM-SS -m5 -r -sfx -y -z自解壓指令碼命令.txt C:\C_Prog_.exe *.*
)else (
"C:\Program Files\WinRAR\WinRAR.exe" a -agYYYY.MM.DD_HH-MM-SS -m5 -r -sfx -y -z自解壓指令碼命令.txt C:\C_Prog_.exe *.*
)

 

;下面的註釋包含自解壓指令碼命令 REM  C:\Prog\WinSCP\自解壓指令碼命令.txt
 
Path=C:\Prog\WinSCP
Setup=C:\Prog\WinSCP\Login.exe
Silent=2
Overwrite=2