{"id":24556151,"url":"https://github.com/mattchewone/b2-blob-store","last_synced_at":"2025-10-09T14:45:50.118Z","repository":{"id":89431205,"uuid":"96927570","full_name":"Mattchewone/b2-blob-store","owner":"Mattchewone","description":"backblaze b2 blob store","archived":false,"fork":false,"pushed_at":"2017-07-20T15:57:52.000Z","size":12,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T17:46:42.371Z","etag":null,"topics":["abstract-blob-store","backblaze-b2","featherjs"],"latest_commit_sha":null,"homepage":null,"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/Mattchewone.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":"2017-07-11T19:11:18.000Z","updated_at":"2020-02-25T17:26:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8f89b11-f88e-44ad-bc9b-21349be0e489","html_url":"https://github.com/Mattchewone/b2-blob-store","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mattchewone/b2-blob-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mattchewone%2Fb2-blob-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mattchewone%2Fb2-blob-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mattchewone%2Fb2-blob-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mattchewone%2Fb2-blob-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mattchewone","download_url":"https://codeload.github.com/Mattchewone/b2-blob-store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mattchewone%2Fb2-blob-store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001504,"owners_count":26083118,"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-09T02:00:07.460Z","response_time":59,"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":["abstract-blob-store","backblaze-b2","featherjs"],"created_at":"2025-01-23T04:38:38.523Z","updated_at":"2025-10-09T14:45:50.113Z","avatar_url":"https://github.com/Mattchewone.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# b2-blob-store\nBackblaze B2 blob store implementation.\n\nThis is not currently working and is a WIP, this is not published to NPM.\n\n[![blob-store-compatible](https://raw.githubusercontent.com/maxogden/abstract-blob-store/master/badge.png)](https://github.com/maxogden/abstract-blob-store)\n\n## Example\n```js\nconst b2Blob = require('../');\nconst request = require('request').defaults({ json: true });\nconst fs = require('fs');\n\n\nconst url = 'https://api.backblaze.com/b2api/v1/b2_authorize_account';\nconst base64 = new Buffer(process.env.accountId + ':' + process.env.applicationKey).toString('base64');\nconst headers = {\n  Authorization: 'Basic ' + base64\n};\n\n// Authorise the account\nrequest({ url, headers }, (err, resp, body) =\u003e {\n  let store = new b2Blob({\n    token: body.authorizationToken,\n    baseDownloadURL: body.downloadUrl,\n    apiUrl: body.apiUrl,\n    bucket: process.env.bucketId\n  });\n\n  fs.createReadStream('./test.txt')\n  .pipe(store.createWriteStream({ key: 'test.txt' }, (err, meta) =\u003e {\n    console.log('err', err);\n    console.log('meta', meta);\n  }))\n  .pipe(process.stdout)\n  .on('error', function (e) {\n    console.error('error', e);\n  });\n});\n```\n\n## TBD\n- [ ] Get file size from the stream so we can add to `Content-Length`\n- [ ] SHA1 the file data so we can verify the data upload\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattchewone%2Fb2-blob-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattchewone%2Fb2-blob-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattchewone%2Fb2-blob-store/lists"}