{"id":23397764,"url":"https://github.com/jack-mil/bing-rewards","last_synced_at":"2025-10-06T08:16:32.092Z","repository":{"id":47246943,"uuid":"267848023","full_name":"jack-mil/bing-rewards","owner":"jack-mil","description":"A script to automate daily Bing rewards points","archived":false,"fork":false,"pushed_at":"2025-09-30T01:05:34.000Z","size":501,"stargazers_count":260,"open_issues_count":5,"forks_count":36,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-30T05:21:07.789Z","etag":null,"topics":["automation","bing","bing-search","bot","pyinput","reward-points","script"],"latest_commit_sha":null,"homepage":"","language":"Python","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/jack-mil.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-05-29T12:05:33.000Z","updated_at":"2025-09-29T10:05:00.000Z","dependencies_parsed_at":"2024-07-18T06:15:36.979Z","dependency_job_id":"f5688f2a-bf7f-49bf-94de-117608a83279","html_url":"https://github.com/jack-mil/bing-rewards","commit_stats":{"total_commits":71,"total_committers":4,"mean_commits":17.75,"dds":0.2676056338028169,"last_synced_commit":"71a23ea18e3a722d410572fbace76903e6ae672c"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/jack-mil/bing-rewards","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jack-mil%2Fbing-rewards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jack-mil%2Fbing-rewards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jack-mil%2Fbing-rewards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jack-mil%2Fbing-rewards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jack-mil","download_url":"https://codeload.github.com/jack-mil/bing-rewards/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jack-mil%2Fbing-rewards/sbom","scorecard":{"id":472538,"data":{"date":"2025-08-11","repo":{"name":"github.com/jack-mil/bing-rewards","commit":"f6a694136fce827322452cfc627cba47ce773d79"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Maintained","score":10,"reason":"22 commit(s) and 2 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":"Code-Review","score":2,"reason":"Found 5/24 approved changesets -- score normalized to 2","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":"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":"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":"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/lint.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/jack-mil/bing-rewards/release.yml/master?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yml:13","Warn: no topLevel permission defined: .github/workflows/lint.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1"],"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":"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":"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":"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":"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: MIT 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":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v3.2.1 not signed: https://api.github.com/repos/jack-mil/bing-rewards/releases/226745942","Warn: release artifact v3.1.0 not signed: https://api.github.com/repos/jack-mil/bing-rewards/releases/200499042","Warn: release artifact v3.0.1 not signed: https://api.github.com/repos/jack-mil/bing-rewards/releases/166409827","Warn: release artifact v3.2.1 does not have provenance: https://api.github.com/repos/jack-mil/bing-rewards/releases/226745942","Warn: release artifact v3.1.0 does not have provenance: https://api.github.com/repos/jack-mil/bing-rewards/releases/200499042","Warn: release artifact v3.0.1 does not have provenance: https://api.github.com/repos/jack-mil/bing-rewards/releases/166409827"],"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":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: branch 'master' does not require approvers","Warn: codeowners review is not required on branch 'master'","Warn: 'last push approval' is disabled on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"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":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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-19T14:20:09.762Z","repository_id":47246943,"created_at":"2025-08-19T14:20:09.762Z","updated_at":"2025-08-19T14:20:09.762Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278578112,"owners_count":26009737,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["automation","bing","bing-search","bot","pyinput","reward-points","script"],"created_at":"2024-12-22T08:36:07.275Z","updated_at":"2025-10-06T08:16:32.086Z","avatar_url":"https://github.com/jack-mil.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bing-Rewards\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/bing-rewards?style=flat-square\u0026label=Python\u0026logo=python\u0026logoColor=yellow\"\u003e\n\u003ca href=\"https://pypi.org/p/bing-rewards/\"\u003e \u003cimg alt=\"PyPi\" src=\"https://img.shields.io/pypi/v/bing-rewards?label=PyPI\u0026style=flat-square\u0026logo=pypi\u0026logoColor=yellow\"\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/p/bing-rewards/\"\u003e \u003cimg alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/bing-rewards?style=flat-square\u0026label=Downloads\u0026color=orange\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cimg alt=\"PyPI - License\" src=\"https://img.shields.io/pypi/l/bing-rewards?style=flat-square\u0026label=License\u0026color=blueviolet\"\u003e\n\u003c/div\u003e\n\n### A CLI app to perform Bing searches\nPlease submit an issue or pull-request if you have an idea for a feature\n\n- [Features](#features)\n- [Installation](#installation)\n- [Dependencies](#dependencies)\n- [Usage](#usage)\n- [Options](#options)\n- [Config](#config)\n- [Development](#development)\n\n\n## Features\n\n* Enter random search queries into your browser *a-la* Auto Hotkey.\n* Use a mobile user agent to get mobile points (`--mobile`)\n* Configurable number of searches with `--count=`\n* Install as self-contained python application with minimal dependencies (`pynput`)\n* Fine tune delay and set browser executable with [config](#configuration) at `$XDG_CONFIG_HOME` or `%APPDATA%` on Windows\n* Not intended as an automated or headless service. Simply assists with what would regularly be a manual task.\n\n\n\u003e [!Important]\n\u003e This was originally created in a different age, when Bing \u0026 MS was much simpler and less bloated with AI ~~slop~~ tools. Users have reported a wide variety of success on whether this method works at all with the new systems. See some of the pinned or closed issues for reports from others that may improve success. I maintain the *code* in a working state as an excersie in Python packaging, but do *not* personally use the utility, and **cannot guarantee this method will even generate points anymore**!\n\n## Installation\nBing-rewards is a CLI application distributed on PyPI. You can install it however you prefer to manage Python applications on your system. I recommend `pipx` or `uv`.\n\n### With [`pipx`](https://pipx.pypa.io/stable/) or `pip`\n```bash\npipx install bing-rewards\n```\n\n### With [`uv`](https://docs.astral.sh/uv/getting-started/installation/)\n```sh\nuv tool install bing-rewards\n```\n\nThese commands will make the executable `bing-rewards` available on your PATH.\nLook below or try the `--help` flag to see detailed usage.\n\n\u003e [!Tip]\n\u003e Use a virtual environment or [`pipx`](https://pypa.github.io/pipx/) to avoid polluting your global package space with executable apps. See: [pipx](https://pypa.github.io/pipx/)\n\n### Locally\nClone the repo and install locally. See: [Developing](#development--contribution)\n\n## Dependencies\n\n- At least Python 3.10\n\n- [pynput](https://github.com/moses-palmer/pynput) (installed with package). Used to control keypresses and type Bing search URLS.\n  \u003e [!Warning]\n  \u003e  Bing-Rewards *will* take control away from the keyboard while running. **Pynput** performs key presses. i.e., it does not operate headless or in the background.\n\n- `chrome` must be discoverable on the system PATH. [Download Google Chrome](https://www.google.com/intl/en/chrome/).\n  If your Chromium based browser has a different name use the `--exe` flag with an absolute path to the browser executable to use (e.g. `--exe=$(which brave-browser)`).\n  See also: `\"browser-path\"` option in the [config](#configuration) file.\n\n- To earn points from searching, you *must* also have logged into [bing.com](https://www.bing.com) with your Microsoft account at least once, to save cookies.\n\n## Usage\n\n\u003e [!Tip]\n\u003e Press \u003ckbd\u003eESC\u003c/kbd\u003e to exit early and regain control\n\nComplete mobile and desktop daily points\n\n`$ bing-rewards`\n\nRun 10 searches with mobile user-agent in a new window\n\n`$ bing-rewards -m -c10`\n\n`$ bing-rewards --mobile --count=10`\n\nComplete mobile and desktop daily points using specified Chrome profile \"Profile 1\"\n\n`$ bing-rewards --profile \"Profile 1\"`\n\nRun searches sequentially across multiple Chrome profiles\n\n`$ bing-rewards --profile \"Default\" \"Profile 1\" \"Profile 2\"`\n\nLaunches Chrome as a subprocess with special flags. Tested on Windows 10 and Linux (Ubuntu + Arch), however it should work on Mac OS as well.\n\n\u003e [!Warning]\n\u003e No other instance of chrome.exe can be open when the script runs. Chrome prevents different user agents in each window. The script will run, but Chrome will not appear as Edge\n\n\n## Options\n\nRunning with no options will complete mobile and desktop daily search quota.\nThe following options are available to change the default behavior.\nOptions supplied at execution time override any config.\n| Flag                       | Option                                                                                                 |\n| -------------------------- | ------------------------------------------------------------------------------------------------------ |\n| `-h`, `--help`             | Display help and exit                                                                                  |\n| `-c`, `--count=N`          | Override the number of searches to complete                                                            |\n| `-b`, `--bing`             | Use this flag if Bing is already your default search engine. Bypasses constructing a bing.com URL      |\n| `-d`, `--desktop`          | Only use desktop user agent                                                                            |\n| `-m`, `--mobile`           | Only use a mobile user agent                                                                           |\n| `-n`, `--dryrun`           | Do everything but type the search query                                                                |\n| `--exe PATH`               | The full path of the Chrome compatible browser executable (Brave and Chrome tested)                    |\n| `--load-delay SEC`         | Override the time given to Chrome to load in seconds                                                   |\n| `--search-delay MIN[,MAX]` | Set the time between individual searches, in seconds. Can specify a range to get random delays         |\n| `--open-rewards`           | Open the rewards page at the end of the run                                                            |\n| `--nowindow`               | Don't open a new Chrome window, just type the keys                                                     |\n| `-X`, `--no-exit`          | Do not close the browser after completing a search                                                     |\n| `--profile`                | Run searches using specified Chrome profile(s). Multiple profiles can be specified to run sequentially |\n| `--ime`                    | Triggers Windows IME to switch to English input by pressing \"shift\"                                    |\n\n## Config\nA config file is also generated in $XDG_CONFIG_HOME or %APPDATA% on Windows\nwhere precise delay modifications can be made. If updates make changes to the default configs, you will have to remove and regenerate the file.\n\nExample config `~/.config/bing-rewards/config.json`\n```json\n{\n    \"desktop_count\": 30,\n    \"mobile_count\": 20,\n    \"load_delay\": 1.5,\n    \"search_delay\": 2,\n    \"search_url\": \"https://www.bing.com/search?FORM=CHROMN\u0026q=\",\n    \"desktop_agent\": \"Mozilla/5.0 ... \u003csnip\u003e\",\n    \"mobile_agent\": \"Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1) ... \u003csnip\u003e\",\n    \"browser_path\": \"C:\\\\Program Files (x86)\\\\BraveSoftware\\\\Brave-Browser\\\\Application\\\\brave.exe\"\n}\n```\nDelay timings are in seconds.\n\u003e [!Note]\n\u003e The format has slightly changed in version \u003e= 3.0, so delete and regenerate accordingly.\n\n### User agents\n\nThe default user agents that are passed to the Chrome process are below.\nYou may want to experiment with different user agents, or update versions accordingly.\nAlternate user agents can be set in the config file.\n\nEdge Browser on Windows 10 desktop:\n\u003e Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edge/126.0.0.0\n\nMobile Edge Browser on Pixel 6 phone:\n\u003e  Mozilla/5.0 (Linux; Android 14; Pixel 6 Build/AP2A.240605.024) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36 Edge/121.0.2277.138\n\n\n## Words\nThe [keywords](https://web.archive.org/web/20220523083250/https://www.myhelpfulguides.com/keywords.txt) included in this repo where taken from this site\n[https://www.myhelpfulguides.com/2018/07/19/bing-rewards-auto-searcher-with-python-3/](https://web.archive.org/web/20220331033847/https://www.myhelpfulguides.com/2018/07/19/bing-rewards-auto-searcher-with-python-3/).\n\nTheir script provided the original inspiration but has since been completely rewritten and expanded.\nThe original author was contacted for the source of keywords, but declined to respond\n\n## Development\n\nThis project is managed by the [`uv`](https://docs.astral.sh/uv) toolchain.\nEnsure you have `uv` installed on your system. This is probably available in your package manager,\nor can be installed with `pip` or `pipx`\n\nThen, fork the repository on Github and clone to your machine. The first invocation of any `uv` command will install the `bing-rewards` package in editable mode, with the dev dependencies (`ruff` and `pre-commit`) automatically.\n\nInstall the defined pre-commit hooks: `uv run pre-commit install --install-hooks`\n\nLaunch bing-rewards in the editable dev environment: `uv run bing-rewards --help`\n\nFeel free to open a PR against the `master` branch with additional features or fixes!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjack-mil%2Fbing-rewards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjack-mil%2Fbing-rewards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjack-mil%2Fbing-rewards/lists"}