ice 0.4.0

A simple CTF tool store
Documentation
@document.meta
title: Todo
description: list of todos for ice
authors: me
categories: CTF, security
created: 2022-09-06
version: 0.0.13
@end

*  PLANNED TODO
**  General
    - (x) a1z26
    - (x) atbash
    - (x) ascii
    - (x) bacon -(uv/ij ambiguity)-
    - (-) playfair, DNA, railfence
    - ( ) affine, bifid
    - ( ) substitution
    - (x) hashing files and simple strings

**  API services
    - (x) [factordb api]{http://factordb.com/api?query=12}
    - (=) [hasher using dehash api]{https://api.dehash.lt/api.php?search=} -> temp not working.

**  Basic manipulation
    - (x) upper, lower
    - (x) remove whitespace, reverse, length
    - ( ) sort, uniq, filter
    - ( ) remove line numbers or recurring patterns
    - (x) url encode/decode

**  Caesar
    - (x) caesar
    - (x) rot13
    - ( ) rot47
    - (x) vigenere
    - ( ) score system

**  XOR
    - (x) single byte (sxb)
    - (-) hex to hex (hxh)
    - (-) string to string (sxs)

**  BASE
    - (x) base02 (binary)
    - (x) base08 (octa)
    - (x) base16 (hex)
    - (x) base32, base64
    - ( ) base45, base58, base62, base85

**  Extarctors (extract from string)
    - (x) phone, email, ip  %test strings: noice@gmail.com, 2333897193%
    - ( ) mac, date formats, etc %192.168.1.1  1.1.1.1 255.255.255.0%
    - ( ) exif metadata.
    - ( ) extract flag format from a binary file.
    - ( ) magic bytes.

**  Advanced
    - ( ) Advanced stuff (maybe wont do this)
    - ( ) ECB and CBC
    - ( ) RSA

**  IDK
    - DTMF + audio
    - morse audio
    - stereogram
    - QR codes
    - Keyboard shift

*  PROJECT TODO
   - ( ) scoring methods for efficiency.
   - (-) write tests for each mod.
   - (-) Reduce the number of unwraps.
   - ( ) Automatic result finding.
   - ( ) identification by similarity.
   - ( ) annotating each module.
   - ( ) add colors to output.
   - (-) add aliases for each subcommand.
   - (x) read from stdin.
   - ( ) sanitize inputs for extra characters.
   - ( ) local man page(help page).
   - ( ) edge cases + cleanify (capital + small)

* Steps for release (just in case if i forget)
    - Update version in Cargo.toml and PKGBUILD.
    - Create version tag and push.
    - Cargo publish.

#comment
   norg file format: [nvim-neorg]{https://github.com/nvim-neorg/neorg}