Need help with rebirth?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

alo7
258 Stars 51 Forks MIT License 23 Commits 10 Opened issues

Description

Record a web page on the server

Services available

!
?

Need anything else?

Contributors list

# 22,280
JavaScr...
Java
pentest...
webrtc
18 commits
# 591,202
TypeScr...
Shell
HTML
1 commit

Record the beautiful moments in the website in the server.

All Contributors Docker Cloud Build Status Twitter GitHub license

Multi Language

Introduction

This project records the web page in the server.

What can it be used for

  • Record the user operation on the client, reproduce it on the server and record it.
  • Record any changes to the specified web page.
  • If there is the function of client recording, the computer requirements of the client can be reduced

Advantages

  • Record for tab pages, so refresh web pages and jump can also be recorded
  • You can also record the sound of web pages, even if your server does not have a sound card.
  • Perfect crash, error processing mechanism
  • You can add your own code to state, and it is very convenient.
  • Supports
    Chrome DevTools Protocol
    and
    VNC
    debugging

Quick start

Use the rebirth project to record on the server

docker run -dit -P --name rebirth_alo7 -v `pwd`/rebirth_alo7/logs:/etc/www/logs -v `pwd`/rebirth_alo7/video:/root/Downloads -e MATERIAL_URL="https://www.alo7.com/en/" -e START_VNC="yes" alo7docker/rebirth

Web Page API

After the webpage is loaded, some api will be injected for the webpage to use.

// Initialize the API (if not called within 5 minutes, the task is considered to have failed) to ensure that the web page can be opened normally.
rebirth.init();

// start record rebirth.start();

// pause record rebirth.pause();

// resume record rebirth.resume();

// stop record rebirth.stop('filename');

// record fail rebirth.fail();

// set extra info, The final information is delivered to your custom code rebirth.setExtraInfo({ foo: 'bar' });

Environmental Variable

They are defined in

Dockerfile
  • MATERIAL_URL
    : The
    url
    to be recorded, the default value is
    https://github.com/
  • START_VNC
    : Whether to start
    VNC
    , open as
    yes
    . The default value is
    no
  • VNC_PASSWORD
    :
    VNC
    connection password, default value is
    rebirth
  • MAX_RECORD_TIME
    : What is the maximum time of the current recording, in milliseconds, the default value is
    7200000
    (two hours)

How to customize code

In the

src/hooks
directory, create a new file:
index.js
, in the following format:
module.exports = {
  /**
   * Triggered when recording is complete
   *
   * @param {Object} data - Client request body
   * @return {void | string | Object | number | boolean | Function | Promise.resolve}
   */
  completeRecordAfter: (data) => {
    console.log(data);
    return true;
  },

// Triggered after recording failure // The parameters are the same as completeRecordAfter failAfter: () => {}, };

Contributors

Thanks goes to these wonderful people:

Black-Hole
Black-Hole

💻 🤔
pandan-12
pandan-12

🐛

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.