2018年5月27日 星期日

找出檔案重覆的內容 (find duplicate line content in a file)

sort ipf.conf | uniq -d


mutt 直接夾圖檔(不是以附檔的方式) (mutt embedded image not attachment)

由於某公司的新規定:某等級以下的員工手機不能收附檔,因此原先夾圖檔的報表都看不到內容了 (重點是在下班時間我懶得開電腦)

所以要做一點小調整,目的就是不要用 -a的夾檔方式,先用base64轉成純文字,再用Embedded Image的方式夾在html檔裡,最後mutt再用content_type=text/html的方式來寄送。

#!/bin/bash
test="$(cat tn-dynamic-atm.png | base64)"
echo "\" > test.html
/usr/bin/mutt -e "set content_type=text/html" -s "test from base64" somebody@myplace.com < test.html

2018年5月15日 星期二

使用IFTTT讓LINE發訊息(重點是要含圖片) (IFTTT line notify attach photo of picture)

之前在做一個系統,簡單來說就是門禁系統。如果有人在非上班時間要進機房,系統就會看一下webcam,來識別是不是機房的同仁,不管是不是機房的同仁都會發一個line訊息,裡面希望把人名、時間還有照片都傳上去。

在臉書上看到別人分享的作品,他介紹可以使用IFTTT來操作。
試了一下不難,但一直沒有辦法像他一樣把LINE夾圖。留言問他,他可能覺得這個太簡單也沒有回。

我只好再花時間試一下,還好順利試出來了,以下作個簡單的記錄:

其實這個圖就是關鍵了,原先的範例在Message那邊只有寫value1、value2、value3。
但我試了很久,只能把圖用url的方式寫入value2或value3,傳line給對方時,雖然圖片的連結會帶出來,但對方還要點一下才行,而且這年代隨意點一個連結都會中獎,所以這個方法不好。


後來經過幾個小時的測試之後,才改成上面的設定方式。把Value3放在下方的Photo URL。說也奇怪 這樣就能直接line圖了....

附上測試的程式碼:
curl -H "Content-Type: application/json" -X POST -d '{"value1":"進入機房","value3":"https://www.qrstuff.com/images/default_qrcode.png"}' https://maker.ifttt.com/trigger/LINE-IMAGE/with/key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


後記:
我都照做了,可是我的圖還是送不出來怎麼辦呢?
我的作法是發現人臉辨識率達到70%的標準後,就存圖在/var/www/html (建議用jpg,檔案小很多)。接著再傳送外部連結:http://1.2.3.4/timestamp.jpg給line,但是一開始的時候照片都傳不出去,但用一般的圖床的照片又都可以傳的出去。(在google上隨意找的圖都可以送,不管是http或https,用朋友的blog的照片也可以送的出去https)

後來花了很多的時間才確認出來,你要傳給他的URL需要合法的網址,我一開始用http://1.2.3.4,不能傳圖,後來用http://a.b.c.d,也是不能傳,接著用https://a.b.c.d也不能傳。(我是申請免費的 nctu.me的),接著想要用let's encryption加在nctu.me上,但超過流量限制(中間有一度通過,但我不慎把cem及key刪除),之後再申請就不會過了 (因為nctu.me很多人,一下子就超過let's encryption的流量上限)

最後是在臉書大神的幫忙下,有朋友幫我設定一筆A記錄,之後就很順利的設定完成了。
看到圖透過LINE傳出來的時候,真的很感動。