IMAPSync рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рд░реНрдлрдд рд╕рд░реНрднрд░рд╣рд░реВ рдмреАрдЪ рдореЗрд▓ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рдЖрд▓реЗрдЦрд▓реЗ IMAPSync рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрднрд░рд╣рд░реВ рдмреАрдЪ рдХрд╕рд░реА рдореЗрд▓ рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╣реЗрд░реНрдиреЗрдЫред

рдЧрдиреНрддрд╡реНрдп рд╕рд░реНрднрд░рдорд╛ рддрдкрд╛рдИрд╕рдБрдЧ рдЖрд╡рд╢реНрдпрдХ рд▓рдЧрдЗрди рд░ рдкрд╛рд╕рд╡рд░реНрдб рднрдПрдХреЛ рдмрдХреНрд╕ рд╣реБрдиреБрдкрд░реНрдЫред Imapsync рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЕрдШрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫ (https://imapsync.lamiral.info/#install)ред

рд╕рдВрд╕реНрдерд╛рд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдХрд░реНрдордЪрд╛рд░реА рдЗрдореЗрд▓ рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рдирд┐рд╖реЗрдз рдЧрд░реЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рд╕реБрдореНрдкрд┐рдПрдХреЛ рдЫред рдпрд╕ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рдлрд╛рд░рдо рдореЛрдбреНрдпреБрд▓ (gis.html) рд░ imapsync рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдиреНрдЪрд░ рдореЛрдбреНрдпреБрд▓ (gis.php) рд╕рдорд╛рд╡реЗрд╢ рдЫред рднрд░реНрджреИ рд╕рд░реНрднрд░рд╣рд░реВ рдореЗрд▓рдмрдХреНрд╕ рдирд╛рдо рдлрд┐рд▓реНрдбрдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реЗрд░ IMAP рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред Fetchmail рд▓рд╛рдИ Roundcube рдкреНрд▓рдЧрдЗрдирдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╡рд┐рдЪрд╛рд░ рдЧрд░рд┐рдБрджреИрди, рдХрд┐рдирдХрд┐ рдореИрд▓реЗ рдпрд╕ рдореБрджреНрджрд╛рдХреЛ рд╡рд┐рд╕реНрддреГрдд, рд╕реБрд╕рдВрдЧрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиред

рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓реЗ рдореЗрд▓рдмрдХреНрд╕рд╣рд░реВ, рд╕рдЮреНрдЪрд╛рд▓рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░, рд░ рдирд┐рдпрдиреНрддреНрд░рдг рдмрдЯрдирд╣рд░реВ (gis.html) рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣рд┐рдд рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

IMAPSync рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рд░реНрдлрдд рд╕рд░реНрднрд░рд╣рд░реВ рдмреАрдЪ рдореЗрд▓ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script>
          //╨╖╨░╨┐╤Г╤Б╨║ ╤Б╨║╤А╨╕╨┐╤В╨░ sh ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╨╜╨╛╨╣ ╤Б╤В╤А╨╛╨║╨╕ linux
     function isexe() {
      var ta = document.getElementById('output');
      document.getElementById('output').value += 'Start import, please wait...n';
      var source = new EventSource('gis.php');
      source.addEventListener('message', function(e) {
       if (e.data !== '') {
        ta.value += e.data + 'n';
       }
      }, false);
      source.addEventListener('error', function(e) {
       source.close();
      }, false);
     }//isexe

    //╨║╨╜╨╛╨┐╨║╨░ ╨Т╤Л╨┐╨╛╨╗╨╜╨╕╤В╤М
    function Complete() {
      document.cookie = "mail1="+document.maildata.mail1.value;
      document.cookie = "pass1="+document.maildata.pass1.value;
      document.cookie = "mail2="+document.maildata.mail2.value;
      document.cookie = "pass2="+document.maildata.pass2.value;
      document.cookie = "msrv1="+document.maildata.msrv1.value;
      document.cookie = "msrv2="+document.maildata.msrv2.value;
      //alert(document.cookie); // ╨┐╨╛╨║╨░╨╖╤Л╨▓╨░╨╡╨╝ ╨▓╤Б╨╡ ╨║╤Г╨║╨╕
      isexe();
      document.cookie = "mail1="+document.maildata.mail1.value+"; max-age=0";
      document.cookie = "pass1="+document.maildata.pass1.value+"; max-age=0";
      document.cookie = "mail2="+document.maildata.mail2.value+"; max-age=0";
      document.cookie = "pass2="+document.maildata.pass2.value+"; max-age=0";
      document.cookie = "msrv1="+document.maildata.msrv1.value+"; max-age=0";
      document.cookie = "msrv2="+document.maildata.msrv2.value+"; max-age=0";
    }//Complete

    function ShowCookie() {
     alert(document.cookie); // ╨┐╨╛╨║╨░╨╖╤Л╨▓╨░╨╡╨╝ ╨▓╤Б╨╡ ╨║╤Г╨║╨╕
    }
    </script>
</head>

<body>
<H1>╨Ь╨╕╨│╤А╨░╤Ж╨╕╤П ╨┐╨╛╤З╤В╨╛╨▓╨╛╨│╨╛ ╤П╤Й╨╕╨║╨░</H1>
<FORM NAME="maildata">
   <TABLE>
        <TR><TD><B>╨Ш╤Б╤Е╨╛╨┤╨╜╤Л╨╣ ╨┐╨╛╤З╤В╨╛╨▓╤Л╨╣ ╤П╤Й╨╕╨║:<B></TD>
            <TD><INPUT NAME="mail1" SIZE=20 VALUE=""
        <TR><TD><B>╨Я╨░╤А╨╛╨╗╤М:<B>
            <TD><INPUT TYPE="password" NAME="pass1" SIZE=20 VALUE=""
        <TR><TD><B>IMAP ╤Б╨╡╤А╨▓╨╡╤А:<B></TD>
            <TD><INPUT NAME="msrv1" SIZE=20 VALUE=""<TD>
        <TR><TD><B>╨Ъ╨╛╨╜╨╡╤З╨╜╤Л╨╣ ╨┐╨╛╤З╤В╨╛╨▓╤Л╨╣ ╤П╤Й╨╕╨║:<B></TD>
            <TD><INPUT NAME="mail2" SIZE=20 VALUE=""
        <TR><TD><B>╨Я╨░╤А╨╛╨╗╤М:<B>
            <TD><INPUT TYPE="password" NAME="pass2" SIZE=20 VALUE=""
        <TR><TD><B>IMAP ╤Б╨╡╤А╨▓╨╡╤А:<B></TD>
            <TD><INPUT NAME="msrv2" SIZE=20 VALUE=""<TD>
    </TABLE>
    <p>╨а╨╡╨╖╤Г╨╗╤М╤В╨░╤В ╨▓╤Л╨┐╨╛╨╗╨╜╨╡╨╜╨╕╤П:<br/><textarea id="output" style="width: 50%; height: 25em;"></textarea></p>
   <INPUT TYPE="button" VALUE="╨Т╤Л╨┐╨╛╨╗╨╜╨╕╤В╤М" onClick="Complete();">
    <INPUT TYPE="reset" VALUE="╨б╨▒╤А╨╛╤Б">
    <INPUT TYPE="button" VALUE="╨Я╨╛╨║╨░╨╖╨░╤В╤М cookie" onClick="ShowCookie();">
</FORM>
</body>
</html>

imapsync рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдиреНрдЪрд░ (gis.php)ред

<?php
 ob_end_flush();
 ini_set("output_buffering", "0");
 ob_implicit_flush(true);
 header('Content-Type: text/event-stream');
 header('Cache-Control: no-cache');

 //╨▓╤Л╨▓╨╛╨┤ ╨▓ ╨╛╨▒╨╗╨░╤Б╤В╤М ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╣
function echoEvent($datatext) {
  echo "data: ".implode("ndata: ", explode("n", $datatext))."nn";
 }//echoEvent

 echoEvent("Start!");
 //╤Д╨╛╤А╨╝╨╕╤А╤Г╨╡╨╝ ╤Б╤В╤А╨╛╨║╤Г ╨╖╨░╨┐╤Г╤Б╨║╨░ ╤Б╨║╤А╨╕╨┐╤В╨░ imapsync ╤Б ╨┐╨░╤А╨░╨╝╨╡╤В╤А╨░╨╝╨╕
 $strexe = "/bin/bash /home/user/imapsync/startimapsync.sh "
           .htmlspecialchars($_COOKIE["mail1"]).' '
           .htmlspecialchars($_COOKIE["pass1"])." "
           .htmlspecialchars($_COOKIE["mail2"])." "
           .htmlspecialchars($_COOKIE["pass2"])." "
           .htmlspecialchars($_COOKIE["msrv1"])." "
           .htmlspecialchars($_COOKIE["msrv2"]);
 echoEvent($strexe);
//╨╖╨░╨┐╤Г╤Б╨║╨░╨╡╨╝ sh ╤Б╨║╤А╨╕╨┐╤В ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╨╜╨╛╨╣ ╤Б╤В╤А╨╛╨║╨╕ linux
 $proc = popen($strexe,'r');
//╨╝╨╛╨│╤Г╤В ╨▒╤Л╤В╤М ╨╛╨│╤А╨░╨╜╨╕╤З╨╡╨╜╨╕╤П php, ╨┐╨╛╤Н╤В╨╛╨╝╤Г ╨┤╨╛╤Б╤В╨░╤В╨╛╤З╨╜╨╛ ╨▓╤Л╨▓╨╡╤Б╤В╨╕ ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╤П ╨╝╨╕╨│╤А╨░╤Ж╨╕╨╕
 while (!feof($proc)) {
  echoEvent(fread($proc, 4096));
 }
  echoEvent("Finish!");
?>

рдореЗрд▓рдмрдХреНрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ (startimapsync.sh) рд▓реЗ рдЖрджреЗрд╢ рд░реЗрдЦрд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджрдЫ: рд▓рдЧрдЗрдирд╣рд░реВ рд░ рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ, рдХреНрд░рдорд╢рдГ рд╕реНрд░реЛрдд рд░ рдЧрдиреНрддрд╡реНрдп рдореЗрд▓рдмрдХреНрд╕рд╣рд░реВрдХреЛ imap рд╕рд░реНрднрд░рд╣рд░реВред

#!/bin/bash
#╨┐╨╡╤А╨╡╤Е╨╛╨┤ ╨▓ ╨║╨░╤В╨░╨╗╨╛╨│ ╨╛╤В╨║╤Г╨┤╨░ ╨▒╤Л╨╗ ╨╖╨░╨┐╤Г╤Й╨╡╨╜ ╨┤╨░╨╜╨╜╤Л╨╣ ╤Б╨║╤А╨╕╨┐╤В
cd `dirname $0`
#╨╖╨░╨┐╤Г╤Б╨║ imapsync ╤Б ╨╜╤Г╨╢╨╜╤Л╨╝╨╕ ╨┐╨░╤А╨░╨╝╨╡╤В╤А╨░╨╝╨╕
 /home/user/imapsync/./imapsync 
#╤Б╨╡╤А╨▓╨╡╤А ╨╜╨░╤З╨░╨╗╤М╨╜╨╛╨│╨╛ ╨┐╨╛╤З╤В╨╛╨▓╨╛╨│╨╛ ╤П╤Й╨╕╨║╨░, ╨╗╨╛╨│╨╕╨╜, ╨┐╨░╤А╨╛╨╗╤М
  --host1 $5:993    --user1 $1 --password1 $2 
#╤Б╨╡╤А╨▓╨╡╤А ╨║╨╛╨╜╨╡╤З╨╜╨╛╨│╨╛ ╨┐╨╛╤З╤В╨╛╨▓╨╛╨│╨╛ ╤П╤Й╨╕╨║╨░, ╨╗╨╛╨│╨╕╨╜, ╨┐╨░╤А╨╛╨╗╤М
  --host2 $6:993    --user2 $3 --password2 $4 
#╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╕╨╡  ╤И╨╕╤Д╤А╨╛╨▓╨░╨╜╨╕╤П ╨┐╤А╨╕ ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╕ ╨║ ╤Б╨╡╤А╨▓╨╡╤А╤Г
  --ssl1  --ssl2 
#╤Б╨╛╨┐╨╛╤Б╤В╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨┐╨░╨┐╨╛╨║
  --automap 
#╨┐╨╡╤А╨▓╨╛╨╣ ╤Б╨╕╨╜╤Е╤А╨╛╨╜╨╕╨╖╨╕╤А╤Г╨╡╨╝ ╨┐╨░╨┐╨║╤Г ╨▓╤Е╨╛╨┤╤П╤Й╨╕╤Е
  --folderfirst INBOX 
#╤Б╨╛╨┐╨╛╤Б╤В╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨┐╨░╨┐╨╛╨║
  --regextrans2 "s/&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-/Sent/" 
  --regextrans2 "s/&BBoEPgRABDcEOAQ9BDA-/Trash/" 
  --regextrans2 "s/&BCEEPwQwBDw-/Junk/" 
  --regextrans2 "s/&BCcENQRABD0EPgQyBDgEOgQ4-/Drafts/" 
#╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╨╛ ╨┐╤А╨╕╨╜╨╕╨╝╨░╨╡╨╝ ╨╜╨╡ ╨┐╤А╨╛╤З╨╕╤В╨░╨╜╨╜╤Л╨╡ ╨┐╨╕╤Б╤М╨╝╨░ ╨▓╨╛ ╨Т╤Е╨╛╨┤╤П╤Й╨╕╤Е
  --regexflag 's/\Unseen//g' 
#╨б╤А╨░╨▓╨╜╨╡╨╜╨╕╨╡ ╨┐╨╛╨╗╤Г╤З╨╡╨╜╨╜╤Л╤Е ╨╕ ╨╛╤В╨┐╤А╨░╨▓╨╗╨╡╨╜╨╜╤Л╤Е ╨┐╨╕╤Б╨╡╨╝ ╨┐╨╛ ╨┐╨░╤А╨░╨╝╨╡╤В╤А╤Г ╨Ш╨┤╨╡╨╜╤В╨╕╤Д╨╕╨║╨░╤Ж╨╕╨╛╨╜╨╜╤Л╨╣ ╨╜╨╛╨╝╨╡╤А
  --useheader Message-Id

рд╕реНрд░реЛрдд: www.habr.com

DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рднрдПрдХрд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрд░рдкрд░реНрджреЛ рд╣реЛрд╕реНрдЯрд┐рдЩ рдЦрд░рд┐рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН ЁЯФе DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рднрд░рдкрд░реНрджреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдЩ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН | ProHoster