分类: 域名/VPS/服务器

域名优惠信息,vps及服务器的优惠信息及使用指南。

  • 自动抢购斯巴达机器脚本 Python 需要手动过下Google验证码

    自动抢购斯巴达机器脚本 Python 需要手动过下Google验证码

    其实之前的绿云的脚本稍微改动一下就可以抢斯巴达的机器了,但是很多人不会改,为了备战黑五,提前把脚本给大家撸出来了。

    由于斯巴达在提交的最后一步是reCAPTCHA,这个如果想自动过要花钱买,还挺贵的,我在这里自动填充完成后留了10分钟,自己过下验证码点提交订单就可以了。

    逻辑上还有优化的地方,有空再改吧。

    使用方法和绿云的一样,保存后使用python 运行

    import undetected_chromedriver as uc
    import requests
    import time
    import random
    
    from selenium.webdriver import Keys
    from selenium.webdriver.common.by import By
    
    
    def buy_service():
        # 这里是生成随机Hostname,你可以改为你的Hostname
        hostname = str(random.randint(10000, 99999)) + '.baidu.com'
        # 这里是生成随机密码,你可以改为你的密码
        rootpw = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba!', 4)) + str(random.randint(100000, 999999))
        print('Your root password:' + rootpw)
        # 购买商品的链接 特价机的gid=60,演示中设置gid=25
        url = 'https://billing.spartanhost.net/cart.php?a=add&pid=27'
        # 是否显示界面,linux下面这一行要放开。
        # option.add_argument("headless")
        uc_options = uc.ChromeOptions()
        # tried this first
        uc_options.headless = False
        # Then tried this option
        driver = uc.Chrome(options=uc_options)
    
        # 打开网页
        driver.get(url)
        driver.find_element(by=By.XPATH, value='//input[@id="customfield35"]').send_keys("hostloc")
        driver.find_element(by=By.XPATH, value='//*[@id="btnCompleteProductConfig"]').click()
        time.sleep(2)
        try_time = 1
        # 有优惠码的时候使用
        # for try_time in range(1, 7):
        #     try:
        #         time.sleep(0.24)
        #         driver.find_element(by=By.XPATH, value='//input[@name="promocode"]').send_keys('')
        #     except Exception:
        #         try_time = try_time + 1
        #         pass
        #         if try_time == 6:
        #             print("得你手动了骚年!")
        #             break
        #     else:
        #         break
        # driver.find_element(by=By.XPATH, value='/html/body/section[2]/div/div/div/div[1]/div/div/div[3]/div[2]/div[1]/div/div/div[1]/form/button').click()
        # time.sleep(0.7)
        driver.find_element(by=By.XPATH, value='//*[@id = "checkout"]').click()
    
        time.sleep(2)
        driver.find_element(by=By.XPATH, value='//button[@id="btnAlreadyRegistered"]').click()
    
        # 购买者邮箱
        time.sleep(2)
        driver.find_element(by=By.XPATH, value='//input[@name="loginemail"]').send_keys("username@qq.com")
        # 账号密码
        driver.find_element(by=By.XPATH, value='//input[@name="loginpassword"]').send_keys("mjj123123")
        # 最后这一行是付款界面的"点击结算".如果你想要测试脚本是否正常运行,可以先把这一句去掉,以免购买了给你发账单(虽然可以不付款)+
    
        driver.find_element(by=By.XPATH, value='//input[@id="accepttos"]').send_keys(Keys.SPACE)
        time.sleep(600)
        driver.find_element(by=By.XPATH, value='//button[@id="btnCompleteOrder"]').click()
        print("抢购成功!")
    
    
    if __name__ == '__main__':
        order = False
        header = {
            'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
        # 逻辑判断
        while not order:
            # 检测商品上货的链接 特价机的gid=60,演示中设置gid=25
            response = requests.get(url='https://billing.spartanhost.net/cart.php?a=add&pid=27', headers=header)
            if 'Out of Stock' in str(response.content):
                print('Mei Huo')
                print('时间:' + time.strftime('%H:%M:%S'))
                print("*" * 30)
                time.sleep(3)
            else:
                order = True
        if order:
            buy_service()
    
  • 全自动购买绿帽子云特价机器 也可以自己改下抢其它WHMCS的机器

    全自动购买绿帽子云特价机器 也可以自己改下抢其它WHMCS的机器

    更新了使用空格来选择checkbox,避免一些报错。

    必要第三方库有 requests 和 undetected_chromedriver
    直接pip install x 安装,不会百度肯定有.
    再者!!!,抢购的时候可能网站很卡响应时间太长(会报错?)所以建议把timesleep时间拉长,以免网页没加载完成点击事件会出错。

    理论上Whcms的都可以买的,只要把两个URL,优惠码和最后付款界面的点击改一下,即可.前提不要验证码

    建议放在国外小鸡上网速更快更好抢,linux,windows都可以。

    使用方法直接保存代码为file.py,然后命令行python file.py 就可以了。

    记得修改用户名,密码为自己的。

    关于产品ID的获取

    在产品 订购 上面右键检查元素,

    <a href="/billing/store/10th-birthday-sale/1010-birthday-jp" class="btn btn-success btn-sm btn-order-now" id="product75-order-button">
    <i class="fas fa-shopping-cart"></i>
    Order Now
    </a>

    id=”product75-order-button” 这个 product 后面的数字就是 pid

    import undetected_chromedriver as uc
    import requests
    import time
    import random
    
    from selenium.webdriver import Keys
    from selenium.webdriver.common.by import By
    
    
    def buy_service():
        # 这里是生成随机Hostname,你可以改为你的Hostname
        hostname = str(random.randint(10000, 99999)) + '.baidu.com'
        # 这里是生成随机密码,你可以改为你的密码
        rootpw = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba!', 4)) + str(random.randint(100000, 999999))
        print('Your root password:' + rootpw)
        # 购买商品的链接 特价机的gid=60,演示中设置gid=25
        url = 'https://www.greencloudvps.com/cart.php?a=add&pid=648'
        uc_options = uc.ChromeOptions()
        # 是否显示界面,linux下面这一行False改为True
        uc_options.headless = False
        # Then tried this option
        driver = uc.Chrome(options=uc_options)
    
        driver.set_window_size(700, 900)  # 设置浏览器大小
        # 打开网页
        driver.get(url)
        driver.find_element(by=By.XPATH, value='//input[@name="hostname"]').send_keys(hostname)
        driver.find_element(by=By.XPATH, value='//input[@name="rootpw"]').send_keys(rootpw)
        driver.find_element(by=By.XPATH, value='//input[@name="ns1prefix"]').send_keys('www')
        driver.find_element(by=By.XPATH, value='//input[@name="ns2prefix"]').send_keys('www')
        driver.find_element(by=By.XPATH, value='//*[@id="btnCompleteProductConfig"]').click()
        time.sleep(2)
        try_time = 1
        # 有优惠码的时候使用
        # for try_time in range(1, 7):
        #     try:
        #         time.sleep(0.24)
        #         driver.find_element(by=By.XPATH, value='//input[@name="promocode"]').send_keys('')
        #     except Exception:
        #         try_time = try_time + 1
        #         pass
        #         if try_time == 6:
        #             print("得你手动了骚年!")
        #             break
        #     else:
        #         break
        # driver.find_element(by=By.XPATH, value='/html/body/section[2]/div/div/div/div[1]/div/div/div[3]/div[2]/div[1]/div/div/div[1]/form/button').click()
        # time.sleep(0.7)
        driver.find_element(by=By.XPATH, value='//*[@id = "checkout"]').click()
    
        time.sleep(2)
        driver.find_element(by=By.XPATH, value='//button[@id="btnAlreadyRegistered"]').click()
    
        # 购买者邮箱
        time.sleep(2)
        driver.find_element(by=By.XPATH, value='//input[@name="loginemail"]').send_keys("username@qq.com")
        # 账号密码
        driver.find_element(by=By.XPATH, value='//input[@name="loginpassword"]').send_keys("passwd")
        # 最后这一行是付款界面的"点击结算".如果你想要测试脚本是否正常运行,可以先把这一句去掉,以免购买了给你发账单(虽然可以不付款)+
    
        driver.find_element(by=By.XPATH, value='//input[@value="payssionalipaycn"]').send_keys(Keys.SPACE)
        driver.find_element(by=By.XPATH, value='//input[@id="accepttos"]').send_keys(Keys.SPACE)
        time.sleep(2)
        driver.find_element(by=By.XPATH, value='//button[@id="btnCompleteOrder"]').click()
        print("抢购成功!")
    
    
    if __name__ == '__main__':
        order = False
        header = {
            'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
        # 逻辑判断
        while not order:
            # 检测商品上货的链接 特价机的gid=60,演示中设置gid=25
            response = requests.get(url='https://www.greencloudvps.com/cart.php?a=add&pid=648', headers=header)
            if 'Out of Stock' in str(response.content):
                print('Mei Huo')
                print('时间:' + time.strftime('%H:%M:%S'))
                print("*" * 30)
                time.sleep(3)
            else:
                order = True
        if order:
            buy_service()
    
    
  • CloudCone抢购脚本Python,为即将到来的黑五预热一下吧

    CloudCone抢购脚本Python,为即将到来的黑五预热一下吧

    token获取:

    抢购成功:

    #!/usr/bin/python
    
    # coding=utf-8
    import time
    import random
    import requests
    import json
    
    def run():
        while True:
            url = 'https://app.cloudcone.com/blackfriday/offers'  # cc链接
            url2 = "https://app.cloudcone.com/ajax/vps"  # 返回结果链接
            try:
                req_header = {
                    "Host": "app.cloudcone.com",
                    "Sec-Fetch-Dest": "empty",
                    "Sec-Fetch-Mode": "cors",
                    "Sec-Fetch-Site": "same-origin",
                    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36",
                    "X-Requested-With": "XMLHttpRequest",
                    "Cookie": "tihuan"
                }
                response = requests.get(url, req_header)
                html1 = str(response.content, "utf-8")
                jsondata = json.loads(html1)['__data']['vps_data']
                for num in jsondata:
                    if jsondata[num]['usd_price'] < 12:  # 小于多少刀
                        payload = {'os': '1007',
                                'hostname': 'baidu.com',
                                'location': '2',
                                'plan': num,
                                'method': 'provision',
                                '_token': 'tihuan',
                                }
                        response = requests.post(
                            url2, headers=req_header, data=payload, timeout=3)
                        if response.status_code == 200:
                            print(response.text)
            except Exception as e:
                print(e.__str__())
                continue
            #time.sleep(2.5*random.randint(2, 10))
    
    
    if __name__ == '__main__':
        run()

    使用中注意一下,如果少依赖就 pip install一下。

    首先登录,登录后将获取的cookie值复制到python中替换 “tihuan” 里边的内容,然后直接 python this.py运行就可以了。

  • 2023年如何搭建干净的DNS服务

    因为一些众所周知的原因, 我们可以尝试自己搭建干净/安全的DNS服务,一切都只要掌握一些简单知识/技巧.

    ## 懒人提示

    对于绝大多数不愿意折腾的人而言, 223.5.5.5作为dns服务器就够了

    ## 搭建原理

    首先呢, 地球上除了少数地方以外, Google家的8.8.8.8的DNS是非常理想的选择, 我们要做的,就是自建DNS服务, 通过DoH转发Google的DNS服务, 但是呢, 直接转发肯定是不行的,我们可以通过cf的workers无服务函数进行中转, 中转的时候顺便把自己的IP地址打码后传给Google DNS, 这样就能获得一个支持EDNS的DNS服务了(如果不传EDNS IP的话, 很多域名解析出来就是海外链路了, 速度必然受到影响).

    ## 开始实操

    整个过程总共分为六步, 一切顺利的话, 30分钟内就能完成搭建:

    1. 使用Technitium DnsServer自建一台DNS服务器
    2. 建立一个cf的Workers(其它厂商无服务函数也可以), 具体代码见附录, 这里要注意把EDNS的IP设置成你当地的IP(记得打码噢)
    3. 因为Workers的顶级域名被XX了, 这里需要在触发器自定义域添加一个自己的二级域名, 比如dns.demo.com
    4. 在Technitium DnsServer里设置Forwarder, Forwarder Protocol选DNS-over-HTTPS (JSON), 转发地址就是https://dns.demo.com/, 保存设置. (这里需要注意的是, Technitium DnsServer从v11版本开始去除了DNS-over-HTTPS (JSON)这个协议, 所以目前需要把版本锁定至v10)
    5. (可选)在DnsServer的日志里检查Forwarder转发是否成功
    6. (可选) DnsServer开启DNS-over-TLS, 需要自行准备ssl证书,对外开放一个public.demo.com:853服务, 这样就可以将其在安卓手机里设置为”私人DNS”了

    ## 附录

    addEventListener('fetch', function(event) {
    
        const { request } = event
    
        const response = handleRequest(request)
    
        event.respondWith(response)
    
    })
    
    const doh = 'https://dns.google/dns-query'
    
    const dohjson = 'https://dns.google/resolve'
    
    const contype = 'application/dns-message'
    
    const jstontype = 'application/dns-json'
    
    async
    function handleRequest(request) {
    
        const { method, headers, url } = request
    
        const searchParams = new
    URL(url).searchParams
    
        if (method == 'GET' && searchParams.has('dns')) {
    
            return
    await fetch(doh + '?dns=' + searchParams.get('dns')+'&edns_client_subnet=6.6.6.0/24', {
    
                method: 'GET',
    
                headers: {
    
                    'Accept': contype,
    
                }
    
            });
    
        } else
    if (method == 'POST' && headers.get('content-type')==contype) {
    
            return
    await fetch(doh, {
    
                method: 'POST',
    
                headers: {
    
                    'Accept': contype,
    
                    'Content-Type': contype,
    
                },
    
                body: await request.arrayBuffer()
    
            });
    
        } else
    if (method== 'GET' && headers.get('Accept')==jstontype) {
    
            const search = new
    URL(url).search
    
            const result = await fetch(dohjson + search + '&edns_client_subnet=6.6.6.0/24', {
    
                method: 'GET',
    
                headers: {
    
                    'Accept': jstontype,
    
                }
    
            });
    
            const secondCheck = await result.clone().json();
    
            if (secondCheck['Status'] == 0) {
    
                return result
    
            } else {
    
                // Some request name can't work with edns
    
                // "Status": 5 /* REFUSED */,
    
                return
    await fetch(dohjson + search, {
    
                    method: 'GET',
    
                    headers: {
    
                        'Accept': jstontype,
    
                    }
    
                });
    
            }
    
        } else {
    
            return
    new
    Response("", {status: 404})
    
        }
    
    }

  • 41合1的一键DD脚本 最好用的DD脚本 一键DD Linux/Windows

    41合1的一键DD脚本 最好用的DD脚本 一键DD Linux/Windows

    相关链接

    作者网站:https://git.beta.gs/

    GitHub:https://github.com/fcurrk/reinstall

    使用说明

    安装重装系统的前提组件

    Debian/Ubuntu

    apt-get install -y xz-utils openssl gawk file wget screen && screen -S os

    RedHat/CentOS

    yum install -y xz openssl gawk file glibc-common wget screen && screen -S os

    如果出现异常,请刷新Mirrors缓存或更换镜像源。

    RedHat/CentOS

    yum makecache && yum update -y

    Debian/Ubuntu

    apt update -y && apt dist-upgrade -y

    使用

    wget --no-check-certificate -O NewReinstall.sh https://git.io/newbetags && chmod a+x NewReinstall.sh && bash NewReinstall.sh

    如为CN主机(部分主机商已不能使用),可能出现报错或不能下载脚本的问题,可执行以下命令开始安装.

    wget --no-check-certificate -O NewReinstall.sh https://cdn.jsdelivr.net/gh/fcurrk/reinstall@master/NewReinstall.sh && chmod a+x NewReinstall.sh && bash NewReinstall.sh

    输入Y确认DD后主机自动获取IP,N则自行设置IP 输入N后会自动检测出主机现用IP,如果正确可以按Y确认使用,如不正确则按N自行按正确的输入。

    41合1的系统一键DD选择界面,输入99则使用自定义镜像。 以上系统密码不为默认密码的均为网络收集,如有疑虑使用自己的自定义镜像。

    41合一系统密码

    1、CentOS 7.7 (已关闭防火墙及SELinux,默认密码Pwd@CentOS)
    2、CentOS 7 (默认密码cxthhhhh.com)
    3、CentOS 7 (支持ARM64、UEFI,默认密码cxthhhhh.com)
    4、CentOS 8 (默认密码cxthhhhh.com)
    5、Rocky 8 (默认密码cxthhhhh.com)
    6、Rocky 8 (支持UEFI,默认密码cxthhhhh.com)
    7、Rocky 8 (支持ARM64、UEFI,默认密码cxthhhhh.com)
    8、CentOS 9 (默认密码cxthhhhh.com)
    9、CentOS 6 (官方源原版,默认密码Minijer.com)
    10、Debian 11 (官方源原版,默认密码Minijer.com)
    11、Debian 10 (官方源原版,默认密码Minijer.com)
    12、Debian 9 (官方源原版,默认密码Minijer.com)
    13、Debian 8 (官方源原版,默认密码Minijer.com)
    14、Ubuntu 20.04 (官方源原版,默认密码Minijer.com)
    15、Ubuntu 18.04 (官方源原版,默认密码Minijer.com)
    16、Ubuntu 16.04 (官方源原版,默认密码Minijer.com)
    17、Windows Server 2022 (默认密码cxthhhhh.com)
    18、Windows Server 2022 (支持UEFI,默认密码cxthhhhh.com)
    19、Windows Server 2019 (默认密码cxthhhhh.com)
    20、Windows Server 2016 (默认密码cxthhhhh.com)
    21、Windows Server 2012 (默认密码cxthhhhh.com)
    22、Windows Server 2008 (默认密码cxthhhhh.com)
    23、Windows Server 2003 (默认密码cxthhhhh.com)
    24、Windows 10 LTSC (默认密码Teddysun.com)
    25、Windows 10 LTSC (支持UEFI,默认密码Teddysun.com)
    26、Windows 7 x86 Lite (默认密码nat.ee)
    27、Windows 7 x86 Lite (阿里云专用,默认密码nat.ee)
    28、Windows 7 x64 Lite (默认密码nat.ee)
    29、Windows 7 x64 Lite (支持UEFI,默认密码nat.ee)
    30、Windows 10 LTSC Lite (默认密码nat.ee)
    31、Windows 10 LTSC Lite (阿里云专用,默认密码nat.ee)
    32、Windows 10 LTSC Lite (支持UEFI,默认密码nat.ee)
    33、Windows Server 2003 Lite (C盘默认10G,默认密码WinSrv2003x86-Chinese)
    34、Windows Server 2008 Lite (默认密码nat.ee)
    35、Windows Server 2008 Lite (支持UEFI,默认密码nat.ee)
    36、Windows Server 2012 Lite (默认密码nat.ee)
    37、Windows Server 2012 Lite (支持UEFI,默认密码nat.ee)
    38、Windows Server 2016 Lite (默认密码nat.ee)
    39、Windows Server 2016 Lite (支持UEFI,默认密码nat.ee)
    40、Windows Server 2022 Lite (默认密码nat.ee)
    41、Windows Server 2022 Lite (支持UEFI,默认密码nat.ee)
    99、自定义镜像

    注意事项

    系统名称后带Lite的均为精简版,没有的是完整版.
    [X64-Legacy-cxthhhhh]代表系统为AMD64位,支持传统BIOS启动,cxthhhhh定制的系统镜像.
    ARM64代表系统支持ARM64位
    UEFI代表系统支持最新的UEFI启动,如甲骨文全部都是这种
    aliyun代表阿里云专用系统镜像
    cxthhhhh、teddysun、nat.ee均为三位制作系统镜像的大佬代称
    系统密码会在选择相应序号后提示,请注意记录。
    经测试在谷歌云原版系统基础上DD会出现自动获取的子网掩码为255.255.255.255,如出现这种情况需要手工输入改正为正确的如255.255.255.0,否则会安装完成主机可能会离线。

    阿里云因使用了特殊的驱动,DD安装Windows系统选择阿里云专用版。

    Oracle Cloud(甲骨文云)可选择支持UEFI的镜像,注意基础系统最好选择Ubuntu,如原系统是CentOS可能无法成功,注意如是ARM机器注意选择同时支持ARM64和UEFI的镜像。

    9-16项安装原版系统,可自定义密码,密码要求8-16位,以英文字母或数字开头,可以是大小写英文字母、数字及7个特殊字符.!$@#&%的任意组合。

    报错Error! grub.cfg.解决办法

    mkdir /boot/grub2 && grub-mkconfig -o /boot/grub2/grub.cfg

  • 使用cloudflare tunnel加速海外SSH连接 完全免费又好用

    使用cloudflare tunnel加速海外SSH连接 完全免费又好用

    大家应该都有买过欧洲的VPS,到中国的网络连接非常不友好,延迟到三四百也是常有的事,以至于SSH连接输入命令都存在极大的延迟。而流量转发的价格一般都很贵,甚至到欧洲的流量转发都很少见,这里就推荐cloudflare tunnel来加速SSH连接。

    cloudflare是做CDN为主,其ZeroTrust(零信任)也是近几年开始做的业务,但是依旧保持了其免费的优点,且cloudflare在海外拥有海量的机房,不管是哪个地区都能得到非常不错的加速。

    cloudflare tunnel基础的使用方式就类似于VPN,需要服务器和客户端都安装client去接入,然后其服务器负责转发,但是cloudflare为中国提供服务的默认都是美国的服务器,这里方式去中转速度并不理想,并且国内很有遇到出现无法连接的问题。

    这里就用到了cloudflare提供的application功能,将会创建一个网页ssh客户端用于连接,而网页形式大家都有很好的加速办法,到cloudflare的网络也是极快的,那么这种方式就可以很有效的实现SSH加速。

    开通Zero Trust

    没有使用过cloudflare zero trust的用户需要先去开通,过程不赘述,需要绑定外币卡,选择免费套餐即可

    https://www.cloudflare.com/zh-cn/zero-trust/

    创建tunnel

    在zero trust的后台点击Access – Tunnels – Create a Tunnel

    随便起个名,然后根据其提示在VPS上安装客户端,常用系统均有一键脚本,也可以使用docker安装,也不过多赘述了

    然后在Public Hostname中添加,subdomain子域名随便起,domain选择绑定在cloudflare中的域名,下面service要选择SSH,URL填写SSH的IP:PORT

    创建Application

    在zero trust的后台点击Access – Applications – Add an application

    选择Self-Hosted

    Configure app

    Application name随便起名,Session Duration是会话超时时间,也可以随意设置,下面的域名要与刚才Tunnel Public Hostname一致,下面配置均默认直接NEXT

    2023-09-17T08:26:03.png

    Add Policy

    添加访问控制策略Policy name任意,Action选择Allow,Configure rules选择Emails填入自己账号的邮箱,别把自己拦在外面了,下面配置默认直接NEXT

    2023-09-17T08:31:35.png

    Setup

    拉到最下面Additional settings,Browser rendering选择SSH,可以看到他还支持VNC,说明linux的桌面连接也支持这种方式进行加速。甚至windows也可以安装vnc服务器来提供远程,实现用cloudlfare进行加速。

    效果测试

    到这里就已经完成所有配置了,网页打开之前配置的域名就跳转到cloudflare zerotrust的登录界面了,输入邮箱接验证码登录
    然后就可以使用密码或者证书登录到ssh了

    2023-09-17T08:36:38.png
    2023-09-17T08:36:57.png

    实测操作延迟下降了很多,已经比较流畅了,效果非常不错,而且是完全免费的

  • 搬瓦工46刀背刺款 买到就挣到

    https://bandwagonhost.com/aff.php?aff=72011&pid=94

    优惠码:  BWHNCXNVXV

    14个机房都可以换,安心冲。
    不喜欢的可以去掉aff
    CPU:1 core
    内存:512MB
    硬盘:10GB SSD
    月流量:500GB

  • route53 同时使用cname和ip解析的方法

    route53 同时使用cname和ip解析的方法

    无错源码使用了Aws的cloudfront作为前端,来加速国内用户的访问速度。

    使用cft的话如果分区域解析,国内使用cname,国外使用原始ip这样行不行呢。Route默认是不允许这样的操作的。

    但我们可以通过一个骚操作来实现。

    在route53里边新建一个二级域名作为cname域名,这个域名指向ip,然后在cname的geo设置国外,给中国设置为cft的别名,在默认里边使用我们刚才新建的二级域名,这样就可以了。

  • eWallhost: .com 域名 八月促销

    eWallhost: .com 域名 八月促销

    域名注册商 eWallHost 将在 2023 年 8月31日之前对.com域名进行促销。

    通常售价为 11.99 美元,但现在售价为 765 印度卢比,计算得出(截至撰写本文时)约为 67.4478 人民币。

    为了进行比较,其他注册商的一些价格:

    • My favorite Porkbun: $9.73
    • InternetBS: $10.99
    • NameSilo: $10.95
    • NameCheap: $9.58

    请记住,根据您所在的位置,外币兑换费可能会改变您实际支付的费用。

    此优惠附带:

    免费 WHOIS 保护
    两个免费电子邮件帐户
    免费域名转发
    促销截止日期为 8 月 31 日。 有趣吗? 单击此处并注意顶部的货币选择器。

  • 一键设置IIS只允许cloudflare访问

    使用IIS套上cloudflare后,很多人不知道禁止非cloudflare ip访问,今天给个一键代码,在ps里边执行即可。

    # Cloudflare IP 地址列表
    $cloudflareIPs = @(
        "173.245.48.0/20",
        "103.21.244.0/22",
        "103.22.200.0/22",
        "103.31.4.0/22",
        "141.101.64.0/18",
        "108.162.192.0/18",
        "190.93.240.0/20",
        "188.114.96.0/20",
        "197.234.240.0/22",
        "198.41.128.0/17",
        "162.158.0.0/15",
        "104.16.0.0/13",
        "104.24.0.0/14",
        "172.64.0.0/13",
        "131.0.72.0/22"
    )
    
    # 获取所有 IIS 网站的配置
    $sites = Get-Website
    
    # 循环遍历所有 IIS 网站并添加 Cloudflare IP 地址到允许列表
    foreach ($site in $sites) {
        $siteName = $site.Name
        $siteConfig = Get-WebConfiguration -PSPath "IIS:\Sites\$siteName"
        
        foreach ($ipRange in $cloudflareIPs) {
            $ruleName = "AllowCloudflareIP_$([System.Guid]::NewGuid())"
            $addRuleScript = @"
    ipconfig /flushdns
    New-WebConfigurationProperty -PSPath 'IIS:\Sites\$siteName' -Filter "system.webServer/security/ipSecurity" -Name "." -Value @{
        "ipAddress" = "$ipRange";
        "subnetMask" = "255.255.255.255";
        "allowed" = $true;
        "domainName" = '';
        "byPass" = $false;
        "matchOnly" = $true;
        "negate" = $false;
        "ruleName" = "$ruleName";
        "enableReverseDns" = $false;
    }
    "@
            Invoke-Expression $addRuleScript
        }
        
        # 应用更改
        $siteConfig | Set-WebConfiguration -Verbose
    }