分類
软件

[18+] Hendroid 同人與變態漫畫瀏覽器

發現一個令人墮落的應用( ͡° ͜ʖ ͡°) Hendroid:Doujinshi & Hentai-Manga archiving and viewing app.

分類
软件

安卓手機使用 dnscrypt proxy

目的:未 root 的安卓 8 手機在 WiFi 和 4G 下使用 dnscrypt-proxy 2 避免 DNS 污染。

跑起來

使用 Termux 來運行 dnscrypt-proxy 2,配置方法參考Fedora使用DNSCrypt。由於手機未 root ,所以無法監聽 53 端口,可以用 5353 替代。配置成功後 dig ft.wupo.info -p 5353 @127.0.0.1 應該可以能正確返回 DNS 查詢。

使用 DNSfilter去 F-droid 下載)實現的本地 VPN 來修改系統的DNS查詢,它同時還能攔截廣告。配置非常簡單,只需要在DNS配置欄選中禁用 DNS 服務器查找,並在輸入框中輸入下面一行即可。

127.0.0.1::5050::UDP

日常使用

新建文件 /data/data/com.termux/files/home/scripts/dns.sh 並給予執行權限。

startDns(){
  nohup /data/data/com.termux/files/home/opt/dnscrypt/dnscrypt-proxy -config /data/data/com.termux/files/home/opt/dnscrypt/dnscrypt-proxy.toml&
  echo "starting dns"
  sleep 10
  am start --user 0 -n  dnsfilter.android/.DNSProxyActivity
  sleep 2
}
stopDns(){
  am start --user 0 -n  dnsfilter.android/.DNSProxyActivity
  sleep 8
  pkill dnscrypt-proxy
  echo "killed dns"
}

status(){
  vt1="$(ps -ef | grep dnscrypt-proxy | wc -l)"
  vt2=" "
  if [[ $vt1 = "2" ]]; then
    dnsproxyStatus="1"
    vt2="$(dig -p 5353 +short www.v2ex.com @127.0.0.1)"
  else
    dnsproxyStatus="0"
  fi  
}
if [[ $1 = "1" ]]; then
  echo "start"          
  startDns
elif [[ $1 = "2" ]]; then
  echo "restart"  
  stopDns         
  sleep 3           
  startDns  
elif [[ $1 = "0" ]]; then
  echo "stop"
  stopDns
elif [[ $1 = "s" ]]; then
  status
  echo "dns: $dnsproxyStatus | $vt2"   
fi

在 ~/.bash_profile 中增加快捷命令

alias d1='/data/data/com.termux/files/home/scripts/dns.sh 1'
alias d0='/data/data/com.termux/files/home/scripts/dns.sh 0'
alias dt='/data/data/com.termux/files/home/scripts/dns.sh s'

使用的時候,運行 d1 即可啟動 dnscrypt-proxy 服務,並且拉起 DNSfilter。運行 d0 則會先拉起 DNSfilter,此時需要手動點下 Close 退出 APP,然後會關閉 dnscrypt-proxy 服務。

分類
软件

火狐开启 DoH 和 ESNI

DNS over HTTPS

DNS (Domain Name Server) 查詢是指將域名轉換成 IP 地址的過程。比如將你要訪問 www.douban.com,DNS查詢後,會告訴瀏覽器豆瓣的服務器IP是162.14.6.67。

普通的 DNS 查詢是明文傳輸的,這意味着你的互聯網服務提供商或者其他監聽網絡的人可以知道你正在訪問什麼網站。

火狐瀏覽器支持加密的 DNS 請求,但這不是默認的開啟的。(比如英國政府就要求它是禁用的,因為它會削弱他們屏蔽一些網站的能力)。

有兩種方法在火狐中啟用DoH,第一種是在 偏好設定 > 一般 > 網路設定 > 開啟 DNS over HTTPS ,開啟即可。第二種是在地址欄輸入

about:config

搜索「trr.mode」,雙擊修改數值為 2:如果 DoH 失敗則用普通 DNS 查詢;或 3:全部使用 DoH 查詢。

network.trr.mode    2

Encrypted SNI

當瀏覽器在發起一個 TLS 請求的時候(比如 HTTPS 請求), Server Name Indication (SNI) 會暴露你要連接到域名。你可以通過啟用火狐中的 encrypted SNI 來避免這一點。

在地址欄輸入

about:config

搜索「esni」,雙擊修改數值為 true 。

network.security.esni.enabled    true

可以在 Cloudflare ESNI Checker 進行檢測。如果設置成功,不僅能提升隱私保護,還可以解決由 DNS 污染導致的網絡問題。比如 Medium 和 一些啟用了 Cloudflare CDN 的站點就可以直連了。

分類
软件

日常使用的二維碼小工具

在電腦上生成二維碼(QR Code),我使用的是火狐瀏覽器中 rugk 的開發的開源瀏覽器插件 Offline QR Code Generator ,顧名思義,就是無需網絡連接,在本地即可生成二維碼。

安卓手機上生成二維碼,我使用的是 muelli 開發的 Barcodegen。 Barcodegen 可以生成包括二維碼在內的多種格式條碼。

Fedora 下的二維碼識別可以使用 zbar。

sudo dnf install zbar
zbarimg qrcode.jpg
#QR-Code:https://ft.wupo.info/%e6%97%a5%e5%b8%b8%e4%bd%bf%e7%94%a8%e7%9a%84%e4%ba%8c%e7%b6%ad%e7%a2%bc%e5%b0%8f%e5%b7%a5%e5%85%b7/
#scanned 1 barcode symbols from 1 images in 0.01 seconds

安卓手機上掃描二維碼,我使用的是 zxing 開發的 Barcode Scanner 。 這是個老牌條碼掃描器了,現在項目已經進入維護模式,也就不太可能會有更新了,但是用起來是一點問題都沒有的。

分類
方法 软件

ffmpeg下載流媒體

Fefora 安裝 ffmpeg

#如果沒有安裝過rpmfusion,需要先安裝之
sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
#然後就可以安裝 ffmpeg 了
sudo dnf -y install ffmpeg

保存m3u8類型的流媒體

#首先把m3u8列表保存為ts視頻
ffmpeg -y \
  -v warning \
  -loglevel debug \
  -i "https://domain.com/path/to/manifest.m3u8" \
  -vcodec copy \
  -c copy -f mpegts out.ts
#然後把ts轉換為mp4
ffmpeg -i out.ts -acodec copy -vcodec copy out.mp4
#或者
ffmpeg -i "https://domain.com/path/to/manifest.m3u8" -codec copy file.mp4
#如果mp4容器遇到問題可以嘗試mkv

保存udp、rtmp、rtsp、http類型的流媒體

ffmpeg -i "rtmp://domain.com/path/to/video.mp4" -vcodec copy -acodec copy out.mp4
<h3>選擇m3u8的清晰度</h3>
#m3u8文件可以用文本編輯器打開,內容如:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=276000,RESOLUTION=256x144,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
https://vod1-vh.akamaihd.net/i/mp4_hk/tv/2020/GLOBCT2020L03100007.smil/index_250000_av.m3u8?null=0
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=465000,RESOLUTION=432x240,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
https://vod1-vh.akamaihd.net/i/mp4_hk/tv/2020/GLOBCT2020L03100007.smil/index_400000_av.m3u8?null=0
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=797000,RESOLUTION=640x360,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
https://vod1-vh.akamaihd.net/i/mp4_hk/tv/2020/GLOBCT2020L03100007.smil/index_700000_av.m3u8?null=0
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1232000,RESOLUTION=848x480,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
https://vod1-vh.akamaihd.net/i/mp4_hk/tv/2020/GLOBCT2020L03100007.smil/index_1000000_av.m3u8?null=0
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2478000,RESOLUTION=1280x720,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
https://vod1-vh.akamaihd.net/i/mp4_hk/tv/2020/GLOBCT2020L03100007.smil/index_2000000_av.m3u8?null=0

#表示這個文件提供了 5 個清晰度的視頻,通常不制定的話回選擇最好的清晰度
#如果我們要指定 480P 的清晰度,也就是第3個
#(從第 0 個開始數)
#那麼完整的命令就是

ffmpeg -i "https://vod1-vh.akamaihd.net/i/mp4_hk/tv/2020/GLOBCT2020L03100007.smil/master.m3u8" -map p:3 -codec copy 31.mp4
分類
软件

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

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

分類
方法

拯救BT下載的好項目trackerslist

家裡用的便宜的天威寬帶,20M下行,2M上行。最早是可以正常下載bt資源的。然後不知道從什麼時候起就變成了速度要麼沒有,要麼只有幾k,無奈放棄。治到前幾天發現了這個項目:trackerslist。無論是用transmission還是Vuze都可以「方便」的加入更多的tracker,速度一下子就上來了。沒有虛擬貨幣無法捐贈,僅祝作者好人一生平安。