發表文章

轉移 Windows 11 到新的 SSD 硬碟上

 因為現在的程式越來越愛佔用 C 槽的空間,造成 Windows 通知空間即將用完的消息,所以買了新的,大的SSD硬碟來換,想單藍,用以前的備份還原大法要來搬系統碟,往日用的備份還原大法不好用,甚至開不進工具 PE/Live 的環境,頭痛… 工作環境:    Windows 11   Windows recovery tools USB key (以下稱修復碟,很重要,要修復開機區必備) 先說結論:如果不想挑戰用指令修復 Windows 開機面對挫折感,可以把時間省下來,直接裝上新碟重裝系統,花的時間會是一樣的,甚至比較少,還覺得樂勝 方法:   關 secure boot,BitLocker  先想盡辦法把源硬碟內容複製/克隆到新的 SSD 硬碟裏,然後開始(無盡的)開機區修復工作  源硬碟拔除,裝置新 SSD 硬碟  修復碟做好後用 F12 開機選項開進修復的命令模式,(你可能需要從(GPT) UEFI 開機模式,轉成 MBR 開機模式)    C:    cd Boot    ren BCD BCD.bak    bcdboot c:\Windows /s C: /f ALL    bootrec /rebuildbcd (應該會問你是不是要把 C: 加到開機選項裏,單藍是答 Y) 重新開機,如果沒開起來就去找別篇文章吧……   收工!   ========================= 其實試過很多方式 都失敗失敗失敗 =========================  回想起來,做得最好的動作就是,重開機,無限重開機…  進入進階啟動(WinRE)   Win11: 開始 > 設定 > 系統 > 復原 > 進階啟動 > 立即重新開機   Win10: 開始 > 設定 > 更新與安全性 > 復原  進階啟動修復 > 自動修復,當然是失敗,不然就不用寫這篇筆記了  用對拷機好了,硬體接一接,按鈕按一按就好,不香嗎?  的確不香,等了4個小時,燈號一直停在 50% 用 USB 外接連上電腦出現和源硬碟相衝,被強制下線了,檢查發現 recovery 磁區還沒扣好,只好重新用軟體克隆源C碟內容到相應磁區,仍然無法順利開機(error code: 0xc000000e, 0xc000000*)  那用 eas

使用批次檔來更新 cloudflare DDNS

 不熟批次檔(.bat/.cmd),但是家人不可能用 Linux ,還是得客製一下,能動為準 工作環境:     Windows Home          .bat          工作排程器          curl          python(沒有的話,輸出的結果會粘在一起) token varify 確認 apiToken 是正確的 curl "https://api.cloudflare.com/client/v4/user/tokens/verify" -H "Authorization : Bearer tokenHere" get zoneID 把 zoneID 記下來 curl -X GET "https://api.cloudflare.com/client/v4/zones" -H "Authorization : Bearer tokenHere" -H "Content-Type:application/json" get dns records 找到你要更新的網址名稱 name(FQDN,不是zone_name),把它的 id(不是zone_id) 記下來 curl -X GET "https://api.cloudflare.com/client/v4/zones/zoneIDHere/dns_records" -H "authorization : Bearer tokenHere" -H "Content-Type:application/json" | c:\somewhere\python -m json.tool target dns record to update(.bat)************ curl ipinfo.io/ip > ip.txt set /p IP=<ip.txt curl -X PUT "https://api.cloudflare.com/client/v4/zones/zoneIDHere/dns_records/recordIDHere" -H "Authorization : Be

使用 shell script 更新 cloudflare 的 DNS 記錄

 記錄一下使用 shell script 更新 cloudflare 的 DNS 記錄(DDNS)  工作環境:     Linux          curl          jq 使用 curl 和 cloudflare API 溝通,就可以達成更新 DNS 記錄的目的,基本上就是提供 zone ID 和 API Token 給 cloudflare ,指定要更新的域名(FQDN),當然,要抓到目前使用的「對外」的 IP 位址一併提供  範例:updateCfDDNS flkjfldajldfj ddns.your.domain lfkdalfjldjf;lajd;lf #!/bin/sh # update DDNS records with curl using cloudflare API # input: zoneID, FQDN, APIToken, get internet IP addr. # output: none but DNS record update dynamicly # pre-requirements: config cloudflare API token # post-requirement: config crontab to update DDNS regularly # usage: updateCfDDNS zoneID FQDN APIToken if [ -z $1 ]         then                 echo "please provide zoneId, fqdn, apiToken, thank you..." else MYIP = ` curl https://ipinfo.io/ip` RECID = ` curl -X GET "https://api.cloudflare.com/client/v4/zones/ ${1} /dns_records?name= ${2} " -H "Authorization:Bearer ${3} " -H "Content-Type: application/json" | jq -r ".result[] | select

查對外 IP

 記錄一些可以取得對外的 IP 位址的網站: https://adresameaip.ro/ip   https://api.ipify.org   https://icanhazip.com   https://ipinfo.io/ip      

iphone 照片增量備份

 原本是想用 immich app 來達成增量備份的目的,就像 icloud 那樣,手機有新照片就自動傳上 icloud 、手機上殺照片時,已經上傳的照片還會留在 icloud 上(然後就因為越存越多所以要花錢買空間來存手機資料),結果變成了鏡像同步備份(手機上殺了檔,伺服器上就不會有檔) 工作環境:     immich app: 開 background + foreground backup 開啟自動備份功能  於是把之前找的解決方案又 review 了遍,再試個替代方案出來,nextcloud, photoprism, syncthing, damefly, home gallery, warmwhole, croc, pandrop, localsend ......,大多是 server 端解決方案,可以透過網路上傳,然後有網頁可以看照片,有些還支援影片播放,但是不一定有 iphone 的 app 可以用,有 app 的,也可能不是原生的,用的是第三方的 app ,而且可能會看起來怪怪的,反正狀況很多,然而,搜尋的時侯覺得很奇怪,沒有什麼討論串,可能是想太多了,應該有很簡單的解法  回頭檢查 iphone 原生的 「儲存到檔案」/「連接伺服器」 的功能,不知道從什麼時侯開始,「檔案」app 裏出現了「連接伺服器」 的功能,不支援 ssh 所以就別想在這裏 scp (無法使用 ssh:無法完成此項操作,因為不支援此URL),可以使用網芳來連,可以讀寫,就和在電腦上操作一樣,反應久了點就是了: 選一些照片,超過100個檔案以上就很卡,分段選檔吧 按左下角開啟其他的 app /功能 的圖示(有個向上的箭頭) 選「儲存到檔案」,一開始會跳進 icloud,按左上角回到上一層,會出現「已共享」的區塊 選右上角有三個點的圓形餅乾,「連接伺服器」 打好網芳的位址(smb://1.2.3.4),id,password 選好你要上傳檔案的資料夾 儲存 過了很久的一下下,傳好檔案會跳回照片 app 繞了一圈還是回到 samba ...... 續骨靈藥,金盒久藏啊~~ 收工! ========================================= 跌倒記錄: 官網討論區上一直說是用手機原生的 app 管理照片,然後用 app 管理 immich-server 的照

關於 immich app 的那些事兒

 簡單地說,immich app 就是個相片同步的 app,真要做到增量備份,現階段還真是沒辦法…… 工作環境:   Linux Server     immich server on docker     immich app on iphone 1.100 雖然說官方說是透過 iphone 自已的「照片」app 殺掉手機上的照片,並不會影響到 immich server 上已經上傳的照片,但是…… 在開啟 backup (foreground/background) 時,app 會讓手機的資料和伺服器上的資料同步,不管你是不是用「照片」app 殺照片 突然想起,沒有試手動上傳,不透過自動 backup 的同步功能是不是就能實現增量備份,不過,醬子的話,就太不方便了,不符合懶人模式,真要手動上傳,就接電腦選照片上傳了,何必搞伺服器又搞 app 搞了老半天,根本上就是出在不想開電腦呀@@" 所以,immich app 就拿來同步/鏡像手機裏的照片吧…… 想要增量備份,回頭找網芳      收工!

Port Knocking or ...…

 Port Knocking 就像是敲門暗號依序敲 2長1短3長 才開門的概念,之前有看到文章提到在 Linux 上實做用來強化安全性,沒想到路由器上面也可以做,更沒想到的是就連設個暗號也能從敲門變成撞門 工作環境:     某牌路由器          firewall rules for port knocking  基本上照著官網上的 port knocking 設定實作就行     要啟用 input DROP all 之前記得先開個後門,否則……所有設備都會連不進來就 GG …… 要啟用 input DROP all 之前記得先開個後門,否則……所有設備都會連不進來就 GG …… 要啟用 input DROP all 之前記得先開個後門,否則……所有設備都會連不進來就 GG ……     以下設定要放在 input DROP all 之前     目標設定  先設定要開啟的服務 dst. port 開啟時,允許的來源為一個自訂的清單(自行增加設定成類似 fin-ips 的群組清單) ,port knocking 嘛最基本的設定值就是 port ,當然你也可以進一步鎖定來源的介面和目的地…等等的參數 敲門設定(N次)  第1次:設定要敲門的 dst. port  ,同樣的,可以進一步鎖定來源的介面和目的地....等等的參數,然後(action)將來源的 ip 加入群組清單(knock1)  第2次起:設定本次要敲門的 dst. port  ,然後指定 ip 來源是上次的清單(knock1)同樣的,可以進一步鎖定來源的介面和目的地....等等的參數,然後(action)將來源的 ip 加入群組清單(knock2),依此類推N次…  最後一次:設定本次要敲門的 dst. port  ,然後指定 ip 來源是上次的清單(knock#)同樣的,可以進一步鎖定來源的介面和目的地....等等的參數,然後(action)將來源的 ip 加入群組清單(fin-ips),這樣就能和目標設定參數相呼應,形成閉環 以後,你指定防護的目標服務,必需按照剛才的設定步驟指定的 port# ,之後再連你要的服務才能進入 實測 比方,你防護了 22 port 的 ssh 服務,指定的 port knocking 依序分別是 2000,1000,3672 設定完成後,直接連 ssh 是連不上