2025-04-19 12:16:52 -04:00
2025-03-17 18:59:31 -04:00
2025-03-17 20:00:40 -04:00
2025-03-17 19:52:56 -04:00
2025-04-19 12:16:52 -04:00
2025-03-17 19:52:56 -04:00
2025-03-17 17:53:19 -04:00
2025-03-17 18:12:04 -04:00
2025-03-17 18:11:57 -04:00
2025-03-17 19:52:56 -04:00
2025-03-17 17:28:29 -04:00
2025-03-17 19:52:56 -04:00
2025-03-17 20:06:08 +00:00
2025-03-17 18:59:31 -04:00
2025-04-19 12:16:24 -04:00
2025-03-17 17:28:29 -04:00
2025-03-17 19:52:56 -04:00
2025-03-17 19:42:17 -04:00
2025-03-17 19:42:17 -04:00
2025-03-17 19:42:17 -04:00

go-jump-addr

Go Version MIT License

A library and server implementation for I2P "Jump" service functionality. This allows for human-readable domain names to be mapped to I2P destinations and provides search/discovery capabilities for I2P services.

Table of Contents

Features

  • Human-readable Hostnames: Map memorable names to I2P destinations
  • Search Functionality: Search across hostnames, descriptions, and tags
  • Metadata Extraction: Automatically extracts metadata from I2P destinations
  • Sync Support: Synchronize hostname data with other jump servers
  • Web Interface: Clean, responsive web UI for managing entries
  • RESTful API: Simple HTTP API for programmatic access
  • Tag System: Organize entries with tags for better discovery
  • Validation: Built-in validation for I2P addresses and hostnames

Installation

Requires Go 1.23.5 or later.

go install github.com/go-i2p/go-jump-addr/jumpd@latest

Or clone and build manually:

git clone https://github.com/go-i2p/go-jump-addr.git
cd go-jump-addr
make build

Usage

Running the Server

  1. Ensure I2P router is running with SAM enabled on port 7656

  2. Start the jump server:

./jumpserver

The server will be accessible via I2P at the address shown in the startup logs.

API Endpoints

  • GET / - Homepage with hostname listing
  • GET /search - Search interface
  • GET /add - Add new hostname form
  • POST /add - Submit new hostname
  • GET /all-hosts.txt - Plain text list of all hostnames

Example: Adding a Hostname

curl -X POST http://localhost:7654/add \
  -d "hostname=example.i2p" \
  -d "destination=BASE64_DEST..." \
  -d "type=service" \
  -d "name=Example Service" \
  -d "description=An example service" \
  -d "tags=example,demo"

Development

Requirements:

  • Go 1.23.5+
  • Running I2P router with SAM enabled
  • Make (optional, for build script)

Building from source:

make build

Testing:

go test ./...

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/improvement)
  3. Make changes with accompanying tests
  4. Run tests (go test ./...)
  5. Commit changes (git commit -am 'Add improvement')
  6. Push to branch (git push origin feature/improvement)
  7. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright (c) 2025 I2P For Go

Description
I2P "Jump" Server library and server.
Readme MIT 14 MiB
Languages
Go 46%
HTML 29%
CSS 12.6%
JavaScript 12.1%
Makefile 0.3%