Contexto
- O KakaoTalk é um mensageiro usado por mais de 99% das pessoas que vivem na Coreia do Sul
- Porém, o cliente oficial só oferece suporte a Windows e macOS; não há suporte algum para Web ou Linux (excluindo Android e iOS)
- É possível forçar a execução usando Wine, mas por causa de erros ele fecha ou nem chega a abrir, e devido a bugs graves não dá para usar no dia a dia (não é possível carregar salas de chat nem baixar arquivos grandes ou imagens)
- Por isso, decidi criar um cliente que funcione bem também em ambiente Linux
Desenvolvimento
- No início, usei React.js e nw.js. Porém, o código ficou grande demais e difícil de manter (em especial, o gerenciamento de estado do React e o conceito de contexto JavaScript do nw.js facilitavam muito o surgimento de problemas)
- Para resolver isso, recentemente reescrevi o projeto em SolidJS e Tauri
- No estado atual, já é possível fazer operações simples como login e notificações de chat
Daqui para frente...
- Pretendo implementar, na medida do possível, todo o comportamento do cliente do KakaoTalk para Windows e macOS de forma idêntica
- No entanto, há muitas funcionalidades para implementar e também será necessário estudar bastante o protocolo fechado
- Ficarei muito agradecido por contribuições ou feedback!
17 comentários
Gosto muito desse tipo de iniciativa. Fico me perguntando por que a Kakao não fez algo assim por conta própria até agora... vendo que havia apenas 1 desenvolvedor responsável pelo app do KakaoTalk para Windows Phone, dá para perceber como eles realmente não ligam para plataformas fora do mainstream (embora Linux não seja exatamente uma delas...).
Ponte Matrix do Kakaotalk
Espero que a Kakao reaja de forma positiva... e que esse tipo de movimento sirva como um bom estímulo para a Kakao criar um ambiente mais aberto. (como abrir a API, por exemplo...)
Sou usuário de Linux. Só vou apoiar.
Espero que a Kakao não seja uma empresa que atrapalhe até esse tipo de esforço..
Eu também uso Linux como sistema principal, então vou instalar agora mesmo e testar~
Uau... para mim, como usuário de Linux, isso é uma informação valiosíssima..! Vou testar quando chegar em casa. Fico pensando se não deve ter havido alguma engenharia reversa do protocolo, então também me preocupa se isso não pode gerar algum problema quando for disponibilizado como open source.
Acho que a direção de desenvolvimento do KiwiTalk em si é boa. No entanto, esse tipo de cliente não oficial claramente viola as políticas de operação da Kakao. Já existe alguma medida preparada em relação a isso?
Para não causar um impacto negativo à Kakao, buscamos reproduzir ao máximo o comportamento do cliente original. (Até mesmo comportamentos que parecem bugs)
No entanto, como o KiwiTalk não é um cliente criado nem autorizado pela Kakao, você deve usá-lo necessariamente por sua própria decisão e responsabilidade.
Não há planos para desenvolver um plugin de protocolo para o pidgin?
Uma direção de desenvolvimento muito desejável.
Não haveria algum prejuízo por usar o protocolo LOCO sem aprovação?
Como pode haver desvantagens para a conta do usuário caso o KiwiTalk se comporte de forma diferente do cliente original,
o objetivo é implementá-lo para que funcione da forma mais idêntica possível ao cliente original. Obrigado pelo comentário!
Antes era difícil experimentar porque precisava fazer o build manualmente
agora vocês também estão distribuindo uma versão já compilada
Fiquei curioso, vou testar
Posso estar fazendo uma pergunta boba porque sou leigo nessa área, mas será que daria para usar isso no formato de extensão de navegador? Existem clientes nativos para Windows e Mac, mas eu acharia muito bom poder usar pelo navegador também nesses sistemas. Além disso, parece que isso também poderia ser muito útil em Chromebooks. (Claro, o Chromebook consegue executar programas Linux nativos, mas se fosse baseado na web, acho que seria mais fácil de usar.)
No momento, nosso objetivo é apenas o uso normal em ambiente Linux. Agradecemos pelo comentário!
Parece muito bom! Mas por acaso não há algum problema jurídico? Quero dizer, talvez exista algo nos termos de uso do KakaoTalk relacionado a isso, de modo que os colaboradores do projeto ou até mesmo os usuários comuns não possam reivindicar seus direitos mesmo que suas contas sejam suspensas, ou algo assim..
Até onde sei, o fato de ser colaborador do projeto não impede uma suspensão separada, mas, se o KiwiTalk apresentar um comportamento diferente do cliente original, a conta pode ser suspensa.
Por isso, o objetivo é reproduzir o máximo possível até mesmo os comportamentos com cara de bug do cliente original.
(Pois o objetivo é permitir o uso normal em dispositivos Linux)