├── .gitignore ├── README.md ├── data.json ├── package-lock.json ├── package.json ├── proxy_list.json ├── src ├── bot.ts ├── commands │ ├── clis.ts │ └── index.ts ├── config.ts ├── constants.ts ├── funcs │ └── index.ts ├── index.ts ├── test.ts ├── types.ts └── utils.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PumpFun AI Trading Bot 2 | 3 | PumpFun is a sophisticated AI-powered trading bot designed to make data-driven decisions and automate trading strategies. It leverages machine learning algorithms to predict market movements and optimize trade execution, making it an ideal tool for algorithmic traders looking for an automated solution to capitalize on market opportunities. 4 | 5 | # 💬 Contact Me 6 | 7 | If you have any question or something, feel free to reach out me anytime via telegram, discord or twitter. 8 |
9 | #### 🌹 You're always welcome 🌹 10 | 11 | Telegram: [@jackhuang166](https://t.me/jackhuang166)
12 | 13 | ## Features 14 | 15 | - **AI-Powered Trading**: Utilizes advanced machine learning algorithms to analyze market data and predict trends. 16 | - **Customizable Strategies**: Users can configure the trading strategies to match their preferences and risk tolerance. 17 | - **Real-Time Market Analysis**: Continuously monitors market conditions to identify optimal trade setups. 18 | - **Backtesting**: Test trading strategies on historical data to evaluate their performance before going live. 19 | - **Automatic Trade Execution**: Trades are automatically executed based on pre-defined strategies without manual intervention. 20 | 21 | ## Installation 22 | 23 | To run the PumpFun AI Trading Bot locally, follow the steps below: 24 | 25 | ### Prerequisites 26 | 27 | - Python 3.7 or higher 28 | - Pip (Python package installer) 29 | - Git (to clone the repository) 30 | 31 | ### Setup Instructions 32 | 33 | 1. Clone the repository to your local machine: 34 | 35 | ```bash 36 | git clone https://github.com/yourusername/pumpfun-ai-trading-bot.git 37 | cd pumpfun-ai-trading-bot 38 | ``` 39 | 40 | 2. Install the required dependencies: 41 | 42 | ```bash 43 | pip install -r requirements.txt 44 | ``` 45 | 46 | 3. Configure the bot with your trading preferences: 47 | 48 | - Set up your API keys from your trading platform (e.g., Binance, Coinbase). 49 | - Edit the configuration file (`config.json` or `.env`) with the necessary information. 50 | 51 | 4. Run the bot: 52 | 53 | ```bash 54 | python main.py 55 | ``` 56 | 57 | ## Usage 58 | 59 | Once the bot is set up, it will start analyzing the market data and executing trades automatically based on the selected strategy. You can monitor the trading process by checking the logs or using the web dashboard if applicable. 60 | 61 | ### Configuration 62 | 63 | The bot’s behavior can be configured by modifying the `config.json` file or environment variables. Common configurations include: 64 | 65 | - API keys 66 | - Trading pairs (e.g., BTC/USD) 67 | - Risk management settings (e.g., stop loss, take profit) 68 | - Timeframe for trading signals (e.g., 1 minute, 5 minutes) 69 | 70 | ## Contributing 71 | 72 | We welcome contributions! If you'd like to contribute to the development of PumpFun, please follow these steps: 73 | 74 | 1. Fork the repository. 75 | 2. Create a new branch (`git checkout -b feature-branch`). 76 | 3. Make your changes and commit them (`git commit -am 'Add new feature'`). 77 | 4. Push to your forked repository (`git push origin feature-branch`). 78 | 5. Open a pull request to the main repository. 79 | 80 | ## License 81 | 82 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 83 | 84 | ## Disclaimer 85 | 86 | Please note that the use of this trading bot carries inherent risks due to the volatility of the market. The creators of this bot are not responsible for any financial losses incurred through the use of this software. Use at your own risk. 87 | -------------------------------------------------------------------------------- /data.json: -------------------------------------------------------------------------------- 1 | [ 2 | "🚀 Just got my hands on some $BOB tokens on PumpFun! Can’t wait to see where this goes! 🌟", 3 | "💥 $BOB is on the rise! PumpFun is the place to be, folks! Don’t miss out! 📈", 4 | "🌈 Loving the community support for $BOB on PumpFun! Let's pump this together! 🙌", 5 | "🔊 Have you seen the potential of $BOB? PumpFun is the perfect platform to grow! 🌍", 6 | "🔥 The $BOB token is heating up! Join us on PumpFun for the ride! ⏳", 7 | "💎 Anyone else bullish on $BOB? PumpFun is buzzing with excitement! 🐝", 8 | "🚀 Just staked some $BOB on PumpFun! Who’s with me? Let’s skyrocket! 💸", 9 | "📊 Watching the charts for $BOB on PumpFun! The future looks bright, everyone! 🌞", 10 | "🎉 PumpFun + $BOB = success! Can't wait for the next pump! Let's go! 📅", 11 | "📈 If you're not on the $BOB train on PumpFun, what are you waiting for? All aboard! 🛤️", 12 | "Let's do it as end" 13 | ] -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bot", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@solana/web3.js": "^1.95.5", 9 | "axios": "^1.7.8", 10 | "bs58": "^6.0.0", 11 | "ts-node": "^10.9.2", 12 | "tweetnacl": "^1.0.3", 13 | "typescript": "^5.7.2" 14 | } 15 | }, 16 | "node_modules/@babel/runtime": { 17 | "version": "7.26.0", 18 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", 19 | "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", 20 | "license": "MIT", 21 | "dependencies": { 22 | "regenerator-runtime": "^0.14.0" 23 | }, 24 | "engines": { 25 | "node": ">=6.9.0" 26 | } 27 | }, 28 | "node_modules/@cspotcode/source-map-support": { 29 | "version": "0.8.1", 30 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 31 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 32 | "license": "MIT", 33 | "dependencies": { 34 | "@jridgewell/trace-mapping": "0.3.9" 35 | }, 36 | "engines": { 37 | "node": ">=12" 38 | } 39 | }, 40 | "node_modules/@jridgewell/resolve-uri": { 41 | "version": "3.1.2", 42 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 43 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 44 | "license": "MIT", 45 | "engines": { 46 | "node": ">=6.0.0" 47 | } 48 | }, 49 | "node_modules/@jridgewell/sourcemap-codec": { 50 | "version": "1.5.0", 51 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 52 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 53 | "license": "MIT" 54 | }, 55 | "node_modules/@jridgewell/trace-mapping": { 56 | "version": "0.3.9", 57 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 58 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 59 | "license": "MIT", 60 | "dependencies": { 61 | "@jridgewell/resolve-uri": "^3.0.3", 62 | "@jridgewell/sourcemap-codec": "^1.4.10" 63 | } 64 | }, 65 | "node_modules/@noble/curves": { 66 | "version": "1.7.0", 67 | "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", 68 | "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", 69 | "license": "MIT", 70 | "dependencies": { 71 | "@noble/hashes": "1.6.0" 72 | }, 73 | "engines": { 74 | "node": "^14.21.3 || >=16" 75 | }, 76 | "funding": { 77 | "url": "https://paulmillr.com/funding/" 78 | } 79 | }, 80 | "node_modules/@noble/curves/node_modules/@noble/hashes": { 81 | "version": "1.6.0", 82 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", 83 | "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", 84 | "license": "MIT", 85 | "engines": { 86 | "node": "^14.21.3 || >=16" 87 | }, 88 | "funding": { 89 | "url": "https://paulmillr.com/funding/" 90 | } 91 | }, 92 | "node_modules/@noble/hashes": { 93 | "version": "1.6.1", 94 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", 95 | "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", 96 | "license": "MIT", 97 | "engines": { 98 | "node": "^14.21.3 || >=16" 99 | }, 100 | "funding": { 101 | "url": "https://paulmillr.com/funding/" 102 | } 103 | }, 104 | "node_modules/@solana/buffer-layout": { 105 | "version": "4.0.1", 106 | "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", 107 | "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", 108 | "license": "MIT", 109 | "dependencies": { 110 | "buffer": "~6.0.3" 111 | }, 112 | "engines": { 113 | "node": ">=5.10" 114 | } 115 | }, 116 | "node_modules/@solana/web3.js": { 117 | "version": "1.95.5", 118 | "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.95.5.tgz", 119 | "integrity": "sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg==", 120 | "license": "MIT", 121 | "dependencies": { 122 | "@babel/runtime": "^7.25.0", 123 | "@noble/curves": "^1.4.2", 124 | "@noble/hashes": "^1.4.0", 125 | "@solana/buffer-layout": "^4.0.1", 126 | "agentkeepalive": "^4.5.0", 127 | "bigint-buffer": "^1.1.5", 128 | "bn.js": "^5.2.1", 129 | "borsh": "^0.7.0", 130 | "bs58": "^4.0.1", 131 | "buffer": "6.0.3", 132 | "fast-stable-stringify": "^1.0.0", 133 | "jayson": "^4.1.1", 134 | "node-fetch": "^2.7.0", 135 | "rpc-websockets": "^9.0.2", 136 | "superstruct": "^2.0.2" 137 | } 138 | }, 139 | "node_modules/@solana/web3.js/node_modules/base-x": { 140 | "version": "3.0.10", 141 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", 142 | "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", 143 | "license": "MIT", 144 | "dependencies": { 145 | "safe-buffer": "^5.0.1" 146 | } 147 | }, 148 | "node_modules/@solana/web3.js/node_modules/bs58": { 149 | "version": "4.0.1", 150 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", 151 | "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", 152 | "license": "MIT", 153 | "dependencies": { 154 | "base-x": "^3.0.2" 155 | } 156 | }, 157 | "node_modules/@swc/helpers": { 158 | "version": "0.5.15", 159 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", 160 | "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", 161 | "license": "Apache-2.0", 162 | "dependencies": { 163 | "tslib": "^2.8.0" 164 | } 165 | }, 166 | "node_modules/@tsconfig/node10": { 167 | "version": "1.0.11", 168 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", 169 | "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", 170 | "license": "MIT" 171 | }, 172 | "node_modules/@tsconfig/node12": { 173 | "version": "1.0.11", 174 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", 175 | "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", 176 | "license": "MIT" 177 | }, 178 | "node_modules/@tsconfig/node14": { 179 | "version": "1.0.3", 180 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", 181 | "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", 182 | "license": "MIT" 183 | }, 184 | "node_modules/@tsconfig/node16": { 185 | "version": "1.0.4", 186 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", 187 | "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", 188 | "license": "MIT" 189 | }, 190 | "node_modules/@types/connect": { 191 | "version": "3.4.38", 192 | "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", 193 | "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", 194 | "license": "MIT", 195 | "dependencies": { 196 | "@types/node": "*" 197 | } 198 | }, 199 | "node_modules/@types/node": { 200 | "version": "12.20.55", 201 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", 202 | "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", 203 | "license": "MIT" 204 | }, 205 | "node_modules/@types/uuid": { 206 | "version": "8.3.4", 207 | "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", 208 | "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", 209 | "license": "MIT" 210 | }, 211 | "node_modules/@types/ws": { 212 | "version": "7.4.7", 213 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", 214 | "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", 215 | "license": "MIT", 216 | "dependencies": { 217 | "@types/node": "*" 218 | } 219 | }, 220 | "node_modules/acorn": { 221 | "version": "8.14.0", 222 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 223 | "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 224 | "license": "MIT", 225 | "bin": { 226 | "acorn": "bin/acorn" 227 | }, 228 | "engines": { 229 | "node": ">=0.4.0" 230 | } 231 | }, 232 | "node_modules/acorn-walk": { 233 | "version": "8.3.4", 234 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", 235 | "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", 236 | "license": "MIT", 237 | "dependencies": { 238 | "acorn": "^8.11.0" 239 | }, 240 | "engines": { 241 | "node": ">=0.4.0" 242 | } 243 | }, 244 | "node_modules/agentkeepalive": { 245 | "version": "4.5.0", 246 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", 247 | "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", 248 | "license": "MIT", 249 | "dependencies": { 250 | "humanize-ms": "^1.2.1" 251 | }, 252 | "engines": { 253 | "node": ">= 8.0.0" 254 | } 255 | }, 256 | "node_modules/arg": { 257 | "version": "4.1.3", 258 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 259 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 260 | "license": "MIT" 261 | }, 262 | "node_modules/asynckit": { 263 | "version": "0.4.0", 264 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 265 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 266 | "license": "MIT" 267 | }, 268 | "node_modules/axios": { 269 | "version": "1.7.8", 270 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.8.tgz", 271 | "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", 272 | "license": "MIT", 273 | "dependencies": { 274 | "follow-redirects": "^1.15.6", 275 | "form-data": "^4.0.0", 276 | "proxy-from-env": "^1.1.0" 277 | } 278 | }, 279 | "node_modules/base-x": { 280 | "version": "5.0.0", 281 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.0.tgz", 282 | "integrity": "sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==", 283 | "license": "MIT" 284 | }, 285 | "node_modules/base64-js": { 286 | "version": "1.5.1", 287 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 288 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 289 | "funding": [ 290 | { 291 | "type": "github", 292 | "url": "https://github.com/sponsors/feross" 293 | }, 294 | { 295 | "type": "patreon", 296 | "url": "https://www.patreon.com/feross" 297 | }, 298 | { 299 | "type": "consulting", 300 | "url": "https://feross.org/support" 301 | } 302 | ], 303 | "license": "MIT" 304 | }, 305 | "node_modules/bigint-buffer": { 306 | "version": "1.1.5", 307 | "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", 308 | "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==", 309 | "hasInstallScript": true, 310 | "license": "Apache-2.0", 311 | "dependencies": { 312 | "bindings": "^1.3.0" 313 | }, 314 | "engines": { 315 | "node": ">= 10.0.0" 316 | } 317 | }, 318 | "node_modules/bindings": { 319 | "version": "1.5.0", 320 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 321 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 322 | "license": "MIT", 323 | "dependencies": { 324 | "file-uri-to-path": "1.0.0" 325 | } 326 | }, 327 | "node_modules/bn.js": { 328 | "version": "5.2.1", 329 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", 330 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", 331 | "license": "MIT" 332 | }, 333 | "node_modules/borsh": { 334 | "version": "0.7.0", 335 | "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz", 336 | "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==", 337 | "license": "Apache-2.0", 338 | "dependencies": { 339 | "bn.js": "^5.2.0", 340 | "bs58": "^4.0.0", 341 | "text-encoding-utf-8": "^1.0.2" 342 | } 343 | }, 344 | "node_modules/borsh/node_modules/base-x": { 345 | "version": "3.0.10", 346 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", 347 | "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", 348 | "license": "MIT", 349 | "dependencies": { 350 | "safe-buffer": "^5.0.1" 351 | } 352 | }, 353 | "node_modules/borsh/node_modules/bs58": { 354 | "version": "4.0.1", 355 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", 356 | "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", 357 | "license": "MIT", 358 | "dependencies": { 359 | "base-x": "^3.0.2" 360 | } 361 | }, 362 | "node_modules/bs58": { 363 | "version": "6.0.0", 364 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", 365 | "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", 366 | "license": "MIT", 367 | "dependencies": { 368 | "base-x": "^5.0.0" 369 | } 370 | }, 371 | "node_modules/buffer": { 372 | "version": "6.0.3", 373 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 374 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 375 | "funding": [ 376 | { 377 | "type": "github", 378 | "url": "https://github.com/sponsors/feross" 379 | }, 380 | { 381 | "type": "patreon", 382 | "url": "https://www.patreon.com/feross" 383 | }, 384 | { 385 | "type": "consulting", 386 | "url": "https://feross.org/support" 387 | } 388 | ], 389 | "license": "MIT", 390 | "dependencies": { 391 | "base64-js": "^1.3.1", 392 | "ieee754": "^1.2.1" 393 | } 394 | }, 395 | "node_modules/bufferutil": { 396 | "version": "4.0.8", 397 | "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", 398 | "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", 399 | "hasInstallScript": true, 400 | "license": "MIT", 401 | "optional": true, 402 | "dependencies": { 403 | "node-gyp-build": "^4.3.0" 404 | }, 405 | "engines": { 406 | "node": ">=6.14.2" 407 | } 408 | }, 409 | "node_modules/combined-stream": { 410 | "version": "1.0.8", 411 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 412 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 413 | "license": "MIT", 414 | "dependencies": { 415 | "delayed-stream": "~1.0.0" 416 | }, 417 | "engines": { 418 | "node": ">= 0.8" 419 | } 420 | }, 421 | "node_modules/commander": { 422 | "version": "2.20.3", 423 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 424 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 425 | "license": "MIT" 426 | }, 427 | "node_modules/create-require": { 428 | "version": "1.1.1", 429 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 430 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 431 | "license": "MIT" 432 | }, 433 | "node_modules/delay": { 434 | "version": "5.0.0", 435 | "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", 436 | "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", 437 | "license": "MIT", 438 | "engines": { 439 | "node": ">=10" 440 | }, 441 | "funding": { 442 | "url": "https://github.com/sponsors/sindresorhus" 443 | } 444 | }, 445 | "node_modules/delayed-stream": { 446 | "version": "1.0.0", 447 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 448 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 449 | "license": "MIT", 450 | "engines": { 451 | "node": ">=0.4.0" 452 | } 453 | }, 454 | "node_modules/diff": { 455 | "version": "4.0.2", 456 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 457 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 458 | "license": "BSD-3-Clause", 459 | "engines": { 460 | "node": ">=0.3.1" 461 | } 462 | }, 463 | "node_modules/es6-promise": { 464 | "version": "4.2.8", 465 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", 466 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", 467 | "license": "MIT" 468 | }, 469 | "node_modules/es6-promisify": { 470 | "version": "5.0.0", 471 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", 472 | "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", 473 | "license": "MIT", 474 | "dependencies": { 475 | "es6-promise": "^4.0.3" 476 | } 477 | }, 478 | "node_modules/eventemitter3": { 479 | "version": "5.0.1", 480 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 481 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", 482 | "license": "MIT" 483 | }, 484 | "node_modules/eyes": { 485 | "version": "0.1.8", 486 | "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", 487 | "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", 488 | "engines": { 489 | "node": "> 0.1.90" 490 | } 491 | }, 492 | "node_modules/fast-stable-stringify": { 493 | "version": "1.0.0", 494 | "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", 495 | "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==", 496 | "license": "MIT" 497 | }, 498 | "node_modules/file-uri-to-path": { 499 | "version": "1.0.0", 500 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 501 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 502 | "license": "MIT" 503 | }, 504 | "node_modules/follow-redirects": { 505 | "version": "1.15.9", 506 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", 507 | "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", 508 | "funding": [ 509 | { 510 | "type": "individual", 511 | "url": "https://github.com/sponsors/RubenVerborgh" 512 | } 513 | ], 514 | "license": "MIT", 515 | "engines": { 516 | "node": ">=4.0" 517 | }, 518 | "peerDependenciesMeta": { 519 | "debug": { 520 | "optional": true 521 | } 522 | } 523 | }, 524 | "node_modules/form-data": { 525 | "version": "4.0.1", 526 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", 527 | "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", 528 | "license": "MIT", 529 | "dependencies": { 530 | "asynckit": "^0.4.0", 531 | "combined-stream": "^1.0.8", 532 | "mime-types": "^2.1.12" 533 | }, 534 | "engines": { 535 | "node": ">= 6" 536 | } 537 | }, 538 | "node_modules/humanize-ms": { 539 | "version": "1.2.1", 540 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", 541 | "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", 542 | "license": "MIT", 543 | "dependencies": { 544 | "ms": "^2.0.0" 545 | } 546 | }, 547 | "node_modules/ieee754": { 548 | "version": "1.2.1", 549 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 550 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 551 | "funding": [ 552 | { 553 | "type": "github", 554 | "url": "https://github.com/sponsors/feross" 555 | }, 556 | { 557 | "type": "patreon", 558 | "url": "https://www.patreon.com/feross" 559 | }, 560 | { 561 | "type": "consulting", 562 | "url": "https://feross.org/support" 563 | } 564 | ], 565 | "license": "BSD-3-Clause" 566 | }, 567 | "node_modules/isomorphic-ws": { 568 | "version": "4.0.1", 569 | "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", 570 | "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", 571 | "license": "MIT", 572 | "peerDependencies": { 573 | "ws": "*" 574 | } 575 | }, 576 | "node_modules/jayson": { 577 | "version": "4.1.3", 578 | "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.1.3.tgz", 579 | "integrity": "sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==", 580 | "license": "MIT", 581 | "dependencies": { 582 | "@types/connect": "^3.4.33", 583 | "@types/node": "^12.12.54", 584 | "@types/ws": "^7.4.4", 585 | "commander": "^2.20.3", 586 | "delay": "^5.0.0", 587 | "es6-promisify": "^5.0.0", 588 | "eyes": "^0.1.8", 589 | "isomorphic-ws": "^4.0.1", 590 | "json-stringify-safe": "^5.0.1", 591 | "JSONStream": "^1.3.5", 592 | "uuid": "^8.3.2", 593 | "ws": "^7.5.10" 594 | }, 595 | "bin": { 596 | "jayson": "bin/jayson.js" 597 | }, 598 | "engines": { 599 | "node": ">=8" 600 | } 601 | }, 602 | "node_modules/json-stringify-safe": { 603 | "version": "5.0.1", 604 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 605 | "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", 606 | "license": "ISC" 607 | }, 608 | "node_modules/jsonparse": { 609 | "version": "1.3.1", 610 | "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", 611 | "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", 612 | "engines": [ 613 | "node >= 0.2.0" 614 | ], 615 | "license": "MIT" 616 | }, 617 | "node_modules/JSONStream": { 618 | "version": "1.3.5", 619 | "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", 620 | "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", 621 | "license": "(MIT OR Apache-2.0)", 622 | "dependencies": { 623 | "jsonparse": "^1.2.0", 624 | "through": ">=2.2.7 <3" 625 | }, 626 | "bin": { 627 | "JSONStream": "bin.js" 628 | }, 629 | "engines": { 630 | "node": "*" 631 | } 632 | }, 633 | "node_modules/make-error": { 634 | "version": "1.3.6", 635 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 636 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 637 | "license": "ISC" 638 | }, 639 | "node_modules/mime-db": { 640 | "version": "1.52.0", 641 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 642 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 643 | "license": "MIT", 644 | "engines": { 645 | "node": ">= 0.6" 646 | } 647 | }, 648 | "node_modules/mime-types": { 649 | "version": "2.1.35", 650 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 651 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 652 | "license": "MIT", 653 | "dependencies": { 654 | "mime-db": "1.52.0" 655 | }, 656 | "engines": { 657 | "node": ">= 0.6" 658 | } 659 | }, 660 | "node_modules/ms": { 661 | "version": "2.1.3", 662 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 663 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 664 | "license": "MIT" 665 | }, 666 | "node_modules/node-fetch": { 667 | "version": "2.7.0", 668 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 669 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 670 | "license": "MIT", 671 | "dependencies": { 672 | "whatwg-url": "^5.0.0" 673 | }, 674 | "engines": { 675 | "node": "4.x || >=6.0.0" 676 | }, 677 | "peerDependencies": { 678 | "encoding": "^0.1.0" 679 | }, 680 | "peerDependenciesMeta": { 681 | "encoding": { 682 | "optional": true 683 | } 684 | } 685 | }, 686 | "node_modules/node-gyp-build": { 687 | "version": "4.8.4", 688 | "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", 689 | "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", 690 | "license": "MIT", 691 | "optional": true, 692 | "bin": { 693 | "node-gyp-build": "bin.js", 694 | "node-gyp-build-optional": "optional.js", 695 | "node-gyp-build-test": "build-test.js" 696 | } 697 | }, 698 | "node_modules/proxy-from-env": { 699 | "version": "1.1.0", 700 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 701 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", 702 | "license": "MIT" 703 | }, 704 | "node_modules/regenerator-runtime": { 705 | "version": "0.14.1", 706 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", 707 | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", 708 | "license": "MIT" 709 | }, 710 | "node_modules/rpc-websockets": { 711 | "version": "9.0.4", 712 | "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-9.0.4.tgz", 713 | "integrity": "sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==", 714 | "license": "LGPL-3.0-only", 715 | "dependencies": { 716 | "@swc/helpers": "^0.5.11", 717 | "@types/uuid": "^8.3.4", 718 | "@types/ws": "^8.2.2", 719 | "buffer": "^6.0.3", 720 | "eventemitter3": "^5.0.1", 721 | "uuid": "^8.3.2", 722 | "ws": "^8.5.0" 723 | }, 724 | "funding": { 725 | "type": "paypal", 726 | "url": "https://paypal.me/kozjak" 727 | }, 728 | "optionalDependencies": { 729 | "bufferutil": "^4.0.1", 730 | "utf-8-validate": "^5.0.2" 731 | } 732 | }, 733 | "node_modules/rpc-websockets/node_modules/@types/ws": { 734 | "version": "8.5.13", 735 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", 736 | "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", 737 | "license": "MIT", 738 | "dependencies": { 739 | "@types/node": "*" 740 | } 741 | }, 742 | "node_modules/rpc-websockets/node_modules/ws": { 743 | "version": "8.18.0", 744 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", 745 | "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", 746 | "license": "MIT", 747 | "engines": { 748 | "node": ">=10.0.0" 749 | }, 750 | "peerDependencies": { 751 | "bufferutil": "^4.0.1", 752 | "utf-8-validate": ">=5.0.2" 753 | }, 754 | "peerDependenciesMeta": { 755 | "bufferutil": { 756 | "optional": true 757 | }, 758 | "utf-8-validate": { 759 | "optional": true 760 | } 761 | } 762 | }, 763 | "node_modules/safe-buffer": { 764 | "version": "5.2.1", 765 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 766 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 767 | "funding": [ 768 | { 769 | "type": "github", 770 | "url": "https://github.com/sponsors/feross" 771 | }, 772 | { 773 | "type": "patreon", 774 | "url": "https://www.patreon.com/feross" 775 | }, 776 | { 777 | "type": "consulting", 778 | "url": "https://feross.org/support" 779 | } 780 | ], 781 | "license": "MIT" 782 | }, 783 | "node_modules/superstruct": { 784 | "version": "2.0.2", 785 | "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-2.0.2.tgz", 786 | "integrity": "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==", 787 | "license": "MIT", 788 | "engines": { 789 | "node": ">=14.0.0" 790 | } 791 | }, 792 | "node_modules/text-encoding-utf-8": { 793 | "version": "1.0.2", 794 | "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz", 795 | "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" 796 | }, 797 | "node_modules/through": { 798 | "version": "2.3.8", 799 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 800 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", 801 | "license": "MIT" 802 | }, 803 | "node_modules/tr46": { 804 | "version": "0.0.3", 805 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 806 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", 807 | "license": "MIT" 808 | }, 809 | "node_modules/ts-node": { 810 | "version": "10.9.2", 811 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", 812 | "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", 813 | "license": "MIT", 814 | "dependencies": { 815 | "@cspotcode/source-map-support": "^0.8.0", 816 | "@tsconfig/node10": "^1.0.7", 817 | "@tsconfig/node12": "^1.0.7", 818 | "@tsconfig/node14": "^1.0.0", 819 | "@tsconfig/node16": "^1.0.2", 820 | "acorn": "^8.4.1", 821 | "acorn-walk": "^8.1.1", 822 | "arg": "^4.1.0", 823 | "create-require": "^1.1.0", 824 | "diff": "^4.0.1", 825 | "make-error": "^1.1.1", 826 | "v8-compile-cache-lib": "^3.0.1", 827 | "yn": "3.1.1" 828 | }, 829 | "bin": { 830 | "ts-node": "dist/bin.js", 831 | "ts-node-cwd": "dist/bin-cwd.js", 832 | "ts-node-esm": "dist/bin-esm.js", 833 | "ts-node-script": "dist/bin-script.js", 834 | "ts-node-transpile-only": "dist/bin-transpile.js", 835 | "ts-script": "dist/bin-script-deprecated.js" 836 | }, 837 | "peerDependencies": { 838 | "@swc/core": ">=1.2.50", 839 | "@swc/wasm": ">=1.2.50", 840 | "@types/node": "*", 841 | "typescript": ">=2.7" 842 | }, 843 | "peerDependenciesMeta": { 844 | "@swc/core": { 845 | "optional": true 846 | }, 847 | "@swc/wasm": { 848 | "optional": true 849 | } 850 | } 851 | }, 852 | "node_modules/tslib": { 853 | "version": "2.8.1", 854 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 855 | "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 856 | "license": "0BSD" 857 | }, 858 | "node_modules/tweetnacl": { 859 | "version": "1.0.3", 860 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", 861 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", 862 | "license": "Unlicense" 863 | }, 864 | "node_modules/typescript": { 865 | "version": "5.7.2", 866 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", 867 | "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", 868 | "license": "Apache-2.0", 869 | "bin": { 870 | "tsc": "bin/tsc", 871 | "tsserver": "bin/tsserver" 872 | }, 873 | "engines": { 874 | "node": ">=14.17" 875 | } 876 | }, 877 | "node_modules/utf-8-validate": { 878 | "version": "5.0.10", 879 | "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", 880 | "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", 881 | "hasInstallScript": true, 882 | "license": "MIT", 883 | "optional": true, 884 | "dependencies": { 885 | "node-gyp-build": "^4.3.0" 886 | }, 887 | "engines": { 888 | "node": ">=6.14.2" 889 | } 890 | }, 891 | "node_modules/uuid": { 892 | "version": "8.3.2", 893 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 894 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 895 | "license": "MIT", 896 | "bin": { 897 | "uuid": "dist/bin/uuid" 898 | } 899 | }, 900 | "node_modules/v8-compile-cache-lib": { 901 | "version": "3.0.1", 902 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", 903 | "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", 904 | "license": "MIT" 905 | }, 906 | "node_modules/webidl-conversions": { 907 | "version": "3.0.1", 908 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 909 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", 910 | "license": "BSD-2-Clause" 911 | }, 912 | "node_modules/whatwg-url": { 913 | "version": "5.0.0", 914 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 915 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 916 | "license": "MIT", 917 | "dependencies": { 918 | "tr46": "~0.0.3", 919 | "webidl-conversions": "^3.0.0" 920 | } 921 | }, 922 | "node_modules/ws": { 923 | "version": "7.5.10", 924 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", 925 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", 926 | "license": "MIT", 927 | "engines": { 928 | "node": ">=8.3.0" 929 | }, 930 | "peerDependencies": { 931 | "bufferutil": "^4.0.1", 932 | "utf-8-validate": "^5.0.2" 933 | }, 934 | "peerDependenciesMeta": { 935 | "bufferutil": { 936 | "optional": true 937 | }, 938 | "utf-8-validate": { 939 | "optional": true 940 | } 941 | } 942 | }, 943 | "node_modules/yn": { 944 | "version": "3.1.1", 945 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 946 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 947 | "license": "MIT", 948 | "engines": { 949 | "node": ">=6" 950 | } 951 | } 952 | } 953 | } 954 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pump.fun-comment-bot", 3 | "version": "1.0.0", 4 | "description": "This is comment bot which is running on pump.fun", 5 | "main": "index.ts", 6 | "dependencies": { 7 | "@solana/web3.js": "^1.95.5", 8 | "axios": "^1.7.8", 9 | "bs58": "^6.0.0", 10 | "chalk": "^5.4.1", 11 | "dotenv": "^16.4.7", 12 | "fs": "^0.0.1-security", 13 | "https-proxy-agent": "^7.0.6", 14 | "openai": "^4.77.0", 15 | "readline": "^1.3.0", 16 | "socks-proxy-agent": "^8.0.5", 17 | "ts-node": "^10.9.2", 18 | "tweetnacl": "^1.0.3", 19 | "typescript": "^5.7.2" 20 | }, 21 | "scripts": { 22 | "dev": "ts-node src/index.ts", 23 | "test": "ts-node src/test.ts" 24 | }, 25 | "keywords": [ 26 | "pumpfun", 27 | "comment", 28 | "bot", 29 | "solana", 30 | "dex" 31 | ], 32 | "author": "https://github.com/wizasol", 33 | "license": "ISC" 34 | } 35 | -------------------------------------------------------------------------------- /proxy_list.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_id": "677a8c546b79c1e0b5e26ac7", 4 | "ip": "123.30.154.171", 5 | "anonymityLevel": "elite", 6 | "asn": "AS135905", 7 | "city": "Hanoi", 8 | "country": "VN", 9 | "created_at": "2025-01-05T13:42:44.148Z", 10 | "google": false, 11 | "isp": "VietNam Post and Telecom Corporation", 12 | "lastChecked": 1736282180, 13 | "latency": 294.451, 14 | "org": "Vietnam Posts and Telecommunications Group", 15 | "port": "7777", 16 | "protocols": [ 17 | "http" 18 | ], 19 | "speed": 12111, 20 | "upTime": 100, 21 | "upTimeSuccessCount": 18, 22 | "upTimeTryCount": 18, 23 | "updated_at": "2025-01-07T20:36:20.212Z", 24 | "responseTime": 449 25 | }, 26 | { 27 | "_id": "677c760f6b79c1e0b5247ae8", 28 | "ip": "27.77.79.174", 29 | "anonymityLevel": "elite", 30 | "asn": "AS7552", 31 | "city": "Biên Hòa", 32 | "country": "VN", 33 | "created_at": "2025-01-07T00:32:15.899Z", 34 | "google": false, 35 | "isp": "Newass2011xDSLHCMC", 36 | "lastChecked": 1736282152, 37 | "latency": 197, 38 | "org": "", 39 | "port": "8118", 40 | "protocols": [ 41 | "http" 42 | ], 43 | "speed": 9007, 44 | "upTime": 100, 45 | "upTimeSuccessCount": 7, 46 | "upTimeTryCount": 7, 47 | "updated_at": "2025-01-07T20:35:52.108Z", 48 | "responseTime": 255 49 | }, 50 | { 51 | "_id": "677c0d066b79c1e0b515d21a", 52 | "ip": "112.78.39.252", 53 | "anonymityLevel": "transparent", 54 | "asn": "AS55666", 55 | "country": "ID", 56 | "created_at": "2025-01-06T17:03:06.060Z", 57 | "google": false, 58 | "lastChecked": 1736282122, 59 | "latency": 179.852, 60 | "org": "Gmedia ID Semarang", 61 | "port": "8080", 62 | "protocols": [ 63 | "http" 64 | ], 65 | "speed": 8397, 66 | "upTime": 100, 67 | "upTimeSuccessCount": 9, 68 | "upTimeTryCount": 9, 69 | "updated_at": "2025-01-07T20:35:22.523Z", 70 | "city": "Semarang", 71 | "isp": "PT Media Sarana Data", 72 | "responseTime": 403 73 | }, 74 | { 75 | "_id": "677c74506b79c1e0b5244335", 76 | "ip": "114.218.77.228", 77 | "anonymityLevel": "elite", 78 | "asn": "AS140292", 79 | "city": "Nanjing", 80 | "country": "CN", 81 | "created_at": "2025-01-07T00:24:48.581Z", 82 | "google": false, 83 | "isp": "China Telecom", 84 | "lastChecked": 1736282057, 85 | "latency": 225.778, 86 | "org": "Chinanet JS", 87 | "port": "8089", 88 | "protocols": [ 89 | "http" 90 | ], 91 | "speed": 10410, 92 | "upTime": 100, 93 | "upTimeSuccessCount": 7, 94 | "upTimeTryCount": 7, 95 | "updated_at": "2025-01-07T20:34:17.021Z", 96 | "responseTime": 273 97 | }, 98 | { 99 | "_id": "676d10a66b79c1e0b506fffc", 100 | "ip": "136.243.82.121", 101 | "anonymityLevel": "elite", 102 | "asn": "AS24940", 103 | "country": "DE", 104 | "created_at": "2024-12-26T08:15:34.463Z", 105 | "google": false, 106 | "lastChecked": 1736282000, 107 | "latency": 22.224, 108 | "org": "Hetzner", 109 | "port": "1082", 110 | "protocols": [ 111 | "http" 112 | ], 113 | "speed": 19696, 114 | "upTime": 100, 115 | "upTimeSuccessCount": 93, 116 | "upTimeTryCount": 93, 117 | "updated_at": "2025-01-07T20:33:20.409Z", 118 | "city": "Falkenstein", 119 | "isp": "Hetzner Online GmbH", 120 | "responseTime": 401 121 | }, 122 | { 123 | "_id": "677a8ba16b79c1e0b5e250e5", 124 | "ip": "109.61.42.223", 125 | "anonymityLevel": "elite", 126 | "asn": "AS199524", 127 | "city": "Dubai", 128 | "country": "AE", 129 | "created_at": "2025-01-05T13:39:45.505Z", 130 | "google": false, 131 | "isp": "G-Core Labs S.A.", 132 | "lastChecked": 1736281855, 133 | "latency": 183.702, 134 | "org": "GCL", 135 | "port": "80", 136 | "protocols": [ 137 | "http" 138 | ], 139 | "speed": 7896, 140 | "upTime": 94.73684210526315, 141 | "upTimeSuccessCount": 18, 142 | "upTimeTryCount": 19, 143 | "updated_at": "2025-01-07T20:30:55.107Z", 144 | "responseTime": 307 145 | }, 146 | { 147 | "_id": "677a8ee16b79c1e0b5e2bd5a", 148 | "ip": "27.79.235.193", 149 | "anonymityLevel": "elite", 150 | "asn": "AS7552", 151 | "city": "Hanoi", 152 | "country": "VN", 153 | "created_at": "2025-01-05T13:53:37.199Z", 154 | "google": false, 155 | "isp": "Viettel Corporation", 156 | "lastChecked": 1736281745, 157 | "latency": 292.556, 158 | "org": "VIETEL", 159 | "port": "16000", 160 | "protocols": [ 161 | "http" 162 | ], 163 | "speed": 7409, 164 | "upTime": 100, 165 | "upTimeSuccessCount": 17, 166 | "upTimeTryCount": 17, 167 | "updated_at": "2025-01-07T20:29:05.515Z", 168 | "responseTime": 338 169 | }, 170 | { 171 | "_id": "677c6f296b79c1e0b5237f32", 172 | "ip": "200.10.31.220", 173 | "anonymityLevel": "transparent", 174 | "asn": "AS270075", 175 | "city": "Pereira", 176 | "country": "CO", 177 | "created_at": "2025-01-07T00:02:49.373Z", 178 | "google": false, 179 | "isp": "Super Redes S.A.S", 180 | "lastChecked": 1736281734, 181 | "latency": 283.646, 182 | "org": "Super Redes", 183 | "port": "999", 184 | "protocols": [ 185 | "http" 186 | ], 187 | "speed": 14893, 188 | "upTime": 100, 189 | "upTimeSuccessCount": 7, 190 | "upTimeTryCount": 7, 191 | "updated_at": "2025-01-07T20:28:54.609Z", 192 | "responseTime": 327 193 | }, 194 | { 195 | "_id": "677a8cee6b79c1e0b5e280cc", 196 | "ip": "91.197.1.203", 197 | "anonymityLevel": "elite", 198 | "asn": "AS42532", 199 | "city": "Riga", 200 | "country": "LV", 201 | "created_at": "2025-01-05T13:45:18.831Z", 202 | "google": false, 203 | "isp": "SIA VEESP", 204 | "lastChecked": 1736281727, 205 | "latency": 36.732, 206 | "org": "SIA VEESP", 207 | "port": "8888", 208 | "protocols": [ 209 | "http" 210 | ], 211 | "speed": 11900, 212 | "upTime": 100, 213 | "upTimeSuccessCount": 18, 214 | "upTimeTryCount": 18, 215 | "updated_at": "2025-01-07T20:28:47.208Z", 216 | "responseTime": 1013 217 | }, 218 | { 219 | "_id": "677c72726b79c1e0b524016e", 220 | "ip": "58.136.170.59", 221 | "anonymityLevel": "transparent", 222 | "asn": "AS133481", 223 | "city": "Bangkok", 224 | "country": "TH", 225 | "created_at": "2025-01-07T00:16:50.008Z", 226 | "google": false, 227 | "isp": "AIS-Fibre", 228 | "lastChecked": 1736281700, 229 | "latency": 200.447, 230 | "org": "", 231 | "port": "8080", 232 | "protocols": [ 233 | "http" 234 | ], 235 | "speed": 12603, 236 | "upTime": 100, 237 | "upTimeSuccessCount": 7, 238 | "upTimeTryCount": 7, 239 | "updated_at": "2025-01-07T20:28:20.812Z", 240 | "responseTime": 275 241 | }, 242 | { 243 | "_id": "677a8bd56b79c1e0b5e25953", 244 | "ip": "191.252.113.131", 245 | "anonymityLevel": "elite", 246 | "asn": "AS27715", 247 | "city": "São Paulo", 248 | "country": "BR", 249 | "created_at": "2025-01-05T13:40:37.024Z", 250 | "google": false, 251 | "isp": "Locaweb Serviços de Internet S/A", 252 | "lastChecked": 1736281693, 253 | "latency": 195.143, 254 | "org": "Locaweb Serviços de Internet S/A", 255 | "port": "80", 256 | "protocols": [ 257 | "http" 258 | ], 259 | "speed": 13905, 260 | "upTime": 100, 261 | "upTimeSuccessCount": 18, 262 | "upTimeTryCount": 18, 263 | "updated_at": "2025-01-07T20:28:13.511Z", 264 | "responseTime": 445 265 | }, 266 | { 267 | "_id": "6747b29c6b79c1e0b50e3b14", 268 | "ip": "157.66.16.33", 269 | "anonymityLevel": "anonymous", 270 | "asn": "AS136089", 271 | "city": "Indramayu", 272 | "country": "ID", 273 | "created_at": "2024-11-28T00:00:28.549Z", 274 | "google": false, 275 | "isp": "PT Mitra Mandiri Network", 276 | "lastChecked": 1736281680, 277 | "latency": 198.769, 278 | "org": "PT Mitra Mandiri Network", 279 | "port": "8070", 280 | "protocols": [ 281 | "http" 282 | ], 283 | "speed": 25501, 284 | "upTime": 99.36305732484077, 285 | "upTimeSuccessCount": 312, 286 | "upTimeTryCount": 314, 287 | "updated_at": "2025-01-07T20:28:00.719Z", 288 | "responseTime": 686 289 | }, 290 | { 291 | "_id": "677c716e6b79c1e0b523d936", 292 | "ip": "182.253.159.210", 293 | "anonymityLevel": "transparent", 294 | "asn": "AS17451", 295 | "city": "Jakarta", 296 | "country": "ID", 297 | "created_at": "2025-01-07T00:12:30.682Z", 298 | "google": false, 299 | "isp": "BIZNET", 300 | "lastChecked": 1736281655, 301 | "latency": 184.154, 302 | "org": "", 303 | "port": "8080", 304 | "protocols": [ 305 | "http" 306 | ], 307 | "speed": 11189, 308 | "upTime": 100, 309 | "upTimeSuccessCount": 7, 310 | "upTimeTryCount": 7, 311 | "updated_at": "2025-01-07T20:27:35.507Z", 312 | "responseTime": 282 313 | }, 314 | { 315 | "_id": "677bbc4f6b79c1e0b509d896", 316 | "ip": "179.49.117.19", 317 | "anonymityLevel": "transparent", 318 | "asn": "AS262234", 319 | "country": "HN", 320 | "created_at": "2025-01-06T11:19:43.556Z", 321 | "google": false, 322 | "lastChecked": 1736281655, 323 | "latency": 131.747, 324 | "org": "Asociacion De Servicio De Internet S. De RL", 325 | "port": "999", 326 | "protocols": [ 327 | "http" 328 | ], 329 | "speed": 11299, 330 | "upTime": 100, 331 | "upTimeSuccessCount": 10, 332 | "upTimeTryCount": 10, 333 | "updated_at": "2025-01-07T20:27:35.506Z", 334 | "city": "Tegucigalpa", 335 | "isp": "Asociacion De Servicio De Internet S. De RL.", 336 | "responseTime": 1315 337 | }, 338 | { 339 | "_id": "677c73316b79c1e0b5241c4b", 340 | "ip": "103.85.183.30", 341 | "anonymityLevel": "transparent", 342 | "asn": "AS134952", 343 | "city": "Dhaka", 344 | "country": "BD", 345 | "created_at": "2025-01-07T00:20:01.085Z", 346 | "google": false, 347 | "isp": "Smart Online", 348 | "lastChecked": 1736281623, 349 | "latency": 190.852, 350 | "org": "Leased to Airnet Communications", 351 | "port": "4995", 352 | "protocols": [ 353 | "http" 354 | ], 355 | "speed": 5691, 356 | "upTime": 100, 357 | "upTimeSuccessCount": 7, 358 | "upTimeTryCount": 7, 359 | "updated_at": "2025-01-07T20:27:03.613Z", 360 | "responseTime": 323 361 | }, 362 | { 363 | "_id": "677c71b96b79c1e0b523e611", 364 | "ip": "181.114.7.114", 365 | "anonymityLevel": "transparent", 366 | "asn": "AS52286", 367 | "city": "Guatemala City", 368 | "country": "GT", 369 | "created_at": "2025-01-07T00:13:45.306Z", 370 | "google": false, 371 | "isp": "Columbus Networks Guatemala", 372 | "lastChecked": 1736281592, 373 | "latency": 127.231, 374 | "org": "LIBERTY NETWORKS GUATEMALA, LIMITADA", 375 | "port": "999", 376 | "protocols": [ 377 | "http" 378 | ], 379 | "speed": 8908, 380 | "upTime": 100, 381 | "upTimeSuccessCount": 7, 382 | "upTimeTryCount": 7, 383 | "updated_at": "2025-01-07T20:26:32.706Z", 384 | "responseTime": 269 385 | }, 386 | { 387 | "_id": "67668ada6b79c1e0b51ea7f6", 388 | "ip": "185.142.131.113", 389 | "anonymityLevel": "transparent", 390 | "asn": "AS50666", 391 | "city": "Caldas da Rainha", 392 | "country": "PT", 393 | "created_at": "2024-12-21T09:31:06.969Z", 394 | "google": false, 395 | "isp": "LigaT Telecom Sociedade Unipessoal LDA", 396 | "lastChecked": 1736281545, 397 | "latency": 47.293, 398 | "org": "LigaT Telecom Sociedade Unipessoal LDA", 399 | "port": "8080", 400 | "protocols": [ 401 | "http" 402 | ], 403 | "speed": 5300, 404 | "upTime": 100, 405 | "upTimeSuccessCount": 131, 406 | "upTimeTryCount": 131, 407 | "updated_at": "2025-01-07T20:25:45.116Z", 408 | "responseTime": 1261 409 | }, 410 | { 411 | "_id": "677a8bfb6b79c1e0b5e25d58", 412 | "ip": "206.189.41.13", 413 | "anonymityLevel": "elite", 414 | "asn": "AS14061", 415 | "city": "Singapore", 416 | "country": "SG", 417 | "created_at": "2025-01-05T13:41:15.328Z", 418 | "google": false, 419 | "isp": "DigitalOcean, LLC", 420 | "lastChecked": 1736281533, 421 | "latency": 188.821, 422 | "org": "DigitalOcean, LLC", 423 | "port": "8888", 424 | "protocols": [ 425 | "http" 426 | ], 427 | "speed": 13097, 428 | "upTime": 66.66666666666666, 429 | "upTimeSuccessCount": 12, 430 | "upTimeTryCount": 18, 431 | "updated_at": "2025-01-07T20:25:33.320Z", 432 | "responseTime": 492 433 | }, 434 | { 435 | "_id": "6767e8f16b79c1e0b54f9d40", 436 | "ip": "103.135.24.109", 437 | "anonymityLevel": "transparent", 438 | "asn": "AS38320", 439 | "city": "Denpasar", 440 | "country": "ID", 441 | "created_at": "2024-12-22T10:24:49.842Z", 442 | "google": false, 443 | "isp": "PT Maxindo Mitra Solusi", 444 | "lastChecked": 1736281465, 445 | "latency": 204.856, 446 | "org": "PT. TRI KERISNA UTAMA", 447 | "port": "57413", 448 | "protocols": [ 449 | "http" 450 | ], 451 | "speed": 7092, 452 | "upTime": 100, 453 | "upTimeSuccessCount": 127, 454 | "upTimeTryCount": 127, 455 | "updated_at": "2025-01-07T20:24:25.005Z", 456 | "responseTime": 515 457 | }, 458 | { 459 | "_id": "677cef156b79c1e0b5349d3f", 460 | "ip": "186.96.74.147", 461 | "anonymityLevel": "transparent", 462 | "asn": "AS394684", 463 | "city": "Caracas", 464 | "country": "VE", 465 | "created_at": "2025-01-07T09:08:37.036Z", 466 | "google": false, 467 | "isp": "Gold Data USA Inc", 468 | "lastChecked": 1736281464, 469 | "latency": 191.262, 470 | "org": "Gold Data C.A", 471 | "port": "999", 472 | "protocols": [ 473 | "http" 474 | ], 475 | "speed": 7193, 476 | "upTime": 100, 477 | "upTimeSuccessCount": 4, 478 | "upTimeTryCount": 4, 479 | "updated_at": "2025-01-07T20:24:24.922Z", 480 | "responseTime": 2290 481 | }, 482 | { 483 | "_id": "677a8b0b6b79c1e0b5e23b35", 484 | "ip": "202.6.233.133", 485 | "anonymityLevel": "elite", 486 | "asn": "AS23756", 487 | "country": "ID", 488 | "created_at": "2025-01-05T13:37:15.358Z", 489 | "google": false, 490 | "lastChecked": 1736281464, 491 | "latency": 192.772, 492 | "org": "", 493 | "port": "80", 494 | "protocols": [ 495 | "http" 496 | ], 497 | "speed": 7497, 498 | "upTime": 94.73684210526315, 499 | "upTimeSuccessCount": 18, 500 | "upTimeTryCount": 19, 501 | "updated_at": "2025-01-07T20:24:24.920Z", 502 | "city": "Surabaya", 503 | "isp": "PT Padi Internet", 504 | "responseTime": 693 505 | }, 506 | { 507 | "_id": "677bee856b79c1e0b5118290", 508 | "ip": "113.160.132.195", 509 | "anonymityLevel": "elite", 510 | "asn": "AS45899", 511 | "country": "VN", 512 | "created_at": "2025-01-06T14:53:57.255Z", 513 | "google": false, 514 | "lastChecked": 1736281464, 515 | "latency": 253.018, 516 | "org": "Vietnam Posts and Telecommunications Group", 517 | "port": "8080", 518 | "protocols": [ 519 | "http" 520 | ], 521 | "speed": 7387, 522 | "upTime": 100, 523 | "upTimeSuccessCount": 10, 524 | "upTimeTryCount": 10, 525 | "updated_at": "2025-01-07T20:24:24.921Z", 526 | "city": "Hanoi", 527 | "isp": "VietNam Post and Telecom Corporation", 528 | "responseTime": 334 529 | }, 530 | { 531 | "_id": "677a8f696b79c1e0b5e2cd77", 532 | "ip": "27.79.196.228", 533 | "anonymityLevel": "elite", 534 | "asn": "AS7552", 535 | "city": "Hanoi", 536 | "country": "VN", 537 | "created_at": "2025-01-05T13:55:53.929Z", 538 | "google": false, 539 | "isp": "Viettel Corporation", 540 | "lastChecked": 1736281257, 541 | "latency": 283.629, 542 | "org": "VIETEL", 543 | "port": "16000", 544 | "protocols": [ 545 | "http" 546 | ], 547 | "speed": 9591, 548 | "upTime": 100, 549 | "upTimeSuccessCount": 18, 550 | "upTimeTryCount": 18, 551 | "updated_at": "2025-01-07T20:20:57.825Z", 552 | "responseTime": 399 553 | }, 554 | { 555 | "_id": "677bc79c6b79c1e0b50b9915", 556 | "ip": "180.112.180.131", 557 | "anonymityLevel": "elite", 558 | "asn": null, 559 | "country": "CN", 560 | "created_at": "2025-01-06T12:07:56.961Z", 561 | "google": false, 562 | "lastChecked": 1736281250, 563 | "latency": 204.249, 564 | "org": null, 565 | "port": "8089", 566 | "protocols": [ 567 | "http" 568 | ], 569 | "speed": 9907, 570 | "upTime": 100, 571 | "upTimeSuccessCount": 10, 572 | "upTimeTryCount": 10, 573 | "updated_at": "2025-01-07T20:20:50.723Z", 574 | "city": "Nanjing", 575 | "isp": "Chinanet", 576 | "responseTime": 3692 577 | }, 578 | { 579 | "_id": "677cf5276b79c1e0b5356d24", 580 | "ip": "162.241.207.217", 581 | "anonymityLevel": "elite", 582 | "asn": "AS46606", 583 | "city": "Salt Lake City", 584 | "country": "US", 585 | "created_at": "2025-01-07T09:34:31.318Z", 586 | "google": false, 587 | "isp": "Unified Layer", 588 | "lastChecked": 1736281250, 589 | "latency": 126.291, 590 | "org": "Unified Layer", 591 | "port": "80", 592 | "protocols": [ 593 | "http" 594 | ], 595 | "speed": 20604, 596 | "upTime": 100, 597 | "upTimeSuccessCount": 4, 598 | "upTimeTryCount": 4, 599 | "updated_at": "2025-01-07T20:20:50.419Z", 600 | "responseTime": 404 601 | }, 602 | { 603 | "_id": "677c70076b79c1e0b5239ee6", 604 | "ip": "67.43.227.229", 605 | "anonymityLevel": "elite", 606 | "asn": "AS36666", 607 | "city": "Montreal", 608 | "country": "CA", 609 | "created_at": "2025-01-07T00:06:31.368Z", 610 | "google": false, 611 | "isp": "GloboTech Communications", 612 | "lastChecked": 1736281150, 613 | "latency": 97.571, 614 | "org": "", 615 | "port": "1033", 616 | "protocols": [ 617 | "http" 618 | ], 619 | "speed": 9997, 620 | "upTime": 100, 621 | "upTimeSuccessCount": 7, 622 | "upTimeTryCount": 7, 623 | "updated_at": "2025-01-07T20:19:10.206Z", 624 | "responseTime": 273 625 | }, 626 | { 627 | "_id": "677a8d7b6b79c1e0b5e290b7", 628 | "ip": "27.79.134.113", 629 | "anonymityLevel": "elite", 630 | "asn": "AS7552", 631 | "city": "Hanoi", 632 | "country": "VN", 633 | "created_at": "2025-01-05T13:47:39.452Z", 634 | "google": false, 635 | "isp": "Viettel Corporation", 636 | "lastChecked": 1736281105, 637 | "latency": 289.316, 638 | "org": "VIETEL", 639 | "port": "16000", 640 | "protocols": [ 641 | "http" 642 | ], 643 | "speed": 12898, 644 | "upTime": 100, 645 | "upTimeSuccessCount": 18, 646 | "upTimeTryCount": 18, 647 | "updated_at": "2025-01-07T20:18:25.904Z", 648 | "responseTime": 384 649 | }, 650 | { 651 | "_id": "676bc2d16b79c1e0b5d73432", 652 | "ip": "38.156.72.203", 653 | "anonymityLevel": "transparent", 654 | "asn": null, 655 | "country": "US", 656 | "created_at": "2024-12-25T08:31:13.165Z", 657 | "google": false, 658 | "lastChecked": 1736281080, 659 | "latency": 69.199, 660 | "org": null, 661 | "port": "8080", 662 | "protocols": [ 663 | "http" 664 | ], 665 | "speed": 5410, 666 | "upTime": 97.0873786407767, 667 | "upTimeSuccessCount": 100, 668 | "upTimeTryCount": 103, 669 | "updated_at": "2025-01-07T20:18:00.205Z", 670 | "city": "Antakya", 671 | "isp": "High Speed Telekomunikasyon ve Hab. Hiz. Ltd. Sti.", 672 | "responseTime": 492 673 | }, 674 | { 675 | "_id": "677c726c6b79c1e0b52400b1", 676 | "ip": "43.243.174.26", 677 | "anonymityLevel": "transparent", 678 | "asn": "AS134254", 679 | "city": "Pune", 680 | "country": "IN", 681 | "created_at": "2025-01-07T00:16:44.673Z", 682 | "google": false, 683 | "isp": "Shah Solutions", 684 | "lastChecked": 1736281056, 685 | "latency": 113.596, 686 | "org": "Shah Solutions", 687 | "port": "82", 688 | "protocols": [ 689 | "http" 690 | ], 691 | "speed": 9294, 692 | "upTime": 100, 693 | "upTimeSuccessCount": 7, 694 | "upTimeTryCount": 7, 695 | "updated_at": "2025-01-07T20:17:36.321Z", 696 | "responseTime": 288 697 | }, 698 | { 699 | "_id": "677cee546b79c1e0b5348550", 700 | "ip": "189.195.139.178", 701 | "anonymityLevel": "transparent", 702 | "asn": "AS13999", 703 | "city": "Zamora", 704 | "country": "MX", 705 | "created_at": "2025-01-07T09:05:24.617Z", 706 | "google": false, 707 | "isp": "Mega Cable, S.A. de C.V.", 708 | "lastChecked": 1736280878, 709 | "latency": 182.901, 710 | "org": "Mega Cable, S.A. de C.V", 711 | "port": "999", 712 | "protocols": [ 713 | "http" 714 | ], 715 | "speed": 13212, 716 | "upTime": 100, 717 | "upTimeSuccessCount": 4, 718 | "upTimeTryCount": 4, 719 | "updated_at": "2025-01-07T20:14:38.210Z", 720 | "responseTime": 700 721 | }, 722 | { 723 | "_id": "677a8fdf6b79c1e0b5e2d7b6", 724 | "ip": "27.79.157.40", 725 | "anonymityLevel": "elite", 726 | "asn": "AS7552", 727 | "city": "Hanoi", 728 | "country": "VN", 729 | "created_at": "2025-01-05T13:57:51.363Z", 730 | "google": false, 731 | "isp": "Viettel Corporation", 732 | "lastChecked": 1736280878, 733 | "latency": 281.967, 734 | "org": "VIETEL", 735 | "port": "16000", 736 | "protocols": [ 737 | "http" 738 | ], 739 | "speed": 13109, 740 | "upTime": 100, 741 | "upTimeSuccessCount": 16, 742 | "upTimeTryCount": 16, 743 | "updated_at": "2025-01-07T20:14:38.212Z", 744 | "responseTime": 4301 745 | }, 746 | { 747 | "_id": "677c70d96b79c1e0b523c05a", 748 | "ip": "84.255.40.228", 749 | "anonymityLevel": "transparent", 750 | "asn": "AS12709", 751 | "city": "Birkirkara", 752 | "country": "MT", 753 | "created_at": "2025-01-07T00:10:01.134Z", 754 | "google": false, 755 | "isp": "Melita plc", 756 | "lastChecked": 1736280829, 757 | "latency": 93.914, 758 | "org": "Melita plc", 759 | "port": "8998", 760 | "protocols": [ 761 | "http" 762 | ], 763 | "speed": 12406, 764 | "upTime": 100, 765 | "upTimeSuccessCount": 7, 766 | "upTimeTryCount": 7, 767 | "updated_at": "2025-01-07T20:13:49.116Z", 768 | "responseTime": 267 769 | }, 770 | { 771 | "_id": "677bcc256b79c1e0b50c334b", 772 | "ip": "185.35.130.16", 773 | "anonymityLevel": "transparent", 774 | "asn": "AS62440", 775 | "country": "RU", 776 | "created_at": "2025-01-06T12:27:17.872Z", 777 | "google": false, 778 | "lastChecked": 1736280806, 779 | "latency": 80.547, 780 | "org": "PLAZMA Static IPs", 781 | "port": "55520", 782 | "protocols": [ 783 | "http" 784 | ], 785 | "speed": 9809, 786 | "upTime": 100, 787 | "upTimeSuccessCount": 10, 788 | "upTimeTryCount": 10, 789 | "updated_at": "2025-01-07T20:13:26.504Z", 790 | "city": "Moscow", 791 | "isp": "Plazmatelekom LLC", 792 | "responseTime": 5509 793 | }, 794 | { 795 | "_id": "677ba0166b79c1e0b505c580", 796 | "ip": "38.165.231.59", 797 | "anonymityLevel": "elite", 798 | "asn": "AS263812", 799 | "country": "EC", 800 | "created_at": "2025-01-06T09:19:18.255Z", 801 | "google": false, 802 | "lastChecked": 1736280796, 803 | "latency": 192.274, 804 | "org": "IPXON Networks Ecuador - Quito EC-UIO", 805 | "port": "8080", 806 | "protocols": [ 807 | "http" 808 | ], 809 | "speed": 15301, 810 | "upTime": 100, 811 | "upTimeSuccessCount": 12, 812 | "upTimeTryCount": 12, 813 | "updated_at": "2025-01-07T20:13:16.317Z", 814 | "city": "Quito", 815 | "isp": "IPXON Networks", 816 | "responseTime": 3108 817 | }, 818 | { 819 | "_id": "677c73336b79c1e0b5241d46", 820 | "ip": "120.28.210.205", 821 | "anonymityLevel": "transparent", 822 | "asn": "AS132199", 823 | "city": "Davao City", 824 | "country": "PH", 825 | "created_at": "2025-01-07T00:20:03.895Z", 826 | "google": false, 827 | "isp": "Globe Telecom", 828 | "lastChecked": 1736280726, 829 | "latency": 242.299, 830 | "org": "", 831 | "port": "8080", 832 | "protocols": [ 833 | "http" 834 | ], 835 | "speed": 11713, 836 | "upTime": 100, 837 | "upTimeSuccessCount": 7, 838 | "upTimeTryCount": 7, 839 | "updated_at": "2025-01-07T20:12:06.822Z", 840 | "responseTime": 317 841 | }, 842 | { 843 | "_id": "677be2f66b79c1e0b50fd0c2", 844 | "ip": "117.1.196.7", 845 | "anonymityLevel": "elite", 846 | "asn": "AS7552", 847 | "country": "VN", 848 | "created_at": "2025-01-06T14:04:38.670Z", 849 | "google": false, 850 | "lastChecked": 1736280726, 851 | "latency": 275.239, 852 | "org": "", 853 | "port": "10003", 854 | "protocols": [ 855 | "http" 856 | ], 857 | "speed": 12013, 858 | "upTime": 100, 859 | "upTimeSuccessCount": 10, 860 | "upTimeTryCount": 10, 861 | "updated_at": "2025-01-07T20:12:06.819Z", 862 | "city": "Hanoi", 863 | "isp": "Viettel Corporation", 864 | "responseTime": 254 865 | }, 866 | { 867 | "_id": "677be60d6b79c1e0b5105548", 868 | "ip": "187.102.236.209", 869 | "anonymityLevel": "transparent", 870 | "asn": "AS270114", 871 | "country": "MX", 872 | "created_at": "2025-01-06T14:17:12.159Z", 873 | "google": false, 874 | "lastChecked": 1736280718, 875 | "latency": 151.214, 876 | "org": "SERVICIOS DE INFRAESTRUCTURA DE RADIOCOMUNICACION Y REDES PRIVADAS DE DATOS HYPERNET, SC DE RL DE CV", 877 | "port": "999", 878 | "protocols": [ 879 | "http" 880 | ], 881 | "speed": 13316, 882 | "upTime": 100, 883 | "upTimeSuccessCount": 9, 884 | "upTimeTryCount": 9, 885 | "updated_at": "2025-01-07T20:11:58.417Z", 886 | "city": "Parral", 887 | "isp": "Servicios De Infraestructura De Radiocomunicacion Y Redes Privadas De Datos Hype", 888 | "responseTime": 598 889 | }, 890 | { 891 | "_id": "677a8d956b79c1e0b5e292e3", 892 | "ip": "27.79.240.105", 893 | "anonymityLevel": "elite", 894 | "asn": "AS7552", 895 | "city": "Hanoi", 896 | "country": "VN", 897 | "created_at": "2025-01-05T13:48:05.338Z", 898 | "google": false, 899 | "isp": "Viettel Corporation", 900 | "lastChecked": 1736280673, 901 | "latency": 282.275, 902 | "org": "VIETEL", 903 | "port": "16000", 904 | "protocols": [ 905 | "http" 906 | ], 907 | "speed": 12606, 908 | "upTime": 100, 909 | "upTimeSuccessCount": 17, 910 | "upTimeTryCount": 17, 911 | "updated_at": "2025-01-07T20:11:13.806Z", 912 | "responseTime": 344 913 | }, 914 | { 915 | "_id": "677a8bc66b79c1e0b5e25731", 916 | "ip": "144.48.162.103", 917 | "anonymityLevel": "elite", 918 | "asn": "AS135353", 919 | "city": "Kāfrul", 920 | "country": "BD", 921 | "created_at": "2025-01-05T13:40:22.114Z", 922 | "google": false, 923 | "isp": "Cue Club Technology", 924 | "lastChecked": 1736280638, 925 | "latency": 181.295, 926 | "org": "Cue Club Technology", 927 | "port": "8080", 928 | "protocols": [ 929 | "http" 930 | ], 931 | "speed": 10001, 932 | "upTime": 100, 933 | "upTimeSuccessCount": 17, 934 | "upTimeTryCount": 17, 935 | "updated_at": "2025-01-07T20:10:38.620Z", 936 | "responseTime": 845 937 | }, 938 | { 939 | "_id": "677a68816b79c1e0b5dd7d77", 940 | "ip": "67.43.227.226", 941 | "anonymityLevel": "elite", 942 | "asn": "AS36666", 943 | "country": "CA", 944 | "created_at": "2025-01-05T11:09:53.262Z", 945 | "google": false, 946 | "lastChecked": 1736280497, 947 | "latency": 83.723, 948 | "org": "", 949 | "port": "6639", 950 | "protocols": [ 951 | "http" 952 | ], 953 | "speed": 11115, 954 | "upTime": 100, 955 | "upTimeSuccessCount": 17, 956 | "upTimeTryCount": 17, 957 | "updated_at": "2025-01-07T20:08:17.512Z", 958 | "city": "Montreal", 959 | "isp": "GloboTech Communications", 960 | "responseTime": 396 961 | }, 962 | { 963 | "_id": "677ba2876b79c1e0b50629f5", 964 | "ip": "67.43.228.253", 965 | "anonymityLevel": "elite", 966 | "asn": "AS36666", 967 | "country": "CA", 968 | "created_at": "2025-01-06T09:29:43.467Z", 969 | "google": false, 970 | "lastChecked": 1736280486, 971 | "latency": 83.61, 972 | "org": "", 973 | "port": "32861", 974 | "protocols": [ 975 | "http" 976 | ], 977 | "speed": 8503, 978 | "upTime": 100, 979 | "upTimeSuccessCount": 12, 980 | "upTimeTryCount": 12, 981 | "updated_at": "2025-01-07T20:08:06.509Z", 982 | "city": "Montreal", 983 | "isp": "GloboTech Communications", 984 | "responseTime": 266 985 | }, 986 | { 987 | "_id": "667287086fb9cbee371871f5", 988 | "ip": "176.105.220.74", 989 | "anonymityLevel": "transparent", 990 | "asn": "AS24812", 991 | "country": "UA", 992 | "created_at": "2024-06-19T07:21:44.692Z", 993 | "google": false, 994 | "lastChecked": 1736280452, 995 | "latency": 55.751, 996 | "org": "NPK Home-Net Ltd", 997 | "port": "3129", 998 | "protocols": [ 999 | "http" 1000 | ], 1001 | "speed": 592, 1002 | "upTime": 99.52702702702703, 1003 | "upTimeSuccessCount": 1473, 1004 | "upTimeTryCount": 1480, 1005 | "updated_at": "2025-01-07T20:07:32.919Z", 1006 | "city": "Kremenchug", 1007 | "isp": "NPK Home-Net Ltd.", 1008 | "responseTime": 2482 1009 | }, 1010 | { 1011 | "_id": "677a8f7f6b79c1e0b5e2cf7f", 1012 | "ip": "27.79.171.247", 1013 | "anonymityLevel": "elite", 1014 | "asn": "AS7552", 1015 | "city": "Hanoi", 1016 | "country": "VN", 1017 | "created_at": "2025-01-05T13:56:15.678Z", 1018 | "google": false, 1019 | "isp": "Viettel Corporation", 1020 | "lastChecked": 1736280452, 1021 | "latency": 280.944, 1022 | "org": "VIETEL", 1023 | "port": "16000", 1024 | "protocols": [ 1025 | "http" 1026 | ], 1027 | "speed": 12998, 1028 | "upTime": 100, 1029 | "upTimeSuccessCount": 17, 1030 | "upTimeTryCount": 17, 1031 | "updated_at": "2025-01-07T20:07:32.908Z", 1032 | "responseTime": 282 1033 | }, 1034 | { 1035 | "_id": "677ceff36b79c1e0b534bea5", 1036 | "ip": "190.97.238.85", 1037 | "anonymityLevel": "transparent", 1038 | "asn": "AS263703", 1039 | "city": "Ciudad Guayana", 1040 | "country": "VE", 1041 | "created_at": "2025-01-07T09:12:19.542Z", 1042 | "google": false, 1043 | "isp": "Viginet C.A", 1044 | "lastChecked": 1736280346, 1045 | "latency": 286.374, 1046 | "org": "", 1047 | "port": "999", 1048 | "protocols": [ 1049 | "http" 1050 | ], 1051 | "speed": 16103, 1052 | "upTime": 100, 1053 | "upTimeSuccessCount": 4, 1054 | "upTimeTryCount": 4, 1055 | "updated_at": "2025-01-07T20:05:46.011Z", 1056 | "responseTime": 483 1057 | }, 1058 | { 1059 | "_id": "677a902b6b79c1e0b5e2dee0", 1060 | "ip": "27.79.177.174", 1061 | "anonymityLevel": "elite", 1062 | "asn": "AS7552", 1063 | "city": "Hanoi", 1064 | "country": "VN", 1065 | "created_at": "2025-01-05T13:59:07.950Z", 1066 | "google": false, 1067 | "isp": "Viettel Corporation", 1068 | "lastChecked": 1736280345, 1069 | "latency": 298.338, 1070 | "org": "VIETEL", 1071 | "port": "16000", 1072 | "protocols": [ 1073 | "http" 1074 | ], 1075 | "speed": 10704, 1076 | "upTime": 100, 1077 | "upTimeSuccessCount": 19, 1078 | "upTimeTryCount": 19, 1079 | "updated_at": "2025-01-07T20:05:45.922Z", 1080 | "responseTime": 328 1081 | }, 1082 | { 1083 | "_id": "677c70e96b79c1e0b523c290", 1084 | "ip": "177.44.223.109", 1085 | "anonymityLevel": "transparent", 1086 | "asn": "AS263139", 1087 | "city": "Mariópolis", 1088 | "country": "BR", 1089 | "created_at": "2025-01-07T00:10:17.498Z", 1090 | "google": false, 1091 | "isp": "Dataware Telecomunicações LTDA. - EPP", 1092 | "lastChecked": 1736280283, 1093 | "latency": 213.482, 1094 | "org": "Dataware Telecomunicações LTDA. - EPP", 1095 | "port": "8080", 1096 | "protocols": [ 1097 | "http" 1098 | ], 1099 | "speed": 8298, 1100 | "upTime": 100, 1101 | "upTimeSuccessCount": 7, 1102 | "upTimeTryCount": 7, 1103 | "updated_at": "2025-01-07T20:04:43.809Z", 1104 | "responseTime": 271 1105 | }, 1106 | { 1107 | "_id": "677653226b79c1e0b54e2e93", 1108 | "ip": "177.93.45.226", 1109 | "anonymityLevel": "transparent", 1110 | "asn": "AS262186", 1111 | "city": "Bogotá", 1112 | "country": "CO", 1113 | "created_at": "2025-01-02T08:49:38.631Z", 1114 | "google": false, 1115 | "isp": "TV AZTECA SUCURSAL COLOMBIA", 1116 | "lastChecked": 1736280235, 1117 | "latency": 193.65, 1118 | "org": "TV AZTECA SUCURSAL COLOMBIA", 1119 | "port": "999", 1120 | "protocols": [ 1121 | "http" 1122 | ], 1123 | "speed": 8897, 1124 | "upTime": 100, 1125 | "upTimeSuccessCount": 43, 1126 | "upTimeTryCount": 43, 1127 | "updated_at": "2025-01-07T20:03:55.509Z", 1128 | "responseTime": 275 1129 | }, 1130 | { 1131 | "_id": "675aa24f6b79c1e0b591696d", 1132 | "ip": "194.28.224.123", 1133 | "anonymityLevel": "elite", 1134 | "asn": "AS199785", 1135 | "country": "DE", 1136 | "created_at": "2024-12-12T08:43:59.962Z", 1137 | "google": false, 1138 | "lastChecked": 1736280156, 1139 | "latency": 30.11, 1140 | "org": "Cloud Hosting Solutions, Limited", 1141 | "port": "8080", 1142 | "protocols": [ 1143 | "http" 1144 | ], 1145 | "speed": 9689, 1146 | "upTime": 98.52216748768473, 1147 | "upTimeSuccessCount": 200, 1148 | "upTimeTryCount": 203, 1149 | "updated_at": "2025-01-07T20:02:36.518Z", 1150 | "city": "Frankfurt am Main", 1151 | "isp": "Cloud Hosting Solutions, Limited.", 1152 | "responseTime": 525 1153 | }, 1154 | { 1155 | "_id": "677a8b566b79c1e0b5e245cd", 1156 | "ip": "45.92.177.60", 1157 | "anonymityLevel": "elite", 1158 | "asn": "AS49505", 1159 | "city": "St Petersburg", 1160 | "country": "RU", 1161 | "created_at": "2025-01-05T13:38:30.770Z", 1162 | "google": false, 1163 | "isp": "JSC Selectel", 1164 | "lastChecked": 1736280131, 1165 | "latency": 39.786, 1166 | "org": "Selectel", 1167 | "port": "8080", 1168 | "protocols": [ 1169 | "http" 1170 | ], 1171 | "speed": 17417, 1172 | "upTime": 100, 1173 | "upTimeSuccessCount": 18, 1174 | "upTimeTryCount": 18, 1175 | "updated_at": "2025-01-07T20:02:11.217Z", 1176 | "responseTime": 413 1177 | }, 1178 | { 1179 | "_id": "677a5a136b79c1e0b5db923e", 1180 | "ip": "103.49.202.252", 1181 | "anonymityLevel": "elite", 1182 | "asn": "AS133957", 1183 | "country": "BD", 1184 | "created_at": "2025-01-05T10:07:46.072Z", 1185 | "google": false, 1186 | "lastChecked": 1736280123, 1187 | "latency": 180.54, 1188 | "org": "BTS Communications Ltd.", 1189 | "port": "80", 1190 | "protocols": [ 1191 | "http" 1192 | ], 1193 | "speed": 19188, 1194 | "upTime": 100, 1195 | "upTimeSuccessCount": 63, 1196 | "upTimeTryCount": 63, 1197 | "updated_at": "2025-01-07T20:02:03.223Z", 1198 | "city": "Kāfrul", 1199 | "isp": "BTS COMMUNICATIONS LTD", 1200 | "responseTime": 281 1201 | }, 1202 | { 1203 | "_id": "677a8bc76b79c1e0b5e2576b", 1204 | "ip": "185.159.153.234", 1205 | "anonymityLevel": "elite", 1206 | "asn": "AS201999", 1207 | "city": "Kerman", 1208 | "country": "IR", 1209 | "created_at": "2025-01-05T13:40:23.414Z", 1210 | "google": false, 1211 | "isp": "Serverpars Webhosting", 1212 | "lastChecked": 1736280085, 1213 | "latency": 98.918, 1214 | "org": "", 1215 | "port": "80", 1216 | "protocols": [ 1217 | "http" 1218 | ], 1219 | "speed": 14901, 1220 | "upTime": 100, 1221 | "upTimeSuccessCount": 17, 1222 | "upTimeTryCount": 17, 1223 | "updated_at": "2025-01-07T20:01:25.515Z", 1224 | "responseTime": 764 1225 | }, 1226 | { 1227 | "_id": "677a8b436b79c1e0b5e2439e", 1228 | "ip": "42.113.4.255", 1229 | "anonymityLevel": "elite", 1230 | "asn": "AS18403", 1231 | "city": "Hanoi", 1232 | "country": "VN", 1233 | "created_at": "2025-01-05T13:38:11.418Z", 1234 | "google": false, 1235 | "isp": "FPT Telecom Company", 1236 | "lastChecked": 1736273909, 1237 | "latency": 202.939, 1238 | "org": "Vietnam Internet Network Information Center", 1239 | "port": "10005", 1240 | "protocols": [ 1241 | "http" 1242 | ], 1243 | "speed": 5002, 1244 | "upTime": 100, 1245 | "upTimeSuccessCount": 17, 1246 | "upTimeTryCount": 17, 1247 | "updated_at": "2025-01-07T18:18:29.511Z", 1248 | "responseTime": 392 1249 | }, 1250 | { 1251 | "_id": "677c700a6b79c1e0b5239f88", 1252 | "ip": "67.43.236.19", 1253 | "anonymityLevel": "elite", 1254 | "asn": "AS36666", 1255 | "city": "Montreal", 1256 | "country": "CA", 1257 | "created_at": "2025-01-07T00:06:34.700Z", 1258 | "google": false, 1259 | "isp": "GloboTech Communications", 1260 | "lastChecked": 1736273900, 1261 | "latency": 93.101, 1262 | "org": "", 1263 | "port": "31953", 1264 | "protocols": [ 1265 | "http" 1266 | ], 1267 | "speed": 222, 1268 | "upTime": 100, 1269 | "upTimeSuccessCount": 6, 1270 | "upTimeTryCount": 6, 1271 | "updated_at": "2025-01-07T18:18:20.773Z", 1272 | "responseTime": 368 1273 | }, 1274 | { 1275 | "_id": "677ba3396b79c1e0b506487e", 1276 | "ip": "67.43.227.228", 1277 | "anonymityLevel": "elite", 1278 | "asn": "AS36666", 1279 | "country": "CA", 1280 | "created_at": "2025-01-06T09:32:41.566Z", 1281 | "google": false, 1282 | "lastChecked": 1736273899, 1283 | "latency": 85.379, 1284 | "org": "", 1285 | "port": "33227", 1286 | "protocols": [ 1287 | "http" 1288 | ], 1289 | "speed": 350, 1290 | "upTime": 90, 1291 | "upTimeSuccessCount": 9, 1292 | "upTimeTryCount": 10, 1293 | "updated_at": "2025-01-07T18:18:19.932Z", 1294 | "city": "Montreal", 1295 | "isp": "GloboTech Communications", 1296 | "responseTime": 395 1297 | }, 1298 | { 1299 | "_id": "677ce72f6b79c1e0b53343f5", 1300 | "ip": "67.43.227.230", 1301 | "anonymityLevel": "elite", 1302 | "asn": "AS36666", 1303 | "country": "CA", 1304 | "created_at": "2025-01-07T08:34:55.208Z", 1305 | "google": false, 1306 | "lastChecked": 1736273898, 1307 | "latency": 86.511, 1308 | "org": "", 1309 | "port": "2887", 1310 | "protocols": [ 1311 | "http" 1312 | ], 1313 | "speed": 232, 1314 | "upTime": 100, 1315 | "upTimeSuccessCount": 3, 1316 | "upTimeTryCount": 3, 1317 | "updated_at": "2025-01-07T18:18:18.985Z", 1318 | "city": "Montreal", 1319 | "isp": "GloboTech Communications", 1320 | "responseTime": 372 1321 | }, 1322 | { 1323 | "_id": "677d531a6b79c1e0b542b31e", 1324 | "ip": "119.76.173.95", 1325 | "anonymityLevel": "transparent", 1326 | "asn": "AS17552", 1327 | "country": "TH", 1328 | "created_at": "2025-01-07T16:15:22.627Z", 1329 | "google": false, 1330 | "lastChecked": 1736273897, 1331 | "latency": 177.857, 1332 | "org": "TRUE", 1333 | "port": "8080", 1334 | "protocols": [ 1335 | "http" 1336 | ], 1337 | "speed": 1379, 1338 | "upTime": 100, 1339 | "upTimeSuccessCount": 1, 1340 | "upTimeTryCount": 1, 1341 | "updated_at": "2025-01-07T18:18:17.485Z", 1342 | "city": "Bangkok", 1343 | "isp": "True Internet Co., Ltd.", 1344 | "responseTime": 351 1345 | }, 1346 | { 1347 | "_id": "677a94586b79c1e0b5e34ff9", 1348 | "ip": "63.143.57.116", 1349 | "anonymityLevel": "elite", 1350 | "asn": "AS46475", 1351 | "country": "US", 1352 | "created_at": "2025-01-05T14:16:56.255Z", 1353 | "google": false, 1354 | "lastChecked": 1736273893, 1355 | "latency": 104.571, 1356 | "org": "Limestone Networks", 1357 | "port": "80", 1358 | "protocols": [ 1359 | "http" 1360 | ], 1361 | "speed": 5002, 1362 | "upTime": 100, 1363 | "upTimeSuccessCount": 16, 1364 | "upTimeTryCount": 16, 1365 | "updated_at": "2025-01-07T18:18:13.960Z", 1366 | "city": "Dallas", 1367 | "isp": "Limestone Networks, Inc.", 1368 | "responseTime": 280 1369 | }, 1370 | { 1371 | "_id": "677a8b2b6b79c1e0b5e2419c", 1372 | "ip": "222.252.194.204", 1373 | "anonymityLevel": "elite", 1374 | "asn": "AS45899", 1375 | "city": "Hải Dương", 1376 | "country": "VN", 1377 | "created_at": "2025-01-05T13:37:47.362Z", 1378 | "google": true, 1379 | "isp": "VietNam Post and Telecom Corporation", 1380 | "lastChecked": 1736273890, 1381 | "latency": 342.456, 1382 | "org": "", 1383 | "port": "8080", 1384 | "protocols": [ 1385 | "http" 1386 | ], 1387 | "speed": 3896, 1388 | "upTime": 75, 1389 | "upTimeSuccessCount": 12, 1390 | "upTimeTryCount": 16, 1391 | "updated_at": "2025-01-07T18:18:10.554Z", 1392 | "responseTime": 438 1393 | }, 1394 | { 1395 | "_id": "677bbe4b6b79c1e0b50a2f6f", 1396 | "ip": "186.167.80.234", 1397 | "anonymityLevel": "transparent", 1398 | "asn": "AS27717", 1399 | "country": "VE", 1400 | "created_at": "2025-01-06T11:28:11.260Z", 1401 | "google": false, 1402 | "lastChecked": 1736273882, 1403 | "latency": 136.596, 1404 | "org": "Telecomunicaciones Rocarli Sede Lecheria", 1405 | "port": "8090", 1406 | "protocols": [ 1407 | "http" 1408 | ], 1409 | "speed": 484, 1410 | "upTime": 100, 1411 | "upTimeSuccessCount": 9, 1412 | "upTimeTryCount": 9, 1413 | "updated_at": "2025-01-07T18:18:02.752Z", 1414 | "city": "Caracas", 1415 | "isp": "Corporacion Digitel C.A", 1416 | "responseTime": 322 1417 | }, 1418 | { 1419 | "_id": "677c06526b79c1e0b51502d3", 1420 | "ip": "103.91.62.37", 1421 | "anonymityLevel": "transparent", 1422 | "asn": "AS136356", 1423 | "country": "IN", 1424 | "created_at": "2025-01-06T16:35:30.672Z", 1425 | "google": false, 1426 | "lastChecked": 1736273882, 1427 | "latency": 254.663, 1428 | "org": "Purenet Telecom India Pvt. Ltd.", 1429 | "port": "80", 1430 | "protocols": [ 1431 | "http" 1432 | ], 1433 | "speed": 5024, 1434 | "upTime": 100, 1435 | "upTimeSuccessCount": 8, 1436 | "upTimeTryCount": 8, 1437 | "updated_at": "2025-01-07T18:18:02.106Z", 1438 | "city": "Jabalpur", 1439 | "isp": "Purenet Telecom India Pvt. Ltd.", 1440 | "responseTime": 316 1441 | }, 1442 | { 1443 | "_id": "677a8e246b79c1e0b5e2a417", 1444 | "ip": "27.79.189.11", 1445 | "anonymityLevel": "elite", 1446 | "asn": "AS7552", 1447 | "city": "Hanoi", 1448 | "country": "VN", 1449 | "created_at": "2025-01-05T13:50:28.759Z", 1450 | "google": false, 1451 | "isp": "Viettel Corporation", 1452 | "lastChecked": 1736273881, 1453 | "latency": 283.216, 1454 | "org": "VIETEL", 1455 | "port": "16000", 1456 | "protocols": [ 1457 | "http" 1458 | ], 1459 | "speed": 5007, 1460 | "upTime": 100, 1461 | "upTimeSuccessCount": 18, 1462 | "upTimeTryCount": 18, 1463 | "updated_at": "2025-01-07T18:18:01.004Z", 1464 | "responseTime": 2912 1465 | }, 1466 | { 1467 | "_id": "677b947c6b79c1e0b5042fa4", 1468 | "ip": "14.224.218.210", 1469 | "anonymityLevel": "transparent", 1470 | "asn": "AS45899", 1471 | "country": "VN", 1472 | "created_at": "2025-01-06T08:28:11.763Z", 1473 | "google": false, 1474 | "lastChecked": 1736273880, 1475 | "latency": 225.687, 1476 | "org": "Vietnam Posts and Telecommunications Group", 1477 | "port": "8080", 1478 | "protocols": [ 1479 | "http" 1480 | ], 1481 | "speed": 586, 1482 | "upTime": 100, 1483 | "upTimeSuccessCount": 11, 1484 | "upTimeTryCount": 11, 1485 | "updated_at": "2025-01-07T18:18:00.459Z", 1486 | "city": "Hanoi", 1487 | "isp": "VNPT", 1488 | "responseTime": 331 1489 | }, 1490 | { 1491 | "_id": "677d515b6b79c1e0b5427a06", 1492 | "ip": "175.158.57.136", 1493 | "anonymityLevel": "transparent", 1494 | "asn": "AS135478", 1495 | "city": "Jakarta", 1496 | "country": "ID", 1497 | "created_at": "2025-01-07T16:07:55.859Z", 1498 | "google": false, 1499 | "isp": "CBNNAP", 1500 | "lastChecked": 1736273880, 1501 | "latency": 167.349, 1502 | "org": "", 1503 | "port": "7788", 1504 | "protocols": [ 1505 | "http" 1506 | ], 1507 | "speed": 210, 1508 | "upTime": 100, 1509 | "upTimeSuccessCount": 1, 1510 | "upTimeTryCount": 1, 1511 | "updated_at": "2025-01-07T18:18:00.031Z", 1512 | "responseTime": 441 1513 | }, 1514 | { 1515 | "_id": "677a7ed16b79c1e0b5e082a1", 1516 | "ip": "97.74.87.226", 1517 | "anonymityLevel": "elite", 1518 | "asn": "AS26496", 1519 | "country": "SG", 1520 | "created_at": "2025-01-05T12:45:05.159Z", 1521 | "google": true, 1522 | "lastChecked": 1736273880, 1523 | "latency": 156.519, 1524 | "org": "GoDaddy.com, LLC", 1525 | "port": "80", 1526 | "protocols": [ 1527 | "http" 1528 | ], 1529 | "speed": 461, 1530 | "upTime": 76.47058823529412, 1531 | "upTimeSuccessCount": 13, 1532 | "upTimeTryCount": 17, 1533 | "updated_at": "2025-01-07T18:18:00.337Z", 1534 | "city": "Singapore", 1535 | "isp": "GoDaddy.com, LLC", 1536 | "responseTime": 500 1537 | }, 1538 | { 1539 | "_id": "6773c8cc6b79c1e0b5f5aafd", 1540 | "ip": "188.134.91.83", 1541 | "anonymityLevel": "transparent", 1542 | "asn": null, 1543 | "city": "St Petersburg", 1544 | "country": "RU", 1545 | "created_at": "2024-12-31T10:34:52.789Z", 1546 | "google": false, 1547 | "isp": "Interzet", 1548 | "lastChecked": 1736273842, 1549 | "latency": 81.582, 1550 | "org": null, 1551 | "port": "8080", 1552 | "protocols": [ 1553 | "http" 1554 | ], 1555 | "speed": 11694, 1556 | "upTime": 100, 1557 | "upTimeSuccessCount": 56, 1558 | "upTimeTryCount": 56, 1559 | "updated_at": "2025-01-07T18:17:22.708Z", 1560 | "responseTime": 872 1561 | }, 1562 | { 1563 | "_id": "677c11846b79c1e0b516648d", 1564 | "ip": "190.186.18.161", 1565 | "anonymityLevel": "transparent", 1566 | "asn": "AS25620", 1567 | "country": "BO", 1568 | "created_at": "2025-01-06T17:23:16.863Z", 1569 | "google": false, 1570 | "lastChecked": 1736273785, 1571 | "latency": 203.14, 1572 | "org": "Adsl-ip-fija - Generico", 1573 | "port": "999", 1574 | "protocols": [ 1575 | "http" 1576 | ], 1577 | "speed": 6492, 1578 | "upTime": 100, 1579 | "upTimeSuccessCount": 8, 1580 | "upTimeTryCount": 8, 1581 | "updated_at": "2025-01-07T18:16:25.323Z", 1582 | "city": "Santa Cruz", 1583 | "isp": "Cotas Ltda.", 1584 | "responseTime": 1801 1585 | }, 1586 | { 1587 | "_id": "677c71a66b79c1e0b523e3f8", 1588 | "ip": "49.48.82.51", 1589 | "anonymityLevel": "transparent", 1590 | "asn": "AS45758", 1591 | "city": "Nakhon Ratchasima", 1592 | "country": "TH", 1593 | "created_at": "2025-01-07T00:13:26.403Z", 1594 | "google": false, 1595 | "isp": "Triple T Broadband Public Company Limited", 1596 | "lastChecked": 1736273680, 1597 | "latency": 285.481, 1598 | "org": "Triple T Broadband Public Company Limited", 1599 | "port": "8080", 1600 | "protocols": [ 1601 | "http" 1602 | ], 1603 | "speed": 9489, 1604 | "upTime": 100, 1605 | "upTimeSuccessCount": 6, 1606 | "upTimeTryCount": 6, 1607 | "updated_at": "2025-01-07T18:14:40.731Z", 1608 | "responseTime": 769 1609 | }, 1610 | { 1611 | "_id": "677c736f6b79c1e0b5242590", 1612 | "ip": "66.96.233.62", 1613 | "anonymityLevel": "transparent", 1614 | "asn": "AS63859", 1615 | "city": "Jakarta", 1616 | "country": "ID", 1617 | "created_at": "2025-01-07T00:21:03.920Z", 1618 | "google": false, 1619 | "isp": "MYREPUBLIC", 1620 | "lastChecked": 1736273575, 1621 | "latency": 179.146, 1622 | "org": "", 1623 | "port": "8085", 1624 | "protocols": [ 1625 | "http" 1626 | ], 1627 | "speed": 9000, 1628 | "upTime": 100, 1629 | "upTimeSuccessCount": 6, 1630 | "upTimeTryCount": 6, 1631 | "updated_at": "2025-01-07T18:12:55.223Z", 1632 | "responseTime": 3205 1633 | }, 1634 | { 1635 | "_id": "677a8b5d6b79c1e0b5e246d3", 1636 | "ip": "47.243.114.192", 1637 | "anonymityLevel": "elite", 1638 | "asn": "AS45102", 1639 | "city": "Hong Kong", 1640 | "country": "HK", 1641 | "created_at": "2025-01-05T13:38:37.870Z", 1642 | "google": false, 1643 | "isp": "Alibaba (US) Technology Co., Ltd.", 1644 | "lastChecked": 1736273461, 1645 | "latency": 298.039, 1646 | "org": "Alibaba.com LLC", 1647 | "port": "8180", 1648 | "protocols": [ 1649 | "http" 1650 | ], 1651 | "speed": 9414, 1652 | "upTime": 100, 1653 | "upTimeSuccessCount": 16, 1654 | "upTimeTryCount": 16, 1655 | "updated_at": "2025-01-07T18:11:01.212Z", 1656 | "responseTime": 3098 1657 | }, 1658 | { 1659 | "_id": "677bf4136b79c1e0b5125686", 1660 | "ip": "103.78.201.242", 1661 | "anonymityLevel": "transparent", 1662 | "asn": "AS135697", 1663 | "country": "IN", 1664 | "created_at": "2025-01-06T15:17:39.361Z", 1665 | "google": false, 1666 | "lastChecked": 1736273439, 1667 | "latency": 198.13, 1668 | "org": "Tachyon Communications Pvt Ltd", 1669 | "port": "5001", 1670 | "protocols": [ 1671 | "http" 1672 | ], 1673 | "speed": 7599, 1674 | "upTime": 100, 1675 | "upTimeSuccessCount": 9, 1676 | "upTimeTryCount": 9, 1677 | "updated_at": "2025-01-07T18:10:39.218Z", 1678 | "city": "Lucknow", 1679 | "isp": "Tachyon Communications Pvt Ltd", 1680 | "responseTime": 594 1681 | }, 1682 | { 1683 | "_id": "677c71ad6b79c1e0b523e4c0", 1684 | "ip": "85.30.219.207", 1685 | "anonymityLevel": "transparent", 1686 | "asn": "AS42610", 1687 | "city": "Moscow", 1688 | "country": "RU", 1689 | "created_at": "2025-01-07T00:13:33.756Z", 1690 | "google": false, 1691 | "isp": "National Cable Networks", 1692 | "lastChecked": 1736273370, 1693 | "latency": 51.544, 1694 | "org": "", 1695 | "port": "80", 1696 | "protocols": [ 1697 | "http" 1698 | ], 1699 | "speed": 12206, 1700 | "upTime": 100, 1701 | "upTimeSuccessCount": 6, 1702 | "upTimeTryCount": 6, 1703 | "updated_at": "2025-01-07T18:09:30.914Z", 1704 | "responseTime": 369 1705 | }, 1706 | { 1707 | "_id": "677c70ec6b79c1e0b523c2db", 1708 | "ip": "171.250.132.168", 1709 | "anonymityLevel": "transparent", 1710 | "asn": "AS7552", 1711 | "city": "Ho Chi Minh City", 1712 | "country": "VN", 1713 | "created_at": "2025-01-07T00:10:20.255Z", 1714 | "google": false, 1715 | "isp": "Viettel Corporation", 1716 | "lastChecked": 1736273315, 1717 | "latency": 219.357, 1718 | "org": "VIETEL", 1719 | "port": "8080", 1720 | "protocols": [ 1721 | "http" 1722 | ], 1723 | "speed": 8193, 1724 | "upTime": 100, 1725 | "upTimeSuccessCount": 6, 1726 | "upTimeTryCount": 6, 1727 | "updated_at": "2025-01-07T18:08:35.716Z", 1728 | "responseTime": 257 1729 | }, 1730 | { 1731 | "_id": "67556fa66b79c1e0b5e0f395", 1732 | "ip": "46.47.197.210", 1733 | "anonymityLevel": "elite", 1734 | "asn": "AS20632", 1735 | "city": "St Petersburg", 1736 | "country": "RU", 1737 | "created_at": "2024-12-08T10:06:30.562Z", 1738 | "google": false, 1739 | "isp": "PJSC Megafon SZF", 1740 | "lastChecked": 1736273304, 1741 | "latency": 82.203, 1742 | "org": "JSC PeterStar", 1743 | "port": "3128", 1744 | "protocols": [ 1745 | "http" 1746 | ], 1747 | "speed": 9089, 1748 | "upTime": 99.55947136563876, 1749 | "upTimeSuccessCount": 226, 1750 | "upTimeTryCount": 227, 1751 | "updated_at": "2025-01-07T18:08:24.907Z", 1752 | "responseTime": 1777 1753 | }, 1754 | { 1755 | "_id": "677a8d066b79c1e0b5e2832c", 1756 | "ip": "123.136.93.179", 1757 | "anonymityLevel": "elite", 1758 | "asn": "AS55933", 1759 | "city": "Shanghai", 1760 | "country": "CN", 1761 | "created_at": "2025-01-05T13:45:42.841Z", 1762 | "google": false, 1763 | "isp": "Cloudie Limited", 1764 | "lastChecked": 1736273191, 1765 | "latency": 189.419, 1766 | "org": "NIU Telecommunications Inc", 1767 | "port": "1111", 1768 | "protocols": [ 1769 | "http" 1770 | ], 1771 | "speed": 10599, 1772 | "upTime": 100, 1773 | "upTimeSuccessCount": 16, 1774 | "upTimeTryCount": 16, 1775 | "updated_at": "2025-01-07T18:06:31.919Z", 1776 | "responseTime": 260 1777 | }, 1778 | { 1779 | "_id": "6776b9446b79c1e0b55bfc38", 1780 | "ip": "43.252.11.195", 1781 | "anonymityLevel": "transparent", 1782 | "asn": "AS46023", 1783 | "city": "Jakarta", 1784 | "country": "ID", 1785 | "created_at": "2025-01-02T16:05:24.674Z", 1786 | "google": false, 1787 | "isp": "QUANTUMNET", 1788 | "lastChecked": 1736273116, 1789 | "latency": 194.327, 1790 | "org": "", 1791 | "port": "7878", 1792 | "protocols": [ 1793 | "http" 1794 | ], 1795 | "speed": 15703, 1796 | "upTime": 97.5609756097561, 1797 | "upTimeSuccessCount": 40, 1798 | "upTimeTryCount": 41, 1799 | "updated_at": "2025-01-07T18:05:16.105Z", 1800 | "responseTime": 835 1801 | }, 1802 | { 1803 | "_id": "676bcd4c6b79c1e0b5d91be4", 1804 | "ip": "168.181.87.49", 1805 | "anonymityLevel": "transparent", 1806 | "asn": "AS265331", 1807 | "city": "Sobral", 1808 | "country": "BR", 1809 | "created_at": "2024-12-25T09:15:56.703Z", 1810 | "google": false, 1811 | "isp": "M. R. MELO ALEXANDRINO", 1812 | "lastChecked": 1736273090, 1813 | "latency": 154.704, 1814 | "org": "M. R. MELO ALEXANDRINO", 1815 | "port": "8080", 1816 | "protocols": [ 1817 | "http" 1818 | ], 1819 | "speed": 10103, 1820 | "upTime": 100, 1821 | "upTimeSuccessCount": 102, 1822 | "upTimeTryCount": 102, 1823 | "updated_at": "2025-01-07T18:04:50.219Z", 1824 | "responseTime": 1396 1825 | }, 1826 | { 1827 | "_id": "677bbae36b79c1e0b509a39a", 1828 | "ip": "157.100.63.129", 1829 | "anonymityLevel": "transparent", 1830 | "asn": "AS52468", 1831 | "country": "EC", 1832 | "created_at": "2025-01-06T11:13:38.968Z", 1833 | "google": false, 1834 | "lastChecked": 1736273051, 1835 | "latency": 196.447, 1836 | "org": "Negocios Y Telefonia Nedetel S.A", 1837 | "port": "80", 1838 | "protocols": [ 1839 | "http" 1840 | ], 1841 | "speed": 9398, 1842 | "upTime": 100, 1843 | "upTimeSuccessCount": 9, 1844 | "upTimeTryCount": 9, 1845 | "updated_at": "2025-01-07T18:04:11.207Z", 1846 | "city": "Cuenca", 1847 | "isp": "Ufinet Panama S.A.", 1848 | "responseTime": 704 1849 | }, 1850 | { 1851 | "_id": "677a90146b79c1e0b5e2dd20", 1852 | "ip": "49.73.4.150", 1853 | "anonymityLevel": "elite", 1854 | "asn": "AS140292", 1855 | "city": "Nanjing", 1856 | "country": "CN", 1857 | "created_at": "2025-01-05T13:58:44.831Z", 1858 | "google": false, 1859 | "isp": "China Telecom", 1860 | "lastChecked": 1736272803, 1861 | "latency": 291.855, 1862 | "org": "Chinanet JS", 1863 | "port": "8089", 1864 | "protocols": [ 1865 | "http" 1866 | ], 1867 | "speed": 11108, 1868 | "upTime": 83.33333333333334, 1869 | "upTimeSuccessCount": 15, 1870 | "upTimeTryCount": 18, 1871 | "updated_at": "2025-01-07T18:00:03.218Z", 1872 | "responseTime": 320 1873 | }, 1874 | { 1875 | "_id": "677c77ca6b79c1e0b524b304", 1876 | "ip": "58.208.159.199", 1877 | "anonymityLevel": "elite", 1878 | "asn": "AS140292", 1879 | "city": "Nanjing", 1880 | "country": "CN", 1881 | "created_at": "2025-01-07T00:39:38.640Z", 1882 | "google": false, 1883 | "isp": "China Telecom", 1884 | "lastChecked": 1736272803, 1885 | "latency": 222.479, 1886 | "org": "Chinanet JS", 1887 | "port": "8089", 1888 | "protocols": [ 1889 | "http" 1890 | ], 1891 | "speed": 10995, 1892 | "upTime": 100, 1893 | "upTimeSuccessCount": 6, 1894 | "upTimeTryCount": 6, 1895 | "updated_at": "2025-01-07T18:00:03.014Z", 1896 | "responseTime": 1399 1897 | }, 1898 | { 1899 | "_id": "677ceff26b79c1e0b534be3b", 1900 | "ip": "188.166.56.246", 1901 | "anonymityLevel": "elite", 1902 | "asn": "AS14061", 1903 | "city": "Amsterdam", 1904 | "country": "NL", 1905 | "created_at": "2025-01-07T09:12:18.457Z", 1906 | "google": false, 1907 | "isp": "DigitalOcean, LLC", 1908 | "lastChecked": 1736272745, 1909 | "latency": 11.557, 1910 | "org": "Digital Ocean", 1911 | "port": "80", 1912 | "protocols": [ 1913 | "http" 1914 | ], 1915 | "speed": 10604, 1916 | "upTime": 100, 1917 | "upTimeSuccessCount": 3, 1918 | "upTimeTryCount": 3, 1919 | "updated_at": "2025-01-07T17:59:05.808Z", 1920 | "responseTime": 2588 1921 | }, 1922 | { 1923 | "_id": "677cf0d66b79c1e0b534dc0b", 1924 | "ip": "103.36.11.238", 1925 | "anonymityLevel": "transparent", 1926 | "asn": "AS133360", 1927 | "city": "Pandeglang", 1928 | "country": "ID", 1929 | "created_at": "2025-01-07T09:16:06.730Z", 1930 | "google": false, 1931 | "isp": "PT Awinet Global Mandiri", 1932 | "lastChecked": 1736272677, 1933 | "latency": 179.929, 1934 | "org": "", 1935 | "port": "3125", 1936 | "protocols": [ 1937 | "http" 1938 | ], 1939 | "speed": 15705, 1940 | "upTime": 100, 1941 | "upTimeSuccessCount": 3, 1942 | "upTimeTryCount": 3, 1943 | "updated_at": "2025-01-07T17:57:57.608Z", 1944 | "responseTime": 607 1945 | }, 1946 | { 1947 | "_id": "677c732e6b79c1e0b5241be0", 1948 | "ip": "116.109.219.171", 1949 | "anonymityLevel": "transparent", 1950 | "asn": "AS24086", 1951 | "city": "Ho Chi Minh City", 1952 | "country": "VN", 1953 | "created_at": "2025-01-07T00:19:58.415Z", 1954 | "google": false, 1955 | "isp": "Viettel Corporation", 1956 | "lastChecked": 1736272541, 1957 | "latency": 196.481, 1958 | "org": "Viettel Group", 1959 | "port": "80", 1960 | "protocols": [ 1961 | "http" 1962 | ], 1963 | "speed": 10708, 1964 | "upTime": 100, 1965 | "upTimeSuccessCount": 6, 1966 | "upTimeTryCount": 6, 1967 | "updated_at": "2025-01-07T17:55:41.907Z", 1968 | "responseTime": 375 1969 | }, 1970 | { 1971 | "_id": "677c70e36b79c1e0b523c1a6", 1972 | "ip": "182.253.233.123", 1973 | "anonymityLevel": "transparent", 1974 | "asn": "AS17451", 1975 | "city": "Jakarta", 1976 | "country": "ID", 1977 | "created_at": "2025-01-07T00:10:11.237Z", 1978 | "google": false, 1979 | "isp": "BIZNET", 1980 | "lastChecked": 1736272463, 1981 | "latency": 166.805, 1982 | "org": "", 1983 | "port": "8080", 1984 | "protocols": [ 1985 | "http" 1986 | ], 1987 | "speed": 12099, 1988 | "upTime": 100, 1989 | "upTimeSuccessCount": 6, 1990 | "upTimeTryCount": 6, 1991 | "updated_at": "2025-01-07T17:54:23.506Z", 1992 | "responseTime": 366 1993 | }, 1994 | { 1995 | "_id": "677a5c126b79c1e0b5dbc4ab", 1996 | "ip": "103.86.109.38", 1997 | "anonymityLevel": "elite", 1998 | "asn": "AS136395", 1999 | "country": "BD", 2000 | "created_at": "2025-01-05T10:16:50.766Z", 2001 | "google": false, 2002 | "lastChecked": 1736272463, 2003 | "latency": 181.509, 2004 | "org": "", 2005 | "port": "80", 2006 | "protocols": [ 2007 | "http" 2008 | ], 2009 | "speed": 11915, 2010 | "upTime": 98.4126984126984, 2011 | "upTimeSuccessCount": 62, 2012 | "upTimeTryCount": 63, 2013 | "updated_at": "2025-01-07T17:54:23.506Z", 2014 | "city": "Dhaka", 2015 | "isp": "Mahfujul Haque t/a Expert Online", 2016 | "responseTime": 573 2017 | }, 2018 | { 2019 | "_id": "677c6f096b79c1e0b5237cc9", 2020 | "ip": "168.119.53.93", 2021 | "anonymityLevel": "elite", 2022 | "asn": "AS24940", 2023 | "country": "DE", 2024 | "created_at": "2025-01-07T00:02:17.420Z", 2025 | "google": false, 2026 | "lastChecked": 1736272442, 2027 | "latency": 22.793, 2028 | "org": "Hetzner", 2029 | "port": "80", 2030 | "protocols": [ 2031 | "http" 2032 | ], 2033 | "speed": 14292, 2034 | "upTime": 100, 2035 | "upTimeSuccessCount": 6, 2036 | "upTimeTryCount": 6, 2037 | "updated_at": "2025-01-07T17:54:02.509Z", 2038 | "city": "Falkenstein", 2039 | "isp": "Hetzner Online GmbH", 2040 | "responseTime": 4801 2041 | }, 2042 | { 2043 | "_id": "677cf0036b79c1e0b534c1ad", 2044 | "ip": "190.60.37.10", 2045 | "anonymityLevel": "transparent", 2046 | "asn": "AS52468", 2047 | "city": "Pueblo Nuevo", 2048 | "country": "CO", 2049 | "created_at": "2025-01-07T09:12:35.722Z", 2050 | "google": false, 2051 | "isp": "IFX NETWORKS COLOMBIA", 2052 | "lastChecked": 1736272442, 2053 | "latency": 194.521, 2054 | "org": "UFINET COLOMBIA, S. A", 2055 | "port": "999", 2056 | "protocols": [ 2057 | "http" 2058 | ], 2059 | "speed": 14199, 2060 | "upTime": 100, 2061 | "upTimeSuccessCount": 3, 2062 | "upTimeTryCount": 3, 2063 | "updated_at": "2025-01-07T17:54:02.511Z", 2064 | "responseTime": 287 2065 | }, 2066 | { 2067 | "_id": "6767e8a96b79c1e0b54f94bb", 2068 | "ip": "188.253.112.218", 2069 | "anonymityLevel": "elite", 2070 | "asn": "AS38136", 2071 | "city": "Hong Kong", 2072 | "country": "HK", 2073 | "created_at": "2024-12-22T10:23:37.662Z", 2074 | "google": false, 2075 | "isp": "Akari Networks", 2076 | "lastChecked": 1736272382, 2077 | "latency": 194.186, 2078 | "org": "Akari Networks Limited", 2079 | "port": "80", 2080 | "protocols": [ 2081 | "http" 2082 | ], 2083 | "speed": 595, 2084 | "upTime": 100, 2085 | "upTimeSuccessCount": 124, 2086 | "upTimeTryCount": 124, 2087 | "updated_at": "2025-01-07T17:53:02.604Z", 2088 | "responseTime": 393 2089 | }, 2090 | { 2091 | "_id": "677bad076b79c1e0b507840d", 2092 | "ip": "8.219.97.248", 2093 | "anonymityLevel": "elite", 2094 | "asn": "AS45102", 2095 | "country": "SG", 2096 | "created_at": "2025-01-06T10:14:31.663Z", 2097 | "google": false, 2098 | "lastChecked": 1736272314, 2099 | "latency": 184.172, 2100 | "org": "Alibaba.com Singapore E-Commerce Private Limited", 2101 | "port": "80", 2102 | "protocols": [ 2103 | "http" 2104 | ], 2105 | "speed": 9397, 2106 | "upTime": 100, 2107 | "upTimeSuccessCount": 11, 2108 | "upTimeTryCount": 11, 2109 | "updated_at": "2025-01-07T17:51:54.722Z", 2110 | "city": "Singapore", 2111 | "isp": "Alibaba Cloud (Singapore) Private Limited", 2112 | "responseTime": 270 2113 | }, 2114 | { 2115 | "_id": "677c70da6b79c1e0b523c085", 2116 | "ip": "179.252.184.165", 2117 | "anonymityLevel": "elite", 2118 | "asn": "AS8167", 2119 | "city": "Brasília", 2120 | "country": "BR", 2121 | "created_at": "2025-01-07T00:10:02.276Z", 2122 | "google": false, 2123 | "isp": "V tal", 2124 | "lastChecked": 1736272223, 2125 | "latency": 206.493, 2126 | "org": "V tal", 2127 | "port": "8080", 2128 | "protocols": [ 2129 | "http" 2130 | ], 2131 | "speed": 11397, 2132 | "upTime": 100, 2133 | "upTimeSuccessCount": 6, 2134 | "upTimeTryCount": 6, 2135 | "updated_at": "2025-01-07T17:50:23.121Z", 2136 | "responseTime": 253 2137 | }, 2138 | { 2139 | "_id": "677c70ee6b79c1e0b523c30b", 2140 | "ip": "181.224.205.42", 2141 | "anonymityLevel": "transparent", 2142 | "asn": "AS52412", 2143 | "city": "Santiago de los Caballeros", 2144 | "country": "DO", 2145 | "created_at": "2025-01-07T00:10:22.839Z", 2146 | "google": false, 2147 | "isp": "BW TELECOM", 2148 | "lastChecked": 1736272167, 2149 | "latency": 138.238, 2150 | "org": "BW TELECOM SRL", 2151 | "port": "999", 2152 | "protocols": [ 2153 | "http" 2154 | ], 2155 | "speed": 10106, 2156 | "upTime": 100, 2157 | "upTimeSuccessCount": 6, 2158 | "upTimeTryCount": 6, 2159 | "updated_at": "2025-01-07T17:49:27.808Z", 2160 | "responseTime": 254 2161 | }, 2162 | { 2163 | "_id": "67790b026b79c1e0b5ae425d", 2164 | "ip": "38.41.0.60", 2165 | "anonymityLevel": "transparent", 2166 | "asn": "AS269832", 2167 | "city": "El Tocuyo", 2168 | "country": "VE", 2169 | "created_at": "2025-01-04T10:18:42.673Z", 2170 | "google": false, 2171 | "isp": "MDS TELECOM C.A.", 2172 | "lastChecked": 1736272167, 2173 | "latency": 146.774, 2174 | "org": "MDS Telecom LLC", 2175 | "port": "11201", 2176 | "protocols": [ 2177 | "http" 2178 | ], 2179 | "speed": 13516, 2180 | "upTime": 100, 2181 | "upTimeSuccessCount": 27, 2182 | "upTimeTryCount": 27, 2183 | "updated_at": "2025-01-07T17:49:27.809Z", 2184 | "responseTime": 3292 2185 | }, 2186 | { 2187 | "_id": "677c72766b79c1e0b5240215", 2188 | "ip": "94.247.129.244", 2189 | "anonymityLevel": "elite", 2190 | "asn": "AS48716", 2191 | "city": "Almaty", 2192 | "country": "KZ", 2193 | "created_at": "2025-01-07T00:16:54.711Z", 2194 | "google": false, 2195 | "isp": "PS Internet Company LLP", 2196 | "lastChecked": 1736272144, 2197 | "latency": 103.143, 2198 | "org": "PS Internet Company LLC", 2199 | "port": "3128", 2200 | "protocols": [ 2201 | "http" 2202 | ], 2203 | "speed": 10897, 2204 | "upTime": 100, 2205 | "upTimeSuccessCount": 6, 2206 | "upTimeTryCount": 6, 2207 | "updated_at": "2025-01-07T17:49:04.208Z", 2208 | "responseTime": 267 2209 | }, 2210 | { 2211 | "_id": "67780db56b79c1e0b58ba886", 2212 | "ip": "109.127.82.166", 2213 | "anonymityLevel": "transparent", 2214 | "asn": "AS21277", 2215 | "city": "Erbil", 2216 | "country": "IQ", 2217 | "created_at": "2025-01-03T16:17:57.703Z", 2218 | "google": false, 2219 | "isp": "Newroz Telecom", 2220 | "lastChecked": 1736271994, 2221 | "latency": 80.824, 2222 | "org": "", 2223 | "port": "8080", 2224 | "protocols": [ 2225 | "http" 2226 | ], 2227 | "speed": 9404, 2228 | "upTime": 100, 2229 | "upTimeSuccessCount": 32, 2230 | "upTimeTryCount": 32, 2231 | "updated_at": "2025-01-07T17:46:34.414Z", 2232 | "responseTime": 3099 2233 | }, 2234 | { 2235 | "_id": "677a59846b79c1e0b5db87a2", 2236 | "ip": "170.81.210.254", 2237 | "anonymityLevel": "transparent", 2238 | "asn": "AS266423", 2239 | "country": "BR", 2240 | "created_at": "2025-01-05T10:05:13.659Z", 2241 | "google": false, 2242 | "lastChecked": 1736271812, 2243 | "latency": 197.316, 2244 | "org": "Connectvy Telecomunicacoes Ltda", 2245 | "port": "8080", 2246 | "protocols": [ 2247 | "http" 2248 | ], 2249 | "speed": 8008, 2250 | "upTime": 100, 2251 | "upTimeSuccessCount": 17, 2252 | "upTimeTryCount": 17, 2253 | "updated_at": "2025-01-07T17:43:32.716Z", 2254 | "city": "Carapicuíba", 2255 | "isp": "Connectvy Telecomunicacoes Ltda", 2256 | "responseTime": 1095 2257 | }, 2258 | { 2259 | "_id": "677c70026b79c1e0b5239e54", 2260 | "ip": "181.78.105.152", 2261 | "anonymityLevel": "transparent", 2262 | "asn": "AS52468", 2263 | "country": "GT", 2264 | "created_at": "2025-01-07T00:06:26.796Z", 2265 | "google": false, 2266 | "lastChecked": 1736271787, 2267 | "latency": 138.723, 2268 | "org": "UFINET Guatemala S. A", 2269 | "port": "999", 2270 | "protocols": [ 2271 | "http" 2272 | ], 2273 | "speed": 8007, 2274 | "upTime": 100, 2275 | "upTimeSuccessCount": 6, 2276 | "upTimeTryCount": 6, 2277 | "updated_at": "2025-01-07T17:43:07.922Z", 2278 | "city": "Guatemala City", 2279 | "isp": "Ufinet Panama S.A.", 2280 | "responseTime": 319 2281 | }, 2282 | { 2283 | "_id": "676530226b79c1e0b5f101f8", 2284 | "ip": "151.80.199.88", 2285 | "anonymityLevel": "transparent", 2286 | "asn": "AS16276", 2287 | "city": "Roubaix", 2288 | "country": "FR", 2289 | "created_at": "2024-12-20T08:51:46.830Z", 2290 | "google": false, 2291 | "isp": "OVH SAS", 2292 | "lastChecked": 1736271601, 2293 | "latency": 5.488, 2294 | "org": "OVH", 2295 | "port": "3128", 2296 | "protocols": [ 2297 | "http" 2298 | ], 2299 | "speed": 9009, 2300 | "upTime": 98.56115107913669, 2301 | "upTimeSuccessCount": 137, 2302 | "upTimeTryCount": 139, 2303 | "updated_at": "2025-01-07T17:40:01.804Z", 2304 | "responseTime": 795 2305 | }, 2306 | { 2307 | "_id": "677a990b6b79c1e0b5e40241", 2308 | "ip": "63.143.57.119", 2309 | "anonymityLevel": "elite", 2310 | "asn": "AS46475", 2311 | "country": "US", 2312 | "created_at": "2025-01-05T14:36:59.764Z", 2313 | "google": false, 2314 | "lastChecked": 1736271601, 2315 | "latency": 106.645, 2316 | "org": "Limestone Networks", 2317 | "port": "80", 2318 | "protocols": [ 2319 | "http" 2320 | ], 2321 | "speed": 9398, 2322 | "upTime": 100, 2323 | "upTimeSuccessCount": 17, 2324 | "upTimeTryCount": 17, 2325 | "updated_at": "2025-01-07T17:40:01.721Z", 2326 | "city": "Dallas", 2327 | "isp": "Limestone Networks, Inc.", 2328 | "responseTime": 1006 2329 | }, 2330 | { 2331 | "_id": "673692066b79c1e0b5df1a1e", 2332 | "ip": "49.51.244.112", 2333 | "anonymityLevel": "anonymous", 2334 | "asn": null, 2335 | "city": "Santa Clara", 2336 | "country": "US", 2337 | "created_at": "2024-11-15T00:12:54.834Z", 2338 | "google": false, 2339 | "isp": "OPHL", 2340 | "lastChecked": 1736271546, 2341 | "latency": 145.288, 2342 | "org": null, 2343 | "port": "8888", 2344 | "protocols": [ 2345 | "http" 2346 | ], 2347 | "speed": 407, 2348 | "upTime": 99.51338199513383, 2349 | "upTimeSuccessCount": 409, 2350 | "upTimeTryCount": 411, 2351 | "updated_at": "2025-01-07T17:39:06.309Z", 2352 | "responseTime": 510 2353 | }, 2354 | { 2355 | "_id": "677a8bcd6b79c1e0b5e25826", 2356 | "ip": "185.105.102.189", 2357 | "anonymityLevel": "elite", 2358 | "asn": "AS58224", 2359 | "city": "Tehran", 2360 | "country": "IR", 2361 | "created_at": "2025-01-05T13:40:29.008Z", 2362 | "google": false, 2363 | "isp": "Iran Telecommunication Company PJS", 2364 | "lastChecked": 1736271536, 2365 | "latency": 87.076, 2366 | "org": "Telecommunication Company of Iran", 2367 | "port": "80", 2368 | "protocols": [ 2369 | "http" 2370 | ], 2371 | "speed": 11203, 2372 | "upTime": 100, 2373 | "upTimeSuccessCount": 16, 2374 | "upTimeTryCount": 16, 2375 | "updated_at": "2025-01-07T17:38:56.410Z", 2376 | "responseTime": 665 2377 | }, 2378 | { 2379 | "_id": "677c71b46b79c1e0b523e584", 2380 | "ip": "103.88.44.21", 2381 | "anonymityLevel": "elite", 2382 | "asn": "AS4785", 2383 | "city": "Osaka", 2384 | "country": "JP", 2385 | "created_at": "2025-01-07T00:13:40.084Z", 2386 | "google": false, 2387 | "isp": "xTom Limited", 2388 | "lastChecked": 1736271455, 2389 | "latency": 243.053, 2390 | "org": "Owl Limited", 2391 | "port": "80", 2392 | "protocols": [ 2393 | "http" 2394 | ], 2395 | "speed": 8288, 2396 | "upTime": 100, 2397 | "upTimeSuccessCount": 6, 2398 | "upTimeTryCount": 6, 2399 | "updated_at": "2025-01-07T17:37:35.215Z", 2400 | "responseTime": 258 2401 | } 2402 | ] -------------------------------------------------------------------------------- /src/bot.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import nacl from 'tweetnacl' 3 | import bs58 from 'bs58' 4 | import { HttpsProxyAgent } from 'https-proxy-agent'; 5 | import { readJson } from './utils'; 6 | 7 | 8 | function signAndEncodeSignature(privateKeyBase58: any, timestamp: any) { 9 | const privateKey = bs58.decode(privateKeyBase58) 10 | const keypair = nacl.sign.keyPair.fromSecretKey(privateKey) 11 | const message = new TextEncoder().encode(`Sign in to pump.fun: ${timestamp}`) 12 | // const message = `Sign in to pump.fun: ${timestamp}` 13 | const signature = nacl.sign.detached(message, keypair.secretKey) 14 | 15 | if (!nacl.sign.detached.verify(message, signature, keypair.publicKey)) { 16 | throw new Error('Signature verification failed') 17 | } 18 | 19 | return { 20 | timestamp, 21 | signature: bs58.encode(signature), 22 | publicKey: bs58.encode(keypair.publicKey) 23 | } 24 | } 25 | 26 | // Function to perform login 27 | async function performLogin(wallet: any) { 28 | try { 29 | const timestamp = Date.now().toString() 30 | const { signature } = signAndEncodeSignature( 31 | bs58.encode(wallet.secretKey), 32 | timestamp 33 | ) 34 | 35 | const payload = { 36 | address: wallet.publicKey.toString(), 37 | signature: signature, 38 | timestamp: timestamp 39 | } 40 | 41 | const response = await axios.post( 42 | 'https://frontend-api.pump.fun/auth/login', 43 | payload, 44 | { 45 | headers: { 46 | Accept: '*/*', 47 | 'Content-Type': 'application/json', 48 | Origin: 'https://pump.fun', 49 | 'User-Agent': 50 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36', 51 | 'sec-ch-ua': 52 | '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"', 53 | 'sec-ch-ua-mobile': '?0', 54 | 'sec-ch-ua-platform': '"Windows"' 55 | } 56 | } 57 | ) 58 | 59 | if (response.headers['set-cookie']) { 60 | const authCookie = response.headers['set-cookie'].find((cookie: any) => 61 | cookie.startsWith('auth_token=') 62 | ) 63 | return authCookie ? authCookie.split('=')[1].split(';')[0] : null 64 | } 65 | console.log("Perform Login: ", response.status); 66 | return null 67 | } catch (error: any) { 68 | console.error('Login error:', error.message) 69 | throw error 70 | } 71 | } 72 | 73 | // Function to get token 74 | async function getToken(walletPublicKey: any, authToken: any) { 75 | try { 76 | const response = await axios.get( 77 | `https://frontend-api.pump.fun/token/generateTokenForThread?user=${walletPublicKey}`, 78 | { 79 | headers: { 80 | accept: 'application/json', 81 | Cookie: `auth_token=${authToken}`, 82 | 'User-Agent': 83 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' 84 | } 85 | } 86 | ) 87 | return response.data.token 88 | } catch (error: any) { 89 | console.error('Token error:', error.message) 90 | throw error 91 | } 92 | } 93 | 94 | async function postCommentWithProxy(token: any, mint: any, text: any) { 95 | const proxyList = readJson("proxy_list.json"); 96 | const usedProxies = new Set(); 97 | const userAgents = [ 98 | // Chrome on Windows 99 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 100 | // Chrome on macOS 101 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 102 | // Firefox on Windows 103 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0', 104 | // Firefox on macOS 105 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Firefox/102.0', 106 | // Safari on macOS 107 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15', 108 | // Edge on Windows 109 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64', 110 | // Samsung Browser on Android 111 | 'Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/13.2 Chrome/91.0.4472.124 Mobile Safari/537.36', 112 | // Chrome on Android 113 | 'Mozilla/5.0 (Linux; Android 10; SM-A505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.199 Mobile Safari/537.36', 114 | // Safari on iPhone 115 | 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1', 116 | // Safari on iPad 117 | 'Mozilla/5.0 (iPad; CPU OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1', 118 | ]; 119 | 120 | while (usedProxies.size < proxyList.length) { 121 | const randIdx = Math.floor(Math.random() * proxyList.length); 122 | if (usedProxies.has(randIdx)) continue; 123 | 124 | usedProxies.add(randIdx); 125 | const proxy = proxyList[randIdx]; 126 | 127 | // @ts-ignore 128 | const proxyUrl = `${proxy.protocols}://${proxy.ip}:${proxy.port}`; 129 | console.log(`Using Proxy: ${proxyUrl}`); 130 | const agent = new HttpsProxyAgent(proxyUrl); 131 | const randomUserAgent = userAgents[Math.floor(Math.random() * userAgents.length)]; 132 | 133 | try { 134 | const response = await axios.post( 135 | 'https://client-proxy-server.pump.fun/comment', 136 | { text, mint }, 137 | { 138 | headers: { 139 | accept: '*/*', 140 | 'content-type': 'application/json', 141 | origin: 'https://pump.fun', 142 | referer: 'https://pump.fun/', 143 | 'x-aws-proxy-token': token, 144 | 'User-Agent': randomUserAgent, 145 | }, 146 | httpAgent: agent, 147 | timeout: 10000, 148 | validateStatus: (status) => 149 | status === 200 || status === 201 || status === 429, 150 | } 151 | ); 152 | 153 | return response.status === 200 || response.status === 201; 154 | } catch (error) { 155 | // @ts-ignore 156 | console.error(`Proxy ${proxyUrl} failed. Error: ${error.message}`); 157 | 158 | console.log(error); 159 | } 160 | } 161 | 162 | throw new Error("All proxies failed"); 163 | } 164 | 165 | 166 | 167 | export { 168 | performLogin, 169 | getToken, 170 | postCommentWithProxy, 171 | } -------------------------------------------------------------------------------- /src/commands/clis.ts: -------------------------------------------------------------------------------- 1 | import { aboutMenu, exit, genMenu, mainMenu, runBotMenu } from "."; 2 | import { genAIComments, getCommentList, inputComment, runBotExistWallet, runBotNewWallet } from "../funcs"; 3 | import { CommandLineFunction } from "../types"; 4 | 5 | const mainMenuBar: CommandLineFunction[] = [ 6 | { 7 | command: "Generate AI Comments", 8 | fn: () => genMenu() 9 | }, 10 | { 11 | command: "Get Comment List", 12 | fn: () => getCommentList() 13 | }, 14 | { 15 | command: "Run Comment Bot", 16 | fn: () => runBotMenu() 17 | }, 18 | { 19 | command: "About Pumpfun Comment Bot", 20 | fn: () => aboutMenu() 21 | }, 22 | { 23 | command: "Exit", 24 | fn: () => exit() 25 | }, 26 | ] 27 | 28 | const genBar: CommandLineFunction[] = [ 29 | { 30 | command: "Generate Comment with AI", 31 | fn: () => genAIComments() 32 | }, 33 | { 34 | command: "Input Comment Manually", 35 | fn: () => inputComment() 36 | }, 37 | { 38 | command: "Return Back to [Main Menu]", 39 | fn: () => mainMenu() 40 | } 41 | ] 42 | 43 | const runBotBar: CommandLineFunction[] = [ 44 | { 45 | command: "Run Bot from new Wallet", 46 | fn: () => runBotNewWallet() 47 | }, 48 | { 49 | command: "Run Bot from existing Wallet in .env", 50 | fn: () => runBotExistWallet() 51 | }, 52 | { 53 | command: "Return Back to [Main Menu]", 54 | fn: () => mainMenu() 55 | } 56 | ] 57 | 58 | const returnToMain: CommandLineFunction[] = [ 59 | { 60 | command: "Return Back to [Main Menu]", 61 | fn: () => mainMenu() 62 | } 63 | ] 64 | 65 | 66 | 67 | export { 68 | mainMenuBar, 69 | genBar, 70 | runBotBar, 71 | returnToMain 72 | } -------------------------------------------------------------------------------- /src/commands/index.ts: -------------------------------------------------------------------------------- 1 | import { aboutBotStr } from "../constants"; 2 | import { CommandLineFunction } from "../types"; 3 | import { cliMenu } from "../utils"; 4 | import { genBar, mainMenuBar, returnToMain, runBotBar } from "./clis"; 5 | 6 | const mainMenu = () => cliMenu('[Main Menu]', mainMenuBar) 7 | const genMenu = () => cliMenu('[Main Menu] > [Generate & Add Comments]', genBar) 8 | const runBotMenu = () => cliMenu('[Main Menu] > [Run Comment Bot]', runBotBar) 9 | const aboutMenu = () => { 10 | console.log(`${aboutBotStr}`); 11 | cliMenu('', returnToMain , false) 12 | } 13 | const exit = () => { 14 | console.clear() 15 | console.log("Welcome Feedback on https://t.me/wizardev"); 16 | process.exit(0) 17 | } 18 | 19 | export { 20 | mainMenu, 21 | genMenu, 22 | runBotMenu, 23 | exit, 24 | aboutMenu 25 | } -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- 1 | import { Keypair } from '@solana/web3.js'; 2 | import { config } from 'dotenv'; 3 | import bs58 from 'bs58'; 4 | config() 5 | 6 | const OPENAI_KEY = process.env.OPENAI_KEY || ""; 7 | const PUMP_MINT = process.env.PUMP_MINT || ""; 8 | const BOT_KEY = process.env.BOT_KEY || ""; 9 | const COMMENT_MIN_INTERVAL = parseInt(process.env.COMMENT_MIN_INTERVAL || "1000") 10 | const COMMENT_MAX_INTERVAL = parseInt(process.env.COMMENT_MAX_INTERVAL || "4000"); 11 | const payer = Keypair.fromSecretKey(bs58.decode(BOT_KEY)); 12 | 13 | 14 | export { 15 | OPENAI_KEY, 16 | PUMP_MINT, 17 | COMMENT_MIN_INTERVAL, 18 | COMMENT_MAX_INTERVAL, 19 | payer 20 | } -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | import { PublicKey } from "@solana/web3.js"; 2 | import { COMMENT_MAX_INTERVAL, COMMENT_MIN_INTERVAL, PUMP_MINT } from "./config"; 3 | import { readJson } from "./utils"; 4 | 5 | const genAiCommentStr = `Please Input Key sentence for AI Comment Generate 6 | 7 | Tip: Please Input concise and core sentense for AI generating. 8 | It'd better if there is official link and additional info for token. 9 | ` 10 | 11 | const aboutBotStr = `Pumpfun Comment Bot v1.0 12 | 13 | This bot helps user to create AI comments on pumpfun. 14 | The usage method is simple. 15 | 16 | 1. Generate Comment with AI automatically ,or else Input Comment Manually. 17 | 2. Run Comment Bot 18 | 19 | Clue: Pumpfun, Comment, Bot, Solana 20 | 21 | If you have any question on Pumpfun Comment Bot , feel free to contact on https://t.me/wizardev` 22 | 23 | const defaultInput = 'Provide discussing e-chat sentences about the token pumpfun on solana in an array format. Exclude any unnecessary words like "```" or "json or javascript" for chatgpt.'; 24 | 25 | const runBotPanel = (pubkey: PublicKey, isNew: boolean = true) => `Run Bot from ${isNew ? 'New' : 'Existing'} Wallet\n 26 | PUBKEY: ${pubkey.toBase58()} 27 | PUMP_MINT: ${PUMP_MINT}` 28 | export { 29 | aboutBotStr, 30 | genAiCommentStr, 31 | defaultInput, 32 | runBotPanel 33 | } -------------------------------------------------------------------------------- /src/funcs/index.ts: -------------------------------------------------------------------------------- 1 | import OpenAI from "openai"; 2 | import { returnToMain } from "../commands/clis"; 3 | import { defaultInput, genAiCommentStr, runBotPanel } from "../constants"; 4 | import { addJson, cliMenu, readJson, rl } from "../utils"; 5 | import { COMMENT_MAX_INTERVAL, COMMENT_MIN_INTERVAL, OPENAI_KEY, payer, PUMP_MINT } from "../config"; 6 | import { Keypair } from "@solana/web3.js"; 7 | import { getToken, performLogin, postCommentWithProxy } from "../bot"; 8 | import { sleep } from "openai/core"; 9 | 10 | const openai = new OpenAI({ 11 | apiKey: OPENAI_KEY, 12 | }); 13 | 14 | const genAIComments = () => { 15 | console.log("[Main Menu] > [Generate & Add Comments] > [Generate Comment with AI]\n"); 16 | rl.question(`${genAiCommentStr}\n`, async (additionalInput) => { 17 | 18 | const completion = await openai.chat.completions.create({ 19 | model: "gpt-4o-mini", 20 | store: true, 21 | messages: [ 22 | { "role": "user", "content": `${additionalInput}. ${defaultInput}` }, 23 | ], 24 | }); 25 | 26 | const value = completion.choices[0].message.content || ''; 27 | 28 | const sentences = JSON.parse(value) 29 | 30 | if (sentences.length > 0) { 31 | console.log("\nGenerated AI comments :", sentences); 32 | addJson(sentences) 33 | console.log(`\nSuccessfully added ${sentences.length} comments.`); 34 | } else console.log("Error in Generating AI comment\n"); 35 | 36 | cliMenu('', returnToMain, false) 37 | }) 38 | } 39 | 40 | const inputComment = () => { 41 | console.log("[Main Menu] > [Generate & Add Comments] > [Input Comment Manually]\n"); 42 | 43 | rl.question(`Please input comment.\n\n`, (answer) => { 44 | addJson([answer]) 45 | console.log("\nSuccessfully added comment."); 46 | cliMenu('', returnToMain, false) 47 | }) 48 | } 49 | 50 | const getCommentList = () => { 51 | console.log("[Main Menu] > [Get Comment List]\n"); 52 | 53 | const data = readJson() 54 | 55 | console.log(`\t${data.length} comments found.\n`); 56 | data.forEach((ele, idx) => console.log(`\t\t${idx + 1}. ${ele}`)) 57 | 58 | cliMenu('', returnToMain, false) 59 | } 60 | 61 | const runBotNewWallet = async () => { 62 | console.log("[Main Menu] > [Run Comment Bot] > [Run Bot from new Wallet]\n"); 63 | 64 | let i = true 65 | while (i) { 66 | const commentWallet = Keypair.generate() 67 | 68 | console.log(runBotPanel(commentWallet.publicKey)) 69 | 70 | const authToken = await performLogin(commentWallet) 71 | if (!authToken) throw new Error('Failed to login') 72 | 73 | const token = await getToken( 74 | commentWallet.publicKey.toString(), 75 | authToken 76 | ) 77 | if (!token) throw new Error('Failed to get token') 78 | 79 | 80 | const data = readJson() 81 | const randIdx = Math.floor(Math.random() * (data.length + 1)); 82 | let success = await postCommentWithProxy( 83 | token, 84 | PUMP_MINT, 85 | data[randIdx], 86 | ) 87 | const randSlp = Math.floor(Math.random() * (COMMENT_MAX_INTERVAL - COMMENT_MIN_INTERVAL) + COMMENT_MIN_INTERVAL); 88 | await sleep(randSlp) 89 | 90 | if (success) { 91 | console.log("New Comment : ", data[randIdx]); 92 | } 93 | 94 | rl.question("", (code) => { 95 | if (code == "0") { 96 | i = false; 97 | console.log("Exiting..."); 98 | } 99 | }) 100 | } 101 | 102 | } 103 | const runBotExistWallet = async () => { 104 | console.log("[Main Menu] > [Run Comment Bot] > [Run Bot from existing Wallet in .env]\n"); 105 | 106 | console.log(runBotPanel(payer.publicKey, false)) 107 | 108 | const authToken = await performLogin(payer) 109 | if (!authToken) throw new Error('Failed to login') 110 | 111 | const token = await getToken( 112 | payer.publicKey.toString(), 113 | authToken 114 | ) 115 | if (!token) throw new Error('Failed to get token') 116 | 117 | const data = readJson() 118 | 119 | let i = true 120 | while (i) { 121 | const randIdx = Math.floor(Math.random() * (data.length + 1)); 122 | let success = await postCommentWithProxy( 123 | token, 124 | PUMP_MINT, 125 | data[randIdx], 126 | ) 127 | const randSlp = Math.floor(Math.random() * (COMMENT_MAX_INTERVAL - COMMENT_MIN_INTERVAL) + COMMENT_MIN_INTERVAL); 128 | await sleep(randSlp) 129 | 130 | if (success) { 131 | console.log("New Comment : ", data[randIdx]); 132 | } 133 | 134 | rl.question("", (code) => { 135 | if (code == "0") { 136 | i = false; 137 | console.log("Exiting..."); 138 | } 139 | }) 140 | } 141 | 142 | } 143 | 144 | export { 145 | genAIComments, 146 | inputComment, 147 | getCommentList, 148 | runBotNewWallet, 149 | runBotExistWallet 150 | } -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { config } from 'dotenv'; 2 | import { mainMenu } from './commands'; 3 | 4 | config() 5 | 6 | mainMenu() -------------------------------------------------------------------------------- /src/test.ts: -------------------------------------------------------------------------------- 1 | import { Keypair } from "@solana/web3.js"; 2 | import { getToken, performLogin, postCommentWithProxy } from "./bot"; 3 | import { PUMP_MINT } from "./config"; 4 | 5 | async function mainFunc() { 6 | const commentWallet = Keypair.generate() 7 | const authToken = await performLogin(commentWallet) 8 | if (!authToken) throw new Error('Failed to login') 9 | 10 | const token = await getToken( 11 | commentWallet.publicKey.toString(), 12 | authToken 13 | ) 14 | if (!token) throw new Error('Failed to get token') 15 | 16 | console.log("token: ", token) 17 | 18 | let success = await postCommentWithProxy( 19 | token, 20 | PUMP_MINT, 21 | "tahki", 22 | ) 23 | 24 | console.log(success); 25 | } 26 | 27 | 28 | mainFunc(); -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | interface CommandLineFunction { 2 | command : string, 3 | fn : Function 4 | }; 5 | 6 | export { 7 | CommandLineFunction 8 | } -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import { createInterface } from 'readline'; 2 | import { CommandLineFunction } from './types'; 3 | import fs from 'fs'; 4 | 5 | const rl = createInterface({ 6 | input: process.stdin, 7 | output: process.stdout, 8 | }); 9 | 10 | const cliMenu = (headline: string, command_line: CommandLineFunction[], clear: boolean = true) => { 11 | if (clear) console.clear() 12 | const title = headline == "" ? `${command_line.map((ele, idx) => `\n\t[${idx + 1}] ${ele.command}`)}\n` : `${headline}\n${command_line.map((ele, idx) => `\n\t[${idx + 1}] ${ele.command}`)}\n` 13 | const temp = () => rl.question(title, (answer: string) => { 14 | console.clear() 15 | try { 16 | const i = parseInt(answer) - 1 17 | command_line[i].fn() 18 | } catch (error) { 19 | console.error(" =============== Invalid Input =============== \n"); 20 | temp() 21 | } 22 | }) 23 | 24 | temp() 25 | } 26 | 27 | 28 | // Function to read JSON file 29 | const readJson = (filename: string = "data.json"): string[] => { 30 | if (!fs.existsSync(filename)) { 31 | // If the file does not exist, create an empty array 32 | fs.writeFileSync(filename, '[]', 'utf-8'); 33 | } 34 | const data = fs.readFileSync(filename, 'utf-8'); 35 | return JSON.parse(data) as string[]; 36 | } 37 | 38 | // Function to write JSON file 39 | const writeJson = (data: string[], filename: string = "data.json",): void => { 40 | fs.writeFileSync(filename, JSON.stringify(data, null, 4), 'utf-8'); 41 | } 42 | 43 | // Function to add JSON file 44 | const addJson = (data: string[], filename: string = "data.json",): void => { 45 | const oldData = readJson(filename) 46 | writeJson([...oldData, ...data], filename) 47 | } 48 | 49 | export { 50 | cliMenu, 51 | rl, 52 | readJson, 53 | writeJson, 54 | addJson, 55 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ 39 | // "rewriteRelativeImportExtensions": true, /* Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files. */ 40 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ 41 | // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ 42 | // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ 43 | // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ 44 | // "resolveJsonModule": true, /* Enable importing .json files. */ 45 | // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ 46 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 47 | 48 | /* JavaScript Support */ 49 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 50 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 51 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 52 | 53 | /* Emit */ 54 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 55 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 56 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 57 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 59 | // "noEmit": true, /* Disable emitting files from a compilation. */ 60 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 61 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 62 | // "removeComments": true, /* Disable emitting comments. */ 63 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 64 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 65 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 66 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 67 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 68 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 69 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 70 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 71 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 72 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 73 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 74 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 75 | 76 | /* Interop Constraints */ 77 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 78 | // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ 79 | // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ 80 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 81 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 82 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 83 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 84 | 85 | /* Type Checking */ 86 | "strict": true, /* Enable all strict type-checking options. */ 87 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 88 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 89 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 90 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 91 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 92 | // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ 93 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 94 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 95 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 96 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 97 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 98 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 99 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 100 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 101 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 102 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 103 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 104 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 105 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 106 | 107 | /* Completeness */ 108 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 109 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/runtime@^7.25.0": 6 | version "7.26.0" 7 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" 8 | integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== 9 | dependencies: 10 | regenerator-runtime "^0.14.0" 11 | 12 | "@cspotcode/source-map-support@^0.8.0": 13 | version "0.8.1" 14 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 15 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 16 | dependencies: 17 | "@jridgewell/trace-mapping" "0.3.9" 18 | 19 | "@jridgewell/resolve-uri@^3.0.3": 20 | version "3.1.2" 21 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" 22 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 23 | 24 | "@jridgewell/sourcemap-codec@^1.4.10": 25 | version "1.5.0" 26 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" 27 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== 28 | 29 | "@jridgewell/trace-mapping@0.3.9": 30 | version "0.3.9" 31 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 32 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 33 | dependencies: 34 | "@jridgewell/resolve-uri" "^3.0.3" 35 | "@jridgewell/sourcemap-codec" "^1.4.10" 36 | 37 | "@noble/curves@^1.4.2": 38 | version "1.7.0" 39 | resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" 40 | integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== 41 | dependencies: 42 | "@noble/hashes" "1.6.0" 43 | 44 | "@noble/hashes@1.6.0": 45 | version "1.6.0" 46 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" 47 | integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== 48 | 49 | "@noble/hashes@^1.4.0": 50 | version "1.6.1" 51 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" 52 | integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== 53 | 54 | "@solana/buffer-layout@^4.0.1": 55 | version "4.0.1" 56 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" 57 | integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== 58 | dependencies: 59 | buffer "~6.0.3" 60 | 61 | "@solana/web3.js@^1.95.5": 62 | version "1.98.0" 63 | resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.98.0.tgz#21ecfe8198c10831df6f0cfde7f68370d0405917" 64 | integrity sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA== 65 | dependencies: 66 | "@babel/runtime" "^7.25.0" 67 | "@noble/curves" "^1.4.2" 68 | "@noble/hashes" "^1.4.0" 69 | "@solana/buffer-layout" "^4.0.1" 70 | agentkeepalive "^4.5.0" 71 | bigint-buffer "^1.1.5" 72 | bn.js "^5.2.1" 73 | borsh "^0.7.0" 74 | bs58 "^4.0.1" 75 | buffer "6.0.3" 76 | fast-stable-stringify "^1.0.0" 77 | jayson "^4.1.1" 78 | node-fetch "^2.7.0" 79 | rpc-websockets "^9.0.2" 80 | superstruct "^2.0.2" 81 | 82 | "@swc/helpers@^0.5.11": 83 | version "0.5.15" 84 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" 85 | integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== 86 | dependencies: 87 | tslib "^2.8.0" 88 | 89 | "@tsconfig/node10@^1.0.7": 90 | version "1.0.11" 91 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" 92 | integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== 93 | 94 | "@tsconfig/node12@^1.0.7": 95 | version "1.0.11" 96 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 97 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 98 | 99 | "@tsconfig/node14@^1.0.0": 100 | version "1.0.3" 101 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 102 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 103 | 104 | "@tsconfig/node16@^1.0.2": 105 | version "1.0.4" 106 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" 107 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== 108 | 109 | "@types/connect@^3.4.33": 110 | version "3.4.38" 111 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" 112 | integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== 113 | dependencies: 114 | "@types/node" "*" 115 | 116 | "@types/node-fetch@^2.6.4": 117 | version "2.6.12" 118 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" 119 | integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== 120 | dependencies: 121 | "@types/node" "*" 122 | form-data "^4.0.0" 123 | 124 | "@types/node@*": 125 | version "22.10.2" 126 | resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.2.tgz#a485426e6d1fdafc7b0d4c7b24e2c78182ddabb9" 127 | integrity sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ== 128 | dependencies: 129 | undici-types "~6.20.0" 130 | 131 | "@types/node@^12.12.54": 132 | version "12.20.55" 133 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" 134 | integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== 135 | 136 | "@types/node@^18.11.18": 137 | version "18.19.68" 138 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.68.tgz#f4f10d9927a7eaf3568c46a6d739cc0967ccb701" 139 | integrity sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw== 140 | dependencies: 141 | undici-types "~5.26.4" 142 | 143 | "@types/uuid@^8.3.4": 144 | version "8.3.4" 145 | resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" 146 | integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== 147 | 148 | "@types/ws@^7.4.4": 149 | version "7.4.7" 150 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" 151 | integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== 152 | dependencies: 153 | "@types/node" "*" 154 | 155 | "@types/ws@^8.2.2": 156 | version "8.5.13" 157 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20" 158 | integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA== 159 | dependencies: 160 | "@types/node" "*" 161 | 162 | JSONStream@^1.3.5: 163 | version "1.3.5" 164 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" 165 | integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== 166 | dependencies: 167 | jsonparse "^1.2.0" 168 | through ">=2.2.7 <3" 169 | 170 | abort-controller@^3.0.0: 171 | version "3.0.0" 172 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" 173 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 174 | dependencies: 175 | event-target-shim "^5.0.0" 176 | 177 | acorn-walk@^8.1.1: 178 | version "8.3.4" 179 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" 180 | integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== 181 | dependencies: 182 | acorn "^8.11.0" 183 | 184 | acorn@^8.11.0, acorn@^8.4.1: 185 | version "8.14.0" 186 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" 187 | integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== 188 | 189 | agent-base@^7.1.2: 190 | version "7.1.3" 191 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" 192 | integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== 193 | 194 | agentkeepalive@^4.2.1, agentkeepalive@^4.5.0: 195 | version "4.5.0" 196 | resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" 197 | integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== 198 | dependencies: 199 | humanize-ms "^1.2.1" 200 | 201 | arg@^4.1.0: 202 | version "4.1.3" 203 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 204 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 205 | 206 | asynckit@^0.4.0: 207 | version "0.4.0" 208 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 209 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 210 | 211 | axios@^1.7.8: 212 | version "1.7.9" 213 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" 214 | integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== 215 | dependencies: 216 | follow-redirects "^1.15.6" 217 | form-data "^4.0.0" 218 | proxy-from-env "^1.1.0" 219 | 220 | base-x@^3.0.2: 221 | version "3.0.10" 222 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" 223 | integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== 224 | dependencies: 225 | safe-buffer "^5.0.1" 226 | 227 | base-x@^5.0.0: 228 | version "5.0.0" 229 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.0.tgz#6d835ceae379130e1a4cb846a70ac4746f28ea9b" 230 | integrity sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ== 231 | 232 | base64-js@^1.3.1: 233 | version "1.5.1" 234 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 235 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 236 | 237 | bigint-buffer@^1.1.5: 238 | version "1.1.5" 239 | resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" 240 | integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== 241 | dependencies: 242 | bindings "^1.3.0" 243 | 244 | bindings@^1.3.0: 245 | version "1.5.0" 246 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" 247 | integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== 248 | dependencies: 249 | file-uri-to-path "1.0.0" 250 | 251 | bn.js@^5.2.0, bn.js@^5.2.1: 252 | version "5.2.1" 253 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" 254 | integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== 255 | 256 | borsh@^0.7.0: 257 | version "0.7.0" 258 | resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" 259 | integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== 260 | dependencies: 261 | bn.js "^5.2.0" 262 | bs58 "^4.0.0" 263 | text-encoding-utf-8 "^1.0.2" 264 | 265 | bs58@^4.0.0, bs58@^4.0.1: 266 | version "4.0.1" 267 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" 268 | integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== 269 | dependencies: 270 | base-x "^3.0.2" 271 | 272 | bs58@^6.0.0: 273 | version "6.0.0" 274 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8" 275 | integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw== 276 | dependencies: 277 | base-x "^5.0.0" 278 | 279 | buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: 280 | version "6.0.3" 281 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 282 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 283 | dependencies: 284 | base64-js "^1.3.1" 285 | ieee754 "^1.2.1" 286 | 287 | bufferutil@^4.0.1: 288 | version "4.0.8" 289 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" 290 | integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== 291 | dependencies: 292 | node-gyp-build "^4.3.0" 293 | 294 | chalk@^5.4.1: 295 | version "5.4.1" 296 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" 297 | integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== 298 | 299 | combined-stream@^1.0.8: 300 | version "1.0.8" 301 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 302 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 303 | dependencies: 304 | delayed-stream "~1.0.0" 305 | 306 | commander@^2.20.3: 307 | version "2.20.3" 308 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 309 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 310 | 311 | create-require@^1.1.0: 312 | version "1.1.1" 313 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 314 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 315 | 316 | debug@4, debug@^4.3.4: 317 | version "4.4.0" 318 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" 319 | integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== 320 | dependencies: 321 | ms "^2.1.3" 322 | 323 | delay@^5.0.0: 324 | version "5.0.0" 325 | resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" 326 | integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== 327 | 328 | delayed-stream@~1.0.0: 329 | version "1.0.0" 330 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 331 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 332 | 333 | diff@^4.0.1: 334 | version "4.0.2" 335 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 336 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 337 | 338 | dotenv@^16.4.7: 339 | version "16.4.7" 340 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" 341 | integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== 342 | 343 | es6-promise@^4.0.3: 344 | version "4.2.8" 345 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" 346 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== 347 | 348 | es6-promisify@^5.0.0: 349 | version "5.0.0" 350 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 351 | integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== 352 | dependencies: 353 | es6-promise "^4.0.3" 354 | 355 | event-target-shim@^5.0.0: 356 | version "5.0.1" 357 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" 358 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 359 | 360 | eventemitter3@^5.0.1: 361 | version "5.0.1" 362 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" 363 | integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== 364 | 365 | eyes@^0.1.8: 366 | version "0.1.8" 367 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" 368 | integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== 369 | 370 | fast-stable-stringify@^1.0.0: 371 | version "1.0.0" 372 | resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" 373 | integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== 374 | 375 | file-uri-to-path@1.0.0: 376 | version "1.0.0" 377 | resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" 378 | integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== 379 | 380 | follow-redirects@^1.15.6: 381 | version "1.15.9" 382 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" 383 | integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== 384 | 385 | form-data-encoder@1.7.2: 386 | version "1.7.2" 387 | resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040" 388 | integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A== 389 | 390 | form-data@^4.0.0: 391 | version "4.0.1" 392 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" 393 | integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== 394 | dependencies: 395 | asynckit "^0.4.0" 396 | combined-stream "^1.0.8" 397 | mime-types "^2.1.12" 398 | 399 | formdata-node@^4.3.2: 400 | version "4.4.1" 401 | resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2" 402 | integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ== 403 | dependencies: 404 | node-domexception "1.0.0" 405 | web-streams-polyfill "4.0.0-beta.3" 406 | 407 | fs@^0.0.1-security: 408 | version "0.0.1-security" 409 | resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" 410 | integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w== 411 | 412 | https-proxy-agent@^7.0.6: 413 | version "7.0.6" 414 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" 415 | integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== 416 | dependencies: 417 | agent-base "^7.1.2" 418 | debug "4" 419 | 420 | humanize-ms@^1.2.1: 421 | version "1.2.1" 422 | resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" 423 | integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== 424 | dependencies: 425 | ms "^2.0.0" 426 | 427 | ieee754@^1.2.1: 428 | version "1.2.1" 429 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 430 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 431 | 432 | ip-address@^9.0.5: 433 | version "9.0.5" 434 | resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" 435 | integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== 436 | dependencies: 437 | jsbn "1.1.0" 438 | sprintf-js "^1.1.3" 439 | 440 | isomorphic-ws@^4.0.1: 441 | version "4.0.1" 442 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" 443 | integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== 444 | 445 | jayson@^4.1.1: 446 | version "4.1.3" 447 | resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.3.tgz#db9be2e4287d9fef4fc05b5fe367abe792c2eee8" 448 | integrity sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ== 449 | dependencies: 450 | "@types/connect" "^3.4.33" 451 | "@types/node" "^12.12.54" 452 | "@types/ws" "^7.4.4" 453 | JSONStream "^1.3.5" 454 | commander "^2.20.3" 455 | delay "^5.0.0" 456 | es6-promisify "^5.0.0" 457 | eyes "^0.1.8" 458 | isomorphic-ws "^4.0.1" 459 | json-stringify-safe "^5.0.1" 460 | uuid "^8.3.2" 461 | ws "^7.5.10" 462 | 463 | jsbn@1.1.0: 464 | version "1.1.0" 465 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" 466 | integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== 467 | 468 | json-stringify-safe@^5.0.1: 469 | version "5.0.1" 470 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 471 | integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== 472 | 473 | jsonparse@^1.2.0: 474 | version "1.3.1" 475 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 476 | integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== 477 | 478 | make-error@^1.1.1: 479 | version "1.3.6" 480 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 481 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 482 | 483 | mime-db@1.52.0: 484 | version "1.52.0" 485 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 486 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 487 | 488 | mime-types@^2.1.12: 489 | version "2.1.35" 490 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 491 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 492 | dependencies: 493 | mime-db "1.52.0" 494 | 495 | ms@^2.0.0, ms@^2.1.3: 496 | version "2.1.3" 497 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 498 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 499 | 500 | node-domexception@1.0.0: 501 | version "1.0.0" 502 | resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" 503 | integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== 504 | 505 | node-fetch@^2.6.7, node-fetch@^2.7.0: 506 | version "2.7.0" 507 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" 508 | integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== 509 | dependencies: 510 | whatwg-url "^5.0.0" 511 | 512 | node-gyp-build@^4.3.0: 513 | version "4.8.4" 514 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" 515 | integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== 516 | 517 | openai@^4.77.0: 518 | version "4.77.0" 519 | resolved "https://registry.yarnpkg.com/openai/-/openai-4.77.0.tgz#228f2d43ffa79ae9d8b5d4155e965da82e5ac330" 520 | integrity sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw== 521 | dependencies: 522 | "@types/node" "^18.11.18" 523 | "@types/node-fetch" "^2.6.4" 524 | abort-controller "^3.0.0" 525 | agentkeepalive "^4.2.1" 526 | form-data-encoder "1.7.2" 527 | formdata-node "^4.3.2" 528 | node-fetch "^2.6.7" 529 | 530 | proxy-from-env@^1.1.0: 531 | version "1.1.0" 532 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 533 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 534 | 535 | readline@^1.3.0: 536 | version "1.3.0" 537 | resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" 538 | integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== 539 | 540 | regenerator-runtime@^0.14.0: 541 | version "0.14.1" 542 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" 543 | integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== 544 | 545 | rpc-websockets@^9.0.2: 546 | version "9.0.4" 547 | resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.4.tgz#9d8ee82533b5d1e13d9ded729e3e38d0d8fa083f" 548 | integrity sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ== 549 | dependencies: 550 | "@swc/helpers" "^0.5.11" 551 | "@types/uuid" "^8.3.4" 552 | "@types/ws" "^8.2.2" 553 | buffer "^6.0.3" 554 | eventemitter3 "^5.0.1" 555 | uuid "^8.3.2" 556 | ws "^8.5.0" 557 | optionalDependencies: 558 | bufferutil "^4.0.1" 559 | utf-8-validate "^5.0.2" 560 | 561 | safe-buffer@^5.0.1: 562 | version "5.2.1" 563 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 564 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 565 | 566 | smart-buffer@^4.2.0: 567 | version "4.2.0" 568 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" 569 | integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== 570 | 571 | socks-proxy-agent@^8.0.5: 572 | version "8.0.5" 573 | resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee" 574 | integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== 575 | dependencies: 576 | agent-base "^7.1.2" 577 | debug "^4.3.4" 578 | socks "^2.8.3" 579 | 580 | socks@^2.8.3: 581 | version "2.8.3" 582 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" 583 | integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== 584 | dependencies: 585 | ip-address "^9.0.5" 586 | smart-buffer "^4.2.0" 587 | 588 | sprintf-js@^1.1.3: 589 | version "1.1.3" 590 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" 591 | integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== 592 | 593 | superstruct@^2.0.2: 594 | version "2.0.2" 595 | resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" 596 | integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== 597 | 598 | text-encoding-utf-8@^1.0.2: 599 | version "1.0.2" 600 | resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" 601 | integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== 602 | 603 | "through@>=2.2.7 <3": 604 | version "2.3.8" 605 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 606 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 607 | 608 | tr46@~0.0.3: 609 | version "0.0.3" 610 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 611 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 612 | 613 | ts-node@^10.9.2: 614 | version "10.9.2" 615 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" 616 | integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== 617 | dependencies: 618 | "@cspotcode/source-map-support" "^0.8.0" 619 | "@tsconfig/node10" "^1.0.7" 620 | "@tsconfig/node12" "^1.0.7" 621 | "@tsconfig/node14" "^1.0.0" 622 | "@tsconfig/node16" "^1.0.2" 623 | acorn "^8.4.1" 624 | acorn-walk "^8.1.1" 625 | arg "^4.1.0" 626 | create-require "^1.1.0" 627 | diff "^4.0.1" 628 | make-error "^1.1.1" 629 | v8-compile-cache-lib "^3.0.1" 630 | yn "3.1.1" 631 | 632 | tslib@^2.8.0: 633 | version "2.8.1" 634 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" 635 | integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== 636 | 637 | tweetnacl@^1.0.3: 638 | version "1.0.3" 639 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" 640 | integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== 641 | 642 | typescript@^5.7.2: 643 | version "5.7.2" 644 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" 645 | integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== 646 | 647 | undici-types@~5.26.4: 648 | version "5.26.5" 649 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" 650 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 651 | 652 | undici-types@~6.20.0: 653 | version "6.20.0" 654 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" 655 | integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== 656 | 657 | utf-8-validate@^5.0.2: 658 | version "5.0.10" 659 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" 660 | integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== 661 | dependencies: 662 | node-gyp-build "^4.3.0" 663 | 664 | uuid@^8.3.2: 665 | version "8.3.2" 666 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 667 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 668 | 669 | v8-compile-cache-lib@^3.0.1: 670 | version "3.0.1" 671 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 672 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 673 | 674 | web-streams-polyfill@4.0.0-beta.3: 675 | version "4.0.0-beta.3" 676 | resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz#2898486b74f5156095e473efe989dcf185047a38" 677 | integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug== 678 | 679 | webidl-conversions@^3.0.0: 680 | version "3.0.1" 681 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 682 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 683 | 684 | whatwg-url@^5.0.0: 685 | version "5.0.0" 686 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 687 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 688 | dependencies: 689 | tr46 "~0.0.3" 690 | webidl-conversions "^3.0.0" 691 | 692 | ws@^7.5.10: 693 | version "7.5.10" 694 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" 695 | integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== 696 | 697 | ws@^8.5.0: 698 | version "8.18.0" 699 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" 700 | integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== 701 | 702 | yn@3.1.1: 703 | version "3.1.1" 704 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 705 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 706 | --------------------------------------------------------------------------------