Configuration 您将如何使用nixpkgs(非守护程序安装,macOS Catalina)为openconnect和vpn片配置派生或覆盖?
我最近开始使用nix包管理器作为(非守护进程) 我想知道如何配置openconnect,最好是使用vpnc脚本替换,以便轻松安全地进行拆分隧道 我可以看到的默认nix包配置。我假设我想使用类似的东西,比如和/或。(到目前为止,我还不清楚这两者之间的区别,也不清楚何时会使用其中一种。) 尽管如此,我试图找出如何配置nix的步骤自然是:Configuration 您将如何使用nixpkgs(非守护程序安装,macOS Catalina)为openconnect和vpn片配置派生或覆盖?,configuration,macos-catalina,nix,tunneling,openconnect,Configuration,Macos Catalina,Nix,Tunneling,Openconnect,我最近开始使用nix包管理器作为(非守护进程) 我想知道如何配置openconnect,最好是使用vpnc脚本替换,以便轻松安全地进行拆分隧道 我可以看到的默认nix包配置。我假设我想使用类似的东西,比如和/或。(到目前为止,我还不清楚这两者之间的区别,也不清楚何时会使用其中一种。) 尽管如此,我试图找出如何配置nix的步骤自然是: 基本二进制安装(覆盖/覆盖/派生) 配置特定vpn连接 启动(提示输入密码和辅助otp通行证) 停止 理想情况下,集成会很好。e、 例如,我发现一个好的选择是创建一
理想情况下,集成会很好。e、 例如,我发现一个好的选择是创建一个 例如:
与导入{};
使用pkgs.python37软件包;
让
python=python37;
openconnect=pkgs.openconnect.overrideAttrs(oldAttrs:rec{
buildInputs=oldAttrs.buildInputs++[libproxy];
configureFlags=oldAttrs.configureFlags++[“--带libproxy”];
});
vpn slice=buildPythonPackage rec{
name=“vpn切片”;
version=“v0.13”;
src=pkgs.fetchFromGitHub{
所有者=“德兰斯基”;
repo=“${name}”;
rev=“${version}”;
sha256=“1ibrwal80z27c2mh9hx85idmzilx6cpcmgc15z3lyz57bz0krigb”;
};
propagatedBuildInputs=[setproctitle];
元={
主页=”https://github.com/dlenski/vpn-slice";
description=“vpnc脚本替换,用于轻松安全的拆分隧道VPN设置”;
license=stdenv.lib.licenses.gpl3Plus;
维护者=有维护者;[dlenski];
};
};
在mkShell中{
name=“vpn环境”;
buildInputs=[vpn切片openconnect libproxy];
壳钩=“”
echo“准备好切片您的vpn!”
'';
}
然后,您可以通过脚本执行openconnect:
#!/usr/bin/env nix-shell
#! nix-shell vpn-wrapper.nix -i bash
OPENCONNECT=$(which openconnect)
VPNSLICE=$(which vpn-slice)
USERNAME=$1
$OPENCONNECT --libproxy --passwd-on-stdin --user=“$USERNAME” -s $VPNSCLICE ...
可以找到一个更扩展的示例(wip)