A script to fix EDID problems on external monitors in macOS.
-
Connect only the problem display.
-
Create this directory structure (if it doesn't already exist):
brew cask install $name
This note describes how to connect two networks/devices/VMs over public network using Wireguard with Layer 2 support (ARP, IPv6 link-local, etc).
This can also be achieved using SSH and its "tap" tunnel, however, it does not provide the same level of latency and bandwidth as full-blown VPN such as Wireguard.
In addition, this note describes how to tunnel Wireguard over TCP connection. This may be of use if you encounter firewall in-between so, for instance, you can use TCP port 443 only.
Установка проверялась на Ubuntu 20.04, на других версиях может не работать | |
Для установки на впс зайдите на совой впс по ssh из под рута, скопируйте строку ниже и вставьте в терминал | |
rm install-az.sh; wget https://gist.githubusercontent.com/YouROK/21617b476ea914cc5b76d72903d6702f/raw/install-az.sh && chmod +x ./install-az.sh && ./install-az.sh | |
После установки, если нет подключения, то нужно добавить эти строчки перед ключами | |
pull-filter ignore block-outside-dns | |
route 8.8.8.8 255.255.255.255 vpn_gateway | |
route 77.88.8.8 255.255.255.255 vpn_gateway |
// ==UserScript== | |
// @name noVNC Paste for Proxmox | |
// @namespace http://tampermonkey.net/ | |
// @version 0.2a | |
// @description Pastes text into a noVNC window (for use with Proxmox specifically) | |
// @author Chester Enright | |
// @match https://* | |
// @include /^.*novnc.*/ | |
// @require http://code.jquery.com/jquery-3.3.1.min.js | |
// @grant none |
Для обхода блокировки достаточно отправить 1 любой udp пакет, тем самым нарушим начальное определение протокола WireGuard
Способ с использованием Windows PowerShell. Без скачивания Nmap и подобного софта.
Добавим в него "ListenPort", это позволит иметь статичный порт на котором будет работать WireGuard
Нажмите ПКМ на нужный "туннель" и выберите "Редактировать выбранный туннель..."
После DNS добавляем новую строку
(async () => { | |
const text = prompt("Enter text to type:"); | |
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); | |
const input = document.getElementById("noVNC_keyboardinput"); | |
const keydown = (key) => input.dispatchEvent(new KeyboardEvent("keydown", { key })); | |
for (let i = 0; i < text.length; i++) { keydown(text[i]); await sleep(50); } | |
})(); |