npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

filecat

v1.0.28

Published

filecat 文件管理器

Downloads

1,336

Readme

filecat

  • 中文 | English
  • 使用filebrowser好看的ui来浏览文件,同时具备服务器管理能力。
  • 安装npm install filecat -g然后执行 filecat,使用参数filecat --help可以获取更多参数说明。也支持二进制方式直接运行,更多使用方式请参考下文。

一. 截图

展示

二. 使用

1. 体验

url: http://116.198.245.137:5569/ 账号密码: admin/admin暂时没有权限功能,请不要修改密码,影响别人体验

2. npm 方式运行

  • 如果你的服务器上已经安装了node和npm,使用 npm install filecat -g全局安装,后然后使用filecat命令即可运行,或者npm install filecat安装到本项目下,使用npx filecat 运行;
  • 如果网络比较差,可以使用淘宝镜像源npm config set registry https://registry.npmmirror.com。或者,安装的时候临时使用淘宝镜像源npm install -g filecat --registry https://registry.npmmirror.com
  • 许多依赖是预构建放在github上的(支持node 16、18、20、22),如果主机环境访问github很慢(多尝试几下也许就好了),需要编译,查看报错后安装诸如npm -g install node-addon-api的依赖。实在访问不了github导致安装不了也可以使用下面的二进制或者docker运行。在windwos上编译可能遇到的问题可以查看这个链接 https://blog.csdn.net/jjocwc/article/details/134152602

3. 二进制文件方式运行

下载最新release 然后使用各个平台的可执行程序运行;(windows在系统信息中,查看处理器如果是AMD就是x64,或者就是arm,linux输入uname -m可以显示架构类型);

  1. 执行命令filecat.exe --port 5567 --base_folder /home 不设置username的话,账号密码默认是admin
  2. 使用例子中的配置文件,执行命令filecat --env ./env;linux下也许需要执行sudo chmod +x ./filecat-linux获得执行权限

4. linux下安装到systemd后台运行

这里的安装是安装到systemd作为后台进程,默认需要使用root权限,对于Linux系统现在提供自动安装功能,推荐使用这种systemd方式运行;只需要下载最新版本的filecat-linux可执行程序后,给与它chod可执行权限,然后运行 ./filecat-linux --install linux;如果你使用npm安装了filecat,可以直接使用filecat --install linux来安装到systemd。

5. docker 方式运行

使用docker run -d --name filecat --restart=always --net=host -v /home:/home ghcr.io/xiaobaidadada/filecat:latest --port 5567 --base_folder /home命令直接运行。

说明:

  1. 所有的用于可执行的参数在这里都可用,也可以省略参数,那么参数会使用项目下的env文件。
  2. 可以使用-v参数映射一个env配置文件给程序, -v /home:/home是管理文件的必要参数(使用base_folder参数设置),否则能够看到的只是容器内的临时文件。
  3. --net=host参数可以使用项目的所有关于网络的功能(虚拟网络,ddns等),由于在容器内运行,系统基本信息有些获取不到,但是内存和cpu使用率还是可以获取到物理机的。
  4. 如果只是想用文件管理功能,使用docker是可以的,否则还是建议在物理机上安装此程序。

三. 开发

  • 目前在mac上 直接install会失败(没有测试过),可以使用npm install --ignore-scripts
  • 本项目所有需要编译的依赖都使用了预构建,会从github下载编译好的文件,如果你电脑上的网络安装的时候无法访问github则会退化成编译。如果是在windows上需要编译编译可能遇到的问题可以参考这个链接https://blog.csdn.net/jjocwc/article/details/134152602
  • 项目使用nodejs, web网页构建使用react,没有使用Ui框架,而是使用filebrowser项目的css,本地dev开发的时候服务端是转发webpack的服务,打包环境下是把web网页作为资源加载的,服务器的路由使用routing-controllers来处理http,使用common下的frame处理websocket(使用和socket.io解析json一样的库socket.io-parser,有一个参数export const protocolIsProto2 = true;可选择使用proto协议,为什么不直接使用socket.io呢,是因为当时本来采用的proto,想更多的复用一下代码),都支持修饰器用法,打包的时候前后端都会使用webpack打包。

四. 主要特性

  • 文件管理
  1. 图片,视频,markdown 等文件格式在线预览。
  2. 代码编辑器,可选择文件打开方式。
  3. 图片编辑器,对图片右键可以进入图片编辑器模式。
  4. studio 编辑器,右键文件夹可以打开一个类似vscode的编辑器页面,可用于linux程序临时开发环境。
  5. excalidraw绘图编辑器,这是一个很好用白板工具。
  6. 切换根目录,在设置中添加多个文件夹路径后,可以在右上角选择切换根目录,只对一个session生效。
  7. 终端,默认是bash, windwos下是 powershell。
  8. 超大文本日志查看器,对任意大小的文本右键使用作为日志类型查看,点击窗口后可以使用上下键来快速滚动翻页,还可以实时输出内容。
  • ssh代理,ftp代理: 可以管理多个linux服务器,作用和winscp类似,让终端和文件管理更方便。
  • 网站,是网址收藏夹,可用于保存服务器上其它的网站
  • ddns
  • http网页代理、rdp代理(windwos远程控制)、rtsp代理播放器,输入直播源,比如监控的url可以实时网页观看
  • docker容器,镜像管理,查看日志等功能
  • 系统内存cpu信息,进程cpu信息(利用c插件、使用极低的资源,实时查看系统全部进程信息,类似windows的任务管理器),systemd管理(linux下才有)
  • wol网络唤醒
  • 虚拟网络,可以实现p2p,vpn功能。(不是端口转发,而是利用tun在主机上创建虚拟ip)

五. 功能说明

  1. 由于一些库目前不支持mac(比如虚拟网络) mac下无法使用上面的安装方式直接安装成功,在windows需要管理员模式下运行,linux需要root权限才可以使用该功能。此外还很多功能没有在macos下测试过,只支持windows和Linux;
  2. 部分功能目前处于demo阶段,未来会持续优化;

六. 路线

  1. 优化更多操作细节
  2. 支持更多的文件格式浏览
  3. 支持更多的流媒体功能
  4. 支持更多的ddns平台
  5. 自动化爬虫
  6. 路由权限

七. qq群

824838674

八. 致谢

本项目部分功能还基于或者借鉴于以下项目