ahu 最近的时间轴更新
ahu

ahu

V2EX 第 3430 号会员,加入于 2010-12-03 16:02:27 +08:00
今日活跃度排名 2208
观 @jason5ng32 喜提 Github Starstruck 徽章有感
随想  •  ahu  •  2 天前  •  最后回复来自 geomancy
26
真的是宁可错杀三千,也不放过一个啊
Telegram  •  ahu  •  7 天前  •  最后回复来自 ahu
4
早上花了一两个小时看完了这篇爽文
  •  1   
    分享发现  •  ahu  •  75 天前  •  最后回复来自 xuexingwei
    17
    chatGPT for V2EX 来了!就问你怕不怕!
    OpenAI  •  ahu  •  2022-12-06 17:37:30 PM  •  最后回复来自 leeuu
    12
    Apple 官网有翻修版的 mac studio ultra 顶配版出售, 单台优惠 5K~6K
    Apple  •  ahu  •  2022-10-24 22:13:47 PM  •  最后回复来自 johnsonyeen
    7
    有关 Chrome 开发工具对颜色表示方法的替代
    CSS  •  ahu  •  2021-09-26 11:23:52 AM  •  最后回复来自 ahu
    2
    PHP 25 岁了
    PHP  •  ahu  •  2020-07-12 14:13:01 PM  •  最后回复来自 importPandora
    16
    V2 好像没人关注理想智造?
    分享发现  •  ahu  •  2018-10-22 21:54:44 PM  •  最后回复来自 kobe24lll
    16
    谁知道 Readhub 微信小程序左上角的⚙按钮功能咋实现的?
    微信  •  ahu  •  2018-10-26 13:18:19 PM  •  最后回复来自 slaneyang
    2
    联通是禁止访问 5900 端口的,电信和移动则没有
    宽带症候群  •  ahu  •  2018-05-15 09:20:54 AM  •  最后回复来自 fsdafsag
    1
    ahu 最近回复了
    3 天前
    回复了 ahu 创建的主题 随想 观 @jason5ng32 喜提 Github Starstruck 徽章有感
    投资的事儿我没有发言权,分享这个也不是想构成任何投资建议哈。我只是想说,我这位朋友这么小小年纪就敢模仿大佬说干就干,闯劲可嘉。

    这就像阿禅一样,他作为一个完全不懂代码的人,在这么短时间内就获得了这样一个成绩,如果没有闯劲是不可能的。

    准确说,是天赋+敢想+敢干。

    天赋是对产品需求的敏锐和准确把控,虽然像#1 #2 说的那样,这个成绩还不算啥 —— 但实话讲,我们很多专业的"码工"都不见得能做到,起码我没做到吧 —— 所以值得我佩服。

    敢想敢干,重点都在“敢”这个字上。我们搞技术的人,很多人都比较保守。所以虽然技艺精湛,但往往不敢想不敢干。

    就说这些吧。不构成任何建议哈,我自己的随想而已。
    3 天前
    回复了 ahu 创建的主题 随想 观 @jason5ng32 喜提 Github Starstruck 徽章有感
    @jason5ng32 #6 有一个好媳妇,也很重要 😁
    3 天前
    回复了 jason5ng32 创建的主题 程序员 获得了 GitHub 的 4096 满级星星徽章
    再次恭喜 @jason5ng32

    /t/1033163 我的一点感想
    7 天前
    回复了 ahu 创建的主题 Telegram 真的是宁可错杀三千,也不放过一个啊
    鄙人似乎运气还行,昨天晚上被封后写了个 support 就睡了。刚才尝试登录,竟然可以了
    11 天前
    回复了 Zeroo07 创建的主题 macOS 求推荐 Mac 上好用的本地音乐播放器
    玩 HIFI 的话,楼主要不试试
    1 、roon
    2 、HQPlayer
    3 、Audirvāna
    11 天前
    回复了 hugetimors 创建的主题 程序员 搞了一年的独立开发,累了!
    加油!且行且珍惜
    @ibuki233 #10 感谢!
    我之前搜过,竟然没搜到。可能是近期刚有的
    国内用汽水是不是就可以了😌
    @Puteulanus #6 不错的示范 😄

    于是我照猫画虎,经过约 5 轮的对话,免费的 GPT 3.5 为我写了个能 work 的 PHP 版本:

    ```
    <?php
    // 指定域名
    $targetDomain = 'somename.com';

    // 响应 IP 地址
    $responseIP = '1.2.4.8';

    // 启动 DNS 服务器
    $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    socket_bind($socket, '127.0.0.1', 5345);

    echo "DNS 服务器已启动...\n";

    while (true) {
    socket_recvfrom($socket, $data, 512, 0, $from, $port);

    // 解析 DNS 请求
    $dnsRequest = dns_parse_message($data);

    // 打印收到的 DNS 请求
    echo "收到 DNS 请求:\n";
    print_r($dnsRequest);

    // 检查请求是否为 A 记录且为目标域名的子域名
    if ($dnsRequest && isset($dnsRequest['question'][0]['qtype']) && $dnsRequest['question'][0]['qtype'] == 0 && endsWith($dnsRequest['question'][0]['qname'], ".$targetDomain")) {
    // 构建响应数据
    $dnsResponse = dns_build_response($dnsRequest, $responseIP);

    // 打印响应数据
    echo "准备发送的 DNS 响应:\n";
    print_r($dnsResponse);

    // 发送响应
    $bytesSent = socket_sendto($socket, $dnsResponse, strlen($dnsResponse), 0, $from, $port);
    if ($bytesSent === false) {
    echo "发送 DNS 响应失败\n";
    } else {
    echo "已发送 $bytesSent 字节的 DNS 响应\n";
    }

    echo "已响应 DNS 请求:{$dnsRequest['question'][0]['qname']} -> $responseIP\n";
    }
    }

    // 解析 DNS 请求
    function dns_parse_message($data)
    {
    $dnsHeader = unpack('nid/nflags/nqdcount/nancount/nnscount/narcount', substr($data, 0, 12));
    $question = [];
    $offset = 12;
    for ($i = 0; $i < $dnsHeader['qdcount']; $i++) {
    $questionName = '';
    $nameFound = false;
    while (true) {
    $labelLength = ord($data[$offset]);
    if ($labelLength == 0) {
    $offset++;
    break;
    }
    if (($labelLength & 0xC0) == 0xC0) {
    $offset += 2; // 跳过指针
    break;
    }
    $questionName .= substr($data, $offset + 1, $labelLength) . '.';
    $offset += $labelLength + 1;
    }
    $offset += 4;
    $question[] = [
    'qname' => rtrim($questionName, '.'),
    'qtype' => isset(unpack('ntype', substr($data, $offset, 2))['type']) ? unpack('ntype', substr($data, $offset, 2))['type'] : '',
    ];
    $offset += 4;
    }

    return [
    'header' => $dnsHeader,
    'question' => $question,
    ];
    }

    // 构建 DNS 响应
    function dns_build_response($request, $ip)
    {
    $header = pack('nnnnnn', $request['header']['id'], 0x8180, 1, 1, 0, 0);
    $question = '';
    foreach ($request['question'] as $q) {
    $question .= dns_compress_name($q['qname']) . pack('nn', 1, 1);
    }
    $answer = dns_compress_name($request['question'][0]['qname']) . pack('n*', 1, 1, 0, 1, 0, 4); // 响应类型为 A 记录,TTL 为 0 ,数据长度为 4
    $answer .= inet_pton($ip); // 将 IP 地址转换为二进制格式

    return $header . $question . $answer;
    }

    // 辅助函数,检查字符串结尾
    function endsWith($haystack, $needle)
    {
    return substr($haystack, -strlen($needle)) === $needle;
    }

    // 辅助函数,压缩 DNS 消息中的域名
    function dns_compress_name($name)
    {
    $parts = explode('.', $name);
    $compressedName = '';
    foreach ($parts as $part) {
    $compressedName .= chr(strlen($part)) . $part;
    }
    return $compressedName . "\x00";
    }
    ?>

    ```
    果然我不是一个人😅
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2930 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 08:16 · PVG 16:16 · LAX 01:16 · JFK 04:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.