{"id":24764477,"url":"https://github.com/seamapi/node-frp2","last_synced_at":"2025-06-28T13:35:27.402Z","repository":{"id":45027495,"uuid":"379356522","full_name":"seamapi/node-frp2","owner":"seamapi","description":"NodeJS bindings for FRP","archived":false,"fork":false,"pushed_at":"2024-11-19T01:51:59.000Z","size":184,"stargazers_count":5,"open_issues_count":4,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-28T03:13:07.538Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seamapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-22T17:53:27.000Z","updated_at":"2023-12-26T13:35:38.000Z","dependencies_parsed_at":"2022-09-05T09:40:40.549Z","dependency_job_id":null,"html_url":"https://github.com/seamapi/node-frp2","commit_stats":null,"previous_names":["hello-seam/node-frp2"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fnode-frp2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fnode-frp2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fnode-frp2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fnode-frp2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seamapi","download_url":"https://codeload.github.com/seamapi/node-frp2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236101936,"owners_count":19095194,"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":[],"created_at":"2025-01-28T22:31:33.708Z","updated_at":"2025-01-28T22:32:12.387Z","avatar_url":"https://github.com/seamapi.png","language":"JavaScript","readme":"# Node FRP (node-frp2)\n\n\u003e frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the Internet. As of now, it supports TCP and UDP, as well as HTTP and HTTPS protocols, where requests can be forwarded to internal services by domain name.\n\nUse [frp](https://github.com/fatedier/frp) as an npm module for tighter integration with node apps (e.g. test fixtures).\n\nNote: This automatically downloads and runs the `frpc` or `frps` binary for the installer's operating system.\n\n## Usage\n\n`npm install node-frp2`\n\n```javascript\n// Web service to proxy (on client)\nconst webService = micro((req, res) =\u003e res.end(\"Hello world!\"))\nwebService.listen(5000)\n\n// Start FRPS server (normally you do this on a remote server with a public ip)\nconst server = await frp.startServer({\n  common: {\n    bindPort: 7000,\n  },\n})\n\n// The frpc client requests to forward from 5000 locally to 2000 remotely\n// through frps\nconst client = await frp.startClient({\n  common: {\n    serverPort: 7000,\n    serverAddr: \"127.0.0.1\",\n  },\n  ssh: {\n    type: \"tcp\",\n    localIp: \"127.0.0.1\",\n    localPort: 5000,\n    remotePort: 2000,\n  },\n})\n\nconst response = await request(`http://127.0.0.1:2000`)\n// response === \"Hello world!\"\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseamapi%2Fnode-frp2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseamapi%2Fnode-frp2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseamapi%2Fnode-frp2/lists"}