Ubuntu 16.04 架設HylaFAX筆記

1.首先需要一個USB Modem以及一台Ubuntu(這邊是在iMac下用Parallels Desktop跑Ubuntu 16.04)

2.設定ttyACM相關權限
編輯udev

sudo vim /etc/udev/rules.d/70-ttyusb.rules

加入下面設定:

KERNEL=="ttyUSB[0-9]*",MODE="0666"
KERNEL=="ttyACM[0-9]*",MODE="0666"

以及透過chmod修改權限

sudo chmod o+rw /dev/ttyS0

3.安裝

sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y cu hylafax-server hylafax-client

4.測試USB Modem

sudo cu -l ttyS0

出現connected.既可按兩下“.離開

5.設定HylaFAX

sudo faxsetup

6.設定撥號前按下0

sudo vim  /var/spool/hylafax/etc/config.ttyACM0 

修改ModemDialCmd設定:

ModemDialCmd:           ATX3D0T%s       # press 0 before dialing

7.傳真a.pdf至11223344

sendfax -n -d 11223344 a.pdf

8.查看

#歷史狀態
faxstat -d
#接收狀態
faxstat -r
#傳送狀態
faxstat -s

9.刪除job 1

faxrm 1

10.清除所有傳送資料(如果隔一陣子想要清除所有傳送資料的話)

sudo service hylafax stop
sudo rm -rf /var/spool/hylafax/docq/*
sudo rm -rf /var/spool/hylafax/doneq/*
sudo rm -rf /var/spool/hylafax/info/*
sudo rm -rf /var/spool/hylafax/log/*
sudo rm -rf /var/spool/hylafax/sendq/*
sudo service hylafax restart
faxstat -d

install nodejs on macos with nvm

#安裝nvm
brew install nvm

#設定路徑
echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.bash_profile
. ~/.bash_profile

#查看版本
nvm ls-remote

#安裝8.x
nvm install v8.15.1

#顯示已安裝版本
nvm ls

#切換版本
nvm use v8.15.1

#設定PATH
echo "PATH=$PATH:$(dirname $(nvm which v8.15.1))" >> ~/.bash_profile
. ~/.bash_profile

install docker 18.06 on raspberry pi

最近在raspberry pi上面安裝docker 18.09後,
會發生無法啟動docker的問題.
因此需要降版至18.06,語法如下:

sudo apt-mark unhold docker-ce
sudo apt-get purge -y docker-ce
sudo apt-get autoremove -y --purge docker-ce
sudo apt-get autoclean
sudo rm -rf /var/lib/docker
export VERSION=18.06 && curl -sSL get.docker.com | sh
sudo apt-mark hold docker-ce

k375s在macos下的建議設定

個人因為已經習慣Windows鍵盤,
因此鍵盤排列方式會是: Ctrl/Command/Option
而K375s鍵盤有幾種選擇方式:

  • Fn+P(3秒): Windows模式,也就是 Ctrl/Command/Option
  • Fn+I(3秒): iOS模式,也就是 Ctrl/Option/Command
  • Fn+O(3秒): MacOS模式,也就是 Ctrl/Option/Command

因此我會用Fn+P(3秒)強制設定為Windows模式,以便符合我的習慣.

另外,鍵盤預設F1~F12是必須要搭配Fn才能使用的.
這邊則是要透過Fn+Esc(3秒)來將鍵盤設定為標準鍵盤.

建立MacOS Mojave ISO檔

#建立cdr
hdiutil create -o /tmp/Mojave.cdr -size 6000m -layout SPUD -fs HFS+J

#掛載cdr至install_build
hdiutil attach /tmp/Mojave.cdr.dmg -noverify -mountpoint /Volumes/install_build

#將Mojave掛載到install_build
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build

#退出
hdiutil detach /Volumes/Install\ macOS\ Mojave

#轉換成iso
hdiutil convert /tmp/Mojave.cdr.dmg -format UDTO -o ~/10.14.iso

#修改檔名
mv /tmp/Mojave.cdr.dmg ~/10.14.dmg
mv ~/10.14.iso.cdr ~/10.14.iso

使用EDNS跟DNSSec保護DNS資料

DNS伺服器扮演著將IP與網域對應的工作.
但因為當初DNS設計並沒有考量安全性的設計,導致至今有許多DNS偽造的情況.
為瞭解決上述問題,衍生出了DNSSec以及EDNS等相關技術的發展.

然而DNS已經行之有年,許多DNS Server並沒有落實EDNS.
所以過去有一段時間,公用的DNS Server對於未支援EDNS的伺服器會採用二次查詢的方式.
也就是第一次會使用EDNS查詢,失敗後改用傳統DNS方式查詢.
如此一來就可以相容兩種系統,但是也造成EDNS遲遲無法普及.

因此幾個公用的DNS Server(如Google 8.8.8.8, GloudFlare 1.1.1.1)約定在2019/2/1這天要來測試只做EDNS查詢,並將這一天稱為DNS Flag Day.
所以當DNS Server不支援EDNS時,將會造成網域名稱無法順利解析.

為避免上述狀況,本研究採用下列方式,開啟EDNS及DNSSec之設定.

下面是有關於如何將DNS提升至EDNS的方法:

1.確定網域名稱,並準備好網域設定檔

DOMAIN=cbe.tw
# 網域設定檔: ${DOMAIN}.txt

2.建立公私鑰
2.1.KSK

KSK_KEY=$(dnssec-keygen -r /dev/urandom -f KSK -a RSASHA512 -b 2048 -n ZONE ${DOMAIN})

2.2.ZSK

ZSK_KEY=$(dnssec-keygen -r /dev/urandom -a RSASHA512 -b 1024 -n ZONE ${DOMAIN})

3.將key附加到網域設定檔 ( 也就是${DOMAIN}.txt )

cat K${DOMAIN}*.key >> ${DOMAIN}.txt

4.產生加簽後的網域設定檔 ( )

dnssec-signzone -o ${DOMAIN} -k ${KSK_KEY}.key ${DOMAIN}.txt ${ZSK_KEY}.key

上述步驟將會產生:
* 加簽過後的網域設定檔,檔名會是 ${DOMAIN}.txt.signed
* DS紀錄檔(DS records),檔名會是 dsset-${DOMAIN}.

5.啟用DNSSec
* 將${DOMAIN}.txt.signed放到 DNS Server上 (如Bind9 or CoreDNS).
* 到網域註冊商上加入DS records.

* 開啟TCP 53 port,並做好對應的NAT.
6.檢測
* https://dnsflagday.net/#domain-holders

* https://dnssec-analyzer.verisignlabs.com/

* http://dnsviz.net/

移除XQuartz

launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist && \
sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist && \
sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartz  && \
sudo pkgutil --forget org.macosforge.xquartz.pkg  && \
rm -rf ~/.serverauth* && rm -rf ~/.Xauthorit* && rm -rf ~/.cache && rm -rf ~/.rnd && \
rm -rf ~/Library/Caches/org.macosforge.xquartz.X11 && rm -rf ~/Library/Logs/X11

refer: https://gist.github.com/pwnsdx/d127873e24cef159d4d603accaf37ee4

經測試,可移除使用dmg安裝的XQuartz