go-plugin
brains
DISCONTINUED
Our great sponsors
go-plugin | brains | |
---|---|---|
28 | 1 | |
4,633 | 332 | |
2.2% | - | |
6.8 | 6.8 | |
3 days ago | about 2 years ago | |
Go | JavaScript | |
Mozilla Public License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-plugin
- Wazero: Zero dependency WebAssembly runtime written in Go
-
referencing packages on the internet and using go plugin
I'd recommend looking into a different approach for plugins such as hashicorp/go-plugin (which uses multiple process PIDs and RPC communication between them) or traefik/yaegi (which implements a Go-compatible scripting language that can be interpreted at runtime and which still supports most Go modules).
- Can Go dynamically load library module at runtime?
-
Binary packages alternative
You'll never fully protect your code from someone who's dead-set on reverse-engineering it, however, you can use https://github.com/hashicorp/go-plugin or a similar RPC technique, which will let you ship binary plugins and will also be less fragile and janky compared to something made with `-buildmode=plugin`.
-
How would you guys support plugins in a Go app? (or any other compiled language for that matter)
The plugin system that hashicorp uses for all their projects works very well. It's essentially a local RPC implementation. https://github.com/hashicorp/go-plugin
-
Change go code behaviour at runtime
The leader is almost for certain https://github.com/hashicorp/go-plugin which uses RPC. This prevents some of the binary compatibility issues from the standard library option, operating system issues from the standard library option, and it is in use by lots of large projects from Terraform to Packer, Nomad, and Vault.
-
Is the documentation for making non-go plugins in the go-plugin repo outdated?
can you try older go-plugin versions? The only major change in v1.4.4 was a bugfix for automtls. https://github.com/hashicorp/go-plugin/blob/master/CHANGELOG.md
-
Go and plugins ?
I strongly recommend to use Hashicorp/Plugin, that is more battle tested and could be extended and used by others languages.
-
DLL Architecture in Go
Doesn't sound too crazy to me. Maybe worth checking out https://github.com/hashicorp/go-plugin -- they came up with something similar for dealing with extensions/plugins.
brains
-
What is your “I don't care if this succeeds” project?
My Digital Brain: https://github.com/allenleein/brains
The Input and Functions of My Thinking
What are some alternatives?
wasmer - 🚀 The leading WebAssembly Runtime supporting WASIX, WASI and Emscripten
OS-NVR - OS-NVR is a lightweight extensible CCTV system. Mirror of Codeberg.
go-plugin-benchmark - Benchmark comparing the go plugin package to other plugin implementations
rust - Empowering everyone to build reliable and efficient software.
os-nvr
vopono - Run applications through VPN tunnels with temporary network namespaces
go-plug
scraper - Nodejs web scraper. Contains a command line, docker container, terraform module and ansible roles for distributed cloud scraping. Supported databases: SQLite, MySQL, PostgreSQL. Supported headless clients: Puppeteer, Playwright, Cheerio, JSdom.
scraper - A scraper for EmulationStation written in Go using hashing
VimMode.spoon - Adds vim keybindings to all OS X inputs
Yue - A library for creating native cross-platform GUI apps
meal-scheduler