Plugin tu.tv

Publicado por luistec, Noviembre 24, 2012, 09:54:59 PM

Tema anterior - Siguiente tema

luistec

Código de fuente del plugin para la página de videos http://tu.tv


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hvm200.tu.tv.so hvm200.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hvm200.tu.tv/") != string::npos) and
    ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}



#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m90.tu.tv.so hv2m90.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hv2m90.tu.tv/") != string::npos) and
    ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


Si hay videos que no hagan caché publicar sus url.

Saludos.


firecold

Cita de: luistec en Noviembre 24, 2012, 09:54:59 PM
Código de fuente del plugin para la página de videos http://tu.tv


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hvm200.tu.tv.so hvm200.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hvm200.tu.tv/") != string::npos) and
    ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}



#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m90.tu.tv.so hv2m90.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hv2m90.tu.tv/") != string::npos) and
    ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


Si hay videos que no hagan caché publicar sus url.

Saludos.



amigo una pregunta a ti si te hacen cache, porque yo los probe e intente hace ratos hacer algo parecido a lo que hiciste pero nada no he podido hacer cache de tu.tv, Saludos

luistec

Claro que hace Hit amigo sino no lo publicaría, ahí unas capturas






firecold

http://hvm170g.tu.tv/vid72/0/031/774/0031774257.flv
http://hv2m91.tu.tv/vid71/0/031/774/0031774274.flv
http://hv2m92.tu.tv/vid61/0/031/765/0031765478.flv
http://hv2m93.tu.tv/vid72/0/031/763/0031763306.flv


Aqui tienes mas fuentes, por lo menos las que he encontrado hasta el momento, ya los probe, si funcionan, lo que paso es que me tope con estas otras fuentes y no las que tu pusistes, pero despues salieron videos de las fuentes que pusistes y re bien sin errores, Gracias Luistec

firecold

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hvm170g.tu.tv.so hvm170g.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hvm170g.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m92.tu.tv.so hv2m92.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hv2m92.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m93.tu.tv.so hv2m93.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hv2m93.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m91.tu.tv.so hv2m91.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hv2m91.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


Basandome en tus anteriores plugins de tu.tv, aqui esta el codigo de los servidores que puse anteriormente, probados y funcionando en este momento, Saludos

luistec

Cita de: firecold en Noviembre 26, 2012, 12:59:42 PM
Basandome en tus anteriores plugins de tu.tv, aqui esta el codigo de los servidores que puse anteriormente, probados y funcionando en este momento, Saludos
Claro amigo por eso puse que si habían videos que no hacían caché publicar sus url, ya va quedando cubierto este plugin.

Saludos.

firecold

Cita de: luistec en Noviembre 26, 2012, 06:06:28 PM
Claro amigo por eso puse que si habían videos que no hacían caché publicar sus url, ya va quedando cubierto este plugin.

Saludos.

Amigo Luistec sera que se puede decir a Joemg6 que incluya algunos de los plugins creados en este foro, obviamente los mas estables y que no hayan dado problemas o esten corregidos, que crees, sera posible, Saludos

firecold

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv100.tu.tv.so hv100.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("hv100.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "tutv";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


encontre otro servidor, Saludos

firecold

Amigo Luistec esta pensando hacer el plugin algo asi:

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o tu.tv.so tu.tv.cpp
// // Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string dominiotxt="tu.tv";
string get_filename(string url) {
      vector<string> resultado;
      if (url.find("?") != string::npos) {
         stringexplode(url, "?", &resultado);
         stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
         return resultado.at(resultado.size()-1);           
      } else {
         stringexplode(url, "/", &resultado);
         return resultado.at(resultado.size()-1);
      }
}

extern "C" resposta getmatch(const string url) {
    resposta r;   
if ( (url.find("hv100.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find("hvm200.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m90.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find("hvm170g.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m92.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m93.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m91.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
   ) {
dominiotxt="tu.tv";
}
if ( (url.find(".tu.tv/") != string::npos)
   ) {
     
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;         
         r.domain = dominiotxt;
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}


pero no me resulto, no tiene problemas de compilacion, pero por alguna razon no me funciona, tienes alguna idea, Saludos

luistec

Cita de: firecold en Noviembre 28, 2012, 03:05:12 PM
Amigo Luistec esta pensando hacer el plugin algo asi:

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o tu.tv.so tu.tv.cpp
// // Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

string dominiotxt="tu.tv";
string get_filename(string url) {
     vector<string> resultado;
     if (url.find("?") != string::npos) {
        stringexplode(url, "?", &resultado);
        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
        return resultado.at(resultado.size()-1);          
     } else {
        stringexplode(url, "/", &resultado);
        return resultado.at(resultado.size()-1);
     }
}

extern "C" resposta getmatch(const string url) {
   resposta r;  
if ( (url.find("hv100.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find("hvm200.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m90.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find("hvm170g.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m92.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m93.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find("hv2m91.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") == string::npos) )
  ) {
dominiotxt="tu.tv";
}
if ( (url.find(".tu.tv/") != string::npos)
  ) {
     
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;        
        r.domain = dominiotxt;
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}


pero no me resulto, no tiene problemas de compilacion, pero por alguna razon no me funciona, tienes alguna idea, Saludos

Por lo que he podido ver para que el plugin funcione necesita hacerse desde su subdominio porque si uno lo hace desde el dominio principal este no funciona, como ves en tu codigo está con el nombre del dominio principal por eso es el que no funciona, esto lo pude hacer viendo como ejemplo el plugin que posteo joemg de AVG que tambien utiliza este modo, ya que al parecer el plugin anterior ya no funcionaba por que se dirigia al dominio principal.

Saludos.

jamo

muy bueno,,, pero tengo una duda y es que veo que en todos sus codigos ponen en el apartado donde se declara como aparecera en el thunder report ponen en mismo nombre

r.domain = "tutv";

supongo que no marca error por eso lo estan haciendo asi, lo que me imagino que si se pone el mismo ( es la ruta de guardado como si fuera una carpeta de windows) todo lo guarda  ahi osea en " r.domain = "tutv"; ", asi es ???? y que pasa si se pone otro nombre ?.

Ahora lo que comentas LuisTec lo del plugin del AVG de joem que viste en donde esta me gustaria echarle una mirada. Por que el plugin que viene con la instalacion no almacena y mucho menos hace HIT, al menos  en mi server no hace nada.

saludos

firecold

Cita de: jamo en Diciembre 03, 2012, 06:35:10 PM
muy bueno,,, pero tengo una duda y es que veo que en todos sus codigos ponen en el apartado donde se declara como aparecera en el thunder report ponen en mismo nombre

r.domain = "tutv";

supongo que no marca error por eso lo estan haciendo asi, lo que me imagino que si se pone el mismo ( es la ruta de guardado como si fuera una carpeta de windows) todo lo guarda  ahi osea en " r.domain = "tutv"; ", asi es ???? y que pasa si se pone otro nombre ?.

Ahora lo que comentas LuisTec lo del plugin del AVG de joem que viste en donde esta me gustaria echarle una mirada. Por que el plugin que viene con la instalacion no almacena y mucho menos hace HIT, al menos  en mi server no hace nada.

saludos

es para que en el /thunder, se escriba la informacion en la misma carpeta, en este caso tutv, espero haber aclarado tus dudas, Saludos

jamo

gracias firecold, y claro que si, pues algo asi me imaginaba.

saludos

firecold

Cita de: luistec en Noviembre 30, 2012, 10:33:53 AM
Por lo que he podido ver para que el plugin funcione necesita hacerse desde su subdominio porque si uno lo hace desde el dominio principal este no funciona, como ves en tu codigo está con el nombre del dominio principal por eso es el que no funciona, esto lo pude hacer viendo como ejemplo el plugin que posteo joemg de AVG que tambien utiliza este modo, ya que al parecer el plugin anterior ya no funcionaba por que se dirigia al dominio principal.

Saludos.

Amigo Luistec puedes probar tus plugins de tu.tv, es que derepente el mio dejo de funcionar, tienen las mismas fuentes pero por alguna razon no funciona, Saludos

jamo

Hola. y porfin como va este plugin ?  Y firecold te sigue dando los problemas que mensionas ?? y a los demas como les esta funcionando.

saludos

firecold

Cita de: jamo en Diciembre 28, 2012, 10:46:09 AM
Hola. y porfin como va este plugin ?  Y firecold te sigue dando los problemas que mensionas ?? y a los demas como les esta funcionando.

saludos

según parece lo que ha estado pasando es que tu.tv esta temporalmente pasando sus archivos a otro servidor, el servidor es videoshwhv166.tu.tv, pero como dije solo es temporal entonces habrá que esperar, muchas veces pasa cuando dan mantenimiento a los servidores, igualmente siempre estare notificando, cualquier cambio, Saludos

jamo

Cita de: firecold en Diciembre 28, 2012, 12:22:15 PM
según parece lo que ha estado pasando es que tu.tv esta temporalmente pasando sus archivos a otro servidor, el servidor es videoshwhv166.tu.tv, pero como dije solo es temporal entonces habrá que esperar, muchas veces pasa cuando dan mantenimiento a los servidores, igualmente siempre estare notificando, cualquier cambio, Saludos

Gracias por tu respuesta y entonces hay que esperar y tu crees que todo lo ya tienes cacheado deje de funcionar ???? y no se puede hacer un plugin para ese servidor que mencionas ???

saludos

firecold

Cita de: jamo en Diciembre 30, 2012, 09:21:36 PM
Gracias por tu respuesta y entonces hay que esperar y tu crees que todo lo ya tienes cacheado deje de funcionar ???? y no se puede hacer un plugin para ese servidor que mencionas ???

saludos

Los plugins de tu.tv siguen funcionando con normalidad o por lo menos han estado haciendo hit, Saludos