首页
关于
Search
1
AdGuardHome 安装及部署教程
45,611 阅读
2
关于微软Azure学生白嫖指南
11,586 阅读
3
Oracle开放全部端口并关闭防火墙
11,320 阅读
4
搭建基于telegram的无限网盘
11,062 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,960 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
找到
119
篇与
admin
相关的结果
- 第 2 页
2025-01-08
google 证书申请教程
原文地址 https://certd.docmirror.cn/guide/use/google/1、启用 API 打开如下链接,启用 API https://console.cloud.google.com/apis/library/publicca.googleapis.com 打开该链接后点击 “启用”,随后等待右侧出现“API 已启用” 则可以关闭该页。 2、 获取授权 以下两种方式任选其一 2.1 直接获取 EAB 【推荐】 打开 “Google Cloud Shell”(在右上角点击激活 CloudShell 图标)。 等待分配完成后在 Shell 窗口内输入如下命令: gcloud beta publicca external-account-keys create 此时会弹出 “为 Cloud Shell 提供授权”,点击授权即可。 执行完成后会返回类似如下输出;注意不要在没有收到 Google 的邮件时执行该命令,会返回命令不存在。 Created an external account key [b64MacKey: xxxxxxxxxxxxxxxx keyId: xxxxxxxxxxxxx] 到 Certd 中,创建一条 EAB 授权记录,填写 keyId(=kid) 和 b64MacKey 信息 注意:keyId 没有]结尾,不要把]也复制了 注意:EAB 授权使用过一次之后,会绑定邮箱,后续再次使用时,要使用相同的邮箱 否则会报错 Unknown external account binding (EAB) key. This may be due to the EAB key expiring which occurs 7 days after creation 2.2 通过服务账号获取 EAB 此方式可以自动 EAB,需要配置代理 创建服务账号:创建服务账号 选择一个项目,进入创建服务账号页面 给服务账号起一个名字,点击创建并继续 向此服务账号授予对项目的访问权限: 选择角色->基本->Owner 点击完成 点击服务账号,进入服务账号详情页面 点击添加密钥->创建新密钥->JSON,下载密钥文件 将 json 文件内容粘贴到 certd 中 Google 服务授权输入框中
技术搬砖
# 证书
# google
# ssl
admin
1月8日
0
259
0
2025-01-06
十分钟搭建属于自己的信息流—FreshRSS
十分钟搭建属于自己的信息流—FreshRSS 原文地址:https://blog.laoda.de/archives/docker-compose-install-freshrss1. 前言 为什么要用 RSS? 因为它们提供了一种可定制的、无算法的方式来聚合和访问来自多个来源的内容,使我们能够高效管理信息过载,并在不受社交媒体干扰的情况下保持对自己感兴趣内容的更新。 2. 介绍 这一期我们来介绍另一个和 TinytinyRSS 类似的 RSS 管理服务——FreshRSS。 相较于 Tiny Tiny RSS,它有着更低的资源使用、更现代和用户友好的界面,以及更好的文档,使得对于技术能力较弱的用户来说,设置和维护更加容易。 图片 3. 相关地址 官方 GitHub 地址:https://github.com/FreshRSS/FreshRSS (目前 9.2k 个 star,欢迎大家去给项目点星星!) 4. 搭建环境 服务器:建议服务器内存 1G 以上 系统:Debian 11 安装好 Docker、Docker-compose 【必需】域名一枚,并做好解析到服务器上 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx 5. 搭建方式 5.1 安装 Docker 5.2 创建安装目录 创建一下安装的目录: sudo -i mkdir -p /root/data/docker_data/freshrss cd /root/data/docker_data/freshrss接着我们来编辑下docker-compose.yml vim docker-compose.ymlservices: freshrss: image: freshrss/freshrss:latest container_name: freshrss environment: - CRON_MIN=*/20 #每20分钟刷新一次 - TZ=Asia/Shanghai volumes: - ./data:/var/www/FreshRSS/data - ./extensions:/var/www/FreshRSS/extensions ports: - 8080:80 #左边的8080可以改成服务器上没有用过的端口 depends_on: - postgres restart: always postgres: image: postgres:alpine container_name: freshrss-postgres environment: - POSTGRES_USER=freshrss - POSTGRES_PASSWORD=freshrss #密码可以自己修改 - POSTGRES_DB=freshrss volumes: - ./freshrss-postgres-data:/var/lib/postgresql/data restart: always同样,修改完成之后,可以在英文输入法下,按 i 修改,完成之后,按一下 esc,然后 :wq 保存退出。 5.3 打开服务器防火墙(非必需)并访问网页 打开防火墙的端口 8080 如果你在 docker-compose 文件里换了 9009,这边就需要填 9009,以此类推 查看端口是否被占用(以 8080 为例),输入: lsof -i:8080 #查看 8080 端口是否被占用,如果被占用,重新自定义一个端口如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~ 如果出现: -bash: lsof: command not found运行: apt install lsof #安装 lsof如果端口没有被占用(被占用了就修改一下端口,比如改成 8381,注意 docker 命令行里和防火墙都要改) 5.4 启动 freshrss cd /root/data/docker_data/freshrss docker compose up -d # 注意,老版本用户用 docker-compose up -d等待拉取好镜像,出现 done的字样之后, 理论上我们就可以输入 http://ip:8080 访问了。 但是这边我们推荐先搞一下反向代理! 做反向代理前,你需要一个域名! 6. 利用宝塔面板反向代理 发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置: 直接新建一个站点,不要数据库,不要 php,纯静态即可 然后打开下面的配置,修改 Nginx 的配置。 image图片 代码如下: location / { proxy_pass http://127.0.0.1:8080/; # 注意改成你实际使用的端口 rewrite ^/(.*)$ /$1 break; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade-Insecure-Requests 1; proxy_set_header X-Forwarded-Proto https; } 7. 使用教程 建议参考官方配置文档:https://github.com/freshrssapp/freshrss/blob/main/docs/configuration.md 7.1 安装与配置 图片 图片 数据库信息 图片 主机记得填postgres,其他的按docker-compose.yaml里面的填 设置账号密码: 图片 安装成功! 图片 登录 图片 默认订阅了 Fresh RSS 的官方 GitHub 仓库的 releases 图片 这边我们不管,先来订阅一下咕咕的博客,最近视频更新进度缓慢,但是博客还是会经常更新的,订阅了博客的 RSS 之后,只要我一更新博客,你就能第一时间看到啦! 以咕咕的博客为例子,添加博客的 RSS:https://blog.laoda.de/rss.xml 图片 “订阅管理”——“添加订阅源或分类” 可以先给分类起个名字,比如 “个人博客” 图片 然后再次点击 “添加订阅源” 图片 输入咕咕博客的 RSS:https://blog.laoda.de/rss.xml 图片 图片 点击左上角 FreshRSS 的图片,就能回到首页了, 可以看到已经订阅成功! 图片 7.2 扩展下载 FreshRSS 还有很多扩展可以下载, 图片 你可以选择合适的扩展进行下载。 图片 有一个吐槽的点是,这个下载是要手动的... 扩展的 GitHub 仓库:https://github.com/FreshRSS/Extensions 扩展的下载地址:https://github.com/FreshRSS/Extensions/archive/master.zip 基本上就是这个包,我们上传到服务器里。(当然你可以直接用服务器来下载,这样就省得上传这个步骤了) 图片 7.2.1 直接命令行操作(二选一) cd /root/data/docker_data/freshrss/extensions/ wget https://github.com/FreshRSS/Extensions/archive/master.zip unzip master.zip cd Extensions-master mv /root/data/docker_data/freshrss/extensions/Extensions-master/* /root/data/docker_data/freshrss/extensions/然后记得重启一下容器: cd /root/data/docker_data/freshrss docker compose down docker compose up -d7.2.2 如果你用的是 finalshell 的话(二选一) 上传插件 图片 使用 unzip 命令来解压缩, 图片 移动到我们制定的文件夹里 mv /root/data/docker_data/freshrss/extensions/Extensions-master/* /root/data/docker_data/freshrss/extensions/刷新 图片 7.3 配置 API 允许手机访问, image图片 设置一个 API 密码, image图片 手机端,IOS 推荐用 Reeder,安卓推荐 Read You 注意手机 app 登录的时候,末尾还要加上greader.php 比如:https://xxxxx.com/api/greader.php image图片image图片 7.4 更新 freshrss cd /root/data/docker_data/freshrss docker-compose pull docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。 docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像提示: WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N]输入 y 利用 Docker 搭建的应用,更新非常容易~ 7.5 卸载 freshrss 同样进入安装页面,先停止所有容器。 cd /root/data/docker_data/freshrss docker-compose down cd .. rm -rf /root/data/docker_data/freshrss # 完全删除可以卸载得很干净。 参考资料 官方 GitHub:https://github.com/FreshRSS/FreshRSS
默认分类
# docker
# RSS
# FreshRSS
admin
1月6日
0
230
0
2025-01-06
用 FRP 配置 toml 文件搭建内网穿透
用 FRP 配置 toml 文件搭建内网穿透 需求场景 1、一台外网可访问的有固定 ip 的云服务器 2、一台外网无法访问的无固定 ip 的本地家用电脑 需求:将云服务器搭建为一台内网穿透服务器,实现通过外网访问家用电脑(网页)的功能。且即使没有域名也可通过公网访问。 下载软件 GitHub:https://github.com/fatedier/frp releases 页面:https://github.com/fatedier/frp/releases 官方文档:https://gofrp.org/zh-cn 根据自己实际情况选择,家用电脑和服务器都是 x64 架构。 图片 上传软件 个人习惯先分别在云端和本地的 ubuntu 的 /etc 目录下新建 frp 目录用来存放 frp 文件。 解压后,在家用电脑端保存frpc和frpc.toml文件,在云服务器端保存frps和frps.toml文件。 frp 软件在 0.52.0 版本开始支持 toml 格式的配置文件,在后继版本取消 ini 配置格式。 图片 服务端设置 云端放行端口 frp 服务端口:7000(可自定义) frp 控制面板端口:7500(可自定义) 要在两个地方放行: 1、 是云服务器提供商设置的防火墙放行端口, 图片 2 是服务器操作系统 Ubuntu 端口也要放行 # 添加监听端口 sudo firewall-cmd --permanent --add-port=7000/tcp # 添加管理后台端口 sudo firewall-cmd --permanent --add-port=7500/tcp sudo firewall-cmd --reload如果用的宝塔面板,在安全里设置: 图片 如果端口不放行后面会报无法连接错误: connect: no route to host 云端配置文件 frp.toml bindPort = 7000 # frp服务的特定端口,防火墙也需放开该端口 # 服务面板可查看frp服务状态信息 webServer.addr = "0.0.0.0" # 后台管理地址,默认是127.0.0.1,如果是公网访问则改成0.0.0.0 webServer.port = 7500 # 后台管理端口 webServer.user = "admin" # (可选)后台登录用户名 webServer.password = "admin" # (可选)后台登录密码 #transport.tls.force = true # 服务端将只接受 TLS链接 #auth.method = 'token' # 客户端访问验证方式 #auth.token = "54321" # 客户端访问验证密码,frpc要与frps一致 # 自定义的监听的端口,所有对服务器该端口访问将被转发到本地内网,做了反向代理可不处理防火墙放行 #vhostHTTPPort = 8000 #vhostHTTPSPort = 45443启动服务端 方式一:直接启动 服务器端,传统的启动方式是直接敲命令: 先 cd 到 frps 所在目录 ./frps -c ./frps.toml & 这么写,比较麻烦,而且如果要停止进程也比较麻烦,建议采用构建成服务的方式。 方式二:以服务方式启动(推荐) 安装 systemd,通常情况下系统都带得有,没有的情况下使用如下命令安装。 使用 yum 安装 systemd(CentOS/RHEL) yum install systemd使用 apt 安装 systemd(Debian/Ubuntu) apt install systemd 创建 frps.service 服务 创建并编辑该文件 sudo vim /etc/systemd/system/frps.service 写入内容 [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动命令,改为实际存放frps的路径 ExecStart = /path/to/frps -c /path/to/frps.toml [Install] WantedBy = multi-user.target以服务的方式管理 frps # 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps # 设置为开机自启 sudo systemctl enable frps验证服务端是否启动成功 访问:http:// 服务器 IP: 后台管理端口” ,输入用户名和密码可以查看连接状态 如:http://62.244.114.4:7500/, 用户名和密码分别对应 frps.toml 文件中的 webServer.user = "admin" webServer.password = "admin" 登录之后 frp 控制面板界面如下: 图片 如果上述步骤没有问题,则说明 frp 的服务端配置成功了,也就意味着内网穿透你已经成功了一半 客户端设置 配置文件frpc.toml 客户端,编辑frpc.toml文件: # frpc.toml transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true serverAddr = "47.76.92.71" # 服务端ip serverPort = 7000 # 服务端端口 auth.method = 'token' # 客户端访问验证方式 auth.token = '54321' # 客户端访问验证密码 [[proxies]] name = "dy_mysql" # 客户端服务名 type = "tcp" # 通讯方式 localIP = "127.0.0.1" # 客户端的ip(固定) localPort = 3306 # 客户端服务端口 remotePort = 13306 # 映射到服务端端口(服务器需放行) [[proxies]] name = "dy_video" # 客户端服务名_一个监控摄像头 type = "tcp" # 通讯方式 localIP = "192.168.6.8" # 客户端的ip(固定) localPort = 5522 # 客户端服务端口 remotePort = 15522 # 映射到服务端端口(服务器需放行) [[proxies]] name = "test-http" type = "tcp" localIP = "127.0.0.1" # 需要暴露的服务的IP localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口 remotePort = 6060 # 暴露服务的公网入口 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000 #customDomains = ["xxx.xxx.xxx.xxx"] [[proxies]] name = "web" type = "http" localPort = 80 #customDomains = ["域名"] [[proxies]] name = "web-80" type = "https" localPort = 45443 #customDomains = ["cloud.your-service.com"]运行启动 客户端运行及加入自动启动也参考服务端,唯一不同的是客户端运行需要使用 frpc -c frpc.toml 穿透测试 现在可以通过外网直接用 ip + 端口访问家中这台电脑提供的服务了,当然原理上是通过云服务器的端口中转的。 可以在家中电脑上继续搭建 NAS 系统,搭建自己的博客网站。 如果是通过域名访问网站,在国内是需要备案的。 用 docker 部署 frp 服务端 云服务器 ubuntu 配置文件 frps.toml bindPort = 7000 # The default value is 127.0.0.1. Change it to 0.0.0.0 when you want to access it from a public network. webServer.addr = "0.0.0.0" webServer.port = 7500 # dashboard's username and password are both optional webServer.user = "admin" webServer.password = "admin" vhostHTTPPort = 8080启动脚本 serverstart.sh #!/bin/bash FRP_DIR=`pwd` docker stop frps docker rm frps docker run -d \ --restart always \ --network host \ --name frps \ -v ${FRP_DIR}/frps.toml:/etc/frp/frps.toml \ snowdreamtech/frps运行 # frpc.toml serverAddr = "192.168.1.132" serverPort = 7000 [[proxies]] name = "ssh" type = "tcp" localPort = 22 remotePort = 6022客户端 本地电脑 ubuntu 配置文件 frpc.toml #!/bin/bash FRP_DIR=`pwd` docker stop frpc docker rm frpc docker run -d \ --restart always \ --network host \ --name frpc \ -v ${FRP_DIR}/frpc.toml:/etc/frp/frpc.toml \ snowdreamtech/frpc启动脚本 clientstart.sh #!/bin/bash FRP_DIR=`pwd` docker stop frpc docker rm frpc docker run -d \ --restart always \ --network host \ --name frpc \ -v ${FRP_DIR}/frpc.toml:/etc/frp/frpc.toml \ snowdreamtech/frpc运行 ./clientstart.sh上述配置是一个把内网 ssh 服务的 22 号端口映射到公网的 6022 端口, 执行命令 ssh -p 6022 192.168.1.132即可从外网访问内网 ssh 服务 注: 用公网 ip 替换 192.168.1.132 其它问题 端口占用冲突 如果你用的端口被系统保留了不让用,就得换其它端口 可以通过如下命令查看保留的端口范围 netsh interface ipv4 show excludedportrange protocol=tcp 云服务器商的控制面板和 ubuntu 系统中都要放行防火墙端口 相关引用 用 FRP 配置 toml 文件搭建内网穿透 杂记 | 使用 FRP 搭建内网穿透服务(新版 toml 配置文件,搭配反向代理食用)_frps.toml-CSDN 博客 如何使用 docker+frp 进行内网穿透_docker_脚本之家 内网穿透!如何配置 frp 新版 0.56.0 的配置文件. toml:提供 web、samba、ssh 远程连接示例_frp 0.56-CSDN 博客 内网穿透工具 frp 原理和使用教程 - CSDN 博客
默认分类
# FRP
# 内网穿透
# toml
admin
1月6日
0
149
0
2025-01-05
小白和懒人专属的 IPTV 直播源
原文地址 https://laosu.tech/2025/01/02/%E5%B0%8F%E7%99%BD%E5%92%8C%E6%87%92%E4%BA%BA%E4%B8%93%E5%B1%9E%E7%9A%84IPTV%E7%9B%B4%E6%92%AD%E6%BA%90/什么是 doubebly/doube-itv ? doubebly/doube-itv 是一个只包含 itv 的 IPTV 源,拉取运行就能用,不含任何广告,总共有 530 个有效频道。主要特点: 多平台支持:基于 Docker,支持 linux/amd64、linux/arm64 、linux/arm/v7 架构。 易于部署:可通过 Docker 命令快速部署,无需复杂的安装过程。 易于使用:可通过简单的 URL 直接访问 IPTV 源,方便快捷。 兼容性强:可以在多种 IPTV 播放器上使用,适合不同设备。 doubebly/doube-itv 支持两种格式: M3U:一种常见的播放列表格式,允许用户通过兼容的播放器访问多个频道。 TXT:文本格式的播放列表,通常用于简化的频道列表。 doubebly/doube-itv 是一个方便的 IPTV 源,适合希望通过互联网观看多种电视节目的用户,。 在群晖上以 Docker 方式安装。 在注册表中搜索 doubebly ,选择第一个 doubebly/doube-itv,版本选择 latest。 本文写作时, latest 版本对应为 1.0.4;图片 端口 本地端口不冲突就行,不确定的话可以用命令查一下 netstat -tunlp | grep 端口号图片 命令行安装 如果你熟悉命令行,可能用 docker cli 更快捷 docker run -d \ --restart unless-stopped \ --name doube-itv \ -p 5077:5000 \ doubebly/doube-itv:latest也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件 version: '3' services: doube-itv: image: doubebly/doube-itv:latest container_name: doube-itv restart: unless-stopped ports: - "5077:5000"然后执行下面的命令 mkdir -p /volume1/docker/doube-itv cd /volume1/docker/doube-itv docker-compose up -d运行 在浏览器中输入 http://群晖IP:5077 就能看到提示 图片 输入 http://群晖IP:5077/help 可以看到 txt 和 m3u 的订阅链接 图片 将上面的 http://192.168.0.197:5077/Sub?type=m3u 导入播放器 图片 doubebly/doube-itv - Docker Image | Docker Hub 地址:https://registry.hub.docker.com/r/doubebly/doube-itv/ Telegram: Contact @livednowgroup 地址:https://t.me/livednowgroup/316632
默认分类
# iptv
# 直播源
admin
1月5日
0
1,340
0
2024-12-27
解决 WordPress 将您重定向的次数过多
解决 WordPress 将您重定向的次数过多 原文地址 https://yongwp.com/2143.html“WordPress 将您重定向的次数过多”,这个问题一般出现在 两种情况下面,先确定自已是那种情况导致的然后根据对应情况操作 一、安装配置 SSL 证书导致 新安装的一个 wordpress 站点配置 https(SSL 安全证书)后,再登录 wordpress 后台,却无法访问后台了 WordPress 外贸建站在这里为您分享 wordpress 网站开启 https 后台提示将您重定向的次数过多的解决方法如下: 通过在线空间管理面板的文件管理或者 FTP 工具在网站根目录下的 wp-config.php 加入以下代码,即可完美解决此问题了,一般加在 define('WP_DEBUG', false);后方 image图片 $_SERVER['HTTPS'] ='on'; define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);二、网站改域名的时候只改了一个 在 Wordpress 网站后台—> 设置—> 常规给域名加上 www 或者 删除 www 的时候只删除了一个出现如下图情况, 图片 这时候后台是无法进入的只能通过 phpmyadmin 或者其他数据库管理工具,去到数据库管理面板对应的 xxx_options, siteurl 和 home 的值改成一致的记得带上 http:// 或者 https:// 域名前缀,保存即可正常访问 图片
技术搬砖
# wordpress
# 重定向
admin
1年前
0
29
0
2024-12-27
Linux 临时和永久修改 DNS 方法
Linux 临时和永久修改 DNS 方法 原文地址 https://zhucaidan.xyz/2021/01/419/方法一(临时修改,重启失效) 修改下面文件: vi /etc/resolv.conf加入想要修改的 DNS: nameserver 1.1.1.1 nameserver 8.8.8.8如果多个 DNS,就一行一个,修改之后保存退出即可; 此方法修改后即刻生效,但重启后失效 方法二(生成钩子阻止 DHCP 修改 resolv.conf) Debian/Ubuntu 下生成 nodnsupdate 文件: vim /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate按 i 键粘贴以下代码后 :wq 保存: #!/bin/sh make_resolv_conf(){ : }给文件 nodnsupdate 添加可执行权限: chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate重启系统,现在你就可以修改 /etc/resolv.conf 文件而且不会担心被回滚了。 方法三(写保护锁定 resolv.conf 文件) rm -f /etc/resolv.conf editor /etc/resolv.conf填写上指定的 DNS 服务器: nameserver 1.1.1.1 nameserver 1.0.0.1chattr +i /etc/resolv.conf此时 resolv.conf 文件的内容就会被锁定不会被重启覆盖,想要解锁的话运行: chattr -i /etc/resolv.conf修改完保存了并不是立即生效的。输入下面命令使配置生效: 使网卡配置生效 /etc/init.d/networking restart使 DNS 生效 /etc/init.d/resolvconf restart查看是否已经生效: 如果已经变成了你设置的 DNS,那就设置成功了。 四、nslookup 解析命令: 安装 nslookup: #Ubuntu apt-get install dnsutils#Debian apt-get update apt-get install dnsutils#Centos yum install bind-utils使用方法: nslookup www.baidu.comnslookup 你需要解析的域名示例: root@ubuntu:~# nslookup www.baidu.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. www.a.shifen.com canonical name = www.wshifen.com. Name: www.wshifen.com Address: 104.193.88.77 Name: www.wshifen.com Address: 104.193.88.123
技术搬砖
# NameServer
# DNS解析
admin
1年前
0
28
0
2024-12-04
Linux快速部署qbittorrent
Linux快速部署qbittorrent 原文地址 https://lala.im/9334.htmlqbittorrent-nox-static 项目是一个 bash 脚本,这个脚本可以编译出完全静态的 qbittorent-nox 二进制文件,这就意味着可以在任意的 Linux 操作系统上使用 qbittorent-nox。文档DOC 同时项目作者会定期发布编译好的 qbittorent-nox 二进制文件,不需要我们自己去用脚本编译,要使用的话,基本操作就相当于是下载给个执行权限运行就可以了。 我喜欢用这种方式安装 qbittorrent-nox 的原因是更新简单,有新版本了下载新的二进制文件替换掉旧的就行,并且可以自由选择 libtorrent 的版本,作者每次发布新的 qbittorrent-nox 都会提供依赖于 libtorrent1.2 或 libtorrent2.0 的两个版本。有人说 1.2 好,有人说 2.0 好,反正切换来去自由 = = 安装部署 下载 qbittorent-nox 二进制文件、给执行权限: curl -L https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/x86_64-qbittorrent-nox -o /usr/local/bin/qbittorrent-nox chmod +x /usr/local/bin/qbittorrent-nox手动运行一次,按个回车同意软件使用条款: ./usr/local/bin/qbittorrent-nox --webui-port=10000注意事项: 1、由于我的服务器 8080 端口被占用了,这里我把端口修改成 10000 了,请注意这个修改是永久生效的,qbittorent 会把这个端口信息写到配置文件里面,所以下次启动的时候就不需要指定–webui-port 了。 2、较新版本的 qbittorrent 将 Web UI 的管理员密码改为随机生成了,并且是直到你在 Web UI 手动设置好管理员密码后才停止随机生成,也就意味着如果你不在 Web UI 里面设置管理员密码,那么 qbittorrent 每次启动的时候都会使用随机生成的管理员密码; 3、所以这次启动生成的随机密码会在服务状态打印出来,在你按 Ctrl+C 停止运行后就失效了,因此启动成功后使用IP:1000访问,默认账号是admin,密码是随机的,登录后修改密码保存后再按Ctrl+C 停止运行 别忘了设置管理员密码: 图片 增加开机守护程序 新建 systemd 配置文件: vim /etc/systemd/system/qbittorrent.service写入如下配置: [Unit] Description=qBittorrent Command Line Client After=network.target [Service] Type=forking User=root Group=root UMask=007 ExecStart=/usr/local/bin/qbittorrent-nox ExecStop=/usr/bin/kill -w qbittorrent-nox Restart=on-failure TimeoutStopSec=1800 [Install] WantedBy=multi-user.target添加开机启动并立即启动qbittorrent systemctl daemon-reload # 载入配置文件 systemctl enable qbittorrent # 设置开机启动 systemctl start qbittorrent # 启动qbittorrent服务 systemctl status qbittorrent # 查看qbittorrent服务状态查看随机生成的管理员密码: journalctl -u qbittorrent-noxqbittorrent-nox 配置文件均在如下目录: /root/.config/qBittorrent[可选] 安装 VueTorrent 主题: cd /root/.config/qBittorrent curl -L https://github.com/VueTorrent/VueTorrent/releases/download/v2.15.0/vuetorrent.zip -o vuetorrent.zip unzip vuetorrent.zip启用备选 Web UI,路径填写:/root/.config/qBittorrent/vuetorrent 图片
默认分类
# qbittorent-nox
admin
1年前
0
111
0
2024-12-02
使用Watchtower自动更新Docker镜像
使用Watchtower自动更新Docker镜像 __imgapi.cn__5c9c2dac47679.jpg 1920×1080图片 使用 Docker 可以迅速在 VPS 上运行服务,而不用配置和修改环境。Docker 服务的更新通过拉取最新镜像实现,当运行的 Docker 数目多了之后,保持镜像最新就成为了一项琐碎的工作。使用 Watchtower 可以便捷地监控 Docker 服务是否有最新镜像,自动拉取最新镜像、更新服务并删除旧有镜像。 Docker compose 是用于定义和运行多容器 Docker 应用程序的工具。在配置好 docker-compose.yml 文件后,使用 docker compose up -d 即可方便上线服务,我的全部 Docker 服务都使用这一方式部署。 以下是 Watchtower 的 docker-compose.yml 文件设置。 Docker Compose 文件 version: "3.3" services: watchtower: image: containrrr/watchtower:latest container_name: watchtower restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - TZ=Asia/Shanghai - WATCHTOWER_DEBUG=true - WATCHTOWER_CLEANUP=true - WATCHTOWER_SCHEDULE=0 0 4 * * ? # - WATCHTOWER_POLL_INTERVAL=43200其中,WATCHTOWER_SCHEDULE 和 WATCHTOWER_POLL_INTERVAL 均为设置 Watchtower 运行频次的指令,两个方式任选一个。前者使用 Cron 格式,在固定时间运行;后者的单位为秒 (S),经过固定时间间隔运行。 设置 Watchtower 通知服务 Watchtower 使用 Shutrrr 发送通知。以下为设置 Telegram bot 通知: - WATCHTOWER_LIFECYCLE_HOOKS=True - WATCHTOWER_NOTIFICATIONS=shoutrrr - WATCHTOWER_NOTIFICATION_URL=telegram://bot_token@telegram/?channels=user-id 通过 @BotFather 创建自己的通知机器人,并获取 bot_token 通过 @GetIDs Bot 获取 user-id 推荐 IOS 用户使用 Bark 设置通知 [*]: - WATCHTOWER_LIFECYCLE_HOOKS=True - WATCHTOWER_NOTIFICATIONS=shoutrrr - WATCHTOWER_NOTIFICATION_URL=bark://:devicekey@host/path使用邮件通知服务 - WATCHTOWER_LIFECYCLE_HOOKS=True - WATCHTOWER_NOTIFICATIONS=email - WATCHTOWER_NOTIFICATION_EMAIL_FROM= #设置通知邮件的发件人 - WATCHTOWER_NOTIFICATION_EMAIL_TO= #设置通知邮件的收件人 - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com #SMTP 服务器 - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 #SMTP 服务器端口 - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER= - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD= - WATCHTOWER_NOTIFICATION_EMAIL_DELAY= #发送通知前的延迟时间,以秒为单位设置部分 Docker 禁止更新 1、在不希望被 Watchetower 监控更新的 Docker 容器中添加**环境变量: WATCHTOWER_LABEL_ENABLE=false或者添加容器标签: com.centurylinklabs.watchtower.enable=false2、当无法设置标签时,可以在Watchetower容器中设置环境变量来排除特定的容器,变量填写需要禁止更新的容器名称,用逗号或空格隔开 WATCHTOWER_DISABLE_CONTAINERS=测试 Watchtower 由于 Watchtower 的默认轮询间隔为 1 小时,因此可能需要等待一段时间才能看到自动更新效果。可以手动触发 Watchtower 的轮询以立即检查是否有更新。可以使用以下命令来手动触发 Watchtower docker exec -it watchtower /watchtower --debug --run-once nginx推荐阅读 Watchtower 官方手册 Watchtower 通过 telegram 发通知
默认分类
# docker
# Watchtower
admin
1年前
0
386
0
2024-10-08
Serv00部署f4pan
F4Pan,是一个获取百度网盘下载链接的工具,需要自备SVIP会员,免客户端下载 Serv00,提供永久免费虚拟机服务图片 创建 serv00 账号 访问:https://serv00.com 准备好google邮箱 使用干净的 ip,如果出现无法创建的,及时切换 ip 图片 设置账号 打开自有程序运行开关 图片 创建 redis 端口 图片 创建 mysql 图片 连接服务器并配置 连接 ssh,并配置启动 redis mkdir ~/redis cd ~/redis fetch https://raw.githubusercontent.com/antirez/redis/6.2/redis.conf修改配置 找到~/redis/redis.conf 中源配置的 bind,port 并注释掉 然后在文件底部插入下面内容 # 监听地址 bind 0.0.0.0 # 设置密码 requirepass password # 设置最大客户端数 maxclients 1468 # 外部访问先在https://panel2.serv00.com/port/管理面板创建端口 port 管理面板创建的端口 unixsocket /usr/home/用户名/domains/域名/redis.sock图片 后台启动 screen redis-server redis.conf或者: nohup redis-server ~/redis/redis.conf安装部署F4pan cd ~/domains/域名/ wget https://github.com/f4team-cn/f4pan/releases/download/v1.2.0-Releases/F4Pan-complete-1.2.0.zip unzip F4Pan-complete-1.2.0.zip rm F4Pan-complete-1.2.0.zip图片 安装库 composer install图片 固定 php 版本 vim .htaccess按下字母i,粘贴下列代码:然后按下ESC,:wq,保存并退出 AddType application/x-httpd-php81 .php图片 添加伪静态 cd /usr/home/用户名/domains/域名 rm -rf public_html mv public public_html cd public_html rm .htaccess vim .htaccess将下面的配置写入 # 启用重写引擎 RewriteEngine On # 拒绝访问 /runtime 和 /application 路径 RewriteRule ^(runtime|application) - [F,L] # 重写规则,将 /api 路径重写为 /index.php?s=路径 RewriteRule ^api(.*)$ /index.php?s=api$1 [QSA,PT,L] # 尝试加载 URI,若不存在则加载 index.html RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.html [L] # 设置默认文档 DirectoryIndex index.html重设运行目录 图片 图片 改成: /usr/home/用户名/domains/域名/public_html:/tmp:/usr/share:/usr/local/share:/dev:/usr/home/用户名/domains/域名:/tmp:/usr/share:/usr/local/share:/dev访问http://域名/#/install 图片 配置数据库 图片 配置 redis 去后台找到之前配置的 redis 端口 图片 配置账号信息 Cookie只需要百度网盘两个参数—格式:BDUSS=XXXX; STOKEN=XXXX; 图片 安装成功
技术搬砖
# 百度云盘
# serv00
# F4pan
# 直链
# 解析
admin
1年前
0
458
0
2024-10-04
最全冰川地貌知识
图片 在高山和高纬地区,气候严寒,年平均温度在 0℃以下,常年积雪,当降雪的积累大于消融时,地表积雪逐年增厚,积雪逐渐变成粒雪,再由粒雪变成微蓝色的冰川冰。冰川冰受自身重力作用或冰层压力作用沿斜坡缓慢运动,就形成冰川。 地表经受过冰川强烈的塑造,形成一系列冰川地貌。 一、冰川和冰川作用 1、雪线 雪线:在高山和高纬地区,地表年降雪的积累量和年消融量相等的界线。(常年积雪区的下界) 图片 山区的积雪面积和高度随季节变化,冬季积雪区扩大,积雪高度下降。夏季积雪区缩小,积雪高度上升。 在雪线以上为多年积雪区,雪线以下为季节积雪区。(雪线的高度是寒冷气候地貌的一条重要界线,冰川形成在雪线以上,一个地方的高度如果低于该区的雪线高度,就不能形成冰川。) 决定雪线高度的主要因素: 温度 形成多年积雪,首先取决于近地面空气层的温度是否长期保持在 0℃以下。 气温影响雪线高低示意图图片 气温随高度和纬度而变化,低纬雪线位置较高,高纬雪线位置较低。从低纬向高纬的雪线高度变化并不是一条直线,还受降水量多少的影响。 降水量 地球上雪线位置最高不在赤道,而在南北半球的副热带高压带。 降水影响雪线高低示意图图片 迎风坡降水多、雪线低;背风坡降水少,雪线高 赤道附近降水量多,副热带高压带降水量较少,但这两个地区的温度对雪线的影响不如降水量影响大,所以赤道附近的雪线高度要比副热带高压带低。 南美洲赤道与回归线附件雪线高低示意图图片 地形(坡形、坡向) 在同一朝向的山坡,缓坡较陡坡更易积雪而雪线降低。 不同坡度积雪示意图图片 坡向主要影响降水和日照而使雪线高度变化。 如喜马拉雅山南坡雪线高度为 4400-4600m,北坡为 5800-5900m,这是因为高大的山体阻挡了从印度洋来的气流,在南坡降水量多,雪线位置低,北坡降水量少,雪线位置高。 喜马拉雅山南北坡雪线高度示意图图片 另外,在北半球大陆性较强的地区,南北山坡降水量变化不大的山地,南坡雪线比北坡雪线要高,因为南坡向阳,融雪快,雪线位置高,北坡背阳,融雪慢,雪线位置低。 天山的南坡雪线高于北坡示意图图片 2、冰川形成过程 积雪变成冰川:是先由新雪变成粒雪,再由粒雪变成冰川冰,最后形成冰川。 冰川冰形成示意图图片 高纬、极地区:气候严寒,新雪降落地表后,在升华再结晶作用下,雪花棱角很快消失、变圆,成为粒雪,并使粒雪层发生沉陷作用。随雪盖厚度的增加,下部粒雪层受压加大,重结晶作用,致使各晶体相互紧密地结合起来,形成块状冰川冰。(这种成冰过程速度缓慢,南极中央 200 余米深处的冰体,已经历了近千年的历史。匠心地理) 中低纬度高山区:夏季气温高,冰雪融水的渗透再冻结作用,加速了粒雪化和成冰作用过程,甚至当年就有成冰作用的条件,形成的冰川冰。一般比极地区冰川的密度大、透明度高。 冰川冰:是冰晶的聚合体。它在低温条件下,冰晶体相互之间结合十分紧密。 当接近熔点时,冰川冰就显得不稳定,呈现冰、水、汽三相并存局面,这是冰川之所以能实现塑性变形的原因。因此,只要一定厚度的冰川冰结合地表或冰面具有适当的坡度,在压力与重力的作用下,冰体就能向雪线以下地区缓慢流动,伸出冰舌,形成冰川。 3、冰川的类型 1、按冰川发育的气候条件和冰川温度状况分为: 海洋性气候冰川(暖冰川)我国西藏东南部和阿尔卑斯山的现代冰川都属于这种类型。 大陆性气候冰川(冷冰川)发育在降水较少、气温低的大陆性气候地区,我国西部大陆内部和中亚的一些现代冰川属这种类型。 2、按冰川的形态、规模和所处的地形条件分: 山岳冰川:是发育在高山上的冰川,主要分布在中纬和低纬高山地区。 大陆冰川:是在两极地区发育的冰川,它面积广,厚度大。如冰川中心凸起形似盾形的,叫冰盾。还有一种规模更大的、表面有起伏的大陆冰体,叫冰盖。(格陵兰冰盖和南极冰盖是目前世界上最大的两个冰盖。) 南极大冰盖图片 平顶冰川:是发育在起伏和缓高地上的冰面平坦的冰川。冰川的周围伸出许多冰舌。如冰川规模较大,覆盖在整个穹形山顶上,又称冰帽。这类冰川发育于雪线以上。 平顶冰川图片 山麓冰川:是山谷冰川从山地流出,在山麓带扩展或汇合成一片广阔的冰原。 阿拉斯加 · 马拉斯平冰川图片 4、冰川的运动 冰川运动速度比河流水流流速要小得多,一年只前进数十米至数百米,即使有一些突然性的快速运动冰川,其运动速度也不及河流水流速度。冰川运动由冰川的厚度、冰川下伏地形坡度和冰川表面坡度等因素控制。 图片 冰川运动速度随季节有变化。在消融区冰川运动的趋势是夏天快,冬天慢。(一般夏季运动速度要大于年平均流速,冬季则小于年平均速度。因为夏季冰川表面消融,融水对润滑冰床和冰体起着很大作用,这样就加强了滑动过程) 冰川运动速度还与冰川冰的补给量和消融量有关。(补给量大于消融量,冰川厚度增加,流速加快,冰川尾端向前推进;补给量小于消融量,冰川厚度减薄,流速减慢,冰川尾端往后退缩。补给量等于消融量,冰川就处于稳定状态,匠心地理公众号整理。) 不管冰川属于上述哪种状态,冰川始终向前运动。 5、冰川的侵蚀、搬运和堆积作用 1、冰川的侵蚀作用 冰川有很强的侵蚀力。冰川的侵蚀方式可分:拔蚀作用和磨蚀作用。 拔蚀作用:是冰床底部或冰斗后背的基岩,沿节理反复冻融而松动,松动的基岩再与冰川冻结在一起时,冰川运动时就把岩块拔起带走。冰川拔蚀作用可拔起很大的岩块。 磨蚀作用:是冰川运动时形成底部滑动,使冻结在冰川底部的碎石突出冰外,像锉刀一样,不断地对冰川底床进行削磨和刻蚀。冰川磨蚀作用可在基岩上形成擦痕和磨光面。 图片 2、冰川的搬运作用 冰川侵蚀产生的大量松散碎石和由山坡上崩落下来的石块,进入冰川体后,随冰川运动向下游搬运,这些被搬运的岩屑叫冰碛物。 根据冰碛物在冰川体内的不同位置,可分为不同的搬运类型。 出露在冰川表面的叫表碛,夹在冰内的叫内碛,位于冰川底部的叫底碛,分布在冰川边缘的叫侧碛,两条冰川汇合后,侧合并构成中,随着冰川向前推进,在冰川末端围中确绕冰舌前端的冰碛物,叫终碛(尾碛)。 山谷冰川(依据:自然地理学)图片 山谷冰川运动图片 冰川搬运能力极强,它不仅能将冰碛物搬运很远的距离,而且还能将巨大的岩块搬运到很高的部位。 3、冰川的堆积作用 冰川消融以后,不同形式搬运的物质,堆积下来形成冰川堆积物。冰川堆积物分选差,大小混杂,砾石磨圆度低。 二、冰川地貌 冰川地貌分为冰蚀地貌、冰碛地貌和冰水堆积地貌三部分。 1、冰蚀地貌 (1)冰斗、刃脊和角峰 冰斗:是山地冰川重要的冰蚀地貌之一,它位于冰川的源头。典型的冰斗是一个围椅状洼地,三面是陡峭的岩壁,底部是磨光的岩石斗底,向下坡有一开口,开口处常有一高起的岩槛。冰川消退后,冰斗内往往积水成湖,叫冰斗湖。 相邻冰斗之间的刀刃状,称为刃脊。 几个冰斗后壁所交汇的山峰,峰高顶尖,称为角峰。 角峰、冰斗、刃脊、U 型谷示意图图片 (2)冰川谷和峡湾 冰川谷的横剖面形似 “U” 形,故称 “U” 形谷,也称槽谷。槽谷的两侧有明显的谷肩,谷肩以下的谷壁平直而陡立,冰川谷两侧山嘴被侵蚀削平形成冰蚀三角面。 槽谷的形成是冰川下蚀和展宽的结果。冰川冰的厚度越大,下蚀力越强,有些槽谷可深达千米。美国加利福尼亚州的约斯迈特槽谷深 900-1200m,冰川下蚀量有 450m,槽谷底还有 300m 厚的松散堆积物。 在高纬地区,大陆冰川和岛状冰盖能伸入海洋,由于冰川很厚,当冰体入海尚未漂离之前, 在岸边侵蚀成一些很深的槽谷,冰退以后,槽谷被海水侵入,称为峡湾。挪威海岸峡湾的长度达 220km,深 1308m。(匠心地理公众号整理) 南美巴塔哥尼亚山脉沿岸的峡湾,深达 1288m。 峡湾示意图图片 (3)羊背石、冰川磨光面和冰川擦痕 羊背石:是冰川基床上的一种侵蚀地形,它是由基岩组成的小丘,远望犹如伏地的羊群,称这些小丘为羊背石。 图片 图片 羊背石的平面为椭圆形,长轴方向与冰流方向一致,朝向冰川上游的坡由于受冰川的磨蚀作用,坡面较平,坡度较缓,并有许多擦痕。冰川下游方的一坡受冰川的侵蚀作用,被挖掘得坎坷不平,坡度较陡。大陆冰川常形成规模较大的成群羊背石,山地冰川槽岩中也可形成规模较小的孤立羊背石。 在羊背石上或冰川槽谷谷壁上以及在大漂砾上常因冰川作用形成磨光面和擦痕。 当冰川搬运物是砂和粉砂时,在比较致密的岩石上,磨光面更为发育。如果冰川搬运物多是碎石,则在谷壁基岩上常刻蚀成条痕或刻槽,称为冰川擦痕。(冰川擦痕一般长数厘米至 1m,深为数毫米,成钉形,擦痕的一端粗,另一端细,细的一端指向冰川下游) 2、冰碛地貌 由冰川侵蚀搬运的砂砾堆积形成的地貌,称冰碛地貌。有以下几种类型: 冰碛地貌图片 (1)冰碛丘陵 冰川消融后,原来的表碛、内碛和中碛沉落到冰川谷底,和底一起形成波状起伏的丘陵,称冰碛丘陵。 大陆冰川区的冰碛丘陵规模较大,高度可达数十米至数百米。(例如北美的冰丘陵高 400m。山岳冰川也能形成冰丘陵,但规模要小得多,如西藏东南部波密,在冰川槽谷内的冰碛丘陵,高度只有几米到数十米。匠心地理公众号整理) 冰碛丘陵之间的洼地透水性很低,常能积水成池。 (2)侧碛堤 侧碛堤是由侧碛在冰川退缩以后共同堆积而成。它在冰川谷的两侧堆积成堤状,向下游方向常和冰舌前端的终碛堤相连,向上游方向可一直延伸到雪线附近。 (3)中碛堤 两条冰川汇合后,其侧碛合并成中碛,冰川融化后,在冰川谷中部沿谷地延伸方向堆积成垅状砂砾堤,称为碛堤。 (4)终破堤(尾碛堤) 当冰川的补给和消融处于相对平衡状态时,冰川的末端较长时期地停留在某一位置,这时由冰川上游搬运来的物质,在冰川尾端堆积成弧形的堤,称终碛堤。 (5)鼓丘 鼓丘是由一个基岩核心和冰砾泥组成的一种小丘,也是冰川再接近末端,对冰床中凸起基岩进行侵蚀,底碛翻越凸起的基岩时,搬运能力减弱,发生堆积而形成的。 迎冰面(向冰川上游的一侧)——由于凸起的基岩阻挡,冰碛物在基岩前向高处不断堆积,形成坡面较陡的丘体。 背冰面(向冰川下游的一侧)——冰碛物越过基岩后,沿背冰坡缓慢堆积,形成坡度较缓的丘体。 图片 微信图片_20241004153503.jpg图片 三、冰水堆积地貌 冰水堆积地貌:冰川融水具有一定的侵蚀搬运能力,能将冰碛物再搬运堆积,形成冰水堆积物,在冰川边缘由冰水堆积物组成的各种地貌。 冰砾阜阶地、冰砾阜和蛇形丘图片 根据冰水堆积地貌的分布位置、形态特征和物质结构可分为以下几种类型: (1)冰水扇和外冲平原 冰川的冰融水,常形成冰川河道,它可携带大量砂砾从冰川末端排出,在终碛堤的外围堆积成扇形地,叫冰水扇。几个冰水扇相连就形成冰水冲积平原,又名外冲平原。 (2)冰水湖 冰融水流到冰川外围注地中形成冰水湖泊。 (3)冰砾阜阶地 在冰川两侧,由于岩壁和侧碛吸热较多,附近冰体融化较快,又由于冰川两侧冰面较中部要低,所以冰融水就汇集在这里,形成冰川两侧的冰面河流,并带来大量冰水物质。当冰川全部融化后,这些冰水物质就堆积在冰川谷的两侧,形成冰砾阜阶地。它只发育在山地冰川谷中。 (4)冰砾阜 冰砾阜是一些圆形的或不规则的小丘,由一些有层理的并经分选的细粉砂组成,通常在冰砾阜的下部有一层冰碛层,冰砾阜是冰面上小湖或小河的沉积物,在冰川消融后沉落到底床堆积而成。 (5)锅穴 冰水平原上常有一种圆形洼地,深数米,直径十余米至数十米,称为锅穴。锅穴是埋在砂砾中的死冰块融化引起的塌陷而成。 锅穴示意图图片 (6)蛇形丘 蛇形丘是一种狭长而曲折的垄岗地形,由于它蜿蜒伸展如蛇,故称蛇形丘。(它的长度约数千米至数十千米,高 10-30m,有时可达 70-80m,底宽几十米至几百米,丘顶较狭窄,仅数米,顶部平缓,两侧坡度约 10-20°) 蛇形丘的延伸方向大致与冰川的流向一致。 END
教学设计
# 地理知识
# 冰川
# 备课
admin
1年前
0
184
1
上一页
1
2
3
...
12
下一页