Giter Club home page Giter Club logo

Comments (30)

PointP avatar PointP commented on June 29, 2024

i too had connection problems for 10 hours. It seems like something to do with godaddy and its unstable services. After 10 hours of agony, module works to normal.

from pygodaddy.

getSurreal avatar getSurreal commented on June 29, 2024

Mine started failing yesterday and hasn't recovered yet. It runs hourly.

On 6/17/2015 9:10 PM, PointP wrote:

i too had problems with connection for 10 hours. It seems like it is
something to do with godaddy and its unstable services. After 10 hours
of agony, module works back as before.


Reply to this email directly or view it on GitHub
#12 (comment).

from pygodaddy.

xMAC94x avatar xMAC94x commented on June 29, 2024

My last succesfull Domain Record change was on 2015-06-17 4am,
Since 2015-06-18 4am it fails everyday

from pygodaddy.

getSurreal avatar getSurreal commented on June 29, 2024

I had mine running from the cron.hourly schedule which was running at 01
minutes of every hour so it's not just 00 they're blocking. I was able
to manually run it at other minutes in the hour. Maybe they tracked IPs
logging in at the same time over and over and blocked that specific
time. Who knows. Hopefully using your random setting will help out a
lot. Thanks for that.

On 6/19/2015 12:30 AM, PointP wrote:

@getSurreal https://github.com/getSurreal i experience same thing
during 2015-06-18 01:00:09,524 Until now. After I test few things
around, i noticed that they cut down 00 minutes connection. Which by
the way, very stupid move from goDaddy. I changed my crontab setting
to something like following and it works just fine. Try it.

*/10 * * * * sleep $(expr $RANDOM % 90); /.../godaddy-dyndns.sh

P.S. you don't have to use random delay on.


Reply to this email directly or view it on GitHub
#12 (comment).

from pygodaddy.

PointP avatar PointP commented on June 29, 2024

I noticed that many deals with none-working script recently.
I told few people about random timing and killing connection from godaddy earier.
However, it turns out something little bit different from what I originally thought.

Here is what is going on with script.

When you use login function from client.py, it goes to "r = self.session.get(self.default_url)"
default_url is "https://dns.godaddy.com/default.aspx" and if you try to connect this address with
anything (web browser and so on...) first connection is always returns the error.

Probably, many already see something like this in their running:

"requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError ..."

This is part where goDaddy just kill your connection.

So how come some of lucky ones able to keep use this script?

If you execute same script one more time right after the first one, it will work just fine.
I think "they" store request information and verify it for next connection until around 15 minutes(not fully tested... around that area for sure) or so.

That is why "hourly" people just simply not worked at all... I feel sorry to you guys...

Here is what i come up with

I would do something like this in client.py line 99

    for i in range(0, 10):
        while True:
            try:
                r = self.session.get(self.default_url)
            except:
                time.sleep(1)
                continue
            break

instead of

    r = self.session.get(self.default_url)

As you can see, it is just looping until connection works. That is very much all of it

Good luck to all.

from pygodaddy.

getSurreal avatar getSurreal commented on June 29, 2024

Thanks for that update recommendation. Wouldn't it also be better to only login if the record actually needs to be updated?

Thanks,
James

On Jun 23, 2015, at 4:22 AM, PointP [email protected] wrote:

I noticed that many deals with none-working script recently.
I told few people about random timing and killing connection from godaddy earier.
However, it turns anout something little bit different from what i originally thought.

Here is what is going on with script.

When you use login function fro client.py, it goes to "r = self.session.get(self.default_url)"
and default_url is "https://dns.godaddy.com/default.aspx" and if you try to connect this address with
anything (webbrowser and so on...) first connection is always returns the error.

Probably, many already see something like this in their running:

"requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError ..."

This is part where goDaddy just kill your connection.

So how come some of lucky ones able to keep use this script?

If you execute same script one more time right after the first one, it will work just fine.
I think they store request infomation and vertify it for next connection for around 10 minutes(not fully tested... around that area for sure) or so.

That is why "hourly" people just simply not worked at all... I feel sorry to you guys...

Here is what i come up with

I would do something like this in client.py line 99

for i in range(0, 10):
    while True:
        try:
            r = self.session.get(self.default_url)
        except:
            time.sleep(1)
            continue
        break

instead of

r = self.session.get(self.default_url)

As you can see, it is just looping until connection works. That is very much all of it

Good luck to all.


Reply to this email directly or view it on GitHub.

from pygodaddy.

PointP avatar PointP commented on June 29, 2024

@getSurreal Yeap it does that already. Update suggestion line is connection verification part of login function. Cheers.

from pygodaddy.

getSurreal avatar getSurreal commented on June 29, 2024

@PointP when I was getting failures every hour, my IP had not changed so that makes me believe it tries to login every time.

Thanks,
James

On Jun 23, 2015, at 8:40 PM, PointP [email protected] wrote:

@getSurreal Yeap it does that already. Update suggestion line is connection verification part of login function. Cheers.


Reply to this email directly or view it on GitHub.

from pygodaddy.

ggogel avatar ggogel commented on June 29, 2024

Hey,

I'm trying to set up an update script for hours until i found this issue thread. I edited the client.py as @PointP suggested, but authentification is still not working for me. Any suggestions to fix this issue? I recently moved to godaddy and dyndns would be really nice.

Thanks in advance

from pygodaddy.

ggogel avatar ggogel commented on June 29, 2024

This is how I solved it:
Log into godaddy with a browser on pc with the same external ip as the server and then run the script. Now pygodaddy can login and change the A record. To keep it up working, i think you have to run the script every 5min or so. It's working with and without the suggested fix from @PointP.

from pygodaddy.

PointP avatar PointP commented on June 29, 2024

@gerrit507 sorry for late reply on your comment. Tour approach is valid as well. For me, validation time is longer than 5 minutes. Well anyway main idea is run script twice in a row

from pygodaddy.

ggogel avatar ggogel commented on June 29, 2024

@PointP run script twice in a row does not work for me. I had to log into godaddy in a browser via the same external ip as the server has, otherwise there was no authentifaction possible via the script, even with 10 attempts in a row. Maybe somebody can reproduce this issue...

from pygodaddy.

dawg6 avatar dawg6 commented on June 29, 2024

Even after logging in from web browser, the script is failing. I've tried running multiple times as well, to no avail. This just started happening for me within the last 24 hours (8/21/15).

Edit: here is the output showing where it is failing now.

ERROR:pygodaddy.client:Login routine broken, godaddy may have updated their login mechanism
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pygodaddy/client.py", line 101, in login
    viewstate = re.compile(r'id="__VIEWSTATE" value="([^"]+)"').search(r.text).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

from pygodaddy.

runnerway avatar runnerway commented on June 29, 2024

@dawg6 Same problem here!

from pygodaddy.

antst avatar antst commented on June 29, 2024

Same problem. godaddy definitely changed their login mechanism.
Does somebody maintain this code nowadays?

from pygodaddy.

iwanttobefreak avatar iwanttobefreak commented on June 29, 2024

Same problem

from pygodaddy.

 avatar commented on June 29, 2024

I have updated my code and got it working with the new login mechanism, I've forked the repo and updated the code to work. I am in Australia and I've noticed the URL's I used have region information in them, you may want to update this to use your region in 'client.py'. I've left comments of what has been changed.

https://github.com/BryceGough/pygodaddy

from pygodaddy.

antst avatar antst commented on June 29, 2024

Can confirm that it works!
Thanks!

from pygodaddy.

iwanttobefreak avatar iwanttobefreak commented on June 29, 2024

Thank you BryceGough!!!
It works.

from pygodaddy.

claneys avatar claneys commented on June 29, 2024

Getting the same code as BryceGough... Thanks !
Make a pull request to fix this upstream.

from pygodaddy.

trkadi avatar trkadi commented on June 29, 2024

Well, how to get this to work?

/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning

from pygodaddy.

trkadi avatar trkadi commented on June 29, 2024

Ah..

"InsecurePlatformWarning
New in version 1.11.

Certain Python platforms (specifically, versions of Python earlier than 2.7.9) have restrictions in their ssl module that limit the configuration that urllib3 can apply. In particular, this can cause HTTPS requests that would succeed on more featureful platforms to fail, and can cause certain security features to be unavailable.

If you encounter this warning, it is strongly recommended you upgrade to a newer Python version, or that you use pyOpenSSL as described in the OpenSSL / PyOpenSSL section.

If you know what you are doing and would like to disable this and other warnings, please consult the InsecureRequestWarning section for instructions on how to handle the warnings."

from pygodaddy.

trkadi avatar trkadi commented on June 29, 2024

Here I post my ipUpdate.py what I refreshed to python3 (because of that "InsecurePlatformWarning").

#!/usr/bin/env python3
# -*- coding:utf8 -*-
import logging
import pif
import pygodaddy
logging.basicConfig(filename='godaddy.log', format='%(asctime)s %(message)s', level=logging.INFO)
GODADDY_USERNAME="egyetemijegyzet"
GODADDY_PASSWORD="pRoVisT@66"
client = pygodaddy.GoDaddyClient()
client.login(GODADDY_USERNAME, GODADDY_PASSWORD)
logging.debug("Started: before 'for'")
for domain in client.find_domains():
    dns_records = client.find_dns_records(domain)
    # Old ip..
    old_ip = list(dns_records)[0].value
    # 'New' ip!
    public_ip = pif.get_public_ip()
    # Some loggings and printing
    logging.debug("Domain '{0}' DNS records: {1}".format(domain, old_ip))
    print("Domain '{0}' DNS records: {1}".format(domain, old_ip))
    if public_ip != old_ip:
        if client.update_dns_record(domain, public_ip):
            logging.info("Domain '{0}' public IP set to '{1}'".format(domain, public_ip))
            print ("Domain '{0}' public IP set to '{1}'".format(domain, public_ip))
        else:
            pass # What to do here? ..
    else:
        logging.info("No update needed.")
        print ("No update needed.")

from pygodaddy.

bodak avatar bodak commented on June 29, 2024

Remove your password :)

from pygodaddy.

trkadi avatar trkadi commented on June 29, 2024

Yeah thanks, maybe minus zero people want to steal this domain name but yeah :) I changed my pass to a cooler one. I owe you a beer! :P

from pygodaddy.

mitchmania avatar mitchmania commented on June 29, 2024

Heads up @adamt1988 your issue is about InsecurePlatformWarning is probably unrelated. You need to pip install requests[security]. That should fix your problem. Depending on your platform you may need dependencies like openssl-devel and libffi-devel (CentOS).

from pygodaddy.

mitchmania avatar mitchmania commented on June 29, 2024

Also, Thank you @claneys, you keep my network running and saved me a lot of time!!!!!!

from pygodaddy.

frol avatar frol commented on June 29, 2024

@observerss Could you please merge @brycegough's patch to the upstream and release a new version?

from pygodaddy.

pretyman avatar pretyman commented on June 29, 2024

@observerss 👍 Please merge #13

from pygodaddy.

denzuko avatar denzuko commented on June 29, 2024

@adamt1988 thanks for your password. btw does it work with your email and fb too?

from pygodaddy.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.