nostr-relay


Namenostr-relay JSON
Version 1.13 PyPI version JSON
download
home_pagehttps://code.pobblelabs.org/fossil/nostr_relay
Summarynostr relay
upload_time2023-10-11 23:00:22
maintainer
docs_urlNone
authorDave St.Germain
requires_python>=3.9
licenseBSD 3-Clause License
keywords protocol
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            This is a Python 3.9+ implementation of a [nostr](https://github.com/nostr-protocol/nostr) relay.

## Features

* Stores data in LMDB, SQLite or Postgresql. See [Storage](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/storage.md)
* [Scalable](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/performance.md) to thousands of concurrent clients
* [Dynamic allow/deny lists](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/dynamic_lists.md)
* Configurable garbage collector
* Configurable [event validators](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/storage.md)
* [Full-text indexing](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/fulltext.md)
* Can serve as a NIP-05 [identity provider](https://code.pobblelabs.org/fossil/nostr_relay/wiki?name=idp)
* Support for NIP-42 [authentication](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/authentication.md)
* Support for [rate-limiting](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/rate_limits.md)
* Supports more NIPs than any other relay implementation:
    * [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md) – basic protocol
    * [NIP-02](https://github.com/nostr-protocol/nips/blob/master/02.md) – contact lists
    * [NIP-05](https://github.com/nostr-protocol/nips/blob/master/05.md) – verifying identity
    * [NIP-09](https://github.com/nostr-protocol/nips/blob/master/09.md) – deletion events
    * [NIP-11](https://github.com/nostr-protocol/nips/blob/master/11.md) – relay metadata
    * [NIP-12](https://github.com/nostr-protocol/nips/blob/master/12.md) – generic tags
    * [NIP-15](https://github.com/nostr-protocol/nips/blob/master/15.md) – EOSE
    * [NIP-20](https://github.com/nostr-protocol/nips/blob/master/20.md) – command results
    * [NIP-26](https://github.com/nostr-protocol/nips/blob/master/26.md) – delegated events
    * [NIP-33](https://github.com/nostr-protocol/nips/blob/master/33.md) – parameterized replaceable events
    * [NIP-40](https://github.com/nostr-protocol/nips/blob/master/40.md) – expiration events
    * [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md) – [authentication](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/authentication.md)
    * [NIP-50](https://github.com/nostr-protocol/nips/blob/master/50.md) – [full-text search](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/fulltext.md)
    * [NIP-65](https://github.com/nostr-protocol/nips/blob/master/65.md) – Relay lists
* Pluggable features, allowing you to use nostr_relay as a library for your own custom implementation


## Installation

`pip install nostr-relay`

To run:

`nostr-relay serve`

to change the location of the database and other settings, create a yaml config file that looks [like this](https://code.pobblelabs.org/fossil/nostr_relay/file?name=nostr_relay/config.yaml):

and run with `nostr-relay -c /path/to/config.yaml serve`


Then add `ws://127.0.0.1:6969` to your relay list.

(obviously, in production you should use a TLS certificate)

Visit [the nostr-relay fossil repository](https://code.pobblelabs.org/fossil/nostr_relay) for more information.


            

Raw data

            {
    "_id": null,
    "home_page": "https://code.pobblelabs.org/fossil/nostr_relay",
    "name": "nostr-relay",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "protocol",
    "author": "Dave St.Germain",
    "author_email": "dave@st.germa.in",
    "download_url": "https://files.pythonhosted.org/packages/b8/16/5aa0f66a8faecb16dfada414e37a82e5512083592a6587845faa67d8a559/nostr_relay-1.13.tar.gz",
    "platform": null,
    "description": "This is a Python 3.9+ implementation of a [nostr](https://github.com/nostr-protocol/nostr) relay.\n\n## Features\n\n* Stores data in LMDB, SQLite or Postgresql. See [Storage](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/storage.md)\n* [Scalable](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/performance.md) to thousands of concurrent clients\n* [Dynamic allow/deny lists](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/dynamic_lists.md)\n* Configurable garbage collector\n* Configurable [event validators](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/storage.md)\n* [Full-text indexing](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/fulltext.md)\n* Can serve as a NIP-05 [identity provider](https://code.pobblelabs.org/fossil/nostr_relay/wiki?name=idp)\n* Support for NIP-42 [authentication](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/authentication.md)\n* Support for [rate-limiting](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/rate_limits.md)\n* Supports more NIPs than any other relay implementation:\n    * [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md) \u2013 basic protocol\n    * [NIP-02](https://github.com/nostr-protocol/nips/blob/master/02.md) \u2013 contact lists\n    * [NIP-05](https://github.com/nostr-protocol/nips/blob/master/05.md) \u2013 verifying identity\n    * [NIP-09](https://github.com/nostr-protocol/nips/blob/master/09.md) \u2013 deletion events\n    * [NIP-11](https://github.com/nostr-protocol/nips/blob/master/11.md) \u2013 relay metadata\n    * [NIP-12](https://github.com/nostr-protocol/nips/blob/master/12.md) \u2013 generic tags\n    * [NIP-15](https://github.com/nostr-protocol/nips/blob/master/15.md) \u2013 EOSE\n    * [NIP-20](https://github.com/nostr-protocol/nips/blob/master/20.md) \u2013 command results\n    * [NIP-26](https://github.com/nostr-protocol/nips/blob/master/26.md) \u2013 delegated events\n    * [NIP-33](https://github.com/nostr-protocol/nips/blob/master/33.md) \u2013 parameterized replaceable events\n    * [NIP-40](https://github.com/nostr-protocol/nips/blob/master/40.md) \u2013 expiration events\n    * [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md) \u2013 [authentication](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/authentication.md)\n    * [NIP-50](https://github.com/nostr-protocol/nips/blob/master/50.md) \u2013 [full-text search](https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/fulltext.md)\n    * [NIP-65](https://github.com/nostr-protocol/nips/blob/master/65.md) \u2013 Relay lists\n* Pluggable features, allowing you to use nostr_relay as a library for your own custom implementation\n\n\n## Installation\n\n`pip install nostr-relay`\n\nTo run:\n\n`nostr-relay serve`\n\nto change the location of the database and other settings, create a yaml config file that looks [like this](https://code.pobblelabs.org/fossil/nostr_relay/file?name=nostr_relay/config.yaml):\n\nand run with `nostr-relay -c /path/to/config.yaml serve`\n\n\nThen add `ws://127.0.0.1:6969` to your relay list.\n\n(obviously, in production you should use a TLS certificate)\n\nVisit [the nostr-relay fossil repository](https://code.pobblelabs.org/fossil/nostr_relay) for more information.\n\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "nostr relay",
    "version": "1.13",
    "project_urls": {
        "Homepage": "https://code.pobblelabs.org/fossil/nostr_relay"
    },
    "split_keywords": [
        "protocol"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb4dff0b7b0d748908c8fe810c1c651b6e25f74ebb2bd9e749cf3c97075493e8",
                "md5": "028fbd3cbc173d0e7ce868738d5a284c",
                "sha256": "f47e72c620efbaf81c2517dd12d225cdddda6861527681a4b26492e775ab4bcb"
            },
            "downloads": -1,
            "filename": "nostr_relay-1.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "028fbd3cbc173d0e7ce868738d5a284c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 61573,
            "upload_time": "2023-10-11T23:00:07",
            "upload_time_iso_8601": "2023-10-11T23:00:07.752864Z",
            "url": "https://files.pythonhosted.org/packages/cb/4d/ff0b7b0d748908c8fe810c1c651b6e25f74ebb2bd9e749cf3c97075493e8/nostr_relay-1.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b8165aa0f66a8faecb16dfada414e37a82e5512083592a6587845faa67d8a559",
                "md5": "27ed6231a2f092408539f250c3679a37",
                "sha256": "6deb67f5a79e8e3b28f9b5d2aa803e256ba1b82e11c8afbc446a9f43090ef00e"
            },
            "downloads": -1,
            "filename": "nostr_relay-1.13.tar.gz",
            "has_sig": false,
            "md5_digest": "27ed6231a2f092408539f250c3679a37",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 85699,
            "upload_time": "2023-10-11T23:00:22",
            "upload_time_iso_8601": "2023-10-11T23:00:22.773122Z",
            "url": "https://files.pythonhosted.org/packages/b8/16/5aa0f66a8faecb16dfada414e37a82e5512083592a6587845faa67d8a559/nostr_relay-1.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-11 23:00:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "nostr-relay"
}
        
Elapsed time: 0.14197s