{"id":22165557,"url":"https://github.com/supermarsx/cdp-auth","last_synced_at":"2026-05-09T04:34:06.665Z","repository":{"id":187502283,"uuid":"676996367","full_name":"supermarsx/cdp-auth","owner":"supermarsx","description":"CEF Client (Chrome/Chromium) CDP authentication automation tool for mRemoteNG","archived":false,"fork":false,"pushed_at":"2024-05-24T10:21:43.000Z","size":292,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T16:14:09.793Z","etag":null,"topics":["automation","cef-client","chrome","chromium","mremoteng"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/supermarsx.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2023-08-10T13:49:36.000Z","updated_at":"2024-05-24T10:21:46.000Z","dependencies_parsed_at":"2025-01-29T21:46:21.875Z","dependency_job_id":null,"html_url":"https://github.com/supermarsx/cdp-auth","commit_stats":null,"previous_names":["supermarsx/cdp-auth"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/supermarsx/cdp-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fcdp-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fcdp-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fcdp-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fcdp-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supermarsx","download_url":"https://codeload.github.com/supermarsx/cdp-auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fcdp-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32807265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["automation","cef-client","chrome","chromium","mremoteng"],"created_at":"2024-12-02T05:15:14.510Z","updated_at":"2026-05-09T04:34:06.647Z","avatar_url":"https://github.com/supermarsx.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cdp-auth\n\nA CEF Client (Chrome/Chromium) CDP authentication automation tool for mRemoteNG. Allows you to auto fill forms and login to some types of login forms automagically and using Chrome inside of mRemoteNG.\n\n\n## Changelog\n\n0.0.2: \n- Added Field name typed automation option\n\n## Known bugs/limitations\n- Doesn't handle element ids or names with commas\n- Doesn't handle iframe ids with commas\n- Doesn't handle usernames or passwords with commas\n- Sometimes startup is slow\n- Sometimes `field_id` mode bugs out and can't login\n- Passes clear password on a shell execute instruction to `cdp-auth`\n- Can open a single instance of each login due to debug port\n- Sometimes enter key on typed forms causes cdp error after login, workaround just by pressing the \"back\" button\n\n## Possible bug fixes\n- Handling commas, Wrap parameters in quotes or something maybe\n- Passing clear passwords on shell execute, encrypt them with AES and store a key internally somewhere maybe or temp file?\n\n## Known working logins\n\n- Any basic auth interfaces, routers, switches, etc.\n- pfSense (using field_id like `field_id,ADMINUSER,usernamefld,passwordfld`)\n- HP Integrated Lights Out or ILO (using field_id+iframe like `field_id+iframe,ADMINUSER,usernameInput,passwordInput,appFrame`)\n- Joomla (using field_id like `field_id,ADMINUSER,mod-login-username,mod-login-password`)\n- Portainer (using field_id_typing like `field_id_typing,ADMINUSER,username,password`)\n- Nginx Manager (using field_name like `field_name,ADMINUSER,identity,secret`)\n- SQLPad (using field_name_typing like `field_name_typing,ADMINUSER,email,password`)\n- TP-Link managed switch (using field_id like `field_id,ADMINUSER,username,password`)\n- \n\n## Known not working logins\n\n- ...\n\nNote: Please report any working/non-working login with its full method to be integrated in the list. Do it by opening an issue or something.\n\n## Quick start\n\n### `cefclient-embedded-passthrough`\n1. Download the latest `cdp-auth` [release](https://github.com/supermarsx/cdp-auth/releases) (0.0.3)\n2. Download cef client binary (if you don't have it yet) you can get this one from the [official source](https://github.com/chromiumembedded/cef), [spotifycdn mirror](https://github.com/chromiumembedded/cef) [my github mirror](https://github.com/supermarsx/mirror-cef_binary_155.3.13)\n3. Extract `cdp-auth` binary to cef client folder\n4. Configure `cefclient-embedded-passthrough` as an external tool \n    `cefclient-embedded-passthrough` should be passed the following arguments: \n    `%HOSTNAME% %USERFIELD% %PASSWORD%`\n    pick \"try to integrate\" (Very important if you want it to be embedded)    \n5. Configure connections like\n    - **Hostname/IP**: Full url with protocol and port like: https://examplemgmt.com:9000\n    - **Password**: User password as normal   \n    - **Protocol**: External Tool   \n    - **External Tool**: (whatever you set as your cefclient-embedded-passthrough)  \n    - **User field**: Depending on the type of authentication this field will look differently (refer to types of authentication below)   \n6. Check if your cefclient folder contains `cefclient-embedded-passthrough`, `cdp-auth` and `messagebox` beside `cefclient`.\n7. Enjoy\n   \n### Types of authentication\nYour \"User Field\" will look differently depending on the type of login form:\n\n--\n\nBasic Authentication: `basic_auth`: Basic authentication the uses a small box on top of the browser, common in some routers and switches\n- format: `basic_auth,USERNAME`\n- example: `basic_auth,admin`\n\n--\n\nForm Field ID: `field_id`: Form authentication using username and password input IDs\n- format: `field_id,USERNAME,USERNAMEFIELDID,PASSWORDFIELDID`\n- example: `field_id,administrator,usernameField,passwordField`\n\n--\n\nForm Field Name: `field_name`: Form authentication using username and password input names\n- format: `field_name,USERNAME,USERNAMEFIELDNAME,PASSWORDFIELDNAME`\n- example: `field_name,administrator,user,pass`\n\n--\n\nForm Field ID (typed): `field_id_typing`: Form authentication using username and password input IDs but values are \"typed\" in (Alternative when `field_id` doesn't work)\n- format: `field_id_typing,USERNAME,USERNAMEFIELDID,PASSWORDFIELDID`\n- example: `field_id_typing,administrator,usernameField,passwordField`\n\n--\n\nForm Field Name (typed): `field_name_typing`: Form authentication using username and password input names but values are \"typed\" in (Alternative when `field_name` doesn't work)\n- format: `field_name_typing,USERNAME,USERNAMEFIELDNAME,PASSWORDFIELDNAME`\n- example: `field_name_typing,administrator,usernameField,passwordField`\n\n--\n\nForm Field ID on Iframe: `field_id+iframe`: Form authentication using username and password input IDs when they're inside an iframe ID\n- format: `field_id+iframe,USERNAME,USERNAMEFIELDID,PASSWORDFIELDID,IFRAMEID`\n- example: `field_id+iframe,administrator,usernameField,passwordField,loginFrame`\n\n\nYou'll need to check the specific form you want to login using Inspect and see what type of form it is and whats the most adequate solution.\n\n## Getting started with source\n1. Clone the repository\n2. Install modules using ` npm install `\n3. .…\n4. Profit?\n\nYou can do npm start and pass arguments with it, you should because it doesn't really work otherwise.\n\nAlso you might need to recreate the `sea` folder and `dist` folder inside of it for the build to be successful.\n\n`cdp-auth-passthrough.au3` is a small passthrough that hide the SEA console window on launch, very useful when not debugging to avoid pesky windows popping up.\n`cefclient-embedded-passthrough.au3` is a bigger version of `cdp-auth-passthrough.au3` that generates a random debug port, embeds cefclient on a gui and serves as a passthrough for cdp-auth. (Current recommended way of automation)\n\n### Auxiliary npm scripts\n```\n  \"scriptsComments\": {\n    \"start\": \"Run cdp-auth with arguments (recommended for debugging)\",\n    \"tsbuild\":  \"Clean build typescript to javascript\",\n    \"esbuild\": \"Create a commonjs version of the app to be built into a SEA\",\n    \"sea-build\": \"Executes the builder script\",\n    \"sea-build-full\": \"Run all necessary build steps\"\n  },\n```\n\n## License\nDistributed under MIT License. See `license.md` for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermarsx%2Fcdp-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupermarsx%2Fcdp-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermarsx%2Fcdp-auth/lists"}