• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nazgulled

[Open Source] Network Switcher

42 mensagens neste tópico

Bem pessoal,

Após muitas horinhas de trabalho, lá consegui ter este programita pronto para a primeira beta, apenas disponível para os utilizadores do P@P, e um grupo selecto de amigos meus; Agradecia então que não partilhassem isto com ninguém de fora... Para quem não sabe que aplicação é esta, faço seguidamente um resumo rápido.

O Network Switcher é uma pequena aplicação que permite configurar o protocolo TCP/IP das vossas placas de rede usando perfis. Um pequeno ícone da aplicação fica na área de notificação (ao lado do relógio) à espera de uns simples cliques para facilmente se trocar de um perfil para o outro. Algumas das suas funcionalidades são: Activar/Desactivar placas de rede, configurar o IP, subnet, gateway e DNSs. Numa possível beta 2, irá ser possível o uso de plugins que poderão ser facilmente desenvolvidos em C# ou VB.NET para quem possua os conhecimentos de programar numa dessas linguagens. A ideia dos plugins, serve para extender a possibilidade da aplicação de ser configurável a outras definições do sistema, principalmente, proxys; foi mesmo para isto que os plugins foram pensados. Possivelmente, a arquitectura dos plugins poderá permitir um uso do seu interface mais alargado para além de proxys.

Como isto ainda vai em beta, não existe qualquer tipo de documentação ou readme incluído. Portanto, deixo a seguir uma lista de coisas a ter em conta:

  • Apenas foi testado em Windows XP, poderá eventualmente funcionar em NT, 2000, 2003 Server e Vista
  • É necessário o Microsoft .NET Framework 2.0
  • Como foi dito anteriormente, o interface para os plugins ainda não está disponível
  • Façam uma cópia de todas as definições das vossas placas de rede no caso algo correr mal (é software beta)
  • Sem as correctas configurações, o programa não funciona. O "Network Connections folder" é o nome do item que se encontra no painel de controlo que vos dá acesso as placas de rede. Este nome tem de estar escrito tal e qual como é apresentado. Quanto aos verbs as configurações são as seguintes: "En&able" e "Disa&ble" para quem tem o Windows em Inglês; "&Activar", "&Desactivar" para quem tem o Windows em Português. Para ambos, sem inclusão das aspas.
  • Na criação de perfis, para se desactivar uma placa de rede, apenas tem de ser inserido o nome. Para activar, o nome tem de estar preenchido e a checkbox "Enable Connection" com um visto
  • Os nomes das ligações a serem inseridos na criação de perfis têm de ser tal e qual os nomes apresentados no painel de controlo dentro do item "ligações de rede"

De momento é isto que me lembro que convém avisar, se entretanto me lembrar de algo mais, irei colocar aqui. Se tiverem alguma dúvida, antes de decidirem testar o programa ou mesmo durante, disponham aqui que eu responderei assim que for possível.

Gostava de contar com o máximo possível de beta testers disponíveis aqui da comunidade para esta minha aplicação, de qualquer forma, agradeço a todos pela atenção até aqui. Espero pelas vossas sugestões (sou todo de ouvidos) e principalmente bugs que devem ser aos montes e estou aqui prontinho para os corrigir para ter a próxima beta pronta com o interface de plugins a funcionar e mais tarde lançar a versão final.

Network Switcher Beta 1 disponível para download no anexo no fim deste post.

Network Switcher Beta 2 disponível para download em anexo num post mais abaixo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tanta gente interessada quando anunciei que estava a desenvolver tal aplicação e agora ninguém comenta nem testa nada :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha que eu até liguei o windows para testar isto.

Epa... que definições dá para mudar para alem do proxy?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lol... Não precisavas, se não usas o windows, certamente que não vais dar uso ao programa.

Mas proxy ainda nem se quer funciona nesta versão... O programa tal e qual como está, apenas permite mudar os IPs, Subnet Mask, Gateway e DNSs a 2 ligações. A funcionalidade de proxy, por exemplo no IE, vem com os plugins. O plugin para a proxy do IE também o estou a desenvolver, mas é o plugin que irá activar ou desactivar a proxy no IE. No entanto, já estou a pensar também em criar plugins para mudar as proxies do Firefox, Thunderbird (as extensões com botões já me xateiam) e também RSSOwl, são 3 programas que uso bastante em casa e na universidade (redes diferentes) é chato estar sempre a mudar em todo o lado.

Não sei até que ponto vou desenvolver um interface de plugins que seja possível extende-lo a muitas outras configurações do sistema, porque estou a desenvolve-lo para funcionar isto das proxys, possivelmente, ate funcionara para outras definições, é uma questão de se tentar, e se não der por algum motivo e for fácil implementar no interface dos plugins, não me custa nada.

Resumindo, para outras definições, tem de ser desenvolvido plugins próprios para isso, pois esta primeira versão ainda está muita básica.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ola lá... podes explicar assim de forma resumida como funcionam os pluguins e como é que as outras aplicações comunicam com eles?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@Triton

Thanks, se encontrares algum bug ou tiveres alguma sugestão, deixa por ai.

@pedortuga

Não sei se tou a perceber... ou então és tu que ainda não percebeste bem...

Os plugins não vão comunicar com as outras aplicações, a meu ver, acho que essa não é a melhor designação. Não te posso detalhar como vai funcionar a interface porque ainda estou a desenvolve-la e estou com uns problemas e ainda não sei como vai ficar.

Mas por exemplo, o primeiro plugin que estou a desenvolver e vou incluir na release final do programa, é para mudar a proxy do IE. Ora, a proxy do IE é facilmente mudada pelo registo, basta alterar os valores. Ou seja, o plugin apenas vai ter 2 funções e ambas iram modificar o registo. Uma irá escrever a proxy no registo e outra irá limpar esses valores removendo a proxy, simples.

No caso de outros plugins, tudo depende de que informações queres alterar e onde estão guardadas...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Era exactamente isso que eu estava a perguntar.

No caso do ie é mudar um valor no registo. Eu nunca soube bem como é que o windows funciona, nem eu nem niguem, lol. Eu perguntei pella simples razão:

seria possivel ao utilizador criar plugins em xml por exemplo? tipo.. se as alterações forem sempre no registo é só questão de criar uma estrutura de dados com os valores a mudar e um pequeno formulario para paermitir ao utilizador criar novos ficheiros xml referentes a várias aplicações.

Não sei se me faço entender... essa ideia é viável?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi bem... explica-te melhor. As alterações não são sempre no registo, até pode ser, mas muitas delaas podem não o ser. Imagina uma aplicação qualquer que tens de ter uma configuração diferente aqui e ali e essa informação é guardada num .ini na raiz do programa, já não seria no registo a alteração dos valores.

Agora, isso que falas do xml, não percebei bem a que te referes e o que queres dizer...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois.. não sendo as alterações sempre no registo tens k fazer plugin a plugin manualmente e bater código para cada caso.

Quem diz XML diz sqlite ou uma base de dados ou mesmo um ficheiro de texto com uma sintaxe inventada por ti.

A cena dos xml é que permitia que o utilizador os fosse editar manualmente... tipo...

<rede>
  <nome>casa</nome>
  <registo>
    <variavel>SOME_VAR_HERE</variavel>
    <valor>00</valor>
  </registo>
</rede>
<rede>
  <nome>trabalho</nome>
  <registo>
    <variavel>SOME_VAR_HERE</variavel>
    <valor>01</valor>
    <variavel>ANOTHER_VAR</variavel>
    <valor>00</valor>
  </registo>
</rede>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, como deduziste bem, cada plugin irá ter de implementar o que for preciso para que esse plugin funcione. Mas se fores ver bem, iria ter de implementar montes de metodos para tudo e mais alguma coisa, quando alguns não iriam se quer usar nenhum deles ou só usavam um deles, por exemplo, registo, xml, ficheiros ini, etc... Podia implementar classes para tudo isso, mas acho desnecessario... No entanto, o próprio programa já usa xml para os perfis e definições, logo já tem um dll incluido paraprocessar xml, os plugins podem muito bem usar esse dll.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, como deduziste bem, cada plugin irá ter de implementar o que for preciso para que esse plugin funcione. Mas se fores ver bem, iria ter de implementar montes de metodos para tudo e mais alguma coisa, quando alguns não iriam se quer usar nenhum deles ou só usavam um deles, por exemplo, registo, xml, ficheiros ini, etc... Podia implementar classes para tudo isso, mas acho desnecessario... No entanto, o próprio programa já usa xml para os perfis e definições, logo já tem um dll incluido paraprocessar xml, os plugins podem muito bem usar esse dll.

yeaps, eu reparei que usavas xml, foi por isso que fiz esta sugestão. Mas tenho uma dúvida no entanto. No Primeiro tópico disseste que o teu programa iria suportar plugins. o que quer exactamente isso dizer? i.e. não disponibilizas nenhuma api para permitir escrita de pluggins por outras pessoas pois não?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

api propriamente dita não... vou é criar documentação que explica como se cria plugins para este programa. tem de obdecer certos criterios para o programa reconhecer os plugins. estou a tentar não complicar as coisas para que seja possivel qualquer pessoa com conhecimentos em vb.net ou C# criar plugins po programa... ainda não tsetei criar um em C# e ver se funciona visto o programa estar a ser desenvolvido em vb.net, mas penso que irá funcionar se seguir todos os parametros correctos...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Apesar de não existir o interesse que eu pensava que ia existir nesta pequena minha aplicação (dado o interesse em tópicos anteriores), uma beta 2 está a caminho. Pois penso ter resolvido todos os problemas existentes com o sistema de plugins.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui está a beta 2, prontinha a ser testada por quem tiver interesse nisso... As diferenças/novidades entre a beta anterior, é a funcionalidade dos plugins que já está pronta e funcional. Apenas existe um plugin de momento que serve para alterar a proxy do Internet Explorer. Acho que o uso dos plugins é muito explicito, a única coisa que talvez tenha que dizer é para que serve as setas nas acções de cada plugin, serve simplesmente para escolher a ordem de execução dessas acções no caso de ser necessário executar mais que uma dessas funções. No caso do IEProxy, apenas será executada uma delas, executar as duas, não tem muita lógica.

Beta 2 anexada a este post!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu ia testar, mas desde que formatei a máquina ainda não me predispus a instalar os frameworks, vou vêr se os instalo agora !  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A versão final deste pequeno software está quase pronta a ser distribuida, mais ninguém tem nada a comentar antes de eu lançar a versão final nos próximos dias? :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Network Switcher é um pequeno e simples utilitário com um interface intuitivo que lhe permite configurar as placas de rede do seu computador e trocar entre configurações através do uso de perfis. Embora a configuração seja limitada ao protocolo TCP/IP, o Network Switcher pode ser estendido com o uso de plugins; incluído com o pacote base vem um plugin para activar ou desactivar o servidor proxy do Internet Explorer.

Se o projecto vos interessa e tiverem algo a dizer sobre o mesmo, podem fazê-lo, obviamente aqui, mas também o podem fazer no post oficial no meu blog. A partir deste projecto, irei começar a criar uma wiki para cada projecto que eventualmente fizer ou actualizar. Essa wiki irá conter bastantes informações sobre o projecto bem como ajuda na utilização do mesmo. No entanto, apenas estará disponível em Inglês.

v1.0

Blog: http://blog.nazgulled.net/item/67/

Wiki: http://wiki.nazgulled.net/pt/network-switcher (Actualizado)

Download: http://www.nazgulled.net/?lg=pt&id=downloads

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hum... lol...

lancei ontem a versão final :P

vê o link na minha assinatura...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pa instalei e criei um profile para duas ligacoes uma com fios e outra sem fios (DHCP as duas) mas n funcionou:

teem aqui duas fotos que explicam o resto (acho eu que explicam..):

http://mega.ist.utl.pt/~pcbo/teste/network_switcher.JPG

http://mega.ist.utl.pt/~pcbo/teste/network_switcher2.JPG

...  :wallbash:  :wallbash:  :wallbash:  :wallbash:  :wallbash:

EDIT: xp prof pt

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Convidado
Este tópico está fechado a novas respostas.