https://github.com/Rishi-Bidani/local-cloud
Turn any computer at home into a cloud for easy sharing of files across your devices.
https://github.com/Rishi-Bidani/local-cloud
cloud file-upload file-upload-server home-cloud home-server local-cloud local-hosting sharing-files transfer-files wifi
Last synced: 6 months ago
JSON representation
Turn any computer at home into a cloud for easy sharing of files across your devices.
- Host: GitHub
- URL: https://github.com/Rishi-Bidani/local-cloud
- Owner: Rishi-Bidani
- License: mit
- Created: 2021-05-02T19:25:49.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-11T10:51:48.000Z (about 1 year ago)
- Last Synced: 2024-08-07T23:51:56.193Z (10 months ago)
- Topics: cloud, file-upload, file-upload-server, home-cloud, home-server, local-cloud, local-hosting, sharing-files, transfer-files, wifi
- Language: TypeScript
- Homepage:
- Size: 7.52 MB
- Stars: 85
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# local-cloud
This program can turn your desktop into a local cloud server. This is a website which will run locally over your wifi(
without port forwarding) and will be accessible to all your devices.You can now access and transfer files from your different devices with ease. The new version (version 2) has been
implemented using vuejs. Version 1 was a pilot project and is not recommended for use(it is not supported by me any
longer).## Version 3
Currently the server is written in typescript which will work well for development environments with a bit of setup, however I have made the decision to migrate the server to Go to make setup easier and the package more easily distributable.
Please check the other development branches for updates.- Converted to typescript
- New fresh UI, see images below
- Configuration file for authentication - don't expose all your files to everyone## Donation
Support me to keep making this project better :heart:
[](https://paypal.me/rishibidani?country.x=AU&locale.x=en_AU)
## Table Of Contents
- [Images](#images):file_folder:
- [Setup Requirements](#setup) :rocket:
- [Access the Website](#access):key:
- [Libraries Used](#dependencies):computer:
- [Future Plans](#plans):bulb:## Images :file_folder:
These images might be from older versions of the same app and might appear different from the one you setup. Please open
an issue for requesting icons or suggesting any colour improvements.
### Version 3


## Setup Requirements :rocket:
- A computer :smiley:
- node.js
- Yarn (please use yarn), it can be downloaded via npm```bash
npm install -g yarn
```## How to access the website/Setup Procedure :key:
Version 2(vuejs implementation)
If your wish to set it up for development follow these steps, else check the releases for a better bundled package1. There are 2 main folders server and client, the vuejs code is inside client and the express backend code is inside
server2. open up 2 terminals/cmd in the root folder.
```bash
TERMINAL 1
yarn install
yarn startTERMINAL 2
cd client
yarn install
yarn serve
```3. The website can be found on ipv4:8080, ~~check version 1 procedure to see how you can find your ipv4 address~~. From
version 2.4 onwards the ip address is displayed for you, visit that on any device on the same network.For version 1
1. Open your desired terminal/command prompt - cmd, terminal, git bash on the computer you plan to use as your cloud
server2. Type `ipconfig` and find the IPv4 address

3. The website will be available on IPv4 Address:5000 For example: 192.168.1.7:5000
4. To start the server run the following 2 commands
```bash
yarn install
yarn start
```5. You can access the website on any device at that address
## Libraries used - Links to some main ones npm/official website :computer:
- expressjs with axios, cors, multer, fs
- dropzone.js
- vuejs
- vue-sidebar-menu
- zip-a-folder
- local-ipv4-address## Future Plans and Timeline :bulb:
- [x] Pilot project with vanilla html-css and js
- [x] Implement with vuejs
- [x] Fix some UI issues - aligning etc
- [x] Create Folders
- [x] Download Files
- [x] Upload Files
- [x] Delete files
- [x] View File size
- [x] Delete Folders
- [x] Download entire folder(as a zip)
- [x] Coloured logging of events (for server console)
- [x] Implement some security features - Restricted access to other files on the system by blocking requests outside the
home directory - This has been done for navigation(getting directory content), for downloading files and folders and
for deleting files or folders
- [x] Password protect files (for downloading on other devices)
- [ ] Non downloadable files
- [ ] Move files into different directories
- [ ] Updated docker support -> *not working on this, and not in the forseeable roadmap*## Development oriented plans :bulb:
- Clean unnecessary code
- Make API RESTFUL
- make various synchronous processes asynchronous
- Reduce dependencies
## Some useful new features
- Check file size
- ctrl + click on file to download directly
- Right click folder for context menu## Icon Credits
-
-
-
-
-## Favicon