{"id":13505495,"url":"https://github.com/sarweshparajuli/appnativefy","last_synced_at":"2026-01-24T15:08:22.434Z","repository":{"id":42666082,"uuid":"335959367","full_name":"sarweshparajuli/appnativefy","owner":"sarweshparajuli","description":"A CLI tool to make a single executable AppImage from any website","archived":false,"fork":false,"pushed_at":"2023-02-03T17:13:18.000Z","size":155020,"stargazers_count":155,"open_issues_count":18,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-23T10:28:28.066Z","etag":null,"topics":["appimage","appimages","electron","linux","linux-app","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sarweshparajuli.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}},"created_at":"2021-02-04T13:16:31.000Z","updated_at":"2025-08-22T09:24:54.000Z","dependencies_parsed_at":"2023-02-18T09:30:42.491Z","dependency_job_id":null,"html_url":"https://github.com/sarweshparajuli/appnativefy","commit_stats":null,"previous_names":["sarweshparajuli/nativefier-appimage"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/sarweshparajuli/appnativefy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarweshparajuli%2Fappnativefy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarweshparajuli%2Fappnativefy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarweshparajuli%2Fappnativefy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarweshparajuli%2Fappnativefy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarweshparajuli","download_url":"https://codeload.github.com/sarweshparajuli/appnativefy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarweshparajuli%2Fappnativefy/sbom","scorecard":{"id":800958,"data":{"date":"2025-08-11","repo":{"name":"github.com/sarweshparajuli/appnativefy","commit":"6ae48ea067d0de1473e6f079eebad9ede07a8cd0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/8 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":"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":"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":"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":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:28","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sarweshparajuli/appnativefy/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/sarweshparajuli/appnativefy/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/sarweshparajuli/appnativefy/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/sarweshparajuli/appnativefy/codeql-analysis.yml/main?enable=pin","Warn: downloadThenRun not pinned by hash: script.sh:60","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun 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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: ISC License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 6 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"}},{"name":"Vulnerabilities","score":0,"reason":"29 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-cph5-m8f7-6c5x","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-px4h-xg32-q955","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-4cpg-3vgw-4877","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-4rq4-32rv-6wp6","Warn: Project is vulnerable to: GHSA-64g7-mvw6-v9qj","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-h6q6-9hqw-rwfv","Warn: Project is vulnerable to: GHSA-5fg8-2547-mr8q","Warn: Project is vulnerable to: GHSA-crh6-fp67-6883"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T10:28:26.480Z","repository_id":42666082,"created_at":"2025-08-23T10:28:26.481Z","updated_at":"2025-08-23T10:28:26.481Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28730311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"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":["appimage","appimages","electron","linux","linux-app","nodejs"],"created_at":"2024-08-01T00:01:09.023Z","updated_at":"2026-01-24T15:08:22.414Z","avatar_url":"https://github.com/sarweshparajuli.png","language":"JavaScript","funding_links":[],"categories":["AppImage developer tools"],"sub_categories":["Deployment tools for Electron applications"],"readme":"# Appnativefy \n\nAppnativefy is an NPM package to make executable AppImage files from any website, it uses the Nativefier API in the backend, with AppImageKIt. \n\n## Why AppImages?\n\nAppImages are cross-distro unlike `.deb` or .`rpm`. Plus, you dont have to face the hassle of individually installing the package, and another hassle while uninstalling.\n\nWith AppImages, there's no installation required, click-to-run.\n\nUninstall? `rm -r \u003cfile name\u003e.AppImage`\nSimply delete the file.\n\n---\n\n[![npm version](https://badge.fury.io/js/appnativefy.svg)](https://badge.fury.io/js/appnativefy)\n\n\n**Make a native AppImage for ANY website**\n\u003cbr\u003e\n ![Dock](gifs/messenger-appimage.png)   \n\n\n\n## Installation\n```bash\nnpm install -g appnativefy\n```\n## Supported platforms \u0026 prerequisites\n### Supported platforms\nSupported for: GNU/Linux Operating Systems\n\nArchitectures: amd64\n(Soon adding support for additional architectures)\n\n### Prerequisites\n* Node.JS\n* NPM Package manager\n* Wget\n\nYou can install these by:\n#### Debian and derivatives (Ubuntu, Kubuntu, KDE Neon, Kali, etc.)\n```bash\nsudo pkcon update (for KDE Neon) | sudo apt-get update (for all other distros)\nsudo apt-get install nodejs npm wget\n```\n#### Arch and derivatives (Garuda, Manjaro, etc.)\n```bash\nsudo pacman -Syu\nsudo pacman -S nodejs npm wget\n```\n#### Gentoo\n```bash\nemerge nodejs wget\n```\n\n## Usage\n![Usage](gifs/animated.gif)\nFor example, to make an AppImage for YouTube, simply run, \n```\nappnativefy --name \"YouTube\" --url \"https://youtube.com\"\n```\nBut if you wish to sign-in to YouTube, pass `--services`, this argument enables to sign-in using services such as Microsoft 365 and Google, in sites that support them. So, you'll be supposed to run \n```\nappnativefy --name \"YouTube\" --url \"https://youtube.com\" --services\n```\n\nGenerally the command is:\n```\nappnativefy --name \u003cvalue\u003e --url \u003cwebsite url\u003e \u003cadditional options\u003e\n```\n\nIt is recommended to pass the values inside double quotes `\" \"`, so that it may not cause any errors. Also, whitespaces in the value of `--name` will be replaced with hyphens `-`. This means, if the name is supplied as `--name \"Hello world\"`, it will change into `Hello-world`.\n\nThe built AppImage will be found in `~/appnativefy`, with the file name: `\u003cname\u003e-x86_64.AppImage`\n#### List of options\n* --help | -h\n```\nappnativefy --help, appnativefy -h\n```\nPrints possible command-line options\n\n* --version | -V\n\n```\nappnativefy --version, appnativefy -V\n```\nPrints the installation directory and version of installed appnativefy\n\n* --name | -n [REQUIRED]\n```\n--name \u003cvalue\u003e,-n \u003cvalue\u003e\n```\nTo specify the name of the AppImage to be built, `---url | -u` and `--name | -n` are required options, also, it is recommended to enclose the values using doublequotes `\" \"`.\n\n* --url | -u [REQUIRED]\n```\n--url \u003cvalue\u003e, -u \u003cvalue\u003e\n```\nURL of the website, that is to be nativefied.\n\n* --internalurls\n```\n--internalurls \u003cREGEX\u003e\n```\nRegular expression for internal URLs.\n\n* --appCopyright\n```\n--appCopyright \u003cvalue\u003e\n```\n Copyright information\n \n * --appVersion \n ```\n --appVersion \u003cvalue\u003e\n ```\n App version info\n\n* -e, --electronVersion\n```\n-e, --electronVersion \u003cvalue without the \"v\"\u003e\n```\nSpecifies which version of electron framework to be used by the AppImage.\n\n* --saveAs\n```\n--saveAs\n```\nShows a \"Save As\" dialog while downloading.\n\n* --favicon\n```\n--favicon\n```\nForces to use the favicon of the site while making the AppImage. If not specified in certain cases, the icon may be different than expected in sites such as Microsoft Teams.\n\n* --widevine\n```\n--widevine\n```\nAdds Widevine support to the AppImage, to enable playing DRM enabled content in sites such as Spotify.\n\n* --services\n```\n--services\n```\n**NOTE**: If passed without `--internalurls` will default to `(.*)` as internal URLs.\n\nChanges the useragent to `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0` to overcome incompatibilty with Microsoft 365 and/or Google sign-in services.\n\n* --noOverwrite\n```\n--noOverwrite\n```\nSpecifies that the directory should not be overwritten if already present.\n\n* --conceal\n```\n--conceal\n```\nConceals the sourcecode of the electronized website inside the AppImage into an ASAR archive.\n\n\n* --counter\n```\n--counter\n```\nUse a counter that persists even with window focus for the application badge.\n\n* --singleinstance\n```\n--singleinstance\n```\nOnly a single instance of the AppImage will execute, if already running, the instance will be brought to front.\n\n* --disablegpu\n```\n--disablegpu\n```\nDisables hardware acceleration, in the AppImage.\n\n## Examples\n\n![Usage](gifs/examples.png)\n\n\n### Google\n```\nappnativefy --name \"Google\" --url \"https://google.com\" --services\n```\nhttps://github.com/sarweshparajuli/appnativefy-gifs/raw/main/examples/Google-x86_64.AppImage\n\n### Messenger\n```\nappnativefy --name \"Messenger\" --url \"https://messenger.com\" --services --favicon\n```\nhttps://github.com/sarweshparajuli/appnativefy-gifs/raw/main/examples/Messenger-x86_64.AppImage\n### Microsoft Teams\n```\nappnativefy --name \"Microsoft Teams\" --url \"https://teams.microsoft.com/_\" --services --favicon\n```\nhttps://github.com/sarweshparajuli/appnativefy-gifs/raw/main/examples/Microsoft-Teams-x86_64.AppImage\n### Spotify\n```\nappnativefy --name \"Spotify\" --url \"https://open.spotify.com\" --services --widevine --favicon\n```\nhttps://github.com/sarweshparajuli/appnativefy-gifs/raw/main/examples/Spotify-x86_64.AppImage\n### YouTube\n```\nappnativefy --name \"YouTube\" --url \"https://youtube.com\" --services\n```\nhttps://github.com/sarweshparajuli/appnativefy-gifs/raw/main/examples/YouTube-x86_64.AppImage\n\n--- \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarweshparajuli%2Fappnativefy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarweshparajuli%2Fappnativefy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarweshparajuli%2Fappnativefy/lists"}