Uma versão do BFW Cache 1.0 foi liberada no ano passado em caráter experimental no addon-manager por alguns dias. Nesse tempo alguns colegas o instalaram, mas depois foi retirada do ar deixando para retornar na versão do BFW Cache 1.1, já completa e com novos recursos.elfairus escreveu:donde encuentro el bfwcache x64. les agradeceria me dijeran. gracias
yoboss escreveu:Nuevo plugin compilado y Código Fuente aqui:
Goear
Especialmente para guardar mp3 y escuchar música fluido muy fluido.
http://www.brazilfw.com.br/forum/viewtopic.php?f=78&t=82831
http.*\.goear.com*
marcioducrato escreveu: ... gostaria de saber pq o bfw cache foi retirado da relação de plugins homologados, disponiveis pra baixar atraveis do addon maneger na interface web do bfw ...
yoboss, veja se consegue colocar aqui nesse tópico o source desse plugin.yoboss escreveu:Nuevo plugin compilado y Código Fuente aqui:
Goear
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"
using namespace std;
// use this line to compile
// g++ -I. -fPIC -shared -g -o plugin.so plugin.cpp
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("live3.goear.com/") != string::npos) and (url.find("mp3files/") != string::npos) and (url.find(".mp3") != string::npos)
) {
r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "goear";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}
GET /videoplayback?
[color=#00FF00]sver=3[/color]
&sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
[color=#00FF00]&burst=40[/color]
[color=#00FF00]&itag=34[/color]
&key=yt1
&source=youtube
&factor=1.25
&fexp=909521,919701,913101,913603,914102
&signature=718C509B26732B9084E835785807113B4CCAE182.0D1268865D30DEAA4D4CC60EEADEB1F197A74B86
&id=1ce5f5f3f295f288
&cp=U0hSR1lUT19KTUNOMl9RTlNDOjRuWWdvM2NtWTla
&algorithm=throttle-factor
&expire=1332991253
&ipbits=8
&range=13-1781759
&ip=190.0.0.0
&keepalive=yes
&cm2=1
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909521,919701,913101,913603,914102
&algorithm=throttle-factor&itag=34
&ip=190.0.0.0
&burst=40
&sver=3
&signature=718C509B26732B9084E835785807113B4CCAE182.0D1268865D30DEAA4D4CC60EEADEB1F197A74B86
&source=youtube
&expire=1332991253
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSR1lUT19KTUNOMl9RTlNDOjRuWWdvM2NtWTla
&id=1ce5f5f3f295f288
&cm2=0
...K..........onMetaData.......duration.@M....v...starttime...........totalduration.@M....v...width.@~........height.@v........videodatarate.@r.]e.Z...audiodatarate.@`........totaldatarate.@{ik_HHt..framerate.@=.;w.B...bytelength.AH........canseekontime...
FLV.............K..........onMetaData.......duration.@m.t.j~...starttime...........totalduration.@m.t.j~...width.@t........height.@n........videodatarate.@TT.C..W..audiodatarate.@M........totaldatarate.@b...s4a..framerate.@>..h.G...bytelength.AP.^......can
Esto lo tienen que programar aquí alguien mas tiene que prestar soporte si lo queremos arreglar rapido
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909327
&algorithm=throttle-factor
&itag=34
&ip=190.0.0.0
&burst=40
&sver=3
&signature=542AA1BB4E7BD7499A397028CA68D54C42BFF76E.179BDCAF551F5ADFCA8A2A7F9121CD9A346300FC
&source=youtube
&expire=1332994414&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSR1lUUl9GTkNOMl9RTlZFOnpRVloxcVdpNmJr
&id=4221744c4dd52f18
&cm2=1 HTTP/1.1
Host: o-o.preferred.tiws-mia1.v13.lscache4.c.youtube.com
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909327
&algorithm=throttle-factor
&itag=34
&ip=190.0.0.0
&burst=40
&sver=3
&signature=6A4A249755503CE8B21BB687FC790913C4E41956.2F611963A072BC7190FB8CC61EE1B2D5C2E8E826
&source=youtube
&expire=1332996131
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSR1lUVF9IS0NOMl9RTlhCOndRVloxcVdrM2Ro&id=fd900ea3df3b4789
&cm2=1
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909327&algorithm=throttle-factor&itag=34
&ip=190.0.0.0
&burst=40&sver=3
&signature=25DE26EADA08915FC2606F7FDE082EA9677CB915.28EB0E13710469FB1DB126FD29603CA59A6ABD5B
&source=youtube
&expire=1332997879
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSR1lUVV9MU0NOMl9RTllJOmVRVloxcVdsMGhw
&id=31b0b4f5bff98791
&ptchn=WHATDAFAQSHOW
&ptk=FullScreen
&cm2=1
Você está certo. Então o nosso plugin atual está cacheando algumas partes de videos.yoboss escreveu:Resultado en nuestro servidor:
Primera parte Cache miss OK detecto el range
Segunda parte Cache HIT no viene con range
1- De onde você está pegando a url completa de cada vídeo? É de algum programa ou de um log?yoboss escreveu:Resultado:
parte 1:
- Código: Selecionar todos
GET /videoplayback?
sver=3
&sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&burst=40
&itag=34
&key=yt1
&source=youtube
&factor=1.25
&fexp=909521,919701,913101,913603,914102
&signature=718C509B26732B9084E835785807113B4CCAE182.0D1268865D30DEAA4D4CC60EEADEB1F197A74B86
&id=1ce5f5f3f295f288
&cp=U0hSR1lUT19KTUNOMl9RTlNDOjRuWWdvM2NtWTla
&algorithm=throttle-factor
&expire=1332991253
&ipbits=8
&range=13-1781759
&ip=190.0.0.0
&keepalive=yes
&cm2=1
Parte 2:
- Código: Selecionar todos
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909521,919701,913101,913603,914102
&algorithm=throttle-factor&itag=34
&ip=190.0.0.0
&burst=40
&sver=3
&signature=718C509B26732B9084E835785807113B4CCAE182.0D1268865D30DEAA4D4CC60EEADEB1F197A74B86
&source=youtube
&expire=1332991253
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSR1lUT19KTUNOMl9RTlNDOjRuWWdvM2NtWTla
&id=1ce5f5f3f295f288
&cm2=0
2- Qual tag, ou parte da URL, que recebe esse valor acima. Entendi sua idéia de verificar se começa com FLV para ver se é arquivo inteiro. Inclusive podemos substituir a cláusula que verifica se possui range e trocar por essa que verifica se começa com FLV.yoboss escreveu:FLV.............K..........onMetaData.......duration.@m.t.j~...starttime...........totalduration.@m.t.j~...width.@t........height.@n........videodatarate.@TT.C..W..audiodatarate.@M........totaldatarate.@b...s4a..framerate.@>..h.G...bytelength.AP.^......can
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909521,919701,913101,913603,914102
&algorithm=throttle-factor
&itag=34
&ip=190.0.0.0
&burst=40
&sver=3
&signature=247455018A3736957F3253159E536333C2BA11C7.8BAE49F7AC75242DB3159FA38526DB5256B12B0E
&source=youtube
&expire=1333015877
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSSFBMU19MUUNOMl9IRldJOjhuWWdwNHVxRTFE
&id=b7949de5ce28f543
&ptchn=KatyPerryVEVO
&ptk=vevo
&cm2=1
GET /videoplayback?
sparams=cp,id,ip,ipbits,itag,ratebypass,source,expire
&fexp=909521,919701,913101,913603,914102
&itag=43
&ip=190.0.0.0
&signature=14B7F6E45726797363048780DC788310C74AD5FF.7234E9230CEF852530C9D886E81686EC43FE4CD9
&sver=3
&ratebypass=yes
&source=youtube
&expire=1333015000
&key=yt1
&ipbits=8
&cp=U0hSSFBMU19FSkNOMl9IRldBOjFuWWdwNHVxVzRX
&id=613b0d3dad068d1c HTTP/1.1
GET /videoplayback?
sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909327
&algorithm=throttle-factor
&itag=34
&ip=190.0.0.0&burst=40
&sver=3
&signature=D5519F85638646EC4BC8B35D4D2E8EE7E130899B.A397482FDBCD8BABDCC279C4DD97978A32B4769F
&source=youtube
&expire=1333017637
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSSFBMVV9IUUNOMl9IRllHOmNRVloyaE9sOGRu
&id=9c45736ce32fb7e5
&cm2=1
&redirect_counter=1
GET /videoplayback?
cp=U0hSSFBMVV9IUUNOMl9IRllHOmNRVloyaE9sOGRu
&factor=1.25
&ip=201.0.0.0
&id=9c45736ce32fb7e5
&signature=6D2932BB691A4E2DFE7816E1983A038E66BBECB8.3E8B9AF421993399391C113CE60D0741CEC3F0BA
&fexp=909327
&algorithm=throttle-factor
&itag=34
&ipbits=8
&key=yt1
&source=youtube
&expire=1333017637
&burst=40
&sver=3
&sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&playretry=1
&cm2=1
Date: Thu, 29 Mar 2012 05:10:01 GMT
GET /videoplayback
?burst=40
&range=13-1781759
&sver=3
&factor=1.25
&ip=190.0.0.0
&key=yt1
&source=youtube
&expire=1333020850
&signature=AD15360FF82B9C8FBF9BFDE18D637091840C89D1.1A39F388DBAB6C010362A31DD0139A5B2C1FE065
&algorithm=throttle-factor
&sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&ipbits=8
&id=4afd0e0d44ce946f
&cp=U0hSSFBNTl9KSkNOMl9IR1JJOjFuWWdwNHZsRTlX
&fexp=909521,919701,913101,913603,914102
&keepalive=yes
&itag=34
&cm2=1
Date: Thu, 29 Mar 2012 05:10:00 GMT
GET /videoplayback
?sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,expire
&fexp=909521,919701,913101,913603,914102
&algorithm=throttle-factor
&itag=34
&ip=190.0.0.0
&burst=40
&sver=3
&signature=AD15360FF82B9C8FBF9BFDE18D637091840C89D1.1A39F388DBAB6C010362A31DD0139A5B2C1FE065
&source=youtube
&expire=1333020850&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSSFBNTl9KSkNOMl9IR1JJOjFuWWdwNHZsRTlX
&id=4afd0e0d44ce946f
&begin=10007
&cm2=0
gerardonoh escreveu:para analizar lo que pasa con las solicitudes REQUEST de la web hay un programa (complemento / EXTENCION ) llamado LIVE HTTP HEADER es para firefox funciona para linux y windows. lee todo lo que entra y sale.
GET /videoplayback
?upn=NjQxNzIzNDUwMzM1NzM2MTMxMg
&sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,source,upn,expire
&fexp=909327&algorithm=throttle-factor
&itag=34
&ip=201.0.0.0
&burst=40
&sver=3
&signature=88F8695E1424E77CD77F4DD959F2405E0D8796A0.60F91DB4E56A165747AB8B59CFED59027698DB03
&source=youtube
&expire=1333073505
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSSFBSUV9FT0NOMl9ITFVGOmFRVloyaFVoN2Fs
&id=ebe23ae32cabb027
&ptchn=OficialMana
&ptk=WMG
&cm2=1
Muitos plugins estão desatualizados. Na próxima versão alguns virão corrigidos, mas uma revisão completa ainda será necessária para uma outra versão futura.joao isaquias escreveu:ola amigos gostaria de uma ajudinha. eu estava usando o bfw so para balance mas agora estou precisando muito do bfw cache. estalei ele mas so ta cacheando orkut ja li desde o primeiro topico e nao entendi muito alguen ai poderia me dar uma ajuda ?
joao isaquias escreveu:ablitei o mysar e o squid estartei o bfwcache. e nadatem alguma luz ai?
ENABLE_MYSQL='no'
/etc/init.d/mysql start
jeferson_s2004 escreveu:boa noite estou usando o bfwcache a algum tempo, com nome de thunder, percebi que os plugins funcionam, mas , algumas confgurações das operadoras causam um erro na busca exemplo quando video vem direto do cache da operadora aparece aquela msg "ocorreu um erro tente mais tarde " nos videos de youtube....percebi que alguns videos se corrompem no cache o que repete o erro e alguns começam e param como é o caso dos videos ja comentados no site.....estou testando o plugin do BRUNOVESCOVI......[b]PERCEBI QUE O ERRO ESTÁ NA FALTA DE CAPACIDADE DO THUNDER ATUALIZAR O QUE ESTA EM CACHE, PERMITE QUE O CACHE FIQUE CHEI DE ARQUIVOS CORROMPIDOS....UM EXEMPLO INTERESSANTE ESTA SQUID O SCRITP: refresh_pattern . 0 20% 4320 refresh-ims - ATUALIZA O QUE ESTA EM CACHE QUANDO O USUARIO CLICA EM ATUALIZAR....PARABENS A VOÇÊS DO FORUM, SOU FAM DO BFW E GOSTARIA DE VER BFWCACHE EM 1000%......SE ALGUEM PUDER ENVIAR ALGUMAS DICAS PARA VER A LINGUAGEM DOS PLUGINS AGRADEÇO.... OU DESEMPACOTAR.....OBRIGADO...
joao isaquias escreveu:ola amigos gostaria de uma ajudinha. eu estava usando o bfw so para balance mas agora estou precisando muito do bfw cache. estalei ele mas so ta cacheando orkut ja li desde o primeiro topico e nao entendi muito alguen ai poderia me dar uma ajuda ?
apoliano escreveu:joao isaquias escreveu:ablitei o mysar e o squid estartei o bfwcache. e nadatem alguma luz ai?
O BFWcache precisa do MySql e Squid ativado e rodando, não o MySar ative o MySql no arquivo mestre de configuração do BFW
/etc/brazilfw/brazilfw.cfg
- Código: Selecionar todos
ENABLE_MYSQL='no'
troque o 'no' por 'yes', salve o arquivo, e salve as configurações com o comando backup
E inicie o MySql com o comando abaixo:
- Código: Selecionar todos
/etc/init.d/mysql start
Espero ter ajudado.
jeferson_s2004 escreveu:OK ...as veses a gente percebe algo que parece simples e outros não perceberam que tropeçamos em algum detalhe. Obrigado...
Int21, você possui esse mesmo usuário em outro fórum? Acho que já li algum post seu pelos fórums da vida.int21 escreveu:Pessoal, codei muitos plugins pra o thunder 3.1
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"
using namespace std;
string get_videoid(string url){
vector<string> resultado,valor;
string retorna = "";
string cmtest = "";
SearchReplace(url,"?","&");
stringexplode(url, "/", &resultado);
if (resultado.size() > 1){
url = resultado.at(1);
resultado.clear();
stringexplode(url, "&", &resultado);
for (int i=0; i <= resultado.size()-1;i++){
valor.clear();
stringexplode(resultado.at(i), "=", &valor);
// si el Url del video tiene range entonces dar un resultado en retorna que luego pueda convertirse en un cache miss y romper el bucle
// Se a URL do vídeo possui range, então retorna um resultado que vai ser entendido como MISS e interrompe o loop
if (valor.at(0) == "range"){
retorna = "MISS"; // cache miss
}
if (valor.at(0) == "cm2"&& valor.at(1)=="0"){
retorna = "MISS"; // cache miss
}
}
if (retorna != "MISS"){
for (int i=0; i <= resultado.size()-1;i++){
valor.clear();
stringexplode(resultado.at(i), "=", &valor);
if (valor.at(0) == "id" || valor.at(0) == "video_id") {
retorna = valor.at(1);
break;
}
}
}
else
{retorna == ""; }
}
return retorna;
}
extern "C" resposta getmatch(const string url) {
resposta r;
r.file = get_videoid(url);
// al tener una condicion para analizar !r.file.empty(), y nuestra funcion get_videoid retornar vacio al detectar range se hace cache miss y todo queda OK
// a checagem de r.file.empty() agora serve para apontar cache miss: (01) se não encontrar id e (02) se encontrar range.
if ( !r.file.empty() and
((url.find(".googlevideo.com") != string::npos) or (url.find(".youtube.com") != string::npos) or
(regex_match("74\\.125\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", url) != "")) and
(url.find("videoplayback") != string::npos) and
(url.find("begin=") == string::npos)) {
r.match = true;
r.domain = "youtube";
r.file += ".flv";
} else {
r.match = false;
}
return r;
}
Mais uma vez, parabéns, yoboss.yoboss escreveu:Nuevo Cambio al codigo de Youtube!!!!
(valor.at(0) == "cm2"&& valor.at(1)=="0")
yoboss escreveu:
- Código: Selecionar todos
for (int i=0; i <= resultado.size()-1;i++){
valor.clear();
stringexplode(resultado.at(i), "=", &valor);
// si el Url del video tiene range entonces dar un resultado en retorna que luego pueda convertirse en un cache miss y romper el bucle
// Se a URL do vídeo possui range, então retorna um resultado que vai ser entendido como MISS e interrompe o loop
if (valor.at(0) == "range"){
retorna = "MISS"; // cache miss
}
if (valor.at(0) == "cm2"&& valor.at(1)=="0"){
retorna = "MISS"; // cache miss
}
}
if (retorna != "MISS"){
for (int i=0; i <= resultado.size()-1;i++){
valor.clear();
stringexplode(resultado.at(i), "=", &valor);
if (valor.at(0) == "id" || valor.at(0) == "video_id") {
retorna = valor.at(1);
break;
}
}
}
else
{retorna == ""; }
for (int i=0; i <= resultado.size()-1;i++){
valor.clear();
stringexplode(resultado.at(i), "=", &valor);
// si el Url del video tiene range entonces dar un resultado en retorna que luego pueda convertirse en un cache miss y romper el bucle
// Se a URL do vídeo possui range, então retorna um resultado que vai ser entendido como MISS e interrompe o loop
if ((valor.at(0) == "range") || (valor.at(0) == "cm2" && valor.at(1)=="0")){
retorna = ""; // cache miss
break;
}
if (valor.at(0) == "id" || valor.at(0) == "video_id") {
retorna = valor.at(1);
break;
}
}
string get_videoid(string url){
vector<string> resultado,valor;
string retorna = "";
string cmtest = "";
string idv = "";
SearchReplace(url,"?","&");
stringexplode(url, "/", &resultado);
if (resultado.size() > 1){
url = resultado.at(1);
resultado.clear();
stringexplode(url, "&", &resultado);
for (int i=0; i <= resultado.size()-1;i++){
valor.clear();
stringexplode(resultado.at(i), "=", &valor);
// si el Url del video tiene range entonces dar un resultado en retorna que luego pueda convertirse en un cache miss y romper el bucle
// Se a URL do vídeo possui range, então retorna um resultado que vai ser entendido como MISS e interrompe o loop
if (valor.at(0) == "range"){
retorna = "MISS"; // cache miss
}
if (valor.at(0) == "cm2"&& valor.at(1)=="0"){
retorna = "MISS"; // cache miss
}
if (valor.at(0) == "id" || valor.at(0) == "video_id") {
idv = valor.at(1);
}
}
if (retorna != "MISS"){
retorna = idv;
}
else
{retorna == ""; }
}
return retorna;
}
extern "C" resposta getmatch(const string url) {
resposta r;
r.file = get_videoid(url);
// al tener una condicion para analizar !r.file.empty(), y nuestra funcion get_videoid retornar vacio al detectar range se hace cache miss y todo queda OK
// a checagem de r.file.empty() agora serve para apontar cache miss: (01) se não encontrar id e (02) se encontrar range.
if ( !r.file.empty() and
((url.find(".googlevideo.com") != string::npos) or (url.find(".youtube.com") != string::npos) or
(regex_match("74\\.125\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", url) != "")) and
(url.find("videoplayback") != string::npos) and
(url.find("begin=") == string::npos)) {
r.match = true;
r.domain = "youtube";
r.file += ".flv";
} else {
r.match = false;
}
return r;
}
Excelente observação, yoboss. De fato não pode ser como era antes.yoboss escreveu:asi un video que pueda tener cm2 y range pero entre sus primeros parametros tenga el ID rompera el bucle y nunca llegara al miss, gravando el error nuevamente en el cache
Essa última alteração ficou melhor. Devemos evitar que o processador trabalhe para ganhar tempo e diminuir consumo de recursos.yoboss escreveu:y asi ya no tener que hacer el bucle completo nuevamente solo verificar
O BFW Cache 1.1 que está em testes pode ser configurável, mas ele tem um limite da máquina através de um cálculo.Duh escreveu:o BfwCache esta sujeito a quantas conexões ? servidor BFw abri 1000 conexões, o BfwCache tem esse suporte ?
int21 escreveu:Pessoal, codei muitos plugins pra o thunder 3.1, estava metendo as caras no codigo em cima das correçoes de leak memory, gostaria de ajudar com o andamento do projet e queria saber onde baixar, se é que tem um repositorio, pra podermos trocar ideias e quem sabe, como disse o nosso amigo, em um ano dar tchau pro que existe ai e melhor, LIVRE DE VERDADE.
/*
* (c) Copyright 2009 Rodrigo Medeiros (rodrigomanga) <rodrigomanga@yahoo.com.br>. Some Rights Reserved.
* @autor Rodrigo Medeiros (rodrigomanga) <rodrigomanga@yahoo.com.br>
*/
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"
// use this line to compile
// g++ -I. -fPIC -shared -g -o doubleclick.net.so doubleclick.net.cpp
string rewriteurl(string url) {
string banner = "zion2.zionlanhouse.com.br:8080/msn.htm";
if ( url.find("doubleclick.net/pagead/ads?") != string::npos ){
url = banner;
return url;
} else
return "";
}
extern "C" resposta getmatch(const string url) {
resposta r;
r.file = rewriteurl(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "rewrite";
} else {
r.match = false;
}
return r;
}
if (r.match) {
subdir = ConvertChar(r.file);
completepath = cachedir + r.domain;
completefilepath = completepath + "/" + subdir + "/" + r.file;
if (LL > 1) LogFile::AccessMessage("Arquivo: %s\n", string(completefilepath).c_str());
if (r.domain == "rewrite") {
r.match = false;
[b] rewrited = true;[/b]
if (LL > 1) LogFile::AccessMessage("Rewrite: %s%s \n", r.file.c_str());
} else if (!file_exists(completefilepath)) {..........
Sim.yoboss escreveu:alguna forma de solucionar este problema, ????
cd /partition
package bfwcache.pkg
mt
cp bfwcache.pkg /mnt
umt
rm bfwcache.bfw
Voltar para Certified Addons of Project BFW
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes