分類
软件

Tiny Tiny RSS

Firefox今天更新到了68.2.0,一個比較大的改動是移除了自帶的RSS閱讀器。剛好前不久拿到一台免費的Oracle Cloud,於是搭建Tiny Tiny RSS來做閱讀聚合。

MariaDB、php7.2、nginx和letsEncrypt證書生成器的安裝網上資料很多,這裡就不貼了。

然后根据Tiny Tiny RSS Installation Guide一步一步来做。我是直接在nginx默認的html文件夾下git clone出項目,然後訪問http://yoursite/tt-rss/install/來安裝,下面是遇到的問題。

未安裝php-intl

sudo yum install php7.2-intl

文件權限不足

#首先修改文件夾權限
cd /usr/share/nginx/html/tt-rss
sudo chown -R nginx:nginx cache lock feed-icons
sudo chmod -R g+w cache lock feed-icons
#如果你的CentOS 7系統和我的一樣開啟了SELinux,還需要
sudo chcon -R unconfined_u:object_r:httpd_sys_rw_content_t:s0 cache feed-icons lock

更新機制

#首先嘗試了systemctl,沒有成功
#於是用原始的crontab
*/30 * * * * /usr/bin/php72 /usr/share/nginx/html/tt-rss/update.php --feeds --quiet

使用小撇步

  • 在偏好設定》摘要》類別里,可以新建類別。
  • 在RSS訂閱上右鍵,編輯摘要里可以單獨設置更新頻率。據說選項里勾上媒體快取可以緩存媒體到服務器(未驗證)。
  • 打開「全部文章」,點擊閱讀頁左上角的RSS標誌,就可以用RSS的方式分享自己所有的閱讀聚合。
  • 安卓版客戶端可以從F-droid下載,我沒有使用客戶端。

If it helps, please kindly consider to contribute or donate.






191218更新:Oracle Cloud 的服務器被無預警註銷,沒有通知沒有郵件什麼都沒有。但是啟動盤還在,所以可以再創建一個實例。雖然如此,仍然給人極不靠譜的感覺。新實例會產生新 IP,修改 DNS 後原來的服務就又可以用了。

藉此機會順便升級了下 Tiny Tiny RSS,由於我是通過 Git安裝的,所以需要在安裝文件夾執行下面命令就可以了。

git pull origin master

更新後進入網頁可能會提示需要更新數據庫,點擊更新按鈕後就完成了升級。

分類
软件

火狐啟用未簽名的附加元件

昨天還好好的,也沒升級火狐,今天一打開大片插件都被禁用了,理由是沒有簽名,所以不夠安全。但是忽然用不了很不方便啊,臨時的解決辦法是:瀏覽器輸入about:config,搜索欄輸入xpinstall.signatures.required,將其值改為false,即可啟用。

忽然禁用,而且沒有提示怎麼開啟,很多用戶都會很困擾吧。如果尊重用戶的話,希望可以告知用戶,在用戶願意為自己安全負責的情況下如何開啟被禁用的插件。幾百萬人使用的插件,說禁用就禁用了,傷害面不會有點大嗎?


升級到60.6.2esr後問題得以修復。

分類
软件

衛星圖

衛星圖可以帶來比繪製地圖更真實的體驗。網頁版谷歌地圖提供的衛星圖已經很方便,專業版還可以看過往的衛星圖,在時間跨度上看地貌是非常震撼的,比如深圳的南山半島(建造)和岩手的鵜住居(破壞)。

Google地球專業版可以直接從官方網站下載。為Linux用戶提供64位元的適用於 Debian/Ubuntu的deb包,和適用於 Fedora/openSUSE的rpm包。安裝後應該會出現在程序菜單網絡子菜單下。

#通過代理打開Google地球專業版
proxychains4 google-earth-pro
##如果有更新可能會報未導入Google公鑰的錯誤,通過下面命令導入即可
sudo rpm --import https://dl.google.com/linux/linux_signing_key.pub
#導入公鑰後可再嘗試
sudo dnf update google-earth-pro-stable

除了谷歌地圖,OpenStreetMap的編輯器亦提供Bing 空照圖、DigitalGlobe Premium 空照圖、DigitalGlobe Standard 空照圖、Esri 世界衛星圖、Esri 世界衛星圖(清晰版)Beta、Mapbox 衛星圖這六種衛星圖,根據地區不同,有的非常清晰有的則很模糊。

分類
Linux 软件

Linux上的離線字典——GoldenDict

GoldenDict是一款方便的字典應用,不僅支持離線字典和屏幕取詞,也支持在線辭典服務。Fedora直接從軟件倉庫安裝goldendict即可,默認的屏幕取詞快捷鍵是Ctrl+C+C。

分享幾個字典的下載地址:https://1drv.ms/f/s!AiSujQyFSc-uab_ItF61BBKnLUs。GoldenDict中的字典順序也是下面順序。

  1. Babylon_English_Chinese_S_.BGL
  2. Babylon_Chinese_S_English.BGL
  3. Oxford_Advanced_Learner_English-Chinese_Dictionary-4th.bgl
  4. ConciseOxfordEnglishDictionary.dsl.dz
  5. Oxford English Dictionary (2nd Edition) .bgl
  6. 现代汉英词典(金山).dsl.dz

安卓也有GoldenDict可用,我用的免費版(谷歌市場:GoldenDict Free),有最大5個字典的限制,但是也夠用了。

使用espeak來發音

#安裝espeak
sudo dnf install espeak
#打開GoldenDict,菜單欄依次選擇
#編輯/字典/字典來源/程式/新增
#新增內容為:
#類型:音訊
#名稱:espeak
#命令列:/usr/bin/espeak -v en -s 120 %GDWORD%
#圖示:/usr/share/doc/espeak/html/images/lips.png
#最後勾選啟用框,保存並重啟GoldenDict就可以有英文發音了

更多字典可以從這些地方獲得:http://download.huzheng.org/(來自:Good offline dictionaries for GoldenDict)

分類
软件

youtube-dl

之前用過一些在線提取和轉換YouTube視頻的服務,近來發現這些提取或轉換的鏈接要求ip一致,那就無法用洋蔥網絡下載了。好在發現youtube-dl這麼個好工具,不僅能下載單集視頻還能下載視頻列表;不僅能單獨下載字幕還能把字幕合入視頻,非常強大。目前用的這幾個參數,記錄一下。

#安裝youtube-dl
sudo dnf install youtube-dl
##單個視頻下載
#查看可下載的視頻,注意audio only的視頻,沒有伴音的哦
youtube-dl https://www.youtube.com/watch?v=qU52CFGTGu0 -F
#下載編號為22的視頻
youtube-dl --proxy socks5://127.0.0.1:9150 qU52CFGTGu0 -f 22
#續傳中斷的視頻
youtube-dl --proxy socks5://127.0.0.1:9150 qU52CFGTGu0 -f 22 --continue
#列出所有字幕
youtube-dl --proxy socks5://127.0.0.1:9150 qU52CFGTGu0 --list-subs
#只下載字幕而不下載視頻
youtube-dl --all-subs --skip-download --proxy socks5://127.0.0.1:9150 https://www.youtube.com/watch?v=qU52CFGTGu0
#使用aria2搭配proxychains實現多進程下載
sudo dnf install aria2 proxychains-ng
proxychains4 youtube-dl -f mp4 --external-downloader aria2c --external-downloader-args '-c -j4 -x 4 -s 4 -k 5M' lW0ugxbtIEE
##視頻列表下載
#將視頻列表中的視頻連接輸出到文本文件
youtube-dl -j --flat-playlist "https://www.youtube.com/playlist?list=PLATwx1z00HsdanKZcTMQEc-n_Bhu_aZ76" | jq -r '.id' | sed 's_^_https://youtu.be/_' > list.log
#從文件里讀取視頻地址並下載,下載過的會保存於done.txt不會重複下載
youtube-dl -f mp4 --external-downloader aria2c --external-downloader-args '-c -j5 -x 5 -s 5 -k 10M --max-download-limit 1024k' --batch-file list.log --download-archive done.txt

參考:youtube-dl批量下载时,跳过之前已经下载过的文件

分類
软件

Fedora使用Impactor安裝ipa

使用Impactor可以為蘋果手機安裝ipa程序,無論手機是否越獄。從Cydia Impactor下載需要的包並解壓。

./Impactor

./Impactor: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
#若出現上述錯誤則
sudo ln -sf /usr/lib64/libudev.so.1 /usr/lib64/libudev.so.0

./Impactor: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
#若出現上述錯誤則
sudo dnf install libatomic

./Impactor: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
#若出現上述錯誤則
sudo dnf install ncurses-compat-libs

啟動Impactor後,先選中手機,再在Device>Install package選擇要安裝的包,輸入蘋果賬號密碼即可。




Fedora找尋丟失庫的方法,如

./Impactor: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
sudo dnf provides libncurses.so.5
ncurses-compat-libs-6.0-8.20170212.fc26.i686 : Ncurses compatibility libraries
軟體庫    :fedora
符合之來源:
Provide    : libncurses.so.5
sudo dnf install ncurses-compat-libs
分類
Linux 软件

AFWall+ 安卓可用的iptables

安卓手機如果root了,便可以通過AFWall+Github項目地址)來使用iptables管控網絡。

在安卓上使用DNSCrypt

由於TCP旁路阻斷技術的應用,DNSCrypt已經不能為日常使用網絡帶來太多方便,所以僅僅是記錄一下使用方法而已。先安裝好AFWall+並根據自己的喜好定製軟件的聯網規則,然後啟用iptables。我們使用Termux來至執行iptabls命令。根據自己的手機系統下載dnscrypt-proxy,比如我的就是dnscrypt-proxy-android_arm64-2.0.17.zip。如果不知道自己的手機系統,可以運行uname -a,如果出現aarch64就跟我一樣下載android_arm64版本就行。下載後解壓到/data/data/com.termux/files/home/opt/dns目錄里。複製一份文件夾里的配置文件即cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml就可以了,配置也可以參考Fedora使用DNSCrypt。下面的文件我是放在家目錄下的,文件名是dns.sh,記得加上執行權限。

remove127(){
  /system/bin/iptables -t nat -D OUTPUT -p tcp --dport 53 -j DNAT --to-destination 127.0.0.1:53&&/system/bin/iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:53&&/system/bin/iptables -t nat -D OUTPUT -d 114.114.114.114 -p tcp --dport 53 -j DNAT --to-destination 114.114.114.114:53&&/system/bin/iptables -t nat -D OUTPUT -d 114.114.114.114 -p udp --dport 53 -j DNAT --to-destination 114.114.114.114:53
}
add127(){
  /system/bin/iptables -t nat -I OUTPUT -d 114.114.114.114 -p tcp --dport 53 -j DNAT --to-destination 114.114.114.114:53&&/system/bin/iptables -t nat -I OUTPUT -d 114.114.114.114 -p udp --dport 53 -j DNAT --to-destination 114.114.114.114:53&&/system/bin/iptables -t nat -A OUTPUT -p tcp --dport 53 -j DNAT --to-destination 127.0.0.1:53&&/system/bin/iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:53
}
startDns(){
  /data/data/com.termux/files/home/opt/dns/dnscrypt-proxy -config /data/data/com.termux/files/home/opt/dns/dnscrypt-proxy.toml > /dev/null 2>1 &
  echo "starting dns"
  sleep 15
}
stopDns(){
  pkill dnscrypt-proxy
  echo "killed dns"
}
test(){
  var1=$(su -c "/system/bin/iptables -C OUTPUT -p tcp --dport 53 -j DNAT --to-destination 127.0.0.1:53")
}
status(){
  vt1="$(ps -ef | grep dnscrypt-proxy | wc -l)"
  if [[ $vt1 = "2" ]]; then
    dnsproxyStatus="1"
  else
    dnsproxyStatus="0"
  fi
  vt2="$(/system/bin/iptables -t nat -L | grep 127.0.0.1:53 | wc -l)"
  if [[ $vt2 = "2" ]]; then
    iptablesStatus="1"
  else
    iptablesStatus="0"
  fi
}
if [[ $1 = "1" ]]; then
  echo "start"      
  remove127              
  sleep 5                
  startDns       
  add127
elif [[ $1 = "2" ]]; then
  echo "restart"        
  remove127
  stopDns         
  sleep 3           
  startDns               
  add127 
elif [[ $1 = "0" ]]; then
  echo "stop"
  remove127
  stopDns
elif [[ $1 = "s" ]]; then
  status
  echo "dns: $dnsproxyStatus | iptables: $iptablesStatus"
else
  status
  if [[ $dnsproxyStatus = "1" ]]; then
    echo "$(date) dns ok" >> /data/data/com.termux/files/home/log.log
  else
    remove127
    stopDns
    remove127
    sleep 5
    startDns
    add127
    echo "$(date) dns started" >> /data/data/com.termux/files/home/log.log
  fi
  
fi
#使用說明
#首先切換的超級用戶
su
#查看當前狀態,1代表開啟,0代表關閉
./dns.sh s
#關閉dnscrypt-proxy
./dns.sh 0
#開啟dnscrypt-proxy
./dns.sh 1
#重新啟動dnscrypt-proxy
./dns.sh 2

啟動完成後可以通過dnsleaktest.com來查看當前的本機的dns。本來腳本還做了自啟動的適配,但是無論是Termux的自動啟動還是Magisk的自動啟動,都不太好用就算了。