Skip to content

Verstile tools for advanced networking scenarios in NixOS

License

Notifications You must be signed in to change notification settings

icebox-nix/netkit.nix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netkit.nix

Versatile icebox plugins for advanced networking scenarios in NixOS.

What is it?

Intended to work out-of-box without any complicated configuration, netkit.nix is a set of icebox purely declarative plugins for networking scenarios, such as versatile transparent proxy, sharing Wi-Fi through Wi-Fi.

How to use it?

  1. Add netkit to flake using inputs.netkit.url = "github:icebox-nix/netkit.nix";.
  2. Add module netkit.nixosModule to your flake.nix's nixosConfiguration.modules list.
  3. Configure modules on your needs. For details, see wiki page.
{
  netkit = {
     clash = {
       enable = true;
       redirPort =
         7892; # This must be the same with the one in your clash.yaml
     };
  
     wifi-relay = {
       interface = "wlp0s20f3"; # Change according to your device
       ssid = "netkit.nix";
       passphrase = "88888888";
     };
  
     xmm7360 = {
  	 enable = true;
       autoStart = true;
       config = {
         mycard = {
           apn = "3gnet";
           nodefaultroute = false;
           noresolv = true;
         };
       };
       package = pkgs.xmm7360-pci_5_7;
     };
  };
}

List of plugins available

  • Clash (plugins/clash): transparent proxy module with separated maxmind-geoip package and yacd dashboard built-in.
  • wifi-relay (plugins/wifi-relay): Sharing Wi-Fi connection over Wi-Fi on supported devices using hostapd and dhcpd.
  • snapdrop: Cross-platform Apple AirDrop alternative.
  • frpc: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
  • minecraft-server: On-demand minecraft server with more options.
  • xmm7360: A module with service for setting up PCI driver for Fibocom L850-GL modem (PCI ID 8086:7360).
  • dcompass: Programmable DNS written in pure Rust.

Flake Outputs

├───checks
│   ├───aarch64-linux
│   │   ├───atomdns: derivation 'atomdns-0.2.0'
│   │   ├───chinalist: derivation 'chinalist-raw-2020-12-20'
│   │   ├───maxmind-geoip: derivation 'maxmind-geoip-20201212'
│   │   └───overture: derivation 'overture-1.6.1'
│   ├───i686-linux
│   │   ├───atomdns: derivation 'atomdns-0.2.0'
│   │   ├───chinalist: derivation 'chinalist-raw-2020-12-20'
│   │   ├───maxmind-geoip: derivation 'maxmind-geoip-20201212'
│   │   └───overture: derivation 'overture-1.6.1'
│   ├───x86_64-darwin
│   │   ├───atomdns: derivation 'atomdns-0.2.0'
│   │   ├───chinalist: derivation 'chinalist-raw-2020-12-20'
│   │   ├───maxmind-geoip: derivation 'maxmind-geoip-20201212'
│   │   └───overture: derivation 'overture-1.6.1'
│   └───x86_64-linux
│       ├───atomdns: derivation 'atomdns-0.2.0'
│       ├───chinalist: derivation 'chinalist-raw-2020-12-20'
│       ├───dcompass-bin: derivation 'dcompass-bin-git'
│       ├───maxmind-geoip: derivation 'maxmind-geoip-20201212'
│       ├───overture: derivation 'overture-1.6.1'
│       ├───subconverter: derivation 'subconverter-0.6.4'
│       ├───xmm7360-pci_5_4: derivation 'xmm7360-pci-2020-01-15'
│       ├───xmm7360-pci_latest: derivation 'xmm7360-pci-2020-01-15'
│       ├───xmm7360-pci_latest_hardened: derivation 'xmm7360-pci-2020-01-15'
│       ├───xmm7360-pci_zen: derivation 'xmm7360-pci-2020-01-15'
│       └───yacd: derivation 'yacd'
├───nixosModule: unknown
├───overlay: Nixpkgs overlay
└───packages
    ├───aarch64-linux
    │   ├───atomdns: package 'atomdns-0.2.0'
    │   ├───chinalist: package 'chinalist-raw-2020-12-20'
    │   ├───maxmind-geoip: package 'maxmind-geoip-20201212'
    │   └───overture: package 'overture-1.6.1'
    ├───i686-linux
    │   ├───atomdns: package 'atomdns-0.2.0'
    │   ├───chinalist: package 'chinalist-raw-2020-12-20'
    │   ├───maxmind-geoip: package 'maxmind-geoip-20201212'
    │   └───overture: package 'overture-1.6.1'
    ├───x86_64-darwin
    │   ├───atomdns: package 'atomdns-0.2.0'
    │   ├───chinalist: package 'chinalist-raw-2020-12-20'
    │   ├───maxmind-geoip: package 'maxmind-geoip-20201212'
    │   └───overture: package 'overture-1.6.1'
    └───x86_64-linux
        ├───atomdns: package 'atomdns-0.2.0'
        ├───chinalist: package 'chinalist-raw-2020-12-20'
        ├───dcompass-bin: package 'dcompass-bin-git'
        ├───maxmind-geoip: package 'maxmind-geoip-20201212'
        ├───overture: package 'overture-1.6.1'
        ├───subconverter: package 'subconverter-0.6.4'
        ├───xmm7360-pci_5_4: package 'xmm7360-pci-2020-01-15'
        ├───xmm7360-pci_latest: package 'xmm7360-pci-2020-01-15'
        ├───xmm7360-pci_latest_hardened: package 'xmm7360-pci-2020-01-15'
        ├───xmm7360-pci_zen: package 'xmm7360-pci-2020-01-15'
        └───yacd: package 'yacd'

About

Verstile tools for advanced networking scenarios in NixOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published