lbryio / lbry-desktop

A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.
https://lbry.tech
MIT License
3.56k stars 414 forks source link

Support Hub operated dmca/blocking #7663

Open jessopb opened 2 years ago

jessopb commented 2 years ago

It will be your hub's responsibility to block what they wish. Blocking is implemented in the hubs this way: https://github.com/lbryio/hub/blob/master/docs/blocking.md#defaults In short, Content offensive to the hub operator is reposted to a relevant list.

Currently, we pull down a list of outpoints (txid : nout) on startup and block content found there. After this, we will no longer do that, leaving the blocking/filtering to hubs.

Attempting to resolve a blocked item results in this message:

./lbrynet resolve lbry://THEBLOCKEDTHING#ABCDEF
{
  "lbry://THEBLOCKEDTHING": {
    "error": {
      "censor": {
        "address": "bHkpV3HZBTcBNNqQ6ZgH3jZChBLwEa4Zty",
        "amount": "0.1",
        "canonical_url": "lbry://@LBRY-DMCA#d",
        "claim_id": "dd687b357950f6f271999971f43c785e8067c3a9",
        "claim_op": "create",
        "confirmations": 485176,
        "has_signing_key": false,
        "height": 718715,
        "meta": {
          "activation_height": 718715,
          "claims_in_channel": 340,
          "creation_height": 718715,
          "creation_timestamp": 1582124266,
          "effective_amount": "0.1",
          "expiration_height": 2821115,
          "is_controlling": true,
          "reposted": 1,
          "support_amount": "0.0",
          "take_over_height": 718715
        },
        "name": "@LBRY-DMCA",
        "normalized_name": "@lbry-dmca",
        "nout": 0,
        "permanent_url": "lbry://@LBRY-DMCA#dd687b357950f6f271999971f43c785e8067c3a9",
        "short_url": "lbry://@LBRY-DMCA#d",
        "timestamp": 1582124266,
        "txid": "1b3278a9a37186c6390f9e28aae5ec80d71726b7134c0219c5bc6ec6382fc268",
        "type": "claim",
        "value": {
          "public_key": "3056301006072a8648ce3d020106052b8104000a0342000478ceb85de1da54bddafa809f045023d9c1347fd06ea1d9cbceadddb848e2c5d5855946a0eeed8a0739ea960c67048669dbc2c481ae8a67dd316e772fc778f42e",
          "public_key_id": "bShcpKQuV9PJTqeGEfkRXEhvnYBuEmWR9o"
        },
        "value_type": "channel"
      },
      "name": "BLOCKED",
      "text": "Resolve of 'lbry://THEBLOCKEDTHING' was censored by channel with claim id 'dd687b357950f6f271999971f43c785e8067c3a9'."
    }
  }
}

Currently, going to the page in the app goes to image It should instead display an error such as below, but including the text of the error: image

For now, you don't need to remove the lbryio list_blocked, list_filtered calls or legacy blocking system. Just make the new one work.

jessopb commented 2 years ago

Here is some background info https://github.com/lbryio/lbry-sdk/issues/2692

kodxana commented 2 years ago

Can we have way to allow HUB operator to add custom message for example of reason why content got filtered? Making everything DMCA is not always a good way and would be cool as HUB operator to let people knew :)

tzarebczan commented 2 years ago

That's what https://github.com/lbryio/lbry-sdk/pull/3620 does. And it's up to the channel to post it, not the hub operator. The operator may or may not be the one doing the blocking, but rather whitelisting blocking channels.