{"id":22085641,"url":"https://github.com/nexmo/node-sms-proxy","last_synced_at":"2025-07-24T17:31:35.012Z","repository":{"id":14896072,"uuid":"62423653","full_name":"Nexmo/node-sms-proxy","owner":"Nexmo","description":"SMS Proxy using Node and the Nexmo SMS API","archived":false,"fork":false,"pushed_at":"2025-05-08T06:23:16.000Z","size":40,"stargazers_count":4,"open_issues_count":6,"forks_count":12,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-05-22T22:06:19.040Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://developer.nexmo.com/tutorials/private-sms-communication","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/Nexmo.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,"zenodo":null}},"created_at":"2016-07-01T22:48:39.000Z","updated_at":"2023-03-16T21:31:27.000Z","dependencies_parsed_at":"2024-09-18T08:20:51.603Z","dependency_job_id":"8db415f3-f007-4dfa-8bc9-719679780d84","html_url":"https://github.com/Nexmo/node-sms-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nexmo/node-sms-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nexmo%2Fnode-sms-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nexmo%2Fnode-sms-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nexmo%2Fnode-sms-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nexmo%2Fnode-sms-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nexmo","download_url":"https://codeload.github.com/Nexmo/node-sms-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nexmo%2Fnode-sms-proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266878570,"owners_count":23999619,"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-07-24T02:00:09.469Z","response_time":99,"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":[],"created_at":"2024-12-01T01:15:28.412Z","updated_at":"2025-07-24T17:31:34.311Z","avatar_url":"https://github.com/Nexmo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SMS Proxy using Node and the Nexmo SMS API\n\nThis app uses the Nexmo SMS API to demonstrate how to build an SMS proxy for private communication between users. Each user sees only the other party's virtual number, not their real one.\n\n## Prerequisites\n\nYou will need:\n\n* A [free Nexmo account](https://dashboard.nexmo.com/sign-up)\n* Somewhere to host this web app: Heroku or your local machine with ngrok both work well\n\n## Installation\n\n```sh\ngit clone https://github.com/nexmo/node-sms-proxy.git\ncd node-sms-proxy\nnpm install\n```\n\n## Setup\n\nRename the config file:\n\n```sh\nmv example.env .env\n```\n\nFill in the values in `.env` as appropriate; this will be your API key and secret, and the Nexmo number you want to use.\n\nIf you do not have a virtual number, you can purchase one via the [dashboard](https://dashboard.nexmo.com).\n\nConfigure the number's SMS webhook URL to point to your application (if you are using [ngrok](https://ngrok.com) then start your tunnel now), e.g. `https://abcd1234.ngrok.io/webhooks/inbound-sms`\n\n### Running the App\n\n```sh\nnpm start\n```\n\nThe application should be available on `http://localhost:3000`.\n\n\u003e To change the port, try `PORT=3001 npm start` as an alternative command\n\n### Using the App\n\nRegister a conversation with the application so that mappings can be created between real user numbers and Nexmo virtual numbers. This is done by making a `POST` such as the following to `http://localhost:3000/chat`\n and replacing `USER_A_NUMBER` and `USER_B_NUMBER` with the real numbers of the parties involved:\n\n```\nPOST /chat HTTP/1.1\nHost: localhost:3000\nCache-Control: no-cache\nContent-Type: application/x-www-form-urlencoded\n\nuserANumber=USER_A_NUMBER\u0026userBNumber=USER_B_NUMBER\n```\n\nWhen you do this each of the users will receive a text. Replying to that text will allow the users to communicate anonymously with each other.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexmo%2Fnode-sms-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnexmo%2Fnode-sms-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexmo%2Fnode-sms-proxy/lists"}