はじめに
お名前.com使ってますか?
僕はお名前.comでドメインを借りてます。ふと、家のマシンをインターネット公開しようとDDNSしようと思ったのですが、クライアントがWindowsしかありませんでした。
調べてみると簡単にできそうだったので、肝となるコードは参考しつつ、Goで書いてみました。
利用の際は自己責任でお願いします。
機能紹介
リポジトリ
ヘルプ(リリース当初)
❯ onamae-go -h
flag needs an argument: -h
Usage of onamae-go:
-d string
Domain. ex. example.com
-daemon
Launch as daemon
-h string
Hostname. ex. www
-i https://httpbin.org/ip
IP address. If empty, will get it automatically using https://httpbin.org/ip
-interval string
Update interval. Enable only for daemon mode (default "1m")
-p string
Password onamae.com env:$ONAMAE_PASSWORD
-u string
Username onamae.com.env:$ONAMAE_USERNAME
基本的な使い方
明示的にIPアドレスを指定して実行
onamae-go -h www -d my.example.co.jp -p <パスワード> -u <ユーザー名> -i <IPv4アドレス>
動的に取得して実行
# https://httpbin.org/ip を利用してグローバルIPを自動的に取得します
onamae-go -h www -d my.example.co.jp -p <パスワード> -u <ユーザー名>
5分間隔で動的に取得するバックグラウンド実行
# 起動中にグローバルIPに変更があったときのみ、お名前.comに更新しに行きます。
onamae-go -h www -d my.example.co.jp -p <パスワード> -u <ユーザー名> -daemon -interval 5m
認証情報を環境変数として設定して実行
export ONAMAE_USERNAME=<ユーザー名>
export ONAMAE_PASSWORD=<パスワード>
onamae-go -h www -d my.example.co.jp