注重隱私、簡約高效的網站追蹤器 Fathom

​ 部落格從 WordPress 轉到 Hugo 靜態網站以後,一開始沒裝網站追蹤器 原本想說可以用 CloudFlare Analytics 就好,但缺點很明顯像是「熱門網頁」還有「推薦來源」都沒辦法得知 所以之前一段時間裝了 Google Analytics,不過這玩意實在太惡名昭彰了 谷歌除了收集過多我不需要的使用者資料以外,也是很多廣告黑名單的常客,有裝等於沒裝一樣。。。🤷‍♂️ 直到最近看見目前使用的主題作者加入了一個 Fathom 網站追蹤器支援,所以我就立刻停掉 Google Analytics 了~ ​ Fathom Pro 注重隱私且符合 GDPR + CCPA Fathom 有提供兩種方案,其中一個是 Pro 的付費方案 每月 10 萬 Page views 的網站或者部落格最低只要 14 美金 另外還有提供 20 萬以及 40 萬一直到 200 萬以上的方案,200 萬以上就需要自己跟他們好好談談價格了~ ​ ​ Fathom Pro 共有四大特點: 即時的統計資料,管理後台簡約,無複雜的操作沒有一層又一層的目錄,完整資料在同一頁展現 無任何 Cookie、不收集個人資料,完全符合 GDPR 跟 CCPA 在一個付費方案裡面你可以安裝在無限網站上,共享同個 Page views 額度 js 腳本迷你高效,即使有巨大流量,Fathom 也不會拖慢你網站速度 ​ 👆 看看官網上面精美的插圖 👻 ​ Fathom Pro 的後台管理頁面一點都不囉嗦,在同一頁面就能完整清晰看見你網站的重點報告 ​ ​ 其實對我而言,需要知道的也就是上圖的熱門網頁與推薦流量來源即可 最多可以再搭配 CloudFlare Analytics 知道流量大部分都來自哪個國家就很滿足 ...

April 27, 2020 · 2 min · jkgtw

免安裝 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