Downloader simples e alternativo de e-books Legimi escritos em Go.
Basicamente, uma reescrita do downloader anterior em Lua.
É totalmente não oficial, não sou afiliado de forma alguma à Legimi.
Observação
Este ainda é um trabalho em andamento, no entanto, já é utilizável.
Você pode encontrar mais informações sobre como isso aconteceu em Background.
Basta baixar o arquivo da seção Releases, descompactá-lo e torná-lo executável (se necessário): $ chmod +x legimi-go
. Você pode adicionar o diretório de instalação à sua variável PATH
para poder executá-la de qualquer lugar, é claro.
Alternativamente, se você tiver o Go instalado, poderá instalá-lo usando o comando go install
:
$ go install github.com/tp86/legimi-go@ < version >
pode ser uma tag de versão específica dos lançamentos ou latest
para obter o código do branch main
. Observe que o branch main
pode conter recursos inacabados. No entanto, estou fazendo o meu melhor para confirmar apenas o código funcional.
Para visualizar o uso, invoque:
$ legimi-go --help
Todas as opções de linha de comando são opcionais.
--config path
Caminho para o arquivo de configuração. O valor padrão é "$HOME/.config/legimi-go/config.ini"
. O arquivo de configuração contém suas credenciais e Kindle Id atribuídos pelo serviço Legimi. Ele será criado automaticamente (com diretórios ausentes) na primeira execução do comando, portanto, geralmente você não precisa modificá-lo manualmente. Se não quiser armazenar seu login e senha em um arquivo, você pode fornecer credenciais na linha de comando (consulte as opções --login
e --password
).
Dica
Você pode criar vários arquivos de configuração para alternar facilmente entre várias contas.
--login login
Seu login Legimi. Se você não fornecer login na linha de comando, ele será lido no arquivo de configuração. Se também estiver faltando no arquivo de configuração, você será solicitado a fornecê-lo durante a execução do comando. Ele será então armazenado no arquivo de configuração, para que você não precise repeti-lo durante futuras execuções de comandos. Se você fornecer login na linha de comando, ele não será gravado no arquivo de configuração.
--password password
Sua senha Legimi. Aplica-se a mesma lógica do login. Observe que o login e a senha são armazenados no arquivo de configuração como texto simples.
--debug
Ative o modo de depuração. No modo de depuração, as informações selecionadas sobre solicitações e respostas trocadas são impressas em stderr. Atualmente, provavelmente a informação mais útil está contida na resposta da sessão.
Observação
Você pode fornecer opções com um ( -config
) ou dois travessões ( --config
).
Os comandos disponíveis são:
list
Liste os livros atualmente em sua estante Legimi.
download
Baixe o(s) livro(s) de acordo com seu(s) ID(s). A identificação do livro pode ser obtida listando os livros (primeiro valor na linha de lançamento do livro).
version
Imprima a versão legimi-go.
Fornecer comando é obrigatório, não há comando padrão.
Na primeira chamada de comando, você será solicitado a fornecer credenciais (se não forem fornecidas por meio de opções de linha de comando, veja acima) e o número de série do Kindle (Configurações -> Opções do dispositivo -> Informações do dispositivo no Kindle). O Legimi Kindle Id será automaticamente consultado e armazenado no arquivo de configuração para uso futuro.
Liste livros em sua estante
$ legimi-go list
Se você estiver executando o script pela primeira vez ou passando um arquivo de configuração que ainda não possui credenciais, será solicitado login e senha.
Baixe o(s) livro(s) selecionado(s)
$ legimi-go download < book-id >
O livro baixado será salvo no arquivo
no diretório de trabalho atual.
Dica
Você pode fazer cd
no diretório documents
montado do Kindle antes de fazer o download para evitar a cópia de arquivos.
Copie os arquivos para o diretório documents
do seu Kindle
Isso é opcional se você baixou livros enquanto estava no diretório documents
.
Obviamente, apenas um subconjunto de funcionalidades do aplicativo oficial Legimi é suportado.
A maioria das respostas de erro ainda não são reconhecidas/tratadas. Isto deve melhorar no futuro.
O script não se destina a criar conta ou registrar dispositivos desconhecidos do serviço Legimi. Você deve usar o aplicativo oficial para isso. O registro do dispositivo funciona, mas pode causar problemas.
Se quiser saber quantos downloads de livros restam no período de assinatura, você pode usar a opção -debug
e procurar informações downloads left
na seção Session response
. Se você estiver tentando baixar mais livros do que o limite, o serviço Legimi bloqueará os downloads.
Se algo não estiver funcionando conforme o esperado, tente usar a opção -debug
para obter mais informações.
O aplicativo oficial Legimi também deve ser verificado, pois é um ponto de referência. Usar o aplicativo oficial também pode potencialmente corrigir problemas (nº 3 (comentário)).
O aplicativo oficial Legimi não oferece suporte a Linux. Eu queria poder baixar e-books do Linux sem a necessidade de alternar entre sistemas operacionais (ou mesmo ter o Windows instalado).
A primeira versão do downloader foi criada em Lua. Funcionou bem, mas às vezes foi difícil de instalar (dependências instaladas em caminhos diferentes). Também é difícil de manter e causa problemas nas atualizações do protocolo Legimi. Portanto, decidi reescrever o script em Go. Espero que seja mais fácil de instalar, usar e manter.
Extraí a lógica de download de livros com base no tráfego trocado entre o aplicativo e serviço oficial do Legimi. Como tal, certamente faltam peças e recursos. Além disso, a maioria das respostas de erro não é suportada. Consulte Limitações para obter mais recursos ausentes.