免安裝 Golang 環境快速編譯 Golang 多平台的執行檔

​ 最近在編譯一些 Golang 的時候被環境設定搞快瘋掉,有次編譯過程還把我一台甲骨文機器搞掛掉 只能手動去甲骨文網站後台強制重開機才恢復,差點吐血。。。 之後在推特上面咆哮了一下,吸引了幾個技術大神空投解決方案,萬事問推友真是一點都沒說錯~ 😀 ​ https://t.co/IYspQcWy0D — 一阁 (@yegle) April 24, 2020 ​ 稍微看一下 GoBinaries 說明書,這玩意真神器,只要一行指令就能直接產出編譯好的 Go 執行檔 什麼 Go 環境、依賴都不用管啦~速度之快,人都還沒反應過來就已經完成了~ 😱 ​ ​ GoBinaries 30 秒快速解決方案 下面以之前介紹過的 MTProxy-Go 為例,有時候作者原始碼已經更新加入新功能,但是 Releases 裡面不見得馬上放出來 這時候想要享受新功能就必須自己抓原始碼下來自己編譯了~ MTProxy-Go 項目的網址是: https://github.com/9seconds/mtg 我們只要拷貝 github.com 網址後面的部分即可,也就是 9seconds/mtg 接著在你想要執行的機器上,使用下面一行指令即可完成執行檔的下載 curl -sf https://gobinaries.com/9seconds/mtg | sh ​ 也可以下載指定的 tag 版本 curl -sf https://gobinaries.com/9seconds/[email protected] | sh ​ 執行時,他會根據你的 CPU 與系統,網路速度不差的話很快就下載下來,並且還幫你安裝到 /usr/local/bin 資料夾裡面 馬上就能開始用了,超方便! ​ 如果你有權限問題,沒辦法寫入 /usr/local/bin 的話,也可以加個 PREFIX 參數把執行檔放到目前目錄下 curl -sf https://gobinaries.com/9seconds/mtg | PREFIX=. sh ​ ​ 完整 Docker 版萬解方案 此方案來自另外一位推友技術大神 ​ docker pull golang:alpine 编译啊 环境都准备好的 ...

April 25, 2020 · 1 min · jkgtw

蘋果生態圈的網路神器 Surge 4 for iOS 簡易入門教學

​ 我最早接觸 Surge 是在 2015 年 iOS App Store 剛上架就第一批入手了~ 當時我人在中國,翻牆就跟吃飯、喝水、睡覺一樣是每天都需要的 記得當時蘋果 iOS 8 剛剛開放了 NetworkExtension framework Surge 橫空出世最早支援 NetworkExtension,多樣且自由的網路策略非常強大,也是當時最佳 iOS 翻牆工具 隨著時間也有其他開發者也漸漸投入研究蘋果這種系統等級的網路框架,App Store 上漸漸多了許多選擇~ 像是小火箭(Shadowrocket)、小氣球(Loon)或者圈叉(Quantumult X),都是同類相當不錯的競品 其中又以圈叉特別厲害,最早開始支援 Scripting 的功能 後來 2016 年時候我因為搬回台灣,台灣網路無需翻牆,所以瞬間就沒有繼續用下去的動力了。。。 ​ Surge 作者在去年的時候推出一個密碼管理工具「Elpass」 所以從去年那時候開始我又會三不五時看到作者在 Surge 開發的相關進度 最近會又開始用回 Surge 是因為發現作者加入一系列強大功能 如支援 MitM、Scripting、專屬 Snell 協議與快速設定的 Module 功能。。等等 玩法已經不僅僅是翻牆代理工具而已,已經是一個功能強大完整的「網路工具」了~ ​ 強大的 iOS 平台網路工具一下吸引許多寫 Script 的大佬們投入研究,像是有針對 Netflix 的 Script 在非越獄情況下可以在官方 Netflix App 影片介紹頁,直接顯示 imdb 與 douban 的第三方評分分數 ​ 👆 如上,左邊是原本 App 內的樣子,右邊是開啟 Script 以後的樣子,紅色框框就是 ​ 類似像這種強大 Script 都有人分享在 Github 上面,沒事去多搜尋一下,你會發現新大陸~ ...

April 20, 2020 · 3 min · jkgtw

如何在 pfSense / OPNsense 防火牆下讓 PS4 取得 NAT2 連線狀態

​ 最近換上 pfSense / OPNsense 的防火牆,然後某天在玩 PS4 時候發現 NAT 類型變成 Type 3 了 😱 這樣的話需要跟人連線的遊戲會沒辦法玩,因為被防火牆擋掉了。。。 ​ PS4 NAT 種類一共有三種: Type 1:PS4 完全暴露在網路上,可以直連等於裸奔,比較危險 Type 2:有路由器或者防火牆,但可以正常連線(大部分人都是這個模式) Type 3:被防火牆或神祕力量擋住,網路連線遊戲無法玩 ​ 網路上搜一下,只要改一改 Outbound 固定端口即可,所以用這篇來記錄一下操作,以後方便參考 另外 XBOX 可能會遇到同樣問題,也同樣適用以下方法 ​ 首先請先去幫你的 PS4 / XBOX 設定一個內部網路的固定 IP,以下用 192.168.2.9 為例 ​ 👆 預設是 Automatic Outbound 把它改為 Hybird Outbound ​ 改完之後在同一頁新增一條規則,如下圖 ​ ​ Protocol 那邊選 any,因為有些遊戲會走 TCP,有些遊戲會走 UDP,所以選 any 比較不會有問題 Source address 選 Single host,填上 PS4 主機的內部 IP,後面記得選 32,只針對這個 IP 有效 ​ ​ Static-port 是重點,一定要打勾 全部設定完畢後,按下 Save 保存,不要忘記 Apply ...

April 13, 2020 · 1 min · jkgtw

Docker 全自動無人值守升級 WatchTower

​ Docker 的好不用我再多說,用過的都知道~ 我早期接觸 Docker 是在群暉 DSM 裡面,當時都是傻傻手動更新 後來有發現一個可以全自動幫你升級到最新映像檔的工具「WatchTower」,完完全全無人值守,非常方便好用 ​ 而且啟用非常簡單,基本上就是一行指令就能完成部屬 下面是簡單範例: docker run -d --restart=always \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ beatkind/watchtower \ --cleanup --remove-volumes \ --interval 43200 ​ 第五行是每次更新完後,會自動幫你刪掉舊的映像檔跟匿名磁碟空間,可以幫你節省硬碟空間 這在一些空間不是很多的機器上很有用,基本是必加的參數 WatchTower 官方預設是不刪除舊的映像檔,上次我沒加這參數,結果在一台樹莓派裡面某個映像檔作者更新太頻繁 一個禮拜就把我 64GB 記憶卡容量吃光了。。。 🤣 ​ 第六行可加可不加,官方預設是 86400 秒(24 小時)檢查一次,覺得太頻繁或者太少的話可以自己調整數字 ​ 如果你還需要更進階的使用方法,可以參考: 官方說明書 https://watchtower.devcdn.net/ ​ 上面指令輸入完畢後,WatchTower 就會啓動並開始幫你監控機器上所有正在執行的容器 每隔一段時間發現有新的映像檔後,它就會幫你下載最新映像檔 並且使用你當初建立該容器時的相同環境設定去幫你重新啓動容器 ​ 當然如果你是在生產環境或者不放心讓它自動更新的話,也可以使用 monitor-only 參數來監控就好 並用 Notifications 來主動通知你有更新了~ 🖖

April 11, 2020 · 1 min · jkgtw

macOS 播放任何影片都快閃並無聲的解決方法

​ 自從升級到 macOS Catalina 以來一直有個小毛病困擾著我 最扯的是已經將近半年以上的時間,我仍然不知道是什麼原因會出現這種 bug ​ bug 出現時候,在電腦上播放任何的影片都會瞬間快轉到結束,過程沒有聲音也沒有辦法恢復正常播放速度 不管是在電腦上使用播放器播放硬碟上的 MP4 影片或者是在任何瀏覽器裡面看線上串流影片 通通都會出現瞬間快轉到結束的靈異現象。。。 這實在很難用文字表達,但實際有遇到的人應該懂我在講什麼。。。🤷‍♂️ ​ 每次遇到這個問題時候,只能重新登出登入或者是重新啟動電腦才能解決 直到前兩天又一次發生這種 bug 了,我就打開 macOS 系統的活動監視器,果然發現有個不正常的東西在佔用大量 CPU 資源 這個程式的名字就是coreaudiod,只要將它強制退出就解決了!(你強退這個程式後,系統又會馬上啓動它) ​ ​ 👆 如果你沒看見,就去 Menu bar 那邊找「顯示方式」,改成「所有程序」就能找到了 ​ 沒錯!這事件告訴我們以後遇到問題,不知道是什麼原因就打開「活動監視器」多看看 說不定是某個程式掛掉了呢。。。 🥺 ​ 最近幾年蘋果的硬體或者軟體水準都有下滑的趨勢喔! 🤔 ​ 2020/04/25 update 初步推測可能是安裝的 Boom 3D 造成的 bug?先移除之後再觀察看看。。。

April 3, 2020 · 1 min · jkgtw