首页
留言
统计
Looking Glass
常用脚本
关于
Search
1
linux设置ipv4优先或者ipv6优先
4,141 阅读
2
甲骨文oracle开启MFA(多因素验证)即两步验证图文教程
3,337 阅读
3
甲骨文oracle找回二次验证的方法
3,129 阅读
4
关于甲骨文Oracle Cloud 免费值不值得做站?-摘自LOc,感谢网友@冲浪麦浪花郎
1,903 阅读
5
新四大金刚:Pacificrack(PR)、Racknerd(RN)、Virmach(VIR)和Cloudcone(CC)口碑对比
1,732 阅读
默认评测
VPS推荐
口碑历史
福利消息
美区VPS
欧洲VPS
亚洲VPS
其它VPS
独立服务器
商家风云
技术流
登录
/
注册
Search
标签搜索
美国vps
大厂出品
日本vps
绿云
Virmach
greencloudvps
v.ps
搬瓦工
香港vps
xTom
德国vps
荷兰vps
大盘鸡
Linode
新加坡vps
独服
甲骨文
Oracle
gia
DMIT
VPS值
累计撰写
328
篇文章
累计收到
18
条评论
首页
栏目
默认评测
VPS推荐
口碑历史
福利消息
美区VPS
欧洲VPS
亚洲VPS
其它VPS
独立服务器
商家风云
技术流
页面
留言
统计
Looking Glass
常用脚本
关于
搜索到
15
篇与
的结果
2024-12-18
基于Cloudflare Pro和 Snippets 的WAF防护规则
本文转载自nodeseek@IPLark 本文尝试分享一些基于Cloudflare Pro 以及 Snippets 的防护规则/配置/代码。在规则方面,尽可能做到精简。世界上不可能有两个一模一样的站点(就算内容、程序一样,流量也不可能完全一样),所以也不可能有适配所有网站的通用WAF规则。本文例子中的站点为虚构站点(f47fb81b34.com,该网站是使用了开源程序typecho搭建的个人博客,日流量2000 IP左右),以下规则是针对该站点的。注:以下内容仅供参考。1. 对搜索引擎等友好爬虫进行过白 后续的WAF规则会对爬虫进行拦截,在这些规则之前,我们需要对友好的爬虫进行过白。假设我们需要将搜索引擎以及指定IP(13.3.3.3)纳入白名单。点击安全性,选择WAF,创建规则。请注意,该规则需要放置在后续其他拦截规则之前。注:Google Search Console的抓取工具属于Google Inspection Tool,该工具在Cloudflare Radar(https://radar.cloudflare.com/traffic/verified-bots )的分类中为安全性。在极少数场景下,Cloudflare 可能对搜索引擎的判断有误,这会导致极少数情况下无法对搜索引擎自动过白,这时候我们需要手动将搜索引擎IP纳入ip list里。谷歌ip list可参考:https://developers.google.com/search/apis/ipranges/googlebot.json https://developers.google.com/search/apis/ipranges/user-triggered-fetchers.json https://developers.google.com/search/apis/ipranges/user-triggered-fetchers-google.json必应ip list可参考https://www.bing.com/toolbox/bingbot.jsonIPlist的创建方法如下:1)点击管理账户。2)点击配置。3)点击列表,创建一个新的iplist。4)将需要过白的ip或ip段导入。如图所示5)回到刚才的WAF规则,重新编辑whitelist规则。2. 屏蔽恶意bot以及异常的请求 创建一条新规则,放置在whitelist之后,命名为block,采取措施为阻止。表达式(not len(http.request.headers["accept-language"]) > 0) or (not starts_with(http.user_agent, "Mozilla/5.0")) or (http.user_agent contains "bot") or (ip.src.country in {"T1"}) or (http.user_agent contains "Bot") or (http.user_agent contains "http") or (http.user_agent contains "rawler") or (http.user_agent contains "pider")注:CF防火墙的UA匹配是区分大小写的,部分bot UA会包含bot而部分会包含Bot,所以需要区分开来,而少部分UA可能会包含crawler或Crawler,所以上述规则用rawler匹配两种情况。正常的浏览器访客的UA都是以Mozilla/5.0开头且accept-language必定不为空。部分扫描程序的ua会包含http,但不包含bot,用UA包含http可以匹配并封禁掉众多公开扫描程序。比如 Censys部分Botnet来源于Tor节点,可根据实际情况觉得是否禁止tor用户访问。Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)3. 对部分异常流量进行质询 假设网站大部分用户都来自中文用户,那么可以accept-language进行进一步判断,比如大部分中文访客的accept-language都包含zh,如果请求中accept-language不包含zh,那么有可能为异常流量。且大多访客的http版本为http2和http3,就此我们可以设置一条新规则challenge,放在block规则之下。注:启用该规则后,正常访客有可能(小概率事件)也被要求完成人机验证。此外,CF有三种类型的人机验证,分别是交互式质询、托管质询和JS质询,JS质询无需用户点击,由浏览器自动执行脚本并完成验证,交互式质询需要用户点击确认框,而托管质询介于两者之间,根据用户环境,由CF选择对用户实行JS还是交互式质询。4. 对部分疑似恶意的请求进行质询/阻止 该规则组匹配的内容较多,篇幅有限,就不一一说明了。表达式如下(http.user_agent contains "MSIE") or (not http.request.method in {"GET" "POST" "HEAD"}) or (http.request.full_uri contains "well-known") or (len(http.request.headers["via"]) > 0) or (http.user_agent contains "; +") or (http.request.uri.path contains "//") or (http.x_forwarded_for contains ".") or (len(http.request.headers["x-forwarded-host"]) > 0) or (len(http.request.headers["cdn-loop"]) > 0) or (len(http.request.headers["cf-ew-via"]) > 0) or (http.user_agent contains "\\x09") or (http.user_agent contains "Trident") or (http.user_agent contains "Headless") or (http.request.uri contains "--+") or (http.user_agent contains "{") or (http.user_agent contains "$") or (http.user_agent contains "<") or (http.user_agent contains "script") or (http.request.uri contains "\\x") or (any(http.request.headers["sec-fetch-site"][*] contains "cr") and any(http.request.headers["sec-fetch-mode"][*] contains "no"))此规则组误报率极低,视实际情况,选择质询或阻止。5. 配置超级自动程序攻击模式(Super Bot Fight) 点击安全性,选择自动程序。开启后,CF会对部分模拟浏览器的自动化请求进行拦截(大概率是基于tls指纹,屏蔽了curl、golang等常见的tls指纹)。对低级的自动化请求有一定效果,聊胜于无。Business及以上版本可以开启对 likely automated 的请求的识别和阻止。6. 开启托管规则集,并进行微调 编辑该规则,参考下图,对部分默认规则进行覆盖。7. 开启DDoS规则覆盖,微调默认规则 点击编辑规则,搜索impersonate,修改部分参数,如下图所示,然后保存。8. 调整安全级别、开启浏览器完整性检查 点击安全性,选择设置,将安全级别由默认值改为高,并开启浏览器完整性检查。注:该功能作用甚微。9. 关闭IPv6、Pseudo IPv4以及洋葱路由 注:可根据实际情况决定是否关闭。关闭IPv6需借助api。借助api关闭ipv6后,还需进一步在WAF规则里对::/0进行屏蔽。10. 开启速率限制 在WAF中开启速率限制,具体配置需视情况而定。11. 利用Snippets做一个简易的302 cookie验证 当我们请求path.net时,会发现网站会返回307状态码,且在响应头里有一个名为CRANE的cookie,正常浏览器访问会根据网站响应头,设置cookie,这样第二次访问的时浏览器就会携带cookie访问 path.net,而低级的自动化程序是无法自动获取并携带cookie去请求网站的,而这将会让程序陷入无尽的307循环,如下图所示。据此,我们可以利用Cloudflare的Snippets做一个类似的简易人机验证,我们将访客的IP、访客UA以及自定义key进行组合,然后sha256对组合进行加密,并通过响应头发送给访客,访客访问网站时需携带snippets发送的cookie进行请求,才能顺利访问网站。点击网站规则,选择Snippets,点击创建片段。代码如下(仅供参考,自行修改secretKey的值)export default { async fetch(request) { const clientIp = request.headers.get('cf-connecting-ip') || ""; const ua = request.headers.get('user-agent') || ""; const secretKey = "h*dUm|mdS^6=QB)y"; // 组合并生成哈希值 const signatureBase = `${clientIp}${ua}${secretKey}`; const encoder = new TextEncoder(); const data = encoder.encode(signatureBase); const hashBuffer = await crypto.subtle.digest('SHA-256', data); const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); let cookies = request.headers.get('Cookie') || ""; // 检查是否包含特定的 Cookie if (cookies.includes(hashHex)) { // 如果已经包含,直接返回原始请求 return await fetch(request); } else { // 否则生成重定向响应 const newResponse = new Response(null, { status: 302, headers: { "Set-Cookie": `_test=${hashHex}; Path=/; HttpOnly`, "Location": request.url, } }); return newResponse; } }, };根据实际情况,匹配snippets生效规则。注:1.该snippets没有对搜索引擎进行过白,如果需要过白部分请求,需要做额外的处理。2.该snippets具有一定局限性,可以考虑纳入更多的请求参数,进一步完善snippets。3.该snippets对高阶的自动化请求无效。12. Snnippets拓展 例如可以利用snippets创建点击验证、验证码验证、hcaptcha验证等。一些示例(需用海外IP访问)点击验证https://iplark.com/playground/captcha/click图片验证码https://iplark.com/playground/captcha/imageHcaptchahttps://iplark.com/playground/captcha/hcaptchaHcaptchahttps://iplark.com/playground/captcha/hcaptchaimage首发于NodeSeek,本文转载。
2024年12月18日
63 阅读
0 评论
0 点赞
2024-12-18
甲骨文救砖ARM,无需重新挂载硬盘,netboot使用教程
本教程转(转LOC@千牛)前言: 前些天,出给了一个大兄弟日本的甲骨文,当时差点玩死,就是因为系统装好了,但是密码忘了还好大兄弟自己会技术,重新挂载硬盘,用另一个AMD去把ARM的给救回来了但是问题来了:如果没有AMD,怎么修复已经挂掉的甲骨文呢? 这就要用到这个神器了:netboot官网在 这里 。之前有过经验的都知道netboot只要有启动文件,就能去修复,但是问题是如何来那个efi启动文件步骤:新建一个shell 终端重启机器,一直按ESC键盘,然后进入Boot Manager / EFI Internal Shell执行命令,初始化网络dhcpFS0: ifconfig -s eth0 dhcp ifconfig -l eth0 ping 8.8.8.8`执行tftp拉取文件AMD机器tftp 146.56.117.218 amd.efi amd.efiARM机器tftp 146.56.117.218 arm.efi arm.efi使用拉取的efi文件修复、重装exit命令退出,然后进入Boot Maintenance Manager/Boot From File然后选择你下载的efi文件,进行重装我主要说一下关于tftp的源,我这里放了一个我自己的,但是不保证啥时候忘了就删了,所以放一个自己的docker有需要的自己直接用这个也能拉取了,对应改掉那个ip地址就行docker run -itd --name tftpd \ -p 69:69/udp \ -e PUID=1111 \ -e PGID=1112 \ --restart unless-stopped \ langren1353/netboot-shell-tftp后话: 最后附一个启动成功的图,剩下的自己摸索吧,基本上没啥问题了(据说AMD的好像不行,内存太小了启动不起来,ARM无问题):本次教程部分内容、思源来自这里 :
2024年12月18日
79 阅读
0 评论
0 点赞
2024-04-06
Debian12 编译安装qbittorrent
本教程适用于qBittorrent4.1.9-4.3.0.1或更新版本安装须知查阅https://github.com/arvidn/libtorrent步骤一:安装libtorrent 1.先安装依赖包:apt update apt install build-essential pkg-config automake libtool git libgeoip-dev python3 python3-dev apt install libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev apt install qtbase5-dev qttools5-dev-tools libqt5svg5-dev zlib1g-dev 2.安装libtorrent 1.2.19:wget https://github.com/arvidn/libtorrent/releases/download/v1.2.19/libtorrent-rasterbar-1.2.19.tar.gz tar xf libtorrent-rasterbar-1.2.19.tar.gz cd libtorrent-rasterbar-1.2.19 ./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c++17 make -j$(nproc) make install ldconfig注意提示,有可能c++版本不适合你的系统,可自主选择,如CXXFLAGS=-std=c++17步骤二:安装qBittorrent 下载地址:https://github.com/qbittorrent/qBittorrent/tags可自行选择版本 qBittorrent4.3.9为例wget https://github.com/qbittorrent/qBittorrent/archive/refs/tags/release-4.3.9.tar.gz tar xf release-4.3.9.tar.gz cd qBittorrent-release-4.3.9 ./configure --disable-gui --disable-debug make -j$(nproc) make install 步骤三:设置开机自启 编辑: nano /etc/systemd/system/qbittorrent.service 输入以下内容:[Unit]Description=qBittorrent Daemon ServiceAfter=network.target[Service]LimitNOFILE=512000User=rootExecStart=/usr/local/bin/qbittorrent-noxExecStop=/usr/bin/killall -w qbittorrent-nox[Install]WantedBy=multi-user.target启用以上设置:systemctl enable qbittorrent.service 步骤四:首次启动qBittorrent(首次启动请按y确认条款) qbittorrent-nox 按Ctrl+C退出后台运行qBittorrent:systemctl start qbittorrent.service 安装完成访问WebUI:http://你的IPADDRESS:8080/默认用户名:admin默认密码:adminadmin为了安全,可修改8080端口,用户名及密码接着:关闭qBittorrent命令:systemctl stop qbittorrent.service 启动qBittorrent命令:systemctl start qbittorrent.service 重启qBittorrent命令:systemctl restart qbittorrent.service 步骤五:创建下载文件夹和设置权限 现在目录可根据自己设置 mkdir /home/Downloads chmod 777 /home/Downloads 把下载路径设置到/home/Downloads就OK了!
2024年04月06日
117 阅读
0 评论
0 点赞
2023-12-03
在CoudFlare上进行SaaS设置的教程
CloudFlare是一个非常不错的SaaS平台,它可以帮助用户免费使用CNAME接入域名解析。通过CloudFlare的DNS服务,用户可以快速地将自己的域名解析到具体的IP地址上,从而实现云上部署。一、准备工作 首先,假设我建站,用hostloc.com这个域名,DNS可以接入到dnspod(或者其他)其次,我需要一个便宜的域名,123456.xyz或者其他任意能接入CF的域名均可,一般选择比较便宜的就行了,甚至免费的,比如eu.org—————————————————————————————————接着,登录CF,正常接入123456.xyz这个域名(DNS接入CF官方)接入完成后点进123456.xyz的设置界面,侧栏找到“SSL/TLS”,点进去有个“custom-hostnames”,然后一路点,(第一次点开的话)需要你绑卡或者绑paypal支付方式绑定完事之后,启用SAAS二、具体设置 ————————————————————————————————第一步,在“custom-hostnames”页面,“Add Fallback Origin”添加回退源,就是要告诉CF你的源站(二级域名)前缀随便用啥都行,不影响,我这里就用mjj,也就是mjj.123456.xyz首先去“DNS”那里,添加一个A记录(或其他)指向你的源站,云朵开不开不影响,建议开着然后回到“custom-hostnames”的“Add Fallback Origin”,输入你刚刚指向源站的那个二级域名过1分钟左右,就显示Fallback Origin status: Active以上(第一步)需要操作的只有123456.xyz这个域名另补充一下,这个xyz域名只需在CloudFlare里操作,不需要在源站服务器的nginx/apache之类的服务绑定。不要混淆了。——————————————————————————————————————第二步,还是在“custom-hostnames”页面,有个很明显的大按钮“Add Custom Hostname”点开,输入建站的域名,假设是www.hostloc.com,其他不用改,tls1.0、txt验证添加后会提示你,让你设置2个txt记录,分别是域名所有权的和SSL证书的验证,这个没什么好说的,不会的话我也没办法了再设置一个cname记录到mjj.123456.xyz(前面设置回退源的那个二级域名)(另外如果有之前就A到CF的IP的记录也先暂停或者删掉)为什么要这样设置的,因为如果你A记录解析到自选IP,有时会过不了验证顺利的话,过几分钟就验证完了,有时会长一点验证完成后,cname记录mjj.123456.xyz是可以删掉的,这样不会暴露这个xyz域名,再就是因为相当部分MJJ搞这个目的是自选IP对吧,然后就放飞自我吧,直接A你的自选IP以上(第二步)需要操作的DNS只有hostloc.com这个域名————————————————————————————————————————结束
2023年12月03日
183 阅读
0 评论
0 点赞
2023-12-01
提高安全性VPS修改SSH端口及从密码改为密钥登录
一、修改端口Debian、Ubuntu等系统比较简单(1)输入下列命令nano /etc/ssh/sshd_config在修改端口之前,先添加一个端口,找到 Port 进行修改将Port 22 去掉#并添加新端口Port 10022修改之后,进行保存(2)重启systemctl restart sshd2.Centos稍微复杂点(1)输入下列命令nano /etc/ssh/sshd_config在修改端口之前,先添加一个端口,找到 Port 进行修改将Port 22 去掉#并添加新端口Port 10022修改之后,进行保存 (2) 向防火墙中添加修改的端口假设端口修改为12345,向防火墙中添加端口的命令为:firewall-cmd --zone=public --add-port=12345/tcp --permanentreaload 防火墙规则:firewall-cmd --reload查看端口是否添加成功: firewall-cmd --zone=public --query-port=17186/tcp注意: 这里的设置是在 CentOS 7 版本下的操作 , 低于 CentOS 7的版本不支持防火墙如果未启用,可通过下列命令打开:systemctl start firewalld查看防火墙状态:systemctl status firewalld(3)向SELinux中添加修改的SSH端口在向SELinux中添加端口之前需要先安装SELinux的管理工具 semanage (如果已经安装了就直接到下一步) :yum provides semanage在这里我们看到运行 semanage 需要先安装其依赖工具包 policycoreutils-python :yum install policycoreutils-python安装好之后,可以直接使用 semanage 命令: 查询当前 ssh 服务端口: semanage port -l | grep ssh向 SELinux 中添加 ssh 端口:semanage port -a -t ssh_port_t -p tcp 12345验证 ssh 端口是否添加成功:semanage port -l | grep ssh添加成功之后就可以重启 ssh 服务了:serivce sshd restart————————二、改用密钥登录 以Debian为例:1.首先打开xshell等工具创建密钥,如xshell->工具(T)->新建用户密钥生成向导(W)密钥类型: ECDSA 密钥长度选择 521 位->下一步再次下一步->名称可修改,这里默认 id_ecdsa_521 接着输入给密钥设的密码->下一步保存为文件,默认在..Xshell\Sessions文件夹中,文件名 id_ecdsa_521.pub2.上传以及测试 cd /root/.ssh/安装上传工具 apt-get install lrzsz上传 rz -be查看是否上传成功 ls authorized_keys id_ecdsa_521.pub如果没有authorized_keys 需要先创建touch authorized_keys && chmod 700 /root/.ssh/ && chmod 600 /root/.ssh/authorized_keys cat id_ecdsa_521.pub >> authorized_keys && chmod 600 authorized_keys如果碰到.ssh文件夹不存在ssh localhost -p 21755如果没改过端口 就是ssh localhost输入yes输入root密码如果提示密钥没在电脑上注册root目录下键入以下命令chmod 700 .ssh cd .ssh chmod 600 * service sshd restart断开ssh,重新连接,使用密钥登录3.禁止密码登录注意:验证了密钥能正常登陆之后,再执行以下步骤(避免无法远程连接服务器)这三条可以一起复制在xshell中执行sed -i 's/^#\?\(PubkeyAuthentication\s*\).*$/\1yes/' /etc/ssh/sshd_config; sed -i 's/^#\?\(PasswordAuthentication\s*\).*$/\1no/' /etc/ssh/sshd_config; sed -i 's/^#\?\(ChallengeResponseAuthentication\s*\).*$/\1no/' /etc/ssh/sshd_configRestart SSH servicesystemctl restart sshd如果禁止密码登录失效(常见于ubuntu)删除50-cloud-init.conf文件或者在50-cloud-init.conf配置文件中配置禁止密码登陆参数vim /etc/ssh/sshd_config.d/50-cloud-init.conf (1)修改为PasswordAuthentication noPubkeyAuthentication yes(2)保存退出 然后重启SSHsystemctl restart ssh完毕。
2023年12月01日
156 阅读
0 评论
0 点赞
2023-10-02
甲骨文oracle找回二次验证的方法
转自LOC官方认证的方法:因为更换手机丢失了二次验证。然后给客户沟通,获得了找到二次验证的办法,希望对你有用。1、登录到账号登陆界面,查看地址栏当中自己的IDCE地址(yourIDCS_Stripe_here)部分,并复制。https://idcs-yourIDCS_Stripe_here.identity.oraclecloud.com/比如“https://idcs-1228021fd2t34dca9981884078364f13.identity.oraclecloud.com/ui/v1/signin”2、然后将自己的IDCS地址(yourIDCS_Stripe_here)复制到下方连接相应的位置,并在浏览器中重新打开新的地址。https://idcs-yourIDCS_Stripe_here.identity.oraclecloud.com/ui/v1/myconsole?root=my-info&my-info=my_profile_security比如“https://idcs-1228021fd2t34dca9981884078364f13.identity.oraclecloud.com/ui/v1/myconsole?root=my-info&my-info=my_profile_security”3.在新的地址当中登录你的账号4.重新设置只验证设备
2023年10月02日
3,129 阅读
7 评论
3 点赞
2023-09-17
解决ransmission错误一则:UDP Failed to set receive buffer
运行transmission出现错误:transmission-daemon[32127]: UDP Failed to set receive buffer: requested 4194304, got 425984transmission-daemon[32127]: UDP Failed to set send buffer: requested 1048576, got 425984解决方法:位置/etc/sysctl.conf增加两行:net.core.rmem_max = 16777216 net.core.wmem_max = 4194304重新载入参数:sysctl -p重启transmission服务:systemctl status transmission-daemon
2023年09月17日
66 阅读
0 评论
0 点赞
2023-08-05
宝塔搭建开源网络记事本:minimalist-web-notepad
不同终端倒段文字,复制粘贴个代码,从手机到电脑,从一个电脑到另一个,还是比较麻烦。网盘太重,微信需要验证,自建极简单记事本minimalist-web-notepad即可解决,宝塔下建立更是非常方便,网上不少推荐Docker建立的反而麻烦。1. 新建一个网站,例如:note.xxx.yyy;申请ssl等略。2. 拷贝项目文件夹里下载的文件到 note.xxx.yyy 的根目录: 在官方github上下载拷贝,或者终端git clone3. 修改 index.php 文件第四行,"$base_url"变量处将网址改为 note.xxx.yyy。 在第十七行可以修改生成网址的随机字符串位数和字符(不改也可以,比较懒,所以把-5改成了-3,随机生成网址后缀就只有三个字符了):4. 修改该网站的主配置文件,添加 URL 重写代码,打开网站-设置-config,编辑config文件在最后一个大括号{前添加:如果网站文件在主目录下:location / { rewrite ^/([a-zA-Z0-9_-]+)$ /index.php?note=$1$is_args$args; }如果网站文件在某目录如notes目录下:location ~* ^/notes/([a-zA-Z0-9_-]+)$ { try_files $uri /notes/index.php?note=$1$is_args$args; }5. 网站文件下“_tmp”目录的权限改为WWW的755,以方便读写!6. 伪静态设置为空效果如下图:注意: 不要用别人搭建的链接去分享敏感信息,因为在服务器端是可以直接看到内容的! 参考: 主页:https://github.com/pereorga/minimalist-web-notepad
2023年08月05日
204 阅读
0 评论
0 点赞
2023-04-02
[总结] nat机器到底怎么套cloudflare,全方位解读
感谢nodeseek论坛的-X- 原贴地址:https://www.nodeseek.com/post-44-1众所周知,Nat机器由于大量用户公用一个ipv4,很容因很容易被照顾,因此通常需要借助使用cloudflare使用。但是很多新手对如何套cloudflare一头雾水,即使是老手对于一些新的cloudflare特性也不是非常了解。还有一些朋友发现,其nat服务商的ipv6给的是Hurricane Electric的网络地址,早年cloudflare为了避免滥用“cf-he”接入方式完全禁止了HE的ipv6网段,因此失去了下面要讲的第一种方法的可能性,但这种情况下仍然可以成功利用cloudflare的,只是很多人不清楚,因此这里关于“套cloudflare”进行一下总结。套cloudflare其实是一个很土的说法,其实就是利用cloudflare作为CDN,当发起一个http(s)请求的时候,先由cloudflare接受,然后转发到nat服务器。考虑到cloudflare作为网络基础设施,其被照顾的影响过于复杂因此很难直接照顾。为什么nat机器不好套cloudflare呢,是很多人习惯了直接用vps的公网ipv4接入cloudflare,但是nat是没有ipv4的,无法直接接入。还有一些服务商提供了ipv6 only的服务器,直接没有ipv4地址,更需要特殊对待。针对不同的情况,有几种变通策略。使用ipv6接入最常见的,很多人第一反应就是使用ipv6接入,也就是添加AAAA解析。常见的nat商家(比如gullo/webhorizon/natvps.uk等)都是提供nat v4 + 独立ipv6地址的,因此虽然无法直接使用共享ipv4的80/443端口进行接入,但是可以使用独立ipv6接入,毕竟ipv6是独享的所有端口皆可以使用。如下图所示就是接好了。这种接入方法是最容易想到,也是非常稳定的方案。但是有几种情况不能使用这种方法:如果商家的ipv6网络是Hurricane Electric,cf禁止接入。比如gullo的部分地区(纽约等)商家不提供ipv6地址,比如最近很火的khanwebhost使用Origin Rules众所周知,nat服务器之所以被称为nat服务器,是因为ipv4地址共享,每个人只能使用部分端口。那么我们能不能使用这些端口进行接入呢。在半年前,也许答案是否定的,因为Cloudflare支持使用的非标端口很少,并且都是低位端口号,nat服务商的端口号一般都在10000以上,因此不好使用cf支持的非标端口。但是今年cloudflare免费开放了他们的Origin Rules,这允许我们使用任何端口接入到cf网络。配置如下:注意,vps本地的http服务器(如nginx)需要监听对应的非标端口。使用服务商域名forwarding + cloudflare接入一般而言,nat机器服务商,都提供一种服务,就是域名forwarding,简单而言就是其宿主机器监听公网80/443端口,然判断收到请求的域名(host/sni)后forward到对应的nat vps实例的内网地址。这种想法很好,但问题是很多他们用来监听80/443端口的公网地址阵亡了。虽然如此,这并不影响我们使用80/443端口接入cloudflare,我们仍然可以使用cloudflare添加A记录到这些宿主机器的ipv4地址,然后在服务商面板上添加域名forward规则。注意,vps本地的http服务器(如nginx)需要监听对应的内网地址。使用Cloudflare允许的非标准端口接入cloudflare官方支持一系列非标准web端口进行接入,如果你的ipv4被照顾了,但是仍然想要接入,除了上面提到的两种方法,还可以使用Cloudflare允许的非标准端口。具体可以用的端口如下:那么你可能会问了,这些端口我的nat机器服务商都没有对我开放,怎么办。nat服务商除了提供域名映射以外,还提供端口映射,你可以把上面提到的cf支持的非标端口转发到内网ip,然后使用cf添加A记录解析,最后使用非标端口访问你的域名达到目的。只不过这种方法显得比较鸡肋,作为一种后备方案好了。使用cloudflare argo接入最后的最后,有些情况下服务商并没有提供公网ipv4/ipv6,比如pikapods的容器服务,可以使用cloudflare argo接入。限于篇幅,感兴趣的可以搜索相关教程,有时间可能会单独开一帖子介绍相关有趣玩法。
2023年04月02日
616 阅读
0 评论
0 点赞
2022-12-09
甲骨文oracle开启MFA(多因素验证)即两步验证图文教程
最近不时传出甲骨文账号被盗,还是开启MFA(多因素验证)即两步验证比较安全,具体教程如下(感谢LOC论坛大佬@vps理论研究家大佬):
2022年12月09日
3,337 阅读
1 评论
4 点赞
2022-10-18
op 5O/online 3O C2350 安装Win10/win2012 教程
首先在面板上用救援模式启动,执行dd命令后退出,再以正常模式启动。dd win10 ltscwget -qO DebianNET.sh qiu.sh/dd && bash DebianNET.sh -dd "https://dl.lamp.sh/vhd/zh-cn_windows10_ltsc.xz"用户名: administrator密码: Teddysun.comWindows Server 2012 R2中文版:wget -O- --no-check-certificate https://down.xieyang.org/Windows/ISO/Win2012R2CN.gz |gunzip|dd of=/dev/sda用户名 :Administrator密码:Laiboke.com
2022年10月18日
127 阅读
0 评论
0 点赞
2022-08-08
linux设置ipv4优先或者ipv6优先
感谢LOC网友@好鸭/etc/gai.conf中取消这一行配置的注释就是ipv4优先,否则是ipv6优先(默认)取消掉这个注释 > sed -i "s/#\?precedence ::ffff:0:0\/96 100/precedence ::ffff:0:0\/96 100/" /etc/gai.conf 改回去(恢复系统默认) sed -i "s/^precedence ::ffff:0:0\/96 100/\#precedence ::ffff:0:0\/96 100/" /etc/gai.conf 推荐下面这种(最推荐的是手动改) 直接加一行到最后 echo "precedence ::ffff:0:0/96 100" >> /etc/gai.conf 删掉(恢复系统默认) sed -i "/^precedence ::ffff:0:0\/96 100/d" /etc/gai.conf 改变是即时生效的判断,看看是ipv4还是ipv6就知道了(任意一个双栈的都可以) curl ip.sb curl ip.gs
2022年08月08日
4,141 阅读
1 评论
0 点赞
2022-06-01
free.fr免费空间搭建图床及小文件分享Jirafeau及利用Cloudflare进行反代设置
Jirafeau是更新到现在的一款简洁易用的临时在线PHP网盘程序,允许您“一键式文件共享”。它可以以一种简单的方式上传一个文件,并为其提供一个独特的链接。因此Jirafeau既可以作为图床也可以作为小文件分享。1、首先实现对空间的文件传输,最简单是上传一个PHP webshell 方法1:利用法国代理访问官方的ftp,地址:ftpperso.free.fr方法2:买个法国VPS自己做web ftp,也可用别人搭建好的,推荐一个:https://ftp.feixiang.eu.org/ 账户/密码:mjj/mjj(感谢LOC网友@feixiang)上传一个PHP webshell,推荐filebox.php,详见:https://github.com/or2me/Filebox 2、启动Free.fr支持php5.6 free.fr空间目前还不支持php7,所以所有php都要支持5.6及兼容的才行。在根目录新建一个文件 .htaccess ,然后把下面的代码粘贴进去。<IfDefine Free> php56 1 </IfDefine> ErrorDocument 404 /404.html3、上传Jirafeau 假设你的空间名为abc.free.fr,那么你的filebox访问地址为:http://abc.free.fr/filebox.php在https://gitlab.com/mojo42/Jirafeau上下载压缩包,zip结尾最好利用filebox上传文件到根目录,上传时选择解压缩。4.设置Jirafeau (1)手动新建一个sessions文件夹在根目录,记得给写入权限。(2)上传好的文件一般解压缩成文件夹Jirafeau-master。(3)访问http://abc.free.fr/Jirafeau-master/install.php进行安装。注意末尾带/,具体安装见Jirafeau主页。(4)访问http://abc.free.fr/Jirafeau-master/index.php即可实现访问了,分享图或者文件即可。5.CloudFlare Workers反代 (1)创建一个Workers,启动器选HTTP handler。编辑上面的Workers,复制下面代码,修改下域名,支持二级以上目录,比如http://abc.free.fr/Jirafeau-master/,但同样的必须以/结尾。addEventListener('fetch', event => { const request = event.request; const url = new URL(request.url); const response = fetch('http://abc.free.fr/Jirafeau-master/' + url.pathname + url.search, { method: request.method, headers: request.headers, body: request.body, }); event.respondWith(response);(2)添加域名,在域名里添加路由,假设你添加的域名为cba.xxx.xyz,解析A的IP可以随便填,例如1.2.3.4,然后在worker里添加:(3)注意在Scrape Shield 里面 关闭 Hotlink 保护(4)为防止免费空间因为滥用而被限制,设置下缓存。6、如果以上设置正确,搭建就完成了 访问http://abc.xxx.xyz即可看到Jirafeau。
2022年06月01日
421 阅读
0 评论
0 点赞
2022-05-29
推荐一个好用的开源的思维导图md笔记软件
特色使用方便:使用 Monaco 内核,专为 Markdown 优化,拥有和 VSCode 一样的编辑体验。功能强大:支持历史版本回溯;可在文档中嵌入小工具、可运行的代码块、表格、PlantUML 图形、Drawio 图形、宏替换等;支持接入 OpenAI 自动补全。兼容性强:数据保存为本地 Markdown 文件;拓展功能尽量用 Markdown 原有的语法实现。插件拓展:支持用户编写自己的插件来拓展编辑器的功能。支持加密:用来保存账号等隐私文件,文件可单独设置密码。注意事项为了更高的拓展性和方便性,Yank Note 牺牲了安全防护(命令执行,任意文件读写)。如果要用它打开外来 Markdown 文件,warning请务必仔细甄别文件内容是值得信任的warning。加密文件的加密解密操作均在前端完成,请务必牢记自己的密码。一旦密码丢失,就只能暴力破解了。特色功能以下功能具体使用可参考特色功能说明同步滚动: 编辑区和预览区同步滚动,预览区可独立滚动目录大纲: 预览区目录大纲快速跳转版本管理: 支持回溯文档历史版本文件加密: 以 .c.md 结尾的文件视为加密文件自动保存: 文件编辑后自动保存,未保存文件橙色标题栏提醒(加密文档不自动保存)编辑优化: 列表自动补全粘贴图片: 可快速粘贴剪切板里面的图片,可作为文件或 Base64 形式插入嵌入附件: 可以添加附件到文档,点击在系统中打开代码运行: 支持运行 JavaScript、PHP、nodejs、Python、bash 代码待办列表: 支持显示文档中的待办进度,点击可快速切换待办状态快速打开: 可使用快捷键打开文件切换面板,以便快捷打开文件,标记的文件,全文搜索文件内容内置终端: 支持在编辑器打开终端,快速切换当前工作目录公式解析: 支持输入 katex 公式代码样式风格: Markdown 使用 GitHub 风格样式和特性数据仓库: 可定义多个数据位置以便文档分类外链转换: 将外链或 BASE64 图片转换为本地图片HTML 解析: 可以直接在文档里面使用 HTML 代码,也可以使用快捷键粘贴复制 HTML 为 Markdowndocx 导出: 后端使用 pandoc 做转换器TOC 支持: 生成 TOC 在需要生成目录的地方写入 [toc]{type: "ol", level: [1,2,3]} 即可编辑表格单元格: 双击表格单元格即可快速编辑复制标题链接: 复制标题链接路径到剪切板,便于插入到其他文件嵌入小工具: 文档支持内嵌 HTML 小工具嵌入 PlantUML 图形: 在文档内内嵌 PlantUML 图形嵌入 drawio 图形: 在文档中内嵌 drawio 图形嵌入 ECharts 图形: 在文档中嵌入 Echarts 图形嵌入 Mermaid 图形: 在文档中嵌入 Mermaid 图形嵌入 Luckysheet 表格: 在文档中嵌入 Luckysheet 表格嵌套列表转脑图展示: 可将嵌套列表用脑图的方式展示元素属性书写: 可自定义元素的任意属性表格解析增强: 表格支持表格标题多行文本,列表等特性文档交叉链接跳转: 支持在文档中链接其他文档,互相跳转脚注功能: 支持在文档中书写脚注容器块: 支持类似 VuePress 默认主题的自定义容器宏替换: 支持内嵌 JavaScript 表达式动态替换文档内容图床: 支持 PicGo 图床OpenAI: 支持接入 OpenAI 自动补全自定义插件: 支持编写 JavaScript 插件拓展编辑器功能。插件放置在 主目录/plugins 中。链接: github主页 全平台下载页面 截图:
2022年05月29日
37 阅读
0 评论
0 点赞
2022-05-24
2023年/2024年最新Scaleway星尘Stardust玩法API任意开+3G硬盘图文详细教程
原创感谢LOC网友@ajeef,2023年开始界面稍有变化1.获取ID信息 2023年变化,获取id方法在Project页面上:2.去github安装scaleway的api插件 scaleway官方cli的下载地址:https://github.com/scaleway/scaleway-cli3.运行并进行初始化设置: 2023年初始化界面稍有改变:首先注意在Windows11或Win10的Powershell(win11称之为终端)里面,exe程序的运行格式为: .\scw init ;CMD则按照图示格式。其次,初始化界面变为通过以下三个验证初始化:其中secret-key,access-key在你的控制页API-key中创建:在 Project dashboard -> Credentials 中点击 Generate new API KEY ,secret key只显示一次,所以记得保存好。 organization ID见上文Project ID。接下来步骤其余选项参考老版界面。4.创建新机器: 完整命令格式:scw instance server create type=STARDUST1-S zone=fr-par-1(开的位置这里改) image=debian_bullseye(我用Debian,你可以自己改) root-volume=l:10G name=scw-now-hertz ip=none project-id=51b4e5be-9xxx-4xxx-bxxx-4fxxxxx(换成你自己的)smzdm.win提醒需要注意一点的是,和甲骨文一样,开脚本提前创建好SSH-key,避免创建好后无法登陆。默认只能创建10G硬盘,这时候的价格是:5.硬盘改为3G的方法: (1)将刚创建完的机器登陆进去后试试,可以用SSH key登陆则正常,关机。(2)在/instance/volumes里面创建一块同地区的3G的Local Storage,并挂载到你要改的星辰下面(记得地区要一样的),然后删掉原来的10G盘。(这个要在小鸡外面的地方添加,直接在小鸡内部添加的话,那个不是local SSD,会略贵!直接地址是https://console.scaleway.com/instance/volumes)(3)(可选,不过强烈建议临时买个IPV4不然后面的DD比较麻烦)接着Attach一个IPV4出来并且记得挂载到实例上(如果你有CDN或v6的服务器来做web,可以提前下载好下面的镜像,然后挂载web里面,只要能在v6环境下访问就可以不需要挂载ipv4),拿来下载镜像的,用完记得删。(4)到实例的advanced-settings,选择Use rescue image(救援系统),这时候建议不要选3G的盘启动救援系统,而是直接启动(因为选了硬盘再D的话就不会升级内核了,而是用Ubuntu救援镜像的内核了)。(5)启动小鸡。(6)使用root账号和key登录小鸡,运行以下命令Debian 10: curl -Lo- "https://cloud.debian.org/images/cloud/buster/latest/debian-10-genericcloud-amd64.raw" | dd of=/dev/vda bs=1M curl -Lo- "https://cloud.debian.org/images/cloud/buster/latest/debian-10-genericcloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M Debian 11: curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.raw" | dd of=/dev/vda bs=1M curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M 上面的命令,按照自己的需求,DD运行Debian 10或者Debian11,没有错误的话,再执行下列命令parted -lpartprobeparted -s /dev/vda resizepart 1 100%e2fsck -f /dev/vda1resize2fs /dev/vda1最后我们就可以重启和去官网取消ipv4还有记得要把"Use rescue image"改回"Use local boot",并且下面的boot硬盘记得要选上刚才创建的3G盘,记得都Save哈。登录的时候,使用账号debian和key登录小鸡,使用sudo -i切换到root账号。(可以将key同步到root账号下,使用root账号登录,或者设置root密码,然后修改sshd的配置文件来使用root+密码登录小鸡)补充:理论上,2G的硬盘就够了,但是Scaleway给的2G硬盘貌似小于2G,上面的debian文件dd不进去,会报错~~~3G是此方法的最小值了.感谢LOC@Smilence网友。
2022年05月24日
1,395 阅读
0 评论
0 点赞