GithubHelp home page GithubHelp logo

linux-remote / linux-remote Goto Github PK

View Code? Open in Web Editor NEW
38.0 38.0 10.0 212 KB

The Linux Web Remote Desktop.

Home Page: https://linux-remote.org

License: GNU General Public License v2.0

JavaScript 100.00%
desktop linux remote web

linux-remote's Introduction

linux-remote 4 bata

Linux Web Remote Desktop.

Requested

  • Linux 2.6+.
  • Node.js 12+. and ensure all users are available.
  • A proper C/C++ compiler toolchain, like GCC.

Browsers Compatibility

Latest Chrome And Latest Firefox work fine.

Not IE.

Edge and Safari Unknown.

Online Demo

First register a new user: https://demo.linux-remote.org:3001/

Then visit demo: https://demo.linux-remote.org:3000/

Install

Step 1:

npm install linux-remote -g

This CLI tool is a Zero-dependency. good for safety review. Only one command requires sudo.

Step 2:

sudo linux-remote init

It will create a user "linux-remote".

If you don't have GCC and want to use other compilers, You can set env C_BUILD_TPL. For example(using clang): C_BUILD_TPL='clang {{src}} -o {{out}}' linux-remote init

Step 3:

sudo su linux-remote -s /bin/bash

Switch to user linux-remote.

Step 4:

cd /opt/linux-remote

Modify the config.js:

// The //# is option
module.exports = {
  port: 3001, // Website listen port.

  //# host: undefined, // Website listen host.

  secure : null, // http model
  /*
    // Or provide an Object to enter https model: 
    secure: {
      keyPath: '/xxx/xxx',
      certPath: '/xxx/xxx',
      pfxPath:  '/xxx/xxx', // eq keyPath + certPath
      caPath: '/xxx/xxx', // Optionally
      //... Other options same as https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options
    },
  */

  cookie: {
    //# secure: undefined,
    //# sameSite: undefined
  },
  
  trustProxy: false, // Boolean, If you used proxy, You need set it. 
  // Otherwise, you will not get the real IP when you login.
  // And you can't set it true.
  // More settings:  https://expressjs.com/en/guide/behind-proxies.html

  client: {
    cdn: false // Use CDN to load client static files. The URL pattern must be the same as  https://unpkg.com. 
    // Set it to false, will install and load client static module from server.
    /* Some Public CDN root URLs:
        https://unpkg.com
        https://cdn.jsdelivr.net/npm
    */
  }
};

Step 5:

linux-remote install

If you can't install, You can create a file in folder B to change the registry.

Start

linux-remote start

Start server as "linux-remote" user.

Other Management

The following command needs to be executed by the "linux-remote" user, except -v.

stop

linux-remote stop

Stop server. All logined user will lose session(logout).

update

linux-remote update

Update project packages, and will give you a hint: whether you need to reload.

reload

linux-remote reload

Reload server. Logined user will not lose session.

restart

linux-remote restart

eq linux-remote stop and linux-remote start

All logined user will lose session(logout).

version

linux-remote -v

View version.

serverinfo

linux-remote serverinfo

Check server info.

Uninstall

sudo linux-remote uninit
You can also simply use: userdel -r linux-remote.

npm uninstall linux-remote -g

Secure

If you don't have an SSL/TLS certificate, You can use ssl-self-signed to generate a new one ( supports IP ).

Donate

patreon: Du Wei is creating linux-remote

linux-remote's People

Contributors

hezedu 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

Watchers

 avatar  avatar  avatar

linux-remote's Issues

UI

用 win 10 的

GET 代理 301 重定向 会 ENOENT

main process:

user proxy Error:  ENOENT

<errorLog>
Error: User process is exit.
 method GET
 host 192.168.56.101:3000
 originalUrl /api/user/dw/fs/home%2Fdw%2Fupload?type=checkCover&fileList%5B%5D=003157g3mg4g6jzlqjomm4.jpg
 UA Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
 time Wed Jun 20 2018 22:22:43 GMT-0400 (EDT)
 </errorLog>

user process:

GET /fs/home%2Fdw%2Fupload?type=checkCover&fileList%5B%5D=003157g3mg4g6jzlqjomm4.jpg 301 0.413 ms - 333

App

Nginx master

Command Injection on FS Manager

There is command injection vulnerability on FS Manager's directory input. You may test it by typing below command into the input.

/boot\" | cat /etc/passwd > /home/guest/testvuln \

I don't know if this project should be secure by design but considering there is no terminal emulator, I'm assuming this is not the intended behavior here.

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.