Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPv6 支持和 WLAN SSID 识别 #9

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

SteveXu9102
Copy link

新增

  • 添加了 IPv6 支持函数并在原有的函数中添加相应逻辑。(实验性)
  • 添加了 macOS/Linux 双端 WLAN SSID 获取和识别函数。(实验性)
  • 添加了简单的调试模式。

修改

  • 为颜色输出添加了简单的终端种类检测,以避免不支持颜色的终端出现兼容性问题。
  • 合并了两个URL参数(账号、密码)生成函数。
  • 添加全局变量sysenv用于判断系统种类,避免重复运行同一代码。
  • 调整连通性测试内容。
    • 上一版本使用的 ping 命令没有考虑在未登录时任何请求都会被302到内网登录网址等情况,准确性低。现使用 curl 向 IP 查询网站发送请求并使用 grep 检查响应内容。
    • 现在连通性测试函数接受参数 v4 / v6,对应 IPv4 / IPv6 地址的连通性测试。其中 IPv6 测试使用的网站只支持 IPv6 协议栈。
    • 在使用curl -6的情况下,由 IPv6 测试网站302到内网 IPv4 地址(通常是 192.168.168.168 )将导致 curl 直接出错。
    • IPv4 测试时若302到内网地址(通常是 10.10.244.11 ),返回会被 grep 捕获。
  • 调整了部分语句、函数名和变量名的用词、语法和拼写。(指英文)
  • 调整了一些选项的缩写字母和参数名。
  • 对输出效果进行了微调,使脚本执行结果更直观。(指新加的两个ASCII art)
  • 修改了README.md内容,使之与新版本匹配。

TODO

  • 多端测试和验证。目前版本的脚本仍需要更多 macOS/Linux 发行版测试以验证功能。
  • IPv6 地址识别方式的统一。目前,由于 IP 地址获取函数仍有缺陷,IPv6 支持函数使用了独立的 curl 语句获取地址。

备注

  • 关于POST请求体的问题:如需要转义,使用 curl -d 即可。
    • 此时 curlContent-Type 配置为 application/x-www-form-urlencoded
  • 关于 IPv6 地址识别的问题:介于目前脚本使用的 IPv6 地址提取方式不适用于 OpenWrt 22.03.5 r20134-5f15225c1e 内置的 ifconfig 输出,曾考虑使用正则表达式。但由于有完整识别能力的正则语句过长(大于500字节;[相关链接] ),该方法难以应用。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant