一次关于供别人视奸自己的网站部署
57

鼠鼠在家没事干无意中看到一个可以让别人视奸自己的项目,所以开始部署。也作为第一次写博客文章的素材。

第一步:创建虚拟机,过程跳过,配置如下

第二步:修改网络配置

将ipv4的配置改为手动,ip填写为192.168.6.105 子网掩码填写为255.255.255.0 网关填写为192.168.6.1

DNS改为手动,填写1.1.1.1,8.8.8.8 点击确定后重启虚拟机。

重启后打开网络配置,可以看到网络配置已修改完成。

第三步:安装依赖

验证python安装:python3

安装git

sudo apt update
sudo apt install git python3-pip

克隆仓库

sudo apt update && sudo apt upgrade git curl                            #更新 Git 和 curl

git clone --depth=1 -b main https://github.com/sleepy-project/sleepy.git        #克隆仓库

安装依赖

# 创建虚拟环境(例如在项目目录下) 
python3 -m venv .venv 
# 激活虚拟环境 
source .venv/bin/activate 
# 安装依赖包(现在 pip 会安装到虚拟环境中)
pip install -r requirements.txt

编辑配置文件

nano .env
sleepy_main_host = "0.0.0.0" # 监听地址

sleepy_main_port = "9010" # 端口号

sleepy_secret = "改成别人猜不出来的密钥" # 密钥,相当于密码

sleepy_page_user = "你的名字" # 将显示在网页中

sleepy_page_favicon = "./static/favicon.ico" # 网站图标, 可替换 static/favicon.ico 自定义 (也可以用其他格式的, 自己改路径)

sleepy_page_more_text = "欢迎来到我的状态页!" # 说两句? (也可以留空)

sleepy_page_using_first = true # 使用中设备优先显示

第四步:启动

启动项目

python3 start.py

可以使用192.168.6.105:9010访问到界面

添加自启动

创建systemd文件

sudo nano /etc/systemd/system/sleepy-server.service

写入

[Unit]
Description=Sleepy Python Server
After=network.target

[Service]
Type=simple

# 使用当前用户(root)或者确保jiexuan用户存在
User=root
Group=root
WorkingDirectory=/home/jiexuan/sleepy
ExecStart=/usr/bin/python3 server.py
Restart=on-failure
RestartSec=5s
StandardOutput=file:/var/log/sleepy-server.log
StandardError=file:/var/log/sleepy-server-error.log

[Install]
WantedBy=multi-user.target

重新加载并启动服务

#重新加载
sudo systemctl daemon-reload   
#重启服务
sudo systemctl restart sleepy-server 
#服务状态
sudo systemctl status sleepy-server

第五步:使用frp实现公网访问并添加ssl证书

首先在cloudflare添加记录

安装certbot

sudo apt update 

sudo apt install certbot python3-certbot-dns-cloudflare #以cloudflare为例

sudo certbot certonly --manual --preferred-challenges dns -d "status.jiexuan.xyz" #添加证书

登录你的 DNS 提供商控制台(如 Cloudflare、阿里云等)。

添加一条 TXT 记录,主机名为 _acme-challenge.example.com,值为 Certbot 提供的字符串。

等待 DNS 生效(可用 dig 检查):

dig -t txt _acme-challenge.example.com

出现这个界面代表证书创建成功

安装frp

# Linux x86_64 示例 

wget https://github.com/fatedier/frp/releases/download/v0.62.1/frp_0.62.1_linux_amd64.tar.gz 

tar -zxvf frp_0.62.1_linux_amd64.tar.gz 

cd frp_0.62.1_linux_amd64

配置frp

nano frpc.toml
serverAddr = "jiexuan.xyz" #改为你的公网ip
serverPort = 7000
auth.token = "qwerty" #改为你的token

[[proxies]]

name = "status"
type = "https"
customDomains = ["status.jiexuan.xyz"]

[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:9010"

# HTTPS 证书相关的配置
crtPath = "/etc/letsencrypt/live/status.jiexuan.xyz/fullchain.pem"
keyPath = "/etc/letsencrypt/live/status.jiexuan.xyz/privkey.pem"

hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"

启动frp

./frpc -c frpc.toml

提示[status] start proxy success证明你的frp配置成功

现在可以使用status.jiexuan.xyz访问sleepy

配置systemd

创建服务文件

sudo nano /etc/systemd/system/frpc.service

写入

[Unit]
Description=FRP Server Daemon
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/jiexuan/frp_0.62.1_linux_amd64
ExecStart=/home/jiexuan/frp_0.62.1_linux_amd64/frpc -c /home/jiexuan/frp_0.62.1_linux_amd64/frpc.toml
Restart=on-failure
RestartSec=5s
StandardOutput=file:/var/log/frps.log
StandardError=file:/var/log/frps-error.log

[Install]
WantedBy=multi-user.target

保存后退出

启用并启动服务

sudo systemctl daemon-reload

sudo systemctl enable frpc

sudo systemctl start frpc

检查状态

sudo systemctl status frpc

此时sleepy的服务端模块已经部署完成,感谢观看

一次关于供别人视奸自己的网站部署
https://blog.jiexuan.icu/archives/sleepy
作者
介轩の
发布于
更新于
许可