首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,326 阅读
2
PP.UA免费域名注册
2,185 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,175 阅读
4
7-Zip中文美化版
2,033 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,949 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
工具软件
代码
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
Windows
上传下载
建站
PDF
网盘
Office
学习
ZJ
累计撰写
810
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
267
篇与
的结果
2026-01-13
Lucky stun内网穿透配合CF重定向实现无公网ipv4访问和v4/v6分流
本文需要实现的目标是,如何在家中设备没有公网ipv4,只有公网ipv6的情况下,实现外网只有ipv4环境时的访问,以及外网有ipv6环境时自动用v6地址访问,并且访问用的域名统一为一个泛域名,不用带端口。一、前置准备1.家庭宽带有公网ipv6。最好是路由器拨号,lucky安装在路由器,可以减少nat层数和端口转发设置。2.在lucky的stun穿透页面测试nat类型,为nat1最好,如果是nat3一般也没有问题。但是nat4一般不行,可搜索如何降低nat层级。3.有一个域名(最好是付费的,免费的二级域名可能有这样那样的问题),并且托管到CloudFlare(以下简称CF)。本文以 123.xyz 为例。4.已经安装lucky,并会简单使用lucky的动态解析,反向代理等功能。二、CF配置1.账户主页有托管过来的域名,点击进去。右侧下滑到最底部,有账户ID和区域ID,待会儿要用。 2.点击DNS记录,添加一条A记录,名称填入通配符星号 。ipv4随便填一个即可,不产生实际作用,这里填入的8.8.8.8。代理状态勾选上,点亮小黄云。这里解释一下这样设置的作用。CF代理了 .123.xyz,以后访问如emby.123.xyz的时候,首先就会请求到CF这里来,然后根据我们后面会添加的规则,进行v4或者v6的重定向。注意如果之前已经有了这条二级泛域名的解析,直接勾选代理即可。同时删除或者关闭lucky的这一条动态域名配置。 3.进入“规则”,点击“创建规则”,选择“重定向规则”。 4.配置v4重定向规则①规则名称为了区别,添加v4后缀②选择自定义筛选表达式。③然后按图示配置字段,运算符,和值。第一栏是之前DNS解析添加的泛域名,*.123.xyz;第二栏可以不配置,这里是一种示意,如果某个以 .123.xyz 结尾的域名已经作特殊使用了,就排除一下;第三栏填入的值 0.0.0.0/0,表示匹配所有的ipv4地址。④重定向类型选择“动态”⑤表达式填入下面的一段代码。中间的 ipv4 是为了区别于 ipv6,实现分流,端口号6211在v4重定向规则中随便填入,后面会通过lucky的webhook同步成stun穿透获取的公网端口。wildcard_replace(http.request.full_uri, "*://*.123.xyz/*", "https://${2}.ipv4.123.xyz:6211/${3}")⑥状态代码选择307或者302(一般是302,但某些应用中使用时,307才有效;具体差异我不懂)。⑦勾选保留查询字符串这里解释一下表达式的含义 wildcard_replace 表示将输入的内容以一定的规则进行截取并组合输出新的内容;http.request.full_uri 表示传入的完整的URL;"://.123.xyz/" 就是一个匹配规则,星号 部分的内容会被截取并顺序保存到变量${1} ${2} ${3}中,以供后续使用;"https://${2}.ipv4.123.com:6211/${3}" 表示合成输出的内容 变量 ${2} ${3} 为刚才存储截取部分的变量整个过程如下: 传入的URL:http://emby.123.xyz/web/index.html#!/home通配符表达式:://.123.xyz/*构建新的URL:https://${2}.123.com:6211/${3}生成新的URL:https://emby.ipv4.123.com:6211/web/index.html#!/home 5.配置v6重定向规则 直接从v4重定向规则复制,修改一下规则名称,修改ip源地址为2000::/3,URL重定向表达式,把ipv4替换为ipv6,端口号改为lucky反向代理监听地址 6.创建API令牌点击页面右上角》配置文件》API令牌》创建令牌》(最底下)自定义令牌。①名称说明用途即可②权限添加 “账户》规则策略》编辑”③权限添加 “区域》单一重定向》编辑”④账户资源添加 “包括》你自己的账户”⑤区域资源添加 “包括》特定区域》你的域名”继续以显示摘要》创建令牌》复制令牌,保存到一个合适的位置,后面要用。 以上是CF端的准备工作。总结一下:我们添加了一条二级泛域名解析.123.xyz,由CF代理,然后创建了两条重定向规则,根据不同的访问ip来源,再分别重定向到v4或v6的地址上去。接下来是lucky端的配置,需要用到三级泛域名.ipv4.123.xyz和*.ipv6.123.xyz,以及账户ID,区域ID,以及具有编辑账户规则策略和区域重定向规则权限的API令牌。三、Lucky配置如果lucky版本太过老旧,建议先升级到最新版。如果原来有二级泛域名*.123.xyz的解析,一定要先删除或者关闭,同时在CF的DNS解析记录也要删除。1.配置DDNS(域名动态解析) 如果之前不是用的CF做动态解析,这里简单说一下配置方法: 首先也是要在CF创建一个API令牌,权限:区域》DNS》编辑;区域资源:包括》特定区域》123.xyz。然后保存好令牌。 编辑已有任务或者添加一个任务;托管商选择CF;Token填入刚刚创建的API令牌;{ipv4Addr}和{ipv6Addr}的开关都打开;添加同步记录;记录名填.ipv4.123.xyz,记录类型选择A;再添加一条同步记录,记录名填.ipv6.123.xyz,记录类型选择AAAA。 2.配置web服务的反向代理 这里已经会配置反向代理,并且已经配置有反向代理服务了。那么编辑已有的反向代理服务,前端地址中,添加两条带ipv4和ipv6字段的地址,后端地址保持不变。 3.获取重定向规则的ID,实现通过CF提供的API修改规则内容 这里的过程就比较复杂了。为了实现stun穿透中的完整webhook,我们要先通过计划任务,分步骤获取一些id。获取重定向规则集ID ①任务类型CallWeb②接口地址:https://api.cloudflare.com/client/v4/zones/区域ID/rulesets③请求方法GET④请求头:注意这里的API令牌不是用于动态解析的令牌,是上一节创建的令牌。Authorization: Bearer API令牌 Content-Type: application/json⑤勾选 禁用接口调用成功字符串检测⑥保存并手动触发一次,点击任务执行日志,查找"http_request_dynamic_redirect", 位于其前面的那个ID才是我们需要的重定向规则集ID 。这里注意下json结构,每一个大括号括起来的部分是一个段落,不要往前看多了。 获取重定向规则ID 重定向规则集包含多个规则,v4和v6的,现在要获取v4规则的id新增一个手动任务,除了接口地址,其余保持不变https://api.cloudflare.com/client/v4/zones/区域ID/rulesets/重定向规则集ID保存并手动触发一次,点击任务执行日志,查找v4的重定向名称,记住其后的ID 测试更新 现在可以根据v4重定向规则的ID来修改内容了,再新建一条手动任务。接口地址:https://api.cloudflare.com/client/v4/zones/区域ID/rulesets/重定向规则集ID/rules/重定向规则ID请求方式:PATCH请求头:Authorization: Bearer API令牌 Content-Type: application/json请求体:{ "description": "stun-重定向-v4", "expression": "(http.host wildcard \"*.123.xyz\" and ip.src in {0.0.0.0/0})", "action": "redirect", "action_parameters": { "from_value": { "status_code": 302, "target_url": { "expression": "wildcard_replace(http.request.full_uri, \"*://*.123.xyz/*\", \"https://${2}.ipv4.123.xyz:6211/${3}\")" }, "preserve_query_string": true } } }这些内容具体可以从刚刚的“ 获取重定向规则ID ”的日志中查看到: description 是v4重定向规则的名字。 expreession 可以从日志中复制出来,或者在CF的重定向规则编辑页面有表达式的预览可以复制,但注意内部的引号需要加反斜杠\。 target_url中的expression 也可以从日志中复制,或者CF的重定向规则编辑页面复制表达式,但注意内部的引号需要加反斜杠\。 端口随便改一个不一样的,确认后手动触发一次,再回到CF的重定向规则编辑页面,看看是否已经成功修改成新内容。 4.stun内网穿透设置现在创建一个stun穿透任务①取一个描述作用的名称②穿透类型选择TCP,UDP也可以③穿透通道本地端口填一个没有使用的,或者填0,会使用随机端口④开启防火墙自动放行⑤目标地址:哪个设备要使用这个穿透就填谁的ip。这里,是供lucky的反向代理用的,lucky装在路由器上,就填192.168.31.1⑥目标端口,就填lucky反向代理的监听端口⑦打开WebHook开关,下面内容就复用上面创建的最有一条手动任务。请求体有所不同的是,端口号改成了lucky提供的变量#{port},表示传入stun穿透获取到的公网端口。⑧调用成功填入 "success": true{ "description": "stun-重定向-v4", "expression": "(http.host wildcard \"*.123.xyz\" and ip.src in {0.0.0.0/0})", "action": "redirect", "action_parameters": { "from_value": { "status_code": 302, "target_url": { "expression": "wildcard_replace(http.request.full_uri, \"*://*.123.xyz/*\", \"https://${2}.ipv4.123.xyz:#{port}/${3}\")" }, "preserve_query_string": true } } } 可以点击“WebHook手动触发测试”,看一下CF规则页面是否修改,lucky是否返回成功。保存后,stun穿透开始运行,最终成功的情况如下图。看CF规则页面的表达式中的端口是否变成了stun穿透获取的公网端口,这里是6211。5.测试成果及后续工作现在在浏览器输入emby.123.xyz,应该就可以跳转到emby.ipv4.123.xyz:6211这个地址了。如果是在v6环境下访问,比如手机流量,那么会自动跳转到emby.ipv6.123.xyz:15556。 对于.ipv4.123.xyz和.ipv6.123.xyz,这两个三级泛域名,可以在lucky中配置上自动申请证书,即可使用https加密访问啦。
2026年01月13日
8 阅读
0 评论
0 点赞
2025-09-18
Cloudflare for SaaS回源配置及优选IP提高网站访问速度
前言开始折腾博客之后,发现网站套CF CDN国内访问很慢,有时候甚至无法打开,网上查询要么换国内CDN(域名需要备案),要么曲线救国通过Cloudflare for SaaS回源优化网站访问体验。国外域名加国外服务器无法套国内CDN,那么就尝试下Cloudflare SaaS回源方案。1、前提条件开启Cloudflare for SaaS,需要信用卡或PayPal进行开通(具体开通步骤自行google)两个域名:一个实际网站访问域名(建议阿里云、DNSPOD、华为云,可以分运营商解析),假设为 a.com(以阿里云举例);一个用于回源的域名(托管于CF的任意域名即可,解析到源服务器),假设为 b.com一台云服务器:假设服务器IP为 6.6.6.62、设置Cloudflare for SaaS回源2.1、解析回源地址到云服务器登录Cloudflare,进入托管的域名 b.com,然后配置一条A记录将 back.b.com解析到云服务器地址 6.6.6.6,开启小黄云。 2.2、验证回源域名到主机的可用性(可选)本步骤主要验证Cloudflare到云服务器访问的连通性以及云服务器网站的可用性云服务申请 *.b.com证书,同时解析 back.b.com到指定服务,建议开启强制HTTPS,那么Cloudflare SSL/TLS模式应该为 完全或 完全(严格);如果云服务器服务未开启强制https,那么Cloudflare SSL/TLS模式应该为 灵活,否则会出现重定向次数过多的问题。 打开网站 back.b.com,能够看到自己对应的网站内容表示域名解析和主机服务没有问题2.3、设置回退源在回退源中输入 back.b.com回退域名,等待回退源状态变成 有效即可 2.4、添加自定义主机名添加自定义主机名(可以是一级域名 a.com或者二级域名 xxx.a.com),保持默认即可 此时自定义主机名状态为 待定,证书状态为 初始化中,下面会出现2条记录(当前截图只有一条用于举例),一条是主机名验证,一条是证书验证 去阿里云控制台域名设置验证主机名和证书,新建两条TXT解析记录,把名称和值分别填上,阿里云域名自带后缀,需要删除名称中后缀部分 等待主机名状态和证书状态变成 有效,此过程可能需要几分钟,耐心等待和刷新。此处验证完主机名和证书后,阿里云的2条TXT记录可以删除。 此时阿里云设置解析接口,将 a.com(或 xxx.a.com)用cname解析到回退源接口,此时访问域名 a.com(或 xxx.a.com)应该能访问到自己对应的网站,和 步骤2.2一样的效果。 3、优选IP3.1、使用公共优选cnameCloudFlare公共Cname域名,通过ITDOG多地ping的方式优选延迟较低的域名登录阿里云,设置不同的运营商到优选域名,默认场景下(只剩海外地址解析)设置到回源地址 back.b.com即可 3.2、利用多运营商优选项目大佬的项目:cf2dns ,能找出不同运营商的优选IP,然后填入阿里云对应的解析即可。或者使用共享的部分优选IP,按照 步骤3.1执行即可3.3、自选IP通过 自选ip工具 进行测速,一般优选出来的是你所在地区访问CF网站的优选IP,无法针对其余访问你网站的用户加速,不做深入介绍。4、效果对比测试时间:晚高峰22-23点;通过Cloudflare SaaS回源加优选IP的方式确实能提高网站的速度和稳定性。使用前平均延迟221ms,解析失败4.39% 使用后平均延迟169ms,少量解析失败 5、FAQ5.1、回源地址和优选IP设置后,访问域名 a.com(或 xxx.a.com)一直报525错误: SSL handshake failed此问题是因为 a.com(或 xxx.a.com)域名没有在服务器6.6.6.6设置SSL证书;如果执行了 步骤2.2并且成功则服务器提供的服务没问题,那么 bakc.b.com也在服务器上设置了SSL证书;此时 a.com(或 xxx.a.com)域名申请证书配置一次即可。
2025年09月18日
14 阅读
0 评论
2 点赞
2023-02-20
UpdatePack7R2 23.02.15 WIN7更新补丁包
UpdatePack7R2是由俄罗斯人Simplix制作的win7更新补丁包,UpdatePack7R2离线完整版整合所有关键更新和安全更新及NVMe/USB3.0驱动,使用它可以将累积更新封装到Install.wim映像文件内,支持Windows 7 SP1和Windows Server 2008 R2 SP1所有多国语言版,Win7补丁包离线安装包内置命令行参数也很强大. 安装包命令行参数/S (静默安装,不更改IE版本,不重启)/Silent(自动安装,界面显示安装进度)/Temp(指定释放路径到系统临时目录)/IE11(更新安装 Internet Explorer 11)/NVMe(集成通用NVMe固态硬盘驱动)/NoSpace(跳过检查系统分区的剩余空间,不建议添加)/NoUSB(不集成USB3.0驱动,测试发现部分电脑会蓝屏)/Reboot(如果某个补丁需重启,安装完成后则自动重启)/FixOn(禁用Spectre and Meltdown安全漏洞。Win7默认禁用,Server 2008默认启用)如果要将累积更新补丁包集成到系统映像内 ,可以使用以下参数:提取Win7原版映像内的install.wim,然后加上相应的参数即可;/WimFile(指定WIM映像文件的位置,如D:\intall.wim.)/Optimize(集成所有更新补丁后优化WIM映像文件的大小)/Optimize=esd(集成所有更新补丁后WIM映像文件转换为EST)/Index=(WIM映像文件分卷索引,如包含四个分卷全部集成到旗舰版,则参数为 /Index=4)/Index=*(将所有更新补丁的集成到WIM映像文件的分卷中,可以指定先后顺序,逗号隔开)支持附加集成以下组件安装:SmartFix, DirectX, .NET Framework, Visual C ++需要将对应文件与主程序置于同文件夹中,就可以实现自动集成相应的附加组件.无人值守运行示例静默安装所有更新+不更新IE+不重启系统:UpdatePack7R2.exe /S自动安装所有更新+更新至IE11+重启系统:UpdatePack7R2.exe /ie11 /silent /reboot将所有更新补丁+更新至IE11+添加到Win7系统后显示4个映像+优化系统体积:UpdatePack7R2.exe /ie11 /WimFile=D:\install.wim /Index=4 /NoUSB /Optimize{cloud title="" type="default" url="https://www.123pan.com/s/heeA-f5hW3" password=""/}
2023年02月20日
432 阅读
0 评论
1 点赞
2023-02-09
蓝奏云盘上的APP合集
好软分享:https://github.com/yoyodadada/haoruanfenxiang优质APP集散地:https://www.lanzoui.com/u/yoyodadada未归类的比较好用的软件:https://www.lanzoui.com/b01b01h9aBs团队分享合集:https://www.lanzoui.com/b93256安惠购分享合集:https://pan.lanzoui.com/b174576/黑哥软件基地:https://www.lanzoui.com/s/rjjd?t=2403hai分享推荐合集:https://pan.lanzoui.com/b221497/辉少软件分享合集:https://pan.lanzoui.com/b221505乐分享软件合集:https://pan.lanzoui.com/b215476/BhVip软件更新合集:https://pan.lanzoui.com/u/%E5%BD%AA%E7%85%8Cqq1846055318大肥精品软件合集:https://pan.lanzoui.com/u/qianxun8影视合集软件:https://www.lanzoui.com/b0jrkv4b暗部分享免费软件:https://www.lanzoui.com/u/chudali分享社软件分享:https://pan.lanzoui.com/b63771/稚初软件集合:https://pan.lanzoui.com/b200130无名软件汇总:https://pan.lanzoui.com/b206983/口令专享软件团队:https://pan.lanzoui.com/b240011/安卓破解类软件:https://pan.lanzoui.com/b828085Hs团队破解游戏:https://pan.lanzoui.com/b888887淘购街软件分享:https://pan.lanzoui.com/b165784小聪分享社合集:https://pan.lanzoui.com/b94326/允晨软件库合集:https://pan.lanzoui.com/b54212/电视盒子软件:https://pan.lanzoui.com/b167839/软件实验室合集:http://pan.lanzoui.com/u/ygtq软件田园合集:https://pan.lanzoui.com/u/longluobo日历APP分享合集:https://pan.lanzoui.com/u/hyfl北笙软件合集:https://www.lanzoui.com/b003fkotc青风软件分享合集:https://pan.lanzoui.com/b60564/蜗牛软件库:https://www.lanzoui.com/b1001808搬运鼠服务公社:https://pan.lanzoui.com/b218606小说软件合集:https://pan.lanzoui.com/b158157/漫画类软件合集:https://pan.lanzoui.com/b765262/FKzhang_WX模块:https://pan.lanzoui.com/b44314TV/盒子软件合集:https://www.lanzoui.com/b699768/ 密码:987456TV版电视盒子APP合集:https://ufoclz.lanzoui.com/b00zboiwb 密码:2kzzTV / 电视盒子软件合集:https://945km.lanzoui.com/b0er1olud 密码:9yua清秋暖冬合集:https://www.lanzoui.com/b474214 密码:qingqiu阿友软件合集:https://pan.lanzoui.com/u/aybaba影视TV版APP合集: https://lanzoui.com/b00t6lcrg 密码:QPMZ戏子软件库分享:https://www.lanzoui.com/b554854免费看视频:https://www.lanzoui.com/b749444黑科技玩机:https://www.lanzoui.com/b281858兜兜线报软件合集: https://www.lanzoui.com/b133841/软科技软件合集: https://www.lanzoui.com/u/13145212431霖淘购软件共享: https://www.lanzoui.com/b252370/小鹏软件合集:http://www.lanzoui.com/u/xiaopengi分享社:https://www.lanzoui.com/b63771/『BhVip』软件更新合集:http://pan.lanzoui.com/u/%E5%BD%AA%E7%85%8Cqq1846055318软件梦软件合集:https://www.lanzoui.com/u/Hicro全网软件分享合集:https://www.lanzoui.com/b117359全网软件合集:https://www.lanzoui.com/b66477软件合集:http://www.lanzoui.com/u/9383679软件库软件阁线报软件基地:https://www.lanzoui.com/b244238嗨分享软件合集:https://www.lanzoui.com/u/%E6%8B%BD%E6%8B%BD软件库软件游戏合集:https://www.lanzoui.com/u/rjk牛之家:https://www.lanzoui.com/u/memedawq星辰软件合集:https://www.lanzoui.com/u/azsoft爱分享团队软件合集:https://www.lanzoui.com/u/zqf000七月软件库:https://www.lanzoui.com/b196932软件大全:https://www.lanzoui.com/u/296742969旧梦软件集合:https://www.lanzoui.com/u/jinjunpo安卓软件合集:https://www.lanzoui.com/u/langman666小蠢货旗下软件合集:https://www.lanzoui.com/u/616737520大白软件库:https://www.lanzoui.com/u/dabai666牛牛软件合集:http://www.lanzoui.com/u/36277009软件屋:https://www.lanzoui.com/u/xaichen萝卜软件库:https://www.lanzoui.com/u/longluobo小银软件库:https://www.lanzoui.com/u/jiek优享汇-软件镖局:https://www.lanzoui.com/u/%E6%B1%9F%E4%B8%8A新起点软件库:https://www.lanzoui.com/u/xinqidian少软件集:https://www.lanzoui.com/u/%E4%B8%9C%E6%80%BB2017新世界软件合集:https://www.lanzoui.com/u/adminqizh少宇团队:https://www.lanzoui.com/u/shaoyu阿轻软件库:https://www.lanzoui.com/u/aq1433709042稚初软件分享:https://www.lanzoui.com/u/zhichuKl软件分享库:https://www.lanzoui.com/u/aguo软件分享基地:https://www.lanzoui.com/u/aiwangeA分享-全网软件合集:https://www.lanzoui.com/b205552/秋颜软件库:https://www.lanzoui.com/b341705天天分享软件库:http://pan.lanzoui.com/u/qq348740911游戏破解合集:https://www.lanzoui.com/b654140阡陌软件库:https://pan.lanzoui.com/b221640软件工厂精品软件:https://www.lanzoui.com/u/sg88nPlayer: https://www.lanzoui.com/b0cpu28tc乐淘分享软件库: https://www.lanzoui.com/u/YZ457104滚哥网盘资源: https://www.lanzoui.com/b838976电视盒子软件合集: https://www.lanzoui.com/b07xdohkf 密码:FULIBA安卓精选破解游戏合集:https://www.lanzoui.com/b053xt4vg陈蛋蛋的宝藏库:http://www.chendandan.ys168.com/阿虚同学的储物间:http://kyon945.ys168.com/建站源码:https://www.lanzouw.com/s/jz666/网站源码:https://www.lanzouw.com/b00t6jx2f更多软件:https://www.lanzoui.com/b0c8d2te/其他类型浏览器:https://www.lanzoui.com/b0c8jqyj
2023年02月09日
21 阅读
0 评论
0 点赞
2022-10-12
动作冒险闯关游戏 忍者大战
忍者大战是一款动作冒险闯关游戏。整合超多经典火影角色,技能经典复刻,格斗打击特效直接拉满,体验超爽格斗体验解锁大量金钱。下载地址{cloud title="" type="lz" url="https://qpan.lanzouw.com/iNegm0dolwhi" password=""/}
2022年10月12日
14 阅读
0 评论
0 点赞
2022-10-12
修改Hosts解决Chrome浏览器谷歌翻译无法使用的问题
在2010年Google宣佈退出中国之后,仅在中国保留了“谷歌翻译”服务和“谷歌地图”服务。2020年2月3日起“谷歌地图”服务关闭了。2022年9月末,搜索巨头谷歌旗下网页翻译工具“谷歌翻译”停止了中国区服务。Google方面表示,此举是因为Google翻译在中国大陆的使用率太低。这一变化影响了中国用户曾经可以使用的谷歌浏览器Chrome内置翻译功能。 目前,谷歌浏览器Chrome的翻译功能已无法使用,虽然可以用其它翻译工具代替,但是由于用户访问英文或其他语言网页,非常需要浏览器内置的翻译功能,仍旧无法改变使用谷歌翻译的习惯。解决无法使用Chrome浏览器谷歌翻译的方法修改本地Hosts文件选择使用“记事本”打开,在文件的末尾添加:180.163.151.34 translate.googleapis.com 203.208.40.66 translate.googleapis.com 220.181.174.226 translate.googleapis.comHosts文件位于C:\Windows\System32\drivers\etc注意:由于特定能访问的IP地址可能会经常发生变化,不保证一直可用,可以去站长工具Ping检测寻找最优节点进行修改。
2022年10月12日
28 阅读
0 评论
0 点赞
2022-10-07
必读的10本书
1.《富爸爸穷爸爸》——罗伯特•清崎这本书强烈推荐,彻底改变了我的金钱观。我以前也是属于那种不太会管钱的人,老是乱花钱,没有任何理财意识,只知道上班挣钱。我觉得我们国内对孩子财商教育这一块还是比较欠缺的,包括很多大人、家长也缺乏理财意识。但是在国外,理财已经成为很多家庭重要收入的一部分了。这本书是美国富商的自传,根据亲身经历编写的,它不会让你一夜暴富,但能帮你建立良好的金钱观念,慢慢变富。 2.《你当向鸟飞往你的山》——塔拉•韦斯特弗这本书也是作者自传,一个大山里的女孩通过教育改变了自己的命运,这本书也被比尔盖茨力荐。我们无法选择自己的出身,无法选择拥有怎么的父母,但我们可以选择改变自己。很多都觉得邓文迪是靠不光彩的手段上位,其实她自己曾说过,她所有的一切都受益于教育,是教育给了她洞察事物把握机遇的智慧。人活在世上,都应该有自己的目标和梦想,然后为之去努力奋斗,去飞往自己心中的山峰。 3.《蛤蟆先生去看心理医生》——罗伯特•戴博德这本书的成功之处在于将晦涩难懂的心理学痛过一群小动物表现出来。书中的主人公蛤蟆先生得了抑郁症,通过和心理医生的十次咨询,终于找到了痛苦的根源。像书中说的没有一种批判比自我批判更强烈。每个人都有变得更好的能力,想要事情改变,首先就要改变自己。真的不需要为了讨好他人而委屈自己,如果不能成全所有人,就先成全自己吧。 4.《真希望我父母读过这本书》——菲利帕•佩里这本书的作者是一位资深的心理治疗师,作者在书中通过育儿理论讲透了亲子关系、家庭成员关系以及人际关系。尤其是作为父母该如何教养孩子与子女相处。如果我们不反思自己是如何成长的,自己上一辈在我们身上留下的影响,有一天你会赫然发现,那些经历会冷不防地跳出来,给你一记回马枪。你可能会说过类似这样的话:“我一张嘴,说出来的话竟然跟我妈妈如出一辙。” 5.《亲密关系》——罗兰米勒这本书的优点是能让我们了解一些事物的本质,像之前网络上说的“男人来自火星,女人来自金星,”其实男人和女人本质上并没有太大区别,都需要被爱和被理解。这本书会让你知道许多矛盾产生的根源,知其然更知其所以然。也只有了解了问题产生的原因,才能从源头避免矛盾产生。 6.《山茶文具店》——小川系你有多久没提笔,在纸上写下对思念之人想说的话了?在镰仓有一家专门帮人代写书信的文具店,书中出现了十六封书信,有给去世宠物的吊唁信、有宣布离婚的公告信、有拒绝借钱的回绝信(这个挺有用的,我在下图附上了),也有写给挚友的分手信……一封封代笔信是客人们的写实生活,也是一节节人生课堂。 7.《幸福的方法》——泰勒幸福是一种能力,人人都可以学会,人人都能拥有。看过这样一段话:“只有不幸福的人才会思考自己是否过得幸福,因为幸福的人每天沉浸在快乐之中,感受不到幸福。”我觉得幸福真的是个很奇妙的东西,有人觉得有钱就是幸福,有人希望家人团聚就是幸福,每个人对幸福都有不同的理解和定义。但相同的是我们都渴望过得幸福也许对一个人来说最大的幸福就是眼中所见皆是美好吧。 8.《暂坐》——贾平凹《暂坐》以西安城为背景,描绘了一幅现代都市女性生活图。她们神秘着,美丽着,聚散往来之间,既深深吸引人,又令人捉摸不透。茶楼正是社会的缩影,环环相扣的命运展示着人物的生存状态和精神状态。贾老师在书中提出的13条员工守则,也是每一个读者每一个当代人在社会中的生存法则,蕴含了这位年近七旬的老人一生的智慧。 9.《人间失格》——太宰治我更愿意称之为“人间清醒”。太宰治在这本书中剖析了人性中最黑暗,最懦弱最绝望的部分,道破了我们长期以来压抑在心里的阴暗面。现实中的我们很多人都像主角一样,小心翼翼地把自己藏起来,表面上积极开朗,其实内心已经溃烂不堪。常常在独处的时候对一切事物感到厌恶,对生而为人感到痛苦。也许这本书就是告诉我们一直在这个世上苦苦挣扎的不止你一个。 10.《断舍离》——山下英子贾平凹说:“会活得人,或者说取得成功的人,其实懂了两个字:舍得。不舍不得,小舍小得,大舍大得。”只有丢掉拖累你的事物,你才能轻装上阵,走得更远。优质的生活在质不在量,就像交朋友一样,一百个酒肉朋友也抵不过一个人生知己。学会为自己的人生做减法,你会过得更加轻松。有些人,有些事该放下就放下,有些东西该丢掉就丢掉,千万别跟自己过不去。
2022年10月07日
25 阅读
0 评论
0 点赞
2022-09-21
HTTP缓存
前端缓存前端缓存可分为两大类:http缓存和浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自行去查阅。下面这张图是前端缓存的一个大致知识点: HTTP 缓存策略分为两种:强缓存 和 协商缓存 ,这两种缓存策略都是服务端设置 HTTP Header 来实现的(一)强缓存强缓存的意思很简单,直接从浏览器缓存过的本地进行读取,不会去请求服务器。例如请求一个图片,当缓存后,第二次访问,直接从本地去拿,不会再去请求这个资源,可以节省服务器资源。可以通过三种方式来设置强缓存Expires:服务端在响应头中设置一个 GMT 格式的到期时间。客户端的本地时间小于响应头的 Expires 时间,那么会从本地进行读取,不会去请求服务器。如果超过了,那么就去请求服务器去获取最新资源。但是就是因为根据本地时间进行判断,本地时间可以随便修改,所以这种缓存机制有漏洞,会与服务端时间有偏差,为了解决这个问题,就出现了下面的 Cache-contorlCache-control:他和Expires不一样,Expires是直接设置一个时间戳就行了,而Cache-control可以设置下面这几种属性:max-age:这个用于设置一个滑动时间,例如设置 max-age=30 表示客户端时间向后滑动30秒,在这30秒内都是强缓存,不会去请求服务器s-maxage:这个和上面的一样,只不过这个设置的是代理服务器的缓存时间privte:这个表示缓存只能被客户端的浏览器缓存,不能被代理服务器缓存public:这个表示缓存既可以被浏览器缓存,也可以被代理服务器缓存no-store:这个属性表示不缓存,在任何情况下,都是与服务器进行最新的交互no-cache:这个并非不缓存的意思,这个表示强制进行协商缓存,会在下面描述(二)协商缓存协商缓存表示在使用本地的缓存之前,会先向服务器发一个请求,与服务器协商当前浏览器的缓存是否已经过期了,如果没过期,那么就使用本地的资源,如果过期了就去请求最新资源。协商缓存主要是解决强缓存资源不能及时更新的问题,协商缓存服务端可以通过2种设置来实现:第一种:last-modified 配合 If-Modified-Since例如,客户端请求一个 03.jpg,服务端接收到这个请求后,会读取这个文件的最后修改时间,然后设置到响应头中,设置的参数就是 last-modified,参数值是文件最后修改的时间戳。客户端第二次请求 03.jpg 这个文件的时候,会带上一个 If-Modified-Since 参数,服务端能拿到这个参数与last-modified进行比对,如果一致,那么就返回304状态,否则就去请求最新的文件,使用nodejs实现这个代码:(注意协商缓存需要设置Cache-Control为no-cache,表示设置成协商缓存)... // 判断客户端请求的是03这个图片 if(pathname === '/img/03.jpg') { // 读取 03 图片的最后修改时间 const { mtime } = fs.statSync("./img/03.jpg") // 判断客户端发送过来的if-modified-since是否与mtime一致,如果一致就直接返回304 if(req.headers['if-modified-since'] === mtime.toUTCString()) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("last-modified", mtime.toUTCString()) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...上面的 last-modified 配合 If-Modified-Since在使用时有些弊端,例如将03.jpg修改成04.jpg,再改回03.jpg。此时这个文件其实是没有变化的,但是最后修改时间更改了,因此客户端就需要重新请求,因此就出现了下面的第二种使用Etag的方式第二种:Etag 配合 If-None-MatchEtag实现的方式服务端是为文件生成一个指纹,类似于MD5字符串。接着响应头中塞进 Etag 参数,参数的值就是计算出的字符串,客户端接收到后,第二次请求会带上一个 If-None-Match 的参数,接着服务端和上面第一种方式一样进行比对,nodejs的实现代码如下:// 引入 etag 模块 const etag = reqiure("etag") ... if(pathname === '/img/03.jpg') { const data = fs.readFileSync("./img/03.jpg") // 获取生成的etag字符串 const etag = etag(data) // 判断客户端发送的 If-None-Match 与服务端是否一致 if(req.headers['if-none-match'] === etag) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("etag", etag) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...
2022年09月21日
13 阅读
0 评论
0 点赞
1
2
...
34