HelloZeroNet / HelloZeroNet/ZeroNet
Packaging ZeroNet for Mac/Win/Linux
- Dominant language
- JavaScript
- Stars
- 18.8k
- Forks
- 2.3k
- PR merge metrics
- No merged PRs in 30d
Description
So this is already a solved problem in ZeroBundle, but I'd like to provide an asset for Godot that essentially bundles and executes ZeroNet when someone launches a game that uses ZeroNet for data storage.
To achieve this, we of course need Mac/Win/Linux-specific versions of OpenSSL+Python, which I believe ZeroBundle already packages, though I have some concerns. Firstly, I can't access the Window's bundle since it's an .exe (running on Linux here, though do have wine...). Secondly I don't think we want to show things such as the ZeroNet tray bar icon on Windows if it's just running for a game's sake.
Would it be possible to provide the Python+OpenSSL binaries for Mac/Win/Linux somewhere which we can just use to create and update a third-party Godot package for ZeroNet?
Btw the ZeroFrame package for Godot is already looking quite good :)
```
func _be_external_program():
# Open a connection to a ZeroNet site
yield(use_site("18sGzRGJaTkuywmEyfPEZp1YG1dbA46h6m"), "site_connected")
# Send siteInfo command to retrieve information about the site
var response = yield(cmd("siteInfo", {}), "command_completed")
print("Site information: ", response)
# Store some data on the site
var data = Marshalls.utf8_to_base64(JSON.print({"score": 500}))
response = yield(cmd("fileWrite", {"inner_path": "data/user/data.json", "content_base64": data}), "command_completed")
print("Store response: ", response)
# Publish the data (Needs cert)
# Retrieve that data
response = yield(cmd("fileGet", {"inner_path": "data/user/data.json"}), "command_completed")
print(JSON.parse(response).result)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the ZeroBundle packaging referenced in the issue and the Godot ZeroFrame integration. Compare the platform-specific Python/OpenSSL bundles, including the Windows executable and tray behavior. Done means a documented Godot package can bundle and update the required components on Mac, Windows, and Linux without an unwanted tray icon; no repository files or tests are identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- godot, python
- Domain
- build-system, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100