分類
软件

使用 Screen Stream 來分享安卓屏幕

Screen Stream 是一款由 Dmitriy Krivoruchko 開發的老牌(始於 2016 年)開源安卓屏幕共享軟件。使用方便,還支持中文,推薦有需要的朋友使用。

它主要是局域網共享屏幕,甲手機打開軟件,點擊開始即可。然後乙手機,在瀏覽器裏輸入甲手機的網址(或掃碼)就可以觀看了。就是這麼簡單!如果想要通過因特網分享屏幕,那麼你得確保你有公網 IP,使用方法是一樣的。

通過調教幀率和畫質,可以減輕手機網絡和性能消耗(少發一點熱)。通過設置安全選項,可以控制只通過 WiFi 網絡分享(即不通過手機網絡分享)或者只在本機分享(相當於是程序接口)。

通過服務器實現屏幕共享

由於沒有公網 IP,又想要分享屏幕給遠方親友,則可以通過服務器來實現。思路有很多,我有實現一個非常簡單辦法。對分享一方來說,可以通過 Termux 來把圖片 Post 到服務器,服務器收到圖片後展示出來即可。所用的 Termux 命令爲:

watch -n 3 "curl http://127.0.0.0.1:8080/stream.jpeg | curl -k -s -X POST --data-binary @- https://my.image.server/image_in"
#即每隔 3 秒,把圖片傳送到服務器一次

我的圖片服務是一個簡單的 Django 網站,免費部署在 pythonanywhere,等我有空了可以把代碼整理下發出來。我也測試過讓甲通過瀏覽器,用 Javascript 來把圖片轉發到服務器,Chrome 下是可以的,但是火狐裏網頁一到後臺,JS 就停止工作,搜了一下也沒找到火狐網頁保活的辦法。

理論上,把視頻流直接轉發到 Nginx,應該更加高效流暢,但是我沒有測試過。

分類
软件

Anuto TD 一個塔防遊戲

Anuto TD 是一款製作精良的塔防遊戲,它「浪費」了我很多時間!

分類
方法

通過 ICS 文件給日曆增加農曆

很長一段時間以來,我一直受沒有農曆可用的困擾。安卓原生的日曆不支持農曆,谷歌日曆也是到了安卓 8 才開始有農曆,等我用到安卓 8 的時候我已經開始去谷歌化了。轉用開源日曆應用(Etar)後也沒有發現很好的辦法來解決農曆的問題,主要是曆法這東西真的很複雜。終於在最近找到了一個方案,通過 ICS 文件把計算好的農曆導入日曆就可以了。我這裏提供了從 2017 年 01 月 01 日到 2049 年 12 月 31 日的農曆和節氣與公曆對應關係的 ICS 文件,只要選擇需要的年份導入日曆即可。 這些 ICS 文件是基於 infinet 開發的 lunar-calendar 項目生成的,其原始日期數據來自於香港天文台的公曆與農曆日期對照表。我在使用的時候將節氣和生肖做了繁體中文的轉換,並且刪減了一些不展示在日曆中的文本以減小文件大小。我修改後的腳本也可以在上面的分享文件夾中找到。

順便說下我這邊具體是怎麼導入的:我一直在用 Disroot 提供的 Nextcloud 實例,其中有日曆的功能,而我之前就已經在安卓上通過 DAVx⁵ 來同步日曆和聯繫人了。所以我是在電腦上通過瀏覽器來操作的,理論上在手機上也是類似的。日曆網頁的左側點「新日曆」選擇「新日曆」輸入名稱就創建好了新日曆了,如「農曆」。然後點擊左下角的「設定及匯入」-「匯入日曆」,選擇 ICS 文件然後選擇要匯入的日曆即「農曆」。最後耐心等待一番,因爲我通過網絡請求看到農曆竟然是一條一天這樣傳的,我的文件都是三年三年的,所以要耐心等它傳完,傳完後點擊一下「農曆」左側的開關就可以看到農曆了。手機上同步前先從菜單中「刷新日曆列表」就會出現「農曆」,再來同步就可以在日曆裏看到農曆和節氣了。

分類
软件

使用 Send Reduced 來減小圖片大小

Send Reduced 雖然只有區區 52 KB,但是卻有兩個非常好用的功能——壓縮照片和清理 Exif 數據。現在安卓手機照片越來越大,動輒一張照片就八九 MB,但是選擇 85% 的壓縮比壓縮後,圖片大小就只剩下六百多KB,肉眼也沒有可見的畫質損失,很適合發送給聯繫人和社交媒體。

不過也有一個小小缺陷,就是壓縮後的最大尺寸是個選項列表,最大的選擇是 2560,如果你一定要選擇大於此尺寸的圖片,就不能用它不行了。

分類
软件

安卓截屏軟件 Screenshot Tile

截图瓷贴 Screenshot tile(NoRoot)是一個方便的截圖軟件,它可以在快速設置面板(從屏幕頂端下滑即出現)中添加一個截圖的按鈕。我的手機用電源鍵和音量鍵截圖會有咔嚓一聲快門音,但是用這個軟件就不會。還可以設置爲先選截圖區域再執行截圖動作,這樣只截取重點區域而防止頂部狀態欄泄露隱私。看介紹還可以和一些自動化軟件聯動實現連續截圖,這個我就沒試過了。截图瓷贴要求安卓 7 以上的系統。

分類
软件

使用 TunProxy 給特定安卓應用套 HTTP 代理

由 raise-isayan 開發的 TunProxy 是一個利用安卓 VPN 服務實現的代理配置工具。它可以讓不支持 HTTP 代理的應用的網絡流量走 HTTP 代理。你可以通過 GitHub 的最新源代碼自己生成安裝包,也可以使用我打的包 TunProxy releases。我測試了給VLC,Fennec(Firefox),Your local weather 走代理,三款軟件都良好運行。

TunProxy is an useful tool, you could use it to set a http proxy for certain android apps.

今天瞭解到:在網絡受限區域,搭建安卓環境可能是個問題,可以嘗試從 Android Developers 中國站下載相關軟件。另外還有谷歌翻譯中國版Chrome 中國版的網站可以直接再牆內打開。

本文更新於 2022/07/23。

分類
软件

Material Files 安卓文件管理器

Material Files 是一個由 Zhang Hai 開發的開源文件管理器。其主要特性有:

  • 開源:輕量、簡潔並且安全。
  • 內置 FTP 服務器,方便分享與接收文件。
  • 遵循 Material Design 規範,並且注重細節。
  • 麵包屑導航欄:點擊導航欄所顯示路徑中的任一文件夾即可快速訪問。
  • Root 支持:使用 root 權限查看和管理文件。
  • 壓縮文件支持:查看、提取和創建常見的壓縮文件。
  • 主題:可定製經典主題的界面顏色,以及夜間模式。
  • Linux 友好:支持符號鏈接、文件權限和 SELinux 上下文。
  • 健壯性:使用 Linux 系統調用實現,而不是另一個 ls 解析器。
  • 實現良好:使用正確的方式打造,包括 Java NIO2 文件 API 和 LiveData。

鑑於以上優良特性,我拋棄了 X-plore。雖然 X-plore 的 HTTP 服務器傳輸文件似乎比 Material Files 的 FTP 方便些,但是 Material Files 是自由軟件,而且傳輸文件用 FTP 應該是合理的。Material Files 的 FTP 服務支持匿名模式,所以如果是從電腦下載手機中的文件,使用電腦的瀏覽器中訪問本機的 FTP 服務即可(比如:ftp://192.168.1.42:1111)。如果要上傳文件到手機中則需要使用 Filezilla 之類的 FTP 客戶端應用才行。由於安卓上沒見到合適的 FTP 客戶端,所以如果欲將文件從甲手機傳至乙手機,可以在甲手機開啟 FTP 服務,乙手機用瀏覽器下載即可。值得注意的是,瀏覽器地址欄里的協議 ftp:// 不可省略。

由於最近看到 DNS 請求記錄里有向 X-plore 服務器的請求,這也是我放棄它的一個原因。

本文更新於 2021/05/19。