{"id":15593733,"url":"https://github.com/kasvith/hackerrank-dl","last_synced_at":"2025-04-28T10:27:58.000Z","repository":{"id":64303304,"uuid":"243859806","full_name":"kasvith/hackerrank-dl","owner":"kasvith","description":"Download submissions from a HackerRank contest and sort them according to programming languages","archived":false,"fork":false,"pushed_at":"2024-03-06T02:19:48.000Z","size":58,"stargazers_count":29,"open_issues_count":3,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-18T15:16:22.922Z","etag":null,"topics":["browser-cookies","contest","cookies","downloader","go","golang","hackerrank","hackerrank-contest","hackerrank-submissions","moderator","tool"],"latest_commit_sha":null,"homepage":"","language":"Go","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/kasvith.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}},"created_at":"2020-02-28T21:44:41.000Z","updated_at":"2025-01-31T07:12:01.000Z","dependencies_parsed_at":"2024-10-16T02:40:40.609Z","dependency_job_id":null,"html_url":"https://github.com/kasvith/hackerrank-dl","commit_stats":{"total_commits":37,"total_committers":1,"mean_commits":37.0,"dds":0.0,"last_synced_commit":"6b61b6d2d7a8cc8e562360111f9a7fc9cb41023d"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasvith%2Fhackerrank-dl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasvith%2Fhackerrank-dl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasvith%2Fhackerrank-dl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasvith%2Fhackerrank-dl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasvith","download_url":"https://codeload.github.com/kasvith/hackerrank-dl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251294193,"owners_count":21566225,"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":["browser-cookies","contest","cookies","downloader","go","golang","hackerrank","hackerrank-contest","hackerrank-submissions","moderator","tool"],"created_at":"2024-10-03T00:21:12.126Z","updated_at":"2025-04-28T10:27:57.967Z","avatar_url":"https://github.com/kasvith.png","language":"Go","readme":"# HackerRank Submission Downloader\n\nHackerRank Submission Downloader allows you to download submissions for a contest\nin HackerRank.\n\nThe tool organizes the submissions according to the problem name and their programming language and then by account name.\n\nFor example,\n\n```bash\nout/2020-03-01-06-01\n├── a-walk-to-remember-1\n│   ├── c\n│   │   ├── Cygnus_UOK.c\n│   │   ├── KingCoders_SEUSL.c\n│   │   └── StackTrace_NSBM_.c\n│   ├── cpp\n│   │   ├── BlackHawks_USJ.cpp\n│   │   ├── Code_Clan_RUSL.cpp\n│   │   ├── Cyborgs_USJ.cpp\n│   │   ├── FRIDAY_USJ.cpp\n│   │   ├── JPAC_UOP.cpp\n│   │   ├── Paradox_UOJ.cpp\n│   │   └── XCODERS_UOP.cpp\n│   ├── csharp\n│   │   └── CodeMart_UOR.cs\n```\n\n## Development\n\nThis tool was written in Go\n\n1. Install Golang 1.14 or newer\n2. Clone the repo in your local machine\n3. Run `go build` to build binary for your platform\n\n### To cross compile\n\nRun `chmod +x ./build/build.sh \u0026\u0026 ./build/build.sh`\n\n## How to use\n\nDownload binary for your platform from [release](https://github.com/kasvith/hackerrank-dl/releases) page (or build yourself :hammer:).\n\nThe usage of the tool is simple. You have to provide a `config.yaml` in your current working directory and tool will pick this up. `config.yaml` contains all the necessary info to download submissions from a hackerrank contest.\n\n\u003e Note: You should be a moderator or an administrator of the contest in order to use this tool for download submissions\n\nsample config file `config.yaml` is shown below\n\n```yaml\n# slug name of the contest\ncontest: our-contest\n# browser cookies for HackerRank as semicolon seperated string\ncookies: \u003e-\n  abc=123; xyz=123;\n# output directory\noutput: results\n# limit 5 parallel download threads\nparallelDownloads: 5 \n# wait time between downloads in seconds\nwaitTime: 1 \n# burst per wait time\nrate: 10 \n```\n\nRun `./hackerrank-dl` with `config.yaml` in the working directory to start the magic.\n\n## How to get contest slug name\n\n1. Go to HackerRank\n2. Go to your contest\n3. Slug name is in the pattern of `https://www.hackerrank.com/aces-coders-v8`\n4. In here `aces-coders-v8` is the **slug name**\n5. Copy it and use it in `config.yaml`\n\n## How to get HackerRank browser cookies\n\nHackerRank does not provide a public API, thus we have to use browser cookies for authentication\n\n\u003e Following instructions are based on Chrome\n\n1. Open Chrome\n2. Login to HackerRank\n3. Make sure you are an admin/moderator of your contest\n4. Install [EditThisCookie](https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg/related?utm_source=chrome-ntp-icon) browser extension for chrome\n5. Open extension\n6. Click **Settings** Icon\n7. Set **Choose preferred export format for cookies** to **Semicolon seperated name=value pairs**\n8. Open up `https://hackerrank.com`\n9. Open `EditThisCookie` extension\n10. Click `Export` button (arrow out)\n11. Paste the value for cookies in `config.yaml`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasvith%2Fhackerrank-dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasvith%2Fhackerrank-dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasvith%2Fhackerrank-dl/lists"}