Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option for alternative s3 hosts #374

Closed
kenkendk opened this issue Aug 5, 2014 · 14 comments
Closed

Add option for alternative s3 hosts #374

kenkendk opened this issue Aug 5, 2014 · 14 comments

Comments

@kenkendk
Copy link
Member

kenkendk commented Aug 5, 2014

From mario.mi...@googlemail.com on February 23, 2011 17:05:59

More and more providers in germany start there own cloudstorage solutions mostly based on s3, like Hosteurope. So it would be nice if it where possible to alter the host for the s3 accounts in your applications.

Original issue: http://code.google.com/p/duplicati/issues/detail?id=374

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on February 23, 2011 08:10:37

I looked at Hosteurope, and it seems to be based on S3 alright, but I can find no documents describing the API. Does it work like the regular S3 API, but just pointed at another url?

If that is the case, you can do it from the command line, but the UI offers no options for setting the hostname.

Owner: kenn...@hexad.dk

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From mario.mi...@googlemail.com on February 23, 2011 08:48:42

Yes its s3 compatible only the url differs.
It would be nice if the UI can offer this option. I think not all users can work with the commandline. Espacially windows users wont work on the console. So it would be a nice feature.

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on March 10, 2011 12:43:22

Could you send me an example "alternate url" so I can see if it would work the way I expect it to?

Status: Accepted
Labels: -Type-Defect Type-Enhancement

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From imi...@gmail.com on March 10, 2011 15:33:02

Hosteurope, Dunkel, and other storage hosting providers are licensing an apparent S3 clone developed by a US company called Scality. Details here: http://www.scality.com/scalable-data-storage-technology/

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From mario.mi...@googlemail.com on March 11, 2011 02:08:23

I think you can ask for an testaccount from hosteurope.
By the way the url for their cloudstorage is cs.hosteurope.de

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on March 13, 2011 07:27:46

I have written Hosteurope and they confirm that it works as S3.
I have a pending request for a test account, but that is not required for building support for it, just for verifying that it actually works.

When using S3, the bucket name is encoded into the URL in two ways:
".s3.amazonaws.com" and "s3.amazonaws.com/".

This makes it difficult to support arbitrary hostnames, eg. the URL: http://my.cool.storage.com/nnn/myfile " can be parsed as using either "my" or "nnn" as the bucket name.

It can be fixed by adding and option eg. --s3-server-name="my.cool.storage.com", which would eliminate the possible duality in parsing the host name.

But it does seem rather annoying that the user would have to supply the info twice, eg:
Duplicati.CommandLine.exe backup C:\files s3://my.cool.storage.com/nnn/ --s3-server-name="my.cool.storage.com".

So I was thinking of including a list of known providers to the S3 module, which can then be used without having to supply the extra info.

I have found the two provider URLs:
dcs.dunkel.de
cs.hosteurope.de

If you know of other providers, or have a better solution for parsing the urls, please let me know.

I will try to look at the scality customers and see if it is possible to extract the urls from the respective companies so they can be supported right away.

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From mario.mi...@googlemail.com on March 16, 2011 13:38:34

Do you know s3cmd for linux?
They done it without the host in the object specifier.

s3cmd put s3:///

I think that's way easier to parse. Because you can substitute the resulting url with
your application. Also you can ask for bucketversion, new for
.cs.hosteurope.de or old for cs.hosteurope.de/.

So the user don't need to care about the url. They only need to give the
s3-server-name flag anyway

Regards

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on June 23, 2011 14:53:13

I have now changed the S3 library to use the official AWSSDK, and added an option to use alternate hosts. I ended up using the simplified syntax "s3://bucketname/prefix", with a detection for those who use the "s3://bucketname.s3.amazonaws.com" or "s3://s3.amazonaws.com/bucket" formats. If anyone was using vanity style lookups, it will break, so I will put up a notice about that.

I will put up a new build with the fixes shortly ( r811 or newer).

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on June 26, 2011 06:33:34

The changes are now ready and can be tested with 1.2.1 r815 from the download page. Since I have no way to test this, please let me know if it works.

Status: Awating-Feedback

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on June 30, 2011 00:39:47

There is now a r822 preview release with support for this. The r820 preview had a minor bug with bucketnames that were not valid hostnames.

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From lexin...@gmail.com on September 20, 2011 16:43:43

i am a windows user (most of the time) and would love to use duplicati with my s3-storage on hosteurope. will there be support for this in the gui? there has been no new comments since 3 months... i just want to know if it's worth waiting.
thanks

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on September 21, 2011 00:51:54

I have modified the code to support this, but I need someone to confirm that it works. I cannot get a hosteurope test account because I do not live in any of the supported countries.

If you have a hosteurope account, you can try it and let me know if it works. You just need to install the latest preview version from the download page (scroll down, currently 1.2.1 r846 ): https://code.google.com/p/duplicati/wiki/Downloads?tm=2 Once installed, the S3 config page should have a dropdown box that allows you to select hosteurope as the provider.

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From lexin...@gmail.com on September 21, 2011 03:58:16

confirmed! r846 .x64 works great on my win7x64. thanks!

next big wish would be to integrate this into nas-systems like synology or qnap ;-)
any chance?

@kenkendk
Copy link
Member Author

kenkendk commented Aug 5, 2014

From kenneth@hexad.dk on September 21, 2011 04:45:49

I do have a Synology box, so it is not unlikely :)

But please create another issue for that.

It is possible to run the current Duplicati on the NAS box if you install the Mono package (without the GUI naturally). Once issue #9 is resolved, it should be fairly easy for someone who knows how Synology works (or I have to read a lot).

Status: Fixed

@kenkendk kenkendk closed this as completed Aug 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant