Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№15114-02-2019 15:18:30

yacornei
Участник
 
Группа: Members
Зарегистрирован: 07-08-2012
Сообщений: 32
UA: IE 11.0

Re: X-notifier

Где взять скрипт под Gmail ? Устанавливал эту 4.1.8  от sdmitrij не фурычит :mad: Откатился на старую версию 3.25.Сижу на 55 версии
яндекс и маил работают.А вот Gmail никак :usch: Читал где-то что гугл запретил вроде все скрипты js.Реально ли замастырить скрипт под гмаил или все нерешаемо??

Отсутствует

 

№15214-02-2019 19:57:44

Hobbix
Участник
 
Группа: Members
Зарегистрирован: 18-07-2012
Сообщений: 109
UA: Firefox 65.0

Re: X-notifier

скрытый текст

Выделить код

Код:

/***********************************************************
Gmail
***********************************************************/
var supportInboxOnly=true;
var supportShowFolders=true;
var supportIncludeSpam=true;
var supportMulti=true;

function init(){
  this.initStage=ST_PRE;
  this.loginData=["https://accounts.google.com/ServiceLoginAuth?service=mail",
                    "Email","Passwd","PersistentCookie=yes"];
  this.baseURL="https://mail.google.com/mail/";
  this.viewDomain="(mail|accounts).google.com";
  this.dataURL=this.baseURL;
  this.viewURL=this.baseURL;

  this.logoutURL="https://accounts.google.com/Logout";
}
function getIconURL(){
  return "https://ssl.gstatic.com/ui/v1/icons/mail/images/favicon2.ico";
}
function getURL(url,n){
  if(n==null)return url;
  else return url.replace(/(\?\S+)?$/,"u/"+n+"/$1");
}
function checkLogin(aData){
  switch(this.stage){
  case ST_CHECK:
    if(this.multiId==0)this.viewURL=this.baseURL;
    else this.viewURL=this.getURL(this.baseURL,this.multiId);
    this.getHtml(this.viewURL);
    return false;
  case ST_CHECK+1:
    var fnd=aData.match(/\"https:\/\/accounts.google.com\/Logout/);
    if(fnd){//logged in
      var rs=this.isLoggedIn(aData);
      if(rs==1){
        this.stage=ST_LOGIN_RES+1;
        return this.process(aData);
      }else if(rs==0){//switch account;
        this.stage=ST_LOGIN_RES+1;
        this.getHtml(this.viewURL);
        return true;
      }else if(this.multiId==0){
        this.stage=ST_PRE;
        this.getHtml(this.logoutURL);
        return true;
      }
    }
    this.stage=ST_PRE;
    return this.process("");
  }
}
function isLoggedIn(aData,brief){
  var user=this.user.indexOf("@")==-1?this.user+"@\\S+?":this.user;
  user=user.replace(/@googlemail.com/,"@(?:g|google)mail.com");
  var isCurrent=true;
  var reg=new RegExp("\"\\/mail(?:\\/u\\/(\\d+))?\",\\S+?,\"(\\S+?)\",\""+user+"\"","i");
  var fnd=aData.match(reg);
  var fnd2=aData.match(/GM_ACTION_TOKEN="(\S+?)"/);
  if(!fnd){
    if(brief&&this.UI==2)return 0;//mla is off
    isCurrent=false;
    reg=new RegExp("\""+user+"\",\\d+,\\d+,(\\d+)","i");
    fnd=aData.match(reg);
  }
  if(fnd&&fnd2){
    if(fnd[1]){
      this.mid=fnd[1];
      if(this.multiId==0&&this.mid!=0)return -2;
    }
    this.viewURL=this.getURL(this.baseURL,this.mid);
    if(isCurrent){
      this.dataURL=this.viewURL+"?ui=2&ik="+fnd[2]+"&at="+fnd2[1]+"&view=tl&start=0&num=25&rt=c&as_has=is%3Aunread&as_subset="+(this.inboxOnly?"inbox":"all")+"&search=adv";
      var fnd3=aData.match(/"sx_iosc"\s*,\s*"(\S+?)"/);
      if(fnd3&&(fnd3[1]=="^u|"||fnd3[1]=="^t|"))this.useInboxCount=true;
      var fnd4=aData.match(/"ix_ioiut"\s*,\s*"(\S+?)"/);
      if(fnd4&&fnd4[1]=="1")this.useInboxCount=true;
      this.UI=2;
      return 1;
    }else return 0;
  }
  //basic HTML
  fnd=aData.match(/<base\s+href="(https:\/\/mail.google.com\/mail(?:\/u\/(\d+))?\/h\S+?)"/);
  reg=new RegExp("id=(?:gbf|gbgs4dn).+?>"+user+"<","i");
  var fnd2=aData.match(reg);
  if(fnd&&fnd2){
    if(fnd[2]){
      this.mid=fnd[2];
      if(this.multiId==0&&this.mid!=0)return -2;
    }
    this.viewURL=fnd[1];
    this.dataURL=fnd[1]+"?s=q&q=is%3Aunread"+(this.inboxOnly?"+in%3Ainbox":"");
    this.UI=0;
    return 1;
  }
  return -1;
}
function process(aData,aHttp) {
//dout(this.ind+" "+this.user+" "+this.stage);
if(this.debug)dlog(this.id+"\t"+this.user+"\t"+this.stage,aData);
  switch(this.stage){
  case ST_PRE:
    this.getHtml("https://accounts.google.com/"+(this.multiId==0?"ServiceLogin":"AddSession")+"?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&rip=1&nojavascript=1");
    return false;
  case ST_PRE_RES:
    var form=this.getForm(aData,"gaia_loginform",true);
    if(form){
      this.stage=ST_LOGIN;
      this.getHtml("https://accounts.google.com/"+(this.multiId==0?"signin/challenge/sl/password":"multilogin/challenge/sl/password"),this.loginData[LOGIN_POST]+"&"+form[1]);
      return false;
    }
    break;
  case ST_LOGIN_RES:
    var form=this.getForm(aData,"challenge",true);
    if(form){//2-step verification
      this.form=form;
      this.stage=ST_LOGIN_RES+3;
      this.openAuthDialog(this.id,this.user,null);
      return true;
    }
    ++this.stage;
  case ST_LOGIN_RES+1:
    var fnd=aData.match(/action="ChromeLoginPrompt"/);
    if(fnd){
      this.getHtml(this.viewURL);
      return false;
    }
    ++this.stage;
  case ST_LOGIN_RES+2:
    if(this.isLoggedIn(aData)==1){
      var fnd=aData.match(/\["sld",\[(\[[\s\S]+?\])\]/);
      if(fnd){
        var re=/\["(.+?)"\s*,\s*"(.+?)"/g;
        var o;
        this.smartlabel={};
        while ((o = re.exec(fnd[1])) != null){
          var fn=unescape(o[2].replace(/\\u/g,"%u"))
          this.smartlabel[o[1]]=fn;
        }
      }else{
        this.smartlabel={"^smartlabel_promo":"Promotions","^smartlabel_notification":"Updates","^smartlabel_social":"Social","^smartlabel_group":"Forums","^smartlabel_personal":"Personal"};
      }
      this.stage=ST_DATA;
    }
    break;
  case (ST_LOGIN_RES+3)://2-step verification
    if(aData){
      this.getHtml("https://accounts.google.com/"+this.form[0],this.form[1]+"&Pin="+encodeURIComponent(aData)+"&TrustDevice=on");
      delete this.form;
      return false;
    }
    break;
  case (ST_LOGIN_RES+4)://2-step verification
    this.stage=ST_LOGIN_RES;
    return this.process(aData,aHttp);
  }
  return this.baseProcess(aData,aHttp);
}
function getCount(aData){
  if(this.multiId==0&&this.isLoggedIn(aData,true)<0)return -1;
  var fnd;
  if(this.UI==2){
    if(this.inboxOnly)fnd=aData.match(this.useInboxCount?/"ld",\[[\S\s]*?\["\^i",(\d+)/:/"ld",\[\["\^ig?",(\d+)/);
    if(!fnd)fnd=aData.match(/\["ti",.+?,(\d+)/);
    if(fnd){
      if(this.includeSpam){
        var fnd2=aData.match(/"ld",\[\[[\S\s]+?"\^s",(\d+)/);
        if(fnd2){
          var spam=parseInt(fnd2[1]);
          if(spam>0){
            this.spam=spam;
            return parseInt(fnd[1])+(this.includeSpam==2?this.spam:0);
          }
        }
      }
      return fnd[1];
    }else return -1;
  }else{
    var spam=0;
    if(this.includeSpam){
      fnd=aData.match(/<a href="\?s=m"\s*\S+?\((\d+)\)/);
      if(fnd){
        spam=parseInt(fnd[1]);
        if(spam>0){
          this.spam=spam;
          if(this.includeSpam!=2)spam=0;
        }
      }
    }
    if(this.inboxOnly){
      fnd=aData.match(/<\/h2>\s*<tr>\s*<td[\s\S]+?<a[\s\S]+?>.+?(?:&nbsp;\s*\(\s*(\d+)\s*\))?\s*</);
      return fnd?((fnd[1]?parseInt(fnd[1]):0)+spam):-1;
    }else{
      fnd=aData.match(/nvp_bbu_go[\s\S]+?<\/td>([\s\S]+?)<\/table>/);
      if(fnd){
        var n=0;
        var fnd2=fnd[1].match(/<b>(\S+)<\/b>(.+?)<b>(\d+)<\/b>(.+?)<b>(\S+)<\/b>/);
        if(fnd2){
          if(fnd2[2].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[5]))?200:fnd2[5];
          else if(fnd2[4].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[1]))?200:fnd2[1];
        }
        return parseInt(n)+spam;
      }else return -1;
    }
  }
}
function getViewURL(aFolder){
  if(aFolder){
    if(aFolder=="Spam"){
      if(this.UI==2)return this.viewURL+"#spam";
      else return this.viewURL+"?s=m";
    }
    if(this.UI==2){
      if(aFolder.indexOf("#category/")==0)return this.viewURL+aFolder;
      else return this.viewURL+"#label/"+encodeURIComponent(aFolder);
    }else return this.viewURL+"?s=l&l="+encodeURIComponent(aFolder);
  }
  return this.viewURL;
}
function getData(aData){
  var obj={};
  if(!this.showFolders)return obj;
  var ar=[];
  var fnd;
  if(this.UI==2){
    var d=aData;
    fnd=null;
    var list=[];
    while(fnd=d.match(/\n(\d+?)(\n([\S\s]+))/)){
      d=fnd[2].substring(0,fnd[1]);
      d=d.replace(/\[\s*,/g,"[null,").replace(/,\s*(?=,)/g,",null").replace(/,\s*\]/g,",null]");
      var o=JSON.parse(d);
      list=list.concat(o);
      d=fnd[3];
    }
    
    fnd=null;
    for(var i=0;i<list.length;i++){
      if(list[i][0]=="ld"){
        fnd=list[i];
        break;
      }
    }
    if(fnd){
      if(fnd[2]){
        var t=fnd[2];
        for(var i=0;i<t.length;i++){
          var o=t[i];
          if(o[1]>0){
            ar.push({id:o[0],count:o[1]});
          }
        }
      }

      if(fnd[4]){
        var t=fnd[4];
        var slb={"social":"social","promo":"promotions","notification":"updates","group":"forums"};
        for(var i=0;i<t.length;i++){
          var o=t[i];
          if(o[1]>0){
            ar.push({id:"#category/"+slb[o[0].substring(12)],title:this.smartlabel?this.smartlabel[o[0]]:o[0],count:o[1]});
          }
        }
      }

    }
  }else{
    fnd=aData.match(/<td class="?lb"?>([\s\S]+?)<a class="ml"/);
    if(fnd){
      var re=/<a href="(\S+?)">\s*<font[\s\S]+?>(.+?)(?:&nbsp;\s*\(\s*(\d+)\s*\))?\s*</g;
      var o;
      while ((o = re.exec(fnd[1])) != null){
        if(parseInt(o[3])>0){
          ar.push({id:o[2],count:o[3]});
        }
      }
    }
  }
  if(this.spam!=null){
    ar.push({id:"Spam",count:this.spam});
    delete this.spam;
  }
  if(ar)obj.folders=ar;
  return obj;
}


yacornei, на 4.2.10 работает.

Отсутствует

 

№15315-02-2019 12:25:25

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 339
UA: Firefox 56.0

Re: X-notifier

Новый скрипт для X-notifier - 3.5.xx
Gmail работает!


скрытый текст

Выделить код

Код:

/***********************************************************
Gmail
***********************************************************/
var name="GmailX";
var ver="2019-02-09";
var supportInboxOnly=true;
var supportShowFolders=true;
var supportIncludeSpam=true;
 
function init(){
  this.initStage=ST_PRE;
  this.loginData=["https://accounts.google.com/ServiceLoginAuth?service=mail",
                    "Email","Passwd","PersistentCookie=yes"];
  this.baseURL="https://mail.google.com/mail/";
  this.viewDomain="(mail|accounts).google.com";
  this.dataURL=this.baseURL;
  this.viewURL=this.baseURL;
  this.logoutURL="https://accounts.google.com/Logout";
}
function getIconURL(){
  return "https://ssl.gstatic.com/ui/v1/icons/mail/images/favicon2.ico";
}
function checkLogin(aData){
  switch(this.stage){
  case ST_CHECK:
    this.getHtml(this.baseURL);
    return false;
  case ST_CHECK+1:
    var fnd=aData.match(/\"https:\/\/accounts.google.com\/Logout/);
    if(fnd){//logged in
      this.stage=ST_LOGIN_RES+1;
      return this.process(aData);
    }else{
      this.cookieManager.clear();
      this.stage=this.initStage;
      return this.process("");
    }
  }
  this.onError();
  return true;
}
function isLoggedIn(aData){
  var user=this.user.indexOf("@")==-1?this.user+"@\\S+?":this.user;
  user=user.replace(/@googlemail.com/,"@(?:g|google)mail.com");
  var isCurrent=true;
  var reg=new RegExp("\"\\/mail(?:\\/u\\/(\\d+))?\",\\S+?,\"(\\S+?)\",\""+user+"\"","i");
  var fnd=aData.match(reg);
  var fnd2=aData.match(/GM_ACTION_TOKEN="(\S+?)"/);
  if(fnd&&fnd2){
    this.viewURL=this.baseURL+(fnd[1]?"u/"+fnd[1]:"");
    this.dataURL=this.viewURL+"?ui=2&ik="+fnd[2]+"&at="+fnd2[1]+"&view=tl&start=0&num=25&rt=c&as_has=is%3Aunread&as_subset="+(this.inboxOnly?"inbox":"all")+"&search=adv";
    var fnd3=aData.match(/"sx_iosc"\s*,\s*"(\S+?)"/);
    if(fnd3){
      if((fnd3[1]=="^u|"||fnd3[1]=="^t|"))this.useInboxCount=true;
      if(fnd3[1].match(/\^smartlabel_personal\|\S+/))this.smList=fnd3[1].split("|");
    }
    var fnd4=aData.match(/"ix_ioiut"\s*,\s*"(\S+?)"/);
    if(fnd4&&fnd4[1]=="1")this.useInboxCount=true;
    this.UI=2;
    return 1;
  }
  //basic HTML
  fnd=aData.match(/<base href="(\S+?)">/);
  if(fnd){
    this.viewURL=fnd[1];
    this.dataURL=fnd[1]+"?s=q&q=is%3Aunread"+(this.inboxOnly?"+in%3Ainbox":"");
    this.UI=0;
    return 1;
  }
  return -1;
}
function process(aData,aHttp) {
//dout(this.user+" "+this.stage);
if(this.debug)dlog(this.id+"\t"+this.user+"\t"+this.stage,aData);
  switch(this.stage){
  case ST_PRE:
    try{
      var s=this.main.prefBranch.getCharPref("accounts.["+this.id+"#"+this.user+"].cookie");
      s=s.split("\t");
      this.cookieManager.addCookies(s[0],s[1]);
    }catch(e){}
    this.getHtml("https://accounts.google.com/ServiceLogin?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&rip=1&nojavascript=1");
    return false;
  case ST_PRE_RES:
    var form=this.getForm(aData,"gaia_loginform",true);
    if(form){
      this.stage=ST_LOGIN;
      this.getHtml("https://accounts.google.com/signin/challenge/sl/password",this.loginData[LOGIN_POST]+"&"+form[1]);
      return false;
    }
    break;
  case ST_LOGIN_RES:
    var form=this.getForm(aData,"challenge",true);
    if(form){//2-step verification
      this.form=form;
      this.stage=ST_LOGIN_RES+3;
      this.openAuthDialog(this.id,this.user,null);
      return true;
    }
    ++this.stage;
  case ST_LOGIN_RES+1:
    var fnd=aData.match(/action="ChromeLoginPrompt"/);
    if(fnd){
      this.getHtml(this.viewURL);
      return false;
    }
    ++this.stage;
  case ST_LOGIN_RES+2:
    if(this.isLoggedIn(aData)==1){
      if(this.enableCategory||this.smList){
        var fnd=aData.match(/\["sld",\[(\[[\s\S]+?\])\]/);
        if(fnd){
          var re=/\["(.+?)"\s*,\s*"(.+?)"/g;
          var o;
          this.smartlabel={};
          while ((o = re.exec(fnd[1])) != null){
            var fn=unescape(o[2].replace(/\\u/g,"%u"))
            this.smartlabel[o[1]]=fn;
          }
        }
      }else{
        this.smartlabel={"^smartlabel_promo":"Promotions","^smartlabel_notification":"Updates","^smartlabel_social":"Social","^smartlabel_group":"Forums","^smartlabel_personal":"Personal"};
      }
      this.stage=ST_DATA;
    }
    break;
  case (ST_LOGIN_RES+3)://2-step verification
    if(aData){
      this.getHtml("https://accounts.google.com/"+this.form[0],this.form[1]+"&Pin="+encodeURIComponent(aData)+"&TrustDevice=on");
      delete this.form;
      return false;
    }
    break;
  case (ST_LOGIN_RES+4)://2-step verification
    var ck=this.cookieManager.findCookieString("accounts.google.com","SMSV");
    if(ck){
      this.main.prefBranch.setCharPref("accounts.["+this.id+"#"+this.user+"].cookie",aHttp.URI.spec+"\t"+ck);
    }
    this.stage=ST_LOGIN_RES;
    return this.process(aData,aHttp);
  }
  return this.baseProcess(aData,aHttp);
}
function getCount(aData){
  var fnd;
  if(this.UI==2){
    var count;
    if(this.inboxOnly)count=(aData.match(/"\^sq_ig_i_personal"/gm) || []).length;
    else{
      fnd=aData.match(/\["ti",.+?,(\d+)/);
      if(fnd)count=parseInt(fnd[1]);
      else return -1;
    }
    if(this.includeSpam){
      var fnd2=aData.match(/"ld",\[\[[\S\s]+?"\^s",(\d+)/);
      if(fnd2){
        var spam=parseInt(fnd2[1]);
        if(spam>0){
          this.spam=spam;
          count+=parseInt(this.includeSpam==2?this.spam:0);
        }
      }
    }
    return count;
  }else{
    var spam=0;
    if(this.includeSpam){
      fnd=aData.match(/<a href="\?s=m"\s*\S+?\((\d+)\)/);
      if(fnd){
        spam=parseInt(fnd[1]);
        if(spam>0){
          this.spam=spam;
          if(this.includeSpam!=2)spam=0;
        }
      }
    }
    if(this.inboxOnly){
      fnd=aData.match(/<\/h2>\s*<tr>\s*<td[\s\S]+?<a[\s\S]+?>.+?(?:&nbsp;\s*\(\s*(\d+)\s*\))?\s*</);
      return fnd?((fnd[1]?parseInt(fnd[1]):0)+spam):-1;
    }else{
      fnd=aData.match(/nvp_bbu_go[\s\S]+?<\/td>([\s\S]+?)<\/table>/);
      if(fnd){
        var n=0;
        var fnd2=fnd[1].match(/<b>(\S+)<\/b>(.+?)<b>(\d+)<\/b>(.+?)<b>(\S+)<\/b>/);
        if(fnd2){
          if(fnd2[2].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[5]))?200:fnd2[5];
          else if(fnd2[4].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[1]))?200:fnd2[1];
        }
        return parseInt(n)+spam;
      }else return -1;
    }
  }
}
function getViewURL(aFolder){
  if(aFolder){
    if(aFolder=="Spam"){
      if(this.UI==2)return this.viewURL+"#spam";
      else return this.viewURL+"?s=m";
    }
    if(this.UI==2){
      if(aFolder.indexOf("#category/")==0)return this.viewURL+aFolder;
      else return this.viewURL+"#label/"+encodeURIComponent(aFolder);
    }else return this.viewURL+"?s=l&l="+encodeURIComponent(aFolder);
  }
  return this.viewURL;
}
function getData(aData){
  var obj={};
  if(!this.showFolders)return obj;
  var ar=[];
  var fnd;
  if(this.UI==2){
    var d=aData;
    fnd=null;
    var list=[];
    while(fnd=d.match(/\n(\d+?)(\n([\S\s]+))/)){
      d=fnd[2].substring(0,fnd[1]);
      d=d.replace(/\[\s*,/g,"[null,").replace(/,\s*(?=,)/g,",null").replace(/,\s*\]/g,",null]");
      var o=JSON.parse(d);
      list=list.concat(o);
      d=fnd[3];
    }
     
    fnd=null;
    for(var i=0;i<list.length;i++){
      if(list[i][0]=="ld"){
        fnd=list[i];
        break;
      }
    }
    if(fnd){
      if(fnd[2]){
        var t=fnd[2];
        for(var i=0;i<t.length;i++){
          var o=t[i];
          if(o[1]>0){
            ar.push({id:o[0],count:o[1]});
          }
        }
      }
 
      if(this.enableCategory||this.smList){
        if(fnd[4]){
          var t=fnd[4];
          var slb={"social":"social","promo":"promotions","notification":"updates","group":"forums"};
          for(var i=0;i<t.length;i++){
            var o=t[i];
            if(this.enableCategory||this.smList.indexOf(o[0])!=-1){
              if(o[1]>0){
                ar.push({id:"#category/"+slb[o[0].substring(12)],title:this.smartlabel?this.smartlabel[o[0]]:o[0],count:o[1]});
              }
            }
          }
        }
      }
    }
  }else{
    fnd=aData.match(/<td class="?lb"?>([\s\S]+?)<a class="ml"/);
    if(fnd){
      var re=/<a href="(\S+?)">\s*<font[\s\S]+?>(.+?)(?:&nbsp;\s*\(\s*(\d+)\s*\))?\s*</g;
      var o;
      while ((o = re.exec(fnd[1])) != null){
        if(parseInt(o[3])>0){
          ar.push({id:o[2],count:o[3]});
        }
      }
    }
  }
  if(this.spam!=null){
    ar.push({id:"Spam",count:this.spam});
    delete this.spam;
  }
  if(ar)obj.folders=ar;
  return obj;
}

Отредактировано firepox (15-02-2019 12:48:33)

Отсутствует

 

№15415-02-2019 14:11:05

yacornei
Участник
 
Группа: Members
Зарегистрирован: 07-08-2012
Сообщений: 32
UA: IE 11.0

Re: X-notifier

yacornei, на 4.2.10 работает.

О Спасибки друг! Все работает,у меня не 4.2.10 а 3.5.25 все хоккей!  и гмаил,и яндекс и маил все фурычит!:music:

Добавлено 15-02-2019 14:13:59

Новый скрипт для X-notifier - 3.5.xxGmail работает!

Благодарю! Сохранил на всякий пожарный :blush:

Отредактировано yacornei (15-02-2019 14:13:59)

Отсутствует

 

№15521-02-2019 18:16:15

Simnet
Участник
 
Группа: Members
Зарегистрирован: 13-12-2016
Сообщений: 33
UA: Firefox 52.0

Re: X-notifier

И снова яндекс скрипт не работает ( Есть умельцы подправить?

Отсутствует

 

№15621-02-2019 18:25:55

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 339
UA: Firefox 56.0

Re: X-notifier

яндекс скрипт не работает :whiteflag:

Отсутствует

 

№15721-02-2019 18:41:57

Hobbix
Участник
 
Группа: Members
Зарегистрирован: 18-07-2012
Сообщений: 109
UA: Firefox 65.0

Re: X-notifier

Да, скрипт яндекса перестал работать. Выручайте :)
Причем старый скрипт работает как-то частично. Если кликнуть по почте в списке адресов дополнения, то он перенапрявляет на страницу логина яндекса. Но если после этого ещё раз вручную зайти в почту яндекса, то увидим, что в реальности мы в почту залогинились.

Отредактировано Hobbix (21-02-2019 18:45:20)

Отсутствует

 

№15828-02-2019 09:08:39

Simnet
Участник
 
Группа: Members
Зарегистрирован: 13-12-2016
Сообщений: 33
UA: Firefox 52.0

Re: X-notifier

Парни есть новости по яндексу?

Отсутствует

 

№15928-02-2019 19:31:11

Hobbix
Участник
 
Группа: Members
Зарегистрирован: 18-07-2012
Сообщений: 109
UA: Firefox 65.0

Re: X-notifier

Новый скрипт для Яндекса от pangasiys, за что ему огромное спасибо. Всё пока работает.

скрипт

Выделить код

Код:

/**********************************************************
Yandex
**********************************************************/
var name = "Yandex.ru";
var ver = "2019-02-27";
var hostString = "yandex.ru";

function init() {
    this.loginData = ["https://passport.yandex.ru/passport?mode=auth", "login", "passwd", "retpath=" + encodeURIComponent("https://mail.yandex.ru")];
    this.dataURL = "https://mail.yandex.ru/web-api/models/liza1?_m=folders";
    this.viewURL = "https://mail.yandex.ru";
    this.cookieDomain = "yandex.ru";
}

function getCount(aData) {
    var fnd = aData.match(/"new":(\d+),"name":"Inbox"/);
    return fnd ? fnd[1] : -1;
}

function process(aData, aHttp) {
    switch (this.stage) {
        case ST_LOGIN_RES:
            this.stage = ST_DATA;

        case ST_DATA:
            var ckey = aData.match(/"ckey":"(\S+?)"/);
            var uid = aData.match(/"uid":"(\S+?)"/);
            var timestamp = aData.match(/"timestamp":(\d+)/);
            if (ckey && uid && timestamp) {
                var aHeaders = {"X-Requested-With": "XMLHttpRequest", "Content-Type": "application/json; encoding=utf-8"}; 
                var aPostData = '{"_ckey":"' + ckey[1] + '","_uid":"' + uid[1] + '","_timestamp":' + timestamp[1] +',"models":[{"name":"folders","params":{}},{"name":"labels","params":{}},{"name":"messages","params":{"threaded":"yes","current_folder":"true","sort_type":"date","with_pins":"yes"}}]}';
                this.getHtml(this.dataURL, aPostData, aHeaders);
                return false;
            }
    }
    return this.baseProcess(aData, aHttp);
}

Отсутствует

 

№16009-03-2019 09:43:40

MENYA
Участник
 
Группа: Members
Зарегистрирован: 16-12-2010
Сообщений: 10
UA: Firefox 65.0
Веб-сайт

Re: X-notifier

простите, запутался)
что поставить чтобы работал на
гмайл, маил.ру?

Отсутствует

 

№16109-05-2019 08:53:48

memo
Участник
 
Группа: Members
Зарегистрирован: 09-05-2019
Сообщений: 2
UA: Chrome 74.0

Re: X-notifier

firepox

подскажите, пожалуйста, где взать 3.5.хх версию

Отсутствует

 

№16209-05-2019 12:47:36

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 577
UA: Firefox 52.0

Re: X-notifier

memo
X-notifier 3.5.xx

Отредактировано kokoss (09-05-2019 12:49:14)

Отсутствует

 

№16317-05-2019 12:37:46

memo
Участник
 
Группа: Members
Зарегистрирован: 09-05-2019
Сообщений: 2
UA: Chrome 74.0

Re: X-notifier

kokoss пишет:

memoX-notifier 3.5.xx
                    Отредактировано kokoss (09-05-2019 11:49:14)

Спасибо, жаль, что эта фишка с новыми версиями Firefox не работает.

Отсутствует

 

№16427-09-2019 16:32:10

nsv
Участник
 
Группа: Members
Зарегистрирован: 19-08-2016
Сообщений: 11
UA: unknown 0.0

Re: X-notifier

mail.ru у всех отвалился?

Отсутствует

 

№16527-09-2019 17:07:55

svislav
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 6
UA: Chrome 77.0

Re: X-notifier

nsv пишет:

mail.ru у всех отвалился?

У меня пару месяцев назад отваливался, когда на новый интерфейс мэйла перешёл. Вернул на старый и снова заработал.
На официальном форуме pangasiys выложил скрип, говорит, что у него с новым интерфейсом работает. Я не проверял.
Вот он:

скрытый текст
/**********************************************************
    @MAIL.RU

**********************************************************/
var name="Mail.RU";
var ver="2019-09-19";
var hostString="mail.ru";

function init() {
    var ar=this.user.split("@");
    if(!ar[1])ar[1]="mail.ru";
    this.dataURL="https://e.mail.ru/inbox/?rf=e.mail.ru&afterReload=1";
    this.loginData=["https://auth.mail.ru/cgi-bin/auth",,"Password","Login="+encodeURIComponent(ar[0])+"&Domain="+encodeURIComponent(ar[1])];
    this.viewURL="https://e.mail.ru/inbox/?rf=e.mail.ru&afterReload=1";
    this.cookieDomain="mail.ru";
}
function getCount(aData) {
    var fnd = aData.match(/g_mail_events.+?(\d+)<\/i>/);
    return fnd?(fnd[1]?fnd[1]:0):-1;
}

function getIconURL(){
    return "http://img.imgsmail.ru/r/ru/favicon.ico?1";
}

Отсутствует

 

№16627-09-2019 19:10:58

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 339
UA: Firefox 52.0

Re: X-notifier

nsv пишет:

mail.ru у всех отвалился?

6 аккаунтов
4 проверяются
2 нет

Отредактировано firepox (27-09-2019 19:11:17)

Отсутствует

 

№16728-09-2019 09:24:14

nsv
Участник
 
Группа: Members
Зарегистрирован: 19-08-2016
Сообщений: 11
UA: unknown 0.0

Re: X-notifier

svislav
Спасибо. Скрипт рабочий.

Отсутствует

 

№16808-10-2019 03:46:49

казявка
Участник
 
Группа: Members
Зарегистрирован: 13-08-2014
Сообщений: 122
UA: Firefox 69.0

Re: X-notifier

я тоже раньше постоянно пользовался X-notifier расширением для уведомлений о приходе писем - пока не набрёл на расширение точно с такими-же функциями но попроще - а именно Мои сообщения
оно точно так-же информирует звуком и всплывашкой о приходе писем со множества почтовых ящиков - есть один важный нюанс - нужно обязательно настроить чтоб сохранялись и не удалялись куки с ваших страниц где почта - вот например у меня почта Mail.ru и Yandex.ru и вот нужно настроить чтоб куки от этих двух почтовиков не удалялись при закрытии браузера:
https://funkyimg.com/p/2Y6ow.png

....кстати на 70 Лисе многие скрипты X-notifier не работают и не возможно добавить их - так что единственная альтернатива это Мои сообщения

Отредактировано казявка (29-10-2019 19:14:08)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]