在 Command Line 跟 Stack Overflow 互動

Hacker News Daily 上看到可以在 command line 跟 Stack Overflow 互動的工具:「stackoverflow from the terminal」。

可以用 npm 安裝。

作者引用了 xkcd 的笑話來說明為什麼要開發這個程式:


出自「tar

AWS 的 EC2 Run Command 功能支援 Linux Instance

也是 AWS 在年假前丟出來的功能:「EC2 Run Command Update – Now Available for Linux Instances」。

原先只能用在 Windows Instance 上,現在則支援 Linux Instance 了:

When we launched EC2 Run Command seven weeks ago (see my post, New EC2 Run Command – Remote Instance Management at Scale to learn more), I promised similar functionality for instances that run Linux. I am happy to be able to report that this functionality is available now and that you can start using it today.

跟一般 SSH 登入不一樣的地方在於這個功能可以被 AWS IAM 的系統稽核,所有透過這個功能下的指令都會被 AWS 記錄起來。

run_command_linux_run_params_1

run_command_linux_output_1

HTTP/2 測試工具

CloudFlare 整理了一篇「Tools for debugging, testing and using HTTP/2」,說明有哪些測試工具可以用...

Screen-Shot-2015-12-04-at-10-46-21

從最簡單的「HTTP/2 and SPDY indicator」(Google Chrome) 或是「HTTP/2 and SPDY indicator」(Firefox),到後面各式各樣的工具都有列出來。甚至還包括 command line 與 packet snooping 類的工具都有...

Ubuntu 在 Command Line 下自動重撥 PPPoE

HiNetPPPoE 大約三四天會斷一次,但就算設定要自動重撥好像也不太會動,所以需要自己偵測 ppp0 界面是否存在,不是的話就要撥號...

測試 ppp0 界面是否存在可以用 ifconfig 的 exit status 判斷,而重撥則可以用 nmcli 來做,用 cron 去判斷變成:

*/1 * * * * root /sbin/ifconfig ppp0 > /dev/null 2>&1 || /usr/bin/nmcli connection up id "HiNet PPPoE" > /dev/null 2>&1

我是用 "HiNet PPPoE" 這個名稱,如果要用到你自己的機器上的話,把上面的 "HiNet PPPoE" 換成你在 NetworkManager 裡設定的名稱。

透過 API 在 EC2 instance 上下命令

EC2 的新功能,可以在 Web Console 或是透過 API 直接在 EC2 instance 上面執行命令:「New EC2 Run Command – Remote Instance Management at Scale」。

另外這需要在 EC2 instance 先安裝軟體,目前只支援這三個地區:

You can use Run Command today in the US East (Northern Virginia), US West (Oregon), and Europe (Ireland) regions.

比較意外的是不額外收費:

There is no charge for this this feature; you pay only for the AWS resources that you consume.

Command Line 界面的 caniuse

前幾天在其他地方看到,剛剛在 Zite 上又翻到:「Use this handy command line tool to check if your code works across browsers」。

官方網站在「sgentle/caniuse-cmd」這邊,可以透過 npm install caniuse-cmd 安裝,或是加上 -g (npm install -g caniuse-cmd) 裝到系統裡。

設定 CloudFront 的 Wildcard SSL (SNI)

不知道為什麼網路上一堆文章寫的超複雜 XD

目前必須使用 CLI 才能上傳 key 與 SSL certificate,所以乖乖的裝上 aws-cli 吧 :p

而通常在買 Wildcard SSL 時會 *.example.com 的時候會簽成 example.com + *.example.com,這時候用 example.com 當名字掛進去:

aws iam upload-server-certificate --server-certificate-name example.com --certificate-body file://server.crt --private-key file://server.key --certificate-chain file://intermediate.crt --path /cloudfront/

一樣可以確認:

aws iam get-server-certificate --server-certificate-name example.com

會改到的幾個部份用粗體標出來了。

上傳完成後就可以到 Web Console 上的 CloudFront 部份設定了。

主要是參考「Building a CDN over SSL with CloudFront and SNI」這篇文章的說明,再加上一些亂試後去翻文件確認的結果 :o

由 RSA Key 產生 CSR 的方法 (OpenSSL)

從「OpenSSL CSR with Alternative Names one-line」這篇看到的方法,一行解決,可以寫到 Makefile 之類的地方處理?

給了兩個範例:

openssl req -new -key endpoint.com.key -sha256 -nodes -subj '/C=US/ST=New York/L=New York/O=End Point/OU=Hosting Team/CN=www.endpoint.com/emailAddress=administrative-not-existent-address@our-awesome-domain.com/subjectAltName=DNS.1=endpoint.com' > www.endpoint.com.csr

以及:

openssl req -new -key endpoint.com.key -sha256 -nodes -subj '/C=US/ST=New York/L=New York/O=End Point/OU=Hosting Team/CN=www.endpoint.com/emailAddress=administrative-not-existent-address@our-awesome-domain.com/subjectAltName=DNS.1=endpoint.com,DNS.2=usually-not-convered-domain.endpoint.com,DNS.3=multiple-domains-crt.endpoint.com' > www.endpoint.com.csr

記錄起來,以後應該還用的到 :p

PostgreSQL 的 command line 工具調整

在「Optimizing Your psql」這篇介紹了 PostgreSQL 的 command line 工具 psql 要怎麼調整讓他變好用。

這篇文章是入門的調整,藉由 $HOME/.psqlrc 裡的幾行設定,就可以讓系統變得好用很多,可以看到最後面給的 .psqlrc 也才八行...