From 03cfdb39d2e22395d06ca9a015cb10f5727b4546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=88=9A=28noham=29=C2=B2?= <100566912+NohamR@users.noreply.github.com> Date: Tue, 27 Aug 2024 17:43:57 +0200 Subject: [PATCH] upload feature --- .gitignore | 3 ++ README.md | 57 +++++++++++++----------- assets/sounds/Blow_edited.wav | Bin 0 -> 125698 bytes gofilecli.py | 79 ++++++++++++++++++++++++---------- 4 files changed, 92 insertions(+), 47 deletions(-) create mode 100644 assets/sounds/Blow_edited.wav diff --git a/.gitignore b/.gitignore index 7535a4e..516ce47 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,6 @@ encrypt.py /temp .copy .github/workflows/build_latest_ex.yml +assets/sounds/Blow.aiff +assets/sounds/Blow.mp3 +assets/sounds/Blow.wav diff --git a/README.md b/README.md index ee262fb..20e749a 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,59 @@ # GoFileCLI : -...... +Upload or download a file to GoFile. -# Installation : +# Install : + +- Linux/MacOS : +```bash +curl -fsSL https://raw.githubusercontent.com/NohamR/GoFileCLI/main/scripts/install.sh | sudo bash +``` + +- Windows : +Grab latest release from [releases](https://github.com/NohamR/GoFileCLI/releases/latest) + +- Build on your own system : +```bash +git clone https://github.com/NohamR/GoFileCLI.git +apt install ccache patchelf +pip install nuitka +pip install -r requirements.txt +python -m nuitka --onefile --assume-yes-for-downloads --output-dir=dist --static-libpython=no gofilecli.py +# dist/gofilecli.bin +``` ## Set env variables : Get API token from https://gofile.io/myProfile. Copy folderId from a folder you own. -Windows : -```bash -setx GOPLOAD_TOKEN "XXXXXXX" -setx GOPLOAD_PRIVATE_PARENT_ID "UUID" -setx GOPLOAD_ACCOUNT_ID "UUID" -``` +- Set up a .env based on [.env.example](.env.example) -(Reluch Command Prompt to take effect) -Linux/MacOS : +- Linux/MacOS : ```bash export GOPLOAD_TOKEN="XXXXXXX" export GOPLOAD_PRIVATE_PARENT_ID="UUID" export GOPLOAD_ACCOUNT_ID="UUID" ``` -# Usage : -Upload a file : +- Windows : ```bash -gofilecli -i 'file.txt' +setx GOPLOAD_TOKEN "XXXXXXX" +setx GOPLOAD_PRIVATE_PARENT_ID "UUID" +setx GOPLOAD_ACCOUNT_ID "UUID" ``` +(Reluch Command Prompt to take effect) -# Compile on your own system : +# Usage : ```bash -git clone https://github.com/NohamR/GoFileCLI.git -apt install ccache patchelf -pip install nuitka -pip install -r requirements.txt -python -m nuitka --standalone --assume-yes-for-downloads --output-dir=dist --static-libpython=no gofilecli.py -# dist/gofilecli.dist/gofilecli.bin +gofilecli -i 'file.txt' # to upload a file +gofilecli -f folder/ # to upload a folder +gofilecli -s # to get stats of your account +gofilecli -d https://gofile.io/d/XXXXX # to download a folder ``` # To do : -- acc stats - error-rateLimit - env via CLI - finish README.md -- download -- build + release -- chiffrer et dechiffrer les uploads \ No newline at end of file +- chiffrer & dechiffrer uploads \ No newline at end of file diff --git a/assets/sounds/Blow_edited.wav b/assets/sounds/Blow_edited.wav new file mode 100644 index 0000000000000000000000000000000000000000..e426c104cd12fea14448baa15f7b91b62a76ce8f GIT binary patch literal 125698 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%0DXNdzunTIkFgJ?{Y*z=gg}nx2lovZ1TV={INU? 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 1: return size_in_gb, "GB" - else: + elif size_in_mb >= 1: return size_in_mb, "MB" + else: + return size_in_kb, "KB" def file_size(file=None, num_bytes=None): @@ -53,9 +63,10 @@ def file_size(file=None, num_bytes=None): def calculate_upload_speed(file, start_time): elapsed_time_seconds = time.time() - start_time file_size, size_unit = format_file_size(file) + if size_unit == "GB": - average_speed = file_size / elapsed_time_seconds # GB/s - speed_unit = "GB/s" + average_speed = (file_size * 1024) / elapsed_time_seconds # Convert GB to MB and calculate MB/s + speed_unit = "MB/s" else: average_speed = file_size / elapsed_time_seconds # MB/s speed_unit = "MB/s" @@ -80,6 +91,12 @@ def get_file_paths(folderPath): return filePaths +def check_folderPath(path): + if not os.path.exists(path): + os.makedirs(path) + return path + + def getservers(logger): servers = [] response = requests.get("https://api.gofile.io/servers").json() @@ -130,7 +147,6 @@ def get_code(folderId, logger): def get_children(id, logger): - # if len(id) == 36: headers = {'authorization': f'Bearer {TOKEN}',} params = (('wt', '4fd6sg89d7s6'),('cache', 'false'),) data = requests.get(f'https://api.gofile.io/contents/{id}', headers=headers, params=params).json() @@ -204,13 +220,13 @@ def upload(filePath, folderPath, folderName, parentFolderId, private, logger): files = get_file_paths(folderPath) if not files: logger.error("No files found in folder") - sys.exit("No files found in folder") + sys.exit() else: if os.path.exists(filePath): files = [filePath] else: logger.error("File not found") - sys.exit("File not found") + sys.exit() servers = getservers(logger) if servers: @@ -254,9 +270,10 @@ def upload(filePath, folderPath, folderName, parentFolderId, private, logger): logger.info("Folder made private") else: logger.error(f"{action}") + play_sound() else: - time.spleed(10) - sys.exit("No server available") + time.sleep(10) + sys.exit() def downloadFile(downloadUrl, path, logger): @@ -270,9 +287,11 @@ def downloadFile(downloadUrl, path, logger): return speed, elapsed_time -def download(folderId, logger, folderPath=None): +def download(folderId, folderPath, force, logger): if 'https' in folderId: folderId = folderId.split('/')[-1] + if len(folderId) == 36: + folderId = get_code(folderId) files = [] logger.info("Fetching files") logger.debug("FolderId: %s", folderId) @@ -286,17 +305,28 @@ def download(folderId, logger, folderPath=None): files.append(children[child]) else: folderIdList.append(children[child]['id']) + nbdone = 0 logger.info(f"Starting download of {len(files)} files") for file in files: - logger.info(f"Downloading file: {file['name']} ({file_size(num_bytes=file['size'])})") + logger.info(f"Downloading file {nbdone}/{len(files)}: {file['name']} ({file_size(num_bytes=file['size'])})") downloadUrl = file['link'] name = file['name'] if folderPath: - path = os.path.join(folderPath, name) + folderPath = check_folderPath(folderPath) else: - path = name - speed, elapsed_time = downloadFile(downloadUrl, path, logger) - logger.info(f"File download to: {path} in {elapsed_time} at {speed}") + folderPath = check_folderPath(os.path.join(os.getcwd(), folderId)) + path = os.path.join(folderPath, name) + if os.path.exists(path) and not force: + logger.warning(f"File {name} already exists skipping (set --force to overwrite)") + elif os.path.exists(path) and force: + logger.warning(f"File {name} already exists overwriting") + speed, elapsed_time = downloadFile(downloadUrl, path, logger) + logger.info(f"File download to: {path} in {elapsed_time} at {speed}") + else: + speed, elapsed_time = downloadFile(downloadUrl, path, logger) + logger.info(f"File download to: {path} in {elapsed_time} at {speed}") + nbdone += 1 + play_sound() def opt(): @@ -316,16 +346,14 @@ def opt(): exclusive_group.add_argument('--stats', "-s", action='store_true', help='Display account stats.') exclusive_group.add_argument("--download", "-d", type=str, help="Id or code to the folder to be downloaded") + parser.add_argument("--output", "-o", type=str, help="¨Path to the folder to be downloaded") + parser.add_argument("--force", "-fo", action="store_true", help="Overwrite existing files") - # parser.add_argument_group - # parser.add_mutually_exclusive_group return parser.parse_args() def init(): args = opt() - # print('args: ', args) - # print(sys.argv) log_format = "%(asctime)s %(levelname)s: %(message)s" logging.basicConfig(level=getattr(logging, args.log_level.upper()),format=log_format,datefmt="%H:%M:%S",) logger = logging.getLogger(__name__) @@ -344,7 +372,7 @@ def init(): set_env_var("GOPLOAD_TOKEN", args.token) else: logger.error("Error: GOPLOAD_TOKEN not found, add GOPLOAD_TOKEN to your environment variables") - sys.exit("Error: GOPLOAD_TOKEN not found, add GOPLOAD_TOKEN to your environment variables") + sys.exit() if not PRIVATE_PARENT_ID: if args.private_parent_id: @@ -357,8 +385,13 @@ def init(): set_env_var("GOPLOAD_PRIVATE_PARENT_ID", args.private_parent_id) else: logger.error("Error: GOPLOAD_PRIVATE_PARENT_ID not found, add GOPLOAD_PRIVATE_PARENT_ID to your environment variables") - sys.exit("Error: GOPLOAD_PRIVATE_PARENT_ID not found, add GOPLOAD_PRIVATE_PARENT_ID to your environment variables") + sys.exit() + # No params: + if len(sys.argv) == 1: + logger.error("No arguments specified. Use -h for help") + sys.exit("") + # Stats section if args.stats: if len(sys.argv) == 2: @@ -371,13 +404,13 @@ def init(): elif args.file: if args.folder: logger.error("Both file and folder specified") - sys.exit("Both file and folder specified") + sys.exit() else: upload(args.file, args.folder, args.name, args.parent, args.private, logger) elif args.folder: if args.file: logger.error("Both file and folder specified") - sys.exit("Both file and folder specified") + sys.exit() else: upload(args.file, args.folder, args.name, args.parent, args.private, logger) @@ -387,7 +420,7 @@ def init(): # Download section elif args.download: - download(args.download, logger) + download(args.download, args.output, args.force, logger) if __name__ == "__main__":