Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade: React 18 packages #165

Open
wants to merge 1 commit into
base: react-18
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 138 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,138 @@
node_modules
/coverage
/lib
/build
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist
build/
lib/
coverage/

# Lock files
package-lock.json
yarn.lock
pnpm-lock.yaml

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
68 changes: 45 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

**Latest hosted release:** https://rclone.github.io/rclone-webui-react



## Build Status

![Node CI](https://github.com/rclone/rclone-webui-react/workflows/Node%20CI/badge.svg)
Expand Down Expand Up @@ -42,26 +40,31 @@ To run the web-gui, simply run the following command:
```shell script
rclone rcd --rc-web-gui --rc-user=<user> --rc-pass=<pass>
```

The web-gui should now be available at the url http://localhost:5572

You may have to clear the browser local storage if needed, after switching to the older version.

## Alternatively, you can use the hosted version:

With every release, we publish it to github-pages. You can directly use it without installing rclone locally.

Head over to https://rclone.github.io/rclone-webui-react/. To login, enter the IP address, username and password of rclone rc server.

While running the rclone rc server, use the following command,
```

```bash
rclone rcd --rc-user=abc --rc-pass=abcd --rc-allow-origin="https://rclone.github.io"
```

replace the username and password with your liking. If you are not comfortable with specifying it here, use the .htpasswd option.

```
```bash
rclone rcd --rc-allow-origin="https://rclone.github.io" --rc-htpasswd /path/to/.htpasswd
```

### Parameters:

--rc-web-gui - run the web-gui

--rc-user - username to be used for login (Optional) default is gui.
Expand All @@ -75,115 +78,134 @@ rclone rcd --rc-allow-origin="https://rclone.github.io" --rc-htpasswd /path/to/.


## Screenshots

### Dashboard

![Dashboard](screenshots/dashboard.png)

### Login

![Login](screenshots/login.png)

### Remote Explorer

![Explorer](screenshots/remoteexplorer.png)

### Creating config

![New Config](screenshots/config.png)

### Mounts

![Mounts](screenshots/mounts.png)

## Get the automated script and get running

**Bash users:**

Download the sh file given here:

[webui.sh](https://raw.githubusercontent.com/rclone/rclone-webui-react/master/webui.sh)

Copy the file to root folder of rclone.

```
```bash
cp webui.sh <root-of-rclone>/
```
First of all open the webui.sh

You need to edit this code to the username and password you would like to use.
```

```bash
username='<your-username>'
password='<your-password>'
```

Save this file.

Now you can run the following commands:

- Download the project:
```

```bash
./webui.sh get
```

- Build the webui app:
```

```bash
./webui.sh build
```

- Run the app with rclone backend:
```

```bash
./webui.sh run
```

- At any point, you can update the webui with new changes from the repo (optional):

```
```bash
./webui.sh update
```


### Get the Project

```bash
git clone https://github.com/rclone/rclone-webui-react
```
git clone https://github.com/rclone/rclone-webui-react
```

OR download a zip from the option above.

### Install dependencies

If you are using NPM:

**Make sure that you are using the latest LTS version of NPM**
```

```bash
cd <cloned directory>
npm install
```

Using yarn:

```explorer
cd <cloned directory>
yarn install
```


### Run the project
```
npm start
```
OR
```
npm run start

```bash
npm start

# OR

npm run start
```

### Run tests

```npm test```OR ```yarn test``` if you want to run all jest tests.
Test specific environment can be set using setupTests.js

**With Coverage**: ```npm run test:cov```


### Run Rclone

You have to run rclone with the following flags:
```

```bash
rclone rcd --rc-user=<username> --rc-pass=<password> --rc-serve
```

Replace username and password with your custom username password. This will be required to login to rclone. rc-no-auth is not available due to security concerns.

--rc-serve: It serves the remote objects at localhost:5572/[remoteName:remotePath]/path/to/file. It enables us to download files via the RemoteExplorer through the browser.

## Progress

For the progress and future implementation details please refer Progress.md


Loading