The main difference between the two pages is the method of sending messages. Recieving messages is the same in both.
Send messages to iframe using iframeEl.contentWindow.postMessage
Recieve messages using window.addEventListener('message')
| // AES Encryption/Decryption with AES-256-GCM using random Initialization Vector + Salt | |
| // ---------------------------------------------------------------------------------------- | |
| // the encrypted datablock is base64 encoded for easy data exchange. | |
| // if you have the option to store data binary save consider to remove the encoding to reduce storage size | |
| // ---------------------------------------------------------------------------------------- | |
| // format of encrypted data - used by this example. not an official format | |
| // | |
| // +--------------------+-----------------------+----------------+----------------+ | |
| // | SALT | Initialization Vector | Auth Tag | Payload | | |
| // | Used to derive key | AES GCM XOR Init | Data Integrity | Encrypted Data | |
| // time and time end | |
| console.time("This"); | |
| let total = 0; | |
| for (let j = 0; j < 10000; j++) { | |
| total += j | |
| } | |
| console.log("Result", total); | |
| console.timeEnd("This"); | |
| // Memory |
| # 0 is too far from ` ;) | |
| set -g base-index 1 | |
| # Automatically set window title | |
| set-window-option -g automatic-rename on | |
| set-option -g set-titles on | |
| #set -g default-terminal screen-256color | |
| set -g status-keys vi | |
| set -g history-limit 10000 |
| abstract class AuthService { | |
| // Subject tracks the current token, or is null if no token is currently | |
| // available (e.g. refresh pending). | |
| private subject = new BehaviorSubject<string|null>(null); | |
| readonly refreshToken: Observable<any>; | |
| readonly token: Observable<string>; | |
| constructor() { | |
| // refreshToken, when subscribed, gets the new token from the backend, |
| # Redis Cheatsheet | |
| # All the commands you need to know | |
| redis-server /path/redis.conf # start redis with the related configuration file | |
| redis-cli # opens a redis prompt | |
| # Strings. |
There are two main modes to run the Let's Encrypt client (called Certbot):
Webroot is better because it doesn't need to replace Nginx (to bind to port 80).
In the following, we're setting up mydomain.com.
HTML is served from /var/www/mydomain, and challenges are served from /var/www/letsencrypt.