{"id":34831958,"url":"https://github.com/prodeveloper0/unss","last_synced_at":"2026-05-22T22:36:19.916Z","repository":{"id":290779709,"uuid":"975530275","full_name":"prodeveloper0/uNSS","owner":"prodeveloper0","description":"Simple Save Data Synchronization Homebrew for Nintendo Switch","archived":false,"fork":false,"pushed_at":"2026-04-12T16:48:46.000Z","size":150,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-12T17:27:05.124Z","etag":null,"topics":["homebrew","nitendo-switch"],"latest_commit_sha":null,"homepage":"","language":"C","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/prodeveloper0.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,"zenodo":null}},"created_at":"2025-04-30T13:16:25.000Z","updated_at":"2026-04-12T16:48:49.000Z","dependencies_parsed_at":"2025-04-30T14:58:42.822Z","dependency_job_id":"4e2c5dae-e8eb-43cd-95b4-6d8a4c537d42","html_url":"https://github.com/prodeveloper0/uNSS","commit_stats":null,"previous_names":["prodeveloper0/unss"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prodeveloper0/uNSS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodeveloper0%2FuNSS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodeveloper0%2FuNSS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodeveloper0%2FuNSS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodeveloper0%2FuNSS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prodeveloper0","download_url":"https://codeload.github.com/prodeveloper0/uNSS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodeveloper0%2FuNSS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33374440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-22T21:56:13.512Z","status":"ssl_error","status_checked_at":"2026-05-22T21:56:10.769Z","response_time":265,"last_error":"SSL_read: 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":["homebrew","nitendo-switch"],"created_at":"2025-12-25T15:56:04.231Z","updated_at":"2026-05-22T22:36:19.910Z","avatar_url":"https://github.com/prodeveloper0.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uNX Save Sync\nuNX Save Sync (aka. uNSS) is a Nintendo Switch application that allows synchronization of save data between multiple devices through a central remote server.\n\ncentral remote server manages save data with internal revision IDs for each user and title.\n\n# Usages\n## Client\n![uNSS Client Screen](resources/clientscreen.jpg)\n* How save data to push to remote? __JUST PRESS PUSH BUTTON__.\n* How save data to pull from remote? __JUST PRESS PULL BUTTON__.\n\n### Configuration\nTo use remote server synchronization, you must configure settings first. and uNSS client reads settings from `sdmc:/uNSS/config.ini`\n\n```ini\n[remote]\nenabled=1\nserverUrl=http://your.hostname.com:8989\n\n[account]\n; Nickname of the Switch user profile to operate on.\n; Must exactly match the nickname shown in the system's \"My Page\".\ndefaultAccountName=MyNickname\n; 1 (default): use psel applet (profile selector) first,\n;              fall back to defaultAccountName only when that fails\n;              (this is always the case in applet mode, since a\n;              library applet cannot launch psel).\n; 0          : skip psel entirely and always resolve the account\n;              from defaultAccountName.\nuseProfileSelector=1\n\n[title]\n; Which titles to include when pushing save data (archiving).\n; \"created\" (default): only titles that already have save data on this console.\n; \"all\"               : every installed title, even if it has never been saved.\narchiveBy=created\n\n; Which titles to include when pulling save data (restoring).\n; \"all\" (default)     : every installed title, even if it has never been saved.\n;                       uNSS will automatically create save data for titles\n;                       that don't have any yet.\n; \"created\"           : only titles that already have save data on this console.\nrestoreBy=all\n\n; Exclude specific titles by title ID (hex, comma-separated).\n; excludedTitleIds=0100000000010000,010000000000100B\n\n; Exclude specific titles by name (separated by \"||\").\n; excludedTitleNames=uNSS||DBI\n```\n\n#### `[account]` behavior matrix\n\n| Launch context | `useProfileSelector=1` (default) | `useProfileSelector=0` |\n|---|---|---|\n| Full application mode (forwarder / title takeover) | Use psel applet → fall back to `defaultAccountName` | Always use `defaultAccountName` |\n| Applet mode (hbmenu via album applet) | Use `defaultAccountName` (psel is unavailable to library applets) | Use `defaultAccountName` |\n\nIf `defaultAccountName` is unset (or does not match any registered user) when the client needs it, uNSS prints an explanatory message and only the Exit option is available.\n\n## Server\n### Prerequisite\nRunning server via Python interpreter requires some dependencies. Install dependencies first.\n```bash\npip install -r requirements.txt\n```\n\n### Linux / macOS\nBackground mode\n```bash\nnohup run-linux.sh\n```\n\nForeground mode\n\n```bash\n./run-linux.sh\n```\n\nor\n\n```bash\npython main.py --host 0.0.0.0 --port 8989\n```\n\n### Windows\nJust used prebuilt binary by PyInstaller\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodeveloper0%2Funss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprodeveloper0%2Funss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodeveloper0%2Funss/lists"}