西区代码小仓库 - frp
type: channel
link: https://lisper517.top/tag/frp/
items: Samba, ftp与webdav
items: Docker树莓派实践——frp（附dashboard开启https、frp双向验证）
items: 树莓派+Samba+frp搭建NAS（网络云存储）
items: 树莓派搭建个人博客
items: 在树莓派上设置frp穿透
items: 树莓派+云服务器，gogs+frp搭建私有git
items: frp+云服务器搭建能从外网访问的redis、mysql

Samba, ftp与webdav
type: item
date: 2022-10-12T15:11:00+00:00
description: 步骤/目录： 0.Samba的陷阱 1.需求介绍 2.Samba与frp 3.ftp 4.webdav本文首发于个人博客https://lisper517.top/index.php/archives/59/，转载请注明出处。本文的目的是使用树莓派搭建可公网访问的NAS，并且比较Samba, ftp与webdav这三种方式的异同。本文实验日期为2022年10月11日。使用的是树莓派4B（内存8G版），系统为Pi OS 64位桌面版（2022年4月4日更新，镜像名 2022-04-04-raspios-bullseye-arm64.img ）。0.Samba的陷阱当你在windows中打开 我的电脑 ，此时打开的东西叫文件管理器（Windows Explorer）。从文件管理器向其它地方拷贝东西，WE会要求目标硬盘先创建一个同等大小的空镜像（内容全部为0的镜像），再填充数据；Samba会调用 ftruncate() 函数来创建，而该函数在FAT文件系统上运行奇慢，需要花很长时间才能创建好空白镜像，WE以为Samba卡死了，最终会返回0x8007003B错误（ 参考回答 ）。FAT文件系统创建空镜像这么慢，归根结底是不支持sparse file（稀疏文件），所以它创建空镜像时真的会在硬盘上挨个写入0；而支持sparse file的，直接指定空镜像文件的头尾区块、存在metadata中即可，不用管这些区块上原本是1还是0。在Samba的设置中有一项隐藏的默认值 strict allocate = no ，如果改成yes，当单个文件大小超过500MB，Samba自己就会要求先生成空镜像再填充数据（参考 wiki-Samba 的 SMB/SMB2 write activities 一节）。综上所述，不需要改Samba的配置，只要保证Samba挂载的不是FAT文件系统（exFAT、FAT32）而是ext4、NTFS就行了（ 参考回答 ）。先创建空镜像再写入，本意是好的，只是FAT执行坏了。1.需求介绍在之前 树莓派+Samba+frp搭建NAS（网络云存储） 一文中，曾介绍过使用Samba在局域网内搭建NAS，并且使用千兆路由器后达到了不错的内网分享速度。在那篇文章中还将samba使用的445端口通过frp映射到公网ip，试图在公网也能访问NAS，但实际上并没有成功。本文将再次尝试，并且除了Samba之外，还尝试使用ftp与webdav方式搭建。需要注意的是，文中提到的所有方法都是树莓派直连硬盘，也就是说用linux把硬盘分享为NAS；如果你用windows电脑直连硬盘分享NAS，本文可能帮不了你。最后，本文中使用的都是云服务器+frp，这样NAS的带宽会被严重限制为云服务器的带宽，有条件的建议还是用DDNS，见之前的文章 路由器与DDNS （如果你家用的是移动的宽带，也可以不用看那篇文章，就用云服务器+frp）。2.Samba与frp在之前的文章中，成功在树莓派上搭建了Samba，内网已经能流畅访问，千兆路由器下，文件读写最快能达到113MB/s，而机械硬盘的最高读写速度也才150MB/s左右，已经很不错了。后来试着用frp开放到公网，怀疑因为云服务器带宽不够（640KB/s），导致windows上连接超时。之后换用 3.75MB/s 的云服务器，还是无法连接，这时才怀疑是否操作有些问题。最终，通过一番寻找，笔者成功解决了Samba开放到外网、用windows连接的问题。这里就跳过Samba的搭建，直接讲如何配置frp，windows如何连接。云服务器、frps和frpc的其他配置见前文，frpc配置好后添加一个samba的映射即可：[samba] type = tcp local_ip = localhost local_port = 445 remote_port = 44500这里 remote_port 选择44500而不是445，主要是因为安全性。445端口本来就是windows用来共享文件夹的，据有些文章说以前 永恒之蓝 病毒针对445、139等端口搞了一些事情，导致现在445、139等端口被全网封禁（139、138、137也和文件共享有关，据说如果445走不通就会尝试这些端口）。所以现在映射445到服务器其他端口，你可以自己选一个大一点的，这里以44500为例。设置完frpc.ini后，在云服务器的防火墙中打开44500端口。到这里，其实已经可以连接到Samba了，mac、linux都可以指定端口号，在文件浏览器中输入 smb://云服务器ip或域名:44500/共享名 即可，然后输入用户名密码即可；linux用命令行挂载时，需要如下操作：apt install -y cifs-utils #CentOS把apt换成yum…

Docker树莓派实践——frp（附dashboard开启https、frp双向验证）
type: item
date: 2022-07-27T02:44:00+00:00
description: 步骤/目录： 1.准备工作 2.编写frpc.ini和compose模板 3.运行并验证 附录： 1.让frps的dashboard使用https （1）tls介绍 （2）生成证书并运行 （3）访问的注意事项 2.frp双向验证 （1）介绍 （2）准备工作 （3）修改配置并运行本文首发于个人博客https://lisper517.top/index.php/archives/21/，转载请注明出处。本文的目的是使用docker、docker-compose在云服务器上运行frps、在树莓派上运行frpc。本文实验日期为2022年7月27日。本文使用的是树莓派4B（内存8G版），系统为Pi OS 64位桌面版（2022年4月4日更新，镜像名 2022-04-04-raspios-bullseye-arm64.img ）。之前的文章中曾介绍过frp，详见 在树莓派上设置frp穿透 。简单来说，frp的运行需要一台有公网ip的机器和另一台机器（比如没有公网ip的内网机器）；frp的作用是把另一台机器的端口映射到公网机器，使得从公网机器也能访问到另一台机器的端口（即内网穿透）。在docker官方仓库网页可以搜索到很多frp镜像，这里frpc选用的是snowdreamtech/frpc镜像，其下载量为10M+，两个月前更新。frps镜像也是该作者的。1.准备工作首先准备云服务器。笔者这里使用的是阿里云，镜像为Docker 19.03。在云服务器上进行如下操作：docker pull snowdreamtech/frps mkdir -p /docker/frps/conf mkdir /docker/frps/ssl_certificate #存放tls相关证书 #安装docker-compose。使用env命令发现PATH里没有/usr/local/bin，就放在/usr/bin里了 curl -L https://github.com/docker/compose/releases/download/v1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose chmod +x /usr/bin/docker-compose docker-compose -v #编辑frps配置 vim /docker/frps/conf/frps.ini笔者使用的初始frps配置如下：[common] bind_port = 7000 #frpc上也要有相同的token值 token = 你的密码 #frps统计板 dashboard_port = 7500 dashboard_user = wuhuqifei dashboard_pwd = wuhuqifei #kcp据说是多消耗15%流量、降低tcp延迟。端口可和bind_port相同 kcp_bind_port = 7000使用初始配置时的运行命令：docker run -d --name frps -v /docker/frps/conf/frps.ini:/etc/frp/frps.ini --network host --restart=always snowdreamtech/frps为了让dashboard使用tls协议加密，笔者将frps.ini修改为：[common] bind_port = 7000 #frpc上也要有相同的token值 token = 你的密码 #frps统计板 dashboard_port = 7500 dashboard_user = wuhuqifei dashboard_pwd = wuhuqifei #kcp据说是多消耗15%流量、降低tcp延迟。端口可和bind_port相同 kcp_bind_port = 7000 #dashboard使用tls的相关配置 dashboard_tls_mode = true dashboard_tls_cert_file = /ssl_certificate/server.crt dashboard_tls_key_file = /ssl_certificate/server.key关于.crt、.key、ca.crt文件的介绍与自己生成的方法见 附录1. ，或者参考 gofrp文档 。然后更改命令，加上挂载证书存放目录的部分：docker run -d --name frps -v /docker/frps/conf/frps.ini:/etc/frp/frps.ini -v /docker/frps/ssl_certificate:/ssl_certificate --network host --restart=always…

树莓派+Samba+frp搭建NAS（网络云存储）
type: item
date: 2022-07-06T08:57:00+00:00
description: 步骤/目录： 0.Samba的陷阱 1.树莓派下载安装samba 2.配置samba 3.为samba绑定系统用户 4.其他客户端连接到共享文件夹 （1）linux （2）Windows （3）安卓手机 （4）投影仪、电视 附：ES文件浏览器 连接Samba 5.frp+samba 6.加快读写速度 （0）分析瓶颈、测试硬盘 （1）网线直连 （2）换路由器 （3）修改smb.conf （4）其他 （5）后续 （6）总结 7.自动挂载硬盘 8.使用qBittorrent离线下载 附录：小米手机开启FTP服务器本文首发于个人博客https://lisper517.top/index.php/archives/16/，转载请注明出处。本文的目的是使用树莓派搭建NAS，可以远程访问云硬盘上的文件，并可进行离线下载。本文实验日期为2022年2月19日。使用的是树莓派4B（内存8G版），系统为Pi OS 32位桌面版（2022年1月28日更新，镜像名 2022-01-28-raspios-bullseye-armhf.img ）。frps运行在阿里云服务器（系统镜像Ubuntu 20.04）。本文使用Samba搭建NAS，而且并没有涉及UPS电源、RAID等，属于入门级NAS，感兴趣的可自行深造。Samba可以替换为FTP，或者懒得自建NAS也可以购买群晖等现成NAS。0.Samba的陷阱当你在windows中打开 我的电脑 ，此时打开的东西叫文件管理器（Windows Explorer）。从文件管理器向其它地方拷贝东西，WE会要求目标硬盘先创建一个同等大小的空镜像（内容全部为0的镜像），再填充数据；Samba会调用 ftruncate() 函数来创建，而该函数在FAT文件系统上运行奇慢，需要花很长时间才能创建好空白镜像，WE以为Samba卡死了，最终会返回0x8007003B错误（ 参考回答 ）。FAT文件系统创建空镜像这么慢，归根结底是不支持sparse file（稀疏文件），所以它创建空镜像时真的会在硬盘上挨个写入0；而支持sparse file的，直接指定空镜像文件的头尾区块、存在metadata中即可，不用管这些区块上原本是1还是0。在Samba的设置中有一项隐藏的默认值 strict allocate = no ，如果改成yes，当单个文件大小超过500MB，Samba自己就会要求先生成空镜像再填充数据（参考 wiki-Samba 的 SMB/SMB2 write activities 一节）。综上所述，不需要改Samba的配置，只要保证Samba挂载的不是FAT文件系统（exFAT、FAT32）而是ext4、NTFS就行了（ 参考回答 ）。先创建空镜像再写入，本意是好的，只是FAT执行坏了。1.树莓派下载安装samba输入apt install samba即可。一共安装了16个包（如果没有samba-common-bin则需手动下载）：attr libcephfs2 liburing1 python3-dnspython python3-gpg python3-markdown python3-requests-toolbelt python3-samba python3-tdb python3-yaml samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools2.配置sambasamba的配置文件为/etc/samba/smb.conf。在其中底部添加：[shared] path = /home/samba_user/shared #共享文件夹目录 valid users = samba_user writable = yes read only = no create mask = 0755 #创建文件时，权限为755（测试时发现不管改成什么，创建的文件都是755） directory mask = 0755 #创建目录权限为755（同上） #browseable = yes #无权限的人可看到资源名称另外在[global]下添加：security = user #设定安全等级保存退出，使用testparm检测samba设置有无语法错误。关于samba配置更多信息可参考这篇文章。安全方面，还可用hosts allow设置允许访问的主机、write list设置仅哪些用户可进行写操作。3.为samba绑定系统用户创建用户的命令可以参考 提升树莓派安全性 。这里新建一个用户samba_user，并创建共享文件夹：mkdir -p /home/samba_user/shared useradd -d /home/samba_user…

树莓派搭建个人博客
type: item
date: 2022-02-11T14:16:00+00:00
description: 步骤/目录： 1.静态博客 （1）windows机器安装hexo （2）树莓派安装nginx并在局域网访问 （3）修改frpc.ini并开放端口、公网访问 （4）写作并发布博文 （5）使用https协议与ssl证书 2.可评论的博客 （1）安装typecho依赖项并配置 （2）安装typecho （3）https设置 3.其他 （1）md生成摘要 （2）typecho添加备案号 （3）调整允许上传的附件大小本文首发于个人博客https://lisper517.top/index.php/archives/13/，转载请注明出处。本文的目的是搭建能从外网访问的个人博客。本文实验日期为2022年2月11日。使用的是树莓派4B（内存8G版），系统为Pi OS 32位桌面版（2022年1月28日更新，镜像名 2022-01-28-raspios-bullseye-armhf.img ）。frps运行在阿里云服务器（系统镜像Ubuntu 20.04）。1.静态博客由于树莓派性能较弱、不太适合部署hexo（当然也可以这样干），所以选择在windows机器上写作，生成静态网页后上传到树莓派用于访问。（1）windows机器安装hexo到nodejs官网下载安装node.js，注意不要额外安装其他工具，其中有新版python等，容易搞乱环境。然后在cmd中输入以下命令安装hexo：npm install -g hexo-cli（2）树莓派安装nginx并在局域网访问树莓派安装nginx：apt install nginx设置自开启并检查一下服务开启情况：systemctl enable nginx systemctl status nginxnginx已成功开启，状态为active。接下来打开80端口（若如后文一样使用了frp则这里也可以不打开，不过笔者需要从局域网访问，这里就打开了）：ufw allow 80 #没有装ufw的用其他工具打开访问默认界面：win10机器与树莓派连接到同一wifi下，win10机器在浏览器输入 树莓派本地ip 或 树莓派本地ip:80 即可看到nginx默认页面：#默认页面内容 Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.该页面文件在树莓派的/var/www/html下，名为index.nginx-debian.html。之后自己生成的静态页面也放在该文件夹下（不同的设备可能不一样，如果是刚装上的nginx，这个文件夹在/etc/nginx/sites-available/default中查看，root后）。（3）修改frpc.ini并开放端口、公网访问在树莓派上开启frpc、在云服务器上开启frps参考 树莓派+云服务器，gogs+frp搭建私有git 。其他教程中教的比较复杂，这里用最简单的方法设置frp。另外，以下操作前最好买一个域名（记得及时在工信部和公安局网站备案）。在树莓派的frpc.ini中添加服务：[pi4B-blog-http-1] type = tcp local_ip = localhost local_port = 80 remote_port = 80本例中的云服务器80端口并没有使用，所以可以直接用于frp穿透。之后检查一下端口，云服务器的80端口需要开放。记得云服务器的端口在防火墙中添加规则，不要直接运行ufw allow。另外，禁用树莓派的80端口只会使得局域网访问不可用，frp穿透还是在的（frp使得树莓派以为从公网访问80端口就是在本地访问80端口）。最后验证一下：浏览器访问买的域名（该域名已经绑定到服务器ip。没买域名就直接访问 服务器ip ），出现nginx默认页面即可。（4）写作并发布博文这里介绍一下hexo初次使用的步骤。在win10机器上打开命令行，进行如下操作：d: #进入D盘。想放在其他盘也可以 mkdir myblog #放博客的文件夹 cd myblog hexo init #开始搭建。可能会提示vulnerabilities，不用管。该命令只需要运行这一次 hexo new 标题 #新建一篇博文。所有博文都在myblog\source\_posts中 hexo s #…

在树莓派上设置frp穿透
type: item
date: 2022-02-10T03:38:00+00:00
description: 步骤/目录： 1.购买阿里云服务器，安装frp并配置frps服务器端 2.树莓派下载frp并配置frpc客户端 3.其他 4.设置frpc开机自启并开启服务 5.验证本文首发于个人博客https://lisper517.top/index.php/archives/11/，转载请注明出处。本篇文章的目的是使用公网ip地址访问树莓派的ssh和vnc。本文实验日期为2022年2月10日。使用的是树莓派4B（内存8G版），系统为Pi OS 32位桌面版（2022年1月28日更新，镜像名 2022-01-28-raspios-bullseye-armhf.img ）；云服务器为阿里云，系统镜像为Ubuntu 20.04。本文中的大多数操作在前文已经进行过，此处仅做总结。唯一新增之处是穿透vnc。另外要提醒，因为frp修改使得对被穿透端口的操作都发生在本地，所以即使禁用本地端口，还是可以从公网ip访问到本地端口。1.购买阿里云服务器，安装frp并配置frps服务器端首先介绍一下frp。frp分为frps（server）和frpc（client），其中frps运行在有公网ip的云服务器上，frpc运行在内网中的机器上。frp主要用于把内网机器的端口映射到云服务器端口，比如把内网机器的22端口（一般用于ssh）映射到云服务器的6000端口，那么访问云服务器的6000端口即可接入内网机器的ssh服务。如果有其他方法搞到公网ip，也可以跳过这一步。随便选择一个便宜的服务器，购买后安装镜像，这里选择的系统镜像是Ubuntu 20.04。在左侧 服务器运维-远程连接 中设置一下root账户密码，然后下载putty，通过putty连接：连接类型为SSH，端口为默认的22，主机地址填云服务器的ip地址。输入root和root密码后即登录到云服务器。目前frp最新版本为0.38.0（2021年10月25更新）。这里安装frp到/bin目录下（wget github速度慢可以换成gitee上的仓库）：cd /bin wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz tar -zxvf frp_0.38.0_linux_amd64.tar.gz mv frp_0.38.0_linux_amd64 frp cd frp nano frps.ini然后配置一下frps.ini：[common] bind_port = 7000 #frpc上也要有相同的token值 token = 你的密码 #配置log log_file = /var/logs/frps.log log_level = info log_max_days = 3 #frps统计板 dashboard_port = 7500 dashboard_user = wuhuqifei dashboard_pwd = wuhuqifei kcp_bind_port = 7000解读一下配置选项：bind_port是frp使用的端口；token是密码令牌；log是日志相关；dashboard是统计板，设置好以后，网页访问 服务器ip:7500 即可看到frps的统计情况，user和pwd分别设置统计板的用户名密码（不用太复杂，简单易记即可）。如果后面运行frps时显示没有frps.log文件，可以自己新建一个并chmod改一下权限（或者直接删掉log相关设置）。最后的kcp_bind_port是多消耗15%左右流量、降低tcp延迟的，不要也可以不加。详细配置可以参考frps_full.ini。配置完成后，需要打开云服务器相应端口。在 安全-防火墙 中新增规则，打开7000和7500端口（云服务器在此处打开，非云服务器则使用ufw、iptables等。云服务器用ufw会出问题）。附带一些github上常见问题：流量是否经过服务器中转？ 目前除了 xtcp 外，其他类型的内网穿透模式的流量都需要经过 frps 所在服务器中转。 网络传输速度慢是什么原因？ 由于流量需要经过服务器转发，所以传输速度的快慢取决于服务器的下行带宽和客户端的上行带宽，通常家用宽带的上行带宽较低，限制了出口的速度。 另外一种情况是服务器部署在国外的 VPS 上，丢包率较高，也会影响到传输速度。这种情况下可以考虑开启 kcp 传输模式。 开启加密和压缩会消耗一定的 cpu 资源，且影响到传输速度，具体影响情况取决于机器性能。 客户端连接失败，提示 authorization failed 出现这种情况说明鉴权失败，检查 frps 和 frpc 的配置文件中的 token 是否一致。 客户端连接失败，提示 a…

树莓派+云服务器，gogs+frp搭建私有git
type: item
date: 2022-02-04T16:00:00+00:00
description: 步骤/目录： 1.搭建局域网内的gogs （1）安装gogs的依赖项 （2）为gogs设置mariadb （3）为gogs新建系统用户并安装gogs （4）gogs初次登录设置 a. 数据库设置 b. localhost改为树莓派的局域网ip c. 设置管理员 d. 后续设置 （5）gogs最新版的问题 2.使用frp将gogs映射到外网 （1）购买阿里云服务器，安装frp并配置frps服务器端 （2）树莓派下载frp并配置frpc客户端 （3）其他 （4）设置frpc开机自启并开启服务 3.验证本文首发于个人博客https://lisper517.top/index.php/archives/8/，转载请注明出处。本篇文章的目的是搭建一个能从外网访问的，自己的git服务。本文实验日期为2022年2月5日。使用的是树莓派4B（内存8G版），系统为Pi OS 32位桌面版（2022年1月28日更新，镜像名 2022-01-28-raspios-bullseye-armhf.img ）；云服务器为阿里云，系统镜像为Ubuntu 20.04。1.搭建局域网内的gogs这里选用gogs，轻量级、适合树莓派。gitlab太大；gitea据说对树莓派也不错。（1）安装gogs的依赖项包括MySQL服务器和Git（顺便安装unzip）。简单介绍一下：Pi OS现在好像只有mariadb版的mysql，没有原版mysql了。即apt install能找到的只有mariadb-server而没有mysql-server。不过maria-mysql和mysql用起来可以说差别不大，都是一家兄弟。通过PuTTY登录树莓派，输入以下命令：apt install mariadb-server git unzip发现git和unzip已经默认安装且都是最新版，但mariadb出现问题。考虑到实验时间（2022年2月5日）距离4B系统发布时间（2022年1月28日）很近，估计是清华的源没来得及更新。添加上默认源后apt update一下，然后mariadb-server安装成功。（2）为gogs设置mariadb首先对mariadb进行基础设置：mysql_secure_installation首先需要输入root密码，但第一次进还没设置root密码，根据提示直接按回车。剩下的全选y，注意途中要设置root密码。感兴趣的可以仔细读一下。然后可以进入mysql，为gogs创建一个用户及database了：mysql -uroot -p输入密码，进入mysql命令行后，进行以下四步操作（创建gogs数据库，创建gogs用户，刷新权限，退出mysql命令行）：CREATE DATABASE gogs; GRANT ALL PRIVILEGES ON gogs.* TO 'gogsuser'@'localhost' IDENTIFIED BY '你的密码'; #只开放了gogsuser对gogs库的权限 FLUSH PRIVILEGES; QUIT另外，mariadb-server默认使用3306端口。我安装过ufw，使用ufw allow 3306打开该端口。如果不希望mariadb对外网开放，也可以不开放此端口（若使用了frp映射了树莓派的3306端口，则本地打不打开3306的意义不大，除非需要局域网访问）。（3）为gogs新建系统用户并安装gogs退出mysql命令行后，新建无法登录的用户git：adduser --disabled-login git这里还可以添加全名、电话等，此处全部留空。gogs默认需要用3000端口，我已预先安装过ufw，开放一下3000端口：ufw allow 3000（因为需要从本地查看gogs网页）。进入git用户的根目录，下载gogs（用cat /proc/cpuinfo命令发现树莓派CPU为ARM v7）：cd /home/git wget https://dl.gogs.io/0.12.3/gogs_0.12.3_linux_armv7.zip #建议不要下载最新版，可以选次新版 unzip gogs_0.12.3_linux_armv7.zip确保git用户对/home/git目录的权限：chown -R git:git /home/git设置gogs开机自启动，并重启gogs服务：cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/gogs.service systemctl enable gogs.service systemctl restart gogs.service最后检查一下gogs服务是不是active：systemctl …

frp+云服务器搭建能从外网访问的redis、mysql
type: item
date: 2022-01-30T16:00:00+00:00
description: 步骤/目录： 1.在windows笔记本上下载并配置redis-server 2.购买阿里云服务器，安装frp并配置frps服务器端 3.配置frpc客户端 4.开启服务并验证 5.附录：mysql+frp （1）修改配置 （2）创建远程连接用户 （3）赋予用户权限并刷新退出 （4）打开端口 （5）修改frpc.ini并开启frp本文首发于个人博客https://lisper517.top/index.php/archives/3/，转载请注明出处。本文实验日期2022年1月31日。采用windows笔记本（跑redis服务器）+阿里云服务器（系统镜像Ubuntu 20.04）1.在windows笔记本上下载并配置redis-serverredis官方不建议在windows下运行redis，所以并未提供windows版redis下载。有一些其他大神更新了windows版redis，以下推荐2个：首先是微软版redis。由微软方提供，于2016年7月1日更新了3.0.504版后停止更新。其次是tporadowski版redis（推荐）。由github用户tporadowski提供，目前最新版本为2021年10月18日更新的Redis 5.0.14 for Windows。（若遇到github网页无法打开，可在gitee上注册并导入仓库后下载）（根据runoob网站，Redis5.0新增了Stream数据结构，所以还是下新版的好）对于tporadowski版redis，下载.zip包，解压到安装目录即可。解压完毕后，打开Redis文件夹，编辑redis.windows.conf文件，需要修改3处：将bind 127.0.0.1行注释掉。这一行是仅允许从本地访问redis；用frp应该不用改，但是笔者需要在局域网中访问，所以还是打开了。 将protected-mode yes改为protected-mode no。老版本的redis可能没有这一行，如果没有则建议重新下载新版redis； 新增一行：requirepass 你的密码。由于redis的处理速度较快，建议密码设置的复杂一些。配置完成后，打开cmd命令行，cd到redis文件夹（也可以将redis文件夹添加到系统路径），输入redis-server redis.windows.conf，正常显示redis服务器端界面，即可。在linux下redis的配置也差不多，不同的是linux下redis的配置文件是redis.conf。2.购买阿里云服务器，安装frp并配置frps服务器端首先介绍一下frp。frp分为frps（server）和frpc（client），其中frps运行在有公网ip的云服务器上，frpc运行在内网中的机器上。frp主要用于把内网机器的端口映射到云服务器端口，比如把内网机器的22端口（一般用于ssh）映射到云服务器的6000端口，那么访问云服务器的6000端口即可接入内网机器的ssh服务。如果有其他方法搞到公网ip，也可以跳过这一步。随便选择一个便宜的服务器，购买后安装镜像，这里选择的系统镜像是Ubuntu 20.04。在左侧 服务器运维-远程连接 中设置一下root账户密码，然后下载putty，通过putty连接：连接类型为SSH，端口为默认的22，主机地址填云服务器的ip地址。输入root和root密码后即登录到云服务器。目前frp最新版本为0.38.0（2021年10月25更新）。这里安装frp到/bin目录下（wget github速度慢可以换成gitee上的仓库）：cd /bin wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz tar -zxvf frp_0.38.0_linux_amd64.tar.gz mv frp_0.38.0_linux_amd64 frp cd frp nano frps.ini然后配置一下frps.ini：[common] bind_port = 7000 #frpc上也要有相同的token值 token = 你的密码 #配置log log_file = /var/logs/frps.log log_level = info log_max_days = 3 #frps统计板 dashboard_port = 7500 dashboard_user = wuhuqifei dashboard_pwd = wuhuqifei kcp_bind_port = 7000解读一下配置选项：bind_port是frp使用的端口；token是密码令牌；log是日志相关；dashboard是统计板…