文件共享平台Pingvin Share

在这里插入图片描述

本文完成于 2 月上旬。最近正好应网友要求折腾了 ClamAV,所以翻出来一起发了,可以作为 ClamAV 的一个应用示例;

什么是 Pingvin Share ?

Pingvin Share 是自托管文件共享平台,是 WeTransfer 的替代品。使用 Pingvin Share,您可以共享的文件大小没有限制,只有您的磁盘才是您的限制。

如果不想自己搭建,可以去看看官方演示站点:https://pingvin-share.dev.eliasschneider.com

什么是 ClamAV ?

ClamAV® 是一种开源防病毒引擎,用于检测木马、病毒、恶意软件和其他恶意威胁。

Pingvin Share 支持使用 ClamAV 来扫描是否有恶意文件,如果发现则删除。官方的 docker-compose.yml 中有该部分的内容,老苏已取消了注释,启用了 ClamAV 来扫描上传的附件

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 pingvin-share ,选择第一个 stonith404/pingvin-share,版本选择 latest

本文写作时, latest 版本对应为 v0.9.0;发文时,已是 v0.15.0,界面也有变化,懒得再重新截图了,凑合看吧

在这里插入图片描述

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

文件夹装载路径说明
docker/pingvin-share/data/opt/app/backend/data存放数据库和上传文件等

端口

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

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

在这里插入图片描述

命令行安装

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

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

# 进入 pingvin-share 目录
cd /volume2/docker/pingvin-share

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name pingvin-share \
   -p 3040:3000 \
   -v $(pwd)/data:/opt/app/backend/data \
   stonith404/pingvin-share:latest

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

下面的示例,已经启用了 ClamAV

version: '3.8'

services:
  pingvin-share:
    image: stonith404/pingvin-share
    container_name: ps-web
    restart: unless-stopped
    ports:
      - 3040:3000
    volumes:
      - "./data:/opt/app/backend/data"
# Optional: If you add ClamAV, uncomment the following to have ClamAV start first.
    depends_on:
      clamav:
        condition: service_healthy

# Optional: Add ClamAV (see README.md)  
# ClamAV is currently only available for AMD64 see https://github.com/Cisco-Talos/clamav/issues/482
  clamav:
    image: clamav/clamav
    container_name: ps-clamav
    restart: unless-stopped
    volumes:
      - "./cdata:/var/lib/clamav"

然后执行下面的命令

# 新建文件夹 pingvin-share 和 子目录
mkdir -p /volume2/docker/pingvin-share/{data,cdata}

# 进入 pingvin-share 目录
cd /volume2/docker/pingvin-share

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

# 一键启动
docker-compose up -d

运行

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

注意:密码不能少于 8 个字符

登录后还有一些需要设置的内容

APP URL 如果局域网使用,就用 IP,如果做了反向代理,就用域名,老苏将 http://localhost:3000 改为了 http://192.168.0.197:3040

其他的可以根据需要设置,比如 smtp

Send test email ,如果设置没问题的话,右下角会有成功的提示

在这里插入图片描述

主界面非常清爽

上传一个要分享的文件

Share 按钮

在这里插入图片描述

Generate 生成共享连接,还能设置分享时间、密码、描述等等

在这里插入图片描述

设置完成之后,就可以将链接发给别人了

参考文档

stonith404/pingvin-share: A self-hosted file sharing platform.
地址:https://github.com/stonith404/pingvin-share

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IP 协议的相关特性

目录 IP协议有三大特点:无连接、无状态、不可靠。 四位版本号 四位头部长度 八位服务类型: 十六位总长度 16 位标识, 3 位标志, 13 位片偏移 八位生存时间 八位协议 十六位首部校验和 关于IP v4地址不够的问题 ip地址动态分配: ip地址转换(NAT) 数据传输…

文心一言 VS 讯飞星火 VS chatgpt (54)-- 算法导论6.2 6题

文心一言 VS 讯飞星火 VS chatgpt (53)-- 算法导论6.2 5题 六、证明:对一个大小为 n的堆,MAX-HEAPIFY 的最坏情况运行时间为 Ω(Ign)。(提示对于n个结点的堆,可以通过对每个结点设定恰当的值,使得从根结点到叶结点路径…

前端学习——HTML5

新增语义化标签 新增布局标签 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&qu…

123.【SpringBoot 源码刨析B】

SpringBoot-核心功能 (三)、SpringBoot核心功能1.配置文件1.1、properties1.2、yaml(1).yaml 简介(2).yaml 基本语法(3).数据类型(4).示列 1.3、配置提示 2.WEB 开发1.SpringMVC自动配置概览2.简单功能分析(1).静态资源访问&#xff08;1.1&#xff09;.静态资源目录&#xff0…

【Linux】程序员的基本素养学习

这是目录 写在前面一、内存管理1、分段2、分页 二、线程管理三、静态库1、编译1.1、预处理1.2、编译1.3、汇编1.4、链接2、编译器3、目标文件**.text****.data****.bss****__attribute__** 3.1、符号3.2、兼容C语言 -- extern C4、链接 -- ld 写在前面 本文记录自己的学习生涯…

Haproxy搭建Web集群

目录 一.Haproxy简介 1.1Haproxy的概述 1.2 Haproxy的主要特征 1.3 Haproxy常见负载均衡策略 二 LVS、Nginx、HAproxy的区别 2.1 nginx 2.2 LVS 2.3 haproxy 三 Haproxy搭建Web群集 环境准备 haproxy 服务器部署 节点服务器部署 四 测试 五 日志定义 一.Haproxy简…

Python网络爬虫使用教程

文章目录 一、URL资源抓取1.urllib2.requests3.requests-html二、正则表达式三、数据解析1.Beautiful Soup2.lxml3.selectolax四、自动化爬虫selenium五、爬虫框架1.Scrapy2.pyspider框架六、模拟登录与验证码识别七、autoscraper&#xff08;不需要编程基础&#xff09; 一、U…

6阶高清视频滤波驱动MS1681

MS1681 是一个单通道视频缓冲器&#xff0c;它内部集成6dB 增益的轨到轨输出驱动器和6 阶输出重建滤波器。MS1681 的-3dB 带宽为35MHz&#xff0c;压摆率为160V/us。MS1681 比无源LC 滤波器与外加驱动的解决方案能提供更好的图像质量。它单电源供电范围为2.5V 到5.5V&#xff0…

DAY39:贪心算法(七)根据身高重建队列(注意思路)+最少箭引爆气球(重叠区间)

文章目录 406.根据身高重建队列&#xff08;注意思路&#xff09;思路两个维度降序排序注意点 完整版vector容器插入相关复习为什么能直接根据ki数值插入ki位置的下标 时间复杂度vector-insert操作存在的问题链表优化版时间复杂度list和vector的插入与访问操作区别 452.最少弓箭…

CentOS7安装详细安装

CentOS 7镜像下载 官网下载链接&#xff1a;http://isoredirect.centos.org/centos/7/isos/x86_64/ step1: 进入下载页&#xff0c;选择阿里云站点进行下载 Actual Country 国内资源 Nearby Countries 周边国家资源 阿里云站点&#xff1a;http://mirrors.aliyun.com/cento…

​浅谈大型语言模型

大型语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;是一类强大的人工智能模型&#xff0c;具有出色的自然语言处理能力。它们在许多任务中表现出色&#xff0c;如机器翻译、文本摘要、对话生成和情感分析等。下面我们将介绍大型语言模型的训练和生成过…

计算机体系结构基础知识介绍之缓存性能的十大进阶优化之非阻塞缓存(四)

优化四&#xff1a;非阻塞缓存&#xff0c;提高缓存带宽 对于允许乱序执行的流水线计算机&#xff0c;处理器不需要因数据高速缓存未命中而停止。 例如&#xff0c;处理器可以继续从指令高速缓存获取指令&#xff0c;同时等待数据高速缓存返回丢失的数据。 非阻塞高速缓存或无…

MYSQL的基本数据类型和建库

1.创建数据库&#xff0c;删除数据库&#xff0c;查询创建数据的语句&#xff0c;使用数据库&#xff0c;查询当前默认的数据库以及使用的编码方式校验规则 2.数字&#xff0c;文本&#xff0c;日期 在一章表中定义多个字段&#xff0c;要使用今天提到的所有的数据类型 1创建数…

为了实现上网自由,我做了一个多功能串口服务器

项目作者&#xff1a;小华的物联网嵌入式之旅 介绍&#xff1a;从事电气自动化行业&#xff0c;多次获得物联网设计竞赛&#xff0c;爱好嵌入式设计开发&#xff0c;物联网开发。 设计方案思路的由来&#xff0c;是因为我们现在的开发板基本需要通过串口与WIFI模组或以太网模…

图片框架Glide学习总结及插件实现

一.前言 图片加载框架个人选择的是Glide&#xff0c;该框架非常优秀&#xff0c;其知识体系很庞大&#xff0c;个人就对Glide部分知识的学习做一下总结&#xff0c;同时对框架的使用做一下封装&#xff0c;做成插件。 二.知识主干 知识主干如下&#xff0c;每一部分的知识会…

Network Neuroscience:整个生命周期的功能连接体指纹

导读 随着年龄的增长&#xff0c;人脑功能结构发生了系统性的变化。然而&#xff0c;功能连接(FC)作为一种检测独特“连接体指纹”的强大特征&#xff0c;使个体能够在同龄人中被识别出来。虽然已在年轻人样本中观察到这种指纹&#xff0c;但该方法在整个生命周期内的可靠性尚…

实现【Linux--NTP 时间同步服务搭建】

实现【Linux--NTP 时间同步服务搭建】 &#x1f53b; 前言&#x1f53b; 一、NTP 校时&#x1f530; 1.1 NTP 服务校时与 ntpdate 校时的区别&#x1f530; 1.2 NTP 校时服务搭建&#x1f530; 1.2.1 确认 ntp 的安装&#x1f530; 1.2.2 配置 ntp 服务&#x1f530; 1.2.3 启动…

QNAP威联通NAS搭建SFTP服务,并内网穿透实现公网远程访问

文章目录 前言1. 威联通NAS启用SFTP2. 测试局域网访问3. 内网穿透3.1 威联通安装cpolar内网穿透3.2 创建隧道3.3 测试公网远程访问 4. 配置固定公网TCP端口地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址4.3 测试使用固定TCP端口地址远程连接威联通SFTP 转载自远程内…

优化|一阶方法:求解不具有凸性和lipschitz连续性的复合问题

论文解读者&#xff1a;陈康明&#xff0c;赵田田&#xff0c;李朋 编者按&#xff1a;​ 对于大多数一阶算法&#xff0c;我们会在收敛性分析时假设函数是凸的&#xff0c;且梯度满足全局 Lipschitz 条件。而本文中&#xff0c;对于某一类特殊函数。我们不仅不要求函数是凸的…

一次源码编译安装PostgreSql失败

需要perl&#xff1b;之前博文已提到&#xff1b;之前有一种编程语言叫perl&#xff0c;此perl应该不是那个&#xff1b;可到其官网下载&#xff0c;Perl Download - www.perl.org 安装时添加到环境变量&#xff1b; 可能是一个东西&#xff1b;有编程语言和工具&#xff1b;大…