Skip to content

Conversation

cristian-aldea
Copy link
Contributor

Addresses #751

Copy link

@alametti alametti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note per Porkbun's email:

Deadline: 2024-12-01 00:00:00 UTC

@cohenchris
Copy link

One quick question - how is the API endpoint handled by this plugin? Will the Porkbun endpoint need to be changed anywhere in the code itself? I could not find anywhere in this repository which explicitly hardcodes this endpoint, so I suspect we should be fine, but wanted to make sure before this PR is merged.

Thanks for the quick update on this issue!

@alametti
Copy link

One quick question - how is the API endpoint handled by this plugin? Will the Porkbun endpoint need to be changed anywhere in the code itself? I could not find anywhere in this repository which explicitly hardcodes this endpoint, so I suspect we should be fine, but wanted to make sure before this PR is merged.

See the file changed by this PR - lines 6826 and 6864 of ddclient.in currently hardcode the API endpoint as url => "https://porkbun.com/api/json/v3/.

@cohenchris
Copy link

One quick question - how is the API endpoint handled by this plugin? Will the Porkbun endpoint need to be changed anywhere in the code itself? I could not find anywhere in this repository which explicitly hardcodes this endpoint, so I suspect we should be fine, but wanted to make sure before this PR is merged.

See the file changed by this PR - lines 6826 and 6864 of ddclient.in currently hardcode the API endpoint as url => "https://porkbun.com/api/json/v3/.

Thanks! I didn't scroll down 🙃

@TinfoilSubmarine
Copy link
Contributor

Could we take the opportunity to make the endpoint configurable by the user like we have for other services? I pushed a commit that makes this change, you can just include it in this PR if you'd like.

@cristian-aldea
Copy link
Contributor Author

cristian-aldea commented Oct 15, 2024

Could we take the opportunity to make the endpoint configurable by the user like we have for other services? I pushed a commit that makes this change, you can just include it in this PR if you'd like.

If whoever needs to approve this CR to get it merged is okay with it, so am I. I'm not sure how useful it'll be unless porkbun decide to change api every so often which hopefully won't happen.

EDIT: to include your commit, do I just need to cherry-pick it into my repo's main branch and push right?

@cristian-aldea
Copy link
Contributor Author

Hello, any blockers for this CR? Just let me know what I need to do so a maintainer can merge it.

@MestreLion
Copy link

If whoever needs to approve this CR to get it merged is okay with it, so am I. I'm not sure how useful it'll be unless porkbun decide to change api every so often which hopefully won't happen.

It is useful, as Porkbun also provides an alternate IPv4-only server at https://api-ipv4.porkbun.com . From their API documentation:

IPv4 Only Hostname
Some folks prefer to force IPv4, especially when using the ping command to get back an IP address for dynamic DNS clients. The dedicated IPv4 hostname is api-ipv4.porkbun.com, use this instead of porkbun.com.

So a configurable hostname is very welcome in Porkbun protocol

@cristian-aldea
Copy link
Contributor Author

cristian-aldea commented Nov 4, 2024

So a configurable hostname is very welcome in Porkbun protocol

Feel free to make a separate CR to include that change then. This CR is just meant to address #751. I'll go ahead and include tinfoil's commit in this CR

It's been approved and not merged for 3 weeks now. @dimo414 @alametti what are the blockers to merging this?

@TinfoilSubmarine
Copy link
Contributor

Could we take the opportunity to make the endpoint configurable by the user like we have for other services? I pushed a commit that makes this change, you can just include it in this PR if you'd like.

If whoever needs to approve this CR to get it merged is okay with it, so am I. I'm not sure how useful it'll be unless porkbun decide to change api every so often which hopefully won't happen.

EDIT: to include your commit, do I just need to cherry-pick it into my repo's main branch and push right?

Sorry, just saw your edit. Yep, you should be able to just cherry-pick e147878 (once you've made your repo aware of my branch)

@cristian-aldea
Copy link
Contributor Author

@TinfoilSubmarine ok done. Was able to add your fork as a remote and cherry-pick the commit.

@dimo414 @alametti let us know what blockers there are to merging this. It's been sitting for a while now.

@alametti
Copy link

alametti commented Nov 5, 2024

@dimo414 @alametti let us know what blockers there are to merging this. It's been sitting for a while now.

Nothing on my side. I'm not a maintainer - I just reviewed your changes and I agreed with them based on what Porkbun published.

@dimo414
Copy link

dimo414 commented Nov 5, 2024

Not a maintainer either. I assume you're looking for a review from @rhansen

@cristian-aldea
Copy link
Contributor Author

cristian-aldea commented Nov 5, 2024

Not a maintainer either. I assume you're looking for a review from @rhansen

Understood. Yeah I'd like a maintainer to review and merge. I wasn't sure who's a maintainer. @rhansen if you had time to review that would be nice.

@cohenchris
Copy link

Just as a note, I received a second reminder email from Porkbun to stop using this deprecated API. In that email, they've stated that the old API will be deprecated on 12/1

@Pyroseza
Copy link

Pyroseza commented Nov 5, 2024

here's the 2nd email from Porkbun team:

Hello there,

The reason you are receiving this email is because you have an API key associated with your account and are sending commands to a deprecated API hostname. We sent a previous warning on 2024-10-11. In order to ensure that any apps or tools you may have that utilize our API continue to work, we wanted to let you know about some upcoming critical updates.

We know these kinds of changes are annoying but the time has come to separate the processing of incoming API commands from our website. In previous documentation the hostname porkbun.com was used for the API but we have recently updated it to api.porkbun.com and in the near future will start enforcing its use. Please update the hostname for our API to api.porkbun.com as soon as possible.

CRITICAL UPDATE DETAILS

Type: API Hostname Change

Old Value: porkbun.com

New Value: api.porkbun.com

Deadline: 2024-12-01 00:00:00 UTC

Please note that after the deadline, API calls made to the old hostname will no longer be allowed. If you have any questions or concerns please contact support.

Thank you,
The Porkbun Team

@cristian-aldea
Copy link
Contributor Author

I see that last PR was merged by @rhansen. @rhansen do you have time to look at this? porkbun provider will break in a month otherwise

@AhnHEL
Copy link

AhnHEL commented Nov 12, 2024

Is the Maintainer still actively involved? Are we back to ddclient being unmaintained again?

@kellerassel007
Copy link

Please merge this PR, we need this API update until deadline!

@AD-Wright
Copy link

Please remain calm, we still have two weeks before the deadline! Sure, it would be great to have it sooner for patching and testing purposes, however the maintainer may only be able to check-in once a week or so.

@rageworx
Copy link

So I ... been wait this merge to be granted soon, but maintainer still need time for something verified or need to be checked for Porkbun API changes ?
Hope this update be merged to main ASAP until deadline so far ...

@TinfoilSubmarine
Copy link
Contributor

For those getting anxious about this, note that the "build" process for this is pretty easy since it's just a Perl script. You'll need to download the archive from this branch (https://github.com/cristian-aldea/ddclient/archive/b6be379c9322098e446bea21f610054b9473ba70.zip), and then you can follow the "Manual Installation" instructions in the README (remember to run ./autogen!)

@ajhall
Copy link

ajhall commented Nov 18, 2024

There are also some other DDNS updaters that have already updated their Porkbun support:

@alametti
Copy link

For those getting anxious about this, note that the "build" process for this is pretty easy since it's just a Perl script. You'll need to download the archive from this branch (https://github.com/cristian-aldea/ddclient/archive/b6be379c9322098e446bea21f610054b9473ba70.zip), and then you can follow the "Manual Installation" instructions in the README (remember to run ./autogen!)

And make sure to back up your current /etc/ddclient/ddclient.conf (or whatever your configuration file is) to somewhere outside that file path (if using defaults) - otherwise, the manual installation may overwrite it.

I just built it following the Manual installation instructions after cloning the fork for this PR and everything seems to be working.

@AD-Wright
Copy link

AD-Wright commented Nov 23, 2024

Once ddclient is updated, what would the procedure be to switch back? Backup the configuration files and reinstall?

For (probably my) future reference, here's the process I went through:

cp -r /etc/ddclient /etc/ddclient-bak
cd 
mkdir temp
cd temp
wget https://github.com/cristian-aldea/ddclient/archive/b6be379c9322098e446bea21f610054b9473ba70.zip
unzip b6be379c9322098e446bea21f610054b9473ba70.zip
rm b6be379c9322098e446bea21f610054b9473ba70.zip
cd ddclient-(something)
./autogen
./configure --prefix=/usr --sysconfdir=/etc/ddclient --localstatedir=/var
make
make VERBOSE=1 check
sudo make install
rm -r /etc/ddclient
cp -r /etc/ddclient-bak /etc/ddclient
systemctl start ddclient.service
cd 
rm -r temp

There were various... warning messages? during the build process, I ignored them, it seems to work fine.

@AhnHEL
Copy link

AhnHEL commented Nov 25, 2024

istockphoto-1454186496-612x612

@AD-Wright
Copy link

Note per Porkbun's email:

Deadline: 2024-12-01 00:00:00 UTC

Deadline has now passed. If you are coming here because you use ddclient, and it is now broken, see the comments above from ajhall and alametti. Compiling a branch with this fix and installing it fairly straightforward (although this will then leave you on a dead branch that won't be getting further updates).

@luisnabais
Copy link

This is the easiest of fixes and yet it's months since the warning. I don't believe we can trust the development of this tool. I think I'll change to a different tool for this job.

@cristian-aldea
Copy link
Contributor Author

cristian-aldea commented Dec 18, 2024

Yeah I've switched to https://github.com/qdm12/ddns-updater and it's been working well for me. I recommend it to anyone reading this thread and waiting on the fix for ddclient.

I hope we hear from the maintainer soon. But I know maintaining open source software is hard so they might be taking a break or something.

One of the rare times I decide to contribute to OS and it gets stuck waiting on approvals 😭

@rhansen rhansen merged commit aba1df3 into ddclient:master Dec 19, 2024
@rhansen
Copy link
Member

rhansen commented Dec 19, 2024

Apologies for taking so long. I was hoping some of the other maintainers would step in while I was away, looks like that didn't happen. :(

@rhansen rhansen linked an issue Dec 19, 2024 that may be closed by this pull request
rhansen added a commit that referenced this pull request Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Porkbun API Hostname Change