夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色

Month: March 2020

5 篇文章

thumbnail
Caddy防CC
前言 某个猫咪苦于Caddy没有防CC脚本,于是自己撸了一个 自动读取caddy log文件中的IP进行屏蔽,自动提交Cloudflare 效果 先来看效果: 准备 获取CF Key: 安装Caddy wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh http.realip 注意:一定要安装http.realip这个插件 使用说明 启动:/etc/init.d/caddy start 停止:/etc/init.d/caddy stop 重启:/etc/init.d/caddy restart 查看状态:/etc/init.d/caddy status 查看Caddy启动日志:tail -f /tmp/caddy.log 安装目录:/usr/local/caddy Caddy配置文件位置:/usr/local/caddy/Caddyfile Caddy自动申请SSL证书位置:/.caddy/acme/acme-v01.api.letsencrypt.org/sites/xxx.xxx(域名)/ 获取脚本 Gayhub:https://github.com/lixworth/CFBlockIP -臭猫咪的网站:www.cattery.work wget https://raw.githubusercontent.com/laoxong/lxongOther/master/Bash/caddy-anit-cc.sh 配置Caddy 配置文件必须出现: log / /usr/local/caddy/log/web.log "{remote} - {user} [{when}] {when_unix} \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\"" realip { from 0.0.0.0/0 } 例子: moec.top{ root /www/wwwroot/moec timeouts none gzip log / /usr/local/caddy/log/web.log "{remote} - {user} [{when}] {when_unix} \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\"" realip { from 0.0.0.0/0 } } 配置脚本 修改配置文件的Cloudflare帐号 # 填 Cloudflare 帐号的 Email 邮箱 CFEmail="" # 填 Cloudflare 帐号的 Global API Key GlobalAPIKey="" # 填 Cloudflare 域名对应的 Zone ID ZoneID="" 配置自动任务 在终端执行crontab -e 在弹出的文本编辑器添加 * * * * * 脚本地址 上面指的是每分钟执行一次 脚本解释 tac $logfile/web.log | awk -v st="$start_time" -v et="$end_time" '{if(($8 > st || $8 == st) && ($8 < et || $8 == et)) {print $3}}' | sort | uniq -c | sort -nr > $logfile/log_ip_top tac是从文本web.log结尾(也就是最新请求的日志),反序到开始进行获取日志,然后通过awk筛选出所执行脚本的1分钟时间内(从start_time 到 end_time)的ip,加以记录到log_ip_top 修改拦截频率 ip=`cat $logfile/log_ip_top | awk '{if($1>5) print $2}'`…
thumbnail
Archlinux安装百度网盘
Archlinux安装百度网盘 方法 下载官网的 baidunetdisk_linux_2.0.1.deb 安装包到本地 使用Debtap转换为pkg.tar.xz 1.Debtap的安装 yay -S debtap 2.转换 同步 pkgfile 和 debtap 数据源 sudo debtap -u 3.转换包 debtap baidunetdisk_linux_*.deb 安装时交互: Enter Packager name: #输入包名字 Enter package license (you can enter multiple licenses comma separated): #输入许可证,随便写(大写字母+数字组合),反正是自己用 4.安装 ``` sudo pacman -U baidunetdisk-* .pkg.tar.xz ``` 下载速度: Emmmmm,我还是选择BaiduPCS-Go吧 声明 方法来自:https://www.teaper.dev/2019/06/24/baidunetdiskarchlinux/
thumbnail
为你的网站添加音乐播放器
为你的网站添加音乐播放器 前言 通过纯代码为Wordprss添加音乐播放器,预览在本站左下脚 开始 介绍 使用了Aplayer和Meting 代码 <?php /* Music */ ?> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/laoxong/[email protected]/css/APlayer.min.css"> <script src="https://cdn.jsdelivr.net/gh/laoxong/[email protected]/js/APlayer.min.js"></script> <div class="aplayer" data-id="613730894" data-fixed="true" data-server="netease" data-volume="0.4" data-type="playlist"> </div> <script src="https://cdn.jsdelivr.net/gh/laoxong/[email protected]/js/Meting.min.js"></script> 如果是Wordprss添加至主题的footer.php里面 参数 可以使用data-autoplay="true"进行自动播放(不建议这样做) data-id为播放歌单ID data-volume为默认播放音量 order为播放顺序 list(列表)random(随机) 注意 歌单更新并不是实时的
thumbnail
Nginx自建CDN 第三篇
Nginx自建CDN 第三篇 前言 本篇主要讲了缓存状态的显示,当上游服务器关闭时提供缓存内容,以及提高缓存性能,跨多个硬盘拆分缓存 配置文件 先看完整的配置文件 proxy_cache_path /usr/local/nginx/caches/moec.top levels=1:2 keys_zone=laoxong:1m inactive=2h max_size=500m; server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; ssl_certificate /usr/local/nginx/conf/ssl/证书; ssl_certificate_key /usr/local/nginx/conf/ssl/证书Key; ssl_session_timeout 1d; ssl_session_cache builtin:1000 shared:SSL:10m; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers "TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5"; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; server_name 域名; access_log /usr/local/nginx/caches/backblazebimg.2002000.xyz_nginx.log combined; charset utf-8,gbk; location / { proxy_ssl_name $host; proxy_ssl_server_name on; proxy_set_header Accept-Encoding ""; proxy_pass https://域名; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; add_header laoXong-Cache-Status $upstream_cache_status; proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504; proxy_cache laoxong; proxy_cache_key $uri$is_args$args; proxy_cache_valid 200 304 30m; proxy_cache_valid 301 24h; proxy_cache_valid 500 502 503 504 0s; proxy_cache_valid any 1s; proxy_cache_min_uses 1; expires 12h; proxy_cache_lock on; proxy_cache_background_update on; } location ~ /purge(/.*) { allow all; allow 127.0.0.1; # deny all; proxy_cache_purge laoxong $1$is_args$args; } } 缓存状态的显示 配置为:add_header X-Cache-Status $upstream_cache_status; 在Header中x-cache-status后面显示的为缓存状态 返回的状态有 MISS - 在缓存中找不到响应,因此从原始服务器获取响应。然后缓存响应。 BYPASS- 响应是从原始服务器获取的,而不是从缓存中提供的,因为请求与proxy_cache_bypass指令匹配 EXPIRED - 缓存中的条目已过期。响应包含来自原始服务器的新内容。 STALE- 内容过时,因为源服务器未正确响应但proxy_cache_use_stale已配置。 UPDATING- 内容过时,因为条目当前正在更新以响应先前的请求,并且proxy_cache_use_stale updating已配置。 REVALIDATED- proxy_cache_revalidate指令已启用,NGINX验证当前缓存的内容是否仍然有效通过(If-Modified-Since或If-None-Match`)。 HIT - 响应直接来自有效的缓存 提高缓存性能 proxy_cache_min_uses 规定缓存门槛,请求过多少次才缓存,不缓存低频请求,避免浪费。 proxy_cache_lock如果多个客户端求的文件不在缓存中,只有第一个这些请求是通过原始服务器的。其余请求等待满足该请求,然后从缓存中提取文件。 proxy_cache_lock_age “不能者止”,如果当前请求未能如期完成,就放行后续请求。 proxy_cache_lock_timeout 发生超时,同样放行,但不进行缓存。 跨多个硬盘拆分缓存 proxy_cache_path /path/to/hdd1 levels=1:2 keys_zone=my_cache_hdd1:10m max_size=10g inactive=60m use_temp_path=off; proxy_cache_path…