V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
LinkedIn
2000 个不用坐班的远程好工作在召唤你 · 弹性上班不打卡,工作和生活都能拥有
2000 个不用坐班的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
Seulgi
V2EX  ›  macOS

分享自己开发的两个 alfred 工作流(短信验证码提取/阿里机器翻译)

  •  
  •   Seulgi · 59 天前 · 908 次点击
    这是一个创建于 59 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. [短信验证码提取]( https://github.com/vincentXu97/alfred-workflow-message-code)
    提取最新 10 条包含验证码三个字的短信文本, 提取其中的验证码.回填回 alfred 候选项, 回车复制到粘贴板
    2. [阿里机器翻译(自用替代有道翻译)]( https://github.com/vincentXu97/alfred-workflow-translate-alimt)
    利用阿里机器翻译每月百万字符的免费白嫖. 因为只当一个翻译工具, 所以有道的其他诸如记词本之类的对我用处不大.加上没有白嫖额度.
    通过判断翻译文本是否包含中文字符, 如果有中文字符,则默认翻译为英文, 如果不包含则翻译为中文.
    10 条回复    2022-08-04 17:49:10 +08:00
    jheroy
        1
    jheroy  
       59 天前
    短信验证码用 alfred 还是太麻烦了, 我目前是用 launchctl 监听短信文件夹, 如果有改动就自动调用脚本查看最近两分钟的短信如果有验证码就复制复制成功发个 notify.
    ```
    cat ~/Library/LaunchAgents/com.me.verifycode.plist
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.me.verifycode</string>
    <key>ProgramArguments</key>
    <array>
    <string>bash</string>
    <string>/Users/xxx/Library/LaunchAgents/verifycode.sh</string>
    </array>
    <key>WatchPaths</key>
    <array>
    <string>/Users/xxx/Library/Messages/</string>
    </array>
    </dict>
    </plist>
    ```
    Seulgi
        2
    Seulgi  
    OP
       59 天前
    @jheroy 可以分享一下. applescript 没怎么研究. 你这个确实是最佳的.有新验证码短信自动复制给个提示, 直接 command v 就行
    missqso
        3
    missqso  
       59 天前   ❤️ 1
    https://github.com/DreamSaddle/MacCopier
    昨天看到的一个软件
    MacCopier 是一个提供在 Macos 中收到短信验证码后自动复制到剪贴板功能的软件。
    jheroy
        4
    jheroy  
       59 天前
    shell 就用的之前站里面有个老哥用的脚本稍微修改了一点点.
    ```
    echo "starting to check code"
    # 路径中的 dufu 记得改成自己电脑的名字
    # 通过 Sqlite3 查 1 条 iMessage 最近 60 秒收到消息( iMessage 收到消息的时间可能有延迟,这里实际冗余多了 2 秒)
    #! /Users/dufu/Library/Messages/chat.db
    #!这个 DB 文件和目录记得给开权限,默认是不给读的。
    result=$(sqlite3 /Users/xxx/Library/Messages/chat.db 'SELECT text FROM message WHERE datetime(date/1000000000 + 978307200,"unixepoch","localtime") > datetime("now","localtime","-100 second") ORDER BY date DESC LIMIT 1;')

    # echo $result >> /tmp/t.log

    name="验证码";

    # 看下最近有没有收到消息
    if [ ! $result ]; then
    echo "latest not receive code messsages";
    # osascript -e "display notification \"最近 60 秒未收到验证码!\" with title \"提示\" ";
    return
    fi

    # 如果短信中包含验证码则取前 4-6 个数字
    if [[ "$result" =~ "$name" ]] || [[ "$result" =~ "Verification" ]]; then
    code=`echo $result | grep -o "[0-9]\{4,6\}"`;
    echo "code is $code";
    # 将获取到的数字输出到剪贴板
    echo "$code" | pbcopy;

    # 发个系统通知,展示内容,同时提醒你可以 Command + v 粘贴了。
    osascript -e "display notification \"$code\" with title \"验证码已复制\"";
    fi
    ```
    jheroy
        5
    jheroy  
       59 天前
    @missqso 之前用过, 不过不知道为啥在我 M1air 上不好使, 而且还需要短信访问权限, 还是自己写的脚本放心.
    Seulgi
        6
    Seulgi  
    OP
       59 天前
    @missqso 可以. 这个不错.
    Seulgi
        7
    Seulgi  
    OP
       59 天前
    还是吧里老哥们强
    QurakJaker
        8
    QurakJaker  
       58 天前
    短信验证码用的这个: https://github.com/squatto/alfred-imessage-2fa/
    翻译用 bob
    Seulgi
        9
    Seulgi  
    OP
       58 天前
    @QurakJaker 短信验证码那个我发现了的, 但是因为不支持 4 位之类的问题. 而且我不想装 php 哈哈.
    翻译我也用 bob. 实际上 idea 里翻译我用插件的 translate 比用 bob 更方便.
    arare
        10
    arare  
       52 天前
    感谢,很好用~
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2563 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 11:51 · PVG 19:51 · LAX 04:51 · JFK 07:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.