Skip to content

ffreemt/extend-noip

Repository files navigation

extend-noip

Code style: blackLicense: MITPyPI version

Extend dns expiry date on noip.com

Automate extending dns/domain expiry date on noip.com

中文读我.md

Installtion

pip install extend-noip

or clone https://github.com/ffreemt/extend-noip and install from the repo.

Usage

Supply noip username and password from the command line:

python -m extend-noip -u your_noip_username -p password

or use directly the extend-noip script:

extend-noip -u your_noip_username -p password

Use environment variables NOIP_USERNAME and NOIP_PASSWORD

  • Set username/password from the command line:
    set NOIP_USERNAME=your_noip_username  # export in Linux or iOS
    set NOIP_PASSWORD=password
  • Or set username/password in .env, e.g.,
    # .env
    NOIP_USERNAME=your_noip_username
    NOIP_USERNAME=password
    

Run extend-noip or python -m extend_noip:

extend-noip

or

python -m extend_noip

Check information only

extend-noip -i

or

python -m extend_noip -i

Print debug info

extend-noip -d

or

python -m extend_noip -d

Brief Help

extend-noip --helpshort

or

python -m extend_noip --helpshort

Turn off Headless Mode (Show the browser in action)

You can configure NOIP_HEADFUL, NOIP_DEBUG and NOIP_PROXY in the .env file in the working directory or any of its parent directoreis. For example,

# .env
NOIP_HEADFUL=1
NOIP_DEBUG=true
# NOIP_PROXY

Automation via Github Actions

It's straightforward to setup extend-noip to run via Github Actions, best with an infrequent crontab.

  • Fork this repo
  • Setup Actions secrets via Settings/Add repository secrets:
Name Value
NOIP_USERNAME: your_noip_username
NOIP_PASSWORD: your_noip_password

For example, in .github/workflows/schedule-extend-noip.yml

name: schedule-extend-noip

on:
  push:
  schedule:
    - cron: '10,40 3 */9 * *'
...
setup, e.g. pip install -r requirements.txt or
poetry install --no-dev
...

      - name: Testrun
        env:
          NOIP_USERNAME: ${{ secrets.NOIP_USERNAME }}
          NOIP_PASSWORD: ${{ secrets.NOIP_PASSWORD }}
        run: |
          python -m extend_noip -d -i

Releases

No releases published

Packages

No packages published

Languages