{"id":44458001,"url":"https://github.com/oneisx/igo","last_synced_at":"2026-02-12T18:08:44.170Z","repository":{"id":105239480,"uuid":"435564920","full_name":"oneisx/igo","owner":"oneisx","description":"Welcome to igo, igo is a good helper, can generate UUID, beautify JSON, convert timestamp, etc. No need to copy manually, the generated content will be placed in the clipboard. For more functions, please see the help.","archived":false,"fork":false,"pushed_at":"2022-01-03T03:27:46.000Z","size":4157,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-20T00:45:08.545Z","etag":null,"topics":["aes","base64","cli","codec","golang","json","md5","sha1","sha256","sha512","timestamp","uuid"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oneisx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-06T16:18:09.000Z","updated_at":"2021-12-26T12:02:26.000Z","dependencies_parsed_at":"2023-06-09T00:45:28.445Z","dependency_job_id":null,"html_url":"https://github.com/oneisx/igo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/oneisx/igo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneisx%2Figo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneisx%2Figo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneisx%2Figo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneisx%2Figo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oneisx","download_url":"https://codeload.github.com/oneisx/igo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneisx%2Figo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29375740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","base64","cli","codec","golang","json","md5","sha1","sha256","sha512","timestamp","uuid"],"created_at":"2026-02-12T18:08:43.271Z","updated_at":"2026-02-12T18:08:44.165Z","avatar_url":"https://github.com/oneisx.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# igo\n\n英文 | [中文](README_CN.md)\n\nWelcome to igo, igo is a good helper, can generate UUID, beautify JSON, convert timestamp, encryption and decryption, etc.\nNo need to copy manually, the generated content will be placed in the clipboard.\nFor more functions, please see the help.\n\nBy the way, it will be more convenient to use Igo through [Igo Agent](https://github.com/oneisx/igoagent).\n\n```shell\nUsage:\n  igo [flags]\n  igo [command]\n\nAvailable Commands:\n  clear       clear screen\n  codec       A collection of encryption and decryption tools\n  date        transfer timestamp to date\n  help        Help about any command\n  json        beautify json\n  memo        memo [WIP]\n  sql         Memo function designed for SQL\n  uuid        generate uuid\n\nFlags:\n      --config string   config file (default is $HOME/.igo.yaml)\n  -h, --help            help for igo\n  -i, --interactive     interactively execute commands\n  -q, --quit            quit interactive mode\n  -v, --version         print the version of igo\n\nUse \"igo [command] --help\" for more information about a command.\n```\n\n## 1. Enter interactive mode\nIgo supports two modes, interactive and non-interactive. In the first mode, you do not need to enter the root command igo.\n\n`Tip: put Igo in the system variable $PATH for a better experience`\n```shell\n# Input in the terminal\nigo -i\n\n# result\nigo\u003e\n```\n\n## 2. UUID\nYou can generate uuid string like this:\n```shell\n# Non-interactive\nigo uuid\n14ef893c-62d5-4eaa-83a7-ddb0a87693e7\n\nigo uuid -n 3\nb1f5298d-40d5-4ba6-90f2-0aa0e40b4393\nd5a75d77-c454-4163-90ea-98336b95c8f3\n3d2c87b3-988b-475f-b664-b45c12e905aa\n\n# Interactive\nigo\u003e uuid\n14ef893c-62d5-4eaa-83a7-ddb0a87693e7\n\nigo\u003e uuid -n 3\nb1f5298d-40d5-4ba6-90f2-0aa0e40b4393\nd5a75d77-c454-4163-90ea-98336b95c8f3\n3d2c87b3-988b-475f-b664-b45c12e905aa\n```\nAfter this, the content already in the clipboard.\n\n## 3. JSON\nJSON is widely used. We often need to beautify JSON in our daily work so that we can clearly see the relevant information. Here also provides the ability to compress JSON\n```shell\n# Non-interactive:\n## beautify\nigo json\nigo\u003ejson:pretty\u003e\n\n## compress\nigo json -u\nigo\u003ejson:ugly\u003e\n\n# Interactive:\n## beautify\nigo\u003ejson\nigo\u003ejson:pretty\u003e\n\n## compress\nigo\u003ejson -u\nigo\u003ejson:ugly\u003e\n```\nAfter this, you can input your json string, and append semicolon(;) in the end, press the Enter, wonderful thing will happen. \n```shell\n# Example\nigo\u003ejson:pretty\u003e{\"qenoap\":-844276330,\"iokgphia\":true,\"fhabfiw\":1681064845.6926622,\"zwdskzh\":\"xct\",\"xgvzsgbfo\":-1079466053.3847966};\n{\n  \"qenoap\": -844276330,\n  \"iokgphia\": true,\n  \"fhabfiw\": 1681064845.6926622,\n  \"zwdskzh\": \"xct\",\n  \"xgvzsgbfo\": -1079466053.3847966\n}\n\nigo\u003ejson:ugly\u003e{\n\"qenoap\": -844276330,\n\"iokgphia\": true,\n\"fhabfiw\": 1681064845.6926622,\n\"zwdskzh\": \"xct\",\n\"xgvzsgbfo\": -1079466053.3847966\n};\n{\"qenoap\":-844276330,\"iokgphia\":true,\"fhabfiw\":1681064845.6926622,\"zwdskzh\":\"xct\",\"xgvzsgbfo\":-1079466053.3847966}\n```\n\n## 4. DATE\nWe can't directly see the date represented by the timestamp. The date command is used to convert the timestamp. It supports second and millisecond timestamps\n```shell\n# Non-interactive:\nigo date 1639238044\n2021-12-11 23:54:04 +0800 CST\nigo date 1639188919040\n2021-12-11 10:15:19.04 +0800 CST\n\n# Interactive:\nigo\u003edate 1639238044\n2021-12-11 23:54:04 +0800 CST\nigo\u003edate 1639188919040\n2021-12-11 10:15:19.04 +0800 CST\n```\n\n## 5. CODEC\nA collection of encryption and decryption tools, including MD5/HmacMD5, Base64, SHA1/HmacSHA1, SHA256/HmacSHA256, SHA512/HmacSHA512, AES, etc.\n```shell\nUsage:\nigo codec [command]\n\nAvailable Commands:\naes         Generate aes ciphertext, decrypt aes ciphertext\nbase64      Generate base64 ciphertext, decrypt base64 ciphertext\nmd5         Generate MD5/HmacMD5 ciphertext\nsha1        Generate SHA1/HmacSHA1 ciphertext\nsha256      Generate SHA256/HmacSHA256 ciphertext\nsha512      Generate SHA512/HmacSHA512 ciphertext\n\nFlags:\n-h, --help   help for codec\n\nGlobal Flags:\n--config string   config file (default is $HOME/.igo.yaml)\n\nUse \"igo codec [command] --help\" for more information about a command.\n```\n### 5.1 AES\nGenerate aes ciphertext, decrypt aes ciphertext, use flag (-d/--decrypt) to decrypt.\nIt should be noted that, length of the key should be in (16,24,32), the default value is not recommended.\n```shell\n# Non-interactive:\nigo codec aes oneisx\nigo codec aes uZERhkcVewZ7S1j1co+QSkKdvf/52DqkDXgAcJktido= -d\nigo codec aes oneisx -k 52DqkDXgAcJktido (Recommend custom key)\nigo codec aes OYA/OY1bj6J1wRywYYCIwMC9oW8RqoByngxsBUlGhuw= -dk 52DqkDXgAcJktido (Recommend custom key)\n\n# Interactive:\nigo\u003ecodec aes oneisx\nigo\u003ecodec aes -d uZERhkcVewZ7S1j1co+QSkKdvf/52DqkDXgAcJktido= -d\nigo\u003ecodec aes oneisx -k 52DqkDXgAcJktido (Recommend custom key)\nigo\u003ecodec aes OYA/OY1bj6J1wRywYYCIwMC9oW8RqoByngxsBUlGhuw= -dk 52DqkDXgAcJktido (Recommend custom key)\n```\n### 5.2 BASE64\nGenerate base64 ciphertext, decrypt base64 ciphertext, use flag (-d/--decrypt) to decrypt\n```shell\n# Non-interactive:\nigo codec base64 oneisx\nigo codec base64 -d b25laXN4\n\n# Interactive:\nigo\u003ecodec base64 oneisx\nigo\u003ecodec base64 -d b25laXN4\n```\n### 5.3 MD5\nGenerate MD5/HmacMD5 ciphertext, Generate HmacMD5 ciphertext by flag(-k/--key)\n```shell\n# Non-interactive:\n## MD5\nigo codec md5 oneisx\n## HmacMD5\nigo codec md5 oneisx -k thanks\nigo codec md5 oneisx --key thanks\n\n# Interactive:\n## MD5\nigo\u003ecodec md5 oneisx\n## HmacMD5\nigo\u003ecodec md5 oneisx -k thanks\nigo\u003ecodec md5 oneisx --key thanks\n```\n### 5.4 SHA1\nGenerate SHA1/HmacSHA1 ciphertext, Generate HmacSHA1 ciphertext by flag(-k/--key)\n```shell\n# Non-interactive:\n## SHA1\nigo codec sha1 oneisx\n## HmacSHA1\nigo codec sha1 oneisx -k thanks\nigo codec sha1 oneisx --key thanks\n\n# Interactive:\n## SHA1\nigo\u003ecodec sha1 oneisx\n## HmacSHA1\nigo\u003ecodec sha1 oneisx -k thanks\nigo\u003ecodec sha1 oneisx --key thanks\n```\n### 5.5 SHA256\nGenerate SHA256/HmacSHA256 ciphertext, Generate HmacSHA256 ciphertext by flag(-k/--key)\n```shell\n# Non-interactive:\n## SHA256\nigo codec sha256 oneisx\n## HmacSHA256\nigo codec sha256 oneisx -k thanks\nigo codec sha256 oneisx --key thanks\n\n# Interactive:\n## SHA256\nigo\u003ecodec sha256 oneisx\n## HmacSHA256\nigo\u003ecodec sha256 oneisx -k thanks\nigo\u003ecodec sha256 oneisx --key thanks\n```\n### 5.6 SHA512\nGenerate SHA512/HmacSHA512 ciphertext, Generate HmacSHA512 ciphertext by flag(-k/--key)\n```shell\n# Non-interactive:\n## SHA512\nigo codec sha512 oneisx\n## HmacSHA512\nigo codec sha512 oneisx -k thanks\nigo codec sha512 oneisx --key thanks\n\n# Interactive:\n## SHA512\nigo\u003ecodec sha512 oneisx\n## HmacSHA512\nigo\u003ecodec sha512 oneisx -k thanks\nigo\u003ecodec sha512 oneisx --key thanks\n```\n\n## 6. SQL\nIf you have many SQL statements to record, this command will help you record it, retrieve and copy it quickly.\n```shell\nMemo function designed for SQL\n\nUsage:\n  igo sql [flags]\n\nFlags:\n  -a, --add string      add memo data\n  -d, --del int         del memo data (default -1)\n  -h, --help            help for sql\n  -l, --list            list memo data\n  -p, --pick int        select memo data (default -1)\n  -s, --search string   search memo data\n  -u, --update int      update memo data (default -1)\n```\nAs you can see, this command has no subcommands. Functions such as adding, updating, deleting, listing, searching and selecting can be completed through Flags.\n\n### 6.1 TIPS\nWe support three modes when using flags, as follows:\n```shell\nsql -aSearchUserById\nsql -a SearchUserById\nsql -a=SearchUserById\n```\nYou can use your favorite patterns according to your preferences, and they are all executable.\n\nThe following shows how to use SQL flags in interactive mode:\n\n### 6.2 ADD\n```shell\nigo\u003esql -a SearchUserById\nigo\u003esql:add:SearchUserById\u003eselect * from user where id='1'; # SQL needs to end with a semicolon\nsql saved successfully!\n```\n\n### 6.3 LIST\nThis Flag can display the stored SQL statement. Enter the specified ID to select the SQL statement. \nEach page displays 10 SQL statements. When paging exists, press enter to turn the page. Otherwise, exit the list\n```shell\nigo\u003esql -l\n( 3 rows )\npage: 1\nid: 8   key: SearchUserById\nid: 9   key: SearchUserByName\nid: 10   key: SearchAddressById\n(Pick: \u003cid\u003e / Quit: Enter)\nigo\u003esql:list\u003e10\nselect * from address where id='1'\n```\n\n### 6.4 PICK\n```shell\n# 10 is the ID of SQL. After entering the command, the SQL details will be printed and copied to the clipboard.\nigo\u003esql -p 10\nselect * from address where id='1'\n```\n\n### 6.5 SEARCH\nThe functions of search and list are similar, but search has more filtering functions.\n```shell\nigo\u003esql -s User\n( 2 rows )\npage: 1\nid: 8   key: SearchUserById\nid: 9   key: SearchUserByName\n(Pick: \u003cid\u003e / Quit: Enter)\nigo\u003esql:search\u003e9\nselect * from user where name='oneisx'\n```\n\n### 6.6 UPDATE\n```shell\nigo\u003esql -u 10\nsql to be updated:\nselect * from address where id='1'\nigo\u003esql:update:SearchAddressById\u003eselect * from address where id='2';\nsql update successfully!\n```\n\n### 6.7 DELETE\n```shell\nigo\u003esql -d 10\ndelete sql info:\nSearchAddressById\nselect * from address where id='1'\ndelete sql successfully!\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneisx%2Figo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foneisx%2Figo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneisx%2Figo/lists"}