极简主义的远程文件浏览器Mikochi

news2024/10/6 4:12:48

在这里插入图片描述

什么是 Mikochi ?

Mikochi 是一个远程文件浏览器,用于自托管服务器 / NAS。它允许您浏览远程文件夹、上传文件、删除、重命名、下载和流式传输文件到 VLC/mpv。它带有一个由 JavaScript/Preact 提供支持的 Web 界面,以及一个内置于 Go/Gin 中的 API

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 mikochi ,选择第一个 zer0tonin/mikochi,版本选择 latest

本文写作时, latest 版本对应为 1.2.3

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 mikochi,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/mikochi/data/data上传文件等

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
80448080

在这里插入图片描述

环境

可变
DATA_DIR数据目录,设为 /data
USERNAME用于登录的用户名
PASSWORD用于登录的密码

在这里插入图片描述

更多的环境变量请看官方文档:https://github.com/zer0tonin/Mikochi#configuration

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 mikochi 和 子目录
mkdir -p /volume2/docker/mikochi/data

# 进入 mikochi 目录
cd /volume2/docker/mikochi

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name mikochi \
   -p 8044:8080 \
   -v $(pwd)/data:/data \
   -e DATA_DIR="/data" \
   -e USERNAME=laosu \
   -e PASSWORD=123456 \
   zer0tonin/mikochi:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  rediary:
    image: zer0tonin/mikochi
    container_name: mikochi
    restart: unless-stopped
    ports:
      - 8044:8080
    volumes:
      - ./data:/data
    environment:
      - DATA_DIR=/data
      - USERNAME=laosu
      - PASSWORD=123456

然后执行下面的命令

# 新建文件夹 mikochi 和 子目录
mkdir -p /volume2/docker/mikochi/data

# 进入 mikochi 目录
cd /volume2/docker/mikochi

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3040 就能看到登录界面

用我们前面环境变量设置的参数 USERNAMEPASSWORD 登录

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

点右下角的

在这里插入图片描述

新建文件夹

在这里插入图片描述

主界面会出现刚才新建的目录

在这里插入图片描述

上传文件

在这里插入图片描述

上传完成后,同样能看到刚上传的文件

在这里插入图片描述

上传的文件可以在 FileStation 中查看

在这里插入图片描述

在日志中能看到所有的操作过程

在这里插入图片描述

视频文件可以直接复制地址,在 Potplayer 等播放器中直接播放

参考文档

zer0tonin/Mikochi
地址:https://github.com/zer0tonin/Mikochi

Introducing Mikochi: a minimalist remote file browser
地址:https://alicegg.tech/2023/06/09/mikochi.html

I created a minimalist file browser web UI, with streaming capabilites : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/145098a/i_created_a_minimalist_file_browser_web_ui_with/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/636052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT 教我用 200 行代码写一个简版 Vue 框架 - OpenTiny

AI 是未来最好的老师 最近,我正在准备一份关于 Vue 基础的学习材料。期间我突发奇想:能否利用现在热门的 ChatGPT 帮我创建学习内容?其实 Vue 本身不难学,特别是基础用法,但是,如果你想深入掌握 Vue&#…

数据挖掘(7.1)--数据仓库

目录 引言 一、数据库 1.简介 2.数据库管理系统(DBMS) 二、数据仓库 数据仓库特征 数据仓库作用 数据仓库和DBMS对比 分离数据仓库和数据库 引言 数据仓库的历史可以追溯到20世纪60年代,当时计算机领域的主要工作是创建运行在主文件上的单个应用&#xff0…

LaravelPHP笔记-响应头去掉(隐藏)X-Powered-By

最近想搞个小项目,后端先用PHP,框架是Laravel但http响应头如下: 头带有X-Powered-By: PHP/7.3.33,这样很不安全,应该要隐藏,查了下百度。都是一个抄一个。 在代码中添加: header_remove(x-pow…

【几分醉意赠书活动 - 02期】 | 《前端系列丛书》

个人主页: 几分醉意的CSDN博客主页_传送门 个人主页: 陈老板的CSDN博客主页_传送门 赠书活动 | 第二期 本期好书推荐:《前端系列丛书》 粉丝福利:书籍赠送:共计送出30本 参与方式:关注公众号:码…

Flutter控件封装之轮播图Banner

Flutter中实现轮播图的方式有很多种,比如使用三方flutter_swiper,card_swiper等等,使用这些三方,可以很快很方便的实现一个轮播图展示,基本上也能满足我们日常的开发需求,如果说,想要一些定制化…

CloudFlare系列--使用第三方来自定义CDN的IP(笨牛简洁版)

原文网址:CloudFlare系列--使用第三方来自定义CDN的IP(笨牛简洁版)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍CloudFlare的CDN如何自定义第三方IP。 概述 CloudFlare官网接入域名的方式只能是 NS 接入,这样默认DNS服务器只能改为CloudFlare的D…

第3章 需求分析

第3章 需求分析 3.1 需求分析任务 3.1.1 确定对系统的综合要求 1. 功能需求 通过需求分析应该划分出必须完成的所有功能。 2. 性能需求 性能需求指定系统必须满足的定时约束或容量约束 3. 可靠性和可用性需求 可靠性需求定量地指定系统的可靠性 可用性与可靠性密切相关&…

北京某金融公司面试题,精选10道讲解!

你好,我是田哥 面试造火箭工作拧螺丝,最近一位朋友在面试中被问到各种各样的分布式微服务的面试题,也回答上来了。可是,等正式入职后,发现这家公司居然全部是使用单体项目,完全没有分布式微服务的东东&…

个人PC机使用网线与树莓派进行连接

目录 0. 前言1. 查看网络状况2. 设置网络共享3. 获取树莓派的IP 0. 前言 你需要准备一个树莓派4B,自己的电脑,以及一根超五类网线 操作系统:Windows10 专业版、Raspbian OS 开发环境:树莓派4B 1. 查看网络状况 windows控制台…

今年程序员去大厂面试的必备条件:985或211计算机专业,上家公司是大厂,毕业3年且30岁以下,之前产品qps在一万以上!...

什么样的程序员能拿到大厂的面试入场券? 一位网友总结,今年程序员想约到一二三线公司面试需要同时满足以下条件,缺一不可: 1.985或者211硕士,计算机专业; 2.上家公司是大厂; 3.毕业3年以上且年龄…

chatgpt赋能python:Python中的变量定义

Python中的变量定义 在Python中,变量是一种用来存储数据的容器。它们允许程序员为数据分配一个名称,并将该名称与特定的值关联起来。Python语言的灵活性和易用性使得变量定义变得极为简单。 定义变量的基本语法 在Python中,定义变量的语法…

pikachu靶场漏洞演练(更新中)

文章目录 一、XSS(Cross-Site Scripting)1.XSS概述2.漏洞危害3.常用payloadb.反射型XSS(post)c.存储型XSSd.DOM型XSSe.DOM型XSS-X 一、XSS(Cross-Site Scripting) 1.XSS概述 XSS中文叫做跨站脚本攻击(Cross-site scripting)&…

BitSet—位图

BitSet 🔎概念🔎位图的模拟实现set()get()reSet()getUsedSize()完整代码 🔎利用位图进行排序🔎结尾 🔎概念 位图 用某一位表示存储的状态 位图的适用场景 海量数据数据为自然数(≥ 0)数据不重复 举个栗子&#x1f3…

内网隧道代理技术(二)之LCX端口转发

LCX端口转发 LCX介绍 LCX是一款端口转发工具,分为Windows版和Linux版,Linux版本为PortMap。LCX有端口映射和端口转发两大功能,例如当目标的3389端口只对内开放而不对外开放时,可以使用端口映射将3389端口映射到目标的其他端口使…

计算两个向量的外积numpy.outer()

【小白从小学Python、C、Java】 【等级考试500强双证书考研】 【Python-数据分析】 计算两个向量的外积 numpy.outer() 以下说法正确的是: import numpy as np a np.array([1,2]) print("【显示】a ",a) b np.array([3,4,5]) print("【显示】b &q…

SpringBoot进阶-SpringBoot如何实现配置文件脱敏

目录 参考一、概述二、实现1、引入pom2、在配置文件中添加密钥3、生成加密之后的数据4、将加密之后的数据添加到配置文件中 三、踩坑Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cr…

python系列27:jupyter转web app的工具Mercury

1. 简介 官网:https://runmercury.com/ Mercury可以将 Jupyter Notebook 呈现为 Web 应用程序。类似的package还有streamlit和voila 使用import mercury as mr进行安装。Mercury的页面分为左边的输入部分,和右边的输出部分,下面是极简例子&a…

C++函数重载学习

C 允许多个函数拥有相同的名字&#xff0c;只要它们的参数列表不同就可以&#xff0c;这就是函数的重载&#xff08;Function Overloading&#xff09;。 一个基本的例子&#xff1b; #include<iostream> using namespace std;void print(int i) {cout<<"a …

远程控制之原理和实践

按理来说&#xff0c;本人不该发表此类专业文章&#xff0c;鄙人零星碎片化的开发经历&#xff0c;让本人斗胆向诸位网友&#xff0c;在远控方面做一点演示说明&#xff0c;谈论一点自己的认识。 程序工程代码地址&#xff1a;点击此处下载。 程序分为两个部分&#xff0c;控…

OpenCV 项目开发实战--对图像中的斑点进行检测(Python、C++代码实现)

什么是斑点? Blob 是图像中一组连接的像素,它们共享一些共同的属性(例如,灰度值)。在上图中,暗连接区域是斑点,斑点检测旨在识别和标记这些区域。 文末附相关测试代码的下载链接 SimpleBlobDetector 示例 OpenCV 提供了一种基于不同特征检测和过滤斑点的便捷方法。让…