{"id":45260393,"url":"https://github.com/EDCD/EDDI","last_synced_at":"2026-03-05T23:01:11.383Z","repository":{"id":37431311,"uuid":"99374952","full_name":"EDCD/EDDI","owner":"EDCD","description":"Companion application for Elite Dangerous","archived":false,"fork":false,"pushed_at":"2026-02-25T07:58:40.000Z","size":50674,"stargazers_count":515,"open_issues_count":24,"forks_count":90,"subscribers_count":35,"default_branch":"develop","last_synced_at":"2026-02-25T12:41:24.117Z","etag":null,"topics":["eddn","edsm","elite","elite-dangerous","frontier-api","text-to-speech","voiceattack","voiceattack-plugin"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EDCD.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":"docs/Contributing.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-08-04T19:47:37.000Z","updated_at":"2026-02-25T07:58:45.000Z","dependencies_parsed_at":"2022-07-08T18:44:43.635Z","dependency_job_id":"96cb6700-ae3e-4677-aaa4-0b6d92879b13","html_url":"https://github.com/EDCD/EDDI","commit_stats":null,"previous_names":[],"tags_count":171,"template":false,"template_full_name":null,"purl":"pkg:github/EDCD/EDDI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDCD%2FEDDI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDCD%2FEDDI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDCD%2FEDDI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDCD%2FEDDI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EDCD","download_url":"https://codeload.github.com/EDCD/EDDI/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDCD%2FEDDI/sbom","scorecard":{"id":43252,"data":{"date":"2025-08-11","repo":{"name":"github.com/EDCD/EDDI","commit":"43d3c0b4850ddc09f1b5f89a31335e2b0236b7aa"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 2/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:38","Warn: no topLevel permission defined: .github/workflows/ContinuousIntegration.yml:1","Warn: no topLevel permission defined: .github/workflows/OnRelease.yml:1","Warn: no topLevel permission defined: .github/workflows/SyncWiki.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact Release/4.1.4 not signed: https://api.github.com/repos/EDCD/EDDI/releases/219296688","Warn: release artifact Release/4.1.3 not signed: https://api.github.com/repos/EDCD/EDDI/releases/215053173","Warn: release artifact Release/4.1.2 not signed: https://api.github.com/repos/EDCD/EDDI/releases/214995442","Warn: release artifact Release/4.1.1 not signed: https://api.github.com/repos/EDCD/EDDI/releases/206085284","Warn: release artifact Release/4.1.0 not signed: https://api.github.com/repos/EDCD/EDDI/releases/204656458","Warn: release artifact Release/4.1.4 does not have provenance: https://api.github.com/repos/EDCD/EDDI/releases/219296688","Warn: release artifact Release/4.1.3 does not have provenance: https://api.github.com/repos/EDCD/EDDI/releases/215053173","Warn: release artifact Release/4.1.2 does not have provenance: https://api.github.com/repos/EDCD/EDDI/releases/214995442","Warn: release artifact Release/4.1.1 does not have provenance: https://api.github.com/repos/EDCD/EDDI/releases/206085284","Warn: release artifact Release/4.1.0 does not have provenance: https://api.github.com/repos/EDCD/EDDI/releases/204656458"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ContinuousIntegration.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/ContinuousIntegration.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ContinuousIntegration.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/ContinuousIntegration.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ContinuousIntegration.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/ContinuousIntegration.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ContinuousIntegration.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/ContinuousIntegration.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ContinuousIntegration.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/ContinuousIntegration.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/SyncWiki.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/SyncWiki.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/SyncWiki.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/SyncWiki.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/SyncWiki.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/SyncWiki.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/SyncWiki.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/SyncWiki.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/SyncWiki.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/SyncWiki.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/codeql.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/codeql.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/codeql.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/EDCD/EDDI/codeql.yml/develop?enable=pin","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   7 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":8,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 1 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T22:04:51.204Z","repository_id":37431311,"created_at":"2025-08-14T22:04:51.204Z","updated_at":"2025-08-14T22:04:51.204Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30154265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"ssl_error","status_checked_at":"2026-03-05T22:39:24.771Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["eddn","edsm","elite","elite-dangerous","frontier-api","text-to-speech","voiceattack","voiceattack-plugin"],"created_at":"2026-02-21T00:00:41.390Z","updated_at":"2026-03-05T23:01:11.378Z","avatar_url":"https://github.com/EDCD.png","language":"C#","funding_links":[],"categories":["C#"],"sub_categories":[],"readme":"﻿[![Crowdin](https://d322cqt584bo4o.cloudfront.net/eddi/localized.svg)](https://crowdin.com/project/eddi)\n\n| Branch | Status |\n|--------|--------|\n| stable | [![stable](https://github.com/EDCD/EDDI/actions/workflows/ContinuousIntegration.yml/badge.svg?branch=stable)](https://github.com/EDCD/EDDI/actions/workflows/ContinuousIntegration.yml?query=branch%3Astable) |\n| beta | [![beta](https://github.com/EDCD/EDDI/actions/workflows/ContinuousIntegration.yml/badge.svg?branch=beta)](https://github.com/EDCD/EDDI/actions/workflows/ContinuousIntegration.yml?query=branch%3Abeta) |\n| develop | [![develop](https://github.com/EDCD/EDDI/actions/workflows/ContinuousIntegration.yml/badge.svg?branch=develop)](https://github.com/EDCD/EDDI/actions/workflows/ContinuousIntegration.yml?query=branch%3Adevelop) |\n\n# EDDI: The Elite Dangerous Data Interface\n\nEDDI is a companion application for Elite: Dangerous, providing responses to events that occur in-game using data from the game as well as various third-party tools.\n\nEDDI reads data from a variety of sources to provide players with additional information whilst in-game, and also with events that can trigger such things as spoken responses or VoiceAttack actions.  The basic flow of EDDI is shown below:\n\n![](images/Architecture.png)\n\nMonitors are pieces of code that check for information, for example a new Galnet article being published or an entry to Elite's journal.  Monitors pass information on the event to EDDI.\n\nEDDI takes events and carries out operations based on them.  For example, if the event says that the player has changed system then EDDI will fetch updated system information from EDDB.  Once it has gathered all of the required information it will notify each responder of the event.\n\nResponders take the events, along with any information that has been gathered by EDDI, and carry out actions.  For example the EDSM responder sends details of any jumps that the player makes to EDSM so that they have a permanent record of their flight logs, the speech responder provides a spoken response to events, the VoiceAttack responder provides variables to VoiceAttack scripts and runs specific scripts when events occur, etc.\n\nMonitors and responders can be configured from the EDDI UI, and can be individually enabled or disabled as required.\n\n## Installing and Configuring EDDI\n\nEDDI can be installed standalone or as a VoiceAttack plugin.\n\nDownload the EDDI installer from [https://github.com/EDCD/EDDI/releases](https://github.com/EDCD/EDDI/releases).  By default it will install in C:\\Program Files (x86)\\VoiceAttack\\Apps\\EDDI, which is fine regardless of if you have VoiceAttack or not, but of course you can change it if you wish (although note that if the installation is not in a subdirectory of your VoiceAttack's Apps directory then it will not be able to be used as a VoiceAttack plugin).\n\nAlternatively you can compile EDDI from the sources at [https://github.com/EDCD/EDDI](https://github.com/EDCD/EDDI). See [development dependencies](https://github.com/EDCD/EDDI/blob/develop/Development%20dependencies.md).\n\nWhen you start EDDI it will bring up a window with a number of tabs.  Each tab explains its function and how to configure it, so you will be best served to read each tab and set it up according to your liking.\n\n## Using EDDI with VoiceAttack\n\nInitial EDDI integration with VoiceAttack is automatic, but there is a lot that you can do to integrate EDDI with your own VoiceAttack scripts.  Full details of what you can do with EDDI and VoiceAttack are on the [VoiceAttack EDDI page](https://github.com/EDCD/EDDI/wiki/VoiceAttack-Integration).\n\n## Upgrading EDDI\n\nIf you are upgrading from EDDI 1 EDDI it is recommended that you uninstall your existing version of EDDI and remove your %APPDATA%\\EDDI directory prior to upgrading to the new one.  This ensures that there is a clean installation and reduces the chances of problems occurring.\n\nIf you are upgrading from another version of EDDI 2 the installer will take care of changes so you just need to run it.\n\n## EDDI Voices\n\nEDDI uses the standard Windows TTS (text-to-speech) voices.  The voice needs to be visible to Windows' TTS system to be made available to EDDI: this usually takes place when you install the voice.  If you cannot see a voice in EDDI then check the Windows TTS settings.\n\nIf you want to have a high-quality voice other than that available with Windows then the best choices are to purchase voices from either Ivona or Cereproc.  Though both provide great voices, Ivona voices typically adhere more closely to published SSML standards and provide fuller functionality for phonetic speech and other advanced features like pauses in the middle of speech and correct pronunciation of names (ships, powers, systems, etc.).\n\n# Troubleshooting\n\nIf you are experiencing problems with EDDI then your first port of call should be the [troubleshooting page](https://github.com/EDCD/EDDI/blob/master/TROUBLESHOOTING.md).  If this does not fix your problem then please check the Known issues below:\n\nIf you have an issue with EDDI then please [report it](https://github.com/EDCD/EDDI/issues). \n\n# Uninstalling EDDI\n\nIf you want to uninstall EDDI then you can do so through the Windows control panel.  Any data that EDDI creates is stored in the %APPDATA%\\EDDI directory, and this can also be removed on uninstall.\n\n# Thanks\n\nWe would like to express our gratitude to the various products, services, and APIs which make EDDI's development possible, including:\n\n[![https://elitedangerous.com/](images/Elite-Dangerous_100x100.png)](https://elitedangerous.com/)\n[![https://www.edsm.net/](images/edsmLogo_100x100.jpg)](https://www.edsm.net/)\n[![https://www.inara.cz/](images/inaraLogo_100x100.png)](https://www.inara.cz/)\n[![https://www.voiceattack.com](images/voiceattackLogo_100x100.png)](https://www.voiceattack.com)\n[![https://www.microsoft.com](images/MSFT_272x100.png)](https://www.microsoft.com)\n[![https://www.jetbrains.com/?from=EDDI](images/jetbrains_100x100.png)](https://www.jetbrains.com/?from=EDDI)\n[![https://www.rollbar.com](images/rollbar_100x100.png)](https://www.rollbar.com)\n\n- https://github.com/r3c/cottle\n- https://github.com/icsharpcode/AvalonEdit\n- https://github.com/JamesNK/Newtonsoft.Json\n  \nNote: Logos and trademarks in this section are not the property of the EDDI development team. These are sourced from publicly available press kits or otherwise used with permission.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEDCD%2FEDDI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEDCD%2FEDDI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEDCD%2FEDDI/lists"}