rclone/docs/content/gofile.md
2024-08-14 21:15:37 +01:00

6.5 KiB

title description versionIntroduced
Gofile Rclone docs for Gofile v1.68

{{< icon "fa fa-folder" >}} Gofile

Gofile is a content storage and distribution platform. Its aim is to provide as much service as possible for free or at a very low price.

The initial setup for Gofile involves logging in to the web interface and going to the "My Profile" section. Copy the "Account API token" for use in the config file.

Note that if you wish to connect rclone to Gofile you will need a premium account.

Configuration

Here is an example of how to make a remote called remote. First run:

 rclone config

This will guide you through an interactive setup process:

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Enter name for new remote.
name> remote

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
XX / Gofile
   \ (gofile)
Storage> gofile

Option access_token.
API Access token
You can get this from the web control panel.
Enter a value. Press Enter to leave empty.
access_token> YOURACCESSTOKEN

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Configuration complete.
Options:
- type: gofile
- access_token: YOURACCESSTOKEN
Keep this "remote" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Once configured you can then use rclone like this,

List directories and files in the top level of your Gofile

rclone lsf remote:

To copy a local directory to an Gofile directory called backup

rclone copy /home/source remote:backup

Modification times and hashes

Gofile supports modification times with a resolution of 1 second.

Gofile supports MD5 hashes, so you can use the --checksum flag.

Restricted filename characters

In addition to the default restricted characters set the following characters are also replaced:

Character Value Replacement
! 0x21
" 0x22
* 0x2A
: 0x3A
< 0x3C
> 0x3E
? 0x3F
\ 0x5C
| 0x7C

File names can also not start or end with the following characters. These only get replaced if they are the first or last character in the name:

Character Value Replacement
. 0x2E

Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON strings.

Gofile supports rclone link to make public links to files or directories. If you specify a directory it will download as a zip file. You can use the --expire flag to specify the time the link should be valid. Note that rclone link --unlink removes all the public links for a file.

Root folder ID

You can set the root_folder_id for rclone. This is the directory (identified by its Folder ID) that rclone considers to be the root of your Gofile drive.

Normally you will leave this blank and rclone will determine the correct root to use itself and fill in the value in the config file.

However you can set this to restrict rclone to a specific folder hierarchy.

In order to do this you will have to find the Folder ID of the directory you wish rclone to display.

You can do this with rclone

$ rclone lsf -Fip --dirs-only remote:
d6341f53-ee65-4f29-9f59-d11e8070b2a0;Files/
f4f5c9b8-6ece-478b-b03e-4538edfe5a1c;Photos/
d50e356c-29ca-4b27-a3a7-494d91026e04;Videos/

The ID to use is the part before the ; so you could set

root_folder_id = d6341f53-ee65-4f29-9f59-d11e8070b2a0

To restrict rclone to the Files directory.

{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/gofile/gofile.go then run make backenddocs" >}}

Standard options

Here are the Standard options specific to gofile (Gofile).

--gofile-access-token

API Access token

You can get this from the web control panel.

Properties:

  • Config: access_token
  • Env Var: RCLONE_GOFILE_ACCESS_TOKEN
  • Type: string
  • Required: false

Advanced options

Here are the Advanced options specific to gofile (Gofile).

--gofile-root-folder-id

ID of the root folder

Leave this blank normally, rclone will fill it in automatically.

If you want rclone to be restricted to a particular folder you can fill it in - see the docs for more info.

Properties:

  • Config: root_folder_id
  • Env Var: RCLONE_GOFILE_ROOT_FOLDER_ID
  • Type: string
  • Required: false

--gofile-account-id

Account ID

Leave this blank normally, rclone will fill it in automatically.

Properties:

  • Config: account_id
  • Env Var: RCLONE_GOFILE_ACCOUNT_ID
  • Type: string
  • Required: false

--gofile-encoding

The encoding for the backend.

See the encoding section in the overview for more info.

Properties:

  • Config: encoding
  • Env Var: RCLONE_GOFILE_ENCODING
  • Type: Encoding
  • Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftPeriod,RightPeriod,InvalidUtf8,Dot,Exclamation

--gofile-description

Description of the remote.

Properties:

  • Config: description
  • Env Var: RCLONE_GOFILE_DESCRIPTION
  • Type: string
  • Required: false

{{< rem autogenerated options stop >}}

Limitations

Gofile only supports filenames up to 255 characters in length, where a character is a unicode character.

Directories should not be cached for more than 24h otherwise files in the directory may not be downloadable. In practice this means when using a VFS based rclone command such as rclone mount you should make sure --dir-cache-time is less than 24h.

Note that Gofile is currently limited to a total of 100,000 items. If you attempt to upload more than that you will get error-limit-100000. This limit may be lifted in the future.

Duplicated files

Gofile is capable of having files with duplicated file names. For instance two files called hello.txt in the same directory.

Rclone cannot sync that to a normal file system but it can be fixed with the rclone dedupe command.

Duplicated files cause problems with the syncing and you will see messages in the log about duplicates.

Use rclone dedupe to fix duplicated files.