CyberChef CLI計画

昨日に引き続き、CyberChef的なCLIツールの話です。

chef

今日はURLやIPアドレスのDefangをします。

Defang

CyberChefと同じ挙動にする必要は無くて、個人的には全部Escapeしてくれれば良い。

とりあえずただのreplaceで行きます。

pub fn encode(input: &str) -> String {
    input
        .replace(".", "[.]")
        .replace("://", "[:]//")
}

RegexでCapture使って云々とか考えたけど、一周回ってこれになった。

$ echo https://feneshi.co | cargo r -- defang
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s
     Running `target/debug/chef defang`
https[:]//feneshi[.]co

いいんですよ。もうこれで

みなさんも怪しいURLやIPアドレスを共有する際はDefangするようにしましょう。ちなみにこれは雑な実装をしているおかげでIPアドレスもDefangできます

$ dig +short AAAA example.com | cargo r -- defang
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s
     Running `target/debug/chef defang`
2606[:]2800[:]21f[:]cb07[:]6820[:]80da[:]af6b[:]8b2c

次は地味に便利だけど地味に面倒そうなFangをやろうかな。

でもその前に名前を早く変えたほうがよさそうなので、募集しています

終わりに

この記事はn01e0 Advent Calendar 2024の23日目の記事とします。