Editing Storj

From FileZilla Wiki
Jump to navigationJump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
 
Storj is a decentralized peer-to-peer file storage system, and new protocol being added to FileZilla.  
 
Storj is a decentralized peer-to-peer file storage system, and new protocol being added to FileZilla.  
  
Source code is available at https://svn.filezilla-project.org/filezilla/FileZilla3/trunk and depends on https://docs.storj.io/dcs/api-reference/storj-client-libraries
+
Source code is available at https://svn.filezilla-project.org/filezilla/FileZilla3/branches/storj/ and depends on https://github.com/Storj/libstorj
  
To check out the code with subversion:
+
To checkout the code with subversion:
  
     svn co https://svn.filezilla-project.org/svn/FileZilla3/trunk filezilla
+
     svn co https://svn.filezilla-project.org/svn/FileZilla3/branches/storj/ filezilla
  
And enable using:
+
= Getting Started =
 
 
    ./configure --enable-storj
 
 
 
= Quick setup =
 
  
 
* Add a new site in the Site Manager and select Storj as the protocol
 
* Add a new site in the Site Manager and select Storj as the protocol
* Enter '''gateway.us1.storjshare.io''' as the host and '''443''' as the port
+
* Enter '''api.storj.io''' as the host and '''443''' as the port
** Note: us1, eu1, and ap1 are the current gateways. Use the closest gateway.
 
 
* Enter the bridge user name and password
 
* Enter the bridge user name and password
 
* If you have not created an Encryption Key before, generate a new one, otherwise add your existing key
 
* If you have not created an Encryption Key before, generate a new one, otherwise add your existing key
 
* Connect to the server and begin uploading and downloading files
 
* Connect to the server and begin uploading and downloading files
  
 +
= Frequently Asked Questions =
  
= Introduction =  
+
=== What is an Encryption Key? ===
  
[https://filezilla-project.org/ FileZilla] is a fast and reliable cross-platform FTP, FTPS, SFTP and Storj client with many useful features and an intuitive graphical user interface. A server-client is also available.  
+
The Encryption Key is a series of 12 to 24 words that represents 128 to 256 bits of entropy that is used to encrypt files before they are uploaded into the network.  
  
Below are some of the FileZilla client features:
+
Here is an example Encryption Key:
 
 
* Easy to use
 
* Supports Storj, FTP, FTP over SSL/TLS (FTPS) and SSH File Transfer Protocol (SFTP)
 
* Cross-platform. Runs on Windows, Linux, *BSD, Mac OS X and more
 
* IPv6 support
 
* Available in many languages
 
* Supports resume and transfer of large files >4GB
 
* Tabbed user interface
 
* Powerful Site Manager and transfer queue
 
* Bookmarks
 
* Drag & drop support
 
* Configurable transfer speed limits
 
* Filename filters
 
* Directory comparison
 
* Network configuration wizard
 
* Remote file editing
 
* Keep-alive
 
* HTTP/1.1, SOCKS5 and FTP-Proxy support
 
* Logging to file
 
* Synchronized directory browsing
 
* Remote file search
 
 
 
FileZilla incorporates the Storj asynchronous multi-platform C library for encrypted file transfer on the Storj network into its back end to ensure the highest level of performance and stability. This library is also the back end to the native [https://docs.storj.io/dcs/api-reference/uplink-cli libstorj CLI].
 
 
 
In this guide, we will run through the process of setting up FileZilla to be able to up and download painlessly to the Storj Cloud.
 
 
 
= Setting up a Storj account  =
 
 
 
Before we can start uploading and downloading to the Storj network, it is necessary to open an account on a Storj Satellite. The Satellite acts as an interface to the Storj network and manages all the complicated stuff in the background, making it completely painless for a user to start using the Storj network.
 
 
 
== Registering an account via Satellite ([https://us1.storj.io/signup STORJ Signup]) ==
 
 
 
If you already have a Storj account, you can proceed directly to section 3.2.
 
 
 
To register a new account, click on the [https://app.storj.io/#/signup Sign Up link] (Figure 3.1). Once on the registration page, enter your email address and desired password, then click the check box to agree to the terms of service and finally click on "Sign Up" (Figure 3.2).
 
 
 
 
 
[[File:Signup.png|400pix|thumb|center|Figure 3.1. Satellite (storj.io) main Login window, click on "Sign Up".]]
 
 
 
 
 
Now check your email inbox and click on the account activation link sent to you by Storj. A web page should open with the account activation confirmation. Note that sometimes the email automatically gets moved to the spam/trash folder by some email providers, so if the email is not in the inbox, make sure to check the spam folder. Now
 
that the Satellite account is created, you can login (Figures 3.1) and you will be presented with your Satellite dashboard page.
 
 
 
== Configure billing to upload/download beyond the free tier limit ==
 
 
 
Currently the free tier for Storj renters is structured as follows:
 
 
 
*  '''Uploading limit''': 50GB/month.
 
*  '''Downloading limit''': 50GB/month.
 
 
 
(Data obtained from: [https://docs.storj.io/dcs/billing-payment-and-accounts-1/pricing Storj Billing]. If you want to upload or download beyond the free tier, a payment option can be added to the Billing tab of your account on [https://storj.io storj.io].
 
 
 
 
 
'''Payments options currently include:'''
 
 
 
* STORJ token
 
 
 
* Credit Card
 
 
 
 
 
 
 
Once your billing information is added, the free tier limit will be lifted and you will now be able to upload and download as much as you like/can afford!
 
 
 
''These are the current storage and bandwidth prices ('''they apply only after you exhausted your monthly free tier limits'''):''
 
 
 
*  '''Storage''' -> $4 per TB used per month
 
*  '''Download Bandwidth''' -> $7 per TB downloaded
 
*  '''Upload bandwidth''' -> free
 
 
 
This information was extracted from [https://storj.io/pricing pricing].
 
  
 +
    legal winner thank year wave sausage worth useful legal winner thank year wave sausage worth useful legal will
  
'''Important things to note regarding the billing structure:'''
+
If you're familiar with Bitcoin, this will be recognizable as it's based on the [https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39] standard.
  
* You only pay for the time span that your data was stored on the network, if you delete some of your files today you will not pay for them anymore tomorrow, '''you will stop getting charged for storage right after you delete the files'''.
+
=== How do I export settings from libstorj CLI? ===
* Your storage usage is added daily to your ''"Current Usage"'' in the billing section. However, if your billing method is by credit card, you will only be billed once per month (normally on the 22nd of every month). For pre-paid billing methods like STORJ token or BTC, your pre-paid balance will be reduced daily according to your usage but again actual amount deducted from your balance will be reconciled at the end of the billing cycle taking into account your free tier allotment.
 
* '''The free tier allotment is subtracted from your paid tier every month''', thus if you upload 100GB in a given month, you will only pay for 75GB (100GB – 25GB free tier) at the end of the billing cycle.
 
  
= Configure FileZilla with Storj =
+
First run this command to get the bridge user, password and the encryption key:
  
Follow the official guide over at Storj.io
+
    storj export-keys
  
https://docs.storj.io/dcs/how-tos/set-up-filezilla-for-decentralized-file-transfer
+
And then enter those settings into FileZilla in the Getting Started section.
  
= Creating a folder, uploading and downloading files =
+
=== What does it mean if I see "Error: Wrong encryption key for at least one bucket"? ===
  
This step is very easy. Once connected to our account, there are two main sections of the GUI, namely:
+
This means that a bucket was added using a different Encryption Key and you won't be able to download the files within that bucket as it won't be able to decrypt or verify their integrity.
  
* Local site (your computer) - Left pane
+
=== Why is there more data transfered over the wire compared to the total size of the file? ===
* Remote site (the Storj cloud) - Right pane
 
  
If you already have some folders (buckets) in your Storj account, they will be displayed in the <code>Remote site</code> pane. You can easily create a folder by right clicking somewhere in the remote site pane and selecting <code>Create directory</code> (Figure 5.1).
+
Files are encoded with [https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction Reed Solomon] error correction before they are uploaded to the network. This provides the ability to repair parts of the file that are missing or inaccessible. The number of parity shards is currently calculated as 2/3 of the original file size.
 
 
'''Note:''' You can add as many folders as you want and also add sub-folders!.
 
 
 
 
 
[[File:Storj Add a folder.png|400pix|thumb|center|upright=2.0|Figure 5.1. Adding folders to Storj for uploading files.]]
 
 
 
 
 
You can now browse to the files/folders you want to upload in the <code>Local site</code> pane and upload them by dragging-and-dropping them to the Storj folder you created in the <code>Remote site</code> pane.
 
 
 
 
 
[[File:Storj upload.png|400pix|thumb|center|upright=2.0|Figure 5.2. Uploading files to a folder/bucket.]]
 
 
 
 
 
'''Tip:''' If you can't add a directory, you can reconnect to Storj by doing the following:
 
 
 
* Go to <code>Server</code> -> <code>Reconnect</code> (Figure 5.3).
 
 
 
 
 
[[File:Storj reconnect to server.png|400pix|thumb|center|upright=2.0|Figure 5.3. Reconnecting to Storj.]]
 
 
 
 
 
Downloading files is just as easy, only this time drag-and-drop the files from your folder in your <code>Remote Site</code> pane to a folder of your choice in the <code>Local Site</code> pane. That's it!
 
 
 
 
 
= Frequently Asked Questions =
 
 
 
=== What is an Encryption Key? ===
 
 
 
The Encryption Key is a series of 12 to 24 words that represents 128 to 256 bits of entropy that is used to encrypt files before they are uploaded into the network.
 
 
 
Here is an example Encryption Key:
 
 
 
    legal winner thank year wave sausage worth useful legal winner thank year wave sausage worth useful legal will
 
 
 
If you're familiar with BTC, this will be recognizable as it's based on the [https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39] standard.
 
 
 
You can also use your own encryption phrase.
 
  
 
=== How are files encoded before being uploaded to the Storj network? ===
 
=== How are files encoded before being uploaded to the Storj network? ===
  
https://docs.storj.io/dcs/concepts/overview#what-happens-when-you-upload
+
Files are first encrypted using the Encryption Key and then encoded using Reed Solomon into various size shards. For specific details please read [https://github.com/Storj/sips/blob/master/sip-0005.md SIP5]. These shards are then uploaded to different nodes in the Storj network directly after communicating with the Storj bridge to negotiate which nodes to communicate with. After the file is uploaded, it is then mirrored to other nodes in the network, so that in the event that a shard goes missing after this initial upload, a shard can be repaired. The total number of shards that can be repaired is around 1/2 of the original file.
  
 
'''''Note:''' For larger files the time it takes to do this preparation step can be more noticeable.''
 
'''''Note:''' For larger files the time it takes to do this preparation step can be more noticeable.''
Line 166: Line 52:
 
=== Can I rename or move files? ===
 
=== Can I rename or move files? ===
  
'''Server Side Move'''
+
Not currently, this feature can be supported in the future, when file ids are unique, see deprecation messages at https://github.com/Storj/service-storage-models/blob/master/lib/models/bucketentry.js#L115-L119
  
The new uplink binary has now a server side move command. You can rename a file or move it to a different folder or even bucket. Renaming a folder is not possible at the moment. We might implement that in a future release.
+
=== What do I do if I see "Transfer rate limit" error ===
  
FileZilla doesn't supported this feature at the moment.
+
This means that a rate limit on the number of bytes uploaded or downloaded has been reached. These are calculated time spans by hour, day and month. Accounts that have billing information entered currently do not have these rate limits, and instead have a rate limit on the total number of requests, which can be seen as a "Too many requests" error.
  
 
=== How many files can I upload? ===
 
=== How many files can I upload? ===
  
There currently isn't a hard limit an the total number of bucket entries that can be added to a bucket.
+
There currently isn't a hard limit an the total number of bucket entries that can be added to a bucket. However there is limited support for more than 5000 buckets and more than 2000 bucket entries.
  
 
=== Why can't I upload a file at the root? ===
 
=== Why can't I upload a file at the root? ===
  
 
FileZilla currently maps buckets as directories at the root level and each file within those buckets is a bucket entry. Sub-directories are created by having a forward slash in the bucket entry name, which are parsed and shown as a directory within FileZilla. For this reason, it's not possible to add a file to the root because there isn't a bucket to add a bucket entry.
 
FileZilla currently maps buckets as directories at the root level and each file within those buckets is a bucket entry. Sub-directories are created by having a forward slash in the bucket entry name, which are parsed and shown as a directory within FileZilla. For this reason, it's not possible to add a file to the root because there isn't a bucket to add a bucket entry.
 
= Conclusion =
 
 
In this simple guide, we first created a Storj account and added a billing option. We then imported our account details into FileZilla and adjusted a few parameters in the client settings. Finally, we learned how to add a folder to out Storj account and how to up- and download files to and from this folder. FileZilla has many more advanced features and settings, so if you want to learn more about FileZilla, please have a look at the [https://wiki.filezilla-project.org official FileZilla wiki page].
 
 
We are constantly improving Storj and all of its tools to make sure that both renters and farmers can interact harmoniously in the Storj ecosystem. We would love to hear from you, no matter if you have suggestions, comments, questions or criticisms you would like to share.
 
 
* Community chat: [https://storj.io/community.html Storj Community].
 
* Storj feedback: [https://wantoo.io/storj-product-feedback/ Storj product feedback].
 
 
  
 
= Community & Support =
 
= Community & Support =

Please note that all contributions to FileZilla Wiki are considered to be released under the GNU Free Documentation License 1.2 (see FileZilla Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)