[Dúvida] Interface Grafica para Noip no Linux

Bom dia!
Alguém saberia me informar se existe alguma interface gráfica para o programa no noip para Ubuntu?
Realizei a instalação da mesma forma que estava no site, mas procurei na internet e não consegui encontrar algum programa que possa me apoiar.
Desde já obrigado.

1 curtida

Já pesquisei bastante sobre, mas não encontrei nada, acho que não tem.

1 curtida

Desculpe a ignorância, mas você necessita de ficar alterando com frequência o DNS ou você gerencia diversas máquinas?
Esta pergunta é porque, pelo que estudei de NOIP, achei mais fácil configurar diretamente no modem, porém confesso que nunca utilizei este serviço…

Realmente, é mais fácil setar no roteador, mas pra quem quer ter um ajuste mais fino, usar diretamente na workstation é melhor.

1 curtida

Na verdade gostaria de uma interface para que no caso que precisasse de algum ajuste mesmo

Eu acho que a ausência de uma interface gráfica é porque a API grátis do NOIP só permite atualizar o IP.

Só encontrei essa informação no site deles: Integre com No-IP DDNS - Informações da API.

Então no máximo daria para fazer um script que atualiza automaticamente o IP caso o mesmo tenha mudado.

Tipo:

"""
Codigo de resposta do NOIP:

good IP_ADDRESS: Sucesso na atualização.
nochg IP_ADDRESS: Endereço de IP já está atualizado.
nohost Error: Hostname não existe na conta expecificada.
badauth Error: Usuário ou senha incorretos.
badagent Error:	Cliente desativado. (erro de user agent? tentar novamente depois de 30 minutos).
"""
import socket

import requests


def get_external_ip():
    external_ip_url = 'http://api.ipify.org/'
    response = requests.get(url=external_ip_url)
    print(response)
    print(response.status_code)
    print(response.content)
    print(response.text)
    return response.text


# IP que está sendo utilizado pela operador de internet neste momento.
current_ip = get_external_ip()
print('IP que está sendo utilizado neste momento:', current_ip)

user = 'NomeDeUsuario'
pwd = 'Senha'
# Nome de host que foi criado no site do NOIP.
hostname = 'NomeDoHost.ddns.net'


def update_dns_ip():
    noip_url = f'http://{user}:{pwd}@dynupdate.no-ip.com/nic/update?hostname={hostname}&myip={current_ip}'
    response = requests.get(url=noip_url)

    if response.status_code != requests.codes.ok:
        print('IP atualizado com sucesso no NOIP')

    print(response)
    print(response.status_code)
    print(response.content)
    print(response.content)


if __name__ == '__main__':
    # IP que está registrado para o hostname no NOIP.
    old_ip = socket.gethostbyname(hostname)
    print(f'IP que está registrado no host: {hostname} ({old_ip})')

    # Se o IP atual é diferente do antigo é preciso atualizar:
    if current_ip != old_ip:
        update_dns_ip()
    else:
        print('IP está atualizado')

ignorem o código bagunçado depois eu edito e refatoro ele :joy: foi para fazer um exemplo inicial.

Pipfile:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
pylint = "*"
autopep8 = "*"

[packages]
requests = "*"

[requires]
python_version = "3.8"

Então no caso da API grátis daria para criar um interface (tkinter, QT, GTK, Kivy, etc) com um botão para atualizar o IP caso o mesmo mude.

Caso alguém tenha mais informações da API me mandem por favor.

1 curtida

A ideia foi lançada!
O que mais tem em mente? Que tipo de ajuste gostaria de fazer?
Nos dê exemplos!

@natorsc
Excelente iniciativa! Procurarei por algo mais da API!
Já deu uma olhada no Git?

1 curtida