{"id":17617378,"url":"https://github.com/dlampsi/cataloger","last_synced_at":"2025-04-30T18:12:10.028Z","repository":{"id":45145485,"uuid":"216083612","full_name":"dlampsi/cataloger","owner":"dlampsi","description":"Util for interact with ldap and active directory catalogs","archived":false,"fork":false,"pushed_at":"2025-03-01T07:08:52.000Z","size":113,"stargazers_count":10,"open_issues_count":8,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T18:12:03.797Z","etag":null,"topics":["active-directory","activedirectory","ad","cli","go","golang","ldap","ldap-client"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dlampsi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"dlampsi","buy_me_a_coffee":"dlampsi"}},"created_at":"2019-10-18T18:21:13.000Z","updated_at":"2024-07-21T10:33:01.000Z","dependencies_parsed_at":"2023-12-25T20:29:17.156Z","dependency_job_id":"1eadbee2-08d6-4ff4-8a6e-a2c93a983985","html_url":"https://github.com/dlampsi/cataloger","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":0.25,"last_synced_commit":"152038e8f4554be8bd7a8acb4978b18c9e726acd"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlampsi%2Fcataloger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlampsi%2Fcataloger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlampsi%2Fcataloger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlampsi%2Fcataloger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dlampsi","download_url":"https://codeload.github.com/dlampsi/cataloger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251758173,"owners_count":21638989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["active-directory","activedirectory","ad","cli","go","golang","ldap","ldap-client"],"created_at":"2024-10-22T19:13:14.566Z","updated_at":"2025-04-30T18:12:10.008Z","avatar_url":"https://github.com/dlampsi.png","language":"Go","funding_links":["https://github.com/sponsors/dlampsi","https://buymeacoffee.com/dlampsi"],"categories":[],"sub_categories":[],"readme":"# cataloger\n\n[![Actions Status](https://github.com/dlampsi/cataloger/workflows/default/badge.svg)](https://github.com/dlampsi/cataloger/actions)\n\nUtil for interact with various catalogs systems.\n\nAvalible catalogs types:\n\n- Active Directory (AD)\n\n## Install\n\nYou can download releases [here](https://github.com/dlampsi/cataloger/releases).\n\nExample deploy script - [get_darwin_release.sh](scripts/get_darwin_release.sh) for darwin install `v0.0.1`:\n\n```bash\n./scripts/get_darwin_release.sh v0.0.1\n```\n\n### Completion\n\nTo configure your bash shell to load completions for each session add to your `~/.bashrc` or `~/.profile`:\n\n```bash\n. \u003c(cataloger completion)\n```\n\n## Usage\n\nFull help avalible on `-h` or `--help` flags:\n\n```bash\ncataloger -h\n```\n\n### Login\n\nLogin command, creates cataloger config and try to connect to catalog:\n\n```bash\ncataloger login\n```\n\nOr you can pass all flags to escape interactive asking:\n\n```bash\ncataloger login \\\n    --host ad.server.local \\\n    --port 636 \\\n    --ssl --insecure \\\n    --bind \"CN=noname,OU=unit,DC=company,DC=com\" \\\n    --password \"fake\" \\\n    --search-base \"OU=people,DC=company,DC=com\"\n```\n\nAfter that command cataloger creates config file in `$HOME/.cataloger.json`:\n\n```json\n{\n  \"host\": \"ad.server.local\",\n  \"port\": 636,\n  \"ssl\": true,\n  \"insecure\": true,\n  \"bind\": \"CN=noname,OU=unit,DC=company,DC=com\",\n  \"password\": \"fake\",\n  \"search-base\": \"OU=people,DC=company,DC=com\",\n}\n```\n\n### Custom config file\n\nYou can provide custom config file via `-c` flag:\n\n```bash\ncataloger -c ~/custom_conf.json\n```\n\n### Other examples\n\nSearch:\n\n```bash\n# Search for user entry by user sAMAccountName\ncataloger search user dummyuser\n\n# Search for user entry by user mail attribute\ncataloger search user --attribute=mail dummyuser@fake.com\n\n# Search for user entry by user sAMAccountName and display user groups\ncataloger search user dummyUser -g\n\n# Search for group entry by sAMAccountName\ncataloger search group dummyGroup\n\n# Search for group entry by 'cn' attribute\ncataloger search group --attribute=cn dummyGroup dummyGroup-CN\n\n# Search for group entry by sAMAccountName and display group direct members\ncataloger search group dummyGroup -m\n\n# Search for group entry by sAMAccountName and display group all members (include all subgroups members)\ncataloger search group dummyGroup -m --nested\n```\n\nModify:\n\n```bash\n# Add 'dummyUser' to 'dummyGroup' members\ncataloger modify group members dummyGroup -a dummyUser\n\n# Add 'dummyUser1' and 'dummyUser2' to 'dummyGroup' members\ncataloger modify group members dummyGroup -a dummyUser1 -a dummyUser2\n\n# Remove 'dummyUser' form 'dummyGroup' members\ncataloger modify group members dummyGroup -d dummyUser\n\n# Remove 'dummyUser1' and 'dummyUser2' form 'dummyGroup' members\ncataloger modify group members dummyGroup -d dummyUser1 -d dummyUser2\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlampsi%2Fcataloger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdlampsi%2Fcataloger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlampsi%2Fcataloger/lists"}