Libfaketime 改變軟體的執行時間
libfaketime:主要是攔截了程式呼叫獲取當前時間的系統呼叫。然後會將你修改(假的)後的時間返回給這些程式。這樣的話你可以單獨修改一個程式的獲取的時間,而不用修改整個系統的時間。
安裝libfaketime
有兩種方法安裝,brew和編譯原始碼安裝. brew安裝的版本有點老,在最新的macos系統已經不行了,執行時會報錯。
通過brew安裝
brew install libfaketime coreutils
原始碼編譯安裝
git clone https://github.com/wolfcw/libfaketime.git make sudo make install
使用faketime來執行surge
下載surge
前提是surge在你電腦上面沒有過試用期,過了試用期就沒有辦法了. 已經有了正版的序列號的也不要用這種方法,可能會被拉黑了.
先下載surge, 目前只能下載Surge-2.5.1-528.zip這個版本及以前版本,不能從官網下載,官網的所有版本都更新了相應的機制來預防libfaketime。
安裝surge並執行
先開啟試用,更新配置,關閉軟體的自動更新。正常使用後,退出軟體。
使用下面命令,通過faketime啟動surge
$ faketime '@2007-01-01 00:00:00' /Applications/Surge.app/Contents/MacOS/Surge &
不過如果直接用上面的命令的執行,faketime的cpu佔用非常大,讓電腦一直髮熱。我們設定FAKETIME_STOP_AFTER_SECONDS=10
, 就讓它執行10s後自動關閉,因為軟體只是在啟動的時候檢測一下時間,執行後退出libfaketime節省cpu。
$ FAKETIME_STOP_AFTER_SECONDS=10 faketime -f '@2007-01-01 00:00:00' /Applications/Surge.app/Contents/MacOS/Surge &
關閉終端