{"id":16759549,"url":"https://github.com/cyrildever/crumbl-hoster","last_synced_at":"2025-04-10T17:14:45.430Z","repository":{"id":56823995,"uuid":"296016472","full_name":"cyrildever/crumbl-hoster","owner":"cyrildever","description":"Easy hosting server for the Crumbl platform","archived":false,"fork":false,"pushed_at":"2025-02-15T17:31:19.000Z","size":443,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T15:02:19.111Z","etag":null,"topics":["cryptography","data-masking","javascript-library","signing-trusted","storage-api","typescript-library"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyrildever.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-09-16T11:48:06.000Z","updated_at":"2025-02-15T17:31:23.000Z","dependencies_parsed_at":"2023-01-30T06:46:48.100Z","dependency_job_id":"97d6ca31-6b2d-48d6-abd3-54af073961de","html_url":"https://github.com/cyrildever/crumbl-hoster","commit_stats":{"total_commits":25,"total_committers":3,"mean_commits":8.333333333333334,"dds":0.24,"last_synced_commit":"55ba960302beecebf1b94cb83a3afc9f7ee87e25"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrildever%2Fcrumbl-hoster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrildever%2Fcrumbl-hoster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrildever%2Fcrumbl-hoster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrildever%2Fcrumbl-hoster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyrildever","download_url":"https://codeload.github.com/cyrildever/crumbl-hoster/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248027412,"owners_count":21035594,"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":["cryptography","data-masking","javascript-library","signing-trusted","storage-api","typescript-library"],"created_at":"2024-10-13T04:08:25.379Z","updated_at":"2025-04-10T17:14:45.398Z","avatar_url":"https://github.com/cyrildever.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crumbl-hoster\n_Easy hosting server for the Crumbl\u0026trade; platform_\n\n![Github tag (latest by date)](https://img.shields.io/github/v/tag/cyrildever/crumbl-hoster)\n![npm](https://img.shields.io/npm/dw/crumbl-hoster)\n![Github last commit](https://img.shields.io/github/last-commit/cyrildever/crumbl-hoster)\n![Github issues](https://img.shields.io/github/issues/cyrildever/crumbl-hoster)\n![NPM](https://img.shields.io/npm/l/crumbl-hoster)\n\nThis application is a simple hosting service for the Crumbl\u0026trade; technology patented by Cyril Dever.\n\n### Usage\n\n1. Either you have set your own MongoDB environment compatible with `crumbl-hoster`'s requirements:\n    ```console\n    npm i crumbl-hoster \u0026\u0026 npm run compile \u0026\u0026 npm start\n    ```\n\n2. Or you start the Docker container:\n    ```console\n    git clone https://github.com/cyrildever/crumbl-hoster.git \u0026\u0026 cd crumbl-hoster \u0026\u0026 docker-compose up --build -d\n    ```\n    You might want to use the `./cleanup` script (or `./cleanup.bat` on Windows) before launching any new Docker session (especially when you've built the NPM project).\n\n\nRunning the application will write a 'crumbl-hoster.log' file.\n\n#### Production\n\nChange or adapt the following environment variables if need be:\n* `HTTP_PORT`: the HTTP port number (default: 8000);\n* `MONGO_DOMAIN`: the MongoDB server name (default: localhost);\n* `MONGO_PORT`: the MongoDB port number (default: 27017);\n* `MONGO_DB`: the name of the MongoDB database (default: crumbl);\n* `MONGO_USERNAME`: the MongoDB username;\n* `MONGO_PASSWORD`: the MongoDB password for this username;\n* `MONGO_COLLECTION`: the name of the collection to use (default: hoster).\n\n\n### API\n\n_// TODO Add headers identifying the requester._\n\nThe following endpoints are available:\n\n* `GET /crumbl`\n\nThis endpoint returns the full crumbled string from the passed related hashered prefix of a Crumbl, eg. `http://localhost:8000/crumbl?hasheredSrc=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\u0026token=12345678-90ab-cdef-1234-567890abcdef1`\n\nIt expects 2 mandatory arguments:\n- `hasheredSrc`: the hashered prefix of the Crumbl;\n- `token`: a valid token (in the form of a UUID string).\n\nIt returns a `200` status code if found along with a JSON object in the body respecting the following format:\n```json\n{\n  \"crumbled\": \"\u003cThe full found crumbled string\u003e\",\n  \"hasheredSrc\": \"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\"\n}\n```\n\n* `POST /crumbl`\n\nThis endpoint records a crumbled string in the local database.\nIt expects the request body to be the full crumbled string, eg.\n```console\n$ curl --location --request POST 'localhost:8000/crumbl' --header 'Content-Type: text/plain' --data-raw '\u003cThe full crumbled string\u003e'\n```\n\nIt returns a `201` status code if success along with the verification hash string in the body.\n\n\n### License\nThe use of the crumbl-hoster server is subject to fees for commercial purpose and to the respect of the [BSD2-Clause-Patent license](LICENSE). \\\nPlease [contact me](mailto:cdever@pep-s.com) to get further information.\n\n\n\u003chr /\u003e\n\u0026copy; 2020-2025 Cyril Dever. All rights reserved.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyrildever%2Fcrumbl-hoster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyrildever%2Fcrumbl-hoster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyrildever%2Fcrumbl-hoster/lists"}