Metacinnabar / noip-auto-renew

(Actually working) NoIP free domain auto renew with Discord webhook support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

CodeFactor GitHub repo size GitHub GitHub last commit GitHub release (latest SemVer including pre-releases)

Noip-auto-renew is a simple program to renew free noip hosts before they expire. Schedules a cronjob to renew the host automatically.

Built with Python/Selenium with headless Chromium.

Usage

Quick note: username is used in replacement of the system user you are running this program from.

Getting started

  1. Clone the repository (git clone https://github.com/Metacinnabar/noip-auto-renew)
  2. Enter the noip-auto-renew directory (cd noip-auto-renew)
  3. Run setup.sh and set your noip.com account information. (./setup.sh)
  4. Run noip-renew-username, check results.png (if succeeded) or exception.png (if failed)

For information on how to set up Notifications, please read the Notifications section.

For docker users, check Dockerfile, docker-compose.yml, and crontab-docker-host.

To check script version, use command: noip-renew-username --version

Notification Setup

Discord

  1. Sign up on the Discord website.

  2. After creating an account, create a server.

Create Discord Server

  1. Once this is done, right click on server > server settings > webhooks

Navigate to Webhooks

  1. Create a new webhook with a name of choice. Mine is "No-IP Host Monitor" and assign it to a channel.

Create new Webhook

  1. Copy the Webhook URL and enter this during setup.

Future Improvements

  • Improve logging process to allow user to modify log level efficiently
  • Further tidy the script and improve installation & uninstallation process. Make this more streamline.
  • Change the way the script sets "noip-renew-user" to call it. Make it noip-renew --noipaccountname
  • Set up command parameters (--configure --help --version --uninstall --repair --upgrade --logs)

About

(Actually working) NoIP free domain auto renew with Discord webhook support.

License:Apache License 2.0


Languages

Language:Python 55.1%Language:Shell 41.4%Language:Dockerfile 3.5%