{"id":13305693,"url":"https://github.com/ilyatbn/aws_alwayson","last_synced_at":"2025-03-10T13:32:18.142Z","repository":{"id":39710299,"uuid":"488764771","full_name":"ilyatbn/aws_alwayson","owner":"ilyatbn","description":"Chrome Extension that replaces the need for aws-google-auth ","archived":false,"fork":false,"pushed_at":"2023-04-28T14:56:28.000Z","size":656,"stargazers_count":8,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-04-28T16:11:32.824Z","etag":null,"topics":["aws","chrome-extension","google-workspace","gsuite","saml","sso"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilyatbn.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":null,"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":"2022-05-04T22:51:12.000Z","updated_at":"2023-04-21T07:17:08.000Z","dependencies_parsed_at":"2024-10-23T12:08:48.442Z","dependency_job_id":null,"html_url":"https://github.com/ilyatbn/aws_alwayson","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyatbn%2Faws_alwayson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyatbn%2Faws_alwayson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyatbn%2Faws_alwayson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyatbn%2Faws_alwayson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilyatbn","download_url":"https://codeload.github.com/ilyatbn/aws_alwayson/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242859775,"owners_count":20196993,"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":["aws","chrome-extension","google-workspace","gsuite","saml","sso"],"created_at":"2024-07-29T17:53:59.926Z","updated_at":"2025-03-10T13:32:18.069Z","avatar_url":"https://github.com/ilyatbn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS AlwaysON  \r\n\r\n## Introduction\r\nAWS AlwaysOn is a browser extension that allows users that use Google Workspace (gsuite) as an IDP provier to AWS, to easily maintain sessions to the AWS console and get temporary STS credentials.  \r\nThis extension can be used as an alternative to `aws-google-auth` and doesn't require inputing credentials as long as your Google account is logged in, nor does it suffer from constant Captcha.  \r\nThe extension was developed for Chrome but works mostly fine on all major browsers except Safari which was untested.  \r\n## Features\r\n- Refresh AWS Web Console session automatically to keep user logged in. \r\n- Get temporary credentials for assumed role to use for CLI access.\r\n- Autofill all available AWS roles for Google Workspace account.\r\n- Automatically update local aws credentials file.\r\n\r\n## Installation\r\n\r\n### Option 1 (Chrome, Firefox, Edge, Opera, Brave*)\r\nAvailable directly on Chrome Web Store and Add-ons for Firefox:  \r\n\r\n\u003ca href=\"https://chrome.google.com/webstore/detail/aws-alwayson/lfplgkokagjgodoeojaodphmjdhlpega\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/ilyatbn/aws_alwayson/master/img/chrome.png\" width=\"48\" /\u003e\u003c/a\u003e\r\n\u003ca href=\"https://addons.mozilla.org/en-US/firefox/addon/aws-alwayson/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/ilyatbn/aws_alwayson/master/img/ff.png\" width=\"48\" /\u003e\u003c/a\u003e\r\n\r\n\r\n\\* Should technically work with any chromium based browser.\r\n### Option 2\r\n **Google Chrome:**  \r\nClone this repository.  \r\nGo to the Chrome Extensions page.  \r\nEnable Developer Mode on the right side of the page.  \r\nPress \"Load Unpacked\".  \r\nPick the project folder.  \r\n\r\n**Mozilla Firefox:**  \r\nDelete the regular manifest.js and rename the manifest-firefox.js to manifest.js  \r\nGo to Addons and themes in the hamburger menu.  \r\nClick the wheel and then Debug Add-ons.  \r\nClick Load Temporary Add-on... and select the manifest.json file.  \r\n## Using the extension  \r\nFirst you will need to configure some properties in the Options menu. Each property has additional info that you can read to help you set it up properly.  \r\n![Options](img/opts.png)  \r\nWhen you are done, exit the Options menu.  \r\nNow you can add your user's IAM role or roles or click the (A) button to initiate autofill.    \r\n![Main menu](img/main.png)  \r\n\r\nClick on the slider to start the token auto refresh procedure.  \r\nAfter enabling the refresh you can also click on the CLI button to get the temporary STS credentials.  \r\n\r\n### Updater Service installation\r\nThe credentials updater service runs a minimalistic webserver on 127.0.0.1:31339 that listens requests for updates from the extension. \r\nTo enabled this feature, click the toggle in the Options menu.  \r\n\r\n#### Golang based service:\r\nPros:\r\n- No need for extra software. Runs natively on both Windows and Linux.  \r\n- Supports credentials updates multiple users connected to a machine concurrently.  \r\n\r\nCons:  \r\n- A highly privileged account is required to run with multi-user support.\r\n\r\n`Tested on Windows 11 22H2 and Ubuntu 20.04LTS`  \r\n```\r\ncd awsao\r\ngo build\r\nsudo install.sh / install.cmd (elevated cmd shell)\r\n```\r\n- logs requests to a log file, located in **/var/log/aosvc.log** or **c:\\ProgramData\\aosvc\\aosvc.log**. If run manually in windows, will create the log in the same directory it's run from.\r\n\r\n\r\n#### Python based service\r\nPros:  \r\n- Does not require privileged accounts to run.\r\n- Easier to develop cross OS compatibility. This should theoretically run on anything that runs Python.   \r\n\r\nCons:  \r\n- Requires an installation of Python.\r\n- Cannot run on multiple user accounts logged into a machine.\r\n\r\nMore info [here](/aosvc-python/README.md).\r\n\r\n`Currenly only Linux is officially supported.`  \r\n\r\n## Changelog:\r\nFull changelog is available [here](/changelog.md).  \r\n## Compatibility:\r\nTested and working on:  \r\nChrome - v101  \r\nBrave - v1.38.111  \r\nEdge  - v101      \r\nOpera - v86  \r\nFirefox - v100  \r\n## Known issues:  \r\n- (Edge) Options UI is smaller than the elements.  \r\n- (Opera) Options UI opens in a full tab.  \r\n- Sometimes when the Gmail user account is signed out (or the session expires), the error message shown in the extension is incorrect.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyatbn%2Faws_alwayson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyatbn%2Faws_alwayson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyatbn%2Faws_alwayson/lists"}