
ãµãŒããŒã®ç Žå£ã䌎ãã¬ãŒã¶ãŒã¯ãšã¹ããã©ã®ããã«æé ãããããåŒãç¶ããäŒãããŸããã¯ãšã¹ãã®è§£æ±ºã«é¢ããååã®èšäºããå§ãŸããŸãã
åèšã§ãã²ãŒã ã®ããã¯ãšã³ãã«ã¯6ã€ã®ã¢ãŒããã¯ãã£ãŠããããããããã®èšäºã§åæããŸãã
- ã²ãŒã ã¡ã«ããºã ãæ åœããã²ãŒã ãšã³ãã£ãã£ã®ããã¯ãšã³ã
- VPSã®ããã¯ãšã³ãããã³ãµã€ãããŒã¿äº€æãã¹
- ããã¯ãšã³ããªã¯ãšã¹ãïŒã²ãŒã èŠçŽ ïŒãããµã€ãäžã®arduinoããã³ããŒããŠã§ã¢ãžã®ãã©ã³ã¹ã¬ãŒã¿
- ãªã¬ãŒå¶åŸ¡ãæ åœããã¢ã«ãã¥ã€ãŒãã¯ã翻蚳è ããã³ãã³ããåãåããå®éã®äœæ¥ãè¡ããŸããã
- å®éã®ããã€ã¹ïŒãã¡ã³ãè±èŒªãããã¢ã©ã³ããªã©ã
- ããã³ããšã³ã-ãã¬ã€ã€ãŒãããã€ã¹ãå¶åŸ¡ããFalconãµã€ãèªäœ
ãããããèŠãŠãããŸãããã
ã²ãŒã ãšã³ãã£ãã£ã®ããã¯ãšã³ã
ããã¯ãšã³ãã¯ã¹ããªã³ã°ããŒãã¢ããªã±ãŒã·ã§ã³ãšããŠå®è£ ãããŸãããããã€ãã®ã¬ã¹ãã³ã³ãããŒã©ãŒãWebãœã±ãããšã³ããã€ã³ããããã³ã²ãŒã ããžãã¯ãåãããµãŒãã¹ããããŸããã
ã³ã³ãããŒã©ã¯3ã€ãããããŸããã§ããã
- ã¡ã¬ããã³ãMegatronã®çŸåšã®ããŒãžã¯ã黿ºæå ¥ã®ååŸã«GETãªã¯ãšã¹ããä»ããŠéä¿¡ãããŸãããã¬ãŒã¶ãŒã¯POSTãªã¯ãšã¹ããä»ããŠçºå°ãããŸããã
- , . , ID .
- , - .
Websocketãšã³ããã€ã³ãã¯ãã¬ãžã§ããïŒã©ã³ããè±èŒªãæåïŒãå¶åŸ¡ããããã«äœ¿çšãããŸãããããã¯ãããã€ã¹ã®çŸåšã®ã¹ããŒã¿ã¹ããã¹ãŠã®ãã¬ãŒã€ãŒã«åæçã«è¡šç€ºããããã«éžæãããŸãããããã€ã¹ããªã³ããªãããã¢ã¯ãã£ããã©ãããå£ã«çŸåšè¡šç€ºãããŠããæåã®è²ã§ããã¬ãŒã¶ãŒããªã³ã«ããã¿ã¹ã¯ãå°ãè€éã«ããããã«ãåãadmin / adminãã°ã€ã³ãšãã¹ã¯ãŒãã䜿çšããŠã¬ãŒã©ã³ããšã¬ãŒã¶ãŒã«èªèšŒãã¹ããŒããŸããã
ãã¬ã€ã€ãŒã¯ã¬ãŒã©ã³ãããªã³ã«ããã¬ãŒã¶ãŒã§åãããšãè¡ãããšã§ããããã¹ãããããšãã§ããŸãã
äžå¿ èŠãªéžæã§ãã¬ã€ã€ãŒãèŠãããªãããã«ããã®ãããªäºçްãªãã°ã€ã³ãšãã¹ã¯ãŒãã®ãã¢ãéžæããŸããã
ã¿ã¹ã¯ãããå°ãé¢çœãããããã«ãmongodbã®ãªããžã§ã¯ãIDãéšå±ã®ããã€ã¹èå¥åãšããŠäœ¿çšãããŸããã
ObjectIdã«ã¯ã¿ã€ã ã¹ã¿ã³ããå«ãŸããŠããŸãã2ã€ã®ã©ã³ãã ãªå€ã1ã€ã¯ããã€ã¹èå¥åã«åºã¥ããŠååŸããããã1ã€ã¯ãããçæããpidããã»ã¹ãšã«ãŠã³ã¿ãŒå€ã«åºã¥ããŠååŸãããŸãã宿çã«ãããŸããŸãªpidããã»ã¹ããIDãçæãããã£ãã®ã§ãããå ±éã®ã«ãŠã³ã¿ãŒã䜿çšããŠãã¬ãŒã¶ãŒããã€ã¹ã®IDã®éžæãããé¢çœãã£ãã®ã§ããããããçµå±ã誰ããã«ãŠã³ã¿ãŒã®å€ã ããç°ãªãèå¥åã§å§ããŸããããããããããã«ããã¹ããŒãžãåçŽã«ãªããããŠãobjectIdèå¥åã®æ§é ãåæããå¿ èŠããªããªããŸããã
ããã¯ãšã³ããªã¯ãšã¹ãããã®ç¿»èš³è
ã¿ã€ããŒãåŠçããã²ãŒã ã®æœè±¡åããç©çã¢ãã«ã«å€æããPythonã¹ã¯ãªãããããšãã°ããããã¢ã©ã³ãããªã³ã«ãããâããªã¬ãŒN2ããªã³ã«ããããªã©ã§ãã
ã¹ã¯ãªããã¯RabbitMQãã¥ãŒã«æ¥ç¶ãããã¥ãŒããArduinoã«èŠæ±ãæž¡ããŸããããŸããã©ã€ãã®äžŠåã¹ã€ãããªã³ã®ããžãã¯ãå®è£ ããŸãããäžéšã®ããã€ã¹ãšãšãã«ãã©ã€ãããªã³ã«ãªããŸãããããšãã°ãMegatronã«æåã«é»åãäŸçµŠããããšããã¹ããŒãžã©ã€ãã§ç §ããããŠããŸãããã·ãŒã³å šäœã®æ ç»æ®åœ±ã®ããã®å ã®ãã¶ã€ã³ã¯ããããžã§ã¯ãã®å ±åãããã¥ãŒãµãŒã§ããããããã¯ã·ã§ã³ãã¶ã€ããŒã®Ilya Serovã®çŽ æŽãããäœåã«ã€ããŠã®å¥ã®è©±ã§ãããå¥ã®æçš¿ã§èª¬æããŸãã
翻蚳è ã¯ãã¿ã€ããŒã§ã·ã¥ã¬ãããŒãéå§ããç»åããã¬ãã«éä¿¡ããããžãã¯ãæ åœããŸãããã·ã¥ã¬ãããŒãéå§ããããã®ã¿ã€ããŒãå«ã³å£°ãäžããã«ããã©ãã²ãŒã çµäºæã®åºåã§ãã
ã¡ã¬ããã³ããŒã¯ã³ãçæããããžãã¯ãã©ã®ããã«é 眮ãããã
ãã¹ãã·ã§ãã
25ç§ããšã«ãæ°ããããŒã¯ã³ãçæãããŸãããããã䜿çšããŠã10/255ã®é»åã§10ç§éã¬ãŒã¶ãŒããªã³ã«ããããšãã§ããŸããMegatronã³ãŒãã䜿çšããŠgithubã«ãªã³ã¯ããŸãã
次ã«ãã¬ãŒã¶ãŒã1åéå·åŽããŸããããã®æç¹ã§ã¯ãã¬ãŒã¶ãŒã¯äœ¿çšã§ãããã·ã§ããã®æ°ããèŠæ±ãåãå ¥ããŸããã§ããã
ãã®ãã¯ãŒã¯ããŒããçããã®ã«ååã§ã¯ãããŸããã§ããããã©ã®ãã¬ã€ã€ãŒãã¡ã¬ããã³ããæã¡ãã¬ãŒã¶ãŒããŒã ãåããŠããã®ãèŠãããšãã§ããŸããã
MD5ããã·ã¥ã¢ã«ãŽãªãºã ã䜿çšããŠããŒã¯ã³ãçæããŸããããããŠãã¹ããŒã ã¯ãMD5ããã®MD5 +ã«ãŠã³ã¿ãŒ+æŠéããŒã¯ã³ã®ç§å¯ã§ããããã¹ãããŒã¯ã³ã®ç§å¯ã¯ãããŸããã§ããã
MD5ã¯ãç§ãã¡ã®æ¯æŽè ã§ããPavelã«ãã£ãŠäœæãããåçšãããžã§ã¯ããžã®åç §ã§ããã»ãã®æ°å¹Žåããã®ãããžã§ã¯ãã¯MD5ã䜿çšãããããžã§ã¯ãã¢ãŒããã¯ãã«ãããã¯ã¬ã¬ã·ãŒæå·åã¢ã«ãŽãªãºã ã§ãããšäŒãããšããMD5ããMD5ã䜿çšãå§ããŸãããç§ãã¡ãæå€§ã®Noobãããžã§ã¯ããäœãããšã«æ±ºããã®ã§ã圌ã¯ãã¹ãŠãèŠããŠããŠãå°ãåèã«ããããšã«ããŸããã
ã³ã³ãããã·ã§ãã
ã¡ã¬ããã³ã®æŠéã¢ãŒãã¯100ïŒ 3Wã¬ãŒã¶ãŒãã¯ãŒã§ããããã¯ãéããä¿æããŠããããŒããçãããŠæ°Žæé€šãå£ãããµãŒããŒãæ°Žã§æºããã®ã«2åéã§ååã§ãã
ãããžã§ã¯ãã®githubã«ããã€ãã®ãã³ããæ®ããŸãããã€ãŸããããŒã¯ã³çæã³ãŒãã§ããããã«ããããã¹ãããŒã¯ã³ãšæŠéããŒã¯ã³ã1ã€ã®ã«ãŠã³ã¿ãŒã€ã³ãžã±ãŒã¿ãŒã«åºã¥ããŠçæãããããšãçè§£ã§ããŸãããæŠéããŒã¯ã³ã®å Žåãã«ãŠã³ã¿ãŒå€ã«å ããŠãæåŸã®2æåãé€ããŠããã®èŠç¹ã®å€æŽã®å±¥æŽã«ã»ãŒå®å šã«æ®ããããœã«ãã䜿çšãããŸãã
ãã®ããŒã¿ãç¥ã£ãŠãããšãå¡©ã®æåŸã®2ã€ã®ã·ã³ãã«ãç¹°ãè¿ãããšãã§ããå®éãLostã®æ°åã16æ¡ã®ã·ã¹ãã ã«å€æãããŠäœ¿çšãããŠããããšãããããŸããã
次ã«ããã¬ã€ã€ãŒã¯ïŒãã¹ãããŒã¯ã³ãåæããããšã«ãã£ãŠïŒã«ãŠã³ã¿ãŒå€ããã£ããããæ¬¡ã®ã«ãŠã³ã¿ãŒå€ãšæåŸã®ã¹ãããã§éžæãããœã«ãã䜿çšããŠæŠéããŒã¯ã³ãçæããå¿ èŠããããŸããã
ã«ãŠã³ã¿ãŒã¯ããã¹ãã·ã§ããããšããã³25ç§ããšã«åçŽã«ã€ã³ã¯ãªã¡ã³ããããŸãããç§ãã¡ã¯ããã«ã€ããŠã©ãã«ãæžããŠããŸãããããã¯å°ããªã²ãŒã ã®é©ãã ã£ãã¯ãã§ãã
captchaãšã®çžäºäœçšã®ããã®ãµãŒãã¹
ã²ãŒã ã®äžçã§ã¯ãããã¯ãã¡ã³ããªã³ã«ããŠãã³ãä»ãã®ããªãããã£ãŒããéãããã«ããŒãããå¿ èŠããã£ãã®ãšåããã£ããã£ã§ãããã«ã¡ã©ã®é£ã«è² è·ç£èŠæ©èœä»ãã®ã©ãããããããããŸããã
ãµãŒãã¹ã¯ãçŸåšã®è² è·ãšããŠç£èŠã«è¡šç€ºãããã®ïŒæž©åºŠãšCPUãã¡ã³ïŒãèšç®ããŸãããã¡ããªãã¯ã¯ã¿ã€ã ããŒã¹ããŒã¿ããŒã¹ã«æž¡ãããgrafanaã§ã¬ã³ããªã³ã°ãããŸããã
éå»5ç§éã«50ãè¶ ãããã£ããã£è¡šç€ºã®èŠæ±ãåä¿¡ããå Žåãä¿®æ£+ã©ã³ãã ãªã¹ãããæ°ã«ãã£ãŠè² è·ãå¢å ããŸãããèšç®ã§ã¯ã2åã§100ïŒ ã®è² è·ãåŸãããšãã§ããŸããã
å®éããµãŒãã¹ã«ã¯ãæçµçãªã²ãŒã ã§è¡šç€ºããããããå€ãã®ããžãã¯ããããŸãããCPUãã¡ã³ã®å転ã®ã¿ã衚瀺ãããããã«ã¢ãã¿ãŒãé 眮ããŸããã
ã¯ãšã¹ãã®éå§æã«ã圌ãã¯Sokolã®Webãµã€ãããGrafanaã«ã¢ã¯ã»ã¹ã§ããããã«ããããšèããŠããŸããããã ããããã¯ãšã³ãã¢ããªã±ãŒã·ã§ã³ã¬ããŒãã®springbootã¡ããªãã¯ãå«ãŸããŠãããããã¯ãªãŒã³ã¢ããããæéããªãã£ããããã¢ã¯ã»ã¹ãéããããšã«ããŸããããããŠåœç¶ã®ããšãªãããã¯ãšã¹ãã®éå§æã«ãäžéšã®ãã¬ãŒã€ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãã¹ããªã³ã°ããŒããã¬ãŒã ã¯ãŒã¯ã§äœæãããŠãããšæšæž¬ããäžéšã®ãµãŒãã¹ã®ååãæãèµ·ãããŸããã
ãã¹ãã£ã³ã°ããã³ããŒã¿ãã¹
ããã¯ãšã³ããããµã€ããRabbitMQãèµ·åãããVPSãµãŒããŒã«æ å ±ã転éããããã®ããŒã«ã
ããã¯ãšã³ããšããŒã¿ãã¹ã¯VPSã«ä¿æãããŠããŸããããã®ãã¯ãŒã¯ãç»é¢ã«è¡šç€ºãããŠããã³ã³ãã¥ãŒã¿ãŒãšåçã§ããã2ã®ã¬ãã€ãã®RAMãåãã2ã³ã¢VPSã§ããããŒã¯è² è·ã¯æ°æ¥éããèšç»ãããŠããªãã£ãããããªãœãŒã¹ã®æéãé©çšãããŸãããããã¯ãVPSã®çæéã®è² è·ãèšç»ããŠããã¯ã©ã€ã¢ã³ããè¡ãããšã§ãããããšãäºæ³ä»¥äžã«è² è·ãé«ããªããåºå®æéã®æ¹ãæå©ã§ããããšãããããŸãããã¯ãšã¹ããè¡ãå Žåã¯ãã¿ãŒãã©ã€ã³ã®æéãéžæããŠãã ããã
ãµãŒããŒãDDoSaããä¿è·ããããã«ãCloudflareã䜿çšããŸããã
VPSã¯é£ãã§ããè²ã§ãã¹ãŠã«èãããšèšã䟡å€ããããŸãã
ãªã¬ãŒå¶åŸ¡ãæ åœããã¢ã«ãã¥ã€ãŒãã¯ã翻蚳è ããã³ãã³ããåãåããå®éã®äœæ¥ãè¡ããŸããã
ããã¯ããããžã§ã¯ãã®ããŒããŠã§ã¢éšåã«é¢ããæ¬¡ã®èšäºã®ãããã¯ã§ããããã¯ãšã³ãã¯ãç¹å®ã®ãªã¬ãŒãæå¹ã«ããèŠæ±ãéä¿¡ããã ãã§ããããŸããŸãããã¯ãšã³ãã¯ã»ãšãã©ãã¹ãŠã®ãšã³ãã£ãã£ãèªèããŠãããããã¯ãšã³ãããã®èŠæ±ã¯ããã®ãšã³ãã£ãã£ãæå¹ã«ãããããã«èŠããŸããããµã€ãã®åæãã¹ãã®ããã«ãããè¡ããŸããïŒãŸã ãã¹ãŠã®Arduinoãšãªã¬ãŒãåéããŠããŸããïŒãæçµçã«ã¯ãã¹ãŠããã®ãŸãŸã«ããŸããã
ããã³ããšã³ã
ããã«ãµã€ããäœæããŸããã1å¶æ¥æ¥ããããäºç®ã3äžãã«ç¯çŽã§ããŸããã
åœåãç§ãã¡ã¯ãµã€ãããšã¯ã¹ããŒãããŠãæ¬ èœããŠããããžãã¯ãæå ¥ããããšãèããŠããŸãããããããè¡ãããšãçŠããäœ¿çšæ¡ä»¶ã«ééããŸããã
ã©ã€ã»ã³ã¹ã«éåããæºåãã§ããŠããªãã£ãããã2ã€ã®éžæè¢ããããŸããããã¹ãŠãèªåã§äœæããããTildaã«çŽæ¥é£çµ¡ããŠããããžã§ã¯ãã«ã€ããŠèª¬æããã³ãŒãã倿Žããèš±å¯ãæ±ããããšã§ãã
ç§ãã¡ã¯2çªç®ã®ãªãã·ã§ã³ãéžæããŸãããã圌ãã¯éäžã§ç§ãã¡ã«äŒã£ãã ãã§ãªãã1幎éã®ç¡æã®ããžãã¹ã¢ã«ãŠã³ããæäŸããŠãããŸãããããã«ã¯éåžžã«æè¬ããŠããŸãããœã³ã«ã®ãŠã§ããµã€ãã®ãã¶ã€ã³ã圌ãã«èŠããããšã¯éåžžã«æ¥ããããã£ãã
ãã®çµæãåºæ¬ããã€ã¹ã«ãªã¯ãšã¹ããéä¿¡ããããã®js-logicãããã³ããšã³ãã«ã¢ã¿ããããã²ãŒã èŠçŽ ããªã³ãŸãã¯ãªãã«ããããã®ãã¿ã³ã®ã¹ã¿ã€ã«ããããã«å€æŽããŸããã
ãµã€ããã¶ã€ã³
å¥ã®ç« ã®äŸ¡å€ãããæ€çŽ¢å±¥æŽã
æãªããã®ãµã€ãã ãã§ãªãããã¹ãŠã®åºæ¬çãªãã¶ã€ã³ã«ãŒã«ã«éåãã絶察ã«äžå¿«ãªãµã€ããäœæãããã£ãã®ã§ããåæã«ãä¿¡ææ§ãç¶æããããšãéèŠã§ããã圌ã¯ENTã®ã¹ããŒãªãŒãå£ãããäœè ã®å€§ãããã瀺ãå¿ èŠãããããã¬ãŒã€ãŒã¯ãã®ãããªãµã€ããååšããã¯ã©ã€ã¢ã³ããé£ããŠããããšããã§ãããšä¿¡ããªããã°ãªããŸããã§ããããããŠåœŒã¯æã£ãŠããïŒã²ãŒã ã®é²è¡äžã«ããŠã§ããµã€ãã®äœæã2åäŸé ŒãããŸããã
æåã¯ãèªåã§ãã¶ã€ã³ãè¡ããããå€ãã®GIFãšå æ²¢ã®ããèŠçŽ ãåãå ¥ããããšããŸããããããã10幎ã®çµéšãæã€ãã¶ã€ããŒã§ããç§ã®å€«ã¯ã圌ã®è©è¶ãã«èŠãŠã圌ããè¯ãããããšåŽäžããŸããããã¶ã€ã³ã«ãŒã«ãç Žãã«ã¯ãããããç¥ãå¿ èŠããããŸãã
æç¶çãªå«æªæãåŒãèµ·ããããã€ãã®è²ã®çµã¿åããããããŸãïŒåããžã¥ãŒã·ãŒãã®ç·ãšèµ€ãç°è²ãšãã³ã¯ãéãšè¶è²ããã®çµæãåºæ¬è²ãšããŠèµ€ãšç·ã®çµã¿åããã«æ±ºããç«ãšäžç·ã«gifã远å ããåçã¹ããã¯ã§ãœã³ããèªèº«ã®3ã4æã®åçãéžæããŸãããç§ã«ã¯ããã€ãã®èŠä»¶ãããããŸããã§ãããäžå¹Žã®ç·æ§ã§ããã£ããæã®æªãã¹ãŒããçãŠãæ°ãµã€ãºå€§ããããã¹ã¿ãžãªã§ã®ããã®åçæ®åœ±ãã®ããŒãºããšã£ãŠããŸããããã¹ãã®ããã«ã圌ãã¯ãããåéã«èŠããŠããã©ãã§ããïŒããšå°ããŸããã
ãã¶ã€ã³ãéçºããéçšã§ãç§ã®å€«ã¯30åããšã«æšªã«ãªããããªã³ãã¿ãŒãé£ã°ãå§ããŸãããPashaã¯ãããã³ããšã³ããçµäºããŠããéãéçºè ã®ã³ââã³ãœãŒã«ãç»é¢ã®å€§éšåã§éãããšããŸããã圌ã¯ç®ãé¢ããªãã£ãã®ã§ãã
å®éã®ããã€ã¹
ãã¡ã³ãšã©ã€ãã¯ããœãªããã¹ããŒããªã¬ãŒãä»ããŠåãä»ããããŠããããããã«ãã¯ãŒã§ããã«ãªã³ã«ãªãããšã¯ãããŸãããããã«ãããç£èŠãšäžŠè¡ããŠé»åã®èç©ãçºçããŸãã
ããããããã«ã€ããŠã¯ãã²ãŒã ã®ããŒããŠã§ã¢éšåãšãµã€ãã®å®éã®æ§ç¯ã«ã€ããŠãæ¬¡ã®æçš¿ã§èª¬æããŸãã
ä¹ããæåŸ ïŒ
ãµãŒããŒã®ç Žå£ãäŒŽãæ¢æ±ã«é¢ããä»ã®èšäº
- ã²ãŒã ã®å§ãŸã
- æåã®æããã
- 誰ãã·ã¥ã¬ãããŒãæ¢ããã®ãããµãŒããŒãç Žå£ããŠã¯ãšã¹ããå®äºããå¿ èŠããã£ãã®ã
