{"_id":"locadot","_rev":"43-1127471ec42f510a4a3708af906621d7","name":"locadot","dist-tags":{"beta":"2.1.0-beta.4","latest":"2.6.1"},"versions":{"1.0.0":{"name":"locadot","version":"1.0.0","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.0.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://github.com/avinashid/locadot#readme","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"local-ssl":"dist/index.js"},"dist":{"shasum":"ef82a298b9cbaec258b6e445b5021d8a5233ab3e","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.0.0.tgz","fileCount":7,"integrity":"sha512-PJOnA9UL6f/BrwdI6LCxmBSOHoT/zSXLdTEdhxUInWzR4nTTwaVaWpw0UfxWRnj6Cs1vj/VHGixS5b+AvmnyWw==","signatures":[{"sig":"MEUCIC8O0+NqQ7yT/Kqteq5ujfXEOdApso1SK9fLA6ssgVF8AiEA7cjv3KicHxBW9RkxiTz9zg3zic0qPyGKLbe6FmKr+Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9569},"main":"dist/index.js","gitHead":"9d34d4deb1d282fbed9e702624ec6f18090d4d43","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like https://dev.localhost, powered by mkcert.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.0.0_1744052423523_0.5620203325759596","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"locadot","version":"1.0.1","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.0.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"a569f32cf70bb5615904e7c38620547eab62d581","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.0.1.tgz","fileCount":8,"integrity":"sha512-C6EaYU5EDvNMWRoPYqheJBriYy8DIMKAXSy4GA1wzh2lQpu8kEH84zqZu3Hxx1heDSKQjG7tZJJ1kMxcgSPSSA==","signatures":[{"sig":"MEYCIQCUYMLKKakKPcy88RCYBarDPgzrVSjtMdmfNdj4tEoHnQIhAMZZ9FXJn1ZAkeoNot9oT1ZBWauFd0qzbwCFL9fm0ziv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9712},"main":"dist/index.js","gitHead":"088a9b4d2dc67d96342536e64b1984ff286a15c1","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.0.1_1744110890581_0.9315171646812062","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"locadot","version":"1.0.2","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.0.2","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"f328b321361156839021570090d6c72bf1cfd2d6","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.0.2.tgz","fileCount":6,"integrity":"sha512-Nv5VXWQIMJWbMmzJ8KRSTU3YVfF8GGnfnR9hJzeJju6yUEAzAmpsOCsefniC0jFErNmnt6FNPp3nwNtZrhB7gw==","signatures":[{"sig":"MEQCIBziz6O3i7zJSp84pxgFXcfswJPL/uO1T49tU2OtEWxWAiBsQSxVsNNrstwXvg7MQbqlGddcjWI/MaoS+hXkrmnxTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9348},"main":"dist/index.js","gitHead":"99ec8be529423a6b605162351855bbe6f9a39adf","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.0.2_1744111578276_0.07955393538221078","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"locadot","version":"1.1.0","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.1.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"af1fd80e38f9d55ab5bddf3181e15b5ee7cb33f2","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.1.0.tgz","fileCount":6,"integrity":"sha512-j9fielGm0fJaxSuKUUCxzpChMVllkrEXPs2bXZd88sHFAmqRXMQNSMp/zqDTTDUZDNvQOwNQqtRjILZJp1fu9w==","signatures":[{"sig":"MEQCIG6FbJa4RSneUHPOhAtb9EIIbH10yzPd9IWK14h7Nnz9AiBZqYfRyobX4ct7114Q/GzZYyCALr3po1uiM0TNFV/hzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9377},"main":"dist/index.js","gitHead":"0d9230f79ecaabc0f6c71b0bb72b3ba303971e30","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.1.0_1744120725778_0.5523586807862888","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"locadot","version":"1.1.1","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.1.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"211dc98b66eb63f8627a59eba9cdcba2e878cffe","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.1.1.tgz","fileCount":7,"integrity":"sha512-ze2NQwB8Hw9U26IevclbKrGmZVfzZgFjqndIN7+dCMJOW7EkOQj1Zu8Hx32eno3eQi3UPPmbDT9GjuZ78q2rfw==","signatures":[{"sig":"MEYCIQCtHvOfIA3m+77HyPRmPxjEpe5/jq5QijgtHtd3vjZ02gIhAK5sYf49NtzqYy3/o3Ne8BkTCRe6PT3hGKB/mSwnWgZ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13446},"main":"dist/index.js","gitHead":"29c92d8ed984b9a0fe3144bbf04bf66e064939d0","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.1.1_1744120959998_0.22913070097762334","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"locadot","version":"1.1.2","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.1.2","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"ff5a9dac89fa4ac0b3f78f8b425639fd44a92f59","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.1.2.tgz","fileCount":7,"integrity":"sha512-bVysX3ehocSQlslngNUTngBex8566odPfwtvKEUOmk/yiYLUq5Ea6oaCR4ITppA/Dl5/ahHXno3eHVLL9sh8oQ==","signatures":[{"sig":"MEUCIEM8TZL9m9XZEM0s7S2S9wb4G5GxPhZOAU3AwL9Kk3vLAiEAmsHul7gOesq7XJus6JEad7+kya0larmNoj3vct8Am/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13541},"main":"dist/index.js","gitHead":"94387dfb80e0ac4fdae5b172166a2c140e16e577","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.1.2_1744126528514_0.8891594186674874","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"locadot","version":"1.2.2","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.2.2","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"9289ccf2e433df4f089c67cc7693682304184e17","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.2.2.tgz","fileCount":12,"integrity":"sha512-O412arLJFlhoemzcCVGEKVsKrFIA7wY8ip9lQVYX7DHM+pdU5GyxkauhBY6/PkjfTHYbrxWUsNujDs8F718Lsw==","signatures":[{"sig":"MEUCIQC2Qjb/Rr+W//QNYuDPNPp95SRcEi6tkSiAqV4jkQAfOQIgVuXXieEtIY5CGH41aDBvgGv41gJ+WBwYlYGgjcd8O+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22226},"main":"dist/index.js","gitHead":"c76f4541d84de424bac867e5e081d45cf61ca314","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.2.2_1744179750730_0.9460908548946727","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"locadot","version":"1.2.3","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.2.3","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"2252d7458728b229bcb52da4bebc3f26b4de3d8d","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.2.3.tgz","fileCount":12,"integrity":"sha512-oGukzfM2kJKRLF9v/leFOF5SzJWIdGYYXDqTuG1JuhJHR3RwJCv1eGoKm4ycUnF9CYk5k/vqe2eMfD5fZf/s7Q==","signatures":[{"sig":"MEUCIARAOkZrf7L+nrAzUJcbXpm5i8A2PWXQtcyyHFdflUtcAiEAqFqqiN+OJHq9ZJkf+YW3kspbvYenFR6xtjJGXfzju9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22201},"main":"dist/index.js","_from":"file:locadot-1.2.3.tgz","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"_resolved":"C:\\Users\\avina\\AppData\\Local\\Temp\\52a7b6529d286714b6e014ca91342387\\locadot-1.2.3.tgz","_integrity":"sha512-oGukzfM2kJKRLF9v/leFOF5SzJWIdGYYXDqTuG1JuhJHR3RwJCv1eGoKm4ycUnF9CYk5k/vqe2eMfD5fZf/s7Q==","repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.2.3_1744183648771_0.3631082837297619","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"locadot","version":"1.2.4","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.2.4","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"997d6a1ea44956bc1ffaf8f2eb11b2f83b2450db","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.2.4.tgz","fileCount":12,"integrity":"sha512-llG4fL/c56AApgLT1+WTiEAcOoNgVWgDL4Hf44KVi+CY9dMRMgnc6/090RimVjT5FdHc5qOhD4fWsSacJAI8gw==","signatures":[{"sig":"MEUCIFTvf08/O3oGeeEftH3h51B0ZorzmNmz/gK80fqZKh68AiEAm795uvRSrPy+WFT6Bv7D8AlIsbr1GlVSSjbWdWDocnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23249},"main":"dist/index.js","gitHead":"7f28452c9c3925d475af53c061453999da8b6c0e","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.2.4_1744185384169_0.01118042337424141","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"locadot","version":"1.2.5","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.2.5","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"33cd05097a9648dfaa6361b5eb385defb3516312","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.2.5.tgz","fileCount":12,"integrity":"sha512-XGpAJz1aEki/OU4LyhSUh9MeEJQVHmYQET0t91qDXspkrahDXwXYh8ANazI74GQVm6jNwmVrz32ZzRWwvZHiQg==","signatures":[{"sig":"MEQCICsCTcMP8MWlO7ywdGEjJjwqC9idoDPZOPSu8bXMcrF7AiB9bLRzwdtSto8aQZOLUfiOI1o/+n6+1NRLqVo5rVXtsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23257},"main":"dist/index.js","gitHead":"f035d11488632e324200bce9bb603a95ad80283d","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.2.5_1744185515401_0.8741069558238739","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"locadot","version":"1.2.6","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.2.6","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"88fa8895fa5e1603cf79b5b3e449be298007de8e","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.2.6.tgz","fileCount":12,"integrity":"sha512-WhPEcakVS6xgxVoe3bNnjqP3F1m9PvsfoGuDEtjPuRNivsOQ6VfzEhC+PHp8Xk3n1KdL8UgQdRhS+H7FqYXkug==","signatures":[{"sig":"MEYCIQD9pIXacI1FZGUqRQf6pkdZUJBgPsP8MuFrloZNYC3zewIhAMhCtF5MEq5Mt4JAa4I/BzpAAZmFPy8MgHYXsblckgeu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23535},"main":"dist/index.js","gitHead":"370a7bc46f089efe93bdf331bbda6e8b52e5e1ff","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.2.6_1744192753356_0.9533183524113269","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"locadot","version":"1.2.7","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.2.7","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"43cb7888d3267aa977023219d029b19834a42d5a","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.2.7.tgz","fileCount":12,"integrity":"sha512-vGB1V9SpG7H5drY/ZFa9uO0HdvnBDMppNrBakLZNIMQ7FfBYBYGvcdbs8qnfkFWnmh2Djmq+MYylBBCE7jHPfw==","signatures":[{"sig":"MEYCIQDz79e3pXqb4+BTdKAjQ047dfVZ/lHv+chtYdbA61wFzAIhAL3R3TEaJHv/rQbFeGO3jTVcKFpyczXlM5sj9nEE/v5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23542},"main":"dist/index.js","_from":"file:locadot-1.2.7.tgz","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"_resolved":"C:\\Users\\avina\\AppData\\Local\\Temp\\a16c648363320b1138be27b3fb84eaa3\\locadot-1.2.7.tgz","_integrity":"sha512-vGB1V9SpG7H5drY/ZFa9uO0HdvnBDMppNrBakLZNIMQ7FfBYBYGvcdbs8qnfkFWnmh2Djmq+MYylBBCE7jHPfw==","repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.2.7_1744193696178_0.6882592459525314","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"locadot","version":"1.3.0","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.3.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"fe6430a54d2dade358a6cf655109fc9d6bea51f7","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.3.0.tgz","fileCount":12,"integrity":"sha512-I1L/xlUOHy+WuXLvWwTpevZn9YBUeIPhqFGO5ZjMJ0aCYM4hPPSrroNgHpWYhS2RwHvnhlWjiEaUUqbrpmJEmA==","signatures":[{"sig":"MEUCIQCAVJ0suopvdIcot/XX6sAlA7by9/A1Ith74dkhOukYvgIgX8tH428hPfX1sJ41zj4mfSOlmJG4QRhkhojrll6FuEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24944},"main":"dist/index.js","gitHead":"52f8ad0c91f940b76d708a6fbba3b2e35eec8607","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.3.0_1744227242075_0.48685637915405167","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"locadot","version":"1.3.1","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.3.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"0e2596d98e3b648019303bdb34488afc6ef9e293","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.3.1.tgz","fileCount":12,"integrity":"sha512-SmCGXCD7oTKEUzoYPbjSXbLNnfQkED6kHmb1183LyLPlGrSq8wZ3OWMRmCkNeHd7bmVbGDk6uOac9CZHbk0eNg==","signatures":[{"sig":"MEYCIQCCFKyaO3A/6wmdAsMAD2TcFDueEyUkz4MQVfTxwGfXvAIhAJqZ89/6pPZuANR4dYbMyvZvjVNeZxDJi9Ke1OkDWgCG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24964},"main":"dist/index.js","_from":"file:locadot-1.3.1.tgz","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"_resolved":"C:\\Users\\avina\\AppData\\Local\\Temp\\9be908ebf69f69f68ca94caabcf6d124\\locadot-1.3.1.tgz","_integrity":"sha512-SmCGXCD7oTKEUzoYPbjSXbLNnfQkED6kHmb1183LyLPlGrSq8wZ3OWMRmCkNeHd7bmVbGDk6uOac9CZHbk0eNg==","repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.3.1_1744227872329_0.8368964626863591","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"locadot","version":"1.4.0","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.4.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"5b43afb4ea969de2c69ca22d7c1927c9eb0a6a78","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.4.0.tgz","fileCount":12,"integrity":"sha512-GtXndqOaThfBLIZNOkCB/+Hejjh0ly3gTaaB3XWUwLBT6gNJhz1lq5Ur9BN8yWoolTFz2dSr7QUTS5dw0kklfg==","signatures":[{"sig":"MEUCIQC+flk7G87dbVNWk9UikTs2vR351UDmqrFmDaJj5PYmuQIgE8wOyMHqZoL8Q9yTMfxwLHz6/moH1LNGoGMxwmq4V3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26048},"main":"dist/index.js","_from":"file:locadot-1.4.0.tgz","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"_resolved":"C:\\Users\\avina\\AppData\\Local\\Temp\\6a073c36b5ab4e745d2ed6ad361f28a5\\locadot-1.4.0.tgz","_integrity":"sha512-GtXndqOaThfBLIZNOkCB/+Hejjh0ly3gTaaB3XWUwLBT6gNJhz1lq5Ur9BN8yWoolTFz2dSr7QUTS5dw0kklfg==","repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.4.0_1744276050692_0.7402396140471139","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"locadot","version":"1.4.1","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.4.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"8b1e196367eb34e450549495ec83650cf8308221","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.4.1.tgz","fileCount":13,"integrity":"sha512-Hf/Zawd7FoM6rsopfW4utVJ5qZaxh2nSwRZ5tsBkINd04QwsFNSeVIN8Kcr/ZmKt+uqysJczVye9m5CsKNzTTg==","signatures":[{"sig":"MEUCIQCPoSWGO4HWfy9r7ZjtvyZpWU0LLmi7o4UvCRmx4pFpewIgHyV6oVxWlModwkmP+5viC2A/PZhvL+ePPNFryuIrlIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29448},"main":"dist/index.js","gitHead":"f0275aa9ca5ff862b60fe480c0788ba92fd95210","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","yargs":"^17.7.2","mkcert":"^3.2.0","date-fns":"^4.1.0","http-proxy":"^1.18.1","detect-port":"^2.1.0","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.4.1_1745080614984_0.984630506627304","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"locadot","version":"1.5.0","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.5.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"c3b74fa2de7e7c8243eec2f74c9c35df51a450e7","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.5.0.tgz","fileCount":20,"integrity":"sha512-Jnan5T4Imeojy7LCsvbAHz+dccgWSgyuN2yH48a0FGNeR70xH+7eh4Uq1Xz2NdHEjHvYJ73DwF9qVhh+jGZ48w==","signatures":[{"sig":"MEUCIDYhQMkiboITT5mel2WLth1Jhy7b0ioRe6AOkCGTcqa0AiEA3NlZ9tedmephGX+/laH3FL2ot/smc7ZMuP+xz+TWVBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52771},"main":"dist/index.js","gitHead":"34de667146cee6f8ee58fb2ddf539679938d305c","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.5.0_1748587080697_0.41735786854797663","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"locadot","version":"1.5.1","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.5.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"a5c86d688d398a8f38aa787fea1378230f9f5433","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.5.1.tgz","fileCount":15,"integrity":"sha512-x3+ULV9os2Fyql0MwpSV6Mmq2Wt3yJxcImDSZu6ZZESIVJSOF2Ufjb65a3hVgexBz5OEL/WWjlAFLORKs09xkw==","signatures":[{"sig":"MEUCIQCgVL/kB+ljTYyOCC7/MLXHeO1nYDDssDp/PiS2GEYfFAIgH+paSAyB33bezkB/ucjFfbSjVNTvD1wftIhG7Lu/9mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38756},"main":"dist/index.js","gitHead":"6423139661762e2c7628ac44397bd77d28e02a6f","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.5.1_1748588500685_0.8051660288366003","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"locadot","version":"1.5.2","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.5.2","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"8b2dcf3e65f28360b595618965493acae2cce000","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.5.2.tgz","fileCount":15,"integrity":"sha512-reRkn+5gZrGRrc0lJtfdA70oYN8zc7EzHpl2br0NKZaDgXJ/+UCzlYlpwqvEn4VadIGUoI/6dc08R8m38O5eMw==","signatures":[{"sig":"MEQCIGQLsTQsKJABXRKodKU9Om09LGf/MUUKFZ2Y5wAqbtA3AiBeFzvwBQvxsmv1HZ4MzZJ4u/oU/nvtlYb8uK52sH8O1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39056},"main":"dist/index.js","gitHead":"74d449060c98d7cff025ba7bda1a41eb15695dd7","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.5.2_1748589836417_0.3959752561482621","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"locadot","version":"1.5.5","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.5.5","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"62e780982fd541aefda680986df4f8c8f786674b","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.5.5.tgz","fileCount":16,"integrity":"sha512-LpGZf/hJoRcUKxOShGIEm5PKJaCoa0H7jjJ3nXC6b4rkzAciihhw5MtVD0xaNK+BBRgFGMeMUwAt9Fy/KMPTEA==","signatures":[{"sig":"MEUCIQDIB+/0/WyjE5OEHvCKA/KoHJLvJuWXpc+TSaPlzbPZ2QIgJgxesqkyMVyyUEEfL/eTqHbs8YtvvzSaQXUQCdVefVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45701},"main":"dist/index.js","gitHead":"2d90e174e153bd911093aa1b2ad4c48e861531d3","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.5.5_1748601880512_0.031122449249958217","host":"s3://npm-registry-packages-npm-production"}},"1.5.6":{"name":"locadot","version":"1.5.6","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.5.6","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"4bb30711a6b98dea3761045ace4235a510cf99a9","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.5.6.tgz","fileCount":16,"integrity":"sha512-ODUR051UqSOL1GBuOd0EwyPfeY/YyVWgdRHCV/sKKRsBQ3i9X1jGfNOWdQTdqeyaYsefdqzQukiOqGAnOGoNWA==","signatures":[{"sig":"MEYCIQDYoawk/BdRByXQf2UuQcldCCbr8+3QhfdSkBE1pqlB0gIhAJVJAG9cPf6oNoLCpgnQhmrb3WWlOiAHkSdTYIVYdCsg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45724},"main":"dist/index.js","gitHead":"4e45458198e563961d7ea6c0a6e40950fb2eb82b","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.8.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.7.0","dependencies":{"https":"^1.0.0","mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.5.6_1748602782902_0.6324355554080987","host":"s3://npm-registry-packages-npm-production"}},"1.5.7":{"name":"locadot","version":"1.5.7","keywords":["locadot","https","ssl","https-proxy","localhost","https"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.5.7","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"00d54fb1497d0ac52104a56daa2805aa7d73c0a2","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.5.7.tgz","fileCount":17,"integrity":"sha512-p/m8Db8+luaSVR3e447P+8g5zaaOFA6C3aPPPSrsVcyrk4hwEbJMxzkGa8B0a5reTvfjlUMR945vvbh6pMqXww==","signatures":[{"sig":"MEYCIQCkhgrcDhPN5x4qBE2CChkUtHkYghK3Fffp+OgZ+3q+cgIhAO2oipKAakfATo0l6XlSJ2zdmPmKiuVZYhfRYsTUGJXT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46706},"main":"dist/index.js","gitHead":"475b4d023c481913666a1f7bf6331d12ae9c8acd","scripts":{"dev":"tsx --watch src/index.ts","build":"tsc"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"10.9.2","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"https":"^1.0.0","mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","@types/yargs":"^17.0.33","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2","@types/http-proxy":"^1.17.16"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.5.7_1749223989563_0.13877801904545062","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.0":{"name":"locadot","version":"1.6.0-beta.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"ddc7149d2e47a644bd3e1829d610de7a67bd4a9d","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.0.tgz","fileCount":27,"integrity":"sha512-hNeZ8vNm3cZu3xbryD240EUoNwolfSrxeF09agCkrxwvVbZ9dYIL5XIA8D6U7lWzv287kcmWTImbqHliG0luXg==","signatures":[{"sig":"MEYCIQCdUq2mvkzpbBA8lLMBtbVEZqeP/UNkhL4rZFpoeRQc7QIhAOFQtbdLsoDpEUMw7CPaR40VMNwNGuMm/iGk1pEeGAPD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDVSNGQhYeoSIYjaE7Yn9kZ7x2MveTPkpRIDodqI95I3QIhAL7KEp7q4N0V3LaXvWUBVxy4c8lGDBq+gGMB3QulpRes","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160900},"main":"dist/index.js","gitHead":"475b4d023c481913666a1f7bf6331d12ae9c8acd","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.0_1790325425871_0.42647792768829773","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.1":{"name":"locadot","version":"1.6.0-beta.1","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"b196d3bf936bfac43fa8456869b1ae8f365c0591","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.1.tgz","fileCount":27,"integrity":"sha512-bdBGiqXQv2CZ0Dr+1RbGRJ/2mJ5iYQaiX6KumTfrxjbAO3hae5Sx4Y6fSJJ3yjAkd8FVBGCsEb3xmk3Vz+Z5tA==","signatures":[{"sig":"MEQCIB5LZuVmHp7gbPwpR05T2Jo5zmLD4f5DZ8Ny9mxFcy45AiBiBZ2PSJkGY4XslP8WBFkxM93bxWEhYVW2wwPlcxU3ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDNOc1SV3J/fHaqdUX1Ra2Tt4xWCeQw4E7NiNSKNxSixAiEArLNG4CJBCPggwwzT0FTMVk9SgdG+7bRnEqpuGK1IXNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161746},"main":"dist/index.js","gitHead":"475b4d023c481913666a1f7bf6331d12ae9c8acd","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.1_1790329693162_0.2574871576087028","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.2":{"name":"locadot","version":"1.6.0-beta.2","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.2","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"5b6280131bf19402a458c079e9d19cae817c1685","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.2.tgz","fileCount":27,"integrity":"sha512-jZl+VzDovJcUAkh58EjMI+dAcY1qv7+GoNVmj7v2wts9AhRg/bLYUioRJg/9nWE0gKsh0epUJHZOJKE3CG4PBw==","signatures":[{"sig":"MEQCIAIOXFgVPELR4ymC+NUZ/csmwQA2lRvBOqS8K6XXyj1VAiA27dTQS9Bu4rMfFQtLRc3ThquMCmGPAYsDQTefa6Amvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAEDRAR/LRQpdeIZD03upKAWn8nhmHnyVtCPCrX8ZTzoAiBYht2RoMcuWhKIy2YiG9TvLFauB/iwxUctth4nwuokrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163989},"main":"dist/index.js","gitHead":"7707639f0a0be0b403438e95815b79ef271f84be","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.2_1790331148067_0.6837364464482727","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.3":{"name":"locadot","version":"1.6.0-beta.3","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.3","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"c2faa47635ed718a747652974d49a7326ee5a273","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.3.tgz","fileCount":27,"integrity":"sha512-BFmMYTp7CMaqCQVhxNlz1CXMSmMb6GIuv33atXVa79eTFS+7JuoafnM4cuGPbP8fUitUUBN0V2sqYyFJClrK4w==","signatures":[{"sig":"MEYCIQCEudy+rY+lPb+t0RVr/+yg7sb77h7OY51cXYkF+7/owAIhAIYm+2DLGSOMuzMrZ68EDPMIYsYpbOZpYd0q1ZsYZZjc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGF7DWwxffEB+uXUgireedbh7v2mmZfuAxozZQFslT6fAiEAp9Ogd4NtjZlp+EzF72gidj4tw9pDeg6Zwg2zcaFmwUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170989},"main":"dist/index.js","gitHead":"90812fe8998832d1cc2cf65ba91e9edc3959b534","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.3_1790332107453_0.8559644406166276","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.4":{"name":"locadot","version":"1.6.0-beta.4","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.4","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"0d8a934aced805ab85f9724c639bf669968608d5","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.4.tgz","fileCount":28,"integrity":"sha512-KwPjy9goM8LpFyCLWw99qN88+yQ2YYveyERCjj6cGR7ChH9Ne7xAeaxvjEkgazrie8siqljt/sJON3oH7UsYYQ==","signatures":[{"sig":"MEUCICogZsg8KdORoO1pWGHoc6GyCq9eorl59w7plFySoFazAiEAmCCvtucsr3ZACCYou635LABLcpTxsDDTyOmcdlsj6o4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCqrRbd/y5LO2eA34VFaJgPowgxrWSPxy/BqR47Q7a5oAIgK7EeYQkIEfR61fgJA1pzVubGottoBO7m+dKfkfzX5as=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190699},"main":"dist/index.js","gitHead":"16d25ba211a676daa1cd245ef7727394358c04c0","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.4_1790335789231_0.40496724525208516","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.5":{"name":"locadot","version":"1.6.0-beta.5","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.5","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"04b89d5f7ed61dd30676ea440557b7200396d8a8","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.5.tgz","fileCount":47,"integrity":"sha512-YezvKYaPWiS2Y+NBEm0QYGqoJR0aMcQO9GEAnnWlbSIljpouenv+oikpXBy/RuX6sCvWE7onshpQCKwWJx0qsg==","signatures":[{"sig":"MEUCIQCL0rrkGbFz46zRbCLmvyTGA0wIziv1D6X0SjphWkmzjgIgev6lZt49Ou4g8nL40/KQM2MI23KHjGymGeQyK3dd7cQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHUquxQHqtyDIacCdQFhLZE4daTnzme7K9BCYLZ/oR1NAiEAm37stXdEB9teD+jKrdFzojbF41ABj8NTQXkRQY+TRis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226565},"main":"dist/index.js","gitHead":"bedb1082cd7fca4c9e132997a272e65245ac119c","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.5_1790410680063_0.9835856821619675","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.6":{"name":"locadot","version":"1.6.0-beta.6","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.6","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"3faa137992987f6f1d7cc3fb9c6b1e59bd7cf866","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.6.tgz","fileCount":48,"integrity":"sha512-zb235Xex/SMMLD+Jef1+PUjPEqwp6tQYqzBObE/ICmdlKQGFkzAh/zKz8OykSQMDN5Ju4TjOrrBhDAwd/V9Bdw==","signatures":[{"sig":"MEQCIAviT6k0zpXR6IIpawke+jPD6u6Guhpq2DUqg9LslCkYAiBF/EGuktBc9CQxrf0YqMxI2Tn2Yun16OZxaTTthlAqCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC+HO6o7zpFnsnrXSADIupTCkiroG6UGNSl/icR+dfz4QIhAJ+05SiKs0tXcbfPobcIIV5OcpP8XVegrgR3Wsf8KLkH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241527},"main":"dist/index.js","gitHead":"108b592585582af7808c2309de84b2034e0065df","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.6_1790413092262_0.7438873150909728","host":"s3://npm-registry-packages-npm-production"}},"1.6.0-beta.7":{"name":"locadot","version":"1.6.0-beta.7","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@1.6.0-beta.7","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"f9710e9f16fa912f3ceff9eda2aff12c6046508d","tarball":"https://registry.npmjs.org/locadot/-/locadot-1.6.0-beta.7.tgz","fileCount":48,"integrity":"sha512-62A8CAP+ENVpdbD6/j9IF+eDXqcE1rblAAzg+WFu1gGpbzPdp9DvJPAcIUgaRnZrShL27X6a9i762JKgDsrkOQ==","signatures":[{"sig":"MEQCIGdbdgqQni0zB0XSI1dms/x3xdjjXzFQjjNBK4GlMPDAAiA6p2FXkVXGfOdsGikTEGmd+Ok32YJ7wjwbM7xbMCo6lQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA5r0bHDdyKj8sRv2KfWSZIRKoDeu+ohjpxdRZMDd/PQAiEAjlcEPQoU0sdhh2v6qbhR2CoelWbOIlaARk7I98+xRKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255830},"main":"dist/index.js","gitHead":"023a338648a632e52a642ecdd636b00c4611cf12","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_1.6.0-beta.7_1790414906855_0.12059864315251767","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"locadot","version":"2.0.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.0.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"d301970bf5394c4d8488d02cb09ffbc24da17e6b","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.0.0.tgz","fileCount":48,"integrity":"sha512-DKm3IQLnQzNKre0t0vdEYB6C/4T6D1ys9ynUuYjzt7X+x2ufgfbLNbNyu4Tjv/FWAdwrjZC/i8sCtoLX+si+Mw==","signatures":[{"sig":"MEUCIQCpLoLeFf6Lt6g2+YvAOjZNOwwi7nSAQwLTlPmnkwQDhAIgKMgGpFM7ZttlCpjx7vVF99jUUcTph99Qfp1zMM6p5b4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB1KnCHDHEtNW2G+bVSOeQc8zau40YsLCcXF9Esn8nm4AiA3zUqqMYuEPkx5EWi6/7Md1FgkKBbjbRV/J+ENKdFkWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258144},"main":"dist/index.js","gitHead":"81c058938485509734c5200958e514c5fa2cd8cc","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.0.0_1790415805214_0.5491627302749309","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-beta.0":{"name":"locadot","version":"2.1.0-beta.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.1.0-beta.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"87d2448de6ef7bb1ae588f09fd556e792001c74e","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.1.0-beta.0.tgz","fileCount":55,"integrity":"sha512-koizNJhHnGrV+ig6qlitQDKryh4WXl1E3G3UYwpzKuS5+aTXv0V0fk29/NI/1uHhj8mQg9Y2YiKEYPgxANDe7A==","signatures":[{"sig":"MEUCIQDY19B2ks3H0Y/X+U5dSL0t7KvbMSd9AXcHz686hqfVJwIgZ+1rMR9swjURjiJuIXFvMuwkD1sb6J2u2m9N2hSsRDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHJwub1EMY0NQGfq4tpObzFLZRYabH77zI1GY/eiL45eAiBSgMogxOVJ3etqqBsrDRKYs17KB2Flng8Y4ssMVFbFYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":382048},"main":"dist/index.js","gitHead":"970090fe30114ce8da0349b07c55685bc196bdd5","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.1.0-beta.0_1790488433768_0.7887261261124499","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-beta.1":{"name":"locadot","version":"2.1.0-beta.1","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.1.0-beta.1","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"c4c009108df646b314d489f98cef6a0391c80bed","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.1.0-beta.1.tgz","fileCount":59,"integrity":"sha512-pGx7lubbKIfFGe75+Ew7MOT8tnm+B/l/6u8haMGt/bADpSaZFLyiKCT88lhQcWRwN5avVozTgOm0T1g07184yw==","signatures":[{"sig":"MEUCIQD9l7f8RaVEnCSOEQrrwkRJEZ4ltNgOVCb6sISOTEpDKwIgeT1bQboeOx4x1qh24kBW++8ul345C+nXl3LrniTSQ30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC/E04m2/MnfiNZ6ZcJUCyRRnUpKoF602p4+N2Hh/XO2gIgYnbT5/IbDNjqBabFmvudTSFcYZNBlB2mOHjBRXJqnG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485489},"main":"dist/index.js","gitHead":"838197a4e0cfaf1ab87852f806696b2dfcce1993","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.1.0-beta.1_1790493118564_0.7012073894156805","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-beta.2":{"name":"locadot","version":"2.1.0-beta.2","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.1.0-beta.2","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"6aafa03ac0ae25f580d5aeb4c5ec9f2940dd5462","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.1.0-beta.2.tgz","fileCount":59,"integrity":"sha512-yTI/WZeI/xJ/elimWSuMqIG8NwBJyMSzkrSFm4w/+RLd/uQQCD+7uNDIDvX1vNs/cizS0Cm/MjsZ62OjwFGTrw==","signatures":[{"sig":"MEQCIAqN8CAaY7Sm/Q3vqX3lswzkgCh22VcBK7ADZGRM0pzNAiALoqSfwLImEF+kEkGV/IucBNokiFQWqPrfncQqRuGo8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH9XyRxjc6SdKktEIuOjrZKS5EUzG/wpO4CNiwVUFySMAiEA0oT11vX2tl2K1dUTydkk67Q79aRWlK7K5COFvpc+MOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489177},"main":"dist/index.js","gitHead":"fce5a74c958bf815a0f2afa6390fc25ffc3da433","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.1.0-beta.2_1790494261720_0.5285516542748565","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-beta.3":{"name":"locadot","version":"2.1.0-beta.3","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.1.0-beta.3","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"1ea0c0653fd68932720b8536854164232b4882e9","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.1.0-beta.3.tgz","fileCount":59,"integrity":"sha512-2zI453HksG693RJXddArC9dTvi7UDu25EWEHgDnRQbmUb8/+z019sm9ROu1lB2Aw7e3MViWAW79jbeH9E2Dzdg==","signatures":[{"sig":"MEUCIQDKuEr9d44dbf2S52T0bhZJ3FgGn9fM0G/L0NmEz/7CqAIgLboCaphkHXMdFOYjBeNPDivXNHftk4KwJisPwEm3k5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCyOWPMcsSrrkgbbVDvLIUJ9hrWWnFb/BYmn5jVYebbBgIhAN9gool6bMSrfzDad+TX/hybNCBLOIBKTN11gwmIworD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495161},"main":"dist/index.js","gitHead":"46596b19d23e5ca74ec2b52c0bcd034325aa1efd","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.1.0-beta.3_1790495638897_0.7955007884255483","host":"s3://npm-registry-packages-npm-production"}},"2.1.0-beta.4":{"name":"locadot","version":"2.1.0-beta.4","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.1.0-beta.4","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"6cbad8fa7b316269fd9cde0165e919be563f8843","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.1.0-beta.4.tgz","fileCount":59,"integrity":"sha512-noqgjOSQhsEUTOc+E/d6ib/i6Kv3KOqd1vHv2PgD4kl5TYrEarKspYu2adHlspDKd3CA/ad/adaeJQfx9ej/0g==","signatures":[{"sig":"MEUCIQDxJlDDkWkFZugWd7/sObxyI6ocikrudt2Z2ioXINF+1wIgOd1BiO57HA0E48jHVHCgqWYnEPrgXrnE9JHjBSnh7Rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD/ITZCh3908SiUzXcbWCpVOLRJSg/BZE7FXuH0pKQd+wIhAN+s5YS9iYG+gWYB6qUyAI0BCZyMqI2aebjx0E3kCF/z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497886},"main":"dist/index.js","gitHead":"0f152b5e85ef2dc065e7046effcdbb4d614dea47","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","readmeFilename":"README.md","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.1.0-beta.4_1790497244301_0.8091442040125796","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"locadot","version":"2.1.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.1.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"04af031a344c1f2dfa9d0b6fc1356370179bbc86","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.1.0.tgz","fileCount":59,"integrity":"sha512-lEN/iCc7+9TIH7QU40/8vZij/OQYzhjTmIvRaKuyOD0Vk+7GQupZeSVbmt1aJz8x3GIzqtPiiFdD0tnpg9BG3g==","signatures":[{"sig":"MEUCIQDrV2NiTVqKyOZDE0FgDA3vqOl3sxwuqX3OVaUA7GZILwIgaePSvd3hJxD0YKWVydVpspc9etejNVNn1zbBEwS2fk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDPXuTIx/3mmbMxfyB3/Ej0gquE4swt0k0+Lw9ZlaZNmgIhAMbaMZ1ujgfTJcEXL/XFgvJWwEuLrSZlzGMuf/DG9Iys","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497887},"main":"dist/index.js","gitHead":"fb156f043d691dffbc5de48afcce2464004b4283","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.1.0_1790497687633_0.828995098562745","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"locadot","version":"2.2.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.2.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"ffa817ba1d0fe2de663d11d30c1f42ecb0c9ca73","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.2.0.tgz","fileCount":59,"integrity":"sha512-I5RpykwuRd+G1RcgHiaLMJ4R2LcIKCWJ61S3PcaXs0Eohacb9rLuDqo+Bwkzv8EKg4WC0A/UQzJcw5x9KLHIbw==","signatures":[{"sig":"MEUCICIlDaLkuy/2lyjdCjGRmVA/UWPrldHElJl6HMgeiJYxAiEA8fZRYyMBq15A3R93InCxpheKxXzArKoLxlrwsoXC2mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB6nI+UNZu5hkJPuFggu9gcFBTt04fcHiIaAgohBuhZIAiA+FX0xVJqfMeWAy/jODFvFYzjp7mF7AkcMW1P+0BMCOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517485},"main":"dist/index.js","gitHead":"7fe3c1c08a5a239e85bb7fb1c8d5cc631ad674a0","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.2.0_1790685375504_0.37229804840160163","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"locadot","version":"2.3.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.3.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"9085977116b6c3876e0bde37784508051dd71bf5","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.3.0.tgz","fileCount":60,"integrity":"sha512-8glBdPphVm35Mexfm30MKyQGdG8MRMkFqL7OPNAo0ShKKWdPL04mB6Y3zhVL0KUrUMVi60+1wEQx5t/ucfURKw==","signatures":[{"sig":"MEYCIQDaTWUdFJgZTdZAqM1U7un6jZD3DraKErvmodgDGQZdfAIhAP2cu3zlLlgsJ8RXo31p6YusEF5qJhV8vKiLnG2P7eov","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCXwIhNCF90iH+FpUWoSoLE7RQ8DY09SIQsRhLU2W3KogIhANg2tq+GoFl8xVE7PbXU8XVVdOVXT4V1TZJbb7An53qi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563365},"main":"dist/index.js","gitHead":"fc3273e255ebd3d49201cbf9e18213f9a3f8e526","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.3.0_1790699109482_0.2171778198935832","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"locadot","version":"2.4.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.4.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"d1ebabba5d1b3d14ac95021bbe6612c0f4c658f0","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.4.0.tgz","fileCount":64,"integrity":"sha512-UoCaliSDPM3uxz0z2seMyMKQ7OUnhxfVk7mpYFj9MoAYjg6EsSHKQZD8S/sQLDtAM2Mjm9GEiaVLuDRV2q1v+A==","signatures":[{"sig":"MEYCIQDCEZ4vOXdtleRvmaje507MB5iKk7FsqGsmcsjK0iMbdwIhAIGIH5CnBmkPrIcVSXBVVsunb1RZOgPTDn2MTSQqzkGb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICqCPzlHITzCaLVho+my+uQQkbSEoJQMwTAFRnPhuZ0AAiA88Ev5rl91z3axv9rh0Wpw+czoc7seGdo2/YYVDt9QLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621804},"main":"dist/index.js","gitHead":"9bf27f70d5b218069cb59c56ce8ede4a12430b5f","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.4.0_1790701523313_0.4866256361682584","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"locadot","version":"2.5.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.5.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"1e671aa78020465f17ce093152e4e4547b7a7f76","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.5.0.tgz","fileCount":70,"integrity":"sha512-nmqYbR7zR/AD6nmsmFsllpdSy7tgVV4bL7xGdHcUTBucjWuhAjoTVgL/7hYDtxg/iORDfLdRIMz39qH/B/GJPg==","signatures":[{"sig":"MEYCIQD359tYjRnp+iQslFKVa1oWw2l3moZ399q9ovfV2B20jAIhAMlTRTlMO4nM026WKO5n5IouV+xr4D3qI3k8ddKESmBA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGxdXXAuO60u8Wo1jNghSaNqhJtFqOtW7ANT+TDZ5xNJAiBG0ooGgmsh/8aof252BTwMSuhWhiTT3AXYqF4iMeCpng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":697765},"main":"dist/index.js","gitHead":"efb2e8a2bc5d995e5a970db23f44f23fc06b8419","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.5.0_1790705714708_0.1624791066131246","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"locadot","version":"2.6.0","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"author":{"name":"avinashid"},"license":"MIT","_id":"locadot@2.6.0","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"homepage":"https://www.npmjs.com/package/locadot","bugs":{"url":"https://github.com/avinashid/locadot/issues"},"bin":{"locadot":"dist/index.js"},"dist":{"shasum":"4a94ecf35324e8f30b63f83d2d7e93e7a2cb5e94","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.6.0.tgz","fileCount":72,"integrity":"sha512-TU1d3RUTIbIPYmEKWRkizux7KQ0WvOn05wW0EhrpFvIt8rp60E+c+pCKIo9FTSnsw7HytI0i4FMCKW0KYs0vnw==","signatures":[{"sig":"MEYCIQD0ScuMTGlnxlKBIvSwCAGrLIhrOxpp+/o/mowoe7rmYwIhALxlMGZhB0auCaTWpu+hhq0Y0pqMYqtB72/ko1wz/PAC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDS7R3DNHcKMWukBIjk3SSIWSMeSU5FqaUAvNL59vqVAQIgNCo1LepbZeL5PkUxNVPPV0ZLURALJwVtOWj11uGUyd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710414},"main":"dist/index.js","gitHead":"1863ea6701986be531537dbb9e8b5cef7c2a0d1d","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"tmp":"tmp/locadot_2.6.0_1790762964632_0.9054573807854165","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"_id":"locadot@2.6.1","bin":{"locadot":"dist/index.js"},"bugs":{"url":"https://github.com/avinashid/locadot/issues"},"dist":{"shasum":"c526e3a636f95b013301ae3f8cafcf6409bc27e8","tarball":"https://registry.npmjs.org/locadot/-/locadot-2.6.1.tgz","fileCount":72,"integrity":"sha512-O3POzHEFa4eRFb6xvXsi5JwEH249r3zJsI6H3CUDu0+sq+8fPs+q/nUERx0vPgAWh5DQEmKrmR7/yx4MHJ9usQ==","signatures":[{"sig":"MEUCIQCvj3QCQnyqdFQyeQQW7NLf1clRhS01oUdl4a1rACb47QIgPHJewtyXcjchP+3Bg/OXimAJOD3DpvPnJ+yQRw2WBgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCX0O3mdgJUOTj8x7dBx0xQFnxRxcWfCi7q8REhukOd+gIgT7JhtpX0IEmadVIY5YrWpnKto+GB+SmQvKSBhgtWg+0="}],"unpackedSize":716077},"main":"dist/index.js","name":"locadot","author":{"name":"avinashid"},"gitHead":"50fe95d7dab833423e19bc05eb70bf2e56c91fd8","license":"MIT","scripts":{"dev":"tsx --watch src/index.ts","test":"tsc && node --import tsx --test test/*.test.ts","build":"tsc","prepublishOnly":"pnpm build"},"version":"2.6.1","_npmUser":{"name":"avinashid","email":"avinashkumar532004@gmail.com"},"homepage":"https://www.npmjs.com/package/locadot","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"_npmVersion":"11.19.0","description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","directories":{},"maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"_nodeVersion":"26.7.0","dependencies":{"mkcert":"^3.2.0","winston":"^3.17.0","chokidar":"^4.0.3","commander":"^14.0.0","http-proxy":"^1.18.1","appdata-path":"^1.0.0","@expo/sudo-prompt":"^9.3.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912","devDependencies":{"tsx":"^4.19.3","typescript":"^5.8.3","@types/node":"^26.6.2","@types/http-proxy":"^1.17.17"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/locadot_2.6.1_1790777450064_0.05004221754812144"}}},"time":{"created":"2025-04-07T19:00:23.522Z","modified":"2026-09-30T14:10:50.385Z","1.0.0":"2025-04-07T19:00:23.766Z","1.0.1":"2025-04-08T11:14:50.759Z","1.0.2":"2025-04-08T11:26:18.505Z","1.1.0":"2025-04-08T13:58:45.937Z","1.1.1":"2025-04-08T14:02:40.197Z","1.1.2":"2025-04-08T15:35:28.728Z","1.2.2":"2025-04-09T06:22:30.917Z","1.2.3":"2025-04-09T07:27:29.008Z","1.2.4":"2025-04-09T07:56:24.329Z","1.2.5":"2025-04-09T07:58:35.570Z","1.2.6":"2025-04-09T09:59:13.538Z","1.2.7":"2025-04-09T10:14:56.359Z","1.3.0":"2025-04-09T19:34:02.264Z","1.3.1":"2025-04-09T19:44:32.537Z","1.4.0":"2025-04-10T09:07:30.882Z","1.4.1":"2025-04-19T16:36:55.171Z","1.5.0":"2025-05-30T06:38:00.899Z","1.5.1":"2025-05-30T07:01:40.860Z","1.5.2":"2025-05-30T07:23:56.585Z","1.5.5":"2025-05-30T10:44:40.674Z","1.5.6":"2025-05-30T10:59:43.096Z","1.5.7":"2025-06-06T15:33:09.787Z","1.6.0-beta.0":"2026-09-25T08:37:05.971Z","1.6.0-beta.1":"2026-09-25T09:48:13.253Z","1.6.0-beta.2":"2026-09-25T10:12:28.151Z","1.6.0-beta.3":"2026-09-25T10:28:27.542Z","1.6.0-beta.4":"2026-09-25T11:29:49.331Z","1.6.0-beta.5":"2026-09-26T08:18:00.163Z","1.6.0-beta.6":"2026-09-26T08:58:12.342Z","1.6.0-beta.7":"2026-09-26T09:28:26.949Z","2.0.0":"2026-09-26T09:43:25.320Z","2.1.0-beta.0":"2026-09-27T05:53:53.854Z","2.1.0-beta.1":"2026-09-27T07:11:58.661Z","2.1.0-beta.2":"2026-09-27T07:31:01.814Z","2.1.0-beta.3":"2026-09-27T07:53:59.000Z","2.1.0-beta.4":"2026-09-27T08:20:44.394Z","2.1.0":"2026-09-27T08:28:07.751Z","2.2.0":"2026-09-29T12:36:15.583Z","2.3.0":"2026-09-29T16:25:09.578Z","2.4.0":"2026-09-29T17:05:23.474Z","2.5.0":"2026-09-29T18:15:14.824Z","2.6.0":"2026-09-30T10:09:24.740Z","2.6.1":"2026-09-30T14:10:50.159Z"},"bugs":{"url":"https://github.com/avinashid/locadot/issues"},"author":{"name":"avinashid"},"license":"MIT","homepage":"https://www.npmjs.com/package/locadot","keywords":["locadot","https","ssl","https-proxy","localhost","dashboard"],"repository":{"url":"git+https://github.com/avinashid/locadot.git","type":"git"},"description":"Secure your local development environment with HTTPS and custom domains like dev.localhost.","maintainers":[{"name":"avinashid","email":"avinashkumar532004@gmail.com"}],"readme":"# locadot 🔐\n\n[![npm](https://img.shields.io/npm/v/locadot.svg)](https://www.npmjs.com/package/locadot)\n[![license](https://img.shields.io/npm/l/locadot.svg)](LICENSE)\n\nHTTPS custom domains for local development. Point `https://app.localhost` at your dev server on port 3000, or\n`https://google.localhost` at any upstream URL, share any of them on a public URL, and manage it all from a dashboard at\n`https://localhost`.\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/avinashid/locadot/main/docs/screenshots/dashboard-dark.png\">\n  <img alt=\"The locadot dashboard: hosts with health, traffic and public URLs, plus add-host, system and sharing panels\" src=\"https://raw.githubusercontent.com/avinashid/locadot/main/docs/screenshots/dashboard-light.png\">\n</picture>\n\n## ✨ Features\n\n- ✅ **Trusted HTTPS for every domain.** locadot creates one local CA and issues a certificate per domain, served by SNI.\n  Run `locadot trust` once to add the CA to your system and browsers.\n- 🔁 **Any destination.** A local port (`--port 3000`), a host and port (`--target 192.168.1.5:8080`), or any URL\n  (`--target https://google.com`). Redirects and cookies are rewritten so the browser stays on the `.localhost` name.\n- 🌍 **Share on a public URL.** `locadot tunnel --host app.localhost` (or **Share** in the dashboard) puts a mapping on\n  `https://<random>.trycloudflare.com` through a Cloudflare quick tunnel. No account needed. Or put it on your own\n  hostname (`--domain app.example.com`) through a named tunnel in your Cloudflare account, with a URL that never changes.\n- 🔗 **Remote access, locadot to locadot.** Publish your whole locadot on a Cloudflare hostname and let other machines pair\n  with it as viewer, editor or admin. Your mappings show up in their locadot. Admins can also open your dashboard and any\n  port on your localhost.\n- 🖥️ **Share the dashboard in a browser.** `locadot hub:panel on` serves the control panel at the hub's public URL, behind the\n  dashboard password, so you can manage this machine from anywhere without installing locadot there.\n- 🧩 **`--cors` for sites that call other domains.** Preflights are answered locally and cross-origin calls are routed\n  through the page's own origin, so a production frontend works against its real APIs from `.localhost`.\n- 📋 **Control panel at `https://localhost`.** Add, edit, filter and remove mappings, see health and traffic, share them,\n  and toggle CA trust and start-at-boot. Light, dark or system theme. Includes a token-protected JSON API, so scripts and\n  AI agents can do everything the page does.\n- 🔌 **WebSockets** are proxied too, so HMR and dev-server live reload work.\n- 🩺 **`status` and `doctor`** show why a domain isn't working: port conflicts, permissions, CA trust, a target that isn't answering.\n- 🛡️ **Local by default.** The proxy binds to `127.0.0.1` / `::1` only. Domains must end in `.localhost`, which browsers\n  resolve to your machine with no hosts-file edits.\n- 🖥️ Works on Linux, macOS and Windows. Optionally starts at boot or logon.\n\n---\n\n## 🚀 Quick start\n\n```bash\nnpm i -g locadot                                    # or prefix each command with npx\nnpx locadot trust                                   # once: trust the locadot CA (asks for your password)\nnpx locadot add --host app.localhost --port 3000    # https://app.localhost → http://localhost:3000\nnpx locadot add --host google.localhost --target https://google.com\nnpx locadot open                                    # opens the dashboard at https://localhost\n```\n\n> **Linux:** ports 80/443 need root. Either run locadot with `sudo`, or allow unprivileged binding once:\n> `sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80` (persist it in `/etc/sysctl.d/`). Or use other ports:\n> `locadot start --port 8080 --https-port 8443` (URLs then include the port). `locadot doctor` checks this for you.\n\n---\n\n## 📦 Commands\n\n### Mappings\n\n| Command | What it does |\n| --- | --- |\n| `locadot add --host <name>.localhost --port <port>` | Map a domain to `http://localhost:<port>`. Starts the proxy if it isn't running. |\n| `locadot add --host <name>.localhost --target <url>` | Map a domain to any upstream: `3000`, `127.0.0.1:8080`, `http://10.0.0.5:8080/app`, `https://google.com`. |\n| `locadot update --host <name>.localhost --port/--target …` | Change the destination of an existing domain. |\n| `locadot remove --host <name>.localhost` (`rm`) | Remove a domain. |\n| `locadot protect --host <name>.localhost [--shared] [--remote] [--local] [--stdin] [--off]` | Ask for a password on the shared link, for connected machines and/or locally (none by default). Prompts for the password, or reads it with `--stdin`. |\n| `locadot allow --host <name>.localhost [addresses…] [--rm] [--clear]` | Let people on a tunnel or remote access reach internal addresses (`localhost:3000`) through a `--cors` domain. With no addresses, shows the list. Also `add … --allow a,b`. |\n| `locadot list` (`ls`, `host`) `[--json]` | Show all mappings. |\n| `locadot clear:hosts` | Remove all mappings. |\n| `locadot open [host]` | Open a domain, or the dashboard when no host is given, in your browser. |\n\nOptions for `add` / `update`:\n\n| Option | Meaning |\n| --- | --- |\n| `-p, --port <port>` | Shorthand for `--target http://localhost:<port>`. |\n| `-t, --target <url>` | Any http(s) upstream. A bare `host:port` means `http://host:port`. |\n| `-k, --insecure` | Don't verify the TLS certificate of an `https` target (self-signed upstreams). |\n| `--cors` / `--no-cors` | Bypass CORS for this domain. The upstream gets `Origin`/`Referer` as its own origin, preflights are answered locally, any origin may read responses (with credentials), and cookies become `SameSite=None` over HTTPS. The page's calls to other domains go through locadot automatically, with no extra mapping (see [Sites that call other domains](#sites-that-call-other-domains---cors)). |\n| `--https-redirect on\\|off\\|default` | Send plain `http://` requests for this domain to `https://` (`on`), never (`off`), or follow `locadot https:redirect` (`default`, the initial state). `locadot update --host h --https-redirect on` changes only this, without a target. |\n| `--no-start` | Save the mapping without starting the proxy. |\n\n### Proxy\n\n| Command | What it does |\n| --- | --- |\n| `locadot start [--port 8080] [--https-port 8443]` | Start the central proxy. Default ports are 80 and 443. Ports you pass are remembered for later commands and start-at-boot, and a running proxy is moved to them. Fails loudly with the reason if it can't bind its ports. |\n| `locadot stop` | Stop the proxy. Mappings and logs are kept. |\n| `locadot restart [--port …] [--https-port …]` | Stop, then start. |\n| `locadot https:redirect [on\\|off]` | Redirect plain `http://` requests to `https://` (307) for every domain and the dashboard; without an argument, show the setting. Off by default. A domain's own `--https-redirect` wins. Applies at once, without a restart. Shared links, remote access, WebSockets and the dashboard's `/api` and `/healthz` are never redirected. |\n| `locadot kill` | Stop the proxy, remove all mappings and clear the logs. |\n| `locadot status [--json]` | Is it running, its PID, ports, number of hosts, CA trust, start-at-boot, dashboard URL. |\n| `locadot doctor [--host h]` | Check the proxy, ports, permissions, CA trust, the registry and every target. Exits 1 if anything fails. |\n\n### Sharing (Cloudflare Tunnel)\n\n| Command | What it does |\n| --- | --- |\n| `locadot tunnel --host app.localhost` | Share a mapping on a public `https://<random>.trycloudflare.com` URL through a Cloudflare quick tunnel. No Cloudflare account is needed. `cloudflared` is downloaded on first use. |\n| `locadot tunnel --host app.localhost --domain app.example.com` | Share it on your own hostname instead, on a domain in your Cloudflare account. If locadot has no Cloudflare login for the hostname's zone, it asks you to sign in and authorize that zone (the link is printed; the dashboard opens it in a new tab). Each zone you authorize is kept in the state dir, so domains in different zones or accounts each get their own login; `~/.cloudflared/cert.pem` is used but never replaced. If the zone you authorize doesn't include the hostname, sharing fails with an error rather than going live on the wrong name. locadot creates a named tunnel for the mapping (`locadot-app-localhost`), points the hostname's DNS at it (replacing an existing record) and runs it. The URL stays the same across restarts. |\n| `locadot tunnel --host app.localhost --off` | Stop sharing it. The custom hostname is remembered for the dashboard; sharing again without `--domain` uses a random URL. |\n| `locadot tunnel` | List the shared mappings and their public URLs. |\n| `locadot tunnel:install` | Download `cloudflared` into the state dir (`<state>/bin`). Set `LOCADOT_CLOUDFLARED` to use your own binary; one on `PATH` is also picked up. |\n\nThe tunnel runs inside the proxy, so a shared mapping keeps working after `restart` and comes back at boot. Redirects to the\ntarget are rewritten to the public URL. **Anyone with the link can reach the mapping**, so only share what you'd put online.\n`--cors` works through the tunnel too: CORS headers and preflights, the pass-through shim, and the target's own\norigin in pages rewritten to the public URL (other shared mappings get their public URLs too). For safety, a tunnel visitor's\npass-through calls may only go to public addresses: loopback, LAN, link-local and cloud-metadata addresses are refused, checked\non the address actually dialled, so the tunnel can't be used to reach your machine or network. The dashboard can also do this:\nuse **Share** / **Unshare** on a row.\n\n**Internal access.** If the shared frontend calls an internal API (`http://localhost:3000`), allow that address on the\nmapping, and tunnel visitors and connected machines (viewers included) can then reach it through the page:\n\n```sh\nlocadot allow --host app.localhost localhost:3000      # add; `--rm` removes, `--clear` empties, no address lists\n```\n\nIn the dashboard, click **Access** on the row. An entry is `host:port`, or a host alone for any of its ports. `127.0.0.1`\nand `0.0.0.0` count as `localhost`. Only the page's own requests can use it, and locadot's own ports stay blocked even\nwhen all of `localhost` is allowed. Allow only what the app needs: anyone who can open the mapping can reach these addresses.\n\n**Password protection.** Ask for a password before a mapping opens, only where you choose: on the shared link, for\nmachines connected through remote access, and/or locally (this machine and your network). Nothing is picked by default.\n\n```sh\nlocadot protect --host app.localhost --shared           # prompts for the password; --stdin reads it from a pipe\nlocadot protect --host app.localhost --shared --local   # change where it asks, keeping the password\nlocadot protect --host app.localhost                     # set a new password (signs everyone out)\nlocadot protect --host app.localhost --off\n```\n\nIn the dashboard, click the lock on the row. Visitors get a sign-in page and stay signed in for 7 days through a cookie\nfor that host, which is never passed on to your app. Ten wrong passwords in five minutes lock that visitor out for a\nwhile. Passwords are stored as scrypt hashes in `.locadot-host-passwords.json` (0600), not in the registry.\n\n### Remote access (locadot to locadot)\n\nOne machine (the sender) publishes its whole locadot on a Cloudflare hostname. Other machines (receivers) connect with a\nshort-lived pairing string, and the sender's mappings then show up in the receiver's own locadot and dashboard.\n\n| Command | What it does |\n| --- | --- |\n| `locadot hub:setup --domain dev.example.com` | Sender: publish through your own named tunnel on your Cloudflare domain (runs `cloudflared` login, creates the tunnel and routes DNS). The address stays the same. |\n| `locadot hub:quick` | Sender: publish on a trycloudflare URL. No account is needed, but **the URL changes if the tunnel restarts**, so receivers have to run `remote:url`. |\n| `locadot hub:manual --url <url>` | Sender: publish behind a URL something else already forwards to the proxy's HTTP port (ngrok, a reverse proxy). |\n| `locadot hub` / `hub:off` | Show the hub status and URL, or stop it. |\n| `locadot hub:localhost <on\\|off>` | Sender: allow or block admin peers from opening this machine's dashboard and any port on its localhost. |\n| `locadot hub:panel <on\\|off>` | Sender: serve this dashboard to any browser at the hub's public URL, behind the [dashboard password](#dashboard-password). Off by default. See [Sharing the dashboard](#sharing-the-dashboard-in-a-browser). |\n| `locadot share --role viewer\\|editor\\|admin [--hosts a.localhost,b.localhost]` | Sender: print a pairing string. It works once and expires after 5 minutes. `--hosts` limits a viewer to those mappings. |\n| `locadot peers` / `peers:role <id> <role>` / `peers:revoke <id>` | Sender: list the connected machines, change a role, or cut one off. |\n| `locadot connect \"<pairing string>\" [--name alice] [--domain dev]` | Receiver: connect and import the sender's mappings. If a name clashes, `app.localhost` becomes `app.alice.localhost`. Admins get a local domain that opens the sender's dashboard and localhost (see below); `--domain` picks it, otherwise it's a random `adjective-noun`. |\n| `locadot remotes` / `remote:sync <name>` / `disconnect <name>` | Receiver: list the connections (with their domain), pull new mappings, or remove the connection and its names. |\n| `locadot remote:domain <name> [domain] [--off]` | Receiver, admin only: set the local domain for a remote's localhost, randomize it (no domain given), or remove it (`--off`). |\n| `locadot remote:alias <name> <remote host> <local host>` | Receiver: give a sender mapping another local name, e.g. `he.localhost`. |\n| `locadot remote:add\\|remote:update\\|remote:rm <name> …` | Receiver: change mappings on the sender (editor or admin). |\n| `locadot remote:url <name> <url>` | Receiver: point a connection at the sender's new URL. |\n\nRoles: **viewer** can only browse (optionally limited to the mappings picked on the invite). **editor** can also add and change\nmappings on the sender. **admin** can also delete them and change sharing, and (unless the sender turned it off with\n`hub:localhost off`) open the sender's own dashboard at `https://<domain>.localhost` and manage it as if they were sitting at it,\nand reach any port on the sender's localhost at `https://<port>.<domain>.localhost` (`sender's localhost:<port>`). The port\npicker is at `https://<domain>.localhost/_locadot/ports`. The admin's browser never gets the sender's API token, so revoking or\ndemoting the peer cuts off its dashboard access at once; a dashboard password on the sender still applies. Traffic goes receiver → Cloudflare → sender →\ntarget, so an editor can reach anything the sender's machine can reach. Only give that role to people you trust. Only hashes\nof the tokens are stored, and failed attempts are rate limited. Only admins can open the sender's dashboard through the hub.\nThe dashboard has **Remote access** and **Connected machines** cards for all of this.\n\n`--cors` carries over: a sender's `--cors` mapping is `--cors` on the receiver too, with no extra flag. Preflights and CORS\nheaders work as they do locally, and origins in the sender's pages are rewritten to the receiver's own names and port (so\n`http://localhost:8000` in a page becomes `http://api.alice.localhost` if that's the receiver's name for `api.localhost`).\nAn admin's `<port>.<domain>.localhost` gets the same treatment when a `--cors` mapping points at that port.\n`remote:sync` picks up a sender turning `--cors` on or off.\n\nWhen a target is down, requests through the hub or a public share get a **503** with locadot's \"upstream unreachable\" page.\nCloudflare replaces an origin's 502 with its own generic \"bad gateway\" error, which would hide the real cause.\n\n#### Sharing the dashboard in a browser\n\nRemote access above needs locadot on both machines. To manage this machine from a browser anywhere (a laptop, a phone),\nshare the dashboard itself on the hub's public URL:\n\n```sh\nlocadot ui:password     # required: visitors sign in with it\nlocadot hub:panel on    # or the \"Share this dashboard\" switch under Remote access\nlocadot hub             # shows the URL, e.g. https://dev.example.com\n```\n\nOpening the hub URL in a browser then shows the sign-in page, and after that the full dashboard. Paired machines keep\nworking on the same URL, since they authenticate with their own tokens. Some details:\n\n- It can't be turned on without a dashboard password, and removing the password turns sharing off.\n- The session cookie is `HttpOnly`, `SameSite=Strict` and `Secure` on https. Wrong passwords are rate limited per visitor IP.\n- The browser never gets this machine's API token. Changes are only accepted from the page's own origin.\n- Only the dashboard is shared. Your mappings stay reachable only by paired machines, and links in the dashboard still point\n  at `*.localhost` names, which open on the visitor's own machine.\n- Anyone with the password controls this locadot, including remote access and stopping the proxy. Use a strong one, or\n  prefer a named tunnel (`hub:setup`) behind Cloudflare Access if you need more.\n\n### Certificates\n\n| Command | What it does |\n| --- | --- |\n| `locadot trust` | Add the locadot CA to the system trust store, plus the Chrome/Firefox NSS stores on Linux when `certutil` is installed. |\n| `locadot untrust` | Remove it again. |\n\n### Logs, files and startup\n\n| Command | What it does |\n| --- | --- |\n| `locadot logs [-n 50] [--no-follow]` | Print recent proxy logs and follow new ones. `watch:logs` is an alias. |\n| `locadot clear:logs` | Clear the log file. |\n| `locadot path` | Show every file locadot uses. `path:logs` and `path:hosts` print a single path. |\n| `locadot token` | Print the dashboard API token, for scripts and AI agents. |\n| `locadot startup:enable` / `startup:disable` / `startup:status` | Start the proxy at boot (Linux cron; macOS LaunchDaemon) or logon (macOS LaunchAgent; a hidden script in the Windows Startup folder, no admin needed). On ports below 1024 it asks for your password (sudo in a terminal, the system dialog from the dashboard), since macOS and Linux need root to bind them on loopback; the boot job then runs as root. |\n\n---\n\n## 📋 Dashboard & control panel\n\nOpen `https://localhost` or `http://localhost` (or run `locadot open`). Requests for bare `localhost` / `127.0.0.1` / `::1`\nare answered by locadot itself, not proxied. On wide screens the page is a two-column layout: your hosts on the left,\ncontrols on the right. The button at the top right switches between the system, light and dark themes (saved per browser).\n\n<img alt=\"Hosts table with status, latency, traffic, a shared public URL and per-row actions\" src=\"https://raw.githubusercontent.com/avinashid/locadot/main/docs/screenshots/hosts.png\">\n\n- **Hosts:** every mapping with its target, options (`cors`, insecure TLS), up/down status, latency, traffic (hits, errors,\n  average ms) and public tunnel URL. Filter the list, edit a target inline (Enter saves, Esc cancels), **Share** / **Unshare**\n  or remove it. A host whose target doesn't answer is marked in red. It refreshes every 5 s.\n- **Add host:** host + port / host:port / URL, with optional \"Insecure TLS\" and \"Bypass CORS\" boxes.\n- **System:** ports, bind addresses and state dir, whether the proxy runs as root/admin, whether ports below 1024 can be bound\n  (with the Linux sysctl fix when they can't), CA trust and start-at-boot toggles, and a **Stop proxy** button.\n- **Sharing:** whether `cloudflared` is installed, with an **Install** button when it isn't.\n- **Logs:** a live tail with refresh and clear. **CLI & API:** snippets you can copy.\n\nIf the proxy stops, the page says so, disables the controls and reconnects by itself when it's back. On phones and tablets\nhosts become cards:\n\n<p>\n  <img alt=\"Dashboard on a phone, light theme\" src=\"https://raw.githubusercontent.com/avinashid/locadot/main/docs/screenshots/mobile.png\" width=\"260\">\n  <img alt=\"Dashboard on a phone, dark theme\" src=\"https://raw.githubusercontent.com/avinashid/locadot/main/docs/screenshots/mobile-dark.png\" width=\"260\">\n</p>\n\nTrust and start-at-boot may need elevation. locadot asks the OS for it (polkit on Linux, the password dialog on macOS, UAC on Windows).\nIf that isn't possible, for example on a headless Linux box, the panel shows the exact command to run instead: `sudo locadot trust`,\n`locadot startup:enable`, and so on.\nOn macOS, run `locadot trust` without `sudo`: it asks for your password itself, and macOS then confirms the trust change in a\ndialog, which only works in Terminal on the Mac, not over SSH. Under `sudo` it would trust root's own CA instead of yours.\n\n### Dashboard password\n\nThe dashboard is open to anyone on this machine by default. To require a password for the UI only:\n\n```sh\nlocadot ui:password          # set or reset it (prompts twice; stored as an scrypt hash, 0600)\nlocadot ui:password --off    # remove it\necho \"$PW\" | locadot ui:password --stdin\n```\n\nYou can also set, change or remove it under **Settings → Dashboard password** (changing or removing it there needs the current one).\nIt's also what [sharing the dashboard in a browser](#sharing-the-dashboard-in-a-browser) signs visitors in with.\nOnly the dashboard is protected. Your mapped hosts work as before, and so do scripts and the CLI that send `X-Locadot-Token`.\nSessions last 7 days, and changing the password signs everyone out. If you forget it, run `locadot ui:password` again in a terminal.\n\n### JSON API (for scripts and AI agents)\n\nEverything the page does is a plain JSON API on the dashboard origin. The read routes are open to local callers, unless a [dashboard password](#dashboard-password) is set; then they need a signed-in session or the token. Every mutating route needs the\n`X-Locadot-Token` header. Get the token with `locadot token`. It lives in `<state dir>/.locadot-token` (mode 0600) and is regenerated\neach time the proxy starts.\n\n| Method & path | Body | Does |\n| --- | --- | --- |\n| `GET /api/status` | | Proxy info, uptime, host count, and `system` (`platform`, `isRoot`, `canBindPrivileged`, `unprivilegedPortStart`, `caTrusted`, `startup`, `stateDir`). |\n| `GET /api/hosts` | | Every mapping with urls, probe (`up`, `status`, `ms`) and stats. |\n| `GET /api/logs?lines=200` | | `{ lines: [...] }` |\n| `POST /api/hosts` | `{ \"host\": \"app.localhost\", \"target\": \"3000\", \"insecure\": false, \"cors\": false }` | Add a mapping (201; 409 if it exists). |\n| `PUT /api/hosts/:host` | `{ \"target\": \"https://example.com\", \"insecure\": false, \"cors\": true }` | Change a mapping (404 if unknown). |\n| `PUT /api/hosts/:host` | `{ \"httpsRedirect\": true }` | Redirect this mapping's plain http to https (`true`), never (`false`), or follow the global setting (`null`). Also accepted by `POST /api/hosts` and alongside `target`. Rows show `httpsRedirect: true \\| false \\| null`. |\n| `PUT /api/hosts/:host` | `{ \"allow\": [\"localhost:3000\"] }` | Replace the internal addresses shared visitors may reach (normalized; `[]` clears; 400 if one is invalid). |\n| `PUT /api/hosts/:host` | `{ \"protect\": { \"password\": \"…\", \"scopes\": [\"shared\", \"remote\", \"local\"] } }` | Ask for a password on those paths in (at least one; `password` may be left out to keep the current one). `{ \"protect\": null }` removes it. Rows show `protect: { scopes, updatedAt }`, never the password. |\n| `PUT /api/hosts/:host` | `{ \"tunnel\": true, \"domain\": \"app.example.com\" }` | Share on a public URL: with `domain`, on that hostname through a named Cloudflare tunnel, without it on a random trycloudflare.com URL. `{ \"tunnel\": false }` stops sharing (400 for a bad hostname, 409 if another mapping uses it). |\n| `DELETE /api/hosts/:host` | | Remove a mapping. |\n| `POST /api/startup` | `{ \"enabled\": true }` | Start at boot on/off. |\n| `POST /api/trust` | `{ \"trusted\": true }` | Trust or untrust the CA. |\n| `POST /api/logs/clear` | | Clear the log. |\n| `POST /api/proxy/stop` | | Stop the proxy. Use `locadot start` to bring it back. |\n| `GET /api/settings` | | Running ports/bind, `logLevel`, `stateDir`, `saved`/`env` overrides, `restartRequired` and `httpsRedirect`. |\n| `PUT /api/settings` | `{ \"httpPort\": 8080, \"httpsPort\": 8443 }` | Save new ports to the config file (400 if invalid or equal). Takes effect after a restart. |\n| `PUT /api/settings` | `{ \"httpsRedirect\": true }` | Turn the global http → https redirect on or off; takes effect at once. |\n| `POST /api/proxy/restart` | | Restart the proxy (e.g. to pick up saved ports). |\n| `PUT /api/settings/ui-password` | `{ \"password\": \"…\", \"current\": \"…\" }` or `{ \"enabled\": false, \"current\": \"…\" }` | Set, change or remove the dashboard password (`current` is required once one is set). |\n| `GET /api/hub` | | Hub status/config, plus `localhost` (sender: is localhost access on) and `panel` (is the dashboard shared). |\n| `PUT /api/hub/localhost` | `{ \"enabled\": true }` | Sender: turn localhost access for admin peers on/off (400 if the hub isn't configured). |\n| `PUT /api/hub/panel` | `{ \"enabled\": true }` | Sender: share the dashboard at the hub's public URL on/off (400 if the hub isn't configured, or no dashboard password is set). |\n| `GET /api/remotes` | | Every remote (never the token), including `domain` and `localhost`. |\n| `POST /api/remotes` | `{ \"string\": \"<pairing string>\", \"name\": \"alice\", \"domain\": \"dev\" }` | Receiver: connect using a pairing string; `domain` is optional (admin only, random if omitted). |\n| `PUT /api/remotes/:name` | `{ \"domain\": \"dev\" }` or `{ \"domain\": \"random\" }` or `{ \"domain\": null }` | Receiver: set, randomize or remove a remote's local domain (400 invalid, 409 clash, 404 unknown). |\n\nErrors are `{ \"error\": \"...\", \"hint\": \"<CLI command>\" }` with a 4xx/5xx status.\n\n```bash\nTOKEN=$(locadot token)\ncurl -X POST http://localhost/api/hosts -H \"X-Locadot-Token: $TOKEN\" \\\n  -H 'Content-Type: application/json' -d '{\"host\":\"app.localhost\",\"target\":\"3000\"}'\ncurl -X DELETE http://localhost/api/hosts/app.localhost -H \"X-Locadot-Token: $TOKEN\"\n```\n\n**Why a token:** any website you visit can make your browser send requests to `localhost`. Mutating routes therefore reject requests that:\n- lack the token, which other sites can't read;\n- carry a foreign `Origin`, including your own `*.localhost` apps;\n- are marked `Sec-Fetch-Site: cross-site`;\n- have a non-JSON body.\n\nThe dashboard is served only for the bare `localhost` host names, which also blocks DNS rebinding.\n\n---\n\n## ⬆️ Upgrading from 1.x\n\n2.0 changes a few defaults. Your mappings are migrated automatically.\n\n- The proxy listens on `127.0.0.1` and `::1` only. Set `LOCADOT_BIND=0.0.0.0` if you relied on LAN access.\n- The registry is stored in a new format that 1.x can't read. Don't downgrade without backing up `locadot path:hosts`.\n- `-h` means `--host` on every command. Help is `--help`.\n- Bare `localhost` is the dashboard and can't be mapped.\n\nSee [CHANGELOG.md](CHANGELOG.md) for everything new.\n\n---\n\n## ⚙️ Configuration\n\nAll optional, via environment variables. Set them for the CLI; the proxy it starts inherits them.\n\n| Variable | Default | Purpose |\n| --- | --- | --- |\n| `LOCADOT_HOME` | OS app-data dir (`~/.config/locadot` on Linux) | Where the registry, logs, lock file and certs live. |\n| `LOCADOT_HTTP_PORT` | `80` | HTTP port of the proxy. Overrides the port saved by `locadot start --port`. |\n| `LOCADOT_HTTPS_PORT` | `443` | HTTPS port of the proxy. Overrides the port saved by `locadot start --https-port`. |\n| `LOCADOT_BIND` | `127.0.0.1,::1` | Comma-separated addresses to listen on. Use `0.0.0.0` to expose your mappings to your LAN (not recommended). |\n| `LOCADOT_LOG_LEVEL` | `info` | winston log level (`debug` logs every WebSocket upgrade). |\n\nWith non-standard ports, URLs include the port: `https://app.localhost:8443`.\n\n---\n\n## ⚠️ Notes on remote targets\n\n`--target https://google.com` proxies the upstream with `Host` rewritten to the upstream's name.\n`Location` redirects pointing at the upstream's own host, and cookie domains, are rewritten to the `.localhost` name. A\nredirect to a *different* domain (for example `google.com` → `www.google.com`) takes the browser there directly. To stay on\nlocadot, map the final host instead (`--target https://www.google.com`). Some sites refuse to be framed or proxied; that's up to\nthe site.\n\n### Sites that call other domains (`--cors`)\n\nA frontend that calls its API or third-party services by absolute URL works with just the site mapped:\n\n```bash\nlocadot add --host signalsant.localhost --target https://signalsant.com --cors\n```\n\n- **Pass-through.** HTML pages get a small script (`/__locadot/shim.js`) as the first thing in `<head>`. It sends `fetch`,\n  `XMLHttpRequest`, `EventSource`, `WebSocket` and `sendBeacon` calls to other origins through the page's own origin\n  (`/__locadot/x/https/api.signalsant.com/…`). The browser sees a same-origin request, so CORS never applies, and locadot\n  forwards it with `Origin: https://signalsant.com`. Only the page itself can use it: requests from other sites get a 403.\n  Calls to a bare `localhost:<port>` (an API or dev server next to the app) go the same way, so the page works when opened\n  from another machine through remote access too. There, only admin peers reach the sender's localhost this way.\n- **Cookies.** The page's cookies are forwarded only to the same site (`api.signalsant.com`), never to third parties.\n  Cookies set by third parties are dropped.\n- **Mapped domains.** If you also map a domain (`api.signalsant.localhost` → `https://api.signalsant.com --cors`), its URLs in\n  HTML/JS/CSS/JSON are rewritten to the `.localhost` name and it's called there directly.\n\nRewritten responses are buffered and sent uncompressed. Event streams and binary files pass through untouched. Not covered:\nrequests made by web workers or service workers, and `<form>` posts or `<img>`/`<script>` tags (these don't need CORS).\n\n---\n\n## 🛠️ Contributing\n\nThe code guide, architecture, and the tracker of bugs, enhancements, features and tech debt live in\n[`tasks/README.md`](tasks/README.md). Start there.\n\n```bash\npnpm install\npnpm build     # the CLI spawns dist/core.js, so build before trying proxy changes\npnpm test      # unit + end-to-end tests; runs on spare ports, never touches 80/443\n```\n\nPull requests are welcome.\n\n---\n\n##### Made with ❤️ to make secure local development simple.\n","readmeFilename":"README.md"}