利用家里宽带提供对外服务,一般需要以下步骤
1、登陆光猫,并新建拨号pppoe方式,并设置为ipv4/ipv6方式,同时vlan模式设置为改写

2、登陆路由器,修改为拨号方式并填写好拨号账号和密码,同时设置好dmz方式(将局域网的设备(ipv4)暴露给外网)



3、登陆局域网设备,获取ipv6地址

4、通过域名后台,设置ipv6解析

利用家里宽带提供对外服务,一般需要以下步骤
1、登陆光猫,并新建拨号pppoe方式,并设置为ipv4/ipv6方式,同时vlan模式设置为改写
2、登陆路由器,修改为拨号方式并填写好拨号账号和密码,同时设置好dmz方式(将局域网的设备(ipv4)暴露给外网)
3、登陆局域网设备,获取ipv6地址
4、通过域名后台,设置ipv6解析
树莓派 4B 板载了 EEPROM 芯片,参数为 4MBits/512KB,通过 SPI 协议读写。出厂时已写入了 Boot loader(系统引导程序)。通常不需要自己手动管理系统引导程序。只在必要的时候,可以通过更新树莓派 EEPROM 中的引导程序获得新的功能(需要在树莓派官方系统下进行更新操作)。引导程序更新的方法如下。
1 | sudo apt update sudo apt upgrade# 安装更新工具 sudo apt install rpi-eeprom# 检测更新 sudo rpi-eeprom-update |
如果检测到了新版本,程序会提示「需要更新」。这时可以采用两种方式:
1、官方自动更新
1 | sudo rpi-eeprom-update -a |
更新完成重启即可。需要注意的是,此命令自动更新为正式版最新固件,如果需要更新到 beta 版本,可以采用下面这种方式。
2、自定义更新
获取树莓派最新的 EEPROM 固件。
1 | wget https://github.com/raspberrypi/rpi-eeprom/archive/master.zip # 解压下载的文件,然后进入相应的固件文件夹 unzip master.zip cd rpi-eeprom-master/firmware/critical/ |
在 firmware 文件夹中,beta 为测试版本,critical 为稳定版本,可自行选择,测试版固件请慎用,如果变砖了就很难恢复。用下面的命令更新固件。
1 | sudo rpi-eeprom-update -d -f 固件文件名 |
更新完成后会提示「更新完成」,然后重启树莓派就更新好了!
1 | sudo reboot |
frps端
sudo nano /lib/systemd/system/frps.service
服务端:
sudo nano /lib/systemd/system/frps.service
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/opt/soft/frp/frp_0.33.0_linux_amd64/frps -c /opt/soft/frp/frp_0.33.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
# 启动frps
sudo systemctl start frps
# 打开自启动
sudo systemctl enable frps
# 重启应用
sudo systemctl restart frps
# 停止应用
sudo systemctl stop frps
# 查看应用的日志
sudo systemctl status frps
# 停止开机自启动
systemctl disable frps
客户端:
sudo nano /lib/systemd/system/frpc.service
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/opt/soft/frp/frp_0.33.0_linux_amd64/frpc -c /opt/soft/frp/frp_0.33.0_linux_amd64/frpc.ini
[Install]
WantedBy=multi-user.target
frpc端
设置自定义域名
frps.ini
# frps.ini
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 80 #访问客户端web服务自定义的端口号
frpc.ini
# frpc.ini
[common]
server_addr = x.x.x.x #公网服务器ip
server_port = 7000 #与服务端bind_port一致
#公网通过ssh访问内部服务器
[ssh]
type = tcp #连接协议
local_ip = 192.168.3.48 #内网服务器ip
local_port = 22 #ssh默认端口号
remote_port = 6000 #自定义的访问内部ssh端口号[web]
type = http
local_port = 80 #内网web服务的端口号
custom_domains = www.yourdomain.com #所绑定的公网服务器域名,一级、二级域名都可以
#保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini &
#保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &
[Unit]
Description=frpc service
After=network.target
Wants=network.target
[Service]
#一开始没加这两行,frp总是起不来
Restart = on-failure
RestartSec = 5
#启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/home/pi/Downloads/frp_0.44.0_linux_arm/frpc -c /home/pi/Downloads/frp_0.44.0_linux_arm/frpc.ini
[Install]
WantedBy=multi-user.target
http://www.mixdiy.com/wp-content/uploads/2022/08/frp_0.44.0_linux_arm64.zip
http://www.mixdiy.com/wp-content/uploads/2022/08/frp_0.44.0_linux_arm.zip
http://www.mixdiy.com/wp-content/uploads/2022/08/frp_0.44.0_linux_386.zip
http://www.mixdiy.com/wp-content/uploads/2022/08/frp_0.44.0_darwin_amd64.tar
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 引入 PyScript -->
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<title>First PyScript Application</title>
<style>
py-script {
width: 100%;
height: 100%;
font-size: 20px;
text-align: center;
position: absolute;
}
</style>
</head>
<body>
<py-script>
print('Hello PyScript!')
</py-script>
</body>
</html>
pyscript参考