{"id":13558344,"url":"https://github.com/euank/synapse-password-reset","last_synced_at":"2025-04-11T00:06:13.154Z","repository":{"id":66058239,"uuid":"74870648","full_name":"euank/synapse-password-reset","owner":"euank","description":"A companion tool for https://github.com/euank/synapse-backregister to manage password resets","archived":false,"fork":false,"pushed_at":"2017-01-24T16:22:10.000Z","size":55,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T00:06:07.673Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/euank.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":"2016-11-27T06:07:17.000Z","updated_at":"2023-03-15T22:29:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"ab7dea02-db6a-49db-a4c5-06958ec4cb83","html_url":"https://github.com/euank/synapse-password-reset","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2Fsynapse-password-reset","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2Fsynapse-password-reset/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2Fsynapse-password-reset/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euank%2Fsynapse-password-reset/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/euank","download_url":"https://codeload.github.com/euank/synapse-password-reset/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317707,"owners_count":21083528,"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":[],"created_at":"2024-08-01T12:04:53.709Z","updated_at":"2025-04-11T00:06:13.129Z","avatar_url":"https://github.com/euank.png","language":"Rust","funding_links":[],"categories":["Rust","others"],"sub_categories":[],"readme":"This is a password reset tool based on the following things:\n\n1) https://github.com/matrix-org/synapse/blob/9bba6ebaa903a81cd94fada114aa71e20b685adb/README.rst#password-reset\n\n2) a filesystem-based database for storing shared secrets and expiration\n\n3) the assumption that an administrator will be able to access said filesystem DB and use it as the means of generating a reset link\n\n## Usage\n\nDeploy this over https. Really.\n\n### Administering a password reset\n\nAs an admin, you should have access to the filesystem including the token database directory.\n\nEnter into the token database directory, and run the following to make a password reset:\n\n```bash\ntoken=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1)\necho -n \"@username:matrix.server.name.com\" \u003e $token\n```\n\nProvide the token to the user who forgot their password. Carefully validate it is actually them. gpg encrypt it for them. Live your dreams of the government trying to intercept your communication.\n\nEventually this might be less manual!\n\n### TODO\n\n* Web interface for admin (pls u2f)\n* A better web interface for users.\n* I dunno.\n\n### LICENSE\n\nAGPL3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuank%2Fsynapse-password-reset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feuank%2Fsynapse-password-reset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuank%2Fsynapse-password-reset/lists"}