替代奶牛快传,一行代码搭建一个自己的文件传输网盘——psitransfer,附上frp的部署

2022-10-07 15:13:31 14点赞 108收藏 18评论

追加修改(2022-10-07 17:42:13):
需要声明的一点,大家不要想着拿着个服务去搞一些奇怪的内容。本身技术是为了给大家的生活提供便利的,而不是拿来滋养不良行为的温床。特此声明

1 引言

有很多场景,我们需要给别人传一个文件,对于较小的文件,直接qq文件传输或者微信的文件传输助手就解决了。但是,如果碰到大文件或者一堆文件夹的时候该怎么办呢?这时候就得借助网盘了。可是,现在的网盘,除了某知名网盘被人诟病很久的限速问题之外,一般的网盘,你想下载一堆文件的时候,大多还是需要下载客户端才给下载的。

针对这种现象,国内也是出现了一批优秀的文件传输网盘,如奶牛快传,文叔叔这一类优秀的软件,不需要下载就可以实现文件的传输。接收文件者也可以获得满速的下载体验。但是,很多私密性的文件,如机密文件之类的,或者私密一点的文件通过这类网盘传输就有了不确定性。这类中小企业的产品,数据安全方面肯定是比不上百度云这类产品的。

因此,本文在捡垃圾系列之后,单独开了捡垃圾后该怎么玩的话题。让大家刷完机就吃灰的东西,能够多多少少发挥一点自己应有的价值。

2 准备工作

2.1 硬件

默认大家手头都有了一个linux设备了(armbian也是linux的一个分支)。当然,为了保障该功能最大化的使用,最好该设备还是有个千兆网口和usb3.0接口。如果是自己买的工控主板装的linux小主机,那么直接用内置的硬盘即可。如果没有内置硬盘,最好还是有一个移动硬盘,容量随意,可以参照你想传输的大文件的体积来进行选择,最好是500g以上,这样才有更多的可玩性。

2.2 安装有docker

如果没有安装docker,可以参照下列代码进行docker的安装。

sudo apt install docker.io

2.3 公网IP或者frp实现公网穿透

如果有公网ip,可以通过ddns绑定一个域名来完成接下来的操作。后面上传的网速取决你的宽带上传速度的上限。

如果没有公网ip,那么可以购买一个阿里云或者腾讯云新加坡节点的服务器,大概在24元左右一个月,可以有30M的带宽以及1T的流量,能够给你提供一个公网ip,笔者实测速度还可以。

购买界面购买界面

对于这个服务器,这个已经是目前大厂能买到的最便宜的云服务器了,国内节点除了活动的时候比较优惠,正常价格都是正常都在60元一个月,而且带宽只有少的可怜的3M。这个服务器在商量好带宽的使用后也完全可以和朋友们合买一个。如果需求不高的话,也可以把这个服务部署在云服务器上进行使用。有了这么一个云服务器,能干的事情还有很多很多,具体的后面开文再慢慢说。

需要注意的一点是,这一个月1t的流量,跟手机卡一样是每个月自动更新的,计算的也只是流出的流量,相对来说还是足够满足日常一般使用的。毕竟也不会有大佬一个月能传1T的文件,碰到这种情况往往移动硬盘可能比这种云服务更加合适。

2.4 frp的部署

此部分是针对没有公网ip的朋友食用,已有公网ip的通过ddns,在路由器上设置一下端口转发即可使用。

1.frps(服务端)的部署

建立好frps的配置文件,推荐按照笔者默认的位置进行设置

mkdir /docker/frps

cd /docker/frps

apt install nano -y

nano frps.ini

在文件中输入如下参数,一般的ssh都是鼠标右键粘贴

[common]

bind_addr=0.0.0.0

bind_port=8000

token=token

vhost_http_port=80

vhost_https_port=443

dashboard_port=7500

dashboard_user=admin

dashboard_pwd=passwd

需要修改的部分,就是token改成你自己喜欢的token,后面的dashborad_pwd后面的passwd,改成你需要的控制面板的密码。

输入完之后,ctrl+o保存,ctrl+x退出

完成上一步之后,就进行frps的docker方式部署(采用这种方式的一大原因,就是维护起来特别容易)

docker run --restart=always --network host -d

-v /docker/frps/frps.ini:/etc/frp/frps.ini

--name frps snowdreamtech/frps

这一步完成之后,需要做的就是放行端口以及找到你云服务的公网ip

点击控制台点击控制台

点击轻量应用服务器点击轻量应用服务器

进入你的云服务器进入你的云服务器

下图标注部分就是你的公网ip,需要记录一下。然后进入防火墙。

进入防火墙进入防火墙

添加规则添加规则

添加上面的7500和8000端口,即添加两个规则。

放行端口放行端口

放行之后可以测试一下,浏览器输入你的公网ip:7500,输入设置的账号密码,即可进入查看。可以进入即部署成功。

2.frpc(客户端)的部署

回到你自己的服务器,进入后台。重复一下上面的操作,下面附上代码:

mkdir /docker/frpc

cd /docker/frpc

apt install nano -y

nano frpc.ini

然后就是输入配置文件

[common]

server_addr = 你的公网ip

server_port = 8000

token = 你的token

[psitransfer]

type = tcp

local_ip = 127.0.0.1

local_port =3000

remote_port =3000

按照上面标注的地方,更改为你的对应信息即可,然后再回到云服务器的防火墙,放行3000端口。

docker run --restart=always --network host -d

-v /docker/frpc/frpc.ini:/etc/frp/frpc.ini

--name frpc snowdreamtech/frpc

到这里内网穿透的部分就结束了。

3 正式部署

3.1 安装psitransfer

还是进入你的服务器的ssh

输入一行代码,将passwd换成你需要的密码

docker run -p 0.0.0.0:3000:3000 -e PSITRANSFER_ADMIN_PASS=passwd -v /docker/psitransfer/data:/data psitrax/psitransfer

然后给这个文件夹权限,避免一些其他的问题:

sudo chown -R 1000 /docker/psitransfer/data

3.2 一些问题的排查

如果在上一步出现报错的情况,那么就是你的系统没有切换成国内的源,更换一下即可

cd /etc/docker

nano daemon.json

然后输入:

{ "registry-mirrors":["https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com/"] }

按照上面说的ctrl+o和ctrl+x保存

重启docker

sudo systemctl restart docker

4 使用

在浏览器输入你的公网ip:3000即可进入下面的界面

界面界面

正常的使用应该没啥障碍,将文件拖进去即可,右边第一行是文件保存时间,到期后自动删除,第二行是选择是否带密码分享文件。

上传之后点击粘贴到剪贴板,即可分享给你的好友了。

使用使用

如果想查看最近传输过什么文件,就在浏览器输入你的公网ip:3000/admin,如下图所示,输入你刚刚部署时设置的密码就可以进行查看了。

查看最近传输的文件查看最近传输的文件

5 总结

所有的部署教程如图所示,这款应用在日常生活中还是有其一定的使用场景的。当然,还是推荐家中有公网ip的进行使用,这样就不必收到流量限制的烦恼了。后面准备开一篇如何在没有软路由或者没有插件的路由器的网络环境下实现ddns,先挖个坑后面慢慢填。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
18评论

  • 精彩
  • 最新
  • 一个不小心被扫描了涩图,电话随之而来,服务器关停也不退款了

    校验提示文案

    提交
    所以说一开始就别想着拿来干一些乱七八糟的事情不就好了嘛,日常使用是一点问题没有的

    校验提示文案

    提交
    公开访问的吗?怎么扫到的?

    校验提示文案

    提交
    收起所有回复
  • Jirafeau方便多了,只要php

    校验提示文案

    提交
    大致看了一下您说的那个软件,如果用docker部署的话,配置也都差不多呀,只是同类的产品

    校验提示文案

    提交
    我J3455安装的是ubuntu server,lamp是物理机上运行的,所以php支持,docker我也有,主要运行portainer,Watchtower,Huginn,qiandao,Aria2,Navidrome, 峰云助手 , 青龙 ,ElecV2P,proxypool,AnyLink,Macvlan+Openwrt,Next Terminal,RSSHub
    物理机主要运行dokuwiki,phpbbs,typecho===一系列源码
    虚拟机用phpvirtualbox
    系统资源占用很低的

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 我是在云服务器搭的黑裙,分享也挺方便,但网速是个问题

    校验提示文案

    提交
    所以推荐新加坡节点的这个服务器,上行30M足够满足一般的使用了,远不是国内节点5M的小水管能比的

    校验提示文案

    提交
    云上的东西用着始终觉得不踏实。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 动态ipv6的公网ip行吗?

    校验提示文案

    提交
    理论上可行,不过需要访问端也支持ipv6,使用场景还是受限的

    校验提示文案

    提交
    收起所有回复
  • 不如filebrowser,用过的都说好

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
108
扫一下,分享更方便,购买更轻松