aMule Forum
Portuguese => Ajuda aMule => Topic started by: rommel on May 13, 2004, 04:22:29 PM
-
Quem quiser usar as happy hours sem matar o amule tem aqui este patch.
Procedimento de utilização:
1) copiar o patch para a directoria dos sources do amule
2) patch -p1 < patch.diff
3) ./configure --enable-amulecmd
4) make , make install
5) fazer um ficheiro int.in com o seguinte:
SERVER CONNECT 195.245.244.243 4661
reloadipf
quit
6) fazer um ficheiro nac.in com o seguinte:
reloadipf
SERVER CONNECT sado.kicks-ass.net 4661
quit
7) fazer um script int.sh com:
cp /directorio com filtro internacional/ipfilter.dat /user-dir/.aMule/.
amulecmd < int.in
8) fazer um script nac.sh com:
cp /directorio com filtro nacional/ipfilter.dat /user-dir/.aMule/.
amulecmd < nac.in
9) crontab -e
inserir algo tipo:
05 1 * * * /dir dos scripts/int.in >> /dev/null
55 6 * * * /dir dos scripts/nac.in >> /dev/null
e já está.
Das 1h05 ás 6h55 temos trafego internacional :)
-
deu.me 1 erro ao executar esses passos, se alguem me puder ajudar
root@slack:# patch -p1 < patch.diff
patching file src/ExternalConn.cpp
Hunk #1 FAILED at 44.
Hunk #2 succeeded at 901 with fuzz 2 (offset -77 lines).
1 out of 2 hunks FAILED -- saving rejects to file src/ExternalConn.cpp.rej
patching file src/TextClient.cpp
Hunk #1 succeeded at 48 (offset -4 lines).
Hunk #2 succeeded at 188 (offset 32 lines).
Hunk #3 succeeded at 188 (offset -4 lines).
Hunk #4 succeeded at 268 with fuzz 2 (offset 32 lines).
Hunk #5 succeeded at 355 (offset -4 lines).
root@slack:# make
(...)
make[2]: Entering directory `/usr/src/aMule-1.2.6/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/wx/include/base-2.4 -D_FILE_OFSET_BITS=64 -D_LARGE_FILES -DWXBASE -g -MT amulecmd-TextClient.o -MD -MP -MF".deps/amulecmd-TextClient.Tpo" \
-c -o amulecmd-TextClient.o `test -f 'TextClient.cpp' || echo './'`TextClientcpp; \
then mv ".deps/amulecmd-TextClient.Tpo" ".deps/amulecmd-TextClient.Po"; \
else rm -f ".deps/amulecmd-TextClient.Tpo"; exit 1; \
fi
TextClient.cpp: In function `int ProcessCommand(int)':
TextClient.cpp:270: no matching function for call to `wxSocketClient::
SendRecvMsg(char[256])'
TextClient.cpp:273: no matching function for call to `wxSocketClient::
SendRecvMsg(const char[10])'
make[2]: *** [amulecmd-TextClient.o] Error 1
make[2]: Leaving directory `/usr/src/aMule-1.2.6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/aMule-1.2.6'
make: *** [all] Error 2
não estou a ver o que estou a fazer de errado :/
-
Esta patch é para o 2.0.0rc3 e não para o 1.2.6
-
ja ta a funcionar, embora n tenha usado :
"9) crontab -e
inserir algo tipo:
05 1 * * * /dir dos scripts/int.in >> /dev/null
55 6 * * * /dir dos scripts/nac.in >> /dev/null"
não dava nada (talvez estivesse a fazer algo de errado ?()
usei :
crontab -l
05 1 * * * cp /home/jorge/.aMule/ipfilter/int/ipfilter.dat /home/jorge/.aMule
05 1 * * * amulecmd < /home/jorge/.aMule/int.in
55 6 * * * cp /home/jorge/.aMule/ipfilter/nac/ipfilter.dat /home/jorge/.aMule
55 6 * * * amulecmd < /home/jorge/.aMule/nac.in
tkz pelo patch rommel :D
-
:( estás certo
Há um erro no ponto nove.
Devia ser:
05 1 * * * sh /dir dos scripts/int.sh >> /dev/null
55 6 * * * sh /dir dos scripts/nac.sh >> /dev/null"
-
Isto devia funcionar se o amulecmd não estivesse todo confuso:
aMule$ SERVER CONNECT 217.82.126.187 8888
Not Connected
-
O filtro internacional que estás a falar é o mesmo que usar um file em branco certo?
EDITED: Até obter uma resposta eu modifiquei um ipfilter.dat e mudei todas as linas que tinham ******* por # Permitido para happy-hours
Mas fico a aguardar comentários.
Tó
-
A intenção de quem implementou o ipfilter no amule é a de filtrar os cuscos das companhias discograficas e cinematograficas, etc.
Ao usar como filtro nacional estes cuscos já ficam filtrados visto que eles não têm ips nacionais, mas, ao usar nas happy hours um filtro internacional convém que os ips destes cuscos estejam no ficheiro.
Também podes usar um ficheiro vazio mas tu é que sabes...
-
Originally posted by fp2099
Isto devia funcionar se o amulecmd não estivesse todo confuso:
aMule$ SERVER CONNECT 217.82.126.187 8888
Not Connected
Depois de resolver os meus problemas e conseguir meter o amulecmd a funcionar tenho exactamente o mesmo problema!
Tó
-
O comando do amulecmd "SERVER CONNECT " aceita dois parametros.
O segundo parametro é o porto do servidor a conectar.
O primeiro parametro não é o IP do servidor mas sim o nome que aparece no menu de servidores no amule. Por exemplo, se é necessário conectar a um servidor que aparece como http://www.servidor.com no menu de servidores, deve-se dar o comando "SERVER CONNECT http://www.servidor.com 1234". Se no menu de servidores aparecer o nome como um ip 123.123.123.123, deve-se dar o comando "SERVER CONNECT 123.123.123.123 1234".
-
rommel se tiveres disposto a fazer este patch pra nova versao do amule, eu meto o na tree oficial do amule.
regards.
-
Aqui está.
-
Originally posted by To
Depois de resolver os meus problemas e conseguir meter o amulecmd a funcionar tenho exactamente o mesmo problema!
Tó
To pelo que me parece por outros foruns, que es user gentoo
como compilar o amule pelo emerge usando o patch para hh??
-
rommel esse patch tb da para a rc5 ?
-
Sim, o patch para o rc4 dá para o rc5.
-
rommel,
Vou colocar seu patch no cvs, com algumas alterações, ok?
Onde está a implementação do comando SERVER CONNECT?
Abraços,
phoenix.
-
ok.
O SERVER CONNECT está implementado no ExternalConn.cpp linha 1621 do rc5.
-
Ok, então já estava implementado, beleza.
A parada está no cvs de hoje.
Tive que reescrever muita coisa, pois o amulecmd tava meio atrasado no tempo. Por favor, chequem pra ver se está legal.
Coloquei um comando para ligar/desligar o IPFilter. Quando ligar, ele remove as fontes que estiverem fora da especificação de IP no mesmo instante.
Abraços,
phoenix.
-
phoenix,
só não gosto de pôr a password na linha de comando.
Assim aparece na lista dos processos.
Se o computador for usado por mais users estes podem ver a password com "ps aux".
-
rommel,
Você tem razão, desculpe, foi falta de atenção no seu patch. Vou colocar isso também, mas vou fazer de um outro jeito, pois estou fazendo uma limpa no amuleweb também, que tem muitas funções em comum. Assim fica mais fácil de manter.
Mais uns dois dias e deve ficar pronto.
Abraços,
phoenix.
-
Assim é que é :baby: :baby: :baby: :baby:
Tó
-
Galera,
Tá feito! Ficou bem legal. O parâmetro que tem que dar é -f, assim o amulecmd vai ler a configuração do arquivo ~/.eMule. Note que esse parametro agora vale também pro amulecmdDLG, pro amuleweb e pro amulewebDLG.
Qualquer problema, avisa.
Abraços,
phoenix.
-
Cumprimentos pessoal.
Apesar de curtir mesmo buésdabués o amule, não consigo usar esta nova funcionalidade. Já tentei a versão 2.0.0rc5 com o patch do rommel e estou neste momento a usar a de cvs, e em nenhuma delas consigo que o amulecmd me altere o estado do ipfilter. No entanto, funciona bem para dar estatísticas e alterar o servidor a que está ligado, pelo que não percebo o problema.
Segue um exemplo de interacção:aMulecmd$ Setipfilter off
aMulecmd$ alskdjfa
Syntax error!
aMulecmd$ Setipfilter on
aMulecmd$ GetIPLevel
aMulecmd$
Se alguém tiver, como eu, este problema, a má solução que encontrei para remediar o problema é trocar os ficheiros de filtros e matar o amule:
bash-2.05b$ cat int.sh
cp -f /home/paulo/.aMule/scripts/ipfilter-internacional.dat /home/paulo/.aMule/ipfilter.dat
killall -TERM amule
# amulecmd -f < /home/paulo/.aMule/scripts/int.in
bash-2.05b$ cat nac.sh
cp -f /home/paulo/.aMule/scripts/ipfilter-nacional.dat /home/paulo/.aMule/ipfilter.dat
killall -TERM amule
# amulecmd -f < /home/paulo/.aMule/scripts/nac.in
bash-2.05b$ crontab -l
05 1 * * * /home/paulo/.aMule/scripts/int.sh
42 2 * * * /home/paulo/.aMule/scripts/nac.sh
43 2 * * * /home/paulo/.aMule/scripts/int.sh
55 6 * * * /home/paulo/.aMule/scripts/nac.sh
bash-2.05b$
Ora isto precisa que o amule se volte a lançar quando morre. Para isso, lanço a cena com um script que vai lançando amules novos sempre que um morre:
bash-2.05b$ cat /usr/local/bin/amulep
#!/bin/sh
while true
do
date >> /home/paulo/.aMule/startLog.txt
/usr/bin/amule
sleep 10
done
bash-2.05b$
Sugestões para resolver o problema do amulecmd? Desculpem se não forneço mais detalhes de sintoma, mas não sei por onde lhe pegar.
Obrigado,
Paulo
-
pmpfe,
Compare o que você obtém com isso que eu estou colocando aqui. Provavelmente o amulecmd não está conectado com o amule, pois você não obtém as respostas. Confere as senhas. Elas dever ser configuradas conforme explicado aqui: http://www.amule.org/wiki/index.php/Webserver
Abraços,
phoenix.
$ LD_LIBRARY_PATH=/usr/local/wxWidgets-cvs/lib/ verb-cvs/src/amulecmd -f
Creating client...
Now, doing connection....
Using host 'localhost' port:4712
Trying to connect (timeout = 10 sec)...
Succeeded! Connection established.
---------------------------------
| aMule text client |
---------------------------------
Use 'Help' for command list
aMulecmd$ help
----------------> Help: Avalaible commands (case insensitive): <----------------
Help: Shows this help.
Quit, Exit: Exits Textclient.
Stats: Shows statistics.
Show DL: Shows Download queue.
Resume n: Resume file number n.
Pause n: Pauses file number n.
ServerStatus: Tell us if connected/not connected.
Connect: Tries to connect to any server.
WARNING: Doesn't warn if failed
ConnectTo name port: Connect to specified server and port.
Disconnect: Disconnect from server.
ReloadIPF: Reload IPFilter table from file.
Setipfilter on/off: Turn on/of amule IPFilter.
GetIPLevel: Shows current IP Filter level.
SetIPLevel : Changes current IP Filter level.
----------------------------> End of listing <----------------------------------
aMulecmd$ stats
> Statistics:
> Downloading files: 290
> Found sources: 5
> Active downloads: 0
> Active Uploads: 3
> Users on upload queue: 3
aMulecmd$ GetIPLevel
> aMule IP Filter level is 127.
aMulecmd$ SetIpFilter on
> IPFilter state set to 'on'.
aMulecmd$ SetIpFilter off
> IPFilter state set to 'off'.
aMulecmd$
-
Olá phoenix!
Antes de mais, obrigado pela prontidão na resposta.
Acho que não se trata de um problema de ligação. Primeiro, porque quando dou uma password errada, ou troco porta, ou coisa do género, os sintomas são diferentes, e o amulecmd aborta a operação muito mais cedo. Segundo, porque consigo obter dados do amule.
Segue um exemplo de interacção com o mesmo input que o teu, mais um "ServerStatus". Esta é a versão de cvs de ante-ontem.
Obrigado de novo,
Paulo
bash-2.05b$ amulecmd -f
Creating client...
Now, doing connection....
Using host 'localhost' port:4712
Trying to connect (timeout = 10 sec)...
Succeeded! Connection established.
---------------------------------
| aMule text client |
---------------------------------
Use 'Help' for command list
aMulecmd$ help
----------------> Help: Avalaible commands (case insensitive): <----------------
Help: Shows this help.
Quit, Exit: Exits Textclient.
Stats: Shows statistics.
Show DL: Shows Download queue.
Resume n: Resume file number n.
Pause n: Pauses file number n.
ServerStatus: Tell us if connected/not connected.
Connect: Tries to connect to any server.
WARNING: Doesn't warn if failed
ConnectTo name port: Connect to specified server and port.
Disconnect: Disconnect from server.
ReloadIPF: Reload IPFilter table from file.
Setipfilter on/off: Turn on/of amule IPFilter.
GetIPLevel: Shows current IP Filter level.
SetIPLevel : Changes current IP Filter level.
----------------------------> End of listing <----------------------------------
aMulecmd$ stats
> Statistics:
> Downloading files: 54
> Found sources: 4443
> Active downloads: 24
> Active Uploads: 3
> Users on upload queue: 4047
aMulecmd$ GetIPLevel
aMulecmd$ SetIpFilter on
aMulecmd$ SetIpFilter off
aMulecmd$ ServerStatus
> Connected
aMulecmd$
-
pmpfe,
Muito estranho esse comportamento. Você está conectado sim, mas os comandos GetIPLevel, SetIpFilter on e SetIpFilter off não estão fazendo nada. Por acaso você está usando uma versão UNICODE? O unicode ainda não está 100%, mas logo logo vai estar funcionando.
Abraços,
phoenix.
-
Viva,
Como posso ver se estou a usar unicode? A minha linha de configure foi:
./configure --disable-debug --enable-optimise --enable-amulecmd --enable-amulecmdgui --enable-webserver --enable-webservergui
Há algum processo de depuração que deva seguir?
Obrigado mais uma vez,
Paulo
-
pmpfe,
Tecla o comando: wx-config --libs
Abraços,
phoenix.
-
bash-2.05b$ wx-config --libs
-pthread -lwx_gtk-2.4
bash-2.05b$
Paulo
-
Desculpa, phoenix, só descobri agora mesmo que a versão do amule que estava a correr e onde experimentava as coisas era um 2.0.0rc5 sem patch, que tinha esquecido no /usr/bin, e era por isso que nada funcionava.
Desculpa mesmo a estupidez. :]
Não há nada de errado com o amule.
Obrigadão na mesma,
Paulo
-
pmpfe,
Ei, sem problemas, tamos aqui pra isso!
Se você puder compilar, tenta o cvs de amanhã que parece estar muito bom, provavelmente vai ser o rc6.
Abraços,
phoenix.
-
phoenix
tenta o cvs de amanhã
a versao seria 20040823
compilei e instalei essa versao (aproveitei e instalei o wxgtk2.5.1 (com suporte para gtk1 pq gtk2 da erro no slack ?( ) o problema é que o amulecmd da :
$ amulecmd -f
Creating client...
Now, doing connection....
Using host 'localhost' port:4712
Trying to connect (timeout = 10 sec)...
Connection Failed. Unable to connect to the specified host
no amule aparece isto :
New external connection accepted
Connection closed.
aproveitei tanto a pasta .aMule e o fixeiro .eMule da versao anterior.
tentei instalar a versao 20040824 mas da-me 1 erro no make :
ECSocket.cpp:35: error: prototype for `ECSocket::ECSocket(wxSockAddress&,
wxEvtHandler&, int)' does not match any in class `ECSocket'
ECSocket.h:40: error: candidates are: ECSocket::ECSocket(const ECSocket&)
ECSocket.h:46: error: ECSocket::ECSocket(wxSockAddress&,
wxEvtHandler*, int)
ECSocket.cpp:29: error: ECSocket::ECSocket()
ECSocket.cpp: In constructor `ECSocket::ECSocket(wxSockAddress&, wxEvtHandler&,
int)':
ECSocket.cpp:37: error: `wxSOCKET_REUSEADDR' undeclared (first use this
function)
ECSocket.cpp:37: error: (Each undeclared identifier is reported only once for
each function it appears in.)
make[4]: *** [amule-ECSocket.o] Error 1
make[4]: Leaving directory `/usr/src/amule-cvs/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/amule-cvs/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/amule-cvs/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/amule-cvs'
make: *** [all] Error 2
se alguem me puder indicar o que puderei estar a fazer de errado :)
cumps
-
livebrain,
Você deu um certo azar. O cvs do dia 24 foi com um bug na compilação no caso de usar o wx-2.4.2. Esse bug já foi corrigido por mim na versão de hoje. Tenta com a de amanhã, ou tentão, se estiver com pressa, coloca #include "gsocket-fix.h" no arquivo ECSocket.cpp.
Outra coisa, o amuleweb e o amulecmd não funcionam com wx-2.5.1. Tente com o 2.4.2 ou com o 2.5.2. No caso do 2.5.2, a interface do aMule pode ficar com alguns probleminhas, nada grave, apenas uns controles de tamanho errado.
Estão havendo algumas mudanças sérias no aMule, relacionadas com a separação de core/gui. Até o momento, tem estado tudo funcionando, mas qualquer anormalidade, seria legal se vocês avisassem. Essa é uma das grandes features da versão 2.0.0 final.
Abraços,
phoenix.