--- title: "Gofile" description: "Rclone docs for Gofile" versionIntroduced: "v1.68" --- # {{< icon "fa fa-folder" >}} Gofile [Gofile](https://gofile.io) 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](/overview/#restricted-characters) 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](/overview/#invalid-utf8), as they can't be used in JSON strings. ### Public Links 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-list-chunk Number of items to list in each call Properties: - Config: list_chunk - Env Var: RCLONE_GOFILE_LIST_CHUNK - Type: int - Default: 1000 #### --gofile-encoding The encoding for the backend. See the [encoding section in the overview](/overview/#encoding) 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.