gofile
🚀 Python wrapper for gofile.io Upload API1.
Requirements
⬇️ Installation
pip install gofilepy
⬆️ Upgrade Existing Installation
pip install -U gofilepy
⌨️ Usage
usage: gofilepy [-h] [-s] [-o] [-e] [-vv] [-v] path [path ...]
Example: gofile <file/folder_path>
positional arguments:
  path                  Path to the file(s) and/or folder(s)
options:
  -h, --help            show this help message and exit
  -s, --to-single-folder
                        Upload multiple files to the same folder. All files
                        will share the same URL. This option requires a valid
                        token exported as: `GOFILE_TOKEN`
  -o, --open-urls       Open the URL(s) in the browser when the upload is
                        complete (macOS-only)
  -e, --export          Export upload response(s) to a JSON file
  -vv, --verbose        Show more information
📕 Examples
Example 1: Uploading one file
➜ gofile foo.txt
╭───────────────────────────────────────────╮
│ File: foo.txt                             │
│ Download page: https://gofile.io/d/PkdZP5 │
╰───────────────────────────────────────────╯
Uploading progress: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Example 2: Uploading multiple files/directories
➜ gofile foo.txt bar.txt foobar.txt foo/
╭───────────────────────────────────────────╮
│ File: foo.txt                             │
│ Download page: https://gofile.io/d/rLwQVZ │
╰───────────────────────────────────────────╯
╭───────────────────────────────────────────╮
│ File: bar.txt                             │
│ Download page: https://gofile.io/d/DdS7mZ │
╰───────────────────────────────────────────╯
╭───────────────────────────────────────────╮
│ File: foobar.txt                          │
│ Download page: https://gofile.io/d/C1VicP │
╰───────────────────────────────────────────╯
╭───────────────────────────────────────────╮
│ File: foo/foo_1.txt                       │
│ Download page: https://gofile.io/d/CkYw18 │
╰───────────────────────────────────────────╯
Uploading progress: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Example 3: Uploading multiple files to the same URL
This option requires a Gofile token (see: ## Misc.).
➜ gofile -s foo.txt bar.txt
╭───────────────────────────────────────────╮
│ Files:                                    │
│ foo.txt                                   │
│ bar.txt                                   │
│ Download page: https://gofile.io/d/bFwawd │
╰───────────────────────────────────────────╯
Uploading progress: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Example 4: Verbose output
➜ gofile -vv foo.txt
╭──────────────────────────────────────────────────────────────────────────────╮
│ {                                                                            │
│   "foo.txt": {                                                               │
│     "timestamp": "30-05-2022 18:42:15",                                      │
│     "response": {                                                            │
│       "status": "ok",                                                        │
│       "data": {                                                              │
│         "guestToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",                    │
│         "downloadPage": "https://gofile.io/d/sU4hV1",                        │
│         "code": "sU4hV1",                                                    │
│         "parentFolder": "7ad2d249-96a1-4675-b185-05665fbc9a46",              │
│         "fileId": "0e93e093-d122-4e42-a1be-2e7d34d78ffb",                    │
│         "fileName": "foo.txt",                                               │
│         "md5": "d41d8cd98f00b204e9800998ecf8427e"                            │
│       }                                                                      │
│     }                                                                        │
│   }                                                                          │
│ }                                                                            │
╰──────────────────────────────────────────────────────────────────────────────╯
Uploading progress: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Example 5: Exporting the API response to a JSON file
➜ gofile -e foo.txt
╭───────────────────────────────────────────╮
│ File: foo.txt                             │
│ Download page: https://gofile.io/d/8t79Lz │
╰───────────────────────────────────────────╯
Uploading progress: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Exported data to: gofile_export_1653950555.json
Content of gofile_export_1653950555.json
  
```json
[
    {
        "foo.txt": {
            "timestamp": "30-05-2022 18:42:35",
            "response": {
                "status": "ok",
                "data": {
                    "guestToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "downloadPage": "https://gofile.io/d/8t79Lz",
                    "code": "8t79Lz",
                    "parentFolder": "05xd4cb-8965-417f-ae34-a116et99b798",
                    "fileId": "d1fc3a97-8xe3-486a-bc0d-edb1rb103040",
                    "fileName": "foo.txt",
                    "md5": "d41d8cd99f00b204e9810998ecf8427e"
                }
            }
        }
    }
]
```
Misc.
🔑 Optional: Saving uploads to your Gofile account
If you want the files to be uploaded to a specific account, you can export your gofile token, which can be retrieved from the profile page, as an environment variable GOFILE_TOKEN.
export GOFILE_TOKEN='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
- 
      
Disclaimer: This tool is not associated with Gofile, WOJTEK SAS ©, or the Gofile Team. ↩