• 主页
  • 系列总集
  • OpenCV
  • CMake
  • iOS
  • Java
  • 前端
所有文章 关于我

  • 主页
  • 系列总集
  • OpenCV
  • CMake
  • iOS
  • Java
  • 前端

MacOS 10.11 如何在命令行下使用Shadowsocks

2016-08-09

ShadowsocksX

Mac 中有个软件叫ShadowsocksX十分好用,但是有个问题比较坑爹就是命令行下无法使用,即使开了全局模式也不行

该文章在10.12.2的系统里已经失效,请参考MacOS 10.12 终端命令行下使用Shadowsocks

使用proxychains-ng无效

在以往多很多教程里都推荐使用proxychains-ng在命令行里做代理,从而达到科学上网的效果,但是在Mac 10.11之后Apple 推出了一个叫 System Integrity Protection 的功能,会导致代理失效

好多解决方式是进入Recovery模式下关掉这个安全措施

  1. 如果是使用 brew install proxychains-ng 安装的话,由于没有写入权限,必须暂时关闭 SIP,安装成功之后再打开 SIP
  2. 进入 Recovery 模式,在终端执行 csrutil disable,禁止 SIP
  3. 安装完成后再次进入 Recovery 执行 csrutil enable

但是这个方法总感觉有点坑爹

正确的姿势使用Proxifier

Mac中还有可以根据App设置代理的软件叫Proxifier,去网上下个可用版本然后进行如下配置

添加本地端口1080的代理,因为ShadowsocksX启动的Shadowsocks服务在此端口

Figure01

对需要走Shadowsocks的Application让其使用上一步1080端口的代理,然后让ShadowsocksX本身走Direct直接链接

Figure02

然后在DNS里配置强制远程解析DNS (这点很重要!!一定要改)

Figure03

为什么要让ShadowsocksX本身Direct

如上图所示我们锁死了 Google Photos Backup 和 Terminal 这两个应用走1080端口是没问题,如果不对App加以限制的时候,就回造成任何流量都走1080端口,会造成死锁

1
2
3

任意流量转发至1080 ====> ShadowsocksX接收到任意流量 ====> ShadowsocksX向外发出流量(这个也属于任意流量) ====> 再次转发到1080端口

软件本身在出现这种情况的时候也会提示你进行添加

赏

请问老板还招人么(/ω\)

支付宝
微信
  • Terminal
  • FireWall
  • Tips

扫一扫,分享到微信

微信分享二维码
Java工程需要写gitignore文件
JSP中静态资源寻址问题
© 2021 Alan Li
Hexo Theme Yilia by Litten
  • 所有文章
  • 关于我

tag:

  • iOS
  • Java
  • Collection
  • Python
  • Shell
  • CMake
  • Memory
  • JavaScript
  • Architecture
  • AnchorPoint
  • Android
  • Web
  • Annotation
  • AFNetworking
  • Window
  • ViewController
  • AutoLayout
  • Dozer
  • CoreAnimation
  • Cycle Retain
  • Block
  • UI
  • IDE
  • FrontEnd
  • CSS
  • Category
  • TableViewCell
  • Security
  • Net
  • JSP
  • Spring
  • C
  • MyBatis
  • Date
  • React
  • GCD
  • UITouch
  • Gesture
  • UIControl
  • Git
  • HTML
  • HTTPS
  • HTTP
  • Servlet
  • Server
  • DataBase
  • MySQL
  • Linux
  • Tutorial
  • Ajax
  • Type
  • JQuery
  • JSON
  • Exception
  • Parameter
  • Reflect
  • Thread
  • Sort
  • KVO
  • MKMapKit
  • Overlay
  • Maven
  • Configure
  • Tips
  • Transaction
  • Swift
  • NavigationBar
  • Nginx
  • Runtime
  • OpenCV
  • Property
  • Playground
  • Protocol
  • Redux
  • ScrollView
  • Session
  • Cookie
  • Shiro
  • Error
  • Singleton
  • RegEx
  • StackView
  • StatusBar
  • Base64
  • Socket
  • TCP
  • IP
  • TextField
  • CALayer
  • UILabel
  • View
  • Animation
  • Xcode
  • Hexo
  • Terminal
  • OC
  • Device
  • Log
  • Image
  • JUnit
  • Oval
  • Archive
  • XSS
  • Compiler
  • Aspect
  • Responder
  • Class
  • FireWall
  • RetainCount
  • Const
  • Frame
  • String
  • Symbols
  • Framework
  • CocoaPods
  • Unity
  • Message
  • Button
  • AuthorizationStatus
  • Struct
  • XCTest
  • NSNotification
  • Contact

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

我写的,大概率是错的。。。。。