https://github.com/ffreemt/extend-noip
Extend dns expiry date on noip.com
https://github.com/ffreemt/extend-noip
actions no-ip noip pyppeteer pyppeteer2 python updater
Last synced: 12 months ago
JSON representation
Extend dns expiry date on noip.com
- Host: GitHub
- URL: https://github.com/ffreemt/extend-noip
- Owner: ffreemt
- License: mit
- Created: 2021-02-20T11:01:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-19T21:23:09.000Z (over 3 years ago)
- Last Synced: 2024-10-30T00:36:11.345Z (over 1 year ago)
- Topics: actions, no-ip, noip, pyppeteer, pyppeteer2, python, updater
- Language: Python
- Homepage:
- Size: 98.6 KB
- Stars: 5
- Watchers: 2
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# extend-noip
[](https://github.com/psf/black)[](https://opensource.org/licenses/MIT)[](https://badge.fury.io/py/extend-noip)
Extend dns expiry date on noip.com
## Automate extending dns/domain expiry date on noip.com
[中文读我.md](https://github.com/ffreemt/extend-noip/blob/master/读我.md)
* Fork this repo [https://github.com/ffreemt/extend-noip](https://github.com/ffreemt/extend-noip)
* Set the resultant repo `Secrets`
|Name | Value |
|-- | -- |
|NOIP_USERNAME:| your_noip_username|
|NOIP_PASSWORD:| your_noip_password |
* [Optionally] Change `crontab` in line 6 of `.github/workflows/on-push-schedule-extend-noip.yml`([link](https://github.com/ffreemt/extend-noip/blob/master/.github/workflows/on-push-schedule-extend-noip.yml)) to your like. (This online crontab editor may come handy [https://crontab.guru/#0_0_*/9_*_*](https://crontab.guru/#0_0_*/9_*_*))
## Installtion
```bash
pip install extend-noip
```
or clone [https://github.com/ffreemt/extend-noip](https://github.com/ffreemt/extend-noip) and install from the repo.
## Usage
### Supply noip `username` and `password` from the command line:
```bash
python -m extend-noip -u your_noip_username -p password
```
or use directly the ``extend-noip`` script:
```bash
extend-noip -u your_noip_username -p password
```
### Use environment variables `NOIP_USERNAME` and `NOIP_PASSWORD`
* Set username/password from the command line:
```bash
set NOIP_USERNAME=your_noip_username # export in Linux or iOS
set NOIP_PASSWORD=password
```
* Or set username/password in .env, e.g.,
```bash
# .env
NOIP_USERNAME=your_noip_username
NOIP_USERNAME=password
Run `extend-noip` or `python -m extend_noip`:
```bash
extend-noip
```
or
```bash
python -m extend_noip
```
### Check information only
```bash
extend-noip -i
```
or
```bash
python -m extend_noip -i
```
### Print debug info
```bash
extend-noip -d
```
or
```bash
python -m extend_noip -d
```
### Brief Help
```bash
extend-noip --helpshort
```
or
```bash
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,
```bash
# .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`
```bash
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
```