From 140aa335daaf66e86a2606c87c15ed82d54aa420 Mon Sep 17 00:00:00 2001 From: Pengames Date: Sat, 10 Oct 2026 18:06:09 +1100 Subject: [PATCH] Added vless + reality --- configuration.nix | 90 ++++++++++++++++-- flake_test/flake.lock | 27 ------ touchscreen/flake_test/.xray_config.json.swp | Bin 0 -> 24576 bytes touchscreen/flake_test/flake.lock | 42 ++++++++ .../flake_test}/flake.nix | 3 +- .../flake_test}/xray_config.json | 0 6 files changed, 124 insertions(+), 38 deletions(-) delete mode 100644 flake_test/flake.lock create mode 100644 touchscreen/flake_test/.xray_config.json.swp create mode 100644 touchscreen/flake_test/flake.lock rename {flake_test => touchscreen/flake_test}/flake.nix (77%) rename {flake_test => touchscreen/flake_test}/xray_config.json (100%) diff --git a/configuration.nix b/configuration.nix index 6142dcc..567a4b1 100644 --- a/configuration.nix +++ b/configuration.nix @@ -4,6 +4,29 @@ { config, lib, pkgs, ... }: + let + vlessOutbound = { + type = "vless"; + tag = "proxy"; + server = "immich.frogguingang.com"; + server_port = 443; + uuid = "e76c485e-38f2-44fe-bb74-6550b307741d"; + flow = "xtls-rprx-vision"; + tls = { + enabled = true; + server_name = "immich.frogguingang.com"; + utls = { + enabled = true; + fingerprint = "chrome"; + }; + reality = { + enabled = true; + public_key = "Qm8GdYV5l78f24ThAglg6ldKdPPeeXh8KGFuC3krTjM"; + short_id = "68ce8db33efa2894"; + }; + }; + }; + in { imports = [ # Include the results of the hardware scan. @@ -31,12 +54,21 @@ timeout = 10; }; boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; networking.hostName = "nixpengames"; # Define your hostname. # Pick only one of the below networking options. - + swapDevices = [{ + device = "/var/lib/swapfile"; + size = 16 * 1024; + }]; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. networking.networkmanager.wifi.powersave = false; +# networking.nftables.enable = true; +# systemd.services.v2raya.path = with pkgs; [ nftables ]; # Fix Marvell AVASTAR WiFi not resuming after suspend (Surface devices) systemd.services.restart-mwifiex = { description = "Reload mwifiex driver after suspend/resume"; @@ -75,8 +107,8 @@ fcitx5-gtk fcitx5-anthy fcitx5-hangul - fcitx5-chinese-addons - fcitx5-configtool + qt6Packages.fcitx5-chinese-addons + qt6Packages.fcitx5-configtool fcitx5-nord ]; }; @@ -170,8 +202,41 @@ #}; #services.v2raya.enable = true; # Read the text content of an actual external JSON file - services.v2raya.enable = true; - services.v2raya.cliPackege = pkgs.xray + #services.v2raya.enable = true; + # services.v2raya.cliPackage = pkgs.xray.override { + # assets = [ pkgs.v2ray-geoip pkgs.v2ray-domain-list-community ]; + services.sing-box = { + enable = true; + package = pkgs.sing-box; + settings = { + log = { + level = "info"; + }; + inbounds = [{ + type = "tun"; + tag = "tun-in"; + interface_name = "singtun"; + address = [ + "172.19.0.1/30" + "fd00::1/126" + ]; + # mtu = 1492; + auto_route = true; + auto_redirect = true; + strict_route = true; + stack = "gvisor"; + }]; + outbounds = [ vlessOutbound ]; + route = { + auto_detect_interface = true; + final = "proxy"; + }; + }; + }; + #services.v2raya.enable = true; + # services.v2raya.cliPackage = pkgs.xray.override { + # assets = [ pkgs.v2ray-geoip pkgs.v2ray-domain-list-community ]; + # }; # services.xray = { # enable = true; # settings = { @@ -264,6 +329,7 @@ extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. packages = with pkgs; [ firefox + google-chrome vscode-fhs steam spotify @@ -275,7 +341,7 @@ handbrake musescore kdePackages.kdenlive - zoom-us + #zoom-us spotify-player shadowsocks-rust # obsidian @@ -292,16 +358,20 @@ # List packages installed in system profile. To search, run: # $ nix search wget nixpkgs.config.allowUnfree = true; + # environment.etc."v2raya/geoip.dat".source = "${pkgs.v2ray-geoip}/share/v2ray/geoip.dat"; + # environment.etc."v2raya/geosite.dat".source = "${pkgs.v2ray-domain-list-community}/share/v2ray/geosite.dat"; environment.systemPackages = with pkgs; [ vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget + # v2ray-geoip + # v2ray-domain-list-community wakeonlan iwd lf fd traceroute ripgrep - zoom + # zoom python313 firefox tree @@ -314,7 +384,7 @@ hyfetch foot iptsd - libreoffice-qt6-fresh + libreoffice-qt-stable netflix audacity blender @@ -325,9 +395,9 @@ maliit-keyboard maliit-framework pavucontrol - fcitx5-configtool + qt6Packages.fcitx5-configtool R - rstudio + #rstudio wl-clipboard ]; diff --git a/flake_test/flake.lock b/flake_test/flake.lock deleted file mode 100644 index 42bac7c..0000000 --- a/flake_test/flake.lock +++ /dev/null @@ -1,27 +0,0 @@ -{ - "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/touchscreen/flake_test/.xray_config.json.swp b/touchscreen/flake_test/.xray_config.json.swp new file mode 100644 index 0000000000000000000000000000000000000000..2d86b72be7b12baffc3177b4adb8610fefb5655d GIT binary patch literal 24576 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 P;%D+fC@hMiM^yhmA~n8A literal 0 HcmV?d00001 diff --git a/touchscreen/flake_test/flake.lock b/touchscreen/flake_test/flake.lock new file mode 100644 index 0000000..22332b0 --- /dev/null +++ b/touchscreen/flake_test/flake.lock @@ -0,0 +1,42 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1791456040, + "narHash": "sha256-gRZ/s8WQJ2CsXdhcDVQH34qxuL0MuMCOs3aBiK1Prsw=", + "rev": "e7439b6b14ad3cc35d05608ebca9bce01a25f5f8", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1087755.e7439b6b14ad/nixexprs.tar.zst" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1791456040, + "narHash": "sha256-H83yz/do+hjOO0uujHyH8RgtIQP2v7Mw+cLwcZK/xKc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e7439b6b14ad3cc35d05608ebca9bce01a25f5f8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake_test/flake.nix b/touchscreen/flake_test/flake.nix similarity index 77% rename from flake_test/flake.nix rename to touchscreen/flake_test/flake.nix index 0512f44..4949e91 100644 --- a/flake_test/flake.nix +++ b/touchscreen/flake_test/flake.nix @@ -2,7 +2,8 @@ description = "A very basic flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; # or nixpkgs/nixos-unstable + nixpkgs.url = "nixpkgs/nixos-unstable"; # or nixpkgs/nixos-unstable + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs, ... }: diff --git a/flake_test/xray_config.json b/touchscreen/flake_test/xray_config.json similarity index 100% rename from flake_test/xray_config.json rename to touchscreen/flake_test/xray_config.json