Skip to content

Commit adc70ce

Browse files
nixos/byedpi: init (#435882)
2 parents cb4f1bd + cf9404b commit adc70ce

File tree

4 files changed

+62
-0
lines changed

4 files changed

+62
-0
lines changed

maintainers/maintainer-list.nix

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27636,6 +27636,12 @@
2763627636
githubId = 25372613;
2763727637
name = "Woze Parrot";
2763827638
};
27639+
wozrer = {
27640+
name = "wozrer";
27641+
email = "[email protected]";
27642+
github = "wrrrzr";
27643+
githubId = 161970349;
27644+
};
2763927645
wr0belj = {
2764027646
name = "Jakub Wróbel";
2764127647
email = "[email protected]";

nixos/doc/manual/release-notes/rl-2511.section.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
2020

21+
- [byedpi](https://github.com/hufrea/byedpi), a DPI bypass service. Available as [services.byedpi](#opt-services.byedpi.enable).
22+
2123
- [Overseerr](https://overseerr.dev), a request management and media discovery tool for the Plex ecosystem. Available as [services.overseerr](#opt-services.overseerr.enable).
2224

2325
- [gtklock](https://github.com/jovanlanik/gtklock), a GTK-based lockscreen for Wayland. Available as [programs.gtklock](#opt-programs.gtklock.enable).

nixos/modules/module-list.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,7 @@
10941094
./services/networking/bitlbee.nix
10951095
./services/networking/blockbook-frontend.nix
10961096
./services/networking/blocky.nix
1097+
./services/networking/byedpi.nix
10971098
./services/networking/cato-client.nix
10981099
./services/networking/centrifugo.nix
10991100
./services/networking/cgit.nix
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
lib,
3+
config,
4+
pkgs,
5+
...
6+
}:
7+
8+
let
9+
cfg = config.services.byedpi;
10+
in
11+
{
12+
options.services.byedpi = {
13+
enable = lib.mkEnableOption "the ByeDPI service";
14+
package = lib.mkPackageOption pkgs "byedpi" { };
15+
extraArgs = lib.mkOption {
16+
type = with lib.types; listOf str;
17+
default = [ ];
18+
example = [
19+
"--split"
20+
"1"
21+
"--disorder"
22+
"3+s"
23+
"--mod-http=h,d"
24+
"--auto=torst"
25+
"--tlsrec"
26+
"1+s"
27+
];
28+
description = "Extra command line arguments.";
29+
};
30+
};
31+
config = lib.mkIf cfg.enable {
32+
systemd.services.byedpi = {
33+
description = "ByeDPI";
34+
wantedBy = [ "default.target" ];
35+
wants = [ "network-online.target" ];
36+
after = [
37+
"network-online.target"
38+
"nss-lookup.target"
39+
];
40+
serviceConfig = {
41+
ExecStart = lib.escapeShellArgs ([ (lib.getExe cfg.package) ] ++ cfg.extraArgs);
42+
NoNewPrivileges = "yes";
43+
StandardOutput = "null";
44+
StandardError = "journal";
45+
TimeoutStopSec = "5s";
46+
PrivateTmp = "true";
47+
ProtectSystem = "full";
48+
};
49+
};
50+
};
51+
52+
meta.maintainers = with lib.maintainers; [ wozrer ];
53+
}

0 commit comments

Comments
 (0)