Quentin McGaw
842b9004da
chore(routing): remove redundant rule ip rule in error messages
2024-11-07 20:19:24 +00:00
Quentin McGaw
3dfb43e117
chore(netlink): debug log ip rule commands in netlink instead of routing package
2024-10-19 12:43:26 +00:00
Quentin McGaw
76a4bb5dc3
chore: use gofumpt for code formatting
2024-10-11 19:27:29 +00:00
Quentin McGaw
abe9dcbe33
chore(lint): add new linters and update codebase
...
- add canonicalheader
- add copyloopvar
- add fatcontext
- add intrange
2024-10-11 18:28:00 +00:00
Quentin McGaw
01fa9934bc
hotfix(routing): detect vpn local gateway with new routes listing
2024-08-25 07:01:33 +00:00
Quentin McGaw
540acc915d
chore(deps): upgrade vishvananda/netlink from v1.2.1-beta.2 to v1.2.1
2024-08-23 13:46:09 +00:00
Quentin McGaw
7bc2972b27
feat(perfectprivacy): port forwarding support ( #2378 )
2024-07-30 22:00:26 +02:00
Quentin McGaw
39ae57f49d
fix(routing): add outbound subnets routes only for matching ip families
2023-07-28 07:24:26 +00:00
Quentin McGaw
76a92b90e3
fix(routing): VPNLocalGatewayIP Wireguard support
2023-06-28 14:23:34 +00:00
Quentin McGaw
ea1991496e
hotfix(routing): remove debug prints
2023-06-08 22:44:08 +00:00
Quentin McGaw
4675572328
hotfix(routing): change main table from 0 to 254
2023-06-08 20:03:07 +00:00
Quentin McGaw
412921fc1f
hotfix(routing): ignore non-main table for routes
...
- When searching for default routes
- When searching for local networks
2023-06-08 19:50:42 +00:00
Quentin McGaw
9b39a301a8
chore(routing): remove unused VPNDestinationIP
2023-06-08 09:17:27 +00:00
Quentin McGaw
cade2b99bf
chore(routing): unexport IPIsPrivate as ipIsPrivate
2023-06-08 09:14:17 +00:00
Quentin McGaw
40cdb4f662
fix(netlink): RouteList list routes from all tables
...
- Do not filter by link anymore
- IPv6 detection simplified
2023-06-08 09:12:46 +00:00
Quentin McGaw
38ddcfa756
chore(netlink): define own types with minimal fields
...
- Allow to swap `github.com/vishvananda/netlink`
- Allow to add build tags for each platform
- One step closer to development on non-Linux platforms
2023-05-29 06:44:58 +00:00
Quentin McGaw
9d1a0b60a2
fix(netlink): use AddrReplace instead of AddrAdd
2023-05-28 10:22:51 +00:00
Quentin McGaw
3100cc1e5e
hotfix(routing): unmap ipv4-in-ipv6 when converting
2023-05-22 08:03:52 +00:00
Quentin McGaw
eed62fdc6d
fix(routing): ip family match function
...
- ipv4-in-ipv6 should match ipv6
2023-05-22 06:01:52 +00:00
Quentin McGaw
d2b8dbcb10
chore(routing): remove old assigned ip debug log
2023-05-22 06:01:07 +00:00
Quentin McGaw
90d43856ef
fix(routing): net.IPNet to netip.Prefix conversion
2023-05-22 06:00:24 +00:00
Quentin McGaw
0a29337c3b
chore(all): replace net.IP with netip.Addr
2023-05-20 20:06:12 +00:00
Quentin McGaw
d21a943779
chore(all): use netip.Prefix for ip networks
...
- remove usage of `net.IPNet`
- remove usage of `netaddr.IPPrefix`
2023-04-27 13:42:50 +00:00
Quentin McGaw
801a7fd6fe
chore(routing): simplify default routes for loop
2023-04-27 10:41:18 +00:00
Quentin McGaw
80053f6b7d
feat(routing): log default route family as string
2023-04-27 10:41:03 +00:00
Kyle Manna
fc8a2abb8f
fix(routing): add policy rules for each destination local networks ( #1493 )
2023-04-11 09:03:07 -07:00
Quentin McGaw
4ba159e483
chore(all): review error wrappings
...
- remove repetitive `cannot` and `failed` prefixes
- rename `unmarshaling` to `decoding`
2023-04-01 16:57:18 +00:00
EkilDeew
875690ab18
feat(network): enable ipv6 connection and tunneling ( #1114 )
...
Co-authored-by: Quentin McGaw <quentin.mcgaw@gmail.com >
2022-09-13 17:18:10 -07:00
Quentin McGaw
aa53436e56
chore(lint): upgrade golangci-lint to v1.49.0
...
- Add linter `interfacebloat` and fix code issues
- Add linter `reassign`
- Remove deprecated linter `nosnakecase`
2022-08-24 21:48:24 +00:00
Quentin McGaw
6826b05d58
chore(all): remove all package comments
2022-07-02 20:58:43 +00:00
Quentin McGaw
578ef768ab
chore(all): return concrete types, accept interfaces
...
- Remove exported interfaces unused locally
- Define interfaces to accept arguments
- Return concrete types, not interfaces
2022-06-11 01:34:30 +00:00
Quentin McGaw
e2ba2f82c0
feat(routing): add IPv6 inbound routing
2022-03-13 19:36:45 +00:00
Quentin McGaw
ace5e97e68
fix(routing): only set routes for IPv4 default routes
2022-03-13 14:40:17 +00:00
Quentin McGaw
82d42297e8
chore(routing): remove unused LocalSubnetGetter
2022-03-13 13:32:19 +00:00
Quentin McGaw
f99d5e8656
feat(firewall): use all default routes
...
- Accept output traffic from all default routes through VPN interface
- Accept output from all default routes to outbound subnets
- Accept all input traffic on ports for all default routes
- Add IP rules for all default routes
2022-03-13 13:26:33 +00:00
Quentin McGaw
920ad8b54b
chore(errors): review all errors in codebase
2022-02-20 02:58:16 +00:00
Quentin McGaw
cfa3bb3b64
feat(internal/wireguard): opportunistic kernelspace
...
- Auto detect if kernelspace implementation is available
- Fallback to Go userspace implementation if kernel is not available
2021-12-14 11:03:36 +00:00
Quentin McGaw (desktop)
cf95692b93
Maint: package local narrow Logger interfaces
2021-09-23 17:06:09 +00:00
Quentin McGaw (desktop)
87f4b9e422
Docs: update maintenance document
2021-09-11 15:29:29 +00:00
Quentin McGaw (desktop)
501ae2741b
Fix: FIREWALL_OUTBOUND_SUBNETS ip rules
2021-08-26 15:46:19 +00:00
Quentin McGaw (desktop)
5b75635386
Maint: fix rules equality check for nil networks
2021-08-26 14:33:51 +00:00
Quentin McGaw (desktop)
2901db3cf3
Maint: internal/routing IP rules functions
...
- Take in `src` as `*net.IPNet` instead of `net.IP`
- Take `dst` IP network
- Debug logged `ip rule` dynamically built
- Add unit tests for all IP rules functions
2021-08-26 13:59:43 +00:00
Quentin McGaw (desktop)
6c2a3e36b5
Maint: rename outboundsubnets.go to outbound.go
2021-08-25 19:09:42 +00:00
Quentin McGaw (desktop)
8b125e6e95
Maint: internal/routing/inbound.go file
2021-08-25 19:08:55 +00:00
Quentin McGaw (desktop)
d6659552df
Maint: refactor internal/routing
...
- Split Go files better
- Reduce public API for exported errors
2021-08-25 17:52:05 +00:00
Quentin McGaw (desktop)
ffeeae91ab
Maint: merge subnet.FindSubnetsToAdd and subnet.FindSubnetsToRemove in subnet.FindSubnetsToChange
2021-08-25 17:25:36 +00:00
Quentin McGaw (desktop)
04fad1b781
Maint: internal/subnet package
2021-08-25 17:22:48 +00:00
Quentin McGaw (desktop)
b3d8b78205
Maint: only internal/netlink depends on github.com/vishvananda/netlink
2021-08-23 21:12:28 +00:00
Quentin McGaw (desktop)
ee82a85543
Maint: internal/routing uses internal/netlink
2021-08-23 20:56:10 +00:00
Quentin McGaw (desktop)
7907146aaf
Maint: rework IPIsPrivate in internal/routing
2021-08-23 20:50:50 +00:00