~~~(不知道摘要写啥)
前几天奶牛快传的一则更新惊动了不少人,虽然后来官方出来澄清说只是关停免费用户的网盘功能,不影响文件传输,但是从奶牛快传近年来一再收紧服务限制,还卖11年会员的举动来看,怕是日子也不好过。没办法,在国内网盘是很难盈利的 行业,不仅仅是做好技术那么简单,现在网民的付费习惯还没有养成,网盘也并非所有人的刚需,卖得贵了没人要,便宜又赔钱,还得面临巨头竞争。
本人偶尔会有大文件分享的需求,微信和邮件那些渣渣传不了,OneDrive对方不一定能访问,百度盘没速度,还强制安装客户端,之前一直用奶牛,现在奶牛这个事一出吧,我觉得还是自建一套比较好,原因嘛一是稳定不会跑路,二是隐私考虑,不担心上传的文件泄露,或者被拿去做用户画像,或者被和谐,或者被喝茶。之前我用filebrowser,方便是方便,但是缺陷也很明显:不能自动删除老旧文件,所以需要VPS有比较大的硬盘空间;上传体验极差,进度条简陋,不能续传,偶尔卡住。趁这个机会研究了一下,方案大概有两个,一个是Firefox send,一个是Sharry,考虑到Firefox send已经停止开发了,就选择了Sharry,顺带记录一下安装过程。
Sharry是一款比较小众的软件(Github才155个Star,还包括我自己一个),但是功能还挺强大的,主要有两个功能,分享文件以及接收文件,这样不仅我可以传文件给别人,当别人需要发送大文件的也时候可以直接丢一个链接给对方,对方无需注册即可上传,非常方便。
当然,既然是要分享文件,首先需要一台网络不算太差,硬盘也不是太可怜的小鸡。既然是小规模使用,我就选了最最偷懒的方法。首先你的VPS需要安装docker-compose,然后只需要三条命令:
$ git clone https://github.com/eikek/sharry
$ cd sharry/docker
$ docker-compose up -d
然后就可以在IP:9090访问到服务(需要放行9090/tcp端口)。
当然啦,这样有些过于简单,并且管理员密码(admin/admin)挺不安全的,所以我建议完整阅读一下配置文档,我是直接复制它的示例文件(sharry.conf)修改的,主要改了以下几处:
base-url = "http://localhost:9090" # 由于打算绑定域名并上https,这里必须修改成域名,改了之后IP:9090就不能上传文件了哦
address = "localhost" # 如果不上反代,或者前后端分离的话,这里要改成0.0.0.0,否则无法访问
fixed { # 内置管理员账号
enabled = false # 改为true表示启用
user = "admin"
password = "admin" # 为了安全,请修改默认用户名和密码
order = 10
}
jdbc { # 数据库
url = "jdbc:h2://"${java.io.tmpdir}"/sharry-demo.db;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE" # 由于docker-compose.yml包含了数据库,改成url = "jdbc:postgresql://db:5432/dbname"
user = "sa"
password = "" # 改成docker-compose.yml里的数据库用户名和密码
}
mode = "open" # 是否开放注册,因为我是个人用,不打算让别人注册,改成closed
max-size = "1.5G" # 最大文件大小,改大一点吧
它有很多种认证方式,默认都是关闭的,需要的话读文件改一改就行,不需要就不用管。改完之后启动实例
$ docker-compose up -d
然后设置反代。官方文档给了nginx的示例,这里有Apache的(没测试),我选择偷懒上Caddy,如果你不加什么功能的话,Caddyfile三行即可(需要提前设置DNS解析并生效哈):
<DOMAIN> {
reverse_proxy localhost:9090
}
之后访问https://<DOMAIN>即可,用户名和密码是sharry.conf中设置的。界面很简洁,长这样(目前还没没中文界面哈):
Create Share是自己上传文件发送给别人,View Shares是浏览已上传的文件(包括别人通过链接上传的)。Create的时候,在Details里可以设置描述、最大浏览次数、链接有效期、密码等,功能很强大,选择或者拖动文件到窗口里后,点击Submit即可。Submit只是上传,如果要分享,需要在Shares中找到这个文件(如果需要加密码等也可以在Details中改),勾选Publish,然后就可以在Share Link里找到文件的链接和二维码了。
如果你想要别人给你发文件(比如收作业),点击右上角菜单-Aliases,新建Alias Page,起个名字,设置有效期,然后把生成的链接或者二维码扔给别人就好,收到的文件也在Shares中,可以自己下载,或者直接Publish出去。
文章评论