{"id":24261923,"url":"https://github.com/millenniumearl/yam","last_synced_at":"2025-09-23T21:31:57.428Z","repository":{"id":37635856,"uuid":"299663963","full_name":"MillenniumEarl/YAM","owner":"MillenniumEarl","description":"Unofficial Game Updater for the F95Zone platform","archived":false,"fork":false,"pushed_at":"2024-04-06T03:36:50.000Z","size":22190,"stargazers_count":40,"open_issues_count":16,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-06T04:26:47.555Z","etag":null,"topics":["f95zone","game","game-information","game-install","game-updates","games","manager","mod","nsfw"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/MillenniumEarl.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}},"created_at":"2020-09-29T15:46:53.000Z","updated_at":"2024-04-14T23:34:57.518Z","dependencies_parsed_at":"2024-03-20T01:28:23.588Z","dependency_job_id":"be28e046-958b-4c37-9fdb-5eaae9806c3a","html_url":"https://github.com/MillenniumEarl/YAM","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MillenniumEarl%2FYAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MillenniumEarl%2FYAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MillenniumEarl%2FYAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MillenniumEarl%2FYAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MillenniumEarl","download_url":"https://codeload.github.com/MillenniumEarl/YAM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234001690,"owners_count":18764310,"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":["f95zone","game","game-information","game-install","game-updates","games","manager","mod","nsfw"],"created_at":"2025-01-15T06:49:36.330Z","updated_at":"2025-09-23T21:31:51.474Z","avatar_url":"https://github.com/MillenniumEarl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CodeFactor](https://www.codefactor.io/repository/github/millenniumearl/yam/badge)](https://www.codefactor.io/repository/github/millenniumearl/yam)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FMillenniumEarl%2FYAM.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FMillenniumEarl%2FYAM?ref=badge_shield)\n[![Known Vulnerabilities](https://snyk.io/test/github/MillenniumEarl/YAM/badge.svg)](https://snyk.io/test/github/MillenniumEarl/YAM)\n![Build](https://github.com/MillenniumEarl/YAM/workflows/Build/badge.svg)\n[![Crowdin](https://badges.crowdin.net/yam/localized.svg)](https://crowdin.com/project/yam)\n\n# F95 Game Updater\n\nMade with :heart: using :electron:\n\nF95 game updater is an unofficial game manager for the [F95Zone platform](https://f95zone.to/), great for managing the games installed on your device. It will allow you to play, delete, read information and above all notify you of updates to your games.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"/resources/images/github/preview.gif\"\u003e\n\u003c/p\u003e\n\n**Note**: This application requires an active account on the platform. Two-factor authentication is not supported.\n\n## Functionality\n\n- Game information overview\n- Ability to play/delete the game directly from the application\n- Notification of updates when available\n- Game update wizard\n- Game folders are renamed to reflect the installed version\n- Support for the following languages: :it: :uk: :es: :portugal: :de: :cn: :ru: :netherlands:\n- It is possible to save/export game saves\n  - **Beta**: only works for games tagged Ren'Py and RPGM\n\n## Adding a game\n\nAdding a game is possible via the ![add_game](/resources/images/github/plus-button.png) button at the bottom right. When pressed it will present two choices:\n\n1. ![add_from_folder](/resources/images/github/add-game-from-folder.png) You will be presented with a directory selection screen. Select one or more directories containing the game directly and press OK.\n2. ![add_from_url](/resources/images/github/add-game-from-url.png) A directory selection screen will be presented. Select a single directory containing the game directly and press OK. A further screen will then appear asking for the main URL (post # 1) of the thread on F95Zone that contains the game information.\n\n**Warning!** In order to correctly detect the games, the folders must be in the format: _GAME NAME [V.VERSION] [MOD]_\n\n- **GAME NAME**: The game name, including any special characters (excluding non-usable characters such as /, %, :, etc...), case insensitive\n- **VERSION**: The exact version of the game (case insensitive). Make sure directory name is present \"v.\"\n- **MOD**: If it's not a game but a mod add this tag\n\nIf the game is not detected, it can be added via URL (point 2).\n\n## Game updates\n\nWhen adding a game or starting the application, updates of installed games are checked. If there are any, a blue button will appear below the \"Play\" and \"Remove\" buttons. Pressing it will start the update procedure in two steps:\n\n1. The first step will open the URL of the game on F95Zone (where it can be downloaded) and the local directory where it is currently saved.\n2. In the second step, to be performed once the new version of the game has been downloaded and installed, the directory name is updated and the update is marked as \"completed\".\n\n**Warning!** Make sure you don't have any processes running from the update game folder!\n\n**Warning!** Remember to copy any game saves in the game folder to update!\n\n## Known Issues\n\n1. Some translations may be totally or partially inaccurate, this is because they are machine translations\n   1. **Solution**: Open an issue with the wrong translation, the correct one and where/when the wrong translation occurs\n2. Games added even if already present\n   1. **Solution**: Rename the directory with the exact name of the game\n3. Games are not visible when starting the application\n   1. **Solution**: It's a rare database problem, restarting the application should fix it\n\n## How to contribute\n\n- **Translations**: If you know a language that is not available, you can contribute on [Crowdin](https://crwd.in/yam).\n- **Translation correction**: Are any translations wrong? Create a new issue or correct the translation file and create a pull request.\n- **Code**: Feel free to browse the code and open issues or create pull requests with necessary corrections.\n- **Front-end**: Could HTML and CSS be handled better? Create a pull request!\n- **Back-end**: This project is based on the [F95API](https://github.com/MillenniumEarl/F95API) API. If you want you can help there too!\n\n## Developer information\n\nThe project structure is managed as follows:\n\n```\nproject\n\\app\n..\\app.js # Main electron process\n..\\db\n..\\..\\schemas\n..\\..\\store\n..\\electron\n..\\..\\window # A folder for every window, containing preload and renderer\n..\\src\n..\\..\\components\n..\\..\\styles\n..\\..\\scripts\n..\\..\\..\\classes\n\\docs\n\\resources\n```\n\nAll files follow the kebab convention for nomenclature and all Javascript files related to Electron (preload and renderer) have the format `namefile-renderer/preload.js`.\nEg `mainpage-preload.js`\n\nThe app will run with basic security settings, like:\n\n- **allowRunningInsecureContent**: false\n- **contextIsolation**: true\n- **enableRemoteModule**: false\n- **nodeIntegration**: false\n\nAlso it will implement IPC and ContextBridge in the preloads.\n\nFor more information about secure use of IPC see this [repository](https://github.com/reZach/secure-electron-template/blob/master/docs/newtoelectron.md)\n\n## License\n\nUnder the MIT license. See [LICENSE](https://github.com/MillenniumEarl/YAM/blob/master/LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmillenniumearl%2Fyam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmillenniumearl%2Fyam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmillenniumearl%2Fyam/lists"}