首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
40 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
告别破解!用Aspose.Words实现Java版Word转PDF的实战指南
14 阅读
4
【N1和Armbian】一、N1刷Linux系统armbian
12 阅读
5
aris常用命令收集
12 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
588
篇文章
累计收到
9
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
36
篇与
的结果
2024-11-29
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置内容有点长,让我缕缕前言说起异地组网,之前一直在使用zerotier-planet进行搭建,使用了一段时间也挺稳定,唯一的不足就是ios平台由于系统限制没办法修改planet文件,也就没法进行组网。网上找了一圈,看到很早就有人在官方论坛里面提过这个需求,但是官方似乎对此兴趣好像不大,没办法只能研究其他组网方式,找了一圈后最后确定下来使用wireguard搭建中继服务器进行组网,wireguard的各平台支持也都比较齐全,其功能也都满足我的需求,在此记录下组网过程。画个图安装wireguard #Ubuntu22 apt install -y wireguard #Centos yum install -y wireguard #armbian yum install -y wireguard #KylinV10 yum install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1一键命令,一次性搞定。wg-gen-web 配置wg-gen-web 仓库对于新手来说,如何才能快速把 WireGuard 用起来呢?当然是通过图形管理界面啦,填几个参数,生成个二维码,再拿客户端扫下二维码就连上了,简直是比爽姐还爽~wg-gen-web 就是这样一款图形管理界面,主要包含以下这些功能:根据 CIDR 自动分配 IP 地址给客户端;每个客户端会生成 QR 二维码,方便移动客户端扫描使用;支持通过邮件发送二维码和配置文件;支持启用和禁用某个客户端;支持 IPv6;支持使用 GitHub 和 Oauth2 OIDC 来进行用户认证;颜值还比较高。wg-gen-web 支持直接通过容器来运行,如果你是在本地运行,可以准备一份 docker-compose 文件:version: '3.6' services: wg-gen-web: image: vx3r/wg-gen-web:latest container_name: wg-gen-web restart: always expose: - "8080/tcp" ports: - 80:8080 environment: - WG_CONF_DIR=/data - WG_INTERFACE_NAME=wg0.conf - OAUTH2_PROVIDER_NAME=fake - WG_STATS_API=http://<API_LISTEN_IP>:8182 volumes: - /etc/wireguard:/data network_mode: bridge wg-json-api: image: james/wg-api:latest container_name: wg-json-api restart: always cap_add: - NET_ADMIN network_mode: "host" command: wg-api --device wg0 --listen <API_LISTEN_IP>:8182我习惯于用docker命令来安装:docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest这里还用到了另外一个项目 wg-api,该项目提供了一个 JSON-RPC 接口,用来暴露 WireGuard 的网络状态信息。其中 <API_LISTEN_IP> 可以直接替换成 docker0 的 IP。执行以下命令运行 wg-gen-web:docker-compose up -d在浏览器中输入 URL 打开图形管理界面,点击 “SERVER” 开始填写服务端和客户端的配置信息:这里的 PostUp和PostDown我只有如下设置的时候才行,不知道是不是我的内网原因。各位看着弄 #PostUp iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #PostDown iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE填写好配置信息后,直接点击 UPDATE SERVER CONFIGURATION 保存,同时会生成配置文件 wg0.conf: cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE注意: 这里如果需要多个内网网段,记得都填写下去接下来点击 CLIENTS,然后点击 ADD NEW CLIENT 开始新增客户端配置:填写客户端配置信息:点击 SUBMIT,就会在 /etc/wireguard 目录下生成客户端的 json 配置文件:cat /etc/wireguard/f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f { "id": "f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f", "name": "test", "email": "yangchuansheng33@gmail.com", "enable": true, "ignorePersistentKeepalive": false, "presharedKey": "8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs=", "allowedIPs": [ "10.6.6.0/24" ], "address": [ "10.6.6.2/32" ], "tags": [], "privateKey": "ODN2xN12p5lwcEuj20C4uZV9kJE9yHz4eAHB/4czPEM=", "publicKey": "k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM=", "createdBy": "Unknown", "updatedBy": "", "created": "2021-01-20T05:19:16.659225991Z", "updated": "2021-01-20T05:19:16.659225991Z" }如果勾选了 “Enable client after creation”,还会将 peer 的配置加入 wg0.conf:cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # test / yangchuansheng33@gmail.com / Updated: 2021-01-20 05:19:16.659225991 +0000 UTC / Created: 2021-01-20 05:19:16.659225991 +0000 UTC [Peer] PublicKey = k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= PresharedKey = 8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs= AllowedIPs = 10.6.6.2/32最后直接启动 wg-quick 服务就行了:systemctl start wg-quick@wg0如果你之前已经启动过该服务,现在只需要重启就行了:systemctl restart wg-quick@wg0每次更新配置后都要手动 reload 还是很麻烦的,我们可以通过 systemd 来监听配置文件的实时变化,一但配置文件有所改动,就立即触发 reload。方法也很简单,先创建一个 wg-gen-web.service 用来 reload:# /etc/systemd/system/wg-gen-web.service [Unit] Description=Restart WireGuard After=network.target [Service] Type=oneshot ExecStart=/usr/bin/systemctl reload wg-quick@wg0.service [Install] WantedBy=multi-user.target然后再创建一个同名的 wg-gen-web.path 用来监听文件变化:# /etc/systemd/system/wg-gen-web.path [Unit] Description=Watch /etc/wireguard for changes [Path] PathModified=/etc/wireguard [Install] WantedBy=multi-user.target设置开机自启:systemctl enable wg-gen-web.service wg-gen-web.path --now后面如果再到 Web 页面上更新配置信息,会立即触发 reload,不需要再自己手动 reload 了。查看接口信息:wg show wg0 interface: wg0 public key: dG5xPA7Q6X7ByeNl5pasI/8ZPhiTOsfsy0NUX4w2wmI= private key: (hidden) listening port: 51820 peer: k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= preshared key: (hidden) allowed ips: 10.6.6.2/32客户端建立连接Linux客户端# 安装wireguard apt install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1将上面服务器添加的客户端配置文件下载后 存放到 /etc/wireguard/并执行启动程序systemctl reload wg-quick@wg0启动后ping一下上面设置的局域网内网连接,如果通了,则组网成功!一些优化有时外网IP变化了,wg服务并未报错,但是也没有重连到中继服务器上,造成机器离线,这里新增一个watchdog服务进行连接保活监控# 新建watchdog服务 vim /lib/systemd/system/wg-watchdog.service # 添加下面代码到service中 [Unit] Description=Wireguard Watchdog After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=10 ExecStart=/etc/wireguard/watchdog.sh [Install] WantedBy=multi-user.target# 新建脚本 vim /etc/wireguard/watchdog.sh # 添加下面代码到watchdog.sh中 #!/bin/bash # TARGET_HOST 根据实际情况修改,这里是中继服务器的内网IP TARGET_HOST='10.0.1.1' # this is your wireguard network server IP UP=false while true do count=$(ping -c 1 $TARGET_HOST | grep rtt | wc -l) if [ $count -eq 0 ]; then echo "$(date)" "Target host" $TARGET_HOST "unreachable, reinitiating wireguard wg0 interface!" systemctl restart wg-quick@wg0 UP=false else if [ $UP = false ]; then echo "$(date)" "Wireguard connection reestablished!" fi UP=true fi sleep 10 done最后启动服务systemctl daemon-reload systemctl start wg-watchdog systemctl enable wg-watchdog脚本原理是每隔10秒ping一下中继服务器IP,如果ping不通则说明本机离线,检测到离线后就重启wg服务,这样就可以保证机器一直在线了。
2024年11月29日
4 阅读
0 评论
0 点赞
2024-08-27
当前国内可用的docker加速器搜集
可用镜像加速器以下地址搜集自网络,仅供参考,请自行验证。1、https://docker.m.daocloud.io 2. https://dockerpull.com 3. https://atomhub.openatom.cn 4. https://docker.1panel.live 5. https://dockerhub.jobcher.com 6. https://hub.rat.dev 7. https://docker.registry.cyou 8. https://docker.awsl9527.cn 9. https://do.nark.eu.org/ 10. https://docker.ckyl.me 11. https://hub.uuuadc.top 12. https://docker.chenby.cn 13. https://docker.ckyl.me如何使用cat /etc/docker/daemon.json { "registry-mirrors": ["https://docker.m.daocloud.io"] }使其生效systemctl daemon-reload systemctl restart docker前缀方式加速源/镜像:TAG直接进行使用docker pull docker.m.daocloud.io/nginx:latest自建镜像源1、https://github.com/dqzboy/Docker-Proxy 2. https://github.com/cmliu/CF-Workers-docker.io
2024年08月27日
1 阅读
0 评论
0 点赞
2024-07-08
load styles.php,WordPress加载load-scripts.php缓慢怎么办?
昨天发现登录后台特别缓存,经过查看发现 WordPress 后台把要用到的 js 连接在一起,具体如下:http://luoweihua.cn/wp-admin/load-styles.php?c=1&dir=ltr&load%5B%5D=dashicons,admin-bar,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menus,wp-pointer,widgets&load%5B%5D=,site-icon,l10n,buttons,wp-auth-check,wp-jquery-ui-dialog,wp-color-picker,media-views&ver=5.1.1 http://luoweihua.cn/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,utils,moxiejs,plupload&ver=5.1.1这两个文件一个载入了8秒,一个载入了10秒这个链接在一起的 JS 每次点击后台菜单或选项都会重新加载以便而不是从缓存中读取,所以才导致非常缓慢,解决的办法也很简单。在网站根目录的 wp-config.php 文件中,添加以下这句禁止 js 结合在一起代码即可:define('CONCATENATE_SCRIPTS', false);PS:如果登录 WordPress 后台很快而且结合在一起的 JS 也是从缓存中读取就没必要把他们分开。比如加载的 load-scripts.php?c=1 就是从缓存读取,就没必要让这些 JS 分开。
2024年07月08日
6 阅读
0 评论
0 点赞
2024-07-02
使用S3 Browser管理Cloudflare R2存储桶
本来我是要把导航页所有的文件搬到Github上并试图通过jsdelivr加速访问,但是我发现国内移动网络根本无法直连jsdelivr...在多次反馈网页无法打开之后,最后还是退一步选择迁移到R2上了。但是R2的网页端管理真的是做得一团糟,上传经常半路失败不说,一次还只能上传100个文件,更恶心的是文件夹无法删除,对于我来说是体验真的不好了。既然兼容AWS S3,那就用S3的方法去管理他。{cloud title="需要用到S3Browser这个软件,只有英文,但是不妨碍使用。" type="default" url="https://s3browser.com/download.aspx" password=""/}安装完成之后选择Add new account。Display Name任意填写即可,Account type选择S3 Compatible Storage,即兼容S3存储。REST Endpotin对应的是S3 API的值,但是不能整个填写进去。比如网页端显示的S3 API为:https://xxxxxxxxxxxxxxxxxxx.r2.cloudflarestorage.com/tamabox那这里要填写的是xxxxxxxxxxxxxxxxxxx.r2.cloudflarestorage.comAK和SK是创建桶的时候提供的,如果忘记了就没救了,重新弄个桶吧。Encrypt Access Keys with a password和Use secure transfer(SSL/TSL)选项保留默认即可。配置完之后要点开左下角的advanced settings。ignature version选择Signature V4.Addressing model选择Virtual hosted style.其他选项保留初始值不用动,点close再save changes`即可。这时候应该是能连接进R2内部了,就当作一个文件管理器操作就行了。如果只用来做图床的话可以用Pic-Go这个软件,操作方法也类似。
2024年07月02日
6 阅读
0 评论
0 点赞
2024-06-17
如何配置Docker镜像加速器daemon.json并测试结果
在使用Docker时,为了提高镜像的下载速度,我们通常会配置镜像加速器。本文将指导您如何创建一个daemon.json文件,添加镜像加速器的配置,重启Docker服务,并测试配置是否生效。步骤一:创建daemon.json文件首先,您需要创建一个名为daemon.json的文件,并将其放置在Docker配置目录中。通常,这个目录位于/etc/docker/。您可以通过以下命令创建并编辑该文件:sudo mkdir -p /etc/docker #优先使用 请删除 <请删除我< 中的 [请删除我] sudo tee /etc/docker/daemon.json <请删除我<请删除我EOF { "registry-mirrors": ["https://do.nark.eu.org"] } EOF #备用 sudo tee /etc/docker/daemon.json <请删除我<请删除我EOF { "registry-mirrors": [ "https://docker.1panel.live", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com", "https://nrbewqda.mirror.aliyuncs.com", "https://dmmxhzvq.mirror.aliyuncs.com" ] } EOF步骤二 :使其生效systemctl daemon-reload systemctl restart docker如果您当前有正在运行的容器不方便重启Docker服务,则不用设置环境也可以直接使用,用法示例:docker pull do.nark.eu.org/library/mysql:5.7说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名。对于 Mac 和 Windows 用户,直接在 Docker Desktop 系统设置中,配置 registry-mirrors 即可。检查加速是否生效查看docker系统信息 docker info,如果从结果中看到了如下内容,说明配置成功。Registry Mirrors: [...] https://do.nark.eu.org引文
2024年06月17日
4 阅读
0 评论
0 点赞
2024-05-22
npm “https://registry.npm.taobao.org/...: certificate has expired“(证书已过期) 解决方法
前言今天在使用npm下载依赖的时候出现淘宝镜像证书过期问题error An unexpected error occurred: "https://registry.npm.taobao.org/axios: certificate has expired"原因: 淘宝镜像原地址2024年1月22日已过期解决办法解决方法就是切换淘宝最新镜像地址,执行完成之后就可以正常下载依赖了npm config set registry https://registry.npmmirror.com其他镜像源npm 官方原始镜像网址是:https://registry.npmjs.org/ 淘宝最新 NPM 镜像:https://registry.npmmirror.com 阿里云 NPM 镜像:https://npm.aliyun.com 腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/ 华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/ 网易 NPM 镜像:https://mirrors.163.com/npm/ 中科院大学开源镜像站:http://mirrors.ustc.edu.cn/ 清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/ 腾讯,华为,阿里的镜像站基本上比较全
2024年05月22日
1 阅读
0 评论
0 点赞
2024-05-21
Typora 手动激活,不用修改时间,不用补丁
下面是操作步骤:第一步:下载最新版本的Typora安装{cloud title="下载链接" type="default" url="https://typoraio.cn/" password=""/}第二步:安装完后,进入typora的安装目录下的 \resources\page-dist\static\js 目录,找到 LicenseIndex开头的文件,我这里文件名如下:第三步:用文本编辑器打开该文件,搜索hasActivated="true"==e.hasActivated并将其替换为hasActivated="true"=="true"(修改前,可将该文件备份一下,万一操作失误,可以进行恢复)经过以上修改后,重启Typora后,提示已激活:关闭每次启动时的已激活弹窗修改 Typora安装目录\resources\page-dist\license.html查找:替换:window.close()如果使用中发现打开软件时偶尔还有弹窗,可以试试这个:替换:</body><script>window.onload=function(){setTimeout(()=>{window.close();},5);}</script></html>去除左下角“未激活”提示(不完美方案,仅去除文字,小框框还在)修改 Typora安装目录\resources\locales\zh-Hans.lproj\Panel.json查找:"UNREGISTERED":"未激活",替换:"UNREGISTERED":" "
2024年05月21日
1 阅读
0 评论
0 点赞
2024-05-11
OnlyOffice 打开文档时提示下载失败
现象:使用内网地址访问onlyoffice时,文档提示下载失败,如图:问题定位:使用内部ip地址访问后端服务查看OnlyOffice Converter的日志:docker logs -f 容器名发现日志文件中存在如下报错:Error: DNS lookup xxx.xxx.xxx.xx(family:undefined, host:undefined) is not allowed. Because, It is private IP address.解决方式:需要编辑配置文件允许私有ip通过:将文件复制出来再进行编辑:docker cp onlyoffice:/etc/onlyoffice/documentserver/default.json /root/ vim default.json编辑/etc/onlyoffice/documentserver/default.json下的内容:搜索并修改以下字段为true:"request-filtering-agent" : { "allowPrivateIPAddress": true, "allowMetaIPAddress": true },编辑好之后拷贝回容器docker cp /root/default.json onlyoffice:/etc/onlyoffice/documentserver/default.json更改后,需要重启容器后恢复正常。docker restart 容器名称或者容器ID
2024年05月11日
2 阅读
0 评论
0 点赞
1
2
3
...
5