Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: anyone plugin to privatise network requests #1960

Merged
merged 3 commits into from
Jan 7, 2025

Conversation

Saundr21
Copy link
Contributor

@Saundr21 Saundr21 commented Jan 7, 2025

Relates to

Integration of the Anyone Network within the Eliza repository

Risks

  • [Low] Does not fully support all fetch capabilities yet only axios

Background

The Anyone Protocol is the fastest and largest growing onion routing protocol in the world. It enables secure and anonymous communication from Alice to Bob. We aim to allow users to integrate the network in their own projects boasting a privacy narrative.

What does this PR do?

This PR integrate the Anyone protocol into the main repository as a plugin such that it is optional to users.

What kind of change is this?

Features (non-breaking change which adds functionality)

Documentation changes needed?

None.

Testing

Where should a reviewer start?

To have a look at the change please start by looking at packages/plugin-anyone. It is self-contained. The plugin globally wraps axios in a SOCKS proxy opened up by the Anyone Client, this is within packages/plugin-anyone/src/services.

Detailed testing steps

To thoroughly test, another plugin was made but not committed on this PR to check for the users current IP. Here the user can check their IP, startup the anyone client and check their IP again which should be different as it is routed through the network. By extension, this should therefore work for other plugins users may use that uses axios.
Another plugin was created to check the IP and added to the main agent index.ts. Cloning this branch should do most of the testing steps automatically.

The image outlines how the plugin works.

image

@Saundr21 Saundr21 changed the base branch from main to develop January 7, 2025 13:08
@Saundr21 Saundr21 changed the title Adds anyone plugin to privatise network requests Feat: anyone plugin to privatise network requests Jan 7, 2025
@shakkernerd shakkernerd changed the title Feat: anyone plugin to privatise network requests feat: anyone plugin to privatise network requests Jan 7, 2025
@shakkernerd shakkernerd merged commit b03c152 into elizaOS:develop Jan 7, 2025
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants