{"_id":"@ailuntz/bridge","_rev":"4-086bbb5fb14741900e25e0e76e60632b","name":"@ailuntz/bridge","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@ailuntz/bridge","version":"0.1.0","license":"Apache-2.0","_id":"@ailuntz/bridge@0.1.0","maintainers":[{"name":"ailuntz","email":"ailuntz@icloud.com"}],"bin":{"ailuntz-bridge":"bin/bridge.mjs"},"dist":{"shasum":"8f28524fa540155afd047f9964700dcd84ce08ca","tarball":"https://registry.npmjs.org/@ailuntz/bridge/-/bridge-0.1.0.tgz","fileCount":15,"integrity":"sha512-5UnlqJYArt56Z1Vks9uTnyBpe/PlRizl2ZPlrxSrn0UISA++3L2LcaPhO4k4aIu2/VL9EVnBN94HJPUlosIdlw==","signatures":[{"sig":"MEUCIQDGqYiDdlXYeKlYViVsbsHAhdOX/hjIr2X+3Jjz0U2g5AIgcirPc/TUae//QdIVGhegpLO4c62XdIEAN102f7+ADEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86374},"type":"module","engines":{"node":">=20.0.0"},"_npmUser":{"name":"ailuntz","email":"ailuntz@icloud.com"},"_npmVersion":"11.19.0","description":"A small, host-local CLI for managing FRP server and client services","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bridge_0.1.0_1788689157068_0.43982995417930426","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.1":{"name":"@ailuntz/bridge","version":"0.1.1","license":"Apache-2.0","_id":"@ailuntz/bridge@0.1.1","maintainers":[{"name":"ailuntz","email":"ailuntz@icloud.com"}],"bin":{"ailuntz-bridge":"bin/bridge.mjs"},"dist":{"shasum":"1f6a4c2d78bca10ec1b5340b6e06e03709cc4e97","tarball":"https://registry.npmjs.org/@ailuntz/bridge/-/bridge-0.1.1.tgz","fileCount":15,"integrity":"sha512-BoxSqJm3Hpb1GPqnfBYBPUFUYsTYfaclaAIlOcbqnaecpPigcpgd6Sm8OIZ3nNBtLaIdjr0B6jMA0SoAJREMKQ==","signatures":[{"sig":"MEQCIBPjWHW5DSkVZWR/mxzQN0HKybyQ3a5jK4BSSwf5FpGPAiBGyMhDm6iYvTMuzDMLZmylo//pGicHITiaKET+qQbh3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDrh9ZblHQhTrabQFKOpqJ5Qw/AB47MKuubET3MJALk4QIga7yk4cWkmPpbEXNp9Tb5gPWMKBLABmxAYoEVtxlwu4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92441},"type":"module","engines":{"node":">=20.0.0"},"_npmUser":{"name":"ailuntz","email":"ailuntz@icloud.com"},"_npmVersion":"11.19.0","description":"A small, host-local CLI for managing FRP server and client services","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bridge_0.1.1_1788695614998_0.28596701930300994","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.2":{"name":"@ailuntz/bridge","version":"0.1.2","license":"Apache-2.0","_id":"@ailuntz/bridge@0.1.2","maintainers":[{"name":"ailuntz","email":"ailuntz@icloud.com"}],"bin":{"ailuntz-bridge":"bin/bridge.mjs"},"dist":{"shasum":"db3b8027dbc1f4d64c630d0e6bcac9935d46500a","tarball":"https://registry.npmjs.org/@ailuntz/bridge/-/bridge-0.1.2.tgz","fileCount":15,"integrity":"sha512-CYUBCb0bpK/3az+1sMTAJYspm/UZCOYfIIX15/FK3rjtgAcByW00AVG0Uk84GunZ2LUEst54YJwdjid80toIww==","signatures":[{"sig":"MEUCIQDupz4CylsB1XmDJ3R2uP2rah8GrmRv6/J6Dfd7ccYBoQIgYjeBwaZCh4J1Z1puuTWmH/H5ZXQP+6VMwHZJ8e6c1rs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB+pAsq6HmwqQT1wjhkCmYTxPoHHsBhvq2BqcqNC8qCzAiEAlAeHc6ZaDKchvKT4GvDLKARZrpExNctfxKslhZrzofM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93251},"type":"module","engines":{"node":">=20.0.0"},"_npmUser":{"name":"ailuntz","email":"ailuntz@icloud.com"},"_npmVersion":"11.19.0","description":"A small, host-local CLI for managing FRP server and client services","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bridge_0.1.2_1788696009695_0.7053487998193788","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2026-09-06T10:05:56.725Z","modified":"2026-09-09T18:42:17.085Z","0.1.0":"2026-09-06T10:05:57.219Z","0.1.1":"2026-09-06T11:53:35.099Z","0.1.2":"2026-09-06T12:00:09.794Z"},"license":"Apache-2.0","description":"A small, host-local CLI for managing FRP server and client services","maintainers":[{"name":"ailuntz","email":"ailuntz@icloud.com"}],"readme":"# @ailuntz/bridge\n\nSmall lifecycle manager for official [frp](https://github.com/fatedier/frp) binaries.\nIt downloads the pinned release for the current platform, verifies SHA-256,\nvalidates TOML with `frps verify` or `frpc verify`, and owns only the service\nfiles it created.\n\n```bash\nnpm install -g @ailuntz/bridge\n\nsudo ailuntz-bridge server install\nsudo ailuntz-bridge server apply --config-file ./frps.toml\nsudo ailuntz-bridge server status\n\nsudo ailuntz-bridge client install --instance relay-a\nsudo ailuntz-bridge client apply --instance relay-a --config-file ./frpc.toml\nsudo ailuntz-bridge client status --instance relay-a\n```\n\nLinux uses systemd, macOS uses a system LaunchDaemon, and Windows clients use a\nSYSTEM scheduled task. Server mode is intentionally unavailable on Windows.\nCommands return one JSON object on stdout; diagnostics go to stderr.\n`status` reports `enabled` separately from `active`; `healthy` is true only\nwhen the managed service is installed, configured, running, and enabled for\nthe next system startup.\n\n`stop` ends the current FRP process but intentionally leaves startup enabled,\nso the service can return after a reboot. Use the role's `uninstall` command\nfor durable removal. A successful `stop`, configuration replacement, or\n`uninstall` confirms the managed process has stopped before destructive cleanup;\nif the operating-system service state cannot be confirmed, the command fails\nand retains the managed files for a safe retry. Removing this npm package (or a\nseparate controller app) by itself does not uninstall FRP services on managed\nhosts.\n\nThe package does not bundle a modified FRP binary. It downloads the pinned\nofficial release from GitHub and rejects checksum mismatches.\n\nThe executable is deliberately named `ailuntz-bridge`; Linux already ships an\nunrelated `/usr/sbin/bridge` command with iproute2, so this package does not\ninstall a conflicting `bridge` alias.\n\nLicensed under Apache-2.0.\n","readmeFilename":"README.md"}