These instructions will get ExpressVPN up & running in OpenVPN on OpenWrt.
opkg update
opkg install -force-overwrite openvpn-openssl luci-app-openvpn
Log back into Luci & there will now be a menu VPN > OpenVPN.
These instructions will get ExpressVPN up & running in OpenVPN on OpenWrt.
opkg update
opkg install -force-overwrite openvpn-openssl luci-app-openvpn
Log back into Luci & there will now be a menu VPN > OpenVPN.
Some hosting providers like scaleway allows to remove the IPv4 from the VPS in order to save 1€/month
but doing this will result in losing connectivity to the "IPv4 world".
Or you may have ordered a VPS that only has IPv6 connectivity and you want to access to a resource only accessible from the "IPv4 world".
Here is how to gain your access back to the "IPv4 world".
Note: You may deploy your own DNS64 & NAT64 server on a separate server by following this tutorial (untested): https://packetpushers.net/nat64-setup-using-tayga/.
Note²: You may find a explanation of what is NAT64 and DNS64 on Wikipedia.
| use std::str; | |
| fn main() { | |
| // -- FROM: vec of chars -- | |
| let src1: Vec<char> = vec!['j','{','"','i','m','m','y','"','}']; | |
| // to String | |
| let string1: String = src1.iter().collect::<String>(); | |
| // to str | |
| let str1: &str = &src1.iter().collect::<String>(); | |
| // to vec of byte |
| import datetime | |
| import aiohttp | |
| import asyncio | |
| import tqdm | |
| type_name = ['工作日', '休息日', '节假日'] | |
| max_conn = asyncio.Semaphore(15) # 最大并发连接数, 默认15 | |
| async def fetch(url, day): | |
| await max_conn.acquire() |
| #!/usr/bin/env python | |
| # from https://groups.google.com/forum/#!topic/construct3/FzYFmdv4qTg | |
| from construct import * | |
| # copied from core.py | |
| def _read_stream(stream, length): | |
| if length < 0: | |
| raise ValueError("length must be >= 0", length) | |
| data = stream.read(length) |
Follow the steps below to setup a local development environment:
Recommended to download latest XQuartz
| from collections import namedtuple | |
| def convert(dictionary): | |
| return namedtuple('GenericDict', dictionary.keys())(**dictionary) | |
| """ | |
| >>> d = dictionary(a=1, b='b', c=[3]) | |
| >>> named = convert(d) | |
| >>> named.a == d.a | |
| True | |
| >>> named.b == d.b |