與朋友分享文件有那麼困難嗎?

隆重介紹 Pafera 檔案伺服器,這是一款小型 Android 伺服器,現已發展成為成熟的檔案管理器、幻燈片檢視器和媒體伺服器
2023-04-17 22:41:37
👁️ 840
💬 0

內容

  1. 介紹
  2. 候選人
  3. 解決方案
  4. 那麼這是如何運作的呢?
  5. 安裝伺服器
  6. 瀏覽文件
  7. 系統選單
  8. 文件選單
  9. 使用投影片放映
  10. 配置
  11. 未來計劃

介紹

哇!這真的很酷。可以和我分享一下嗎?

作為一個不斷擁有新產品和應用程式的技術人員,我不記得在聚會、會議甚至等地鐵時有人對我說過多少次上述短語的某些版本。

然而,我清楚地記得我們有多少次進行了以下交流:

當然!你用什麼?
朋友 嗯,我有應用程式 A。
嗯...我沒有那個。你有應用B嗎?
朋友 不,我也沒有。有方法C嗎?
好的。讓我們嘗試一下。嗯...無法連接。我們使用方法D怎麼樣?
朋友 這也行不通。

自從電腦在黑暗時代出現以來,共享檔案就成了一項常見的任務。首先,熱心的程式設計師高興地看著彼此的列印輸出,然後就變成了複製打孔卡。之後,磁碟成為新的熱門趨勢,然後技術轉移到光碟、隨身碟和無線傳輸。

然而,70 年後,我們似乎仍處於這樣一個階段:如果不跳過障礙、下載奇怪的應用程式或訴諸緩慢的無線傳輸,我們就無法輕鬆分享可愛的柴犬影片。

我們嘗試一些不同的怎麼樣?

候選人

但是吉姆,我每天共享文件沒有任何問題,你說?

好吧,讓我們看看人們用來傳輸文件的常用方法。

方法 失敗
1. 空投 可以 AirDrop 到 Android 手機嗎?那麼好吧!
2. 附近分享 可以就近分享檔案到 iPhone 嗎?唔...
3. AirDroid、SHAREit、Resilio Sync、Send Anywhere 等... 您是否打算告訴公車站的某人快速安裝與您相同的應用程序,以便他們可以接收文件?那麼好吧!
4. 聊天程序 許多聊天程式限制您可以發送的文件類型,重新壓縮您的高清視頻,並且您必須等待文件慢慢上傳然後下載到您朋友的設備上。我們也遇到了方法 3 的問題,您必須安裝相同的聊天程式才能傳輸檔案。
5.藍牙 即使使用藍牙 5,傳輸 700MiB 高清影片就像在潮濕的佛羅裡達天氣中看著油漆變乾一樣。
6. 電子郵件 大多數電子郵件服務都會限製附件大小,甚至比透過聊天程式傳輸還要慢。然而,我一直覺得 iPhone 用戶透過電子郵件將文件發送給自己只是為了列印文件的故事相當有趣。 ;)
7. DropBox、OneDrive 等... 遇到與方法 3 和 4 相同的上傳/下載問題。
8. USB 隨身碟 實際上非常可行且快速,但您必須記住隨身攜帶一個,並且還要有合適的適配器來與您朋友的設備連接。我自己總是在口袋裡放一個,但與你共享的人的設備是否支持你的驅動器卻是相當不確定的。
9. 讓您的朋友用他/她的手機相機為您的手機螢幕拍攝照片/影片! 傳輸不良品質資料成功率 100%!
當共享不起作用時會發生什麼?

目前我們的情況看起來不太好,不是嗎?

解決方案

簡而言之,為了成為一個高效、通用的解決方案,我們需要一些東西

  1. 可在所有裝置上使用
  2. 支援直接 WiFi 傳輸,無需上傳到伺服器並返回
  3. 不會將我們的 4K 影片重新壓縮為 480p。
  4. 在我們甚至無法收到電話訊號的地方工作

現在,如果每個設備上都預先安裝了一些東西,旨在使用普遍接受的協議訪問其他計算機,並且能夠上傳/下載文件...

某物...

喜歡...

一...

網路瀏覽器!

Windows CE 支援 HTML 5?好極了!

那麼這是如何運作的呢?

那麼網頁瀏覽器如何傳輸檔案呢?

共有三個基本步驟。

  1. 讓兩台裝置連接到同一無線網路/熱點
  2. 讓您的朋友在瀏覽器中輸入您裝置的位址
  3. 隨心所欲瀏覽、檢視、下載和上傳
即使到了 2023 年,使用手機自帶的熱點仍然是傳輸文件的最快方式,尤其是在山上徒步旅行時!

這種方法的優點是

  1. 適用於任何具有網頁瀏覽器的裝置(即當今幾乎所有裝置)
  2. 您不必單獨單擊每個文件,按發送,然後等待您的朋友接受。您的朋友可以查看他們想要的內容並自行下載檔案。
  3. 您可以讓一群人同時瀏覽,而不是一個一個地瀏覽。

當然,這個伺服器無法在 iPhone 和 iPad 上運行,因為 Apple 不僅限制對 iOS 裝置上檔案系統的訪問,而且除非你使用 Cydia 獲得 root 權限,否則你也無法運行 Linux 程式。

幸運的是,您只需要「一台」裝置來運行伺服器,因此您的 Apple 朋友仍然可以毫無問題地連接到您的 Android 手機,並且仍然可以下載和上傳檔案。此外,他們已經習慣了無法使用其他系統,因為 AirDrop 僅適用於 Apple 裝置。 ;)

安裝伺服器

為了速度和效率,Pafera 檔案伺服器是一個用 Rust 編寫的 Linux/Windows 應用程序,因此不幸的是,您不能只從應用程式商店下載它。如果有人願意付錢給我,我可能會在以後用 Kotlin 製作一個應用程式商店版本,但除非你是 Jerry Maguire,否則你現在必須滿足於 Rust 版本。

幸運的是,許多比我聰明得多的開源程式設計師已經聯合起來創建了一些應用程序,可以讓你在 Android 手機上運行 Linux 程序,並取得了不同程度的成功。

因此,您所要做的就是在手機上安裝 Termux,複製並貼上兩個命令,然後按 Enter 幾次。它不是一鍵安裝,但也不是 SpaceX 建造的 StarShip,而且您將可以存取整個其他很酷的程式生態系統。

這是你的毒品大腦……呃……Termux 上的電話。

安裝如下:

  1. 下載 Termux 應用程式 來自 F-Droid 或者 來自科德伯格
  2. 啟動應用程式
  3. 將以下內容複製並貼上到終端機中,然後按 Enter 鍵。

    curl -O https://pafera.com/installfileserver.sh
    
  4. 將另一條命令複製並貼上到終端機中,然後按 Enter 鍵。

    bash installfileserver.sh
    
  5. 對於軟體包升級過程中出現的任何提示,請按下鍵盤上的 Enter 鍵。
  6. 請您的朋友輸入螢幕上顯示的 URL。

    在顯示中尋找 URL

現在,一旦安裝了伺服器,您可以隨時透過退出 Termux 會話來退出。

如果您想使用允許變更的密碼再次啟動伺服器,請鍵入

./paferafileserver password=yourpasswordhere

進入 Termux,或只需按下向上箭頭選擇您先前輸入的命令。

這並不像拉下通知並點擊“附近共享”那麼簡單。但您也不會意外地運行伺服器,並且您會獲得更多的功能來解決您的麻煩。

如果您碰巧是 Rust 程式設計師,那麼安裝對您來說會容易得多。

您所要做的就是輸入

cargo install paferafileserver

等待貨物完成它的任務,瞧!你完成了!

如果您想在 Windows 或 Linux 上運行 Pafera 檔案伺服器,可以在下面找到預先建置的二進位文件 7-拉鍊 檔案。

  1. Linux(AMD64)
  2. Android 7+ 上的 Termux
  3. Linux(用戶空間上的 Debian 的 armv7h - Android 5 和 6)
  4. Windows 獨立 exe
  5. Windows 完整(包括 FFMpeg 和 ImageMagick)

瀏覽文件

一旦你的朋友設法在他或她的瀏覽器中輸入你的伺服器的 URL,他們的手機應該看起來像這樣。

Pafera 檔案伺服器首頁

如果您沒有看到任何文件,請確保您的朋友已啟用 JavaScript,因為我們使用腳本來排序和顯示文件。

作為快速入門,從左上角開始是系統選單按鈕、最近開啟的檔案按鈕和主目錄按鈕。

點擊檔案

按一下任何圖片縮圖將開始投影片放映,而按一下檔案名稱將下載檔案。

點擊檔案的選單按鈕將開啟該檔案的操作選單,而點擊其下方的方塊將選擇該檔案。

要快速選擇一系列文件,請按一下第一個文件的選擇按鈕,然後按一下最後一個文件的選單按鈕並選擇「選擇到這裡」。

系統選單

系統選單彈出

搜尋和深度搜尋(熱鍵 t 和 f)都允許您鍵入幾個字母並查看包含這些字母的所有檔案。

不同之處在於,普通搜尋僅查看目前資料夾中的文件,而深度搜尋也會查找該資料夾內的所有資料夾。

幻燈片放映和深度幻燈片放映(熱鍵 z 和 x)遵循相同的邏輯。根據您是否要在此資料夾內的所有資料夾中包含圖像來選擇您想要的資料夾。

切換視圖(熱鍵 v)從普通詳細資料視圖變更為該資料夾內所有圖像和影片的圖示視圖。

排序(熱鍵)可讓您選擇檔案的排序方式。您可以選擇使用檔案名稱、大小、日期和時間差對檔案進行排序。我個人更喜歡時差視圖,如“五分鐘前”。對我來說比“14:55”有用得多。

「最近的文件」視圖(熱鍵 e)將顯示目前資料夾中最近更改的 512 個檔案以及該資料夾中的所有資料夾。請小心地在主資料夾中使用此視圖,因為如果您有數十萬個小檔案需要檢查,則可能需要一段時間才能檢查所有檔案。

設定密碼(熱鍵 w)將讓您的朋友輸入密碼以修改、上傳和刪除檔案。如果沒有此密碼,任何人都無法更改您手機上的任何內容,因此請妥善保管。您可以透過在命令列中鍵入以下內容來設定它 password=yaddayaddayadda 或在 paferafileserver.cfg 中使用下列格式

{
  "password":"yaddayaddayadda"
}

新資料夾(熱鍵 o)將提示您輸入要在目前資料夾內建立的新資料夾的名稱。

顯示隱藏檔案(熱鍵 i)將切換以句點開頭的檔案和資料夾的顯示,Unix 使用句點來指示這些檔案通常不應該對使用者可見。

開啟「一鍵下載」(熱鍵 k)後,您可以透過點擊文件立即下載文件,而不是在瀏覽器中顯示。

顯示熱鍵(熱鍵 h)將向您顯示哪些按鍵可以在資料夾檢視和投影片放映檢視中使用。

放大(熱鍵 .)和縮小(熱鍵 ,)將改變螢幕上所有內容的大小。如果您的系統預設尺寸不符合您的喜好,請使用這些來自訂您的頁面。

文件選單

文件選單彈出視窗

透過“選擇到此處”,您可以選擇先前選擇的文件和這次選擇的文件之間的所有文件。作為替代品,它非常方便,可以避免替換在桌面和行動裝置上複製連結的右鍵選單。

全選(熱鍵 a)和全選(熱鍵 n)是不言自明的。使用它們刪除您想要刪除的所有檔案時請務必小心 真的 想要刪除所有檔案。

傳送(熱鍵 g)將開啟一個掃描窗口,您可以在其中看到網路上運行 Pafera 檔案伺服器的所有其他裝置。

將文件傳送到另一台伺服器

請注意,所有裝置必須位於同一子網路上並在同一連接埠上執行,因此,如果您使用 192.168.0.100,並且您嘗試傳送到的裝置位於 192.168.1.100,則掃描器不會偵測到其他裝置。當然,您始終可以登入該裝置的伺服器並使用瀏覽器上傳檔案。

為簡單起見,您發送到另一台裝置的所有檔案都會收集在名為「已接收」的資料夾中。在伺服器根目錄下。我可能稍後會更改此設置,但就目前而言,讓所有新文件出現在同一個資料夾中很方便,您可以稍後將它們移動到適當的位置。

已接收資料夾中的新文件

下載(熱鍵 l)、重新命名(熱鍵 r)、移動(熱鍵 m)、複製(熱鍵 c)、刪除(熱鍵 d)和永久刪除(p)都可以同時處理多個文件,除了在行動瀏覽器上下載,一次只能下載一個檔案。請小心,因為永久刪除實際上意味著 永恆的 刪除。在觸摸刪除按鈕之前,請務必將重要文件的副本儲存在另一台裝置上。

取消刪除(熱鍵 u)僅用於已刪除一次並因此具有“.deleted”字樣的檔案。擴大。它 不能 恢復永久刪除的檔案。那些並不渴望。他們已經過去了。那些文件已經不存在了。他們是前檔案。

使用投影片放映

幻燈片放映介面。底部的所有內容都是可點擊的。

人們在文件瀏覽器中總是要求的首要功能之一是良好的幻燈片放映。當你在手機上存有大約 6,000 張兒子的照片並向隨機的陌生人炫耀時,就不難看出其中的原因。 ;) 大多數 SMB 用戶端沒有影像預覽或幻燈片放映,因此嘗試使用 iPhone 檔案應用程式尋找某一特定影像是相當令人沮喪的。

Pafera File Server 中的幻燈片放映功能可以透過多種不同的方式啟動:

  1. 點擊圖像的縮圖。
  2. 選擇“幻燈片放映”從系統選單。
  3. 選擇“深度幻燈片放映”從系統選單。
  4. 進行搜尋或深度搜尋以選擇您想要展示的文件,然後 然後 點選第一張圖像的縮圖。

無論您如何開始幻燈片放映,最頂部都會有一個刪除按鈕,上面有當前圖像的名稱,底部會有一個工具欄,包含隨機、旋轉、退出、前進和後退功能。

如果您想要轉到某個圖像編號,只需點擊工具列上的圖像位置,輸入所需的編號,然後從那裡開始。

選擇要前往的號碼

幻燈片放映支援滑動手勢,這實際上是我在手機上導航的首選方法。您所要做的就是向左輕輕滑動拇指即可轉到上一張圖像,向右滑動拇指即可轉到下一張圖像,向上滑動拇指即可刪除當前圖像,或向下滑動拇指即可退出幻燈片放映。

如果您使用筆記型電腦或手機連接了藍牙鍵盤,則使用幻燈片放映會變得更加容易。

向左箭頭 上一張圖片
右箭頭 下一張圖片
向上箭頭 刪除影像
向下箭頭/退出 退出幻燈片放映
r 隨機影像
轉到圖像編號
q 逆時針旋轉90度
e 順時針旋轉90度

配置

Pafera 檔案伺服器可以透過同一資料夾中名為 paferafileserver.cfg 的 JSON 檔案進行配置,也可以透過 key=value 形式的命令列參數進行配置。如果兩者都指定,則命令列參數將覆蓋設定檔設定。

一個常見的命令列是

paferafileserver [hostname=localhost] [serverroot=/home/jim] [password=password] [ip=0.0.0.0] [port=9999]

因此,如果您想向連接埠 5000 上的所有訪客提供 Jim 的圖片目錄,您可以使用

paferafileserver serverroot=/home/jim/Pictures port=5000

如果您不指定 serverroot,它將預設為您的主目錄。

如果不指定 IP 和端口,則預設為 0.0.0.0:9999。

此外,可以在命令列中鍵入以下選項 即使使用者擁有正確的密碼,也可以停用某些功能。

disabledelete
disablerename
disablemove
disablecopy
disablenewfolder
disabledelete
disablepermanentdelete
disablesend
disableupload

所有命令列參數也可以在目前資料夾中名為 paferafileserver.cfg 的 JSON 檔案中指定,例如

{
  "hostname":               "JimsLaptop",
  "password":               "SecretPassword12345",
  "disabledelete":          1,
  "disablepermanentdelete": 1
}

您可以選擇最適合您的方法。

對於 Windows,通常最簡單的方法是建立可執行檔案的捷徑並在捷徑中指定參數。

對於 Android 上的 Termux,啟動可執行檔的最簡單方法是從 F-Droid 安裝 Termux Widget 應用程序,並在小部件的腳本中配置命令列。

未來計劃

目前還沒有計劃進行進一步的更改,因為這只是一個有趣的介紹性項目,可以玩 Rust,但如果其他人想要這樣做

  1. 編寫 Kotlin/Swift 版本以在應用程式商店中脫穎而出
  2. 將此應用程式翻譯為多種語言
  3. 創建各種 CSS 主題
  4. 實作類似 rsync 的備份和復原演算法
  5. 或您能想到的任何其他內容

我當然歡迎對這個簡單的項目進行任何補充。

一如既往,我希望你們覺得這個應用程式很有用,如果您想根據自己的目的自訂它,我隨時可以作為技術顧問。玩得開心!

關於作者

Jim 自從 90 年代買回 IBM PS/2 以來就一直在編程。直到今天,他仍然更喜歡手工編寫 HTML 和 SQL,並在工作中專注於效率和正確性。