āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄā§‡ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻ˛ā§āĻ•āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĻā§ƒāĻļā§āĻ¯ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§‹āĻĄ āĻ…āĻ•ā§āĻˇāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž

āĻŸā§āĻ°ā§‹āĻœāĻžāĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ†āĻ•ā§āĻ°āĻŽāĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§‹āĻĄ āĻ…āĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĻā§āĻŦāĻŋāĻŽā§āĻ–ā§€ āĻĒāĻžāĻ ā§āĻ¯ā§‡āĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻ•ā§āĻ°āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡, āĻ˛ā§āĻ•āĻžāĻ¨ā§‹ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ•ā§ŒāĻļāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§‹āĻĄ āĻ…āĻ•ā§āĻˇāĻ° "ㅤ" (āĻ•ā§‹āĻĄ 0x3164, "āĻšāĻžāĻ™ā§āĻ—ā§āĻ˛ āĻĢāĻŋāĻ˛āĻžāĻ°") āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ…āĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‹āĻ¨ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¯ā§‡ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§‹āĻĄ āĻļā§āĻ°ā§‡āĻŖā§€āĻ¤ā§‡ āĻāĻ‡ āĻ…āĻ•ā§āĻˇāĻ°āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¸ā§‡āĻŸāĻŋāĻ•ā§‡ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ECMAScript 2015 āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ¨ā§‹āĻŸāĻĒā§āĻ¯āĻžāĻĄ++ āĻāĻŦāĻ‚ VS āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ¤ā§‹ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ•ā§‹āĻĄ āĻāĻĄāĻŋāĻŸāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ…āĻĻā§ƒāĻļā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻž āĻ¨āĻ¤ā§āĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡, Node.js āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡, āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ…āĻ•ā§āĻˇāĻ° “ㅤ” āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ•āĻĄā§‹āĻ° āĻ˛ā§āĻ•āĻžāĻ¨ā§‹ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ•āĻžāĻ°ā§€āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ: app.get('/ network_health', async (req, res) = > { const { timeout,ㅤ} = req.query; // āĻ†āĻ¸āĻ˛ā§‡ āĻāĻŸāĻž āĻŦāĻ˛ā§‡ “const { timeout,ㅤ \u3164}” const checkCommands = [ 'ping -c 1 googleāĨ¤ com', 'curl -s http:// example.com/',ㅤ // āĻ•āĻŽāĻž āĻ…āĻ•ā§āĻˇāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ \u3164 ];

āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻœāĻ°ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŸāĻžāĻ‡āĻŽāĻ†āĻ‰āĻŸ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§€āĻš āĻ¸ā§āĻĨāĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ¸āĻ˛ā§‡, āĻŸāĻžāĻ‡āĻŽāĻ†āĻ‰āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĒāĻ°ā§‡, āĻ•ā§āĻ¯āĻžāĻ°ā§‡āĻ•ā§āĻŸāĻžāĻ° āĻ•ā§‹āĻĄ \u3164 āĻ¸āĻš āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ…āĻĻā§ƒāĻļā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ•āĻļāĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻœāĻ¨ āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ•āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻžāĻ•āĻĄā§‹āĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻ¤ā§‡ "https://host:8080/network_health?%E3%85%A4=command" āĻāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻžāĻ āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ "Įƒ" āĻ…āĻ•ā§āĻˇāĻ° (ALVEOLAR CLICK), āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšāĻ• āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, Node.js 14-āĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻ˛ā§‡ “if(environmentĮƒ=ENV_PROD){” āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ “environmentĮƒâ€-āĻ ENV_PROD-āĻāĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ° āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§‹āĻĄ āĻ…āĻ•ā§āĻˇāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ "īŧ", "−", "īŧ‹", "âŠĩ", "❨", "âĢŊ", "ę“ŋ" āĻāĻŦāĻ‚ "∗"āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨