mehrdadrad / radvpn Goto Github PK
View Code? Open in Web Editor NEWDecentralized VPN
License: MIT License
Decentralized VPN
License: MIT License
[root@yisu-5eaa4bd3d3d82 ~]# go get https://github.com/mehrdadrad/radvpn
package https:/github.com/mehrdadrad/radvpn: https:/github.com/mehrdadrad/radvpn: invalid import path: malformed import path "https:/github.com/mehrdadrad/radvpn": invalid char ':'
[root@yisu-5eaa4bd3d3d82 ~]# go version
go version go1.13.6 linux/amd64
./radvpn -config radvpn.yaml
2021-02-26 18:22:19.464945 I | whoami error: can not find node
The unpadding
function treats wrong and correct padding differently. Because the CBC mode is malleable an attacker can change the decrypted plaintext when modifying the IV (or the block before the targeted block). The order of blocks can be changed, too.
If an attacker is able to distinguish these two cases (e.g. via timing channels or length of returned array) of valid and invalid padding it is possible to decrypt ciphertexts without knowing the key.
For more information see TLS-Padding-Oracles from RUB or this question on crypto.stackexchange
There are options to make the CBC mode more secure against this kind of POA, but to mitigate this an authenticated encryption scheme should be used.
Lines 90 to 96 in b5bb965
Line 107 in 39b7b0e
What is the status of this project?
It was not clear to me whether is it a spike or an already functioning code, maybe in production without any specific problems.
I was wondering whether you would like to accept some code changes & bug fixes, or the project is abandoned?
Looks like the image radvp
is not available in the dockerhub registry:
# sudo docker run --privileged -d -p 8085:8085 -v $(pwd)/radvpn.yaml:/etc/radvpn.yaml -e RADVPN_NODE_NAME=node1 radvp
Unable to find image 'radvp:latest' locally
docker: Error response from daemon: pull access denied for radvp, repository does not exist or may require 'docker login'.
The radvpn
image also does not exist (assuming a typo there) ๐
Just assuming radvpn is only supported for linux after receiving the error:
config/config.go:178:48: undefined: netlink.FAMILY_ALL
Trying to compile on FreeBSD results in:
root@testrouter1:~/radvpn # go build .
go: downloading github.com/vishvananda/netlink v1.0.0
go: downloading go.etcd.io/etcd v3.3.17+incompatible
go: downloading github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b
go: downloading golang.org/x/sys v0.0.0-20191104094858-e8c54fb511f6
go: downloading gopkg.in/yaml.v2 v2.2.4
go: extracting github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b
go: extracting gopkg.in/yaml.v2 v2.2.4
go: extracting golang.org/x/sys v0.0.0-20191104094858-e8c54fb511f6
go: extracting github.com/vishvananda/netlink v1.0.0
go: downloading github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f
go: extracting github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f
go: extracting go.etcd.io/etcd v3.3.17+incompatible
go: downloading github.com/coreos/etcd v3.3.17+incompatible
go: downloading github.com/google/uuid v1.1.1
go: downloading go.uber.org/zap v1.12.0
go: extracting go.uber.org/zap v1.12.0
go: extracting github.com/google/uuid v1.1.1
go: downloading google.golang.org/grpc v1.24.0
go: extracting google.golang.org/grpc v1.24.0
go: downloading go.uber.org/multierr v1.3.0
go: extracting go.uber.org/multierr v1.3.0
go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: extracting golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: extracting github.com/coreos/etcd v3.3.17+incompatible
go: downloading go.uber.org/atomic v1.5.0
go: downloading github.com/golang/protobuf v1.3.2
go: downloading google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8
go: downloading github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
go: downloading github.com/gogo/protobuf v1.3.1
go: downloading github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f
go: extracting github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
go: downloading golang.org/x/text v0.3.0
go: extracting github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f
go: extracting golang.org/x/text v0.3.0
go: extracting github.com/gogo/protobuf v1.3.1
go: extracting go.uber.org/atomic v1.5.0
go: extracting github.com/golang/protobuf v1.3.2
go: extracting google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8
go: finding github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b
go: finding github.com/vishvananda/netlink v1.0.0
go: finding go.etcd.io/etcd v3.3.17+incompatible
go: finding gopkg.in/yaml.v2 v2.2.4
go: finding golang.org/x/sys v0.0.0-20191104094858-e8c54fb511f6
go: finding github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f
go: finding github.com/coreos/etcd v3.3.17+incompatible
go: finding google.golang.org/grpc v1.24.0
go: finding github.com/gogo/protobuf v1.3.1
go: finding github.com/google/uuid v1.1.1
go: finding github.com/golang/protobuf v1.3.2
go: finding go.uber.org/zap v1.12.0
go: finding google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8
go: finding github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
go: finding go.uber.org/atomic v1.5.0
go: finding github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f
go: finding go.uber.org/multierr v1.3.0
go: finding golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: finding golang.org/x/text v0.3.0
# github.com/mehrdadrad/radvpn/config
config/config.go:178:40: undefined: netlink.FAMILY_ALL
root@testrouter1:~/radvpn #
Getting:
dreadnought:~ david$ go get github.com/mehrdadrad/radvpn/
# github.com/mehrdadrad/radvpn/config
go/src/github.com/mehrdadrad/radvpn/config/config.go:178:40: undefined: netlink.FAMILY_ALL
Under macOS.
Line 41 in b5bb965
see https://golang.org/pkg/os/signal/#Notify:
Package signal will not block sending to c: the caller must ensure that c has sufficient buffer space to keep up with the expected signal rate. For a channel used for notification of just one signal value, a buffer of size 1 is sufficient.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.