GithubHelp home page GithubHelp logo

hexstore / qubes-proxy Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 1.0 24 KB

集成通用代理工具(sing-box)在Qubes OS | mirror of https://git.sr.ht/~qubes/proxy

License: GNU General Public License v3.0

Shell 100.00%
networking proxy qubes-os shadowsocks singbox v2ray vpn xray

qubes-proxy's Introduction

Qubes Proxy

这是一个在Qubes OS中安装代理网络工具(sing-box)的方案,旨在帮助Qubes OS用户在严重网络审查环境下突破封锁,让Qubes OS拥有连接Tor网络的能力。

该项目主仓库在sourcehut上,并镜像在GitHub

工作原理

它基于Qubes OS的隔离机制,提供一个网络服务盒子,巧妙的利用了Qubes OS的全局DNS IP(10.139.1.1和10.139.1.2)作为tun设备的IP,并让流量经过它,为其它应用或服务盒子提供代理网络。

使用场景

它可以工作在这些场景下,也许您有自己的方案!

  • sys-net <- sys-firewall <- sys-proxy <- AppVM(s)
  • sys-net <- sys-proxy <- sys-firewall <- AppVM(s)

前提条件

  • Qubes OS
  • 代理服务帐号

安装

这里创建一个代理盒子,它被命名为sys-proxy,然后从GitHub下载sing-box的二进制文件。

[user@dom0 ~]$ qvm-create sys-proxy --class AppVM --label blue
[user@dom0 ~]$ qvm-prefs sys-proxy provides_network true
[user@dom0 ~]$ qvm-prefs sys-proxy autostart true
[user@dom0 ~]$ qvm-prefs sys-proxy memory 500
[user@dom0 ~]$ qvm-prefs sys-proxy maxmem 500

接下来将安装sing-box到/rw/usrlocal/bin目录,配置文件sing-box.json被安装到/rw/bind-dirs/etc/sing-box目录, 守护运行配置文件sing-box.service被安装到/rw/bind-dirs/etc/systemd/system目录。

完成安装之后,您需要更改/rw/bind-dirs/etc/sing-box.json中的outbounds为自己的代理服务, 更多配置信息请参照sing-box configuration

[user@dom0 ~]$ qvm-start sys-proxy
[user@dom0 ~]$ qrexec-client -W -d sys-proxy user:'sh <(curl --proto "=https" -tlsv1.2 -SfL https://git.sr.ht/~qubes/proxy/blob/main/install.sh)'

来到这一步,将要重启sys-proxy盒子。

[user@dom0 ~]$ qvm-shutdown --wait sys-proxy
[user@dom0 ~]$ qvm-start sys-proxy

确认sys-proxy盒子确认代理服务的运行状态。

[user@dom0 ~]$ qrexec-client -W -d sys-proxy root:'journalctl -ft sing-box'

最后,将应用或服务盒子的netvm配置为sys-proxy,以下示例将sys-whonix的网络配置为sys-proxy,即sys-proxy作为sys-whonix前置代理。

[user@dom0 ~]$ qvm-prefs sys-whonix netvm sys-proxy

贡献

您在使用这个项目的过程中发现任何问题或疑问,可以随时创建ticket,我们将会尽快解答。另外,您有任何改进方案,欢迎提交一个patch

相关

qubes-proxy's People

Stargazers

 avatar  avatar  avatar  avatar

Forkers

winrec

qubes-proxy's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.