免安裝 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 參數把執行檔放到目前目錄下...

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 以後的樣子,紅色框框就是 ​...

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 有效...

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 \ containrrr/watchtower \ --cleanup --remove-volumes \ --interval 43200 ​ 第五行是每次更新完後,會自動幫你刪掉舊的映像檔跟匿名磁碟空間,可以幫你節省硬碟空間 這在一些空間不是很多的機器上很有用,基本是必加的參數 WatchTower 官方預設是不刪除舊的映像檔,上次我沒加這參數,結果在一台樹莓派裡面某個映像檔作者更新太頻繁 一個禮拜就把我 64GB 記憶卡容量吃光了。。。 🤣 ​ 第六行可加可不加,官方預設是 86400 秒(24 小時)檢查一次,覺得太頻繁或者太少的話可以自己調整數字 ​ 如果你還需要更進階的使用方法,可以參考: 官方說明書 https://containrrr.github.io/watchtower/ ​ 上面指令輸入完畢後,WatchTower 就會啓動並開始幫你監控機器上所有正在執行的容器 每隔一段時間發現有新的映像檔後,它就會幫你下載最新映像檔 並且使用你當初建立該容器時的相同環境設定去幫你重新啓動容器 ​ 當然如果你是在生產環境或者不放心讓它自動更新的話,也可以使用 monitor-only 參數來監控就好 並用 Notifications 來主動通知你有更新了~ 🖖

April 11, 2020 · 1 min · jkgtw

最近也換上免費、開源 pfSense 防火牆玩玩~

​ 之前一直是買成品路由器用著,後來添購多網口的 Mini PC 後就開啟新世界了~ 在 Mini PC 上面安裝個 Proxmox VE 虛擬機系統,就可以隨意安裝各種系統來玩 剛開始不熟先跑個 OpenWRT 暖暖身,後來發現 RouterOS CHR 後就一直用著也蠻舒服 ​ 這兩套簡單白話來說: OpenWRT 操作設定上最接近市面的成品路由器,而且有各種軟體包可以安裝,可玩性高而且是免費開源的 RouterOS 佔用資源小而且功能強大,但是用起來操作較為複雜,對於新手小白入門的門檻比較高 ​ 然而閒著蛋疼,最近一段時間又改裝了 pfSense,它跟 OpenWRT 一樣也是開源免費的 跟 pfSense 同門師兄弟的還有 OPNsense,看名字就知道,OPNsense 是在 pfSense 基礎上修改的分支 稍微比較一下之後,最後我選擇 pfSense 來玩玩,因為 pfSense 網路上討論度似乎比較高。。。🤷‍♂️ ​ pfSense 下載與安裝 直接去官網下載,官方有提供 ISO 格式,可以直接在 Proxmox VE 裡面載入使用 ​ ​ 安裝過程跟普通虛擬機安裝差不多,根據提示依照自己環境輸入設定即可 在安裝這種軟體路由時候,建議只先插上 WAN 的網路線,LAN 可以等設定完畢再插上比較不容易出問題 ​ 👆 第一次安裝會有設定精靈,帶你一步步從零到正常上網 ​ 像我是申裝中華電信光世代,設定 PPPoE 帳號密碼後,馬上就可以正常上網 以上的設定過程跟市售成品路由器差不多,指定 DHCP 後端 IP 地址,很簡單就能搞定上網 接下來設定一下中華電信光世代不固定制的 IPv6 上網...

April 1, 2020 · 2 min · jkgtw