Educational project to build a p2p network

Template go Repository

tl;dr

This is a template go repository with actions already set up to create compiled releases

What does this Template provide?

  • a basic cli application with subcommands based on Kong
  • logging using zerolog
  • some customisations like a more descriptive version info
  • GitHub workflow to run tests on every push
  • GitHub Workflow to build binary releases with goreleaser

What is missing?

  • A sample for a spinner using spinner
  • some sample code for a cli interactive selection dialogue using promptui

How to use this template

Fetch the project

git clone https://github.com/gentoomaniac/go-template.git ./
rm -r .git

update all references to the template

# goreleaser IDs and binary names
sed 's/template-application/my-new-application/g' .goreleaser.yaml

# go.mod
sed 's#gentoomaniac/go-template#githubuser/reponame#g' go.mod

check in the code

git init
git add -A
git commit -m 'import template'

How to build locally

goreleaser build --single-target --snapshot

Example runs

help

--help" for more information on a command. ">
> template-application --help
Usage: template-application 

Flags:
  -h, --help             Show context-sensitive help.
  -v, --verbosity=INT    Increase verbosity.
  -q, --quiet            Do not run upgrades.
      --json             Log as json
      --debug            shortcut for -vvvv

Commands:
  foo
    FooBar command

Run "template-application  --help" for more information on a command.

logging

> template-application -vvv
8:40PM INF Default command
> template-application -vvv --json foo
{"level":"info","time":"2021-11-05T20:41:33+01:00","message":"foo command"}

version

template-application -V
template-application commit:bf9d771 release:snapshot build:workflow/1 date:2021-11-05T19:58:00Z goVersion:go1.17.2 platform:linux/amd64
Comments
  • Bump github.com/alecthomas/kong from 0.4.0 to 0.7.0

    Bump github.com/alecthomas/kong from 0.4.0 to 0.7.0

    Bumps github.com/alecthomas/kong from 0.4.0 to 0.7.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/alecthomas/kong from 0.4.0 to 0.6.1

    Bump github.com/alecthomas/kong from 0.4.0 to 0.6.1

    Bumps github.com/alecthomas/kong from 0.4.0 to 0.6.1.

    Commits
    • 0066abb fix: Reset() should always be called before anything else
    • edc47eb helpful error message when flag is missing values (#310)
    • 9d72e94 Update yaml v3 to v3.0.1 to fix CVE 2022 28948 (#309)
    • 195d56c Remove references to flag HelpProviders
    • 6042c4b Add example of HelpProvider + README
    • 1db2ea2 Move old shell/main to subdirectory
    • 0aaa4c1 fix: existing file/dir always checks default
    • 3c21644 fix linux build
    • 29685e7 treat \ as escape only before a separator
    • 5538b7f change help hook and call Reset later
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/alecthomas/kong from 0.4.0 to 0.6.0

    Bump github.com/alecthomas/kong from 0.4.0 to 0.6.0

    Bumps github.com/alecthomas/kong from 0.4.0 to 0.6.0.

    Commits
    • edc47eb helpful error message when flag is missing values (#310)
    • 9d72e94 Update yaml v3 to v3.0.1 to fix CVE 2022 28948 (#309)
    • 195d56c Remove references to flag HelpProviders
    • 6042c4b Add example of HelpProvider + README
    • 1db2ea2 Move old shell/main to subdirectory
    • 0aaa4c1 fix: existing file/dir always checks default
    • 3c21644 fix linux build
    • 29685e7 treat \ as escape only before a separator
    • 5538b7f change help hook and call Reset later
    • 7c6ff10 fix: values that look like flags would not be parsed correctly
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/rs/zerolog from 1.26.1 to 1.27.0

    Bump github.com/rs/zerolog from 1.26.1 to 1.27.0

    Bumps github.com/rs/zerolog from 1.26.1 to 1.27.0.

    Commits
    • e9344a8 docs: add an example for Lshortfile-like implementation of CallerMarshalFunc ...
    • 263b0bd #411 Add FieldsExclude parameter to console writer (#418)
    • 588a61c ctx: Modify WithContext to use a non-pointer receiver (#409)
    • 361cdf6 Remove extra space in console when there is no message (#413)
    • fc26014 MsgFunc function added to Event (#406)
    • 025f9f1 journald: don't call Enabled before each write (#407)
    • 3efdd82 call done function when logger is disabled (#393)
    • c0c2e11 Consistent casing, redundancy, and spelling/grammar (#391)
    • 665519c Fix ConsoleWriter color on Windows (#390)
    • 0c8d3c0 move the lint command to its own package (#389)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/protobuf from 1.27.1 to 1.28.0

    Bump google.golang.org/protobuf from 1.27.1 to 1.28.0

    Bumps google.golang.org/protobuf from 1.27.1 to 1.28.0.

    Commits
    • 32051b4 all: release v1.28.0
    • 3992ea8 all: implement depth limit for unmarshaling
    • e5db296 all: update supported versions
    • 3a9e1dc all: gofmt all
    • 26e8bcb all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s
    • 5aec41b testing/protocmp: add Message.Unwrap
    • 05be61f reflect/protoreflect: add more docs on Value aliasing
    • b03064a all: start v1.27.1-devel
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/alecthomas/kong from 0.4.0 to 0.5.0

    Bump github.com/alecthomas/kong from 0.4.0 to 0.5.0

    Bumps github.com/alecthomas/kong from 0.4.0 to 0.5.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/alecthomas/kong from 0.4.0 to 0.4.1

    Bump github.com/alecthomas/kong from 0.4.0 to 0.4.1

    Bumps github.com/alecthomas/kong from 0.4.0 to 0.4.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/rs/zerolog from 1.26.0 to 1.26.1

    Bump github.com/rs/zerolog from 1.26.0 to 1.26.1

    Bumps github.com/rs/zerolog from 1.26.0 to 1.26.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/alecthomas/kong from 0.2.18 to 0.4.0

    Bump github.com/alecthomas/kong from 0.2.18 to 0.4.0

    Bumps github.com/alecthomas/kong from 0.2.18 to 0.4.0.

    Commits
    • e497001 fix: Change the application flags order avoiding panics
    • 38c5622 fix: correct line number for json example (#265)
    • 3987efb fix: issue with symlinked temp dirs
    • a7d3850 Cmd can be passthrough now, too.
    • 76d5ed9 Small improvements to ChangeDirFlag.
    • f5bd146 Add ChangeToFlag to allow changing the current working directory.
    • 88dcc90 Document nested data structure.
    • 7533b11 Differentiate between omitted and empty default.
    • 9c9b8ab More enum fixes.
    • fa08e70 fix: overly enthusiastic validation of tags
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/alecthomas/kong from 0.4.0 to 0.7.1

    Bump github.com/alecthomas/kong from 0.4.0 to 0.7.1

    Bumps github.com/alecthomas/kong from 0.4.0 to 0.7.1.

    Commits
    • d974d72 feat: add support for camelCase JSON keys
    • 32e8ffc Fix large number processing for unsigned types
    • c62bf25 Fix loading large integers from JSON files (#334)
    • 8b82618 fix: tests
    • 0c6a9f3 Merging issue 280 with master changes (#296)
    • 9c8b401 Cumulative argument needs to be last (#331)
    • 15aa6d8 Fix Readme.md
    • 3371bd6 fix: go1.19 specific tests for text wrapping
    • f48da24 change VersionFlag to a BeforeReset hook
    • a05a0c2 Add Active member to Nodes and Values (#319)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/rs/zerolog from 1.26.1 to 1.28.0

    Bump github.com/rs/zerolog from 1.26.1 to 1.28.0

    Bumps github.com/rs/zerolog from 1.26.1 to 1.28.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/protobuf from 1.27.1 to 1.28.1

    Bump google.golang.org/protobuf from 1.27.1 to 1.28.1

    Bumps google.golang.org/protobuf from 1.27.1 to 1.28.1.

    Release notes

    Sourced from google.golang.org/protobuf's releases.

    v1.28.1

    This release contains protoc-gen-go binaries for arm64.

    Notable changes since v1.28.0:

    • CL/418677: internal/impl: improve MessageInfo.New performance
    • CL/411377: proto: short-circuit Equal when inputs are identical
    • CL/419714: all: Add prebuild binaries for arm64

    v1.28.0

    Overview

    The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (UnmarshalOptions.RecursionLimit).

    Notable changes

    New features:

    • CL/340489: testing/protocmp: add Message.Unwrap

    Documentation improvements:

    • CL/339569: reflect/protoreflect: add more docs on Value aliasing

    Updated supported versions:

    UnmarshalOption RecursionLimit

    • CL/385854: all: implement depth limit for unmarshalling

    The new UnmarshalOptions.RecursionLimit limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.

    In addition to the configurable limit for message nesting a non-configurable recursion limit for group nesting of 10,000 was introduced.

    Upcoming breakage changes

    The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.

    Commits
    • 6875c3d all: release v1.28.1
    • 881da6e all: Add prebuild binaries for arm64
    • 2a74a0e A+C: delete AUTHORS and CONTRIBUTORS
    • de9682a internal/impl: improve MessageInfo.New performance
    • b0a9446 all: reformat with go1.19 gofmt
    • c1bbc5d all: make integration test work on darwin/arm64
    • 5f429f7 proto: fix compilation failure in tests
    • fc44d00 proto: use reflect.Ptr for backward compatibility
    • 380c339 proto: short-circuit Equal when inputs are identical
    • 784c482 all: remove shorthand import aliases
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Related tags
fetch and serve papers in p2p network

sci-hub P2P A project aims to fetch paper from the BitTorrent network. This is not a cli client of sci-hub website. English Introduction 中文简介 Contribu

Dec 13, 2022
A modular is an opinionated, easy-to-use P2P network stack for decentralized applications written in Go.

xlibp2p xlibp2p is an opinionated, easy-to-use P2P network stack for decentralized applications written in Go. xlibp2p is made to be minimal, robust,

Nov 9, 2022
Openp2p - an open source, free, and lightweight P2P sharing network
Openp2p - an open source, free, and lightweight P2P sharing network

It is an open source, free, and lightweight P2P sharing network. As long as any device joins in, you can access them anywhere

Dec 31, 2022
Xlibp2p: an opinionated, easy-to-use P2P network stack for decentralized applications written in Go

xlibp2p xlibp2p is an opinionated, easy-to-use P2P network stack for decentraliz

Nov 9, 2022
Steve - A peer-to-peer (p2p) decentralized network

Steve Steve is a peer-to-peer (p2p) decentralized network that enables people to

Feb 5, 2022
Educational gRPC-based Bitcoin paper-trading server

gRPCoin: Programmatic paper trading platform using gRPC and Protobuf This is an educational project that allows you to trade cryptocurrencies competit

Dec 10, 2022
GO2P is a P2P framework, designed with flexibility and simplicity in mind
GO2P is a P2P framework, designed with flexibility and simplicity in mind

go2p golang p2p framework By v-braun - viktor-braun.de. Description GO2P is a P2P framework, designed with flexibility and simplicity in mind. You can

Jan 5, 2023
A decentralized P2P networking stack written in Go.

noise noise is an opinionated, easy-to-use P2P network stack for decentralized applications, and cryptographic protocols written in Go. noise is made

Dec 29, 2022
A major platform Remote Access Terminal Tool based by Blockchain/P2P.
A major platform Remote Access Terminal Tool based by Blockchain/P2P.

NGLite A major platform Remote Access Terminal Tool based by Blockchain/P2P. No public IP address required.More anonymity Example Detection Warning!!!

Jan 2, 2023
A minimal IPFS replacement for P2P IPLD apps

IPFS-Nucleus IPFS-Nucleus is a minimal block daemon for IPLD based services. You could call it an IPLDaemon. It implements the following http api call

Jan 4, 2023
P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.
P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.

P2P Forwarder A tool for farwarding ports. Made using libp2p. How it works A: opens desired ports ports inside P2P Forwarder A: shares it's id from P2

Nov 14, 2022
Jun 20, 2022
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.

gev 中文 | English gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily bui

Jan 6, 2023
Build a layer-three local area network on the WAN

What is Zetamesh Zetamesh /zeta'meʃ/ is used to build a layer-three local area network on the WAN. Quick Start This section will give you some instruc

Jun 7, 2022
Build - The axelar-core app based on the Cosmos SDK is the main application of the axelar network

⚠️ ⚠️ ⚠️ THIS IS A WORK IN PROGRESS ⚠️ ⚠️ ⚠️ axelar-core The axelar-core app bas

Feb 15, 2022
Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and deadline support. MIT Licensed.

socket Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and d

Dec 14, 2022
Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution.
Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution.

Connecting the Next Billion People Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core

Dec 31, 2022
Optimize Windows's network/NIC driver settings for NewTek's NDI(Network-Device-Interface).

windows-ndi-optimizer[WIP] Optimize Windows's network/NIC driver settings for NewTek's NDI(Network-Device-Interface). How it works This is batchfile d

Apr 15, 2022
A simple network analyzer that capture http network traffic
A simple network analyzer that capture http network traffic

httpcap A simple network analyzer that captures http network traffic. support Windows/MacOS/Linux/OpenWrt(x64) https only capture clienthello colorful

Oct 25, 2022