Aaron Li's Blog

In solitude, where we are least alone.

一名萌新程序员.


Learning everyday, let tomorrow be a better today.

蜗牛星际+Frp+Caddy+Cloudflare折腾记

一段时间没有折腾什么东西,感觉人都颓废了。

前一阵蜗牛星际炸雷了之后,网上很多小机箱搞的很火爆。鉴于一直想搞一个NAS但又苦于昂贵的价格,赶上这班车直接就剁了一个A款。

选择A款的原因,其实是因为便宜,在一个有个外面板不会直接漏硬盘在外面,网上有很多对比评测。

黑裙的系统是918(其实马爸爸家的卖家都会给装好),google上也有很多就不复读了。

下面正文开始。

1. 利用Frp内网穿透

迫于没有公网IP,以及黑裙,只能走反向代理的方式从外网访问,这时候Frp就很重要了。

要使用Frpc,首先需要安装docker,在套件中心的第三方中找到Docker,安装。

在Docker中的注册表搜索frpc,安装oldiy/frpc这一映像,详见使用说明

服务器端安装详见Frp 的 GitHub page

安装好之后frpc.ini以及vps上的frps.ini参考如下:

1 Port to Subdomain

对于有域名的同学,可以直接使用Frp将内网的端口映射到外网的subdomain,可以直接实现访问,由于黑裙的原因,证书申请有些问题,https访问会有insecure的提示,可以将local_port设置为5000走http访问(5000为默认Http端口,5001为默认Https端口,可以更改)。

NAS端配置文件:

[common]
server_addr = [your ip]
server_port = [your port]
token = [your token]
tcp_mux = true

[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
subdomain = nas

Server配置文件,默认路径/etc/frps/frps.ini,取决于frps解压路径:

[common]
bind_port = [your port]
log_file = ./frps.log
log_level = info
log_max_days = 3
token =  [your token]
max_pool_count = 50
tcp_mux = true
subdomain_host = your.domain

访问方式 https://nas.your.domain

2 Port to Port

对于没有域名(或想使用caddy申请证书)的同学,可以采用映射port的方法,配置文件如下。

NAS端配置文件:

[common]
server_addr = [your ip]
server_port = [your port]
token = [your token]
tcp_mux = true

[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
remote_port = 5001

Server配置文件,最后一行可有可无:

[common]
bind_port = [your port]
log_file = ./frps.log
log_level = info
log_max_days = 3
token =  [your token]
max_pool_count = 50
tcp_mux = true
#subdomain_host = your.domain

访问方式 https://[your ip]:5001

2. 利用Caddy反向代理

对于有域名又不想麻烦申请证书的同学,可以用Caddy做反向代理,使用上面Port to Port的方式。

Caddy的使用教程详见Caddy 的 Github page

简单的CaddyFile如下:

nas.your.domain {
    tls your@email.com

    proxy / https://127.0.0.1:5001 {
        insecure_skip_verify
    }
}

访问方式 https://nas.your.domain

3. 利用Cloudfare CDN加速

对于访问速度慢的VPS,或不想暴露真实IP的同学,可以使用CDN加速,这里推荐Cloudfare的免费CDN。

Caddy的安装文件需要在网站上定制(增加cloudflare的支持),在Download界面Plugin中添加dns.cloudflare

Caddy的配置文件也需要相应修改:

nas.your.domain {
    tls {
        dns cloudflare
    }

    proxy / https://127.0.0.1:5001 {
        insecure_skip_verify
    }
}

CloudFlare设置好DNS解析,并将Cloudflare nameservers加入到VPS的DNS nameserver中,详见Changing your domain nameservers to Cloudflare

访问方式 https://nas.your.domain

Reference

Frp 的 Github page
oldiy/frpc
Caddy 的 Github page
Changing your domain nameservers to Cloudflare

最近的文章

老电脑焕发第二春,Thinkpad X201i复活记

最近搞网络设备的时候发现手头没有什么趁手的机器,surface pro放在腿上特别扭,又想躺在床上不用台式机,就想起前阵子给父上买了个小米Air,淘汰下来的这台老Thinkpad X201i了。这台机器已经进不去系统了,在win7界面打转,电池也撑不了5分钟,风扇也哗啦啦的响。需要更换电池风扇,增加内存,更换SSD。1. 拆机换风扇首先是风扇,Thinkpad 都预留了更换内存、硬盘的开口,但更换风扇需要将主板整体拆下来。要想拆主板,首先要拆键盘,Thinkpad 背面螺丝标注的还是很好的...…

继续阅读
更早的文章

用 Windows Application 访问 UEFI variable

0. 前言参与过UEFI编程的同学可能会对“Variable”有所了解。现行的UEFI Spec 2.7 Chap 8.2详细描述了Variable Services。UEFI中很多module中都应用了Variable Service,作为一种Runtime Service,Variable可以向OS传递信息。那么在与OS联调的时候,如何在OS中读取Variable呢?本文将描述如何在Windows下读取和写入UEFI中的Variable(参考MFST的online doc Access...…

继续阅读
Top