{"_id":"@ajejoseph22/proxx","_rev":"4-20776204f2ae26e80b33c5e057d911b7","name":"@ajejoseph22/proxx","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@ajejoseph22/proxx","version":"1.0.0","keywords":["proxy","server","https","http"],"author":{"name":"Joseph Aje"},"license":"ISC","_id":"@ajejoseph22/proxx@1.0.0","maintainers":[{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"}],"homepage":"https://github.com/ajejoseph22/proxx#readme","bugs":{"url":"https://github.com/ajejoseph22/proxx/issues"},"bin":{"proxx":"dist/bin/proxx.js"},"dist":{"shasum":"bf32bde6e460ccf582f02b5222f41b1a8971602c","tarball":"https://registry.npmjs.org/@ajejoseph22/proxx/-/proxx-1.0.0.tgz","fileCount":25,"integrity":"sha512-jTVyTGNSPbghsqjz/ghPM0fLen5RiuKsUSegIMTDr6UNEr6QchE/LuwYx1+sSXoxGu4W5zCOsH6yV1uRfOVDPg==","signatures":[{"sig":"MEYCIQCTzO+Kyap1Lbgufmuy/O/h3mL+iAhqxFe4DHgbiYrERAIhALCaqsIW5ed4Cg6L1c5WpzbXfHt5wffdlYwmP+tupsda","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37791},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"b69b0ab9053d52acde5c558b96232aeb1a827b1c","scripts":{"dev":"ts-node-dev --respawn --transpile-only bin/proxx.ts","build":"rm -rf dist/ && tsc --outDir dist","start":"node dist/bin/proxx.js","format":"prettier --write .","prestart":"npm run build"},"_npmUser":{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"},"repository":{"url":"git+https://github.com/ajejoseph22/proxx.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight HTTPS/HTTP proxy server with bandwidth tracking, basic auth and real-time analytics.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bcrypt":"^5.1.1","dotenv":"^16.4.7","express":"^4.21.2","ts-node":"^10.9.2","typescript":"^5.7.3","lodash.merge":"^4.6.2","http-proxy-middleware":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.4.2","@types/node":"^22.13.1","ts-node-dev":"^2.0.0","@types/bcrypt":"^5.0.2","@types/express":"^5.0.0","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/proxx_1.0.0_1739354202990_0.5164124338219929","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ajejoseph22/proxx","version":"1.0.3","keywords":["proxy","server","https","http"],"author":{"name":"Joseph Aje"},"license":"ISC","_id":"@ajejoseph22/proxx@1.0.3","maintainers":[{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"}],"homepage":"https://github.com/ajejoseph22/proxx#readme","bugs":{"url":"https://github.com/ajejoseph22/proxx/issues"},"bin":{"proxx":"dist/bin/proxx.js"},"dist":{"shasum":"e3316300e4a3a6254807f983341a817779651eac","tarball":"https://registry.npmjs.org/@ajejoseph22/proxx/-/proxx-1.0.3.tgz","fileCount":25,"integrity":"sha512-GMFZA4pzCUulmU2jeAxVxrJcsMPgLXfFt0HmG7BIelSRmMxl2sljuNAdP2vwF2qdZSPTgobC41Pig6umaet/ug==","signatures":[{"sig":"MEYCIQDVzmlB/1/1+A9TDDOCYe0HxXHy0fz+rVtMbci3aYmuQAIhAMhhiOa9AJbKlpRpVPFr54TsMZEMrvLcCk+8HiXX/fCi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37688},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"41c8cd1cf768ca56a13ecd4cbbb51b99634e4965","scripts":{"dev":"ts-node-dev --respawn --transpile-only bin/proxx.ts","build":"rm -rf dist/ && tsc --outDir dist","start":"node dist/bin/proxx.js","format":"prettier --write .","prestart":"npm run build"},"_npmUser":{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"},"repository":{"url":"git+https://github.com/ajejoseph22/proxx.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight HTTPS/HTTP proxy server with bandwidth tracking, basic auth and real-time analytics.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bcrypt":"^5.1.1","dotenv":"^16.4.7","express":"^4.21.2","ts-node":"^10.9.2","typescript":"^5.7.3","lodash.merge":"^4.6.2","http-proxy-middleware":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.4.2","@types/node":"^22.13.1","ts-node-dev":"^2.0.0","@types/bcrypt":"^5.0.2","@types/express":"^5.0.0","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/proxx_1.0.3_1739358146452_0.8851905925305266","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ajejoseph22/proxx","version":"1.0.4","keywords":["proxy","server","https","http"],"author":{"name":"Joseph Aje"},"license":"ISC","_id":"@ajejoseph22/proxx@1.0.4","maintainers":[{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"}],"homepage":"https://github.com/ajejoseph22/proxx#readme","bugs":{"url":"https://github.com/ajejoseph22/proxx/issues"},"bin":{"proxx":"dist/bin/proxx.js"},"dist":{"shasum":"c1b014bf707367a58d7d9a6c5fbb217a96896af9","tarball":"https://registry.npmjs.org/@ajejoseph22/proxx/-/proxx-1.0.4.tgz","fileCount":25,"integrity":"sha512-0T5vUra3tWIbtEwXmbfaynY6YjbLZM3ZfUBllQWW9GTgu6pA6iFax62DJegWzJxmhdzEb1dDztPot3u1ryMTmw==","signatures":[{"sig":"MEYCIQCHGzp/OZO3o/joio03quoogrijwecoZ/1WO4ZqCjneKQIhAPqqcRQ3ACBTsmARh9aRdFL2Vr1x3uhHPyUHb0PANmJA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37675},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"431b9efd6c73231f481f298c3539bd112d852457","scripts":{"dev":"ts-node-dev --respawn --transpile-only bin/proxx.ts","build":"rm -rf dist/ && tsc --outDir dist","start":"node dist/bin/proxx.js","format":"prettier --write .","prestart":"npm run build"},"_npmUser":{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"},"repository":{"url":"git+https://github.com/ajejoseph22/proxx.git","type":"git"},"_npmVersion":"10.9.2","description":"A lightweight HTTPS/HTTP proxy server with bandwidth tracking, basic auth and real-time analytics.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bcrypt":"^5.1.1","dotenv":"^16.4.7","express":"^4.21.2","ts-node":"^10.9.2","typescript":"^5.7.3","lodash.merge":"^4.6.2","http-proxy-middleware":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.4.2","@types/node":"^22.13.1","ts-node-dev":"^2.0.0","@types/bcrypt":"^5.0.2","@types/express":"^5.0.0","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/proxx_1.0.4_1739358362263_0.2775879685030389","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@ajejoseph22/proxx","version":"1.0.6","main":"index.ts","repository":{"type":"git","url":"git+https://github.com/ajejoseph22/proxx.git"},"scripts":{"build":"rm -rf dist/ && tsc --outDir dist","format":"prettier --write .","dev":"ts-node-dev --respawn --transpile-only bin/proxx.ts","prestart":"npm run build","start":"node dist/bin/proxx.js"},"bin":{"proxx":"dist/bin/proxx.js"},"keywords":["proxy","server","https","http"],"author":{"name":"Joseph Aje"},"license":"ISC","description":"A lightweight HTTPS/HTTP proxy server with bandwidth tracking, basic auth and real-time analytics.","engines":{"node":">=18.0.0"},"devDependencies":{"@types/bcrypt":"^5.0.2","@types/express":"^5.0.0","@types/lodash.merge":"^4.6.9","@types/node":"^22.13.1","prettier":"^3.4.2","ts-node-dev":"^2.0.0"},"dependencies":{"bcrypt":"^5.1.1","dotenv":"^16.4.7","express":"^4.21.2","http-proxy-middleware":"^3.0.3","lodash.merge":"^4.6.2","ts-node":"^10.9.2","typescript":"^5.7.3"},"_id":"@ajejoseph22/proxx@1.0.6","gitHead":"5a12a038d00911cb080e718fb070468963d198fb","bugs":{"url":"https://github.com/ajejoseph22/proxx/issues"},"homepage":"https://github.com/ajejoseph22/proxx#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-r5oqFyC/rO33PevT0HTYcdQAw2zFwvqtsjU3BhbqjIQDyXfr+VVIsiKabHWB5tBZTRy4sAiZ9F5K1lLQjPrpBw==","shasum":"188bc608213424a88afad14c72d917af6413d67f","tarball":"https://registry.npmjs.org/@ajejoseph22/proxx/-/proxx-1.0.6.tgz","fileCount":25,"unpackedSize":35728,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCXL6PkeIXxOJsnkLhxSnmd4p6m3r2tOeu1v0LO7s3eCAIhAJnWLc1RAPUgpI4cl1i0e3X0jfT+/nKMxqTtKQZugbAv"}]},"_npmUser":{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"},"directories":{},"maintainers":[{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/proxx_1.0.6_1741948592767_0.5435010751120917"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-12T09:56:42.892Z","modified":"2025-03-14T10:36:33.139Z","1.0.0":"2025-02-12T09:56:43.224Z","1.0.3":"2025-02-12T11:02:26.645Z","1.0.4":"2025-02-12T11:06:02.481Z","1.0.6":"2025-03-14T10:36:32.968Z"},"bugs":{"url":"https://github.com/ajejoseph22/proxx/issues"},"author":{"name":"Joseph Aje"},"license":"ISC","homepage":"https://github.com/ajejoseph22/proxx#readme","keywords":["proxy","server","https","http"],"repository":{"type":"git","url":"git+https://github.com/ajejoseph22/proxx.git"},"description":"A lightweight HTTPS/HTTP proxy server with bandwidth tracking, basic auth and real-time analytics.","maintainers":[{"name":"ajejoseph22","email":"ajejoseph22@gmail.com"}],"readme":"# **Proxx**\n\nA lightweight **proxy server** that supports **basic authentication**, **bandwidth tracking**, and **site analytics**. It works with both **HTTP & HTTPS** traffic and provides real-time metrics via an endpoint.\n\n## **Features**\n\n- 🔑 **Basic Authentication** using username/password\n- 📊 **Bandwidth Tracking** (data sent/received)\n- 📈 **Site Analytics** (aggregated statistics)\n- 🚀 **Real-time Metrics** for live analytics\n- 🔄 **Graceful Shutdown** showing total usage statistics\n\n---\n\n## **Installation**\n\n### **Prerequisites**\n\n- Node.js (v18+ recommended)\n- npm or yarn\n\n### **Install via npm**\n\nYou can install Proxx directly via npm:\n\n```bash\nnpm install -g @ajejoseph22/proxx\n```\n\n### **Using the Proxy**\n1. set your admin username and password\n```bash\nexport ADMIN_USERNAME=username\nexport ADMIN_PASSWORD=password\n```\n\n2. start the proxy server\n```bash\nproxx start <port>\n```\n\n3. configure your client to use the proxy, or use curl with authentication:\n\n```bash\ncurl -x http://localhost:<port> --proxy-user username:password -L <http://url>\n```\n\n4. view the real-time metrics at `/metrics`:\n\n```bash\ncurl -u <your_username>:<your_password> http://localhost:<port>/metrics\n```\n\nExample response\n```json\n{\n  \"bandwidth_usage\": \"125MB\",\n  \"top_sites\": [\n    {\"url\": \"example.com\", \"visits\": 10},\n    {\"url\": \"google.com\", \"visits\": 5}\n  ]\n}\n```","readmeFilename":"README.md"}