{"id":40818864,"url":"https://github.com/aau-network-security/haaukins-webclient","last_synced_at":"2026-01-21T21:44:33.914Z","repository":{"id":39876218,"uuid":"222265963","full_name":"aau-network-security/haaukins-webclient","owner":"aau-network-security","description":"haaukins-webclient which uses gRPC, Vue.js client and Envoy Proxy","archived":false,"fork":false,"pushed_at":"2025-08-21T22:20:10.000Z","size":26199,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-08T22:32:03.921Z","etag":null,"topics":["docker","docker-compose","envoy","go","grpc","haaukins-webclient","vue","vuejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aau-network-security.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-11-17T15:05:00.000Z","updated_at":"2023-11-30T20:15:32.000Z","dependencies_parsed_at":"2025-09-08T22:31:41.381Z","dependency_job_id":"445ba817-5a83-4459-8544-7a01150fb330","html_url":"https://github.com/aau-network-security/haaukins-webclient","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/aau-network-security/haaukins-webclient","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aau-network-security%2Fhaaukins-webclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aau-network-security%2Fhaaukins-webclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aau-network-security%2Fhaaukins-webclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aau-network-security%2Fhaaukins-webclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aau-network-security","download_url":"https://codeload.github.com/aau-network-security/haaukins-webclient/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aau-network-security%2Fhaaukins-webclient/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28644149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","envoy","go","grpc","haaukins-webclient","vue","vuejs"],"created_at":"2026-01-21T21:44:32.356Z","updated_at":"2026-01-21T21:44:33.899Z","avatar_url":"https://github.com/aau-network-security.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gRPC - Vue.js - Go - Envoy\nThis repository contains the Web Client (used to interact with Haaukins) and the Envoy proxy (used to enable the communication between client and server).\n\n## Prerequisites\n- Go v1.11 and Golang\n- npm\n- Docker\n- install grpc and protocol Buffer3 (protobuf)\n```bash\n# Install Go gRPC\n$ go get -u google.golang.org/grpc\n\n# Make sure you grab the latest version\n$ curl -OL https://github.com/google/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip\n\n# Unzip\n$ unzip protoc-3.6.1-linux-x86_64.zip -d protoc3\n\n# Move protoc to /usr/local/bin/\n$ sudo mv protoc3/bin/* /usr/local/bin/\n\n# Move protoc3/include to /usr/local/include/\n$ sudo mv protoc3/include/* /usr/local/include/\n\n# Install protobuf for Go\n$ go get -u github.com/golang/protobuf/protoc-gen-go\n\n# Install protobuf for Web\n$ git clone https://github.com/grpc/grpc-web /tmp/grpc-web\n$ cd /tmp/grpc-web \u0026\u0026 sudo make install-plugin\n```\nErrors founds:\nfatal error: google/protobuf/compiler/code_generator.h: No such file or directory\n```bash\napt-get install -y make g++ autoconf libtool\nsudo apt-get install libprotoc-dev \n```\n\n## How to run it\n\nSet the environment variable in the `.env` file\n\n```bash\nCERTIFICATES_PATH= #absolute path of certificate folder\nENVOY_CONFIG= #absolute path of .yaml file\nENVOY_DEV_CONFIG= #absolute path of dev .yaml file\n```\n\n### Server\nTo run Haaukins in local\n```bash\n$ go run app/daemon/main.go --config=/home/gian/Documents/haaukins_files/configs/config.yml\n```\n\n### Proxy\n```bash\n$ docker build -t envoy . \n$ docker run -d -p 8000:8000 envoy:latest\n\n```\nNote: No need to specify `--network=host` while running the docker container, the ip address of `docker0`  used. \n\n\nNote: `--network=host` is NOT required for MacOS and Windows machines. `socket_address` IP address on [envoy.yaml](envoy/envoy.yaml) should be `docker0` on linux host machines and `docker.for.mac.localhost` for MacOS machine. \n\n### Client\n```bash\n$ cd client\n$ docker build -t webclient .\n$ docker run -d -p 8003:8003 webclient:latest\n```\nNote : Webclient will work only with HTTPS !! \n\nbrowse ```http://localhost:8001/```\n\n#### Developer Notes\nBelow the list of useful command i have used:\n- Create a Vue.js base project (It create a folder containing the project)\n```bash\nvue create hello-world\n```\n- Create the proto compiled code for GO (Run in the main folder)\n```bash\nprotoc -I proto/ proto/deamon.proto --go_out=plugins=grpc:proto\n```\n- Create the proto compiled code for JS (Run in the proto folder)\n```bash\nprotoc daemon.proto --js_out=import_style=commonjs,binary:../client --grpc-web_out=import_style=commonjs,mode=grpcwebtext:../client\n```\n\n#### Run in local as development mode \n\n1. Create `.env` file on the same level with [docker-compose-dev.yml](./docker-compose-dev.yml) file, as given in [.env.sample](.env.sample)\n2. Run `docker-compose-dev.yml` file \n```bash \n$ docker-compose -f docker-compose-dev.yml up --build -d \n```\n3. Make sure that Haaukins is up and running in given port in [envoy-dev.yaml](./envoy/envoy-dev.yaml) file","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faau-network-security%2Fhaaukins-webclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faau-network-security%2Fhaaukins-webclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faau-network-security%2Fhaaukins-webclient/lists"}