1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
name: nara
version: 0.0.0.0
synopsis: A userspace WireGuard implementation in Haskell
license: GPL-3
license-file: LICENSE
author: Bin Jin
maintainer: bjin@ctrl-d.org
category: Network
build-type: Simple
extra-source-files: include/uapi.h, cbits/tun.h
cabal-version: >=1.10
description:
nara is a userspace implementation of <https://www.wireguard.io WireGuard> ,
a fast, modern and secure VPN based on <https://noiseprotocol.org/ Noise> protocol.
executable nara
main-is:
Main.hs
other-modules:
Network.WireGuard.Core,
Network.WireGuard.Daemon,
Network.WireGuard.Foreign.In6Addr,
Network.WireGuard.Foreign.Key,
Network.WireGuard.Foreign.Tun,
Network.WireGuard.Foreign.UAPI,
Network.WireGuard.Internal.Constant,
Network.WireGuard.Internal.IPPacket,
Network.WireGuard.Internal.Noise,
Network.WireGuard.Internal.Packet,
Network.WireGuard.Internal.PacketQueue,
Network.WireGuard.Internal.State,
Network.WireGuard.Internal.Types,
Network.WireGuard.Internal.Util,
Network.WireGuard.RPC,
Network.WireGuard.TunListener,
Network.WireGuard.UdpListener
build-depends:
async,
base == 4.9.*,
blake2,
bytestring,
cacophony >=0.9.2 && <0.10,
cereal,
conduit,
conduit-extra,
cryptonite,
directory,
exceptions,
filepath,
iproute == 1.7.*,
lens,
memory == 0.14.*,
network == 2.6.*,
optparse-applicative,
random,
stm,
streaming-commons,
transformers,
unix == 2.7.*,
unordered-containers
if os(linux)
c-sources: cbits/tun-linux.c
cpp-options: -DOS_LINUX
if os(darwin)
c-sources: cbits/tun-macos.c
cpp-options: -DOS_MACOS
if !os(linux) && !os(darwin)
buildable: False
ghc-options:
-Wall -O2 -threaded
hs-source-dirs:
src
include-dirs:
include
default-language:
Haskell2010
|