GithubHelp home page GithubHelp logo

supunlakmal / thismypc Goto Github PK

View Code? Open in Web Editor NEW
169.0 11.0 93.0 34.2 MB

ThisMyPC provides a neat web interface that can be used for browsing your desktop drives from any device in your browser itself. With the help of NodeJs, the file details are displayed in JSON format that can then we easily displayed in web browsers.

Home Page: https://thismypc.vercel.app

License: MIT License

JavaScript 56.69% TypeScript 0.25% HTML 11.95% CSS 30.10% SCSS 1.01% Shell 0.01%
nodejs electronjs electron electron-app expressjs mongodb remote-desktop javascript es6 soket-io

thismypc's Introduction

This My PC


forthebadge
Codacy Badge contributions welcome Maintenance Website thismypc.com GitHub license Gitter

ThisMyPC provides a neat web interface that can be used for browsing your desktop drives from any device in your browser itself. With the help of NodeJs, the file details are displayed in JSON format that can then be easily displayed in web browsers.

The source code is open so that you can download the source code and set it up with ease if you would like to have your own exclusive environment.

Web Site System

App Screenshots

Desktop App Login Desktop App Open Web App computer hard drives Web App computer hard drives Open

Folder Structure

.
├── .github/ISSUE_TEMPLATE
├── doc                          # All Api doc and gif files
├── thisMyPCApp                  # Electron JS app folder
├── thisMyPCServer               # Node JS MongoDB and Express JS server folder
├── thisMyPCWeb                  # Angular website folder
├── .gitignore
├── .gitlab-ci.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
└── README.md

What (This my pc) ?

The concept behind thismypc app was to transfer your computer folder and file information through a nodeJS server to the web end as JSON data.

Why (This my pc) ?

  • The app's responsive web interface helps you to browse file in any resolution device.
  • You can use source code for your own projects.
  • It works well in low bandwidth environments.

How to (Wiki) ?

All usage instruction and information update on Github Wiki.

Developing

Platforms

Platform Status
Microsoft Windows Developing
Linux Pending
Mac os Pending
Android Developing

Built With

Clone Project

git clone https://github.com/supunlakmal/thismypc.git

git clone https://github.com/supunlakmal/thismypc.git

This Command will copy a full project to your local environment

Angular Project

Setting up Angular Project

    cd thisMyPCWeb
    npm i

Setting up Angular Project

cd thisMyPCWeb Move into angular Project Folder npm i install all dependency.

Run Angular Project

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Electron Project

Setting up Electron Project

cd thisMyPCApp
npm i

 Setting up Electron Project

cd thisMyPCWeb Move into Electron Project Folder npm i install all dependency.

Run Electron Project

Run npm run start start electron app in debug mode

Node Server

Setting up Node Server

cd thisMyPCServer
npm i

cd thisMyPCServer Move into Node Project Folder npm i install all dependency.

Run Node Project

Run npm node index.js to start node server

Graphql

URL
/api/v1/graphql

REST API

API Reference

  • PC - Personal Computer
  • thismypc.com:5000 - This is Thismypc web site API url. You can use your own localhost server link instead default Link.
  • ":userID" - User ID
  • ":computerKey" - Computer Key

Web API

Web API URL Description
User Register /api/v1/user/register -
User Login /api/v1/user/login -
User Logout /api/v1/user/:userID/logout -
User Auth /api/v1/user/authentication -
User Info /api/v1/user/:userID -
User Online PC List /api/v1/user/computer/online -
Public PC Access /api/v1/computer/public/access -
User PC List /api/v1/user/computer -
Update User Account /api/v1/user/update -
Update User Password /api/v1/user/password/edit -
Update User PC Public status /api/v1/user/computer/public/status/update -
Update User PC Public Key /api/v1/user/computer/public/key/update -

Web socket IO

Socket Name Socket Type Description
Join Socket from Web joinFromWeb emit -
Folder or Driver Open Request openFolder emit -
PC access Requests pcAccessRequest emit -
Get Hard Drive List hDDList on -
Folder or hard drive open data openFolderRequestToWeb on -

App API

APP API URL Description
User Login From App /api/v1/user/computer/login -
User Info /api/v1/user/:userID/computer/:computerKey -
User Logout /api/v1/user/:userID/computer/logout -

App socket IO

Socket Name Socket Type Description
Join Socket from APP joinFromApp emit -
Send Hard Drive List hDDList emit -
Send Data inside Folder or Hard Drive sendOpenFolderRequest emit -
Send callback of Folder Create Function folderCreateCallback emit -
PC access user and data pcAccessRequest on -
Folder or Hard drive open request openFolderRequest on -
Folder Validation validateFolderName on -

Database

MongoDB use as Database.

Licensing

The MIT License 2019 Supun Lakmal

thismypc's People

Contributors

codacy-badger avatar dependabot[bot] avatar gamtiq avatar imgbotapp avatar red-pirate avatar shaznan avatar supun156 avatar supunlakmal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thismypc's Issues

API User register Issue

  • User can register using empty Values like a password.
  • If required input unable it needs to show json error message instead of HTML server error

How to

Hello sir
There is no information about how to install it on my PC and access it from any where on the internet.Can you give us an insight of the same please
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Minus issue with angular

Hi, getting an error when running Angular! tried the older version 7.1.0 but still got too many error. the 'minus' is the least error am getting.
package working on is 'thismypc-0.3.4'

Package Version

@angular-devkit/architect 0.1200.2
@angular-devkit/build-angular 12.0.2
@angular-devkit/core 12.0.2
@angular-devkit/schematics 12.0.2
@angular/cli 12.0.2
@angular/compiler-cli 12.0.2
@schematics/angular 12.0.2
rxjs 6.3.3
typescript 3.1.6

C:\Users{user}.\Project\thismypc-0.3.4\thisMyPCWeb>ng test
An unhandled exception occurred: Cannot read property 'Minus' of undefined
See "C:\Users\analysis\AppData\Local\Temp\ng-AepcSz\angular-errors.log" for further details.

APP for Linux and Mac

Hello sir app for Linux 32 bit and 64 and MAC os .How can i download it please

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Screen sharing and remote control

I just discovered that the jitsi electron desktop app had a feature to allow remote desktop/mouse control during screen sharing of a conference participants computer. However it was disabled due to the potential for modifications to the server to allow remote code execution and bypassing permission of the user on which the app is running. The real problem is the server being secured. I found this with Jitsi while looking for alternatives to Teamviewer

See https://github.com/jitsi/security-advisories/blob/master/advisories/JSA-2020-0001.md
and jitsi/jitsi-meet-electron@0b88a78

43942808-088d4ca8-9c3f-11e8-8934-22a2a2debb0b

The reason I'm mentioning this here is to make you aware if you're considering including in your roadmap remote desktop support or other features that jitsi has already. Even the server modifications mentioned in the security advisory in the right context could actually be good features in a remote access tool especially for end user service desk support.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.