Support

Akeeba Backup for Joomla!

#11600 Issues with unicast -> Dropbox

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by nicholas on Sunday, 01 April 2012 10:39 CDT

user32935
Mandatory information about my setup:

Have I read the related troubleshooter articles above before posting (which pages?)? YES
Have I searched the tickets before posting? YES - links included for related
Have I read the documentation before posting (which pages?)? YES
Joomla! version: 2.5.1
PHP version: 5.2.17
MySQL version: 5.0.77
Host: Danhost.dk
Akeeba Backup version: 3.4.2 pro

EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 2Mb, please upload it on your server and post a link to it.

Description of my issue:

In previous version of Akeeba Backup I had to hardcode the ip address to www.dropbox.com and dl-web.dropbox.com into the file administrator/components/com_akeeba/akeeba/plugins/engines/proc/dropbox.php - as you have succesfully directed in ticket #8819: Not connecting to Dropbox

In this new version af Akeeba Backup the Authorisation – Step 1 fails/just shows a blank screen. I found this ticket #11508: Nothing showing with Dropbox Authentication - Step 1 which kinda have the same issue.

If I enable debuging the authentication popup window has this text:
Fatal error: Cannot access empty property in /home/ddss/public_html/administrator/components/com_akeeba/akeeba/plugins/utils/dropbox.php on line 837

I have found some ip adresses to get whitelisted at my host - as they dont allow access through thier firewall unless approved at ip address level - by the dropbox.php in last post of #8819.

Changing the code as instructed in #8819 (before upgrading to 3.4.2) an error that the token was invaild.

Now in 3.4.2 nothing works against Dropbox :( And I need this to work at this hostingcompany.

Please advise.

I would be pleased with an solution, where I again have to hardcode one or more files with whitelisted ip addresses - if this is the workaround at my host.
The seems not to be any willingness at my hosting company to change firewall to make it possible to approve anything but ip adresses.

Regards,

Michael

nicholas
Akeeba Staff
Manager
Having your host open their firewall so that you can access Dropbox is ridiculously simple on their end. All they have to do is to SSH to the server and do a "host www.dropbox.com" and add these IPs to the firewall's whitelist. I can't see why a host would deny doing that. It takes 2 minutes to do that and 5 minutes for each reply they write to you saying that's not possible.

For the record, there is no other workaround. Since Akeeba Backup 3.4.0 we are using the official Dropbox API. It's no longer possible to hack your way into the code and replace domain names with IP addresses – at least not if you expect the end result to work at all.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Hi Nicholas,

Thanks for your quick respons - as always :)

I hear you - and will try again to talk to them (on Monday).

But to be clear - won't they have to update their whitelist manually as the ip changes?

And would it be enough to just get the ips for www.dropbox.com or should more (sub)domains be included?

nicholas
Akeeba Staff
Manager
The IP shouldn't change. Unicast means that the IP you see depends on where in the world the server is. Unless Dropbox adds new nodes closer to your server, the IP shouldn't change. Besides, it seems that currently Dropbox only has a couple of nodes with public IPs (most likely load balancers) and that hasn't changed since the last couple of years. I'd say that once your host adds these IPs you shouldn't have a problem for quite a long time.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Hi again,

ok - thanks for claring this up for me.

AND it enough just to add ips for www.dropbox.com?
Previously I also needed ips for dl-web.dropbox.com and they changes alot :)

Regards,

Michael

nicholas
Akeeba Staff
Manager
You need the IPs for the following domains:
www.dropbox.com
api.dropbox.com
api-content.dropbox.com

Remember to tell your host to allow contacting the relevant IPs over TCP port 443 (we contact them over HTTPS only).

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Hi Nicholas,

Thanks again.

I will do so.

Post back in a couples of days with the result :)

Regards,

Michael

user32935
Hi again,

My hosting company complied and are now doing (on future requests) like you described :)

But also according to my host the ips are opened in the firewall and Authorisation – Step 1 still fails. Activating debugging, the windows writes:
Fatal error: Cannot access empty property in /home/ddss/public_html/administrator/components/com_akeeba/akeeba/plugins/utils/dropbox.php on line 837

Where to look then?

//Taxviper

nicholas
Akeeba Staff
Manager
Can you please try installing our latest developer's release? I can't replicate this issue on the dev release.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Will test tonight and return :)

Thanks so far.

//Taxviper

user32935
Hi again,

installed Akeeba Backup Professional svn1293 (2012-03-21) and tried to run Authorisation – Step 1.

It failed again - samme message with debugging turned on:
Fatal error: Cannot access empty property in /home/ddss/public_html/administrator/components/com_akeeba/akeeba/plugins/utils/dropbox.php on line 837

I will tomorrow get my hosting company to confirm which ip's they have whitelisted.

I'll be back :)

//Taxviper

user32935
Hi,

i seems the support technician forgot one of the url (arrrg!!!).

Will test more again later.

//Taxviper

nicholas
Akeeba Staff
Manager
Oops :)

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Hi again,

Now we are getting somewhere - testet two sites, one work all the way, one fails in post.

The first site - no more talk about this.

The second site:
PHP Version :5.2.17
DB Version :5.0.95-community
Joomla! version :1.5.25
Akeeba Backup :3.4.3 (2012-03-21)

It authenticate both step 1 and 2 without any problems.
But it fails during upload to Dropbox.
I have enclosed the log file.

Any advises?

//Taxviper

user32935
I forgot to add:
I tried two times - first times it upload the first 3 files and then lost connection, the second time it fail in the first file.

Between the to runs I reduced the archive file size from 5 mb to 3 mb.

//Michael

nicholas
Akeeba Staff
Manager
It sounds like your server doesn't want to connect to Dropbox?! Sorry, I have no idea what is going on. You have the same server setup as one of my test servers and I can connect to Dropbox without a problem. Sorry, this sounds like a server-side problem and I don't think I can help. It could be anything from a firewall issue to some cURL issue - it's impossible for me to debug :(

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
I've in the last couple of days tested some more.

It seems that most uploads starts, but gets interrupted after a number of files.
Some only uploads a couple of the files from the middle (eg. files 22 to 28 out of 71 files - the rest are not transferred).

The file sizes are not above 5 Mb and the number of files are between 20 and 75.

I found out that running the host command from my home, at the ip's for api-content.dropbox.com they change from run to run!

It seems that dropcom.com and api.dropbox.com are fixed - api-content.dropbox.com are not!

I guess therein lies my problem, as then only a limited number of the ip's used for api-content.dropbox.com are whitelisted.

I seem that api-content.dropbox.com are an alias for dl-balancer3-985632386-us-east1.elb.amazonaws.com - at least from my home - and it has a big number of ip's attached.

//Taxviper

user32935
Hi again,

I'm looking into change hosting company to Site5 - their VPS plans.

Do you have any knowledge of any running at their setup without any problems?

//Taxviper

nicholas
Akeeba Staff
Manager
Thank you for this insight. This piece of information, that the IP address for the API endpoint constantly changes, isn't mentioned anywhere in the sketchy Dropbox dev documentation. I guess that host and Dropbox will never work.

I have not tried Site5, so I can't tell you for sure. Asking them if they implement an IP-based firewall for outbound connectionsshould be sufficient. If they do, you'll have the same problems.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Hi,

I'll see what my current hosting company will come up with - they are looking to a new solution for me.

Otherwise I'll test out Site5 and could share info with you - if so, where do you want this (PM, mail, this thread, new thread or some other form)?

Regards,

Taxviper

nicholas
Akeeba Staff
Manager
Use the contact form (the Contact link at the bottom of the page). Please mention your username when you do that so that I remember our conversation :)

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user32935
Hi again,

my current hosting company returned with a solution I'm willing to test.

As of now this new solution works :)

They found every net Amazon are using for AWS and found a way to add nets also to the whitelist.

So now all 152 nets published by Amazon for AWS are whitelisted (and thats al lot of ip addresses).

Lets see and hope the nets dosn't change.

Otherwise I will return with the test of Site5 as a new host.

Regards,

Michael

nicholas
Akeeba Staff
Manager
That sounds like a good plan :)

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!