Charts are from different sources and thus colors are inconsistent, please carefully read the chart's legends.
Like this? Check React Native vs Flutter: https://gist.github.com/tkrotoff/93f5278a4e8df7e5f6928eff98684979
Charts are from different sources and thus colors are inconsistent, please carefully read the chart's legends.
Like this? Check React Native vs Flutter: https://gist.github.com/tkrotoff/93f5278a4e8df7e5f6928eff98684979
| #!/usr/bin/env python3 | |
| # Tcp Port Forwarding (Reverse Proxy) | |
| # Author : WangYihang <[email protected]> | |
| ''' | |
| +-----------------------------+ +---------------------------------------------+ +--------------------------------+ | |
| | My Laptop (Alice) | | Intermediary Server (Bob) | | Internal Server (Carol) | | |
| +-----------------------------+ +----------------------+----------------------+ +--------------------------------+ | |
| | $ ssh -p 1022 [email protected] |<------->| IF 1: 1.2.3.4 | IF 2: 192.168.1.1 |<------->| IF 1: 192.168.1.2 | | |
| | [email protected]'s password: | +----------------------+----------------------+ +--------------------------------+ |
| worker_processes 1; | |
| daemon on; | |
| master_process on; | |
| error_log logs/error.log; | |
| #error_log logs/error.log notice; | |
| #error_log logs/error.log debug; | |
| #pid logs/nginx.pid; |
| @echo off | |
| set App=%1 | |
| set SleepSeconds=2 | |
| set PingIP=127.0.0.1 | |
| if "%App%" == "" ( | |
| goto usage | |
| ) |
| # -*- encoding= utf-8 | |
| “”“ | |
| “”” | |
| import os | |
| import sys | |
| import re | |
| import shutil | |
| import time | |
| from collections import defaultdict |
通常情况下,我们调出 PopClip 工具条需要用鼠标选中一段文字,但这在编辑文字时会显得有些不便,那么如何直接用键盘调出 PopClip 呢?Mac 自带的小机器人 Automator,可以实现很多 Mac 自动化的流程。打开 Automator,新建一个「Service」(即「服务」),利用 AppleScript 写一段代码。这里要注意的是,上方的「服务」我们要选择「没有输出」。
复制下面代码替换:
on run {input, parameters}
tell application "PopClip" to appear
launchctl 命令加载,卸载开机自动运行的服务,在 OS X 中,服务本身存储在 .plist 文件中(即 property list),这些文件的位置一般在 ~/Library/LaunchAgents 或 /Library/LaunchAgents。可以使用 launchctl load $PATH_TO_LIST 和 unload them with launchctl unload $PATH_TO_LIST 命令来加载/卸载他们。加载就是允许这个程序开机执行,卸载反之。
如果你使用 Homebrew 安装过 mysql 那么下面的安装后提示你可能比较熟悉
To have launchd start mysql at login:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
| # 新建一个无密码,无法登陆,没home的系统用户,就叫shadowsocks | |
| adduser --system --disabled-password --disabled-login --no-create-home shadowsocks | |
| # 修改 /etc/default/shadowsocks-libev | |
| USER=shadowsocks | |
| GROUP=nogroup | |
| # 使用setcap,允许非root用户无法监听低位端口 | |
| apt-get install libcap2-bin | |
| setcap 'cap_net_bind_service=+ep' /usr/bin/ss-server |
##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 可用,但端口一致,就设置这个