(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
adb shell appops set com.tencent.mm OP_READ_PHONE_STATE ignore | |
adb shell appops set com.tencent.mm COARSE_LOCATION ignore | |
adb shell appops set com.tencent.mm FINE_LOCATION ignore | |
adb shell appops set com.tencent.mm RUN_IN_BACKGROUND ignore |
class Symbol: | |
__registry = {} | |
__lock = Lock() | |
__slots__ = ('name',) | |
def __new__(cls, name): | |
instance = cls.__registry.get(name) | |
if not instance: | |
with cls.__lock: | |
# A classical double-checked lock pattern. |
# Github already dropped support for diffie-hellman-group1-sha1 and diffie-hellman-group14-sha1 | |
# FYI: https://githubengineering.com/crypto-deprecation-notice/ | |
# Host github.com | |
# KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1 | |
Host * | |
KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256 | |
PasswordAuthentication no # comment this if you need password authentication (for example ssh into a VM) | |
ChallengeResponseAuthentication no | |
PubkeyAuthentication yes |
template <typename Left, typename Right> | |
struct ConcatExpr; | |
template <typename Left, typename Right> | |
struct AltExpr; | |
template <typename SubExpr> | |
struct RepeatExpr; | |
template <char ch> |
clowwindy设计Shadowsocks的思路分析以及设计理念
鄙人不才,尝试站在原作者clowwindy的角度,来分析一下原版协议的设计思路和理念。 没参与过最初开发,不过设计了AEAD这个协议。读了一些资料,评论。
在 7:58 PM, 31 Aug 2015
作者发了这么一段话,我很好奇其中的指代内容,遂有本文。
眼睁睁看着一群人把一个东西搞错然后朝着错误的方向走了。不过懒得管了 =。=
##ss-redir 的 iptables 配置(透明代理)
透明代理指对客户端透明,客户端不需要进行任何设置就使用了网管设置的代理规则
创建 /etc/ss-redir.json 本地监听 7777
运行ss-redir -v -c /etc/ss-redir.json
iptables -t nat -N SHADOWSOCKS
# 在 nat 表中创建新链
iptables -t nat -A SHADOWSOCKS -p tcp --dport 23596 -j RETURN
# 23596 是 ss 代理服务器的端口,即远程 shadowsocks 服务器提供服务的端口,如果你有多个 ip 可用,但端口一致,就设置这个
// Just before switching jobs: | |
// Add one of these. | |
// Preferably into the same commit where you do a large merge. | |
// | |
// This started as a tweet with a joke of "C++ pro-tip: #define private public", | |
// and then it quickly escalated into more and more evil suggestions. | |
// I've tried to capture interesting suggestions here. | |
// | |
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_, | |
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant, |
Our Virtual Machines are provisioned using Vagrant from a Linux base box to run using VirutalBox. If the Hard Disk space runs out and you cannot remove files to free-up space, you can resize the Hard Disk using some VirtualBox and Linux commands.
The following steps assume you've got a set-up like mine, where: