[网友投稿] File Browser:便捷地管理 Kindle 中的文件

小伙伴 Sparkle 向书伴投稿了一款 KUAL 插件,这款插件能在 Kindle 中启动一个 WEB 服务,方便你在任意设备中(如手机、平板或电脑)通过网页浏览器管理 Kindle 设备中的文件。这款插件主要使用了一个名为 File Browser 的小软件(这里是它的官方发布页面,适用 Kindle 的是 armv7 版本)。

下面简要说明一下这款插件的安装和使用。在进行下面的步骤之前,需要确保你的 Kindle 已经成功越狱,并安装了 KUAL 插件,并且与浏览器所在系统的网络在同一网域,否则无法正常安装使用。

一、插件的安装

下载插件压缩包,解压得到 filebrowser 文件夹,将其拷贝到 Kindle 根目录下的 extensions 目录中。

二、插件的启动

插件安装完成后,可以在 KUAL 菜单中找到【File Browser】,其菜单项功能如下所示:

  • 【 Start 】可开启免登录的 WEB 服务
  • 【 Start (Auth) 】可开启带登录验证的 WEB 服务(默认用户名密码均为:admin)
  • 【 Reset 】删除包含配置信息的数据文件 filebrowser.db
  • 【 Stop 】停止 WEB 服务

开启 WEB 服务后,你可以在 Kindle 界面的顶部看到 Kindle 设备 IP 地址,如下图所示。

▲ Kindle 界面顶部显示的本机 IP

* 提示:Kindle 设备的 IP 地址也可在搜索框中输入 ;711 按回车,在“4-Interface”这一栏获取。

三、插件的使用

开启 WEB 服务后,就可以通过电脑或手机的网页浏览器访问 Kindle 的 IP 地址管理文件了。

插件提供了两种启动菜单:【Start】(免用户验证)和【Start (Auth)】(带用户验证)。通过菜单【Start】启动 Filebrowser,可直接浏览和管理 Kindle 设备中的文件列表。如下图所示:

▲ File Browser 管理界面

通过菜单【Start (Auth)】启动则需要输入用户名和密码才能浏览和管理 Kindle 设备中的文件列表:

▲ File Browser 登录界面

登录验证的默认用户名和密码均为“admin”(可登录之后在设置页面自行修改),

插件启动后默认会显示 Kindle 的根目录(即 Kindle 系统中的绝对路径 /mnt/us)。你可以修改插件文件夹中的 start.sh 文件,将最后一行中的路径 /mnt/us 改成你想要的路径,比如存放电子书的路径 /mnt/us/documents,或 Kindle 系统的根目录 /。注意,修改完成后需要重新开启插件才能生效。

以下是 File Browser 的三个核心功能的概览,可以说每一项都非常实用。

1、常规文件管理

如果你有过使用网盘的经验,应该会对这个界面感到很亲切。你可以在这里对 Kindle 设备中现有的文件进行“搜索”、“删除”、“移动”、“重命名”、“复制”、“下载”等操作,也可以通过“上传”功能把当前设备中的文件上传到 Kindle 设备中,还可以通过“新建文件夹”和“新建文件”功能创建文件夹和文本文件。

之前书伴一直在用 USBNetwork 管理 Kindle 中的文件和电子书,试用了几天 File Browser,发现这种方式更自由,只要有浏览器就能方便管理 Kindle 中的文件,不需要额外安装 FTP 客户端程序。

2、编辑预览文件

File Browser 还内建了一个简单的文本编辑器,“新建文件”其实就是通过它来创建和编辑空白文本文件的。当然,你也可以通过双击已存在的文本文件(如 My Clippings.txt 文件)调用这个编辑器进行编辑。此外,File Browser 还支持通过双击的方式,对图片、PDF、视频等多媒体文件直接进行预览。

3、执行简单命令

File Browser 还内置了可执行简单命令的 Shell,不过使用前需要预先在“设置”中添加一些命令,具体步骤为:依次进入【设置 → 用户管理】,点击用户最右边的编辑(铅笔图标),找到“用户命令(Linux 代码)”这一项,在下面的输入框中加入你想要在 Shell 中执行的命令,如 ls pwd cd rm mkdir 等。使用这些命令时,只需要点击页面右上角的【激活 Shell】,然后输入命令回车就可以执行了。

注意,如果你在执行命令的时候出现了“Command not allowed.”提示,可能是你的设置有误,一定不要在“全局设置”中添加命令,而要在“用户管理”中编辑对应的用户,并在用户编辑页面中添加命令。

如果你想要更深入的挖掘 File Browser 的功能,可通过浏览官方文档发现更多玩儿法。

遗憾的是,自 2020 年 4 月 16 日起,File Browser 已经停止维护,可能今后不再会有更新,不过好在它现有的功能已经足够 Kindle 使用了。自2020 年 5 月 27 日起,该项目有新开发者 Oleg Lobanov 接手恢复维护。感谢 File Browser 作者 Henrique Dias 的工作,感谢小伙伴 Sparkle 的投稿。

有帮助,分享给其他小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 73 条评论

  1. 我自己改了个版本。这个版本启动filebrowser之后会阻止自动锁屏,而第一次按电源键则会先关闭filebrowser。这样既不会息屏造成连接中断,也不怕忘了关在后台耗电了。
    https://github.com/guo-yong-zhi/kindle-filebrowser/releases/tag/v1.1

    • 又增加了自动开启wifi功能:https://github.com/guo-yong-zhi/kindle-filebrowser/releases

  2. 请问如何重装mrpi和kual 我怀疑是不是这两个导致的耗电增加?尝试安装了hotfix耗电依旧

  3. 低分辨率设备无法查看IP,比如Kindle 8,把插件文件夹中的 start.sh 文件eips 25 1 改为eips 10 2,刚刚合适

  4. 请问这个有没有在设置里就关闭的选项?两款无线管理插件都安装了,因为没有关闭,感觉耗电量太大,不到一周就要充电

    • 我目前刚越狱 只安装了这个 和屏保 待机三天就要充电 耗电变的好高 没什么好办法吗? stop 之后不是真关闭 还是在耗电吗?

      • Stop 就是结束软件的运行,不会继续耗电。除了安装这两款插件外,没有做其它什么操作吗?比如一次性推送或拷贝许多电子书。

        • 没有任何操作就是放在那待机 我是拆机破解 破解之前待机十几天左右
          破解之后三天最多了

        • 我尝试用这个插件的shell 查看了一下所有进程 如下所示

          PID TTY TIME CMD
          1 ? 00:00:01 init.exe
          2 ? 00:00:00 kthreadd
          3 ? 00:00:00 ksoftirqd/0
          5 ? 00:00:00 kworker/u:0
          6 ? 00:00:00 watchdog/0
          7 ? 00:00:00 khelper
          8 ? 00:00:00 kworker/u:1
          168 ? 00:00:00 sync_supers
          170 ? 00:00:00 bdi-default
          172 ? 00:00:00 kblockd
          201 ? 00:00:00 imx6q-ecspi.0
          208 ? 00:00:00 khubd
          219 ? 00:00:00 irq/372-max7769
          288 ? 00:00:00 irq/301-max7769
          401 ? 00:00:00 rpciod
          418 ? 00:00:00 khungtaskd
          423 ? 00:00:00 kswapd0
          424 ? 00:00:00 ksmd
          483 ? 00:00:00 fsnotify_mark
          493 ? 00:00:00 nfsiod
          496 ? 00:00:00 crypto
          605 ? 00:00:00 kworker/u:2
          633 ? 00:00:03 mmcqd/0
          634 ? 00:00:00 mmcqd/0boot0
          635 ? 00:00:00 mmcqd/0boot1
          641 ? 00:00:00 EPDC Submit
          642 ? 00:00:00 irq/129-fb_dma
          645 ? 00:00:00 flush-7:0
          648 ? 00:00:00 kjournald
          769 ? 00:00:00 udevd
          847 ? 00:00:00 crond
          856 ttymxc0 00:00:00 getty
          866 ? 00:00:09 syslog-ng
          901 ? 00:00:00 loop2
          916 ? 00:00:00 loop3
          931 ? 00:00:00 loop4
          946 ? 00:00:00 loop5
          961 ? 00:00:00 loop6
          976 ? 00:00:00 loop7
          1002 ? 00:00:00 otg_switch
          1059 ? 00:00:00 kjournald
          1157 ? 00:00:00 flush-179:0
          1190 ? 00:00:00 Cyttsp4 startup
          1193 ? 00:00:00 irq/355-main_tt
          1307 ? 00:00:00 loop0
          1324 ? 00:00:02 fsp
          1562 ? 00:00:00 file-storage-ga
          1689 ? 00:00:00 irq/273-fsr-key
          1962 ? 00:00:07 dbus-daemon
          2012 ? 00:00:00 lipc-daemon
          2020 ? 00:00:00 demd
          2022 ? 00:00:02 cmd
          2032 ? 00:00:00 archive
          2033 ? 00:00:03 todo
          2037 ? 00:00:00 volumd
          2038 ? 00:00:03 rcm
          2039 ? 00:00:00 otav3
          2043 ? 00:00:00 stackdumpd
          2045 ? 00:00:04 powerd
          2052 ? 00:00:01 dpmd
          2053 ? 00:00:00 appmgrd
          2058 ? 00:00:00 otaupd
          2067 ? 00:01:22 tmd
          2069 ? 00:00:00 deviced
          2087 ? 00:00:00 perfd
          2129 ? 00:00:00 dynconfig
          2135 ? 00:00:00 wifid
          2161 ? 00:00:00 phd
          2540 ? 00:00:00 lxinit
          2571 ? 00:00:03 Xorg
          2898 ? 00:00:01 awesome
          2899 ? 00:00:02 blanket
          3224 ? 00:00:00 kb
          3389 ? 00:00:00 contentpackd
          3434 ? 00:00:00 sh
          3456 ? 00:00:00 pillowd
          3815 ? 00:00:00 loop8
          4065 ? 00:00:00 webreader
          4203 ? 00:00:00 sh
          4881 ? 00:01:18 cvm
          4882 ? 00:00:00 logger
          4901 ? 00:00:00 cfg80211
          4927 ? 00:00:00 ath6kl
          4930 ? 00:00:00 htc_rx
          4938 ? 00:00:00 udevd
          4946 ? 00:00:00 udevd
          4965 ? 00:00:01 wpa_supplicant
          5589 ? 00:00:00 dmld
          5590 ? 00:00:03 pmond
          5597 ? 00:00:01 kfxreader
          5603 ? 00:00:00 sh
          5605 ? 00:00:00 sh
          5642 ? 00:00:00 kfxview
          5649 ? 00:00:00 AaMenuApplicati
          5669 ? 00:00:01 fastmetrics
          5672 ? 00:00:00 scanner-main
          5673 ? 00:00:00 sh
          5687 ? 00:00:00 KindleContentDo
          6028 ? 00:00:00 sh
          6051 ? 00:00:01 mesquite
          6074 ? 00:00:00 kworker/0:0
          6637 ? 00:00:01 kworker/0:3
          7199 ? 00:00:00 kworker/u:3
          7200 ? 00:00:00 kworker/u:4
          7201 ? 00:00:00 kworker/u:5
          7202 ? 00:00:00 kworker/u:6
          7203 ? 00:00:00 kworker/u:7
          9385 ? 00:00:00 flush-0:16
          9426 ? 00:00:00 kworker/0:1
          10734 ? 00:00:00 ksdioirqd/mmc1
          10748 ? 00:00:00 irq/271-fsr-boo
          10781 ? 00:00:00 udhcpc
          10867 ? 00:00:00 sh
          10884 ? 00:00:00 filebrowser
          10898 ? 00:00:00 ps

        • 在ps aux下 我看到一个奇怪的进程 cpu占用有点高 并且 后面的指令是一大堆的

          9000 4881 0.2 24.8 291604 127964 ? Sl 06:22 1:27 /usr/java/bin/cvm -Xmx49m -Xms49m -XX:MaxNewSize=4m -XX:SurvivorRatio=3 -XX:TargetSurvivorRatio=80 -Xss100k -XX:ReservedCodeCacheSize=3m -XX:+InitialGenPreTouch -XX:CompileThreshold=5000 -XX:CodeCacheMinimumFreeSpace=100k -XX:NmethodSweepFraction=6 -XX:NmethodSweepActivity=2 -XX:NmethodSweepMaxWaitTime=8 -XX:NmethodHotnessCounterResetValue=64 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=15 -XX:+UseAggressiveHeapShrink -XX:MaxInlineSize=16 -XX:MaxInlineLevel=2 -XX:-InlineSynchronizedMethods -minimal -XX:ThreadPriorityPolicy=1 -Dsun.awt.exception.handler=com.amazon.agui.swing.event.EventQueueExceptionHandler -Xbootclasspath/a:/usr/java/lib/agui.jar:/usr/java/lib/localedata.jar:/usr/java/lib/charsets.jar:/opt/amazon/ebook/lib/concierge-1.0.0.jar:/opt/amazon/ebook/lib/icu4j.jar:/opt/amazon/ebook/lib/utilities.jar:/opt/amazon/ebook/lib/json_simple-1.1.jar::/opt/amazon/ebook/lib/libphonenumber-7.0.jar -Dsun.boot.library.path=/usr/java/lib -cp /opt/amazon/ebook/lib/DeviceControls.jar:/opt/amazon/ebook/lib/Reader-plugin.jar:/opt/amazon/ebook/lib/app_utilities-assets.jar:/opt/amazon/ebook/lib/PurchaseManager.jar:/opt/amazon/ebook/lib/portability-impl.jar:/opt/amazon/ebook/lib/ReaderContentSDK.jar:/opt/amazon/ebook/lib/AdManager-impl.jar:/opt/amazon/ebook/lib/kafindexer.jar:/opt/amazon/ebook/lib/detail_view.jar:/opt/amazon/ebook/lib/PurchaseManager-impl.jar:/opt/amazon/ebook/lib/AdManager.jar:/opt/amazon/ebook/lib/wikipedia.jar:/opt/amazon/ebook/lib/displaycontroller.jar:/opt/amazon/ebook/lib/ReaderSDK-impl.jar:/opt/amazon/ebook/lib/Mobi-drawing.jar:/opt/amazon/ebook/lib/kaf.jar:/opt/amazon/ebook/lib/EInkTTSReader.jar:/opt/amazon/ebook/lib/PDFReader-impl.jar:/opt/amazon/ebook/lib/corrections.jar:/opt/amazon/ebook/lib/searchbar-assets.jar:/opt/amazon/ebook/lib/json_simple-1.1.jar:/opt/amazon/ebook/lib/ReadForFreeService-impl.jar:/opt/amazon/ebook/lib/AudibleSdk.jar:/opt/amazon/ebook/lib/audible_assets.jar:/opt/amazon/ebook/lib/systembar-search-results-resources.jar:/opt/amazon/ebook/lib/commons-jexl.jar:/opt/amazon/ebook/lib/AdRotationManager-impl.jar:/opt/amazon/ebook/lib/MobileWeblabSdk.jar:/opt/amazon/ebook/lib/kxml2.jar:/opt/amazon/ebook/lib/VocabBuilderSDK.jar:/opt/amazon/ebook/lib/KPPKAFServiceHelper.jar:/opt/amazon/ebook/lib/systembarresources.jar:/opt/amazon/ebook/lib/xmlLayout.jar:/opt/amazon/ebook/lib/KindleReaderSDK-impl.jar:/opt/amazon/ebook/lib/junit.jar:/opt/amazon/ebook/lib/kindlePageNumbersDeviceReader.jar:/opt/amazon/ebook/lib/BookMentions.jar:/opt/amazon/ebook/lib/portability.jar:/opt/amazon/ebook/lib/CustomScreensavers.jar:/opt/amazon/ebook/lib/app_utilities.jar:/opt/amazon/ebook/lib/searchbar-resources.jar:/opt/amazon/ebook/lib/DeviceEngagementMetrics.jar:/opt/amazon/ebook/lib/AuthorProfiles.jar:/opt/amazon/ebook/lib/mobi8.jar:/opt/amazon/ebook/lib/concierge-1.0.0.jar:/opt/amazon/ebook/lib/EInkKindleCurator.jar:/opt/amazon/ebook/lib/EInkKMS.jar:/opt/amazon/ebook/lib/LanguageLayer.jar:/opt/amazon/ebook/lib/icu4j.jar:/opt/amazon/ebook/lib/fwacceptance.jar:/opt/amazon/ebook/lib/MerchantManager.jar:/opt/amazon/ebook/lib/HTMLReader-impl.jar:/opt/amazon/ebook/lib/lucene-snowball-2.4.1.jar:/opt/amazon/ebook/lib/EInkTTSReader_assets.jar:/opt/amazon/ebook/lib/YJReader-impl.jar:/opt/amazon/ebook/lib/lucene-core-2.4.1.jar:/opt/amazon/ebook/lib/EInkFastMetricService.jar:/opt/amazon/ebook/lib/MeCab.jar:/opt/amazon/ebook/lib/Xray.jar:/opt/amazon/ebook/lib/Bookwizard-assets.jar:/opt/amazon/ebook/lib/WirelessHandler.jar:/opt/amazon/ebook/lib/AutoMarkAsRead.jar:/opt/amazon/ebook/lib/kafui-resources.jar:/opt/amazon/ebook/lib/javacollections.jar:/opt/amazon/ebook/lib/grok_sdk.jar:/opt/amazon/ebook/lib/KindleDeviceServicesJuno-2.2.jar:/opt/amazon/ebook/lib/core-1.7.jar:/opt/amazon/ebook/lib/sync-file-api.jar:/opt/amazon/ebook/lib/ReadingDataAggregatorService.jar:/opt/amazon/ebook/lib/KWISClientInterface.jar:/opt/amazon/ebook/lib/MobiReader-impl.jar:/opt/amazon/ebook/lib/ReadingStreams.jar:/opt/amazon/ebook/lib/jacocoant.jar:/opt/amazon/ebook/lib/MobipocketCoreReader.jar:/opt/amazon/ebook/lib/Reader-assets.jar:/opt/amazon/ebook/lib/t

          • 这个貌似是 Kindle 系统的主进程。刚重启后因为要初始化一些东西,所以 CPU 占用率较高,过一段时间就恢复正常了。

            这两天发现 Kindle 耗电量奇高,当天充满电,次日打开就剩 10% 了。通过命令 ps aux 查到下面这个进程 CPU 占用率一直保持在 88% 左右,看起来是文件系统方面出了问题。

            fsp /mnt/base-us /mnt/us -o rw,nosuid ...

            因为最近从亚马逊购买了大量的公版书,所以进行过频繁下载和删除操作,所以怀疑是索引问题,尝试清空索引并重启,就恢复正常了:

            rm /mnt/us/system/Search\ Indexes/*

            一般 Kindle 出现耗电问题,大多数情况下是索引问题,尤其是在频繁下载和删除电子书的情况下。对于越狱插件来说,只要所用的程序没有太严重的缺陷,一般不会太占用 CPU。

        • 最新进展 在尝试重装mrpi 并且安装kual的hotfix之后 终于耗电有有所缓解 目前三天(60小时左右)待机耗电 27#
          甚至破酒店的wifi信号更糟糕应该会增加耗电才是

  5. 这个建议放大wifi传书那个文章里,绝对神器,比其他方式好太多啦。

  6. PW1,手机可以打开 file browser界面,但是电脑打不开,这个问题该如何解决呢
    电脑,kindle,手机,均在同一局域网下。

  7. file browser不能让用户选择不需要密码登陆就很蛋疼,就算密码输对了还有用户名这一关。每次卡在登陆界面试个几十遍密码搞得我心态爆炸,本来就不是天天需要用到的东西,身边没有电脑急用的时候密码忘了只能卡在登陆,直接人裂开。每次记不住密码就得插上电脑卸载这个插件重装,重装之后密码也会变回admin。本来又没有什么安全性可言,我是真不明白强制设个密码图什么,莫不是没有电脑的时候坑自己一回?插件界面和功能我都很中意,就是因为这个问题往往复复折腾个五六次就真的很难受,希望作者后续升级的时候至少提供一个选项。

    • 这个问题是可以解决的。这里提供两种解决方案,你可以根据自己的情况选择:

      方法一、用代码编辑器打开 filebrowser 插件目录中的 start.sh 文件,在最后一行的上方新添加一行命令:

      ./filebrowser config set --auth.method=noauth > /dev/null

      保存后,重新启动 filebrowser 插件就可以免登录使用了。

      方法二、先删除删除插件目录中的 filebrowser.db 文件,然后用代码编辑器打开 filebrowser 插件目录中的 start.sh 文件,将最后一行代码修改成:

      ./filebrowser --noauth -a 0.0.0.0 -p 80 -r /mnt/us > /dev/null

      也就是添加一个参数 --noauth。最后重新启动 filebrowser 插件就可以免登录使用了。注意,这种方式会重建数据文件,导致之前的一些设置失效。

      另外,文中提供下载的插件文件也已新增免登录启动菜单,可以重新下载使用。

      • 感谢大佬第一时间提供的技术支持!昨天在查资料尝试自行解决的同时发现传文件不一定需要用到电脑,通过typec拓展坞转接到Kindle上时安卓手机也能读取到Kindle的文件目录,如果是越狱后的Kindle也能看到extensions等根目录文件夹,并且可以直接进行复制剪切等操作。但是iPad Pro还是需要通过file browser来解决,但至少解决了一个麻烦的问题了

  8. 刚刚进行了更新,更新了最新的二进制文件
    https://cupinkie.com/kindle-web-filebrowser.html

  9. 刚刚ip不显示的地址,我已经通过输入;711解决,但是先有一个问题是,我确定他们处于局域网当中,却发现无论如何也无法进入介绍的文件界面

    • 建议先检测一下 File Broswser 是否真的在运行。可以把下面的代码保存为 RUNME.sh 拷贝到 Kindle 本目录,然后在 Kindle 的搜索框输入 ;log runme

      #!/bin/sh
      
      test_process=$(ps aux | grep "[f]ilebrowser")
      if [ -n "$test_process" ]
      then
          result="File Browser is running."
      else
          result="File Browser is not running."
      fi
      echo $result > /mnt/us/filebrowser_test.txt

      命令执行后,查看 Kindle 根目录的 filebrowser_test.txt 中的内容,如果是 File Browser is running 表示 File Browser 运行正常,否则就是没有运行。

      • 你好!经过几天的资料查询,我终于解决了问题!
        首先在正常安装mrpi以及kual后,发现kual中的helper内部的安装插件点击无反应!于是使用如下方案:
        coplate大神给了两个应急包,第一个是适用于V.5.8.10及以下版本,另一个理论上所有版本通用。我已经升到5.11.1了,用的第二个。
        解压之后把update.bin放到根目录然后设置—更新kindle,kual即可完美运行!并且filebrowser也能够正常使用了。
        地址:https://www.mobileread.com/forums/showthread.php?t=289215