Metadata-Version: 2.1
Name: GofileIOUploader
Version: 0.9.8
Summary: Gofile.io uploader supporting parallel uploads
Author-email: Alex Mi <alexmi3.14@gmail.com>
Maintainer-email: Alex Mi <alexmi3.14@gmail.com>
License: MIT License
Project-URL: Homepage, https://github.com/alexmi256/gofile-uploader
Project-URL: Repository, https://github.com/alexmi256/gofile-uploader.git
Project-URL: Service, https://gofile.io
Project-URL: Gofile API, https://gofile.io/api
Keywords: gofile,upload,storage,parallel
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: aiohttp
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation
Classifier: Topic :: Internet
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp
Requires-Dist: tqdm

# GofileIO Uploader

A python script to upload files or directories to Gofile.io
Built using `asyncio`, `aiohttp`, and `tqdm`

## Supports
- Gofile accounts
- Private and public directory uploads
- Parallel uploads
- Retries
- Progress bars
- Upload logging

## Usage
1. `pip install GofileIOUploader`

```
usage: GofileIOUploader [-h] [-t TOKEN] [-z {na,eu}] [-f FOLDER] [-c CONNECTIONS] [--public | --no-public] [--save | --no-save] file

Gofile.io Uploader supporting parallel uploads

positional arguments:
  file                  File or directory to look for files in to upload

options:
  -h, --help            show this help message and exit
  -t TOKEN, --token TOKEN
                        API token for your account so that you can upload to a specific account/folder. You can also set the GOFILE_TOKEN environment variable for this
  -z {na,eu}, --zone {na,eu}
                        Server zone to prefer uploading to
  -f FOLDER, --folder FOLDER
                        Folder to upload files to overriding the directory name if used
  -c CONNECTIONS, --connections CONNECTIONS
                        Maximum parallel uploads to do at once
  --public, --no-public
                        Make all files uploaded public. By default they are private and not unsharable
  --save, --no-save     Don't save uploaded file urls to a "gofile_upload_<unixtime>.csv" file

```
## Examples
Given
```
directory/
├── sample2.mkv
└── sample.mkv
```
**Upload single file anonymously**

`gofile-upload directory/sample.mkv`

**Upload single file to your account**

`gofile-upload --token 123 foo directory/sample.mkv`

**Upload single file to directory `foo` in your account**

`gofile-upload --token 123 --folder foo directory/sample.mkv`

**Upload directory to your account**

`gofile-upload --token 123 directory`

**Upload directory to directory `foo` in your account**

`gofile-upload --token 123 --folder foo directory`

## Improvements Wishlist
- [ ] Paid accounts support

# Thanks
- https://stackoverflow.com/questions/68690141/how-to-show-progress-on-aiohttp-post-with-both-form-data-and-file
- https://github.com/londarks/Unofficial-gofile.io-API-Documentation
- https://github.com/Samridh212/File_Uploader_goFile
- https://gofile.io/api
