From f4954b2ffe2f67e6aacc127cb7113772de2c3d9b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 16 Aug 2024 10:20:25 +0530
Subject: [PATCH] chore(ci): bump super-linter/super-linter from 6 to 7 in
/.github/workflows (#602)
* chore(ci): bump super-linter/super-linter in /.github/workflows
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 6 to 7.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/super-linter/super-linter/compare/v6...v7)
---
updated-dependencies:
- dependency-name: super-linter/super-linter
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
* feat(CI): Added support for linting and fixing JavaScript, YAML, JSON, Markdown and CSS code
* chore: Added `.prettierignore` file
* fix: Moved all ignored folders to .prettierignore file
* fix(CI): Fixed formatter permission issue
* fix(CI): Fixed formatter permission issue
* fix(CI): Fixed formatter permission issue
* style: format codebase
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Saptarshi Sarkar
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
.../ISSUE_TEMPLATE/Bug-for-application.yaml | 2 +-
.github/ISSUE_TEMPLATE/Bug-for-website.yaml | 2 +-
.github/ISSUE_TEMPLATE/documentation.yaml | 2 +-
.../feature-request-application.yaml | 2 +-
.../feature-request-website.yaml | 2 +-
.github/ISSUE_TEMPLATE/other.yml | 2 +-
.github/dependabot.yml | 62 +--
.github/labeler.yml | 45 +-
.github/linters/.jscpd.json | 2 +-
.github/pull_request_template.md | 5 +
.github/release.yml | 8 +-
.github/workflows/formatter.yml | 15 +-
.github/workflows/linter.yml | 4 +-
.prettierignore | 5 +
CODE_OF_CONDUCT.md | 22 +-
CONTRIBUTING.md | 7 +-
Docker/macOS Docker Build Instructions.md | 42 +-
GUI/src/main/resources/CSS/Button.css | 27 +-
GUI/src/main/resources/CSS/CheckBox.css | 17 +-
GUI/src/main/resources/CSS/ContextMenu.css | 10 +-
GUI/src/main/resources/CSS/DarkTheme.css | 46 +-
GUI/src/main/resources/CSS/Label.css | 20 +-
GUI/src/main/resources/CSS/LightTheme.css | 8 +-
GUI/src/main/resources/CSS/ListView.css | 43 +-
GUI/src/main/resources/CSS/Menu.css | 44 +-
GUI/src/main/resources/CSS/ProgressBar.css | 8 +-
GUI/src/main/resources/CSS/ScrollPane.css | 4 +-
GUI/src/main/resources/CSS/TextField.css | 10 +-
GUI/src/main/resources/CSS/VBox.css | 13 +-
README.md | 116 ++---
Website/app/Contribute.js | 152 ++++--
Website/app/Demo.js | 169 ++++---
Website/app/Features.js | 4 +-
Website/app/Footer.js | 225 ++++++---
Website/app/Releases.js | 439 +++++++++---------
Website/app/about/page.js | 125 +++--
Website/app/api/version/dev/route.js | 23 +-
Website/app/api/version/latest/route.js | 21 +-
Website/app/docs/Contributing.md | 30 +-
.../docs/Development/Building-Executables.md | 6 +-
Website/app/docs/Development/Quickstart.md | 4 +-
.../macOS-docker-build-instructions.md | 14 +-
Website/app/docs/Faq.md | 33 +-
Website/app/docs/Overview.md | 3 +-
Website/app/docs/Quickstart.md | 8 +-
Website/app/docs/Usage/drifty-cli/Overview.md | 8 +-
.../Usage/drifty-cli/downloading-files.md | 12 +-
.../Usage/drifty-gui/downloading-files.md | 6 +-
Website/app/download/page.js | 4 +-
Website/app/globals.css | 112 ++---
Website/app/layout.js | 14 +-
Website/app/page.js | 2 +-
Website/next.config.js | 46 +-
Website/postcss.config.js | 2 +-
Website/tailwind.config.js | 32 +-
docker-compose.yaml | 7 +-
version.json | 4 +-
57 files changed, 1236 insertions(+), 864 deletions(-)
create mode 100644 .prettierignore
diff --git a/.github/ISSUE_TEMPLATE/Bug-for-application.yaml b/.github/ISSUE_TEMPLATE/Bug-for-application.yaml
index 363abbf94..a28ac50c2 100644
--- a/.github/ISSUE_TEMPLATE/Bug-for-application.yaml
+++ b/.github/ISSUE_TEMPLATE/Bug-for-application.yaml
@@ -71,4 +71,4 @@ body:
- type: markdown
attributes:
value: |
- You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
\ No newline at end of file
+ You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
diff --git a/.github/ISSUE_TEMPLATE/Bug-for-website.yaml b/.github/ISSUE_TEMPLATE/Bug-for-website.yaml
index 8d0402622..07730110c 100644
--- a/.github/ISSUE_TEMPLATE/Bug-for-website.yaml
+++ b/.github/ISSUE_TEMPLATE/Bug-for-website.yaml
@@ -84,4 +84,4 @@ body:
- type: markdown
attributes:
value: |
- You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
\ No newline at end of file
+ You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
diff --git a/.github/ISSUE_TEMPLATE/documentation.yaml b/.github/ISSUE_TEMPLATE/documentation.yaml
index 7a295b31e..27787a06a 100644
--- a/.github/ISSUE_TEMPLATE/documentation.yaml
+++ b/.github/ISSUE_TEMPLATE/documentation.yaml
@@ -37,4 +37,4 @@ body:
- type: markdown
attributes:
value: |
- You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
\ No newline at end of file
+ You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
diff --git a/.github/ISSUE_TEMPLATE/feature-request-application.yaml b/.github/ISSUE_TEMPLATE/feature-request-application.yaml
index 2eb41ab4f..f20949ba0 100644
--- a/.github/ISSUE_TEMPLATE/feature-request-application.yaml
+++ b/.github/ISSUE_TEMPLATE/feature-request-application.yaml
@@ -46,4 +46,4 @@ body:
- type: markdown
attributes:
value: |
- You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
\ No newline at end of file
+ You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
diff --git a/.github/ISSUE_TEMPLATE/feature-request-website.yaml b/.github/ISSUE_TEMPLATE/feature-request-website.yaml
index 806dfe11b..99affbdd8 100644
--- a/.github/ISSUE_TEMPLATE/feature-request-website.yaml
+++ b/.github/ISSUE_TEMPLATE/feature-request-website.yaml
@@ -46,4 +46,4 @@ body:
- type: markdown
attributes:
value: |
- You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
\ No newline at end of file
+ You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml
index e32283157..7dc9c0595 100644
--- a/.github/ISSUE_TEMPLATE/other.yml
+++ b/.github/ISSUE_TEMPLATE/other.yml
@@ -31,4 +31,4 @@ body:
- type: markdown
attributes:
value: |
- You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
\ No newline at end of file
+ You can also join our [Discord community](https://discord.gg/DeT4jXPfkG) for any help or support.
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 836fb7877..4986d6c8e 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -5,58 +5,58 @@
version: 2
updates:
- - package-ecosystem: 'npm' # See documentation for possible values
- directory: '/Website' # Location of package manifests
+ - package-ecosystem: "npm" # See documentation for possible values
+ directory: "/Website" # Location of package manifests
schedule:
- interval: 'daily'
+ interval: "daily"
commit-message:
- prefix: 'chore(npm)'
+ prefix: "chore(npm)"
labels:
- - 'dependencies 📦️'
- - 'npm 📦️'
+ - "dependencies 📦️"
+ - "npm 📦️"
reviewers:
- SaptarshiSarkar12
-
- - package-ecosystem: 'maven' # See documentation for possible values
- directory: '/' # Location of package manifests
+
+ - package-ecosystem: "maven" # See documentation for possible values
+ directory: "/" # Location of package manifests
schedule:
- interval: 'daily'
+ interval: "daily"
commit-message:
- prefix: 'chore(maven)'
+ prefix: "chore(maven)"
labels:
- - 'dependencies 📦️'
- - 'maven 📦️'
+ - "dependencies 📦️"
+ - "maven 📦️"
reviewers:
- SaptarshiSarkar12
-
- - package-ecosystem: 'github-actions'
- directory: '/.github/workflows'
+
+ - package-ecosystem: "github-actions"
+ directory: "/.github/workflows"
schedule:
# Check for updates to GitHub Actions every weekday
- interval: 'daily'
+ interval: "daily"
commit-message:
- prefix: 'chore(ci)'
+ prefix: "chore(ci)"
labels:
- - 'dependencies 📦️'
- - 'CI/CD 🔁'
+ - "dependencies 📦️"
+ - "CI/CD 🔁"
reviewers:
- SaptarshiSarkar12
- - package-ecosystem: 'docker'
+ - package-ecosystem: "docker"
directories:
- - '/Docker/dev/CLI'
- - '/Docker/dev/GUI'
- - '/Docker/dev/commons/base'
- - '/Docker/dev/commons/runner'
- - '/Docker/prod/CLI'
- - '/Docker/prod/GUI'
+ - "/Docker/dev/CLI"
+ - "/Docker/dev/GUI"
+ - "/Docker/dev/commons/base"
+ - "/Docker/dev/commons/runner"
+ - "/Docker/prod/CLI"
+ - "/Docker/prod/GUI"
schedule:
# Check for updates to Docker every day
- interval: 'daily'
+ interval: "daily"
commit-message:
- prefix: 'chore(docker)'
+ prefix: "chore(docker)"
labels:
- - 'dependencies 📦️'
- - 'docker 🐋'
+ - "dependencies 📦️"
+ - "docker 🐋"
reviewers:
- SaptarshiSarkar12
diff --git a/.github/labeler.yml b/.github/labeler.yml
index c91aec268..eb66e47c3 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -1,32 +1,43 @@
"Website 🌐":
-- changed-files:
- - any-glob-to-any-file: ['Website/**']
+ - changed-files:
+ - any-glob-to-any-file: ["Website/**"]
"App 💻":
-- changed-files:
- - any-glob-to-any-file: ['CLI/src/**', 'GUI/src/**', 'Core/src/*']
+ - changed-files:
+ - any-glob-to-any-file: ["CLI/src/**", "GUI/src/**", "Core/src/*"]
"CI/CD 🔁":
-- changed-files:
- - any-glob-to-any-file: ['.github/workflows/**']
+ - changed-files:
+ - any-glob-to-any-file: [".github/workflows/**"]
"dependencies 📦️":
-- changed-files:
- - any-glob-to-any-file: ['Website/package.json', 'Website/package-lock.json', 'pom.xml', '.github/workflows/**', 'CLI/pom.xml', 'GUI/pom.xml', 'Core/pom.xml']
-- head-branch: ['^dependabot']
+ - changed-files:
+ - any-glob-to-any-file:
+ [
+ "Website/package.json",
+ "Website/package-lock.json",
+ "pom.xml",
+ ".github/workflows/**",
+ "CLI/pom.xml",
+ "GUI/pom.xml",
+ "Core/pom.xml",
+ ]
+ - head-branch: ["^dependabot"]
"documentation 📝":
-- changed-files:
- - any-glob-to-any-file: ['**/*.md']
+ - changed-files:
+ - any-glob-to-any-file: ["**/*.md"]
"maven 📦️":
-- changed-files:
- - any-glob-to-any-file: ['pom.xml', 'CLI/pom.xml', 'GUI/pom.xml', 'Core/pom.xml']
+ - changed-files:
+ - any-glob-to-any-file:
+ ["pom.xml", "CLI/pom.xml", "GUI/pom.xml", "Core/pom.xml"]
"npm 📦️":
-- changed-files:
- - any-glob-to-any-file: ['Website/package.json', 'Website/package-lock.json']
+ - changed-files:
+ - any-glob-to-any-file:
+ ["Website/package.json", "Website/package-lock.json"]
"docker 🐋":
-- changed-files:
- - any-glob-to-any-file: ['Docker/**', 'docker-compose.yml']
\ No newline at end of file
+ - changed-files:
+ - any-glob-to-any-file: ["Docker/**", "docker-compose.yml"]
diff --git a/.github/linters/.jscpd.json b/.github/linters/.jscpd.json
index e1741f212..b57e0042a 100644
--- a/.github/linters/.jscpd.json
+++ b/.github/linters/.jscpd.json
@@ -8,4 +8,4 @@
"CLI/src/main/java/main/Drifty_CLI.java",
"GUI/src/main/java/backend/FileDownloader.java"
]
-}
\ No newline at end of file
+}
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 2b63b97f9..7310e7788 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,8 +1,11 @@
## Fixes issue
+
+
Fixes #
## Changes proposed
+
## Check List (Check all the applicable boxes)
@@ -14,7 +17,9 @@ Fixes #
- [ ] The title of my pull request is a short description of the requested changes.
## Screenshots
+
## Note to reviewers
+
diff --git a/.github/release.yml b/.github/release.yml
index 9c8b32cd8..e89f158ad 100644
--- a/.github/release.yml
+++ b/.github/release.yml
@@ -57,10 +57,10 @@ changelog:
- "dependencies 📦️"
- title: Bug 🪲 Fixes in Docker 🐋
labels:
- - "docker 🐋"
- - "bug 🐛"
+ - "docker 🐋"
+ - "bug 🐛"
exclude:
- labels:
+ labels:
- "App 💻"
- "documentation 📝"
- "Website 🌐"
@@ -73,4 +73,4 @@ changelog:
exclude:
labels:
- "App 💻"
- - "documentation 📝"
\ No newline at end of file
+ - "documentation 📝"
diff --git a/.github/workflows/formatter.yml b/.github/workflows/formatter.yml
index 8a5aa51ca..41358a04a 100644
--- a/.github/workflows/formatter.yml
+++ b/.github/workflows/formatter.yml
@@ -3,21 +3,18 @@ name: Format
on:
push:
paths-ignore:
- - "Website/**"
- - "*.md"
- "*.txt"
pull_request:
paths-ignore:
- - "Website/**"
- - "*.md"
- "*.txt"
workflow_dispatch:
jobs:
formatting:
- name: Format Java files
+ name: Format files
runs-on: ubuntu-latest
- permissions: write-all
+ permissions:
+ contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
@@ -30,13 +27,17 @@ jobs:
java-version: 21
- name: Format Java files
run: mvn rewrite:run
+ - name: Install prettier
+ run: npm install -g --save-dev --save-exact prettier
+ - name: Format the rest of the files
+ run: prettier . --write
- name: Commit changes
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git add .
if [[ $(git status --porcelain) ]]; then
- git commit -m "style: Formatted Java files"
+ git commit -m "style: format codebase"
fi
- name: Push changes
if: github.event_name != 'pull_request'
diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
index e791315db..19c1bc190 100644
--- a/.github/workflows/linter.yml
+++ b/.github/workflows/linter.yml
@@ -19,13 +19,13 @@ jobs:
- name: Checkout Code
uses: actions/checkout@v4
with:
- # Full git history is needed to get a proper
+ # Full git history is necessary to get a proper
# list of changed files within `super-linter`
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Lint Code Base
id: lint
- uses: super-linter/super-linter/slim@v6
+ uses: super-linter/super-linter/slim@v7
continue-on-error: true
env:
DEFAULT_BRANCH: master
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 000000000..371bd2e04
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,5 @@
+GUI/src/main/resources/META-INF/native-image
+CLI/src/main/resources/META-INF/native-image
+.idea
+.github/workflows
+config/
\ No newline at end of file
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index c35d47bd5..2f825c322 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
+- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
-* The use of sexualized language or imagery, and sexual attention or
+- The use of sexualized language or imagery, and sexual attention or
advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email
address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
+- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
+standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8143d945a..1054e4f6c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -19,9 +19,10 @@ Be sure to include as much detail as possible including step-by-step description
### Issues
[**Issues**](https://github.com/SaptarshiSarkar12/Drifty/issues/new/choose) are very valuable to this project. Please check if any similar issues are already present. If not, then feel free to open that issue.
- - **Feature 💡 Requests** are valuable sources of enhancements which the project can make.
- - **Bug 🐞 Reports** show where this project is lacking and errors come up.
- - With a **question**, you show where contributors can improve the user experience.
+
+- **Feature 💡 Requests** are valuable sources of enhancements which the project can make.
+- **Bug 🐞 Reports** show where this project is lacking and errors come up.
+- With a **question**, you show where contributors can improve the user experience.
### Projects
diff --git a/Docker/macOS Docker Build Instructions.md b/Docker/macOS Docker Build Instructions.md
index 67438b83c..28e1ae225 100644
--- a/Docker/macOS Docker Build Instructions.md
+++ b/Docker/macOS Docker Build Instructions.md
@@ -5,6 +5,7 @@ There are some steps to follow if you're going to run the Drifty GUI Docker imag
## Prerequisites
You will need these programs to follow these instructions:
+
- [**Docker**](https://docs.docker.com/desktop/install/mac-install)
- [**HomeBrew**](https://brew.sh/)
- **Socat** (will be installed later in the instructions)
@@ -15,23 +16,23 @@ You will need these programs to follow these instructions:
Once you have Docker installed **(and running)**, open the terminal and follow these steps:
- Update the local Homebrew repository and upgrade any outdated installations. This ensures that any libraries that might be needed will be up-to-date.
- ```bash
- brew update
- brew upgrade
- ```
+ ```bash
+ brew update
+ brew upgrade
+ ```
- Install `Socat` and `XQuartz`
- ```bash
- brew install socat
- brew install xquartz
- ```
+ ```bash
+ brew install socat
+ brew install xquartz
+ ```
- If you are going to build **Drifty GUI** Docker image using your changed source code, then run this command in the directory where the project files are present:
- ```bash
- docker compose build gui
- ```
+ ```bash
+ docker compose build gui
+ ```
- If you are going to use the pre-built **Drifty GUI** Docker image from [**GitHub Container registry releases**](https://ghcr.io/saptarshisarkar12/drifty-gui), then run this command:
- ```bash
- docker pull ghcr.io/saptarshisarkar12/drifty-gui:master
- ```
+ ```bash
+ docker pull ghcr.io/saptarshisarkar12/drifty-gui:master
+ ```
Remember to change the tag to the version/branch you want to use.
## Running the Docker image of Drifty GUI
@@ -39,6 +40,7 @@ Once you have Docker installed **(and running)**, open the terminal and follow t
After the Docker image of Drifty GUI has been built/pulled, we need to provide a pathway for the Docker instance to access the display. This can be done by providing it the IP address of your Mac. For simplicity and ease of use, manually (or statically) assigning an IP address to your Mac is suggested.
> [!NOTE]
+>
>
>
> Why static IP address is preferred for running Drifty GUI in Docker on macOS?
@@ -50,19 +52,23 @@ After the Docker image of Drifty GUI has been built/pulled, we need to provide a
> We, however, need to look back...
>
> Routers use a service called DHCP (Dynamic Host Control Protocol) which uses a reserved pool of IP addresses. If any device connects to your network and when it is set up to use DHCP (which is always the default), it will send out a broadcast packet onto your network asking for an IP address. Your router will see that request, then it will take out an IP address from its pool, and it will give it to your device so that your device can talk on your network, access the Internet, etc.
->
+>
> DHCP services are also designed to make that assigned IP address expire after some time (usually three days). In case a device that was on the network is no longer on the network, it can pull that IP address back and put it into the pool so that it doesn't run out of IP addresses. This means that it is possible your local IP address might change in a short period of time. We cannot build a command to run Drifty when your IP address is changing because docker needs to send the graphics to a known IP address.
->
+>
> There are usually two generic ways to refer to your local ip address in a linux or Windows environment. The first way is to simply use the word `localhost` and the second way is to use the default home IP address of `127.0.0.1`. Unfortunately, neither of those generics will work in this case, so we have to give the command the exact IP address of your Mac.
+>
>
### Manually assigning an IP address to your Mac
We first need to know the IP address that the router has assigned to your Mac. Most of the routers will use an IP address that starts with `192.168` so let's see if we have that kind of address assigned to our Mac, by running this command:
+
```bash
ifconfig | grep 192.168
```
+
You should see something like this:
+
> inet 192.168.1.123 netmask 0xffffff00 broadcast 192.168.1.255
The **IP address** that is after the word `inet` will be the address that your router assigned to your Mac. Since that address exists in the router's pool of IP addresses, so we cannot statically assign that address to your Mac. So I recommend assigning an address that is lower in value which has a better chance of being outside the router's address pool. I would use an address like `192.168.1.10`, so we will go with that.
@@ -72,9 +78,9 @@ If you are not running at **_least macOS version 13 (Ventura)_**, then refer to
- Go to `System Settings` by clicking on the Apple logo in the top left corner of your screen.
- Click on `Network` then click on your network adapter.
![Network Settings' screenshot](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/f0a5f45e-4467-4b49-b35f-fb068bb928b2)
-- Click on `Details`
+- Click on `Details`
![Details of Network Adapter](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/21fd8165-82b7-4ef0-9ff3-996589cb1814)
-- Now you need to change `Configure IPv4` to `Manually` and then type your **static IP address**, **subnet mask** and **gateway**. The subnet mask will look exactly like I have it here, regardless of your ip address and your router will always be `.1` (in most cases) as shown here.
+- Now you need to change `Configure IPv4` to `Manually` and then type your **static IP address**, **subnet mask** and **gateway**. The subnet mask will look exactly like I have it here, regardless of your ip address and your router will always be `.1` (in most cases) as shown here.
![Configuring IPv4 manually](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/23cbe0aa-d744-4bee-b980-3dcc0ff38f66)
- Click `OK` and then go back to your Terminal.
diff --git a/GUI/src/main/resources/CSS/Button.css b/GUI/src/main/resources/CSS/Button.css
index 77c05bb45..c58dcd730 100644
--- a/GUI/src/main/resources/CSS/Button.css
+++ b/GUI/src/main/resources/CSS/Button.css
@@ -1,21 +1,28 @@
.button {
- -fx-background-color: linear-gradient(rgb(54,151,225) 18%, rgb(121,218,232) 90%, rgb(126,223,255) 95%);
- -fx-border-color: black;
- -fx-font-weight: Bold;
+ -fx-background-color: linear-gradient(
+ rgb(54, 151, 225) 18%,
+ rgb(121, 218, 232) 90%,
+ rgb(126, 223, 255) 95%
+ );
+ -fx-border-color: black;
+ -fx-font-weight: Bold;
}
.button:pressed {
- -fx-background-color: linear-gradient(rgb(126,223,255) 20%, rgb(121,218,232) 20%, rgb(54,151,225) 100%);
- -fx-font-weight: Bold;
+ -fx-background-color: linear-gradient(
+ rgb(126, 223, 255) 20%,
+ rgb(121, 218, 232) 20%,
+ rgb(54, 151, 225) 100%
+ );
+ -fx-font-weight: Bold;
}
.glassButton {
- -fx-background-color: transparent;
- -fx-border-color: transparent;
+ -fx-background-color: transparent;
+ -fx-border-color: transparent;
}
.glassButton:pressed {
- -fx-background-color: transparent;
- -fx-border-color: transparent;
+ -fx-background-color: transparent;
+ -fx-border-color: transparent;
}
-
diff --git a/GUI/src/main/resources/CSS/CheckBox.css b/GUI/src/main/resources/CSS/CheckBox.css
index 721e01134..dc7b965f1 100644
--- a/GUI/src/main/resources/CSS/CheckBox.css
+++ b/GUI/src/main/resources/CSS/CheckBox.css
@@ -1,11 +1,12 @@
.check-box {
- -fx-background-color: transparent;
- -fx-background-image: url('CheckBoxBorder.png');
- -fx-background-repeat: stretch;
- -fx-background-size: 99% 99%;
- -fx-padding: 0px;
- -fx-font-size: 20;
+ -fx-background-color: transparent;
+ -fx-background-image: url("CheckBoxBorder.png");
+ -fx-background-repeat: stretch;
+ -fx-background-size: 99% 99%;
+ -fx-padding: 0px;
+ -fx-font-size: 20;
}
-.check-box:determinate .box, .check-box:determinate {
- -fx-background-color: transparent;
+.check-box:determinate .box,
+.check-box:determinate {
+ -fx-background-color: transparent;
}
diff --git a/GUI/src/main/resources/CSS/ContextMenu.css b/GUI/src/main/resources/CSS/ContextMenu.css
index b2dbc6260..2463db08f 100644
--- a/GUI/src/main/resources/CSS/ContextMenu.css
+++ b/GUI/src/main/resources/CSS/ContextMenu.css
@@ -1,7 +1,7 @@
.rightClick {
- -fx-background-color: rgb(200,200,200);
- -fx-border-color: rgba(200,200,200,1.0);
- -fx-border-width: 1px;
- -fx-border-radius: 5px;
- -fx-padding: 5px;
+ -fx-background-color: rgb(200, 200, 200);
+ -fx-border-color: rgba(200, 200, 200, 1);
+ -fx-border-width: 1px;
+ -fx-border-radius: 5px;
+ -fx-padding: 5px;
}
diff --git a/GUI/src/main/resources/CSS/DarkTheme.css b/GUI/src/main/resources/CSS/DarkTheme.css
index 0d2fe025a..02165336e 100644
--- a/GUI/src/main/resources/CSS/DarkTheme.css
+++ b/GUI/src/main/resources/CSS/DarkTheme.css
@@ -1,33 +1,37 @@
.root {
- -fx-background-color: linear-gradient(rgb(0, 53, 105) 20%, rgb(26, 21, 129) 65%, rgb(0, 0, 65) 100%);
- /*-fx-background-color: linear-gradient(rgba(54,151,225,1) 18%, rgba(121,218,232,1) 90%, rgba(126,223,255,1) 95%);*/
+ -fx-background-color: linear-gradient(
+ rgb(0, 53, 105) 20%,
+ rgb(26, 21, 129) 65%,
+ rgb(0, 0, 65) 100%
+ );
+ /*-fx-background-color: linear-gradient(rgba(54,151,225,1) 18%, rgba(121,218,232,1) 90%, rgba(126,223,255,1) 95%);*/
}
.list-cell {
- -fx-background-color: transparent;
- -fx-text-fill: rgb(255, 255, 255);
+ -fx-background-color: transparent;
+ -fx-text-fill: rgb(255, 255, 255);
}
.progress-bar .bar {
- -fx-background-color: #17e500;
- -fx-border-color: black;
- -fx-border-width: 1.5px;
+ -fx-background-color: #17e500;
+ -fx-border-color: black;
+ -fx-border-width: 1.5px;
}
.normalLabel {
- -fx-font-family: Arial;
- -fx-font-weight: bold;
- -fx-font-size: 20;
- -fx-text-fill: ghostwhite
+ -fx-font-family: Arial;
+ -fx-font-weight: bold;
+ -fx-font-size: 20;
+ -fx-text-fill: ghostwhite;
}
.check-box {
- -fx-background-color: #22ff00;
- -fx-border-width:2px;
- -fx-padding: 0px;
- -fx-font-size: 20;
+ -fx-background-color: #22ff00;
+ -fx-border-width: 2px;
+ -fx-padding: 0px;
+ -fx-font-size: 20;
}
-.check-box:selected .box{
- -fx-background-color: #22ff00;
+.check-box:selected .box {
+ -fx-background-color: #22ff00;
}
-.check-box:selected .box .mark{
- -fx-background-color: white;
- -fx-border-color: black;
- -fx-border-width: 1px;
+.check-box:selected .box .mark {
+ -fx-background-color: white;
+ -fx-border-color: black;
+ -fx-border-width: 1px;
}
diff --git a/GUI/src/main/resources/CSS/Label.css b/GUI/src/main/resources/CSS/Label.css
index 698202072..77797ee01 100644
--- a/GUI/src/main/resources/CSS/Label.css
+++ b/GUI/src/main/resources/CSS/Label.css
@@ -1,16 +1,16 @@
.normalLabel {
- -fx-font-family: Arial;
- -fx-font-weight: bold;
- -fx-font-size: 20;
- -fx-text-fill: ghostwhite
+ -fx-font-family: Arial;
+ -fx-font-weight: bold;
+ -fx-font-size: 20;
+ -fx-text-fill: ghostwhite;
}
.anchor {
- -fx-font-family: Helvetica;
- -fx-font-weight: bold;
- -fx-font-size: 30;
- -fx-text-fill:rgb(0,103,193)
+ -fx-font-family: Helvetica;
+ -fx-font-weight: bold;
+ -fx-font-size: 30;
+ -fx-text-fill: rgb(0, 103, 193);
}
.outline.label .text {
- -fx-stroke: rgb(50,50,50);
- -fx-stroke-width: .02em;
+ -fx-stroke: rgb(50, 50, 50);
+ -fx-stroke-width: 0.02em;
}
diff --git a/GUI/src/main/resources/CSS/LightTheme.css b/GUI/src/main/resources/CSS/LightTheme.css
index 497a8a70e..557833470 100644
--- a/GUI/src/main/resources/CSS/LightTheme.css
+++ b/GUI/src/main/resources/CSS/LightTheme.css
@@ -1,4 +1,8 @@
.root {
- /*-fx-background-color: linear-gradient(rgb(0, 53, 105) 20%, rgb(26, 21, 129) 65%, rgb(0, 0, 65) 100%);*/
- -fx-background-color: linear-gradient(rgba(54,151,225,1) 18%, rgba(121,218,232,1) 90%, rgba(126,223,255,1) 95%);
+ /*-fx-background-color: linear-gradient(rgb(0, 53, 105) 20%, rgb(26, 21, 129) 65%, rgb(0, 0, 65) 100%);*/
+ -fx-background-color: linear-gradient(
+ rgba(54, 151, 225, 1) 18%,
+ rgba(121, 218, 232, 1) 90%,
+ rgba(126, 223, 255, 1) 95%
+ );
}
diff --git a/GUI/src/main/resources/CSS/ListView.css b/GUI/src/main/resources/CSS/ListView.css
index 2bcf66640..c7d59801e 100644
--- a/GUI/src/main/resources/CSS/ListView.css
+++ b/GUI/src/main/resources/CSS/ListView.css
@@ -1,35 +1,36 @@
.list-view {
- -fx-background-color: transparent;
- -fx-background-image: url('ListViewBorder.png');
- -fx-background-repeat: stretch;
- -fx-background-size: 100% 100%;
- -fx-padding: 5px;
+ -fx-background-color: transparent;
+ -fx-background-image: url("ListViewBorder.png");
+ -fx-background-repeat: stretch;
+ -fx-background-size: 100% 100%;
+ -fx-padding: 5px;
}
.list-cell {
- -fx-background-color: transparent;
- -fx-text-fill: rgb(40,40,40);
+ -fx-background-color: transparent;
+ -fx-text-fill: rgb(40, 40, 40);
}
.list-cell:hover {
- -fx-background-color: rgb(9,106,216);
- -fx-text-fill: ghostwhite;
+ -fx-background-color: rgb(9, 106, 216);
+ -fx-text-fill: ghostwhite;
}
.list-view .scroll-bar:horizontal,
.list-view .scroll-bar:vertical {
- -fx-background-color: transparent;
- -fx-border-color: transparent;
+ -fx-background-color: transparent;
+ -fx-border-color: transparent;
}
.list-view .scroll-bar:horizontal .thumb,
.list-view .scroll-bar:vertical .thumb {
- -fx-background-color:rgba(255,255,255,.15);
- -fx-background-insets: 0, 0, 0;
- -fx-background-radius: 0em;
+ -fx-background-color: rgba(255, 255, 255, 0.15);
+ -fx-background-insets: 0, 0, 0;
+ -fx-background-radius: 0em;
}
-.list-view .increment-button ,.list-view .decrement-button {
- -fx-background-color:transparent;
- -fx-border-color:transparent;
+.list-view .increment-button,
+.list-view .decrement-button {
+ -fx-background-color: transparent;
+ -fx-border-color: transparent;
}
-.list-view .scroll-bar:horizontal .track ,
-.list-view .scroll-bar:vertical .track{
- -fx-background-color: transparent;
- -fx-border-color:transparent;
+.list-view .scroll-bar:horizontal .track,
+.list-view .scroll-bar:vertical .track {
+ -fx-background-color: transparent;
+ -fx-border-color: transparent;
}
diff --git a/GUI/src/main/resources/CSS/Menu.css b/GUI/src/main/resources/CSS/Menu.css
index bdb84922f..035b95129 100644
--- a/GUI/src/main/resources/CSS/Menu.css
+++ b/GUI/src/main/resources/CSS/Menu.css
@@ -1,35 +1,35 @@
-
.menu-bar .menu .menu-item:hover {
- -fx-background-color: #0046e5;
- -fx-text-fill: black;
+ -fx-background-color: #0046e5;
+ -fx-text-fill: black;
}
-.menu:hover, .menu:showing {
- -fx-background-color: #0046e5;
- -fx-text-fill: black;
+.menu:hover,
+.menu:showing {
+ -fx-background-color: #0046e5;
+ -fx-text-fill: black;
}
.menu .label:hover {
- -fx-text-fill: ghostwhite;
+ -fx-text-fill: ghostwhite;
}
.menu-item {
- /*-fx-background-color: #F2F2F2;*/
- -fx-text-fill: #000000;
- -fx-font-family: verdana;
- -fx-font-size: 11.4px;
- -fx-background-color: ghostwhite;
- -fx-border-color: rgba(200,200,200,1);
- -fx-border-width: 0px;
+ /*-fx-background-color: #F2F2F2;*/
+ -fx-text-fill: #000000;
+ -fx-font-family: verdana;
+ -fx-font-size: 11.4px;
+ -fx-background-color: ghostwhite;
+ -fx-border-color: rgba(200, 200, 200, 1);
+ -fx-border-width: 0px;
}
.menu-item .label {
- -fx-text-fill: #000000;
- -fx-font-family: verdana;
+ -fx-text-fill: #000000;
+ -fx-font-family: verdana;
}
.menu-item:focused .label {
- -fx-text-fill: ghostwhite;
- -fx-font-family: verdana;
+ -fx-text-fill: ghostwhite;
+ -fx-font-family: verdana;
}
.menu-item:focused {
- -fx-background: -fx-accent;
- -fx-background-color: #0046e5;
- -fx-text-fill: #000000;
- -fx-font-family: verdana;
+ -fx-background: -fx-accent;
+ -fx-background-color: #0046e5;
+ -fx-text-fill: #000000;
+ -fx-font-family: verdana;
}
diff --git a/GUI/src/main/resources/CSS/ProgressBar.css b/GUI/src/main/resources/CSS/ProgressBar.css
index c6220b62a..7083fa190 100644
--- a/GUI/src/main/resources/CSS/ProgressBar.css
+++ b/GUI/src/main/resources/CSS/ProgressBar.css
@@ -1,8 +1,8 @@
.progress-bar .track {
- -fx-background-color: transparent;
+ -fx-background-color: transparent;
}
.progress-bar .bar {
- -fx-background-color: #0046e5;
- -fx-border-color: black;
- -fx-border-width: 1.5px;
+ -fx-background-color: #0046e5;
+ -fx-border-color: black;
+ -fx-border-width: 1.5px;
}
diff --git a/GUI/src/main/resources/CSS/ScrollPane.css b/GUI/src/main/resources/CSS/ScrollPane.css
index 90dbea6ac..15aba59d2 100644
--- a/GUI/src/main/resources/CSS/ScrollPane.css
+++ b/GUI/src/main/resources/CSS/ScrollPane.css
@@ -1,3 +1,3 @@
.scroll-pane .viewport {
- -fx-background-color: transparent;
-}
\ No newline at end of file
+ -fx-background-color: transparent;
+}
diff --git a/GUI/src/main/resources/CSS/TextField.css b/GUI/src/main/resources/CSS/TextField.css
index db6bc692e..cc98e8b3d 100644
--- a/GUI/src/main/resources/CSS/TextField.css
+++ b/GUI/src/main/resources/CSS/TextField.css
@@ -1,7 +1,7 @@
.text-field {
- -fx-background-color: transparent;
- -fx-text-fill: black;
- -fx-background-image: url('TextFieldBorder.png');
- -fx-background-repeat: stretch;
- -fx-background-size: 100% 100%;
+ -fx-background-color: transparent;
+ -fx-text-fill: black;
+ -fx-background-image: url("TextFieldBorder.png");
+ -fx-background-repeat: stretch;
+ -fx-background-size: 100% 100%;
}
diff --git a/GUI/src/main/resources/CSS/VBox.css b/GUI/src/main/resources/CSS/VBox.css
index ec1b75c70..32b513423 100644
--- a/GUI/src/main/resources/CSS/VBox.css
+++ b/GUI/src/main/resources/CSS/VBox.css
@@ -1,9 +1,12 @@
.vbox {
- -fx-background-color: rgba(0,0,0,.75);
- -fx-border-color: rgba(255,255,255,.5);
- -fx-border-width: 2px;
- -fx-border-radius: 5px;
+ -fx-background-color: rgba(0, 0, 0, 0.75);
+ -fx-border-color: rgba(255, 255, 255, 0.5);
+ -fx-border-width: 2px;
+ -fx-border-radius: 5px;
}
.text {
- -fx-background-color: rgba(0,0,0,.75);-fx-border-color: rgba(255,255,255,.5);-fx-border-width: 2px;-fx-border-radius: 5px;
+ -fx-background-color: rgba(0, 0, 0, 0.75);
+ -fx-border-color: rgba(255, 255, 255, 0.5);
+ -fx-border-width: 2px;
+ -fx-border-radius: 5px;
}
diff --git a/README.md b/README.md
index b4cd9d15e..e8ee8715a 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,21 @@
-
@@ -23,15 +23,16 @@
## About 🔥
-- [**Drifty**](https://github.com/SaptarshiSarkar12/Drifty/) is an **open-source** interactive **File Downloader system** built using _Java_.
-- It is both available in **Command-line Interface** (_CLI_) and **Graphical User Interface** (_GUI_) mode.
+- [**Drifty**](https://github.com/SaptarshiSarkar12/Drifty/) is an **Open-Source** Interactive File downloader system developed in _Java_.
+- It offers both **Command-line Interface** (_CLI_) and **Graphical User Interface** (_GUI_) modes, providing flexibility and ease of use for various user preferences.
-## Demo
+## Demo 🎥
See the video below to know how to use the application. For any help, you can open an [`issue`](https://github.com/SaptarshiSarkar12/Drifty/issues/new/choose/).
For **Batch Downloading** via **Drifty CLI**, the path to a YAML file has to be provided to it.
It should have the following structure :
+
```yaml
links: ["", ""] # [REQUIRED] - Links to the files to be downloaded
# Below parameters are OPTIONAL
@@ -49,12 +50,14 @@ https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/aa7ea548-f312-4345-
https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/8a32ca07-1922-4c21-895d-44164bec9d76
-## Tech Stack
+## Tech Stack 🛠️
The _Application_ **Drifty** is built using the following technologies :
-- [Java](https://www.oracle.com/java/#rc30p1) - A programming language for building machine independent applications.
+
+- [Java](https://www.oracle.com/java/#rc30p1) - A programming language for building machine-independent applications.
The [_Website_](https://saptarshisarkar12.github.io/Drifty/) of **Drifty** is built using the following technologies :
+
- [Next.js](https://nextjs.org/) - A JavaScript framework for building server-rendered React applications.
- [Tailwind CSS](https://tailwindcss.com/) - A utility-first CSS framework.
@@ -67,17 +70,19 @@ If you find any issues during the testing period, please open an [`issue`](https
For **Users** :
-### Using Drifty Application executable
+### Using Drifty Application executable 📦
1. Visit the [`Drifty website`](https://saptarshisarkar12.github.io/Drifty/)
- ![Homepage of Drifty Website](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/b3a63e16-7cb7-4ad9-b00e-ed4d4d690bd3)
+ ![Homepage of Drifty Website](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/b3a63e16-7cb7-4ad9-b00e-ed4d4d690bd3)
2. Click on [`Download`](https://saptarshisarkar12.github.io/Drifty/#download)
- ![Download Button in Drifty Website pointed out](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/7b850e1c-a034-4085-ae25-9e5090891faa)
+ ![Download Button in Drifty Website pointed out](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/7b850e1c-a034-4085-ae25-9e5090891faa)
3. Choose the **Application Type** from the dropdown menu (_Default option is GUI_). To download _Drifty CLI_, select **CLI** and to download _Drifty GUI_, select **GUI**. Then, click on the **Download Now** button based on your Operating System (_Windows, Linux, macOS_). For **_Windows_** user, there is an MSI file available for **Drifty GUI**. You can click on the **_Prefer the msi?_** text to download the latest MSI file 🎉.
-> [!TIP]
-> If you want to test the unstable (**Alpha** or **Beta**) or the mostly stable versions (**Release Candidate**), you can click on the download button of the respective phase.
+
+ > [!TIP]
+ > If you want to test the unstable (**Alpha** or **Beta**) or the mostly stable versions (**Release Candidate**), you can click on the download button of the respective phase.
![Download Webpage of Drifty](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/9094cfaf-5283-434b-a154-431b9e699642)
+
4. Navigate to the Downloads folder and execute the downloaded file. If you are installing Drifty GUI, complete the steps in the macOS or Windows MSI installer wizard that appears on your screen.
5. Check out the [`Demo`](https://saptarshisarkar12.github.io/Drifty/#demo) section for examples of how to use the application.
6. If you like the project, please leave a [`star`](https://github.com/SaptarshiSarkar12/Drifty/stargazers) on GitHub.
@@ -85,55 +90,57 @@ For **Users** :
### Using Drifty Application via Docker 🐋
-> [!TIP]
+> [!TIP]
+>
> - To download files to a specific local directory, you need to mount that directory as a volume for Drifty.
-> For example, if you want to download the file to your `home/username/Downloads` directory, then, you need to use the volume flag `-v /home/username/Downloads:/root/Downloads` with the docker command.
+> For example, if you want to download the file to your `home/username/Downloads` directory, then, you need to use the volume flag `-v /home/username/Downloads:/root/Downloads` with the docker command.
> - You can also mount `-v /home/username/.drifty:/root/.drifty` to enable the docker container to store Drifty's data in your local directory, which will make Drifty initialize much faster 🚀⚡.
> - For **Linux**, we recommend using **Docker Engine** directly instead of running images with **Docker Desktop**. To do this, add **_`sudo`_** before the docker commands.
> - If you want to try unstable (**Alpha** or **Beta**) [**_Alpha releases are not available as of now_**] or the mostly stable versions (**Release Candidate**) [**_Release Candidate releases are not available as of now_**], you need to use the respective docker image tags. For example, to use the **Beta** version of Drifty, you need to use the docker image tag `beta` like `ghcr.io/saptarshisarkar12/drifty-cli:beta` or `ghcr.io/saptarshisarkar12/drifty-gui:beta`.
-
> [!IMPORTANT]
+>
> - To run Drifty GUI docker image, you need to do the following 👇
-> - For **Linux and Windows**, please run `xhost +local:docker` before running the GUI docker image.
-> - For **macOS**, please follow [these instructions](Docker/macOS%20Docker%20Build%20Instructions.md).
-
-1. Pull the Docker image for Drifty using the below command -
- **For Drifty CLI**,
- ```bash
- docker pull ghcr.io/saptarshisarkar12/drifty-cli:master
- ```
- **For Drifty GUI**,
- ```bash
- docker pull ghcr.io/saptarshisarkar12/drifty-gui:master
- ```
-2. Run the docker image using the below command -
- **For Drifty CLI**,
- ```bash
- docker run ghcr.io/saptarshisarkar12/drifty-cli:master
- ```
- **For Drifty GUI**,
- ```bash
- docker run -e DISPLAY=$DISPLAY --net=host -v /tmp/.X11-unix:/tmp/.X11-unix ghcr.io/saptarshisarkar12/drifty-gui:master
- ```
+> - For **Linux and Windows**, please run `xhost +local:docker` before running the GUI docker image.
+> - For **macOS**, please follow [these instructions](Docker/macOS%20Docker%20Build%20Instructions.md).
+
+1. Pull the Docker image for Drifty using the below command -
+ **For Drifty CLI**,
+ ```bash
+ docker pull ghcr.io/saptarshisarkar12/drifty-cli:master
+ ```
+ **For Drifty GUI**,
+ ```bash
+ docker pull ghcr.io/saptarshisarkar12/drifty-gui:master
+ ```
+2. Run the docker image using the below command -
+ **For Drifty CLI**,
+ ```bash
+ docker run ghcr.io/saptarshisarkar12/drifty-cli:master
+ ```
+ **For Drifty GUI**,
+ ```bash
+ docker run -e DISPLAY=$DISPLAY --net=host -v /tmp/.X11-unix:/tmp/.X11-unix ghcr.io/saptarshisarkar12/drifty-gui:master
+ ```
3. Drifty will open, and you can now use it 🎉!
-For **Contributors** :
+For **Contributors** :
+
1. Go to the [`project link on GitHub`](https://github.com/SaptarshiSarkar12/Drifty), [**`fork`**](https://github.com/SaptarshiSarkar12/Drifty/fork) this repository and clone your fork into your local directory by running this command in your terminal.
- ```bash
- git clone git@github.com:SaptarshiSarkar12/Drifty.git
- ```
- ![Clone Drifty](https://user-images.githubusercontent.com/105960032/194497334-856c610e-39cd-4538-a998-18afb10dac04.gif)
+ ```bash
+ git clone git@github.com:SaptarshiSarkar12/Drifty.git
+ ```
+ ![Clone Drifty](https://user-images.githubusercontent.com/105960032/194497334-856c610e-39cd-4538-a998-18afb10dac04.gif)
2. Open an [`issue`](https://github.com/SaptarshiSarkar12/Drifty/issues/new/choose) ❕ describing the changes you want to make.
3. Make the changes in an IDE (preferably [`Intellij Idea`](https://www.jetbrains.com/idea/)) and open a Pull Request. Ensure that you have linked the issue to the Pull Request.
4. The Pull Request will be reviewed by the maintainers and merged if approved. ✔
5. Leave a [`star`](https://github.com/SaptarshiSarkar12/Drifty/stargazers) ⭐ on GitHub if you liked the project.
6. You may join our [`Discord Server`](https://discord.gg/DeT4jXPfkG) to discuss on the changes that you want to bring.
-### Using Docker 🐋 for Development
+### Using Docker 🐋 for Development 🛠️
> [!IMPORTANT]
-> For **Linux and Windows**, please run `xhost +local:docker` before running the GUI docker image.
+> For **Linux and Windows**, please run `xhost +local:docker` before running the GUI docker image.
> For **macOS**, please follow [these instructions](Docker/macOS%20Docker%20Build%20Instructions.md) to run Drifty GUI docker image.
1. To start **Drifty GUI** and **Drifty CLI** with your modified source code, run `docker compose run gui` and `docker compose run cli` respectively.
@@ -144,7 +151,8 @@ For **Contributors** :
![image](https://user-images.githubusercontent.com/58129377/193471489-87ee10a0-f719-47ef-9d46-e5b71c611d4b.png)
It is because Microsoft Defender could not verify it is safe as it is not commonly downloaded. Feel free to proceed with the following steps:
-- Click on the three dots.
+
+- Click on the three dots.
- Click on keep.
![image](https://user-images.githubusercontent.com/58129377/193471652-d88981c3-d903-406f-bc06-53cf77db9bf6.png)
@@ -159,6 +167,7 @@ It is because Microsoft Defender could not verify it is safe as it is not common
### Report the file as safe ✔️
You can also provide your feedback to Microsoft Defender by reporting it to be Safe, by following the below steps:
+
- Click on three dots.
- Click on **`Report this file as safe`** instead of clicking on **`Keep`**.
@@ -168,15 +177,14 @@ You can also provide your feedback to Microsoft Defender by reporting it to be S
## Safety warning ⚠️ while Installing
-- For Windows, click on **More Info** and then **Run Anyway** as present in the screen below:
- |||
- |--|--|
- | ![Windows Defender - More Info screen](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/0470c61c-63b1-49bd-8662-2f9eac0e120b) | ![Windows Defender - Run Anyway screen](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/d07dc9b6-cdc3-48e1-8111-7062341b662d) |
+- For Windows, click on **More Info** and then **Run Anyway** as present on the screen below:
+ |||
+ |--|--|
+ | ![Windows Defender - More Info screen](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/0470c61c-63b1-49bd-8662-2f9eac0e120b) | ![Windows Defender - Run Anyway screen](https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/d07dc9b6-cdc3-48e1-8111-7062341b662d) |
- For macOS, click on **OK** and run `sudo spctl --master-disable` in your terminal to allow running unsigned apps. Try running Drifty again.
-
-
+
-## Contributing to the project
+## Contributing to the project 🤝
- We welcome 🤝 your contributions to this Open-Source project.
- Please check the [**`Contributing Guidelines`**](https://github.com/SaptarshiSarkar12/Drifty/blob/master/CONTRIBUTING.md) and the [**`Roadmaps`**](https://github.com/users/SaptarshiSarkar12/projects/3) for ways to get involved.
diff --git a/Website/app/Contribute.js b/Website/app/Contribute.js
index 1bbfcb294..7ad8eb99e 100644
--- a/Website/app/Contribute.js
+++ b/Website/app/Contribute.js
@@ -1,55 +1,113 @@
"use client";
-import {useEffect, useState} from "react"
-import Image from "next/image"
+import { useEffect, useState } from "react";
+import Image from "next/image";
import Link from "next/link";
export default function Contribute({ props }) {
- const [values, setValues] = useState([]);
- useEffect(() => {
- fetch("https://api.github.com/search/repositories?q=user:SaptarshiSarkar12+repo:Drifty+Drifty").then((res) => res.json())
- .then((data) => {
- setValues([data.items[0].stargazers_count, data.items[0].forks_count])
- })
- }, [])
- let totalNoOfContributors = props.contrib.length;
- return (
-
-
-
More Information About Drifty
-
- It is available both in CLI (Command Line Interface) and
- GUI (Graphical User Interface) mode for all the major platforms like
- Windows, Linux and MacOS. We believe in team work. Any contribution that brings
- value to the project is highly appreciated.
- You can look into the roadmap to know about the issues to work on,
- in progress and completed.
-
-
-
-
Be a part of Drifty Family!
-
- {props.contrib.map((item, index) => {
- if (index < 7 && item.type === "User") { // We are using 7 instead of 6 because we are not counting the dependabot
- return
- }
- })}
-
-
+ It is available both in CLI (Command Line Interface) and GUI
+ (Graphical User Interface) mode for all the major platforms like
+ Windows, Linux and MacOS. We believe in team work. Any contribution
+ that brings value to the project is highly appreciated. You can look
+ into the{" "}
+
+ roadmap
+ {" "}
+ to know about the issues to work on,
+
+ {" "}
+ in progress
+ {" "}
+ and completed.
+
+
+
+
+ Be a part of Drifty Family!
+
+
+ {props.contrib.map((item, index) => {
+ if (index < 7 && item.type === "User") {
+ // We are using 7 instead of 6 because we are not counting the dependabot
+ return (
+
+
+
+ );
+ }
+ })}
+
+
I am a passionate Software Developer and an open-source enthusiast building this interactive file downloading system called Drifty using Java. I am open for collaboration on open-source projects. I love contributing to open-source projects and enjoy maintaining an open-source project.
+ I am a passionate Software Developer and an open-source enthusiast
+ building this interactive file downloading system called{" "}
+
+ Drifty
+ {" "}
+ using Java. I am open for collaboration on open-source projects. I
+ love contributing to open-source projects and enjoy maintaining an
+ open-source project.
+
+ );
}
diff --git a/Website/app/api/version/dev/route.js b/Website/app/api/version/dev/route.js
index 7f0c76082..45eeb1836 100644
--- a/Website/app/api/version/dev/route.js
+++ b/Website/app/api/version/dev/route.js
@@ -1,13 +1,18 @@
-import {NextResponse} from "next/server";
+import { NextResponse } from "next/server";
-export async function getDevelopmentVersion(){
- let devVersionJson = (await fetch("https://raw.githubusercontent.com/SaptarshiSarkar12/Drifty/master/version.json", {
- next: {revalidate: 60}
- })).text();
- return JSON.parse(await devVersionJson).version;
+export async function getDevelopmentVersion() {
+ let devVersionJson = (
+ await fetch(
+ "https://raw.githubusercontent.com/SaptarshiSarkar12/Drifty/master/version.json",
+ {
+ next: { revalidate: 60 },
+ },
+ )
+ ).text();
+ return JSON.parse(await devVersionJson).version;
}
export async function GET() {
- let version = await getDevelopmentVersion();
- return new NextResponse(version)
-}
\ No newline at end of file
+ let version = await getDevelopmentVersion();
+ return new NextResponse(version);
+}
diff --git a/Website/app/api/version/latest/route.js b/Website/app/api/version/latest/route.js
index 3d710db80..b08f141c0 100644
--- a/Website/app/api/version/latest/route.js
+++ b/Website/app/api/version/latest/route.js
@@ -1,13 +1,16 @@
-import {NextResponse} from "next/server";
+import { NextResponse } from "next/server";
-export async function getLatestVersion(){
- let latestReleases = await fetch("https://api.github.com/repos/SaptarshiSarkar12/Drifty/releases/latest", {
- next: { revalidate: 60 }
- }).then((res) => res.json());
- return latestReleases.tag_name.replace("v", "");
+export async function getLatestVersion() {
+ let latestReleases = await fetch(
+ "https://api.github.com/repos/SaptarshiSarkar12/Drifty/releases/latest",
+ {
+ next: { revalidate: 60 },
+ },
+ ).then((res) => res.json());
+ return latestReleases.tag_name.replace("v", "");
}
export async function GET() {
- let version = await getLatestVersion();
- return new NextResponse(version)
-}
\ No newline at end of file
+ let version = await getLatestVersion();
+ return new NextResponse(version);
+}
diff --git a/Website/app/docs/Contributing.md b/Website/app/docs/Contributing.md
index a024fc304..09ee1406f 100644
--- a/Website/app/docs/Contributing.md
+++ b/Website/app/docs/Contributing.md
@@ -24,13 +24,13 @@ To report any bugs or any difficulties you are facing, you can create an issue b
1. **Bug Report for Application**:
You can create a **Bug Report for Application** to report any bug related to the application, including installation problems and crashes.
2. **Bug report for Website**:
- You can create an issue in this category if you encounter any bugs or issues in the [official website of Drifty](https://saptarshisarkar12.github.io/Drifty/).
+ You can create an issue in this category if you encounter any bugs or issues in the [official website of Drifty](https://saptarshisarkar12.github.io/Drifty/).
3. **Documentation Change Request**:
- Raise an issue if you think any improvements can be made in the Documentation of Drifty.
+ Raise an issue if you think any improvements can be made in the Documentation of Drifty.
4. **Feature Request for Drifty Application**:
- If you have any ideas to improve the application by adding new features, you can create an issue in this category.
+ If you have any ideas to improve the application by adding new features, you can create an issue in this category.
5. **Feature Request for Drifty Website**:
- If you have any ideas to improve the Website of Drifty by adding new features, you can create an issue in this category.
+ If you have any ideas to improve the Website of Drifty by adding new features, you can create an issue in this category.
If none of the above categories applies to your case, feel free to create an issue in the **Others** category.
@@ -41,29 +41,29 @@ If none of the above categories applies to your case, feel free to create an iss
## What does each Label mean in Issues and Pull Requests?
1. **App 💻**
- This label indicates that changes are made in the Application code
+ This label indicates that changes are made in the Application code
2. **bug 🐛**
- This label indicates that changes are made to fix a bug
+ This label indicates that changes are made to fix a bug
3. **dependencies 📦️**
- This label indicates that dependencies are updated in a Pull Request
+ This label indicates that dependencies are updated in a Pull Request
4. **docker 🐋**
- This label indicates that changes are made in the Dockerfiles
+ This label indicates that changes are made in the Dockerfiles
5. **documentation 📝**
- This label indicates that changes are made in the documentation
+ This label indicates that changes are made in the documentation
6. **good first issue**
- This label indicates that the issue is suitable for beginners to start contributing
+ This label indicates that the issue is suitable for beginners to start contributing
7. **help wanted**
- This label indicates that the issue requires help from the community
+ This label indicates that the issue requires help from the community
8. **invalid**
This label is used to mark an issue or Pull Request as invalid, meaning it does not meet the project's guidelines or is not relevant to the project's goals.
9. **CI/CD 🔁**
- This label indicates that changes are made in the CI/CD workflows (GitHub Actions)
+ This label indicates that changes are made in the CI/CD workflows (GitHub Actions)
10. **duplicate**
- This label indicates that the issue / Pull Request is duplicate
+ This label indicates that the issue / Pull Request is duplicate
11. **hacktoberfest**
- This label indicates that the issue is a part of [Hacktoberfest](https://hacktoberfest.com/)
+ This label indicates that the issue is a part of [Hacktoberfest](https://hacktoberfest.com/)
12. **hacktoberfest-accepted**
- This label indicates that the Pull Request is accepted for [Hacktoberfest](https://hacktoberfest.com/) and will count towards your participation
+ This label indicates that the Pull Request is accepted for [Hacktoberfest](https://hacktoberfest.com/) and will count towards your participation
## Project Insights: Status and Task Progress
diff --git a/Website/app/docs/Development/Building-Executables.md b/Website/app/docs/Development/Building-Executables.md
index af60a67df..31bd066b2 100644
--- a/Website/app/docs/Development/Building-Executables.md
+++ b/Website/app/docs/Development/Building-Executables.md
@@ -50,13 +50,17 @@
> [!NOTE]
> Check if GraalVM is added to the system path by running `native-image --version` in the terminal.
> If the command is not recognized, add the GraalVM `bin` directory to the system path.
+>
> ```shell
> PATH=$GRAALVM_HOME/bin
> ```
+>
> Set the following environment variable to point to your GraalVM installation directory.
+>
> ```shell
> GRAALVM_HOME=
> ```
+>
> Replace `` with the actual path to the GraalVM installation directory.
1. Open the terminal and navigate to the project directory
@@ -73,7 +77,7 @@
```shell
gcc -c config/missing_symbols.c -o config/missing_symbols-macos-latest.o
```
- Replace `gcc` with the path to the GCC compiler if it is not in the system path.
+ Replace `gcc` with the path to the GCC compiler if it is not in the system path.
3. Run the below command to build the installer or executable binaries
- For Drifty GUI,
- For Linux,
diff --git a/Website/app/docs/Development/Quickstart.md b/Website/app/docs/Development/Quickstart.md
index 71a5c96b9..589bcd09c 100644
--- a/Website/app/docs/Development/Quickstart.md
+++ b/Website/app/docs/Development/Quickstart.md
@@ -12,6 +12,7 @@ Clone the Drifty repository to your local machine using the following command:
```bash
git clone git@github.com:SaptarshiSarkar12/Drifty.git
```
+
After the project has been cloned successfully, the **`Drifty`** directory will be created. Navigate into that directory.
## Drifty Application Development
@@ -29,6 +30,7 @@ Install the dependencies required for the project using the following command:
```bash
mvn clean install
```
+
This command will install all the dependencies required for the maven project.
### Running the Project in IntelliJ IDEA
@@ -76,4 +78,4 @@ To debug the website, you can use the browser's developer tools to inspect the e
## Contributing
-If you would like to contribute to the project, please read the [Contributing Guidelines](../Contributing.md) for more information on how to get started.
\ No newline at end of file
+If you would like to contribute to the project, please read the [Contributing Guidelines](../Contributing.md) for more information on how to get started.
diff --git a/Website/app/docs/Development/macOS-docker-build-instructions.md b/Website/app/docs/Development/macOS-docker-build-instructions.md
index fd6e50adc..d14e2727a 100644
--- a/Website/app/docs/Development/macOS-docker-build-instructions.md
+++ b/Website/app/docs/Development/macOS-docker-build-instructions.md
@@ -5,6 +5,7 @@ There are some steps to follow if you're going to run the Drifty GUI Docker imag
## Prerequisites
You will need these programs to follow these instructions:
+
- [**Docker**](https://docs.docker.com/desktop/install/mac-install)
- [**HomeBrew**](https://brew.sh/)
- **Socat** (will be installed later in the instructions)
@@ -39,6 +40,7 @@ Once you have Docker installed **(and running)**, open the terminal and follow t
After the Docker image of Drifty GUI has been built/pulled, we need to provide a pathway for the Docker instance to access the display. This can be done by providing it the IP address of your Mac. For simplicity and ease of use, manually (or statically) assigning an IP address to your Mac is suggested.
> [!NOTE]
+>
>
>
> Why static IP address is preferred for running Drifty GUI in Docker on macOS?
@@ -50,19 +52,23 @@ After the Docker image of Drifty GUI has been built/pulled, we need to provide a
> We, however, need to look back...
>
> Routers use a service called DHCP (Dynamic Host Control Protocol) which uses a reserved pool of IP addresses. If any device connects to your network and when it is set up to use DHCP (which is always the default), it will send out a broadcast packet onto your network asking for an IP address. Your router will see that request, then it will take out an IP address from its pool, and it will give it to your device so that your device can talk on your network, access the Internet, etc.
->
+>
> DHCP services are also designed to make that assigned IP address expire after some time (usually three days). In case a device that was on the network is no longer on the network, it can pull that IP address back and put it into the pool so that it doesn't run out of IP addresses. This means that it is possible your local IP address might change in a short period of time. We cannot build a command to run Drifty when your IP address is changing because docker needs to send the graphics to a known IP address.
->
+>
> There are usually two generic ways to refer to your local ip address in a linux or Windows environment. The first way is to simply use the word `localhost` and the second way is to use the default home IP address of `127.0.0.1`. Unfortunately, neither of those generics will work in this case, so we have to give the command the exact IP address of your Mac.
+>
>
### Manually assigning an IP address to your Mac
We first need to know the IP address that the router has assigned to your Mac. Most of the routers will use an IP address that starts with `192.168` so let's see if we have that kind of address assigned to our Mac, by running this command:
+
```bash
ifconfig | grep 192.168
```
+
You should see something like this:
+
> inet 192.168.1.123 netmask 0xffffff00 broadcast 192.168.1.255
The **IP address** that is after the word `inet` will be the address that your router assigned to your Mac. Since that address exists in the router's pool of IP addresses, so we cannot statically assign that address to your Mac. So I recommend assigning an address that is lower in value, which has a better chance of being outside the router's address pool. I would use an address like `192.168.1.10`, so we will go with that.
@@ -72,9 +78,9 @@ If you are not running at **_least macOS version 13 (Ventura)_**, then refer to
- Go to `System Settings` by clicking on the Apple logo in the top-left corner of your screen.
- Click on `Network` then click on your network adapter.
![Network Settings' screenshot](https://github.com/user-attachments/assets/f2f54273-1bf4-4286-bc56-88991eb4df84)
-- Click on `Details`
+- Click on `Details`
![Details of Network Adapter](https://github.com/user-attachments/assets/d3a43e3f-616d-4286-a527-d1bc2ecbb207)
-- Now you need to change `Configure IPv4` to `Manually` and then type your **static IP address**, **subnet mask** and **gateway**. The subnet mask will look exactly like I have it here, regardless of your ip address and your router will always be `.1` (in most cases) as shown here.
+- Now you need to change `Configure IPv4` to `Manually` and then type your **static IP address**, **subnet mask** and **gateway**. The subnet mask will look exactly like I have it here, regardless of your ip address and your router will always be `.1` (in most cases) as shown here.
![Configuring IPv4 manually](https://github.com/user-attachments/assets/c7358318-fb90-4554-86c2-6629d7c9476a)
- Click `OK` and then go back to your Terminal.
diff --git a/Website/app/docs/Faq.md b/Website/app/docs/Faq.md
index 2e1681155..cd2f4f816 100644
--- a/Website/app/docs/Faq.md
+++ b/Website/app/docs/Faq.md
@@ -2,35 +2,36 @@
1. **Why does Drifty GUI not open on my Windows machine?**
- ➡️ Your Windows machine must have Microsoft Visual C++ Redistributable installed on your machine. You can download and install it from its [official download page](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)
+ ➡️ Your Windows machine must have Microsoft Visual C++ Redistributable installed on your machine. You can download and install it from its [official download page](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)
2. **Which IDE (Integrated Development Environment) should I use to open Drifty App Code in my Local environment?**
-
- ➡️ You can use any IDE you like. It is recommended to use [IntelliJ IDEA](https://www.jetbrains.com/idea/). You can use the free Community version of IntelliJ IDEA if you do not have a JetBrains subscription.
+
+ ➡️ You can use any IDE you like. It is recommended to use [IntelliJ IDEA](https://www.jetbrains.com/idea/). You can use the free Community version of IntelliJ IDEA if you do not have a JetBrains subscription.
3. **How can I get updates related to this project?**
-
- ➡️ You can join our [Discord server](https://discord.com/invite/DeT4jXPfkG) to get updates on this project. You can also watch this repository by clicking on the watch button [here](https://github.com/SaptarshiSarkar12/Drifty) and select notification types to **All Activity** to get all updates on this project.
+
+ ➡️ You can join our [Discord server](https://discord.com/invite/DeT4jXPfkG) to get updates on this project. You can also watch this repository by clicking on the watch button [here](https://github.com/SaptarshiSarkar12/Drifty) and select notification types to **All Activity** to get all updates on this project.
4. **What technologies does Drifty use?**
-
- ➡️ The technologies that Drifty uses are as follows:
- - **Java** - for the backend part of the application
- - **JavaFX** - for the GUI part of the application
- - **Docker** - for containerizing Drifty to add support for more platforms and help in faster local development
- - **Next.js** - for building the official [Website of Drifty](https://saptarshisarkar12.github.io/Drifty/)
+
+ ➡️ The technologies that Drifty uses are as follows:
+
+ - **Java** - for the backend part of the application
+ - **JavaFX** - for the GUI part of the application
+ - **Docker** - for containerizing Drifty to add support for more platforms and help in faster local development
+ - **Next.js** - for building the official [Website of Drifty](https://saptarshisarkar12.github.io/Drifty/)
5. **How can I contribute to Drifty?**
-
- ➡️ You can check the [Contribution](Contributing.md) section of this documentation to learn how to contribute to this project.
+
+ ➡️ You can check the [Contribution](Contributing.md) section of this documentation to learn how to contribute to this project.
6. **How can I update Drifty to the latest version?**
- ➡️ Automatic updates are not supported yet and are still a [work-in-progress](https://github.com/SaptarshiSarkar12/Drifty/issues/217). To update Drifty, download [the latest version](https://saptarshisarkar12.github.io/Drifty/download) from the official website and install it.
+ ➡️ Automatic updates are not supported yet and are still a [work-in-progress](https://github.com/SaptarshiSarkar12/Drifty/issues/217). To update Drifty, download [the latest version](https://saptarshisarkar12.github.io/Drifty/download) from the official website and install it.
7. **How can I access the Beta features in Drifty?**
- ➡️ Currently, Beta features are available only through Docker images. You can check the official [GitHub Docs for Drifty](https://github.com/SaptarshiSarkar12/Drifty?tab=readme-ov-file#using-drifty-application-via-docker-).
+ ➡️ Currently, Beta features are available only through Docker images. You can check the official [GitHub Docs for Drifty](https://github.com/SaptarshiSarkar12/Drifty?tab=readme-ov-file#using-drifty-application-via-docker-).
8. **Do you require any detailed explanations of Drifty?**
- ➡️ For more queries related to the further improvement to this project, you can raise an [issue](https://github.com/SaptarshiSarkar12/Drifty/issues/new/choose) or reach out to the maintainers on the [discord server](https://discord.com/invite/DeT4jXPfkG). We will be happy to help you out.
+ ➡️ For more queries related to the further improvement to this project, you can raise an [issue](https://github.com/SaptarshiSarkar12/Drifty/issues/new/choose) or reach out to the maintainers on the [discord server](https://discord.com/invite/DeT4jXPfkG). We will be happy to help you out.
diff --git a/Website/app/docs/Overview.md b/Website/app/docs/Overview.md
index 00016525b..c1042adb6 100644
--- a/Website/app/docs/Overview.md
+++ b/Website/app/docs/Overview.md
@@ -20,6 +20,7 @@ Drifty is a powerful and versatile File Downloader System that offers a wide ran
## Community and Support
Drifty is an Open-Source project that welcomes contributions from the community. If you have any feedback, suggestions, or ideas for improvement, please feel free to reach out to us. We are committed to making Drifty the best File Downloader System available and appreciate your support.
+
- **[Join our Discord Community](https://discord.gg/DeT4jXPfkG)**: It is the best place to get help, share your ideas, and connect with maintainers and other users/developers.
- **[Join our GitHub Discussions](https://github.com/SaptarshiSarkar12/Drifty/discussions)**: Participate in discussions, ask questions, and share your thoughts on Drifty. We would love to hear from you!
-- **[Learn how to contribute](Contributing.md)**: If you are interested in contributing to Drifty, check out our guidelines and get started with your first contribution.
\ No newline at end of file
+- **[Learn how to contribute](Contributing.md)**: If you are interested in contributing to Drifty, check out our guidelines and get started with your first contribution.
diff --git a/Website/app/docs/Quickstart.md b/Website/app/docs/Quickstart.md
index 2afe41a6b..306290549 100644
--- a/Website/app/docs/Quickstart.md
+++ b/Website/app/docs/Quickstart.md
@@ -7,6 +7,7 @@
- For Drifty GUI, select the GUI button.
![Application Type](https://github.com/user-attachments/assets/d729f074-0f73-4d79-b562-7717b673d6c7)
+
- If you are using Windows, click on the download button with the **Windows** icon, and it will start downloading the executable file (**`.exe`**). You may also download the **msi** (Microsoft Installer) file by clicking on **Prefer the msi?**.
![Windows Download button highlighted](https://github.com/user-attachments/assets/90865f7c-b0df-4957-9560-9e8a6a8c5bfb)
@@ -28,13 +29,15 @@
## Installation
- For Drifty GUI,
+
- For Windows MSI, double-click on the downloaded file and follow the installation instructions.
- | | |
+ | | |
| ----------- | ----------- |
| ![Windows MSI installation - 1](https://github.com/user-attachments/assets/659ee383-2748-4695-9b34-06da8e22e629) | ![Windows MSI installation - 2](https://github.com/user-attachments/assets/541761d1-ed9b-41a9-a0a4-370353bcf1b1) |
| ![Windows MSI installation - 3](https://github.com/user-attachments/assets/22dec7c5-a553-4267-b2ca-b3c9b2bf8d8e) | ![Windows MSI installation - 4](https://github.com/user-attachments/assets/fe5972d5-3f75-4a58-a04b-a2fbe7b6e5ff) |
Once the installation is complete, you can start using Drifty GUI by searching for it in the Windows Start menu.
+
- For Windows exe, you can directly run Drifty GUI by double-clicking on the downloaded file.
- For Linux, open the terminal and navigate to the directory where the binary is downloaded and run the following command:
```bash
@@ -42,12 +45,13 @@
./Drifty-GUI_linux
```
- For macOS, double-click on the downloaded package file and follow the installation instructions.
- | | |
+ | | |
| ----------- | ----------- |
| | |
| | |
Once the installation is complete, you can start using Drifty GUI by searching for it in the applications' menu.
+
- For Drifty CLI,
- For Windows, you can directly run Drifty CLI by double-clicking on the downloaded file.
- For Linux, open the terminal and navigate to the directory where the binary is downloaded and run the following command:
diff --git a/Website/app/docs/Usage/drifty-cli/Overview.md b/Website/app/docs/Usage/drifty-cli/Overview.md
index ace51a2c4..4ba48c59e 100644
--- a/Website/app/docs/Usage/drifty-cli/Overview.md
+++ b/Website/app/docs/Usage/drifty-cli/Overview.md
@@ -57,7 +57,11 @@ directories: ["", "", "", ...]
```yaml
# batch.yaml (You can name the file as you like)
-links: ["https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz", "https://www.youtube.com/watch?v=pBy1zgt0XPc"]
+links:
+ [
+ "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz",
+ "https://www.youtube.com/watch?v=pBy1zgt0XPc",
+ ]
fileNames: ["jdk-22.tar.gz", "What is GitHub?.mp4"]
directories: ["/home/user/Downloads", "/home/user/Videos"]
```
@@ -146,4 +150,4 @@ drifty https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz --
```bash
drifty https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz --name jdk-22.tar.gz
-```
\ No newline at end of file
+```
diff --git a/Website/app/docs/Usage/drifty-cli/downloading-files.md b/Website/app/docs/Usage/drifty-cli/downloading-files.md
index 45395a7d8..920656952 100644
--- a/Website/app/docs/Usage/drifty-cli/downloading-files.md
+++ b/Website/app/docs/Usage/drifty-cli/downloading-files.md
@@ -13,11 +13,13 @@ Drifty CLI allows you to download files from the internet using a simple command
![Download Options Prompt](https://github.com/user-attachments/assets/c1bb0da0-e36c-4229-9e8a-a473a973beaa)
3. Enter the URL of the video you want to download.
4. After validating the URL, Drifty will prompt you to choose a download destination folder. Enter
+
- `.` if you want to download the video in the default download directory (which is `{user_home}/Downloads` in most cases).
- `L` if you want to use the last used directory.
- the absolute path of the directory where you want to save the video, e.g., `/home/user/Videos`.
![Download Destination Prompt](https://github.com/user-attachments/assets/1eb90bd7-1ae8-47f3-8a16-e4b8d5c214e6)
+
5. The file name will be automatically detected from the URL. You will be prompted to confirm the file name. Enter `Y` to proceed or `N` to enter a custom file name (followed by the file extension, if any).
![File Name Prompt](https://github.com/user-attachments/assets/5c6b0003-2498-457d-b4b3-cade262a19f9)
6. The file will be downloaded to the specified directory.
@@ -33,14 +35,20 @@ Drifty CLI allows you to download files from the internet using a simple command
For this example, we are going to use the following data:
```yaml
# batch.yml
- links: ["https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz", "https://www.youtube.com/watch?v=pBy1zgt0XPc"]
+ links:
+ [
+ "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz",
+ "https://www.youtube.com/watch?v=pBy1zgt0XPc",
+ ]
```
![Batch File Prompt](https://github.com/user-attachments/assets/d86c42f1-f8f2-44ba-8c96-69be1a76aede)
4. The batch file will be processed, and if any of those files exist with the same name, or you have previously downloaded any, you will be prompted to skip or re-download them.
+
- Enter `Y` to continue downloading the file. A new file name will be generated, and you will be prompted to confirm the file name.
- Enter `N` to skip downloading the file.
![File Exists Prompt](https://github.com/user-attachments/assets/6f475d3a-a316-443a-9b17-739a33155a7f)
+
5. The files will be downloaded sequentially to the default download directory, as we have not specified a custom download location in our YAML file.
![Batch Download Progress](https://github.com/user-attachments/assets/1ba81b88-ddb4-4721-aa5f-9579d4634e99)
6. After the download is complete, you will be prompted to download another file or exit the application. Enter `Q` to exit or any other key to continue downloading files.
@@ -70,4 +78,4 @@ Drifty CLI allows you to download files from the internet using a simple command
```
![Get Command](https://github.com/user-attachments/assets/0481a556-fea1-4d4f-9383-8e1d842ee388)
6. The files will be downloaded sequentially to the default download directory. After the download is complete, Drifty CLI will automatically remove the URLs from the queue and exit.
- ![Queue Download Done](https://github.com/user-attachments/assets/6ecea884-9587-4a7a-9a62-8b3052ac3a1d)
\ No newline at end of file
+ ![Queue Download Done](https://github.com/user-attachments/assets/6ecea884-9587-4a7a-9a62-8b3052ac3a1d)
diff --git a/Website/app/docs/Usage/drifty-gui/downloading-files.md b/Website/app/docs/Usage/drifty-gui/downloading-files.md
index 5a12426b1..e78fb366e 100644
--- a/Website/app/docs/Usage/drifty-gui/downloading-files.md
+++ b/Website/app/docs/Usage/drifty-gui/downloading-files.md
@@ -7,11 +7,13 @@ Drifty GUI allows you to download files from the internet with just a few clicks
3. Wait for Drifty to automatically detect the file name and set it as the default file name.
https://github.com/user-attachments/assets/2cafaf6b-3598-451a-bcc1-b1159364c548
4. If you have previously downloaded the file or a file with the same name exists in the download directory, Drifty will prompt you to skip or re-download the file.
+
- Click on **Yes** to continue downloading the file with a new name. You can rename the file by editing the textbox in the popup window.
![File rename textbox](https://github.com/user-attachments/assets/8aa593bb-e683-4eb4-aac6-bac7f9f355e2)
- Click on **No** to skip downloading the file.
-
+
![File Exists Prompt](https://github.com/user-attachments/assets/aa5fe423-63d6-4266-8eff-32b2c360dc18)
+
5. The file will be added to the download queue shown on the left side of the window.
6. Click on the **Start** button to begin downloading all the files in the queue.
- https://github.com/user-attachments/assets/48349e1a-f741-4f17-977d-91a1d6876b2a
\ No newline at end of file
+ https://github.com/user-attachments/assets/48349e1a-f741-4f17-977d-91a1d6876b2a
diff --git a/Website/app/download/page.js b/Website/app/download/page.js
index 12a72dc96..720041ac4 100644
--- a/Website/app/download/page.js
+++ b/Website/app/download/page.js
@@ -4,7 +4,7 @@ import Footer from "../Footer";
export const metadata = {
title: "Download",
- description: "Download Drifty"
+ description: "Download Drifty",
};
export default async function download() {
@@ -21,7 +21,7 @@ export default async function download() {
export async function getData() {
const res = await fetch(
"https://api.github.com/repos/SaptarshiSarkar12/Drifty/releases",
- { method: "GET" }
+ { method: "GET" },
);
const release = await res.json();
return {
diff --git a/Website/app/globals.css b/Website/app/globals.css
index 05d09a777..cd4053131 100644
--- a/Website/app/globals.css
+++ b/Website/app/globals.css
@@ -2,57 +2,61 @@
@tailwind components;
@tailwind utilities;
-@layer utilities{
- @keyframes move {
- 0% {
- transform: translateZ(0px) scale(1);
- filter: blur(2px) brightness(100%) hue-rotate(360deg);
- }
-
- 100% {
- transform: translateZ(-100px) scale(1.5);
- filter: blur(0px) brightness(150%);
- }
- }
- @keyframes pulse {
- 0%, 100% {
- @apply text-slate-100
- }
- 50% {
- @apply text-slate-100/50
- }
- }
- .img-layer {
- width: 500px;
- pointer-events: none;
- display: inherit;
- align-items: center;
- transform: rotateX(0deg) rotateY(335deg);
- transform-style: preserve-3d;
- }
- .img-layer > img:nth-child(1) {
- animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0s infinite alternate;
- }
-
- .img-layer > img:nth-child(2) {
- animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.25s infinite alternate;
- }
- .img-layer > img:nth-child(3) {
- animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.5s infinite alternate;
- }
- .img-layer > img:nth-child(4) {
- animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.75s infinite alternate;
- }
- .img-layer > img:nth-child(5) {
- animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 1s infinite alternate;
- }
- .img-layer > img:nth-child(6) {
- animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 1.25s infinite alternate;
- }
- .animate-own{
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
- }
- .animate-no{
- animation: none;
- }
-}
\ No newline at end of file
+@layer utilities {
+ @keyframes move {
+ 0% {
+ transform: translateZ(0px) scale(1);
+ filter: blur(2px) brightness(100%) hue-rotate(360deg);
+ }
+
+ 100% {
+ transform: translateZ(-100px) scale(1.5);
+ filter: blur(0px) brightness(150%);
+ }
+ }
+ @keyframes pulse {
+ 0%,
+ 100% {
+ @apply text-slate-100;
+ }
+ 50% {
+ @apply text-slate-100/50;
+ }
+ }
+ .img-layer {
+ width: 500px;
+ pointer-events: none;
+ display: inherit;
+ align-items: center;
+ transform: rotateX(0deg) rotateY(335deg);
+ transform-style: preserve-3d;
+ }
+ .img-layer > img:nth-child(1) {
+ animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0s infinite alternate;
+ }
+
+ .img-layer > img:nth-child(2) {
+ animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.25s infinite
+ alternate;
+ }
+ .img-layer > img:nth-child(3) {
+ animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.5s infinite alternate;
+ }
+ .img-layer > img:nth-child(4) {
+ animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 0.75s infinite
+ alternate;
+ }
+ .img-layer > img:nth-child(5) {
+ animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 1s infinite alternate;
+ }
+ .img-layer > img:nth-child(6) {
+ animation: move 1.5s cubic-bezier(0.77, 0, 0.175, 1) 1.25s infinite
+ alternate;
+ }
+ .animate-own {
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
+ }
+ .animate-no {
+ animation: none;
+ }
+}
diff --git a/Website/app/layout.js b/Website/app/layout.js
index e1e8b3901..f5ba6a953 100644
--- a/Website/app/layout.js
+++ b/Website/app/layout.js
@@ -13,13 +13,13 @@ export const metadata = {
};
export const viewport = {
- width: "device-width",
- initialScale: 1,
- themeColor: [
- { media: "(prefers-color-scheme: dark)", color: "#0000cd" },
- { media: "(prefers-color-scheme: light)", color: "#26a3f1" },
- ],
-}
+ width: "device-width",
+ initialScale: 1,
+ themeColor: [
+ { media: "(prefers-color-scheme: dark)", color: "#0000cd" },
+ { media: "(prefers-color-scheme: light)", color: "#26a3f1" },
+ ],
+};
export default function RootLayout({ children }) {
return (
diff --git a/Website/app/page.js b/Website/app/page.js
index d923c6420..a728f5e95 100644
--- a/Website/app/page.js
+++ b/Website/app/page.js
@@ -22,7 +22,7 @@ export default async function Home() {
export async function getData() {
const res = await fetch(
"https://api.github.com/repos/SaptarshiSarkar12/Drifty/contributors?per_page=100&page=1",
- { method: "GET" }
+ { method: "GET" },
);
const contrib = await res.json();
return {
diff --git a/Website/next.config.js b/Website/next.config.js
index 3e49b0453..ed53c246b 100644
--- a/Website/next.config.js
+++ b/Website/next.config.js
@@ -1,26 +1,26 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
- basePath: process.env.BASE_PATH,
- output: 'export',
- images: {
- minimumCacheTTL: 60 * 60 * 24,
- remotePatterns: [
- {
- protocol: 'https',
- hostname: 'avatars.githubusercontent.com',
- },
- {
- protocol: 'https',
- hostname: 'camo.githubusercontent.com',
- },
- {
- protocol: 'https',
- hostname: 'cdn.jsdelivr.net',
- }
- ],
- dangerouslyAllowSVG: true,
- unoptimized: true
- },
-}
+ basePath: process.env.BASE_PATH,
+ output: "export",
+ images: {
+ minimumCacheTTL: 60 * 60 * 24,
+ remotePatterns: [
+ {
+ protocol: "https",
+ hostname: "avatars.githubusercontent.com",
+ },
+ {
+ protocol: "https",
+ hostname: "camo.githubusercontent.com",
+ },
+ {
+ protocol: "https",
+ hostname: "cdn.jsdelivr.net",
+ },
+ ],
+ dangerouslyAllowSVG: true,
+ unoptimized: true,
+ },
+};
-module.exports = nextConfig
+module.exports = nextConfig;
diff --git a/Website/postcss.config.js b/Website/postcss.config.js
index 33ad091d2..12a703d90 100644
--- a/Website/postcss.config.js
+++ b/Website/postcss.config.js
@@ -3,4 +3,4 @@ module.exports = {
tailwindcss: {},
autoprefixer: {},
},
-}
+};
diff --git a/Website/tailwind.config.js b/Website/tailwind.config.js
index f7fb0a838..5300da743 100644
--- a/Website/tailwind.config.js
+++ b/Website/tailwind.config.js
@@ -3,23 +3,23 @@ module.exports = {
content: ["./app/**/*.{js,ts,jsx,tsx}"],
theme: {
extend: {
- colors:{
- 'top':'#288fe6',
- 'var':'#1a2035',
- 'btn-color':'#79dae8',
- 'bottom':'#e8f9fd',
- 'about':'#79dae8',
- 'input':'#2d2d2d',
- 'dbtn':'#1c0099',
- 'hashnode-color': '#2962FF',
- 'github-color': '#333333',
- 'twitter-color': '#1DA1F2',
- 'linkedin-color': '#0A66C2'
+ colors: {
+ top: "#288fe6",
+ var: "#1a2035",
+ "btn-color": "#79dae8",
+ bottom: "#e8f9fd",
+ about: "#79dae8",
+ input: "#2d2d2d",
+ dbtn: "#1c0099",
+ "hashnode-color": "#2962FF",
+ "github-color": "#333333",
+ "twitter-color": "#1DA1F2",
+ "linkedin-color": "#0A66C2",
+ },
+ screens: {
+ xs: "280px",
},
- screens:{
- 'xs':'280px'
- }
},
},
plugins: [],
-}
+};
diff --git a/docker-compose.yaml b/docker-compose.yaml
index d6d93b439..b13ed846f 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -1,5 +1,4 @@
services:
-
base:
build:
context: .
@@ -15,9 +14,9 @@ services:
context: .
dockerfile: ./Docker/dev/commons/runner/Dockerfile
container_name: drifty-runner
-
+
cli:
- depends_on:
+ depends_on:
- base
build:
context: .
@@ -28,7 +27,7 @@ services:
- ./.drifty:/root/.drifty
gui:
- depends_on:
+ depends_on:
- base
- runner
build:
diff --git a/version.json b/version.json
index f19c499b0..ded656d90 100644
--- a/version.json
+++ b/version.json
@@ -1,3 +1,3 @@
{
- "version": "2.1.0-beta.1"
-}
\ No newline at end of file
+ "version": "2.1.0-beta.1"
+}