پنل تحت وب مدیریت V2ray و ساخت کاربر و مدیریت سرور
mkdir x-ui && cd x-ui
docker run -itd --network=host \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
| { | |
| "recommendations": [ | |
| "aaron-bond.better-comments", | |
| "adrieankhisbe.vscode-ndjson", | |
| "johnsoncodehk.vscode-tsconfig-helper", | |
| "rbuckton.deoptexplorer-vscode", | |
| "helixquar.randomeverything", | |
| "WallabyJs.quokka-vscode", | |
| "bierner.comment-tagged-templates", | |
| "alexcvzz.vscode-sqlite", |
| const otpGenerator = require("otp-generator"); | |
| const crypto = require("crypto"); | |
| const key = "verysecretkey"; // Key for cryptograpy. Keep it secret | |
| function createNewOTP(phone){ | |
| // Generate a 6 digit numeric OTP | |
| const otp = otpGenerator.generate(6, {alphabets: false, upperCase: false, specialChars: false}); | |
| const ttl = 5 * 60 * 1000; //5 Minutes in miliseconds | |
| const expires = Date.now() + ttl; //timestamp to 5 minutes in the future | |
| const data = `${phone}.${otp}.${expires}`; // phone.otp.expiry_timestamp |
| import ... | |
| @NgModule({ | |
| ... | |
| providers: [ TitleService ], | |
| }) | |
| export class AppModule { | |
| constructor(titleService: TitleService) { | |
| titleService.init(); | |
| } |
How to setup an Outline VPN Server on Ubuntu 16.04 Server
This guide will show you how to install Outline Server on an Ubuntu 16.04 Server, use Outline Manager for Windows and connect to your Outline Server on Windows and Anroid.
Outline Manager supports Windows, macOS and Linux.
| <div class="row"> | |
| <div class="col-md-3"> | |
| <h3>Select files</h3> | |
| <input type="file" #fileInput multiple (change)="addToQueue()" /> | |
| </div> | |
| <div class="col-md-9"> | |
| <h3>Upload queue</h3> | |
| <table class="table-headed table-striped"> |
| #!/bin/bash | |
| PARAMS=('-m 6 -q 70 -mt -af -progress') | |
| if [ $# -ne 0 ]; then | |
| PARAMS=$@; | |
| fi | |
| cd $(pwd) |
In the below keyboard shortcuts, I use the capital letters for reading clarity but this does not imply shift, if shift is needed, I will say shift. So ⌘ + D does not mean hold shift. ⌘ + Shift + D does of course.
| Function | Shortcut |
|---|---|
| New Tab | ⌘ + T |
| Close Tab or Window | ⌘ + W (same as many mac apps) |
| Go to Tab | ⌘ + Number Key (ie: ⌘2 is 2nd tab) |
| Go to Split Pane by Direction | ⌘ + Option + Arrow Key |
| afghanistan : Afghanistan | |
| albania : Albania | |
| algeria : Algeria | |
| american_samoa : American Samoa | |
| andorra : Andorra | |
| angola : Angola | |
| anguilla : Anguilla | |
| antigua_and_barbuda : Antigua and Barbuda | |
| argentina : Argentina | |
| armenia : Armenia |
| /** | |
| * Sort array of objects based on another array | |
| */ | |
| function mapOrder (array, order, key) { | |
| array.sort( function (a, b) { | |
| var A = a[key], B = b[key]; | |