RSS Email Twitter GitHub Dribbble LinkedIn Facebook Instagram YouTube Pinterest Reddit icon menu

Cody's 探索日誌

東摸西摸,十分好奇

PV: / UV:

文章分類

TrunNAS Jail Upgrade

TrunNAS 系統升級之後,可能揮遭遇 Jail 版本的問題導致無法更新 Upgrade Jail Fetch 取得最新的 Jail 版本 1 2 3 4 5 6 7 8 $ iocage fetch [0] 11.2-RELEASE (EOL) [1] 11.3-RELEASE (EOL) [2] 11.4-RELEASE [3] 12.0-RELEASE (EOL) [4] 12.1-RELEASE [5] 12.2-RELEASE 停止 Jail 停止 Jail 準備進行更新 1 $ iocage stop <Jail Name> 升級 1 $ iocage upgrade -r 12.2-RELEASE <Jail Name> 進入 Jail 更新完畢後可以進入 Jail 進行確認 1 $ iocage console <Jail Name> Ref ixsystems - Jails

Macbook 2019 Big Sur - vscode Terminal 卡頓

這陣子都忙著工作,堆積了一堆文章還沒釋出,看來過年期間是一段輸出文章的好時間 不過工作優先就是了,平常使用的 Macbook 更新 Big Sur 之後,就造成了 Terimnal 卡頓的問題 環境 Model: MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports) OS: Big Sur 11.1 Fix 執行完指令後,完全關閉 vscode 後,再啟動使用 貌似有些人無效,不過對我來說是有效的 1 codesign --remove-signature /Applications/Visual\ Studio\ Code.app/Contents/Frameworks/Code\ Helper\ \(Renderer\).app Ref Github vscode - Issues

Yubikey 透過 SSH 公鑰認證登入

初期買了 Yubikey 只有單純用來做 OTP,2FA 的認證,後來想到應該是可以透過 Yubikey 進行金鑰登入 後來網路上確實有人這樣進行,所以就趕快拿自己的 Yubikey 來測試看看 Info Terminal: iterm2 / zsh / oh-my-zsh Hardware Secure Key: YubiKey 5 NFC Require 先安裝一些 Yubikey 的相關套件,還有 GPGTools libyubikey yubikey-personalization yubico-yubikey-manager yubico-yubikey-personalization-gui gpgtools 手動安裝 1 2 3 4 brew install libyubikey brew install yubikey-personalization brew install yubico-yubikey-manager brew install yubico-yubikey-personalization-gui 創建金鑰 安裝好上面的工具之後,將 Yubikey 插入 Macbook 開始進行操作 改變 Yubikey 模式 Yubico Blog - common modes 參照資訊 -m0 HID (OTP) mode -m1 CCID (OpenPGP only – no OTP) – warning – you cannot use ykpersonalize after this setting!

微服務框架 go-micro (一) grpc

學習微服務框架是為了更了解各種架構對不同專案上的適應性 雖然並不是每個專案都適合為服務,但是也需要先熟練各種兵器好應對更種情況 介紹 go-micro 是一個使用 go 實現的微服務框架,可以方便幫助 go 進行微服務的開發 主要功能 服務發現 平衡負載 Client/Server Pub/Sub gRPC Require Install 安裝工具 1 2 3 4 go mod init . go get github.com/micro/micro/v2@v2.4.0 go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.0 go get -u github.com/micro/protoc-gen-micro/v2@v2.3.0 mod version 這邊遇到了一些麻煩的狀況,各個版本的相依性很高,不同版本搭配可能造成錯誤 所以在這邊提供的以下的版本是確定可運行的 1 2 3 4 5 6 7 8 go 1.14 require ( github.com/golang/protobuf v1.4.2 github.com/micro/go-micro/v2 v2.9.1 github.com/micro/protoc-gen-micro/v2 v2.3.0 // indirect google.golang.org/grpc v1.26.0 ) Simple 我試著使用各種寫法來實現簡單的範例 使用 go-micro 進行服務發現,再透過 grpc 進行傳輸

學習 gRPC - Go

是在了解微服務的同時,得知 Go 並且同時聽聞了 gRPC 所以現在來學習使用 gRPC,看看 gPRC 到底是哪裡特別 Require 首先需要安裝 gPRC 工具,撰寫好 gPRC 的 pb 文件之後,就能透過 protoc 轉換成 go 文件進行使用 1 2 go get -u google.golang.org/grpc go get -u github.com/golang/protobuf/protoc-gen-go 目錄 此次練習的目錄結構 . ├── go.mod ├── go.sum ├── proto │ └── hello.proto ├── rpc │ └── hello.pb.go ├── client │ └── main.go └── server └── main.go 撰寫 Proto 撰寫 proto 定義文件,此為官方文件 go - quickstart proto3 及 proto2 的程式文法不同,所以版本注意 syntax = "proto3"; option go_package= ".

Linux shell 的圖形互動式介面 - Dialog

最近在寫一些純文字介面的工具,但是在操作上對非資訊人員還是不夠直覺 想知道怎麼開發類似於 BIOS 的文字操控介面,但是礙於不曉得相關的資訊 後來終於讓我查到關鍵字 Text-based user interface/TUI,然後選擇了一個看起來比較靠普的 Dialog Linux Dialog 是可以在 Terminal 上快速建立圖形交互介面的工具,功能十分強大、方便 撰寫 Shell Script 再搭配 Dialog 可以讓人比較直覺得操作,減少操作上的不便 雖然現在比較多使用網頁進行交互操作,但是可以不必特地架設網頁伺服器,減少一些不必要的問題 安裝 看起來 Dialog 是還有持續在維護,Mac 透過 brew 安裝的版本甚至是 20200327 的版本 可見還是有許多人喜愛以這種風格呈現操作介面 Mac 1 2 3 4 brew install dialog dialog --version > Version: 1.3-20200327 Ubuntu 18.04 1 2 3 4 apt-get install dialog dialog --version > Version 1.3-20171209 CentOS 6/7 1 2 3 4 yum install dialog dialog --version > Version 1.

監控 FreeNAS - Grafana + Prometheus + Node_Exporter

在自架的 FreeNAS 設備上監控主機狀態運行的過程 FreeNAS 本身的監控畫面,並沒有太好的監控便利性,老實說並不是那麼好操控 所以打算架設一個主監控,來方便閱覽每個環節的變化、服務的運行是否穩定、異常的預警告知 版本 Server FreeNAS: v11.3-U3.2 Data visualization Grafana: v6.7.4 Collector Prometheus: v2.17.1 Node_Exporter: v0.18.1 Prometheus 簡單介紹,是一套使用 Go 開發的開源系統監控報警框架,通過 HTTP 協議週期性抓取被監控組件的狀態 Installation 首先登入至 FreeNAS , 可以透過 SSH 登入 或 圖形介面的 Shell 操作 然後從 Github - Prometheus 下載 Linux - amd64 版本 1 2 3 4 5 6 7 8 9 10 11 12 cd /tmp/ # Download and Decompress wget https://github.com/prometheus/prometheus/releases/download/v2.17.1/prometheus-2.17.1.freebsd-amd64.tar.gz tar xvf prometheus-2.17.1.freebsd-amd64.tar.gz # Move execture file and config file cd prometheus-2.

Fortigate_60D PPPoE 加速

最近升級種花的 300M/100M,但是網速一直上不去,卡在 160M/100M 左右 後來發現 Fortigate 60D 的 CPU 使用率已經滿載了,導致網速被限制住了 原因 網路上跟我有相同問題的人不少,看到這一篇 fortinet fortwifi 60d的300M? 得知因為使用 FG-60D 做 PPPoE 導致 CPU 的使用率滿載,網速遭到效能限制 所以從網路上的另一篇文章 『請益:fortigate 80E機種是否跑滿300/100 pppoe』看到解決辦法是,透過 Router 進行 PPPoE 硬解,讓 Firewall 專心工作就好 架構 所以根據文章,購買了一台 EdgeRouter X (ER-X)設置在 FG-60D 前 Router 設定 EdgeRouter WAN Port 進行 PPPoE 硬解,設定好帳號密碼之後 並透過 CLI 開啟 HW Offload - EdgeRouter - Hardware Offloading 1 2 3 4 5 6 configure set system offload hwnat enable commit save exit # 儲存完後要記得離開設定模式 並透過以下指令確認是否有啟動硬體加速