mac上的翻墙辅助工具Clashx和Clash 

 

A rule based custom proxy with GUI for Mac based on clash.
A rule based proxy For Mac based on Clash.

Features
HTTP/HTTPS and SOCKS proxy Surge like configuration GeoIP rule support

Install
You can download from release page:
https://github.com/yichengchen/clashX/releases/download/1.5.5/ClashX.dmg

Config
You can use config generator in Status Bar Menu "Config" section. Config support most of surge rules.

Configuration file at $HOME/.config/clash/config.ini
(gui程序Clashx的配置文件为$HOME/.config/clash/config.ini

Below is a simple demo configuration file:

[General]
port = 7890
socks-port = 7891

# A RESTful API for clash
external-controller = 127.0.0.1:8080 // do not change this line when you are using clashX

[Proxy]
# name = ss, server, port, cipher, password
# The types of cipher are consistent with go-shadowsocks2
# support AEAD_AES_128_GCM AEAD_AES_192_GCM AEAD_AES_256_GCM AEAD_CHACHA20_POLY1305 AES-128-CTR AES-192-CTR AES-256-CTR AES-128-CFB AES-192-CFB AES-256-CFB CHACHA20-IETF XCHACHA20 RC4-MD5
Proxy1 = ss, server1, port, AEAD_CHACHA20_POLY1305, password
Proxy2 = ss, server2, port, AEAD_CHACHA20_POLY1305, password

[Proxy Group]
# url-test select which proxy will be used by benchmarking speed to a URL.
# name = url-test, [proxys], url, interval(second)
ProxyAuto = url-test, Proxy1, Proxy2, http://www.google.com/generate_204, 300

Proxy = select, Proxy1, Proxy2 ,ProxyAuto // ProxyAuto should be placed before this line


[Rule]
DOMAIN-SUFFIX,google.com,Proxy
DOMAIN-KEYWORD,google,Proxy
DOMAIN-SUFFIX,ad.com,REJECT
GEOIP,CN,DIRECT
FINAL,,Proxy // notice there are two ","

from https://github.com/yichengchen/clashX/tree/master

https://github.com/briteming/clashX/ )


下载地址:https://github.com/yichengchen/clashX/releases

可以删除所有规则,留着最后的cn和final两条。

( clashx很好用。我主要是把它当作一个转换器使用,自动产生一个本地的http proxy:
127.0.0.1:7890 ,这样本地机器不用再利用privoxy/polipo把本地的socks代理服务器127.0.0.1:1080
转换为http proxy.
使用说明:运行clashx后,点击mac顶部的clashx的图标-“配置”- “生成配置文件” - “生成配置” ,
填入ss账号的4个参数,在remarks栏,取个名字,比如bwg.然后点击ok.
这样就会更新$HOME/.config/clash/config.ini文件,然后设置浏览器的http proxy为127.0.0.1:7890 ,
浏览器即可翻墙。)
----------------------------------------------------

mac上的翻墙辅助工具Clash(可以用作ss/ssr在mac上的客户端程序)

wget https://github.com/Dreamacro/clash/releases/download/v0.15.0/clash-darwin-amd64-v0.15.0.gz
mkdir clash-darwin-amd64-v0.15.0
mv clash-darwin-amd64-v0.15.0.gz clash-darwin-amd64-v0.15.0
cd clash-darwin-amd64-v0.15.0
gzip -d clash-darwin-amd64-v0.15.0.gz
此命令会解压该gz压缩包文件,并会覆盖该gz压缩包文件。会解压出可执行文件clash-darwin-amd64-v0.15.0
cd ~/.config/ (如果不存在该.config目录,则创建它)
mkdir clash && cd clash && nano config.yaml
命令行程序clash的配置文件为$HOME/.config/clash/config.yaml)

config.yaml的内容如下:
# port of HTTP
port: 7890
# port of SOCKS5
socks-port: 7891
# redir port for Linux and macOS
redir-port: 7892


allow-lan: false

# Rule / Global/ Direct (default is Rule)
mode: Rule

# set log level to stdout (default is info)

# info / warning / error / debug / silent

log-level: info

# A RESTful API for clash

external-controller: 127.0.0.1:9090

# you can put the static web resource (such as clash-dashboard) to a directory, and clash would serve in `${API}/ui`

# input is a relative path to the configuration directory or an absolute path

# external-ui: folder
# Secret for RESTful API (Optional)
# secret: ""
# experimental feature

experimental:

  ignore-resolve-fail: true # ignore dns resolve fail, default value is true

# authentication of local SOCKS5/HTTP(S) server
# authentication:
#  - "user1:pass1"
#  - "user2:pass2"

# dns:
  # enable: true # set true to enable dns (default is false)
  # ipv6: false # default is false
  # listen: 0.0.0.0:53
  # enhanced-mode: redir-host # or fake-ip
  # # fake-ip-range: 198.18.0.1/16 # if you don't know what it is, don't change it
  # nameserver:
  #   - 114.114.114.114
  #   - tls://dns.rubyfish.cn:853 # dns over tls
  #   - https://1.1.1.1/dns-query # dns over https
  # fallback: # concurrent request with nameserver, fallback used when GEOIP country isn't CN
  #   - tcp://1.1.1.1

Proxy:
# shadowsocks
# The types of cipher are consistent with go-shadowsocks2
# support AEAD_AES_128_GCM AEAD_AES_192_GCM AEAD_AES_256_GCM AEAD_CHACHA20_POLY1305 AES-128-CTR AES-192-CTR AES-256-CTR AES-128-CFB AES-192-CFB AES-256-CFB CHACHA20-IETF XCHACHA20
# In addition to what go-shadowsocks2 supports, it also supports chacha20 rc4-md5 xchacha20-ietf-poly1305
- { name: "ss1", type: ss, server: ss-server-ip, port: ss-server-port, cipher: AES-256-CFB, password: the-password, udp: false }

# old obfs configuration remove after prerelease

- name: "ss2"

  type: ss

  server: server

  port: 443

  cipher: AEAD_CHACHA20_POLY1305

  password: "password"

  plugin: obfs

  plugin-opts:

    mode: tls # or http

    # host: bing.com

- name: "ss3"
  type: ss
  server: server
  port: 443
  cipher: AEAD_CHACHA20_POLY1305
  password: "password"
  plugin: v2ray-plugin
  plugin-opts:
    mode: websocket # no QUIC now
    # tls: true # wss
    # skip-cert-verify: true
    # host: bing.com
    # path: "/"
    # headers:
    #   custom: value

Proxy Group:
# url-test select which proxy will be used by benchmarking speed to a URL.

- { name: "auto", type: url-test, proxies: ["ss1", "ss2"], url: "http://www.gstatic.com/generate_204", interval: 300 }

# fallback select an available policy by priority. The availability is tested by accessing an URL, just like an auto url-test group.

- { name: "fallback-auto", type: fallback, proxies: ["ss1", "ss2"], url: "http://www.gstatic.com/generate_204", interval: 300 }

# load-balance: The request of the same eTLD will be dial on the same proxy.
- { name: "load-balance", type: load-balance, proxies: ["ss1", "ss2"], url: "http://www.gstatic.com/generate_204", interval: 300 }

# select is used for selecting proxy or proxy group
# you can use RESTful API to switch proxy, is recommended for use in GUI.
- { name: "Proxy", type: select, proxies: ["ss1", "ss2", "auto"] }

Rule:
- DOMAIN-SUFFIX,google.com,auto
- DOMAIN-SUFFIX,fc2.com,Proxy
- DOMAIN-SUFFIX,epochtimes.com,Proxy
- DOMAIN-SUFFIX,secretchina.com,Proxy
- DOMAIN-SUFFIX,dongtaiwang.com,Proxy
- DOMAIN-SUFFIX,ntdtv.com,Proxy
- DOMAIN-KEYWORD,google,auto
- DOMAIN,google.com,auto
- DOMAIN-SUFFIX,ad.com,REJECT
- IP-CIDR,127.0.0.0/8,DIRECT

# rename SOURCE-IP-CIDR and would remove after prerelease
- SRC-IP-CIDR,192.168.1.201/32,DIRECT
- GEOIP,CN,DIRECT
- DST-PORT,80,DIRECT
- SRC-PORT,7777,DIRECT
# FINAL would remove after prerelease
# you also can use `FINAL,Proxy` or `FINAL,,Proxy` now
- FINAL,,Proxy


cd ~/clash-darwin-amd64-v0.15.0/

./clash-darwin-amd64-v0.15.0 -d ~/.config/clash/

会显示:
INFO[0000] RESTful API listening at: 127.0.0.1:9090   
INFO[0000] SOCKS proxy listening at: 127.0.0.1:7891   
INFO[0000] HTTP proxy listening at: 127.0.0.1:7890

保持此窗口不要关闭,然后设置浏览器的SOCKS5 proxy为127.0.0.1 ,端口7891 或者
HTTP proxy为127.0.0.1 ,端口7890 ,浏览器即可翻墙。

以后,每次遇到一个被封的网站,就编辑配置文件~/.config/clash/config.yaml, 把该网站的根域名xyz.com以格式:
- DOMAIN-SUFFIX,xyz.com,Proxy 添加在- DOMAIN-SUFFIX,google.com,auto的下一行。然后在~/clash-darwin-amd64-v0.15.0/里面,重新运行:
./clash-darwin-amd64-v0.15.0 -d ~/.config/clash/

项目地址:https://github.com/Dreamacro/clash/
下载地址:https://github.com/Dreamacro/clash/releases
---------------------------------------------

A GUI proxy client for Windows / Mac / Ubuntu Desktop based on Clash and Electron. 🛫 Windows / Mac / Ubuntu 适用的Clash客户端.


A GUI proxy client for Windows / macOS / Ubuntu Desktop based on Clash and Electron

Features

  • Easy to use interface.
  • Build-in Clash binary.
  • GUI configuration.
  • Remote subscription support.
  • Server speed test.
  • Set as system proxy (Windows & macOS only).
  • Start with system.

Installation

Download latest release from Release Page

If you meet binary singing issue on Apple & Windows operating system.

Check "Sign Issue" for more information.

Screenshots

status proxies
profile settings

Build

  • Clone this project & run yarn install
  • Run node pre-build.js to download clash binary for current platform.
  • Run yarn start to start dev server for webpage.
  • Run yarn start:electron to start electron main process. Or hit run button in VSCode.

Pack

  • Run yarn run pack and wait.

Configuration

  • Where is my configuration files & how can I modify them?
    To check your configuration files for Clash & Clashy, click on the folder icon in status panel. Clash configuration file folder will opened automatically and navigate to parent folder you will see Clashy configuration files named clashy-configs.
  • Can I change clash external controller port & secrets in configuration file?
    You can but you need to modify Clashy's source code to make it work.
from https://github.com/SpongeNobody/Clashy
----

Clash的常用客户端使用教程

 

配置文件

Clash 运行的依据是规则文件,系统会内置一个默认的规则文件,你只需要填写其他诸如服务器信息即可使用。不过实际情况需要分两种情况讨论。第一,服务提供商提供了 Clash 的“订阅链接”;第二,服务提供商没有提供 Clash 的“订阅链接”。

如果提供了订阅链接

一般来说没有定制化需求的话,可以直接拿来用了。这些订阅链接与其他软件的不同,它不仅包含了节点信息,同样包括了规则和策略组。




但如果附带的规则和策略组不能满足你的需求,就需要自行修改配置文件,后面会写如何修改。至于如何使用服务商提供的 Clash 订阅链接,后面同样会写。

如果没有提供订阅链接

有的机场往往只提供了一个普通的 ss 或者 v2ray 的订阅链接,这些链接中只包含了节点信息,Clash 是无法运行的。这里有两个选择,第一就是找“在线转换工具”;第二就是自己写配置文件

在线转换工具

这里提供一个,这类还有很多,可以自己去问问
比如这个转换工具,点开基础版




然后只需要输入订阅链接,选择 Clash,最后就能生成一个托管地址,也就是订阅链接。按照教程后面的订阅链接使用方法使用即可。

自己写配置文件

这里个人推荐自己去找一找别人写的一些规则,能够方便日常使用。这里以神机规则提供的 Clash 配置文件为例进行分析。你可以在 GitHub 上的相关页面下载到这份规则。关于具体如何编写配置文件可以查看官方教程,如果你吃了文化的亏,看不懂,那就继续往下看。 打开神机规则的文件,可以看到有很多设置项目,包括端口、规则模式、DNS设置等等,这些都不用管,直接找到# 代理节点这里,我们要修改这里面的内容。这里以某个机场为例,大同小异。
对于配置文件中的节点信息,你可以使用上面的托管工具,但只复制出来其中的节点信息,或者按照下面的步骤手动添加
1. 登陆云图小镇的用户控制台,左边找到“使用节点”,点进去。
2. 如图我们可以看到有两种节点,第一种标注着“扫码端口xxxx”,这种节点只支持ssr,所以Clash不能用。我们需要的是标注着“扫码使用”的节点,点进去。




3. 拉到最底下,可以看到节点信息。




4. 回到配置文件里,由于被 Clash 所支持的协议里,云图小镇的节点只有 Shadowsocks + OBFS 这一种类型,所以在# 代理节点下,删掉其他部分,只保留# Shadowsocks + OBFS的部分。




5. 根据第3步获取的信息,手动修改预置的项目
name 对应节点名称,可以随便写
type 不要动,保留为预设的ss
server 对应的是“节点地址”
port 对应的是“端口”
cipher 对应的加密方式,这里要用大写,比如云图网页上写的rc4-md5,你要改成RC4-MD5
password 对应的是密码,注意引号不要删
plugin 保留为obfs不要动
mode 对应混淆,云图网页上写的http_post这里只要写http
host 对应混淆参数
6. 可以多添加几个,复制一下改一下名字和服务器地址就行,比如我这里以三个为例。




7. 接下来编辑组策略,由于是简易教程,日常能用就行,所以用不到很多东西。首先编辑 url-test,通过指定的 URL 测试并选择延迟最低的节点。
它默认是这样的:
- { name: “UrlTest”, type: url-test, proxies: [“1”, “2”, “3”,”4"], url: “http://www.gstatic.com/generate_204", interval: 300 }
因为我们已经修改了代理节点信息,所以`proxies: [“1”, “2”, “3”,”4"]`这里需要把其中的1、2、3、4换成刚才我们起的名称,比如我这里就要改成
- { name: "UrlTest", type: url-test, proxies: ["[1.25]Kansas🇺🇸Spring", "[1.00]Tokyo🇯🇵Mate", "[1.00]Singapore🇸🇬Coffee"], url: "http://www.gstatic.com/generate_204", interval: 300 }
多增少删,这里proxies的内容一定是你刚才添加节点信息里name那一项的内容。
8. 接下来编辑 代理节点选择 策略,可以看到默认为
- { name: “PROXY”, type: select, proxies: [“UrlTest”, “1”, “2”, “3”,”4"] }
与上一步同理,除”UrlTest”这一项以外,都要修改为编辑好的节点名称,修改效果如下
- { name: "PROXY", type: select, proxies: ["UrlTest", "[1.25]Kansas🇺🇸Spring", "[1.00]Tokyo🇯🇵Mate", "[1.00]Singapore🇸🇬Coffee" }
9. 接着可以看到在# 白名单模式 PROXY,黑名单模式 DIRECT下,规则作者还添加了一些策略。首先我们需要像前两步一样,把 ForeignMedia 和 DomesticMedia 策略里的1、2、3、4进行修改。
至此,配置文件已经修改完毕可以使用了,如果想了解组策略如何使用,请继续往下看:
然后我来解释一下这几个策略的作用,以 Apple 这个策略为例。首先我们想象一个场景,我们在使用传统策略工具时,往往只能选择诸如“只代理GFW屏蔽的地址”等选项。这会带来几个问题:1. 如果我需要访问的节点不在这个规则里,我只能临时开全局,而一开全局,其他的链接可能会受影响。2. 如果我需要浏览一个网页,使用A节点更快,但同时我也需要访问另一个服务,他只能用B节点,无法操作。这里就是策略组的作用了,我们可以把一系列的域名、IP等规则拉到一个单独的策略里,可以单独控制他们直连、代理、走哪个节点,不影响其他的访问。在规则文件中我们可以看到类似这样的几条规则:
- DOMAIN,aod.itunes.apple.com,Apple
- DOMAIN,audio.itunes.apple.com,Apple
- DOMAIN,audio-ssl.itunes.apple.com,Apple
- DOMAIN,streamingaudio.itunes.apple.com,Apple
可以看到他们都被拉到了 Apple 这个策略里,我们就可以对这几个地址的访问单独控制是否要走代理。除此之外,也可以限定要走哪一个节点,我们只需要像 ForeignMedia 这个策略一样,再添加需要的节点,修改如下。
- { name: "Apple", type: select, proxies: ["DIRECT", "PROXY"] }
修改为
- { name: "Apple", type: select, proxies: ["DIRECT", "PROXY", "[1.25]Kansas🇺🇸Spring"] }
这样的修改完全是根据你自己的需求来。关于组策略的简单配置,我在这篇文章中,以一个常见的使用场景进行分析。

客户端的使用

Clash 的配置文件一份可以在多个客户端通用(如果端口没有被占用的情况下)。

ClashX

这是 macOS 的客户端,可以在这里下载到。
1. 打开后要安装一些内容,输入密码后安装




2. 点击状态栏图标 — 配置 — 打开配置文件夹




3. 把刚才修改好的规则放进文件夹里,覆盖或者新建一个都行,新建的话,之后注意在菜单里选择好配置文件。如果是获取的托管链接,则点击状态栏图标 — 配置 — 托管配置 — 管理




然后输入托管链接




之后 点击状态栏图标 — 配置 — 托管配置 — 更新 即可
4. 覆盖/修改原始配置文件保存后,或者选择配置文件后都会以通知的形式提示你是否加载配置文件,点击通知后就会加载,提示下面这个通知表示加载成功。




5. 之后启用系统代理即可。




6. 可以看到 Clash 自动选择了延迟最低的节点连接。




7. 对于需要手动调整的策略组策略,在菜单里找到“控制台”打开,即可手动修改。




Clash for Android

注意,ClashA 貌似已经停止更新,请换用 Clash for Android
这是 Android 客户端,可以在 Google Play 搜索 Clash 下载到。如果 Google Play 不方便使用,可以去项目地址自行编译(截止发布文章前并没有提供预编译文件)




  1. 把配置文件弄到手机里。
  2. 打开 app,点击 Profiles — New Profile — File 选择本地配置文件【如果是获得的托管链接,这里选择 url 并填写托管链接】
  3. 点击“Stopped”按钮,状态变成 Running,即可使用。




4. 对于需要手动调整的策略组策略,打开 Proxy,即可手动修改。




Clash for Windows

可以在这里下载到。
  1. 建议下载 exe 版本安装
  2. 安装后运行,在状态栏可以找到图标,双击打开 Dashboard




3. 如果是自己写的配置文件,打开 Profiles,然后直接把自己的配置文件拖进去,点击一下使其生效即可。如果是托管链接,输入到上面的 URL 地址栏即可。最后打开 System Proxy 开关打开代理。




4. 策略组的修改就在 Proxies 选项卡里,使用还是比较简单的。




from https://medium.com/@muchenran2/clash-%E5%B8%B8%E7%94%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B-%E7%AE%80%E6%98%93%E7%89%88-c77aeb2a10c

-------------------

A GUI proxy client for Windows / Mac / Ubuntu Desktop based on Clash and Electron. Windows / Mac / Ubuntu 适用的Clash客户端.


Clashy

  • Dialectal, England: wet, showery
  • A really trashy object/person that tries to make its self seem classy... like a diamond encrusted dildo or any of the Real Housewives or girls on the Jersey Shore
Teresa: Hey Danielle look at my diamond encrusted dildo my juice-head husband gave me!!! You Prostitution Whore!!!!
Danielle: You're such a Clashy Bitch Teresa... why don't you go flip a table again...
  • When two people’s personalities and beliefs clash to the point where one or both really dislike the other. The dislike may or may not be explicitly expressed.
John (super conservative southern male): I think women should have to meet the same physical standards as men in certain jobs, regardless of what biology dictates about that matter.
Sheila (politically moderate from North Dakota): Stares judementally with one eye brow raised
(A different day) John: Oh hey Sheila! Wanna go out to lunch with me sometime?
Sheila: trying to hide her disdain Oh ya,. About that, I have a boyfriend. (She doesn’t).
John (in his thoughts): Idk, I guess we’re just really clashy.

from https://github.com/SpongeNobody/Clashy
https://github.com/SpongeNobody/Clashy/releases
--------

https://github.com/whojave/clashr
https://github.com/zengzhengkevin/clashr
------------------------------------

ShadowClash is a rewritten version of ClashX by Qt5.

ShadowClash

A rule based proxy For Window, Mac and Linux base on Clash and ClashR.
Build status Build status HitCount Download status 

Features

  • Cross platform Support
  • HTTP/HTTPS and SOCKS protocol
  • Surge like configuration
  • GeoIP rule support
  • Support Vmess/Shadowsocks/Socks5
  • Support for Netfilter TCP redirect
  • EnhanceMode support(tun2socks)
  • ClashR support

Install

You can download from release page

Build

  • Clone the Repo
    git clone https://github.com/TheWanderingCoel/ShadowClash.git
    
  • Download and build deps
    python3 install_dependency.py
    
  • Build clash core.
    cd clash
    python3 build_clash.py
    cd ..
    
  • Or build the clashR core.
    cd clashr
    python3 build_clashr.py
    cd ..
    
  • Run qmake
    mkdir build && cd build
    qmake ../
    
  • Run make
    make -j8
    

Config

The default configuration directory is $HOME/.config/clash
The default name of the configuration file is config.ymal. You can use your custom config name and switch config in menu Config section.
To Change the ports of ClashX, you need to modify the config.ymal file. The General section settings in your custom config file would be ignored.
Checkout Clash or SS-Rule-Snippet for Clash for more detail.
You may use this repo to convert ssr subscription to clashr subscrption

Translate

You can help us to translate ShadowClash into different languages by using Transifex.
Transifex is a localization website, free for open-source projects
You can donate us some XVG to make this project better.
XVG

Special Thanks

Other Softwares

Please check these softwares developed by myself.
Your star is my energy to develop more good softwares.
--------------------------
 
在软路由或openwrt路由器上安装透明代理程序Clash
 

目标

  1. 配置 Clash 使其走 vmess 协议来处理透明代理流量。
  2. 配置 iptables 转发流量

注意:本文是基于安装了 Debian 系统的的软路由配置的,Openwrt 也可以参考自行修改。

Clash优势

相比原生的 V2Ray,Clash 的优势如下:

  1. 灵活管理 proxy,支持不同的策略来选择最优的 proxy
  2. 内置 DNS,支持 DOH
  3. 基于规则来的流量转发

Clash的安装配置

安装

TARGET=/usr/local/clash
[ -e $TARGET ] || mkdir $TARGET
VERSION=v1.0.0
FILENAME=clash-linux-amd64-$VERSION
curl -sLO https://github.com/Dreamacro/clash/releases/download/$VERSION/$FILENAME.gz
gunzip $FILENAME.gz
mv $FILENAME $TARGET/clash
chmod 755 $TARGET/clash

Clash的配置

配置这里我是基于这个模板修改的,精简了一些配置。

配置放在 /usr/local/clash/config.yml

port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: true
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090
# secret: ""

dns:
  enable: true
  listen: 0.0.0.0:853
  enhanced-mode: redir-host
  nameserver:
    - 'tls://dns.rubyfish.cn:853'
    - '114.114.114.114'
  fallback:
    - 'tls://1.1.1.1:853'
    - 'tls://dns.google'


proxies:
# 这两个tlb proxy配合我的tlb项目使用的,因为clash内置了proxy选择的策略,所以目前暂时也没有开发的动力
# https://github.com/xdays/tlb
- name: ss-tlb
  type: ss
  server: 127.0.0.1
  port: 443
  cipher: rc4-md5
  password: changeme

- name: vmess-tlb
  type: vmess
  server: 127.0.0.1
  port: 345
  uuid: changeme
  alterId: 64
  cipher: aes-128-gcm
  network: ws
  ws-path: /
  ws-headers:
    Host: foo.xdays.me
  tls: true

- name: vmess-hkg01
  type: vmess
  server: 1.1.1.1
  port: 443
  uuid: changeme
  alterId: 64
  cipher: aes-128-gcm
  network: ws
  ws-path: /
  ws-headers:
    Host: foo.xdays.me
  tls: true

- name: vmess-hkg02
  type: vmess
  server: 1.1.1.2
  port: 443
  uuid: changeme
  alterId: 64
  cipher: aes-128-gcm
  network: ws
  ws-path: /
  ws-headers:
    Host: foo.xdays.me
  tls: true

# 代理组策略
proxy-groups:
# url-test 通过指定的 URL 测试并选择延迟最低的节点
- name: "UrlTest"
  type: url-test
  proxies:
    - "vmess-hkg01"
    - "vmess-hkg02"
  url: 'http://www.gstatic.com/generate_204'
  interval: 300

# fallback 通过指定的 URL 测试并选择可用的节点,当 1 故障不可用时自动切换到 2 以此类推
- name: "Fallback"
  type: fallback
  proxies:
    - "vmess-hkg01"
  url: 'http://www.gstatic.com/generate_204'
  interval: 300

# 代理节点选择
- name: "PROXY"
  type: select
  proxies:
    - "UrlTest"
    - "vmess-tlb"
    - "vmess-hkg01"

# 白名单模式 PROXY,黑名单模式 DIRECT
- name: "Final"
  type: select
  proxies:
    - "PROXY"
    - "DIRECT"

# 运营商及声名狼藉网站劫持
- name: "Hijacking"
  type: select
  proxies:
    - "REJECT"
    - "DIRECT"

# 规则
rules:
# Internet Service Providers Hijacking 运营商劫持
- DOMAIN-SUFFIX,17gouwuba.com,Hijacking
- DOMAIN-SUFFIX,186078.com,Hijacking
- DOMAIN-SUFFIX,189zj.cn,Hijacking
- DOMAIN-SUFFIX,285680.com,Hijacking
- DOMAIN-SUFFIX,3721zh.com,Hijacking
- DOMAIN-SUFFIX,4336wang.cn,Hijacking
- DOMAIN-SUFFIX,51chumoping.com,Hijacking
- DOMAIN-SUFFIX,51mld.cn,Hijacking
- DOMAIN-SUFFIX,51mypc.cn,Hijacking
- DOMAIN-SUFFIX,58mingri.cn,Hijacking
- DOMAIN-SUFFIX,58mingtian.cn,Hijacking
- DOMAIN-SUFFIX,5vl58stm.com,Hijacking
- DOMAIN-SUFFIX,6d63d3.com,Hijacking
- DOMAIN-SUFFIX,7gg.cc,Hijacking
- DOMAIN-SUFFIX,91veg.com,Hijacking
- DOMAIN-SUFFIX,9s6q.cn,Hijacking
- DOMAIN-SUFFIX,adsame.com,Hijacking
- DOMAIN-SUFFIX,aiclk.com,Hijacking
- DOMAIN-SUFFIX,akuai.top,Hijacking
- DOMAIN-SUFFIX,atplay.cn,Hijacking
- DOMAIN-SUFFIX,baiwanchuangyi.com,Hijacking
- DOMAIN-SUFFIX,beerto.cn,Hijacking
- DOMAIN-SUFFIX,beilamusi.com,Hijacking
- DOMAIN-SUFFIX,benshiw.net,Hijacking
- DOMAIN-SUFFIX,bianxianmao.com,Hijacking
- DOMAIN-SUFFIX,bryonypie.com,Hijacking
- DOMAIN-SUFFIX,cishantao.com,Hijacking
- DOMAIN-SUFFIX,cszlks.com,Hijacking
- DOMAIN-SUFFIX,cudaojia.com,Hijacking
- DOMAIN-SUFFIX,dafapromo.com,Hijacking
- DOMAIN-SUFFIX,daitdai.com,Hijacking
- DOMAIN-SUFFIX,dsaeerf.com,Hijacking
- DOMAIN-SUFFIX,dugesheying.com,Hijacking
- DOMAIN-SUFFIX,dv8c1t.cn,Hijacking
- DOMAIN-SUFFIX,echatu.com,Hijacking
- DOMAIN-SUFFIX,erdoscs.com,Hijacking
- DOMAIN-SUFFIX,fan-yong.com,Hijacking
- DOMAIN-SUFFIX,feih.com.cn,Hijacking
- DOMAIN-SUFFIX,fjlqqc.com,Hijacking
- DOMAIN-SUFFIX,fkku194.com,Hijacking
- DOMAIN-SUFFIX,freedrive.cn,Hijacking
- DOMAIN-SUFFIX,gclick.cn,Hijacking
- DOMAIN-SUFFIX,goufanli100.com,Hijacking
- DOMAIN-SUFFIX,goupaoerdai.com,Hijacking
- DOMAIN-SUFFIX,gouwubang.com,Hijacking
- DOMAIN-SUFFIX,gzxnlk.com,Hijacking
- DOMAIN-SUFFIX,haoshengtoys.com,Hijacking
- DOMAIN-SUFFIX,hyunke.com,Hijacking
- DOMAIN-SUFFIX,ichaosheng.com,Hijacking
- DOMAIN-SUFFIX,ishop789.com,Hijacking
- DOMAIN-SUFFIX,jdkic.com,Hijacking
- DOMAIN-SUFFIX,jiubuhua.com,Hijacking
- DOMAIN-SUFFIX,jsncke.com,Hijacking
- DOMAIN-SUFFIX,junkucm.com,Hijacking
- DOMAIN-SUFFIX,jwg365.cn,Hijacking
- DOMAIN-SUFFIX,kawo77.com,Hijacking
- DOMAIN-SUFFIX,kualianyingxiao.cn,Hijacking
- DOMAIN-SUFFIX,kumihua.com,Hijacking
- DOMAIN-SUFFIX,ltheanine.cn,Hijacking
- DOMAIN-SUFFIX,maipinshangmao.com,Hijacking
- DOMAIN-SUFFIX,minisplat.cn,Hijacking
- DOMAIN-SUFFIX,mkitgfs.com,Hijacking
- DOMAIN-SUFFIX,mlnbike.com,Hijacking
- DOMAIN-SUFFIX,mobjump.com,Hijacking
- DOMAIN-SUFFIX,nbkbgd.cn,Hijacking
- DOMAIN-SUFFIX,newapi.com,Hijacking
- DOMAIN-SUFFIX,pinzhitmall.com,Hijacking
- DOMAIN-SUFFIX,poppyta.com,Hijacking
- DOMAIN-SUFFIX,qianchuanghr.com,Hijacking
- DOMAIN-SUFFIX,qichexin.com,Hijacking
- DOMAIN-SUFFIX,qinchugudao.com,Hijacking
- DOMAIN-SUFFIX,quanliyouxi.cn,Hijacking
- DOMAIN-SUFFIX,qutaobi.com,Hijacking
- DOMAIN-SUFFIX,ry51w.cn,Hijacking
- DOMAIN-SUFFIX,sg536.cn,Hijacking
- DOMAIN-SUFFIX,sifubo.cn,Hijacking
- DOMAIN-SUFFIX,sifuce.cn,Hijacking
- DOMAIN-SUFFIX,sifuda.cn,Hijacking
- DOMAIN-SUFFIX,sifufu.cn,Hijacking
- DOMAIN-SUFFIX,sifuge.cn,Hijacking
- DOMAIN-SUFFIX,sifugu.cn,Hijacking
- DOMAIN-SUFFIX,sifuhe.cn,Hijacking
- DOMAIN-SUFFIX,sifuhu.cn,Hijacking
- DOMAIN-SUFFIX,sifuji.cn,Hijacking
- DOMAIN-SUFFIX,sifuka.cn,Hijacking
- DOMAIN-SUFFIX,smgru.net,Hijacking
- DOMAIN-SUFFIX,taoggou.com,Hijacking
- DOMAIN-SUFFIX,tcxshop.com,Hijacking
- DOMAIN-SUFFIX,tjqonline.cn,Hijacking
- DOMAIN-SUFFIX,topitme.com,Hijacking
- DOMAIN-SUFFIX,tt3sm4.cn,Hijacking
- DOMAIN-SUFFIX,tuia.cn,Hijacking
- DOMAIN-SUFFIX,tuipenguin.com,Hijacking
- DOMAIN-SUFFIX,tuitiger.com,Hijacking
- DOMAIN-SUFFIX,websd8.com,Hijacking
- DOMAIN-SUFFIX,wsgblw.com,Hijacking
- DOMAIN-SUFFIX,wx16999.com,Hijacking
- DOMAIN-SUFFIX,xchmai.com,Hijacking
- DOMAIN-SUFFIX,xiaohuau.xyz,Hijacking
- DOMAIN-SUFFIX,ygyzx.cn,Hijacking
- DOMAIN-SUFFIX,yinmong.com,Hijacking
- DOMAIN-SUFFIX,yitaopt.com,Hijacking
- DOMAIN-SUFFIX,yjqiqi.com,Hijacking
- DOMAIN-SUFFIX,yukhj.com,Hijacking
- DOMAIN-SUFFIX,zhaozecheng.cn,Hijacking
- DOMAIN-SUFFIX,zhenxinet.com,Hijacking
- DOMAIN-SUFFIX,zlne800.com,Hijacking
- DOMAIN-SUFFIX,zunmi.cn,Hijacking
- DOMAIN-SUFFIX,zzd6.com,Hijacking
- IP-CIDR,39.107.15.115/32,Hijacking,no-resolve
- IP-CIDR,47.89.59.182/32,Hijacking,no-resolve
- IP-CIDR,103.49.209.27/32,Hijacking,no-resolve
- IP-CIDR,123.56.152.96/32,Hijacking,no-resolve
# > ChinaTelecom
- IP-CIDR,61.160.200.223/32,Hijacking,no-resolve
- IP-CIDR,61.160.200.242/32,Hijacking,no-resolve
- IP-CIDR,61.160.200.252/32,Hijacking,no-resolve
- IP-CIDR,61.174.50.214/32,Hijacking,no-resolve
- IP-CIDR,111.175.220.163/32,Hijacking,no-resolve
- IP-CIDR,111.175.220.164/32,Hijacking,no-resolve
- IP-CIDR,122.229.8.47/32,Hijacking,no-resolve
- IP-CIDR,122.229.29.89/32,Hijacking,no-resolve
- IP-CIDR,124.232.160.178/32,Hijacking,no-resolve
- IP-CIDR,175.6.223.15/32,Hijacking,no-resolve
- IP-CIDR,183.59.53.237/32,Hijacking,no-resolve
- IP-CIDR,218.93.127.37/32,Hijacking,no-resolve
- IP-CIDR,221.228.17.152/32,Hijacking,no-resolve
- IP-CIDR,221.231.6.79/32,Hijacking,no-resolve
- IP-CIDR,222.186.61.91/32,Hijacking,no-resolve
- IP-CIDR,222.186.61.95/32,Hijacking,no-resolve
- IP-CIDR,222.186.61.96/32,Hijacking,no-resolve
- IP-CIDR,222.186.61.97/32,Hijacking,no-resolve
# > ChinaUnicom
- IP-CIDR,106.75.231.48/32,Hijacking,no-resolve
- IP-CIDR,119.4.249.166/32,Hijacking,no-resolve
- IP-CIDR,220.196.52.141/32,Hijacking,no-resolve
- IP-CIDR,221.6.4.148/32,Hijacking,no-resolve
# > ChinaMobile
- IP-CIDR,114.247.28.96/32,Hijacking,no-resolve
- IP-CIDR,221.179.131.72/32,Hijacking,no-resolve
- IP-CIDR,221.179.140.145/32,Hijacking,no-resolve
# > Dr.Peng
# - IP-CIDR,10.72.25.0/24,Hijacking,no-resolve
- IP-CIDR,115.182.16.79/32,Hijacking,no-resolve
- IP-CIDR,118.144.88.126/32,Hijacking,no-resolve
- IP-CIDR,118.144.88.215/32,Hijacking,no-resolve
- IP-CIDR,118.144.88.216/32,Hijacking,no-resolve
- IP-CIDR,120.76.189.132/32,Hijacking,no-resolve
- IP-CIDR,124.14.21.147/32,Hijacking,no-resolve
- IP-CIDR,124.14.21.151/32,Hijacking,no-resolve
- IP-CIDR,180.166.52.24/32,Hijacking,no-resolve
- IP-CIDR,211.161.101.106/32,Hijacking,no-resolve
- IP-CIDR,220.115.251.25/32,Hijacking,no-resolve
- IP-CIDR,222.73.156.235/32,Hijacking,no-resolve

# Local Area Network
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,100.64.0.0/10,DIRECT

# GeoIP China
- GEOIP,CN,DIRECT

- MATCH,Final

透明代理配置

Clash 的透明代理需要做两步:

  1. DNS 解析要经过 Clash 自己监听的 DNS 服务, 我这里是 UDP 的 853 端口
  2. iptables 把流量 redirect 给 clash

先说第一步,我的做法是用 dnsmasq 来作为局域网的 dhcp 和 dns server,然后 dnsmasq 将 dns 请求转发给 clash 的 853 端口,dnsmasq 的配置如下:

bogus-priv
no-resolv
server=127.0.0.1#853
domain=lan,192.168.2.0/24
dhcp-range=192.168.2.100,192.168.2.200,12h
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
cache-size=150

再说第二步,iptables 的配置也很简单,我写了一个脚本来开关 iptables 规则

脚本放在 /usr/local/clash/proxy.sh

#!/bin/bash

DNSCONF=/etc/dnsmasq.d/local
echo 1 > /proc/sys/net/ipv4/ip_forward

start() {
    # TCP Redirect
    # Create new chain
    echo "create a new chain"
    iptables -t nat -N CLASH

    # Ignore LANs and any other addresses you'd like to bypass the proxy
    # See Wikipedia and RFC5735 for full list of reserved networks.
    iptables -t nat -A CLASH -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A CLASH -d 10.0.0.0/8 -j RETURN
    iptables -t nat -A CLASH -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A CLASH -d 169.254.0.0/16 -j RETURN
    iptables -t nat -A CLASH -d 172.16.0.0/12 -j RETURN
    iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A CLASH -d 224.0.0.0/4 -j RETURN
    iptables -t nat -A CLASH -d 240.0.0.0/4 -j RETURN
    iptables -t nat -A CLASH -s 192.168.2.0/24 -p tcp -j REDIRECT --to-ports 7892

    # apply redirect for traffic forworded by this proxy
    echo "apply the clash chain"
    iptables -t nat -A PREROUTING  -p tcp -j CLASH

    # apply redirect for proxy itself
    # for i in $OID; do
    #     iptables -t nat -A OUTPUT -m owner --uid-owner $i -j RETURN
    # done
    # iptables -t nat -A OUTPUT -p tcp -j CLASH
    echo "change dns server"
    use-gfw-dns
}

stop() {
    iptables -t nat -D PREROUTING  -p tcp -j CLASH
    iptables -t nat -F CLASH
    iptables -t nat -X CLASH
    use-normal-dns
}

status() {
    echo "==== Iptable rules ===="
    iptables -t nat -nL
    echo
    echo "==== DNS Sever===="
    grep "^server=" $DNSCONF
}

use-normal-dns() {
    # 这里要改成一个你自己的dns服务器
    sed -i '/server=.*/s/.*/server=192.168.1.1/' $DNSCONF
    systemctl restart dnsmasq
}

use-gfw-dns() {
    sed -i '/server=.*/s/.*/server=127.0.0.1#853/' $DNSCONF
    systemctl restart dnsmasq
}

case $1 in
start)
    start
    ;;
stop)
    stop
    ;;
status)
    status
    ;;
*)
    echo "$0 start | stop | status"
    ;;
esac

改下可执行权限

chmod 755 /usr/local/clash/proxy.sh

这个脚本里还包括的切换 dnsmasq 的 dns 配置的操作,因为如果 clash 停了整个局域网所有机器的 dns 解析就会失败,这是配合后边一键启停翻墙做准备的。

一键开关透明代理

编辑 /etc/systemd/system/clash.service

[Unit]
Description=Clash Service
After=network.target
Wants=network.target

[Service]
# User=nobody
# Group=nobody
Type=simple
PIDFile=/run/clash.pid
ExecStartPre=/usr/local/clash/proxy.sh start
ExecStart=/usr/local/clash/clash -d /usr/local/clash/
ExecStopPost=/usr/local/clash/proxy.sh stop
Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target

然后加载配置,开机启动透明代理

systemctl daemon-reload
systemctl start clash
systemctl enable clash
-----------
 

Setting up Clash as Second Gateway for LAN

Less painful way setting up a second gateway using Clash, IPset and iptables.

Prerequisite

Steps

1 Setup Tun

TUN_NAME=clash0
sudo ip tuntap add mode tun user clash name $TUN_NAME
sudo ip link set $TUN_NAME up
# or sudo ifconfig utun up

2 Setup iptables

iptables -t mangle -N CLASH # Create Clash Chain

iptables -t mangle -A CLASH -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A CLASH -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A CLASH -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A CLASH -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A CLASH -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A CLASH -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A CLASH -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A CLASH -d 240.0.0.0/4 -j RETURN
# ipset can be enabled optionally.
# iptables -t mangle -A CLASH -m set --match-set CN dst -j RETURN
iptables -t mangle -A CLASH -j MARK --set-xmark 129

iptables -t mangle -A PREROUTING -j CLASH  # have traffic come to the CLASH chain

# if you need to have the local machine(the machine clash is running on) traffic to go through clash TUN
# note: you should have clash running under the user `clash', see below systemd script
# iptables -t mangle -A OUTPUT -m owner --uid-owner clash -j RETURN
# iptables -t mangle -A OUTPUT -j CLASH

3 Setup route

ip route add default dev $ table 129
ip rule add fwmark 129 $TUN_NAME lookup 129

4 Checkpoint 1

At this stage, all the traffic routed by this machine will be tagged with fwmark 129 and redirected to $TUN_NAME.

Feel free to change the number 129 to whatever you like.

5 Setup clash

To have clash handle the traffic on $TUN_NAME, we need to setup clash properly.

5.1 Install

Download the binary from https://github.com/comzyh/clash/releases and put it under /usr/bin/clash. For example:

5.2 systemd script

Note The user should match that one speficied in the iptable rules above.

cat /lib/systemd/system/clash@.service
[Unit]
Description=Clash
After=network.target

[Service]
Type=simple
User=%i
Restart=always
ExecStart=/usr/bin/clash -d /home/wtf/clash
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_ADMIN
CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_NET_ADMIN

[Install]
WantedBy=multi-user.target
systemctl enable clash@clash

5.3 clash config

Add this section to your existing config.yaml

Note

The device url should be dev://$TUN_NAME

tun:
  enable: true
  stack: system
  device-url: dev://clash0
  # dns-hijack:
    # - 10.0.0.5

5.4 Start clash

systemctl enable clash@clash

6 Checkpoint 2

At this stage, you should be able to use this machine as the gateway for you LAN devices.

Note

Don't forget to enable ipv4_forwarding on your machine. In case you need help: https://linuxconfig.org/how-to-turn-on-off-ip-forwarding-in-linux

7 Misc

7.1 Setup ipset

Sometimes you don't really want to route all traffic to the gateway, and that can be done by setting up ipset. By doing this, you can either to have the iptables RETURN all the traffic that is matching a particular ipset or only mark the traffic when it matches.

In my case, I want to have all the China Mainland traffic to be going though the clash tun, so I'll have the script below to update the ipset everyday.

cat /etc/cron.daily/update-ipset.sh
IPSET_BIN=/usr/sbin/ipset

$IPSET_BIN -L CN-new > /dev/null 2>&1
if [ $? -eq 0 ]; then
  $IPSET_BIN destroy CN-new
fi
$IPSET_BIN create CN-new hash:net
curl -sL http://www.ipdeny.com/ipblocks/data/countries/cn.zone | xargs -n1 $IPSET_BIN -A CN-new

$IPSET_BIN -L CN > /dev/null 2>&1
if [ $? -ne 0 ]; then
  $IPSET_BIN create CN hash:net
fi

$IPSET_BIN swap CN-new CN
$IPSET_BIN destroy CN-new

And have my mangle table:

iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
RETURN     udp  --  anywhere             anywhere             udp dpts:4096:65535
RETURN     tcp  --  anywhere             anywhere             tcp dpts:8192:65535
CLASH      all  --  anywhere             anywhere

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain CLASH (1 references)
target     prot opt source               destination
MARK       all  --  anywhere             anywhere             match-set CN dst MARK set 0xc0

7.2 Persistence

  • iptables/ipset

    You'll want to use iptables-persistent/ipset-persistent to have iptables/ipset persistence

  • route and tun dev

    Use Debian network configuration, an example:

    cat /etc/network/interfaces | grep -A 20 clash0
    auto clash0
    iface clash0 inet manual
          pre-up ip tuntap add mode tun user clash name $IFACE
          up ip link set dev $IFACE up
          post-up ip route add default dev $IFACE table 192
          post-up ip rule add fwmark 192 lookup 192
          down ip link set dev $IFACE down
          post-down ip link del dev $IFACE
          post-down ip route del default dev $IFACE table 192
          post-down ip rule del fwmark 192 lookup 192

Summary

You should now be ready to setup the IP of the above machine to be the default gateway on you DHCP service.

Best practive is having a static IP for the above machine and always have a backup gateway in case something went wrong with the second gateway.

All the script sample above are for my personal note and demo purpose only - make sure you understand it and feel free to make any change accordingly.

from https://ibigbug.online/best-practice-for-setting-up-clash-as-second-gateway

---------

Clash的基本配置

规则解释

  • DOMAIN-SUFFIX:域名后缀匹配
  • DOMAIN:域名匹配
  • DOMAIN-KEYWORD:域名关键字匹配
  • IP-CIDR:IP段匹配
  • SRC-IP-CIDR:源IP段匹配
  • GEOIP:GEOIP数据库(国家代码)匹配
  • DST-PORT:目标端口匹配
  • SRC-PORT:源端口匹配
  • MATCH:全匹配(一般放在最后)

 基本配置

 
YAML
 
 
 
 

额外支持特定的字段:

  • cfw-latency-timeout:延迟测试超时时间(毫秒),默认3000
  • cfw-latency-url:延迟测试URL,默认http://www.gstatic.com/generate_204
  • cfw-bypass:系统代理绕过域名或地址,参考 绕过系统代理
  • cfw-conn-break-strategy: 切换节点后或切换配置文件后打断连接
  • cfw-profiles-path: 自定义 profiles 目录路径 (beta)

这些配置关乎Clash核心是否能正常启动,如非必要,请勿更改

 完全配置记录

 
YAML
 
 

 绕过系统代理

Clash for Windows在v 0.4.5 版本后可以自定义系统代理需要绕过的域名或IP

部分应用检测到系统代理会拒绝响应(例如网易云音乐uwp),此功能用于解决此类问题

设置方式
config.yaml

 
YAML
 
 
 
 

cfw-bypass类型为数组,item为需要绕过的域名或节点,支持通配符*

最后一行对应系统中“请勿将代理服务器用于本地(Intranet)地址”选项,请确保此项在最底部.

---------------------

An easy-to-use GUI for clash .

EasyClash

A configuration manager app about clash.

Support: Macos Intel, Macos M1, Win Donwload EasyClash

Preview

Add ProxyProvider

QA

sudo xattr -r -d com.apple.quarantine /Applications/EasyClash.app
# 1
sudo spctl --master-disable

# 2
系统偏好设置 > 安全性与隐私 > 任何来源.
from

https://github.com/lwd-temp/EasyClash

--------------------------------------------------------------------------------------------

A Clash GUI based on tauri. Supports Windows, macOS and Linux. 

Clash Verge

A Clash GUI based on tauri.

Features

  • Full clash config supported, Partial clash premium config supported.
  • Profiles management and enhancement (by yaml and Javascript). Doc
  • Simple UI and supports custom theme color.
  • Built-in support Clash.Meta core.
  • System proxy setting and guard.

Promotion

狗狗加速 —— 技术流机场 Doggygo VPN

  • High-performance overseas VPN, free trial, discounted packages, unlock streaming media, the world's first to support Hysteria protocol.
  • 高性能海外机场,免费试用,优惠套餐,解锁流媒体,全球首家支持 Hysteria 协议。
  • 使用 Clash Verge 专属邀请链接注册送 15 天,每天 1G 流量免费试用:https://panel.dg1.top/#/register?code=sFCDayZf

Install

Download from release. Supports Windows x64, Linux x86_64 and macOS 11+

Or you can build it yourself. Supports Windows, Linux and macOS 10.15+

Notes: If you could not start the app on Windows, please check that you have Webview2 installed.

FAQ

1. macOS "Clash Verge" is damaged and can't be opened

open the terminal and run sudo xattr -r -d com.apple.quarantine /Applications/Clash\ Verge.app

Development

You should install Rust and Nodejs, see here for more details. Then install Nodejs packages.

yarn install

Then download the clash binary... Or you can download it from clash premium release and rename it according to tauri config.

# force update to latest version
# yarn run check --force
yarn run check

Then run

yarn dev

# run it in another way if app instance exists
yarn dev:diff

Or you can build it

年近60的基努·里维斯真的过气了?

那个男人,终于又回来了。

新片扑街、流浪街头,年近60的他真的过气了?

没错。

基努·里维斯

他塑造的黑客,神秘、冷峻、充满力量,在全世界都掀起了基努·里维斯狂潮。

 

新片扑街、流浪街头,年近60的他真的过气了?

即便电影崩成这样,很多人还是毅然走进电影院。

原因无他——

那可是基努·里维斯啊!

一个凭一己之力,将全球审美统一的男人。

新片扑街、流浪街头,年近60的他真的过气了?
 

虽然,57岁的基努,胡子越留越长,头发也越来越向「流浪汉风」靠拢。

但他的受喜爱程度,比起当年只增不减。

在网友口中,他还是那个「让世界都配不上的男人」

新片扑街、流浪街头,年近60的他真的过气了?
 

今天就从头回溯一下基努的故事。

新片扑街、流浪街头,年近60的他真的过气了?

幸与不幸

基努,拥有一张天生为银幕而生的脸。

颜值巅峰,秒杀现在的一众好莱坞鲜肉,还被评为最性感男演员。

他是公认的全世界最受欢迎的好莱坞男明星。

新片扑街、流浪街头,年近60的他真的过气了?
 

成名之路,也谈不上坎坷。

16岁那年,凭借一个可口可乐广告,一脚踏入了娱乐圈。

新片扑街、流浪街头,年近60的他真的过气了?
 

跑过龙套,但不久。

入行后,接连跑了几个龙套,他慢慢意识到想当真正的演员,唯一去处只有好莱坞。

22岁那年,基努带着3000美元,开着自己买的第一辆车,勇闯好莱坞。

星光闪耀的好莱坞,从不缺少帅哥和怀抱梦想而来的年轻人。

但依然有一束灯光,打向了这张天赐的神颜。

仅仅度过了两年的龙套生涯后,他就凭借《危险关系》里扮演音乐教授唐斯尼一角,崭露头角。

新片扑街、流浪街头,年近60的他真的过气了?
 

从主角到闪耀的明星,一切来得毫不意外。

1991年,基努迎来了自我突破的转折点。

经典动作大片《生死时速》上映了。

新片扑街、流浪街头,年近60的他真的过气了?
 

当时30岁的基努,剪去长发,换成利落的寸头。

再加上高大的身材和矫健的身手,一举刷新了不少人对他过往的印象。

影迷被他的眼神迷晕。

「天神在基努眉宇之间」。

新片扑街、流浪街头,年近60的他真的过气了?
 

年轻人中也刮起了一股“基努风”,不少人纷纷模仿他剪了寸头。

就连女主角sandra bullock也在后来的采访中坦承,拍摄《生死时速》时,一度被基努吸引

新片扑街、流浪街头,年近60的他真的过气了?
 

这部影片既让基努完成了从喜剧少年到动作明星的转变,也让他首次跻身好莱坞一线。

而后的故事,你我都知道了。

红遍全球的《黑客帝国》系列上映。

而基努,也因此稳稳地站在了好莱坞金字塔之巅,成为当之无愧的一线巨星。

新片扑街、流浪街头,年近60的他真的过气了?
 

但,基努这一路,并没有看起来那般顺遂。

幸运的演艺生涯背后,是命运对他开过太多残酷的玩笑。

命运给了他天赐的神颜,也给了他动荡的童年。

1964年,基努出生于中东黎巴嫩。

“动荡”,是他童年生活的注解。

生父在他幼年时就因贩毒被捕,母亲为了谋生去做过一段时间的歌舞演员。

3岁时,父母离异,母亲便带着他和妹妹吉姆,从黎巴嫩搬到悉尼、纽约,最后在他六岁时定居多伦多。

期间,母亲又结过4次婚,但每段婚姻都以草草离异收场……

家庭生活的不幸,再加上不断迁居,小时候的基努是一个十足的「问题少年」。

他不仅因为调皮捣蛋多次转学,有一次还被学校开除,还患有阅读障碍。

不擅长学习的基努,很擅长运动,他的梦想是当冰球运动员。

但一次膝盖受伤,也彻底终结了他的职业球员之路。

新片扑街、流浪街头,年近60的他真的过气了?
 

基努这才转而从表演中寻找乐趣以及精神寄托。

一脚踏入娱乐圈后,光鲜也仅仅是表面。

命运给了基努名望,也给了他绝望。

事业不断攀升的一路,也是重要的人纷纷离他而去的一路。

但,就在他登上事业巅峰的时候,命运再次给他重击。

1999年,基努唯一公开承认过的女友珍妮弗塞姆,怀孕八个月后,发现女儿胎死腹中。

当时,有圈内人爆料是因为珍妮佛吸毒导致,基努未曾对此回应。

无论真相如何,两人的爱情都因为这一意外而变质,并最终分手,珍妮佛也似乎因为自责而患上抑郁症。

更令人唏嘘的是,就在女儿死去18个月后,年均29岁的珍妮弗塞姆在一场突如其来的车祸中丧生。

尽管她已经不再是他的女友,他仍然如亲人一般为她抬灵柩。

他在珍妮佛的讣告中,被称为「此生挚爱(the love of her life)。」

新片扑街、流浪街头,年近60的他真的过气了?
 

接连失去女儿和前女友,命运却还没有放过基努。

2003年,与他相依为命的妹妹患上白血病。

正处于事业上升期的基努毫不犹豫地选择暂停演艺事业,甚至为了专心照顾妹妹,在家里修了完善的病房。

好在最后在基努的照料下,妹妹的病情逐渐好转。

新片扑街、流浪街头,年近60的他真的过气了?
 

短短的10年间,基努接连接受了太多的打击。

挚友离世、女儿夭折、爱人离去、亲人病重......

新片扑街、流浪街头,年近60的他真的过气了?

“悲伤的基努”?

都说四十不惑。

但充满了打击的基努的40岁,似是经历了一段自我反省的消沉期。

光鲜亮丽的巨星人生,也好像滑入了另一条轨道。

至少表面看是这样——

他开始过上了「好莱坞流浪汉」的生活。

孤身一人在汽车旅馆住了4年;

一双鞋穿坏了用胶带捆几圈凑合;

新片扑街、流浪街头,年近60的他真的过气了?
 

当街啃披萨汉堡:

新片扑街、流浪街头,年近60的他真的过气了?
 

喝酒吃KFC,在街边席地而睡:

新片扑街、流浪街头,年近60的他真的过气了?
 

还和流浪汉一起畅谈人生:

新片扑街、流浪街头,年近60的他真的过气了?
 

最为著名的,就是他一个人坐在公园长凳上吃三明治的这张照片了。

他穿着旧旧的外套和牛仔裤,头发看起来很久没洗的样子。

面带忧郁地低着头,一副流浪汉般的落魄样:

新片扑街、流浪街头,年近60的他真的过气了?

 

一时间,「悲伤的基努」成了热门梗。

照片被拍下的那一天——

6月15日,甚至成为了“基努振作日”。

媒体似乎认定了,他的人生轨迹是从巨星到「好莱坞最凄惨男明星」

新片扑街、流浪街头,年近60的他真的过气了?
 

《太阳报》嘲笑他连续四天穿着同样的衣服。

「一个赚钱那么多的大明星,怎么是这副穷酸样?」

就连他在《寻找自我》中的剧照,都被不少媒体报道成:

「基努里维斯街头吃蛋糕,自己为自己过生日。」

新片扑街、流浪街头,年近60的他真的过气了?
 

再加上2019年一篇在《纽约客》发表的文章,动情讲述了基努几次痛失挚爱之人,仍然善待世界的故事。

以至于公众对他的同情、赞扬乃至崇拜,在互联网升华到了一个新高度。

于是,基努在网络上变成了一个「世界以痛吻我,我却报之以歌」的圣人。

“能生活在一个有基努·里维斯的世界,

是上天的恩赐”

“基努是全宇宙最棒的人类”。

“据说他的每一次微笑,

都让我们离世界和平更近一步”

是的,人们想象中,经历了这样的搓磨的基努,定是有倾吐不尽的悲伤的。

在这样的想象中,又在这样的表象下,一切似乎都说得通了。

但,如她姐前文所说。

以往大众不知道天赐的神颜和坦荡的星途背后,是怎样的动荡和绝望一般。

此时大众依然不知道,「悲伤的基努」,也不过是大众一厢情愿的猜测和想象。

基努不悲伤。

他曾N次作出回应说:

「感谢大家关心,但我不是一个悲伤的人。我很正常。」

穿着邋遢、在路边吃东西、住旅馆、坐地铁......

那些被过度解读的东西,不过是他简单随性的、真实的生活状态。

至于经常被拍到“落魄照”,他也颇有点无奈:

「我只是像正常人一样在吃东西而已。」

新片扑街、流浪街头,年近60的他真的过气了?
 

所谓的汽车旅馆,其实是洛杉矶有名的酒店,基努在那住了4年,纯粹就是图方便。

后来,因为喜欢的书和CD没地方放,就在朋友的建议下买了套房子。

是的,他并不悲伤。

然而,他也并不快乐。

2011 年,基努做客《鲁豫有约》,读了他亲手写的一首诗。

新片扑街、流浪街头,年近60的他真的过气了?
 

诗中,他用夸张到近乎滑稽的戏谑笔调,描绘了“悲伤”:

当悲伤的热水冲刷着孤寂的我时

只有迷茫的蜡烛和我作伴

当痛苦的肥皂洗净我的身体后

只有悔恨的泡沫在发间

我选择让自己完全晾干

这样就不用换毛巾

我的皮肤光滑到不需要乳液

同样我也不喜欢用面霜

当心情变灰暗

无法微笑或承受

我独自一人穿上真丝睡衣

静静躺在床上睡觉

当遭遇不幸时

让这段文字提醒着你

不会比我描述更惨的情况出现了

新片扑街、流浪街头,年近60的他真的过气了?
 

我们这才懂了。

一个人遭遇了接连的变故、不幸、打击……这种常人难以承受的痛之后,怎么会不悲伤呢?

只是,他在用自己的方式面对它。

让自己“晾干”,不用“毛巾”,也不用“面霜”。

穿上如若无物的“真丝睡衣”,静静地“躺着”。

任悲伤冲刷自己的身体,也任时间冲刷悲伤。

面对它,但也不刻意放大。

体会它,但不必反复咀嚼。

不逃避,也不干预。

用基努的话就是:

「我是个乐观主义者,通过完全的悲观主义来表现。」

新片扑街、流浪街头,年近60的他真的过气了?
 

他的不修边幅、放飞自我也解释得通了。

他只是在用自己的方式活着。

不刻意。

不刻意悲伤,也不刻意为了旁人的目光和注目捯饬得光鲜亮丽。

一切就往前流动就好了,总会有答案的。

新片扑街、流浪街头,年近60的他真的过气了?

“这个世界配不上的男人”

面对命运的不公,基努也曾感到愤懑:

「不幸的事总是没完没了。旁人以为我会淡忘悲伤,并且渐渐好起来,但事实并非如此。当至爱的亲友离你远去,你突然间变得形单影只。

我时常怀念自己和他们交集的生活,那些往事永在我心。我有时急了就想骂人,因为上帝对我太不公平了!」

但他没有去咒骂与憎恨这个世界,他选择了去改变这个世界。

他想让这个世界上,少一些如他一般不幸的人。

为此,他“四处散财”。

拍摄《黑客帝国》收入的70%,被他捐献给了治疗白血病的医院。

剩下的部分,他又为剧中给他当替身的12位演员,每个人都买了一台相对昂贵的哈雷摩托。

「虽然我们都一样的努力,但我的片酬比他们高太多。所以,机车只是一种谢意。」

后来,他还从《黑客帝国》三部曲获得的7000万英镑收入中拿出5000万英镑分给幕后人员

新片扑街、流浪街头,年近60的他真的过气了?
 

签《魔鬼代言人》合同时,为了让剧组有预算邀请到影帝阿尔·帕西诺加盟,他主动提出降低了片酬。

新片扑街、流浪街头,年近60的他真的过气了?

那些目光可及之处的不幸和不公,他试图多少能抹平一些。

金钱?

这恰恰是他最不关心的东西:

我现在的财富已经足够我活好几个世纪,不如把这些钱送给更需要的人。

新片扑街、流浪街头,年近60的他真的过气了?
 

他希望的,只是自己这一点努力,能多少抹平一些目光可及之处的不幸和不公。

当然,基努成为“这个世界配不上的男人”,不只是因为有钱和散财。

提起基努,人们说的更多的,是他的为人。

这个愿意用温柔来对抗恶意,用笑容来回应善意的男人,从不吝啬自己的夸奖和爱。

拿过奥斯卡最佳女配角的奥克塔维亚·斯宾塞曾讲过她和基努的故事。

那时她还没有名气,有天去试镜,结果半路车坏了,那辆车很久没有洗,特别脏,她又穿得破破烂烂,根本没有人愿意停下来帮忙。

最后主动过来帮她推车的,是骑着摩托车经过的基努·里维斯。

初次合作的演员想要尝试新方法去演技时,基努会鼓励他,去做吧,其他的都交给我。

新片扑街、流浪街头,年近60的他真的过气了?
 

因为是同僚?亦或是作秀?

但有数不清的普通网友,都曾讲述过自己在生活中和他的偶遇的故事。

他会照顾路边生活困难的人,为了显得更为礼貌些,深深地弯下腰。

新片扑街、流浪街头,年近60的他真的过气了?
 

他会在纽约地铁上为身旁的女士让座。

粉丝想要他的签名而不好意思开口,他即便手头没有纸,专程买个东西用收据签名后送给粉丝。

新片扑街、流浪街头,年近60的他真的过气了?

他会在遭遇飞机迫降后耐心安慰其他旅客,然后跟他们合影亲切地说再见。

新片扑街、流浪街头,年近60的他真的过气了?

无数这些偶然的、细枝末节的事件,拼凑出的是一个经历过磨难但依然美好的灵魂。

何其不幸,这样一个温暖的灵魂,走过了动荡的童年,经历过失去爱人的痛苦,也曾有过为死亡而焦虑的中年危机。

但又何其庆幸,庆幸这样的人依然没放弃生活,依然愿意去爱。

“敞开心扉去爱,可能会让你受伤,但如果不愿去爱,人生一定会少掉一大块。”

如今,这样一个“全世界都配不上的男人”身边,也终于有了一份新的温暖。

2019年,基努宣布了新的恋情。

这是他,第二个亲口承认的女友。

她叫格兰特,一个比基努小9岁的艺术家。

新片扑街、流浪街头,年近60的他真的过气了?
 

即使格兰特并不是好莱坞版本的“明星标配女伴”。

即使她并不年轻,也不是模特或者演员。

但,那本就不是基努在意的。

他在意的,只是灵魂上的契合和共振。

而自从有了新的恋情以来,基努的笑容明显越来越多。

新片扑街、流浪街头,年近60的他真的过气了?
 

真好。

祝福基努,祝福他们。

2019年做客《深夜秀》时,主持人向基努抛出了一个问题:

「你觉得我们死后会发生什么?」

基努思考了片刻答:

「我知道那些爱我们的人会一直思念我们。」

新片扑街、流浪街头,年近60的他真的过气了?
 

我想,这点放在基努身上没有人会怀疑。

毕竟,他值得.

from 易有料 - 智能信息流一站式服务平台 (yiyouliao.com)

张伦:从恒大危机看中国经济模式的悖论

在中国特色的市场经济中成长壮大的恒大,如今的危机是否仅仅是企业经营失策?眼前危机和它所置身的政策环境有何关系?我们电话采访了法国塞尔齐-蓬德瓦兹大学教授张伦先生。

 

张伦先生认为,恒大危机的出现有其结构性的因素。恒大眼前的危机是历史发展到一定阶段必然出现的情形。

张伦:"从整体来看,恒大危机的出现绝不是偶然。它有其结构性的因素。其实并不只是恒大一家的问题。如果看一下中国国内那些重量级的房地产企业,相当一部分,包括碧桂园,包括绿地等等,都开始出现很重要的问题。下一步会不会有其它重量级的房企发生与恒大类似的危机,我个人认为是非常有可能的。这是经济发展到了一定历史时期会发生的一些必然的情形。如果我们回头看中国这几十年的发展,房地产业扮演了非常关键的角色。即使是在最近一两年,尽管中央不断推出政策,比如三条红线、去杠杆,减少债务、提出"房住不炒"等等,但房地产业数据在中国经济中的占比仍然有至关重要的作用,它的直接贡献大概就有13% - 14%。加上上游产业的各种各样的贡献,占比可能达到16% - 17%。如果再加上其它,比如土地购置费等,房地产业整体对经济的贡献可能达到25% - 26%,也就是四分之一!中国政府相当一部分收入,30% - 40% 都与房地产有关,尤其是地方政府。这样一个产业结构,如果房地产出问题,对中国整体经济的冲击相当大。"

"为什么现在又不可能不出问题呢?我们不用做更系列的分析,就只看一点,看中国人口的下降趋势。房子太贵,没人买。买不起,就不想生孩子。而孩子越少,房地产就越有问题……而且,近几十年的发展之后,中国人均住房已经到了相当高的水准。同时,中国的收入结构又非常不合理。李克强总理去年就曾说:中国还有六亿人,平均月收入只有一千元……所以造成产业结构扭曲、投资结构不健全,等等,所有这些环环相扣。投资一直是中国经济增长的最重要的三驾马车之一。而30%,甚至50%的投资都与房地产有关。这样的结构完全是不合理的。"

"另外,居民没有正常的投资渠道,而通货膨胀,许多人因为要养老、教育等各方面的需要,必须要资产增值,但股市黑幕太多,也不振,入不敷出,就只好把钱投入到房地产。但这又拉高了房价,房价拉高又令许多购买者自我论证:买房保值……官方呢,它要经济增长,明知房地产危险,但必须维持房地产业的增长。所以我们看到政府一会儿控制,一会儿放。一会儿"限购",一会儿开放……就是希望以时间换空间,让这样一个带有骗局性的泡沫经济的格局能慢慢消化下去。中国家庭75%的财富都与房地产有关。所以,这样,问题就不仅仅是一个经济问题,而且也是政治问题。我认为,这一次,不管怎样,中国政府最后会想方设法让危机过去。即使损失惨重,也会让恒大危机,像海航一样,平安着地"。

"但是,中国经济本身结构不健全的问题、这个巨大的泡沫、财富病态似地疯狂增长,以及权贵结构,也包括很多普通人对财富的渴望、那种中国故事盲目的骄傲,等等,都造成了现在这样的局面。"

"这种泡沫性的状态,中国政府其实也清楚,这些年都希望改变这种方式,想看看能不能把它拉到新兴经济产业结构,用新经济,用高科技经济等来替换现有的发展模式。船大难掉头。但掉头已经不得不做。这个过程中,就充满了很多巨大的风险。恒大危机就是在这样的历史关头出现的。中国这条大船能不能成功掉头,那是另外一个问题。"

中国经济的一个悖论:政策介入性很强

法广:政府近期对房企定出三条红线,是想避免危机,但结果是导致了恒大濒临破产。政府是否是有意戳破泡沫呢?

张伦:政府是希望这个泡沫一点点瘪下去,争取时间,一点点把它消除掉。但是这牵扯一个结构性的问题……这是中国经济的一个悖论,政府的介入性非常强。政府的介入性造成的各种各样的扭曲极其庞大。一个健全的市场经济,本可以用市场来调节。市场也有可能失灵,然后再由政府出面。但中国情况是,政府本身就在其中介入很深,所以,推出政策的时候,有可能打击到整体结构性的因素。这不是一两个企业的事情。(政府介入)是中国的强势,但现在可能也是它的负面因素。一旦政策出台,有可能打击到整个产业。这就非常麻烦。

中国需要对整体发展模式做战略性的思考和调整

法广:中国政府近期连续推出一系列措施,引起包括海外投资人对中国经济走向的忧虑。比如收紧对高科技企业,尤其是高科技龙头企业的控制,还有取消补课补习班,提出共同富裕,等等。这些措施表面上看涉及不同领域,但是这些措施背后是否有一个共同的逻辑呢?

张伦:"基本上,我觉得是中国积攒下来的危机性因素太多,政府希望控制一下私有产业的增长,特别是对大型企业,不仅仅是针对房地产企业,也不止是针对像阿里巴巴这样的信息巨头,也包括教育等其它领域。从中可以看出背后(动机)是希望处理一些结构性的问题,让结构更合理些,走向以高科技产业为主的模式,创造内需,促进消费增长,让收益更平等,等等。所有这些措施都有这些考虑在其中。但问题是中国缺乏基本的整体制度架构,比如尊重产权,按照法律,合理地处理各种各样的不恰当的企业发展问题,等等。(政府)完全是通过权力杠杆处理一切问题,这里就有很大的风险。比如提倡共同富裕,就要打击重要的企业家。当然,这些年,资本过度扩张,带来许多问题,比如财富不均,这毫无疑义需要调整。包括对大企业,要怎样适当地反垄断,这都是可以讨论的,也有一定的合理性。但是,这样不分青红皂白地动用权力,今天是座上宾,第二天就可以下一道指令,甚至动用纪委等插手经济……这种命令经济、计划经济的方式,一定会伤及到中国的财富创造。把企业家都打垮后的那一天,中国不会得来共同富裕,而很可能是共同贫困。"

"中国应该走向:凯撒的归凯撒,上帝的归上帝。中国要完成一些政治方面的调整,就是说政府参与经济、管理经济方式也要现代化,要用法律的方式,用尊重产权的方式,才可行。过去这些年,由于是野生放养,这虽然保证了一定的自由空间,造成了一些企业急剧增长,但这其中也有与官方的权贵结盟,造成一些企业完全不可思议的壮大。比如海航集团,恒大一定也有类似的问题。海航在几年内就窜发成一个庞大的企业,谁也不清楚它的产业到底是什么、什么道理成就了它的成长。这背后当然有权钱交易支撑着。结果是,尾大不掉,出现很多问题,给国家造成损失,让社会、让普通的投资者遭受损失的时候,为了政治稳定,政府又不得不回过头来杀这些企业……以中国现在的政治结构,这个悖论是无解的。必须对这种结构加以调整,中国的经济才可能走向正常。"

"中国如今走到一个阶段,要对整个经济发展、对中国模式整体做战略性的思考,和根本性的调整。这样,这个国家,这个民族才可能有未来。"

法广:但是,从近些年的发展趋势来看,政治政策对经济的干预是越来越多,而不是越来越少。如今面对危机,您觉得政府会在这个方面做出改变么?

张伦:"不会的。政策的介入恐怕是今后一段时期的基本趋势。这种趋势也一定会伤及中国的经济发展。现在恒大危机来了,它当然会动用国家所有力量,把各种各样结构性的问题,暂时平稳住,不要引发整个经济崩盘和社会动荡。但是,要知道,这些不解决根本问题。对根本问题,该开刀的,得开刀,该切除的,得切除,才能解决问题。但我们看不到中国政府显示出这样的姿态,更多是在使用毛时代的一些方式、用权力来应对现在的危机。但这种方式可能会埋下更多的危机。我们只能希望中共领导人能有些前瞻性,能从根本上解决结构性问题。但是从中国政治现在这种状态,从习(近平)所展示的这种毛式的管理思想来看,我不敢乐观。"

顏純鈎 | 四大皆失:中樞失智,中共失信,經濟失衡,社會失序

 

 
因為限電,全中國陷入一片黑暗之中,民眾苦不堪言,官府束手無策,在中共建黨百年的「偉大」時刻,中國人要過一個黑麻麻的「國慶節」。
窘境不自今日始,自習近平上台以來,形勢就急轉直下。「四大自信」言猶在耳,各種麻煩已接踵而至,「東升西降」成政治鴉片,「中國解決方案」解決不了自身難題,到今日,舉國上下面臨有史以來最不堪的停電災難,局勢之不堪,令人海內外譁然。
中樞失智,官府失信,經濟失衡,社會失序,今日幾成常態。「四大自信」被「四大失常」取代,「盛世中國」呈現一種不祥的末日景象。
習近平志大才疏,自掌權以來抓權濫權,內鬥內行,外鬥外行,要威反倒跌價,因小時時失大,內政外交措施政策全無章法,互相打架,自亂陣腳。外部環境惡劣,本應持盈保泰,以退為進,他卻打擊私企,製造失業,為內循環挖坑;出口形勢轉好,他卻以暴力控疫窒息港口,堵塞貨運;制裁澳洲動力煤的出口,致使電力供應緊張,風頭火勢下,他加碼環保使問題雪上加霜;形勢不妙,正需上下同心,他卻大力整肅官場,搞到官不聊生。
習近平總是在做一些跟·自己過不去的傻事,中樞失智說的是他
中共失信於人已惡名昭著。中英聯合聲明公然撕毀,簽署人權條約永不算數,打貪用來清除政敵,扶貧一貫自吹造假。中國模式原來是剝奪人民的自由和權利,執政為民原來是打壓民間訴求。社會有問題不是解決問題,是解決提出問題的人,說好了的共產主義美妙遠景,落到實處是各級政府的暴力維穩。
經濟是一個宏觀大系統,應保證各種因素平衡運行,牽一髮而動全身,一著錯滿盤皆落索。習近平的政策是吹無定向風,每日一個花樣,想到什麼做什麼,拆了東墻補西墻,前後政策互相打架,互相抵銷。經濟下行擔心失業,他卻打擊私企奪人飯碗;經濟萎縮廠商撤離,他又全國限電令外資寒心;凡事算政治帳,不算經濟帳
經濟低速成長,只要整體平衡並無大礙,最糟糕是失去平衡,東倒西歪,漏洞百出,火頭四起,政府欲救無從,焦頭爛額。
政治第一,維穩第二,軍事第三,外交第四,民生不知排到第幾,民間生活日下。政治大倒退,民眾對前景悲觀,政府搜刮民脂民膏,人民財富大縮水,失業減薪潮席捲全國,消費力損耗大半,假話洗腦,真相掩蓋,是非顛倒,黑白混淆,民間思想混亂,無所適從。
民間生活失序,表現在官府與民間矛盾積壓,衝突激化。社會問題叢生,而政府國庫空虛,民怨不能用錢彈壓,只有暴力維持統治,連教師、醫生都在討薪了,形勢惡劣可想而知。
偌大中國在混亂中,政府毫無頭緒。麻煩太多,撕解不開,舊的未去,新的又來,內外困局互相交織,中央與地方矛盾頻生。西方國家大軍壓境,內部軍心民心都不穩,習近平還在做一代梟雄之美夢,李克強卻憔悴困頓一臉愁容。
最大的問題不是困難,困難再大大不過文革後的政經危局。如果上下一心,內外兼濟,困難只是暫時的,是可以克服的。改革開放四十餘年,哪一步不是在困難中走過?當年長江水災﹑汶川地震,亞洲金融風暴﹑美國經濟危機,南斯拉夫大使館被炸,中美戰機互撞,都一度苦不堪言,但全局基調仍向好,難關都會過去。
今日最大的問題,恰恰是中共鬼迷心竅,重回社會主義死路,只顧一黨專政江山存廢,不顧十三億人民的生死禍福。當年改革開放,中共與中國人的利益一致,今日閉關鎖國暴力專政,黨的意志與民心背道而馳
得人心者得天下,失人心者失天下,這是千古不易之至理,沒有什麼比得人心更重要,也沒有什麼比失人心更致命。中共一意孤行,以洗腦與暴力二手維持統治,今日執政基礎動搖,向前無路,後退絕境,中共的路已經走不下去了
流亡海外的原中共中央黨校教授蔡霞,近日提醒美國政府,要為中共的垮台做準備,海外不少評論者,也越來越把中共垮台視為一種可預見的未來。當很多人都認為某件事會發生時,這件事就極有可能發生。
從前習慣說,我們這一代看不到中共垮台了,看來這種說法需要修正了。
 

何清涟:中国开征房地产税, 保值品变为消费品

关于中国的房地产市场,最近民众关注的是各地的限购令导致房价下挫。为何关注?原因其实也非常简单:因为政府征收房地产税还未正式成行,中国人的房产主要是保值的投资品,而不是消费品。中国民众的家庭财富约70%体现为房产,房价下跌,意味着家庭帐面资产缩水。但是,这只是中国人财富梦缩水的一方面。一旦房产税开征,平均意义上来说,中国家庭视其所居城市的房产价格,将为房产这一消费品交纳出约三分之一到四分之一的年收入。

要理解这种情况,先得从中国房地产的特殊性说起。

中国房地产让利益相关者形成奇特的利益捆绑

世界上没有一个国家的房地产市场将政府、银行与房地产所有者捆绑在一起,形成了一个利益共同体,唯有中国做到了。

多年前,中国政府声称要经济结构转型。这个转型本来就包含着不再以房地产为龙头拉动整个经济,但不仅没做到,反而对房地产的依赖度越来越高。

这原因我详细解释过,在此长话短说:

首位原因是中国地方政府的土地财政依赖度。(土地财政依赖度=城市土地出让金/城市一般性财政收入×100%)。

其次,中国的房地产已经成为中国央行的货币储水池。用信贷支撑房地产市场,已成为中国政府的经济维稳之道。这种方式最恶劣的后果是通胀。但通胀的过程只是一个稀释社会财富的过程,没有外来军事威胁与内部难以压制的反抗,并不会直接导致政权垮台,比如津巴布韦的恶性通胀比中国要高不知多少倍,但也没有导致政权垮台。

第三是中国人家庭财富中的主要部分是房地产。2020年中国央行报告称:城镇居民家庭资产当中,房产占比超七成。

中国的房地产市场早就是个政府做庄家的庞氏骗局。五年以前,还有些专家建议政府要想办法为房市降温,控制房价。这些专家是从长远考虑,从市场角度考虑,但他们的考虑重点显然与中国政府不同,当局考虑的是政府的钱袋,要保持钱袋饱满,就得玩庞氏骗局。在美国,庞氏骗局破产,那是因为玩家、银行与政府(裁判)是利益不同的三家人。而中国不一样,裁判是中央政府,庄家是央行,大玩家是地方政府。地方政府要卖地,就得有小玩家愿意借贷买房,源源不断入局。加之中国政府早就发明了一整套控制市场的方法,比如限购、限售、限价,想用哪种就用哪种。一个政府兼做庄家、裁判及卖地大玩家的市场,泡沫可以吹得比当年的日本与美国大,其回旋余地也比他们大。

中国房地产早已成为中央政府与居民的货币储水池,成为地方政府的提款机。在无须为房产作为消费品付税的情况下,其投资保值品让房产拥有者的家庭帐面资产看起来很富有,不少家庭都是千万富翁。

但中国人这样计算家庭财富,其实更多的是心理上的自我安慰,为何这样说?一是世界各国(也许北韩、古巴等除外)都开征房产税,中国政府绝对不会让自己成为这一惯例中的例外;二是如果是自住房,变现的可能性小,因为你卖了后得去租房住,这房产与其说是财富,不如说主要是家庭的消费品;三是父母一代想将房产做为遗产留给后代,节节看涨的遗产税需要后代有足够的承受力。

1%房产税将成为城市中产的重负

今年5月11日,财政部、全国人大常委会预算工委、住房城乡建设部、税务总局负责人在京主持召开房地产税改革试点工作座谈会,听取部分城市政府主管官员及部分专家学者对房地产税改革试点工作的看法。

这条消息出来后,中国舆论认为,房地产税即将开征。但舆论关心的焦点竟然是房价,而不是房地产税将成为中国城镇居民不轻松的负担。

房地产税是地方税种,由各地政府根据当地情况征收。但不管如何征收,中国城市居民的年收入水平摆在那里。第一财经今年4月14日刊发一篇《中国2020年全国40个城市居民人均收入》,该文显示,2020年,中国40个城市中有7个城市人均收入超过6万元,分别是上海、北京、深圳、广州、苏州、杭州和南京,其中有四个一线城市以及苏州、杭州、南京这三大来自长三角的新一线城市。这7个城市的GDP总量均位居中国城市GDP前十名。

以上海为例,人均可支配年收入为72232元,目前市区二手房价格在6-10万元每平米之间,一套80平方米的房子,至少450万-800万。房地产税率如果按照市场价格,那就是一家三人当中两人工作,年收入15万,得付5万房地产税,几乎是家庭年收入的三分之一。再以南京为例,个人年收入为60606万元,目前市区二手房价格为35400-47700之间,一套80平方米的住房,房价在283-381万,家庭年收入12万余,至少得付四分之一以上——两地的房地产税估算,均是按照最低限度的房价与人均年收入,实际征收应高于此数。

美国“开国三杰”之一的本杰明·富兰克林曾说过一句名言:“在这个世界上,只有死亡和税收无法逃避。”有心的读者可以按照自己家庭年收入与房产价格做一估算,就明白自己将为房产这一消费品付多少“消费税”了。此外,还得预期房地产税会逐年调高,而房价政府也会按照有利于政府的方式调整。中国媒体只谈房地产税对房价的影响,那是宣传口径规定它们只能如此,但中国公众如果这时还只关心房价而对房地产税抱侥幸心理,不做未来的家计预算,以为房产越多越好,那是对自己的钱袋不负责任。

使用tinc替代OpenVPN作为路由器自动翻墙方案

多年前发现了autoddvpn项目以后,从之前使用dd-wrt到现在用Tomato,都是把这套没人维护的代码不断的修修补补地放到路由上面用。虽然有一些其他搭梯子的方案,但是用OpenVPN加上自定义的routes,用起来感觉是最干净的,所有的用户都不需要在自己的电脑中设置,连接这个路由器的网络就可以自动爬梯了。

不过随着最近GFW越来越强大,它的Advanced DPI对普通的OpenVPN连接会进行干扰,导致使用一段时间就断开,或者干脆就连不上。按照我一贯的作风(懒),装个stunnel以后,把OpenVPN以TCP模式通过stunnel连接也将就用着了。

然后慢慢地发现,在吞吐量高的情况下,通过OpenVPN的所有流量,延迟都会变成非常高(4000ms+),要是看YouTube 1080p的话,别说开其他网页,能不buffering就不错了。OpenVPN用TCP的性能本来就没有UDP的好,加上一层stunnel,性能就更加不要提了。而且stunnel和OpenVPN全部都在路由器上面跑,除非你的是RT-AC68U、R7000这样的ARM路由,否则性能也就别想好到什么地方去了。

也因为这个原因,每当打开Google+各种卡的时候,我都会很自然地打开Chrome寻找替代方案……直到最近,我遇见了tinc

其实之前也已经看到过关于tinc的一些介绍,但是总觉得挺麻烦的,许多东西都要自己手动去配置(其实还是懒……)。但是实在忍无可忍了,既然决定折腾,那么就动手吧~

经过无数次trial and error,以及在网上参考了一些资料以及tinc的mail list以后,最终成功搭起来了!然后我把我用的脚本以及配置上传到了GitHub

  

虽然tinc支持IPv4 and IPv6,但是由于IPv6现在还比较少用的,所以这里就只针对IPv4了。

下面来简单说一下整个过程(以Tomato为例,其他平台配置应该也相似):

Prerequisites

  1. 首先你得有一个不在GFW里的服务器。我用的是Linode东京的VPS,系统使用Arch Linux。最便宜的套餐$10一个月,一次性购买一年/两年有打折~ 购买链接
  2. 你需要在路由上安装tinc。这意味着你需要现在路由上部署Optware/Entware。本文使用Entware为例。
  3. The ability to RTFM and follow instructions.

服务器端配置

i. Enable IPv4 Forwarding in sysctl.conf

首先,你必须把服务器的IPv4转发打开。在大多数Linux发行版中,这个选项默认是关闭的。

在Arch Linux中,你需要在/etc/sysctl.d/中新建一个文件(例如50-ip_forward.conf)来让这个设置在启动时自动生效。

在Debian/Ubuntu等系统中,你需要在/etc/sysctl.conf中添加net.ipv4.ip_forward=1来让这个设置在启动时自动生效。

CentOS的话……请自行Google,真没什么使用经验。

ii. 安装tinc

我使用的是Arch Linux的community中的tinc,版本为1.0.24-2。AUR中有一个tinc-pre,版本为1.1pre10,这个版本不建议使用,它使用新的experimental协议,配置上会有出入,而且据闻性能没有原来的版本好。

在Debian/Ubuntu中则是

iii. 配置tinc

Arch Linux:

tinc在安装后不会自动在/etc目录下建立文件夹,我们要手动建立:

这里面的server是你的NETNAME,这个名字将用于后面启用服务时使用。
hosts文件夹用于存放每个host的信息,后面会讲到。

写入配置文件:

(a) tinc.conf的内容

当中Name的值server为本机(服务器端)的名称。记住你的名称,在后面还会用到。

(b) tinc-up的内容

我使用的网段是192.168.4.0/24,你可以根据自己的需要对这个进行更改。记得把其他地方的subnet也改掉哦!最后的iptables规则中,第三条的eth0是你的VPS面向公网的网卡。

(c) tinc-down的内容

同样,根据需要修改subnet,必须与tinc-up中的保持一致。

(d) hosts/server的内容

在这里,server这个文件名必须对应前面在tinc.conf中设置的Name参数的值。tinc会根据Name去匹配hosts目录下的配置文件。

需要填写的配置文件只有这四个。完成以后,生成private key:

这样会生成一个4096 bit的私钥,生成的密钥保存在默认路径即可。-n参数后面的server为你的NETNAME,即/etc/tinc/serverserver部分。

Debian/Ubuntu

配置的过程基本相同,但是因为手上没有Debian/Ubuntu的机器,也懒得整VM,所以不能保证正确性。

根据Ubuntu的manpage,Debian/Ubuntu上的tinc所使用的config结构与Arch Linux不同:tincd将直接读取/etc/tinc中的内容,无需指定NETNAME。即:

服务器端的配置暂时告一段落。

客户端(路由器)配置

这里我仅以Tomato + Entware为例。使用其他平台的配置应该大同小异,请自行摸索。

路由器默认你已刷Tomato固件,并且配置Entware环境。具体操作不在此介绍,请自行Google。

文中Entware安装路径为默认的/opt

i. 安装tinc

使用Entware的opkg工具安装tinc以及git

完成安装后,git可能需要进行额外配置,步骤不在此细述。

ii. 配置tinc

安装完成后,从GitHub上将脚本clone下来:

执行配置脚本setup.sh(随手写的,有bug请大喊)

客户端的配置暂告一段落。

交换公钥

完成两边的配置以后,需要把生成的公钥放到另外的节点上。如果你是一直按照本文的设置进行的话,那么:

服务器端公钥位于:

Arch Linux

Debian/Ubuntu

客户端公钥位于:

tinc的公钥,当中实际上还包括对应节点的连接信息。例如,在/etc/tinc/server/hosts/server中:

这代表tincd将会在YOUR.IP.ADDRESS655端口上监听,允许来自0.0.0.0/0子网的用户。

/etc/tinc/hosts/client中:

则表示该节点被分配到的子网为192.168.4.2/32。从这里其实可以看出,tinc支持将一个Subnet分配给一个节点,让该节点通过DHCP或者static routing的方式来对整个VPN进行访问。但是我们只是用于简单的routing作gateway,因此分配一个地址就足够了。

那么,交换公钥这个动作就如字面所说的一样了。将服务器端的/etc/tinc/server/hosts/server放到客户端(路由器)的/opt/etc/tinc/hosts下;再将客户端的/opt/etc/tinc/hosts/client放到服务器端的/etc/tinc/server/hosts下。

这样,两边通过读取tinc.conf中的Name来决定自己的身份,客户端通过其中的ConnectTo参数来决定连接的节点,然后再通过hosts中的公钥和各自的私钥来进行身份的验证,最后建立连接。

tinc服务自启动

其实都比较简单:

服务器端:

Arch Linux

注意@后面的server是你的NETNAME,即/etc/tinc/serverserver部分。

Debian/Ubuntu

客户端(路由器):

Tomato的网页GUI中,找到Administration -> Scripts -> WAN Up,填入:

大功告成!

PS: GitHub上我放的脚本其实跟autoddvpn的非常相似,基本上只是把OpenVPN换成了tinc而已。在GitHub的README中,我会简单说明里面各个文件的用途。另外,如果你需要配置多于一个客户端,你只需要把客户端的Subnet地址(即上文中的192.168.4.2)换一下,重新生成private key,和服务器端再交换一下公钥就可以了。

from 

Replacing OpenVPN with tinc on Tomato/OpenWRT/dd-wrt for bypassing GFW // 使用tinc替代OpenVPN作为路由器自动翻墙方案 | this is my place.