Giter Club home page Giter Club logo

lbry.com's Introduction

lbry.com

We came from the future to help you save the Internet
Official website for the LBRY protocol.

Installation

Please see INSTALL for comprehensive, easy-to-follow instructions on running this project.

Usage

Unless you are planning to contribute to the lbry.com website, this project serves little independent purpose.

To access a local copy of lbry.com, follow INSTALL and then access localhost:8000 in your browser. This will allow you to make changes to the website, test locally, and then submit pull requests.

Contributing

Contributions to this project are welcome, encouraged, and compensated. For more details, see CONTRIBUTING.

License

This project is MIT licensed. For the full license, see LICENSE.

Build URLs

lbry.com provides functionality for redirecting to build assets of other LBRY repos. The general structure is:

lbry.com/releases/<github_repo_name>.<extension>

For example, to get the latest lbry-desktop release on Windows, you would use the URL:

lbry.com/releases/lbry-desktop.exe

Extension is used to get the release for the appropriate operating system, even if the release asset does not match the extension provided.

Operating System Extensions
Windows msi, exe
macOS dmg, pkg
Linux (Debian) deb
Android apk

The asset returned will match the latest release on the appropriate GitHub repo.

Release candidates can also be targeted. For release candidates, use the following structure:

lbry.com/releases/pre/<github_repo_name>.<extension>

Security

We take security seriously. Please contact [email protected] regarding any security issues.

Our PGP key is here if you need it.

Contact

The primary contact for this project is @lyoshenka ([email protected]).

Additional Info and Links

lbry.com's People

Contributors

blckchnprncss avatar brunoparga avatar ceoger avatar eatdostacos avatar eggplantbren avatar feanor78 avatar finer9 avatar iamuditpatel avatar jackrobison avatar jamesbiller avatar jcentinel avatar jsigwart avatar kauffj avatar kaykurokawa avatar keikari avatar kimihiro64 avatar kodxana avatar liamcardenas avatar lyoshenka avatar maximest-pierre avatar netopwibby avatar nikooo777 avatar noahandrews avatar robvsmith avatar simonkev avatar sonatagreen avatar tiger5226 avatar tzarebczan avatar viktorbengtsson avatar ykris45 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lbry.com's Issues

Mac Docker Setup Broken

I'm using Docker version 17.09.1-ce on macOS Sierra 10.12.6. The docker.sh script doesn't work. This seemed to mostly work

#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
scriptDir="$(cd "$(dirname "$0")" && pwd -P)"

echo $scriptDir


if [ ! -e "data/config.php" ]; then
  cp "$DIR/data/config.php.example" "$DIR/data/config.php"
fi

docker run --rm -it --name "dev.lbry.io" \
  -v "${scriptDir}:/usr/src/lbry.io" \
  -w "/usr/src/lbry.io" \
  -p "127.0.0.1:8000:8000" \
  -u "$(id -u):$(id -g)" \
  php:7-alpine \
  php --server "0.0.0.0:8000" --docroot "web/" "web/index.php"

But then it said that the directory web/ could not be found. I am not sure how to fix this, I have instead opted to run with just php for now which works fine.

Generate new FAQ(s) based on Jeremy's email Q&A

Q. Is anonymous publication possible? How is anonymity accomplished?

A. LBRY does not log

Q. What are the privacy mechanisms? Specifically:

  • Can publishers be connected to real-world identifiers, such as IP addresses? If not, how do you authenticate users so they can maintain control of their content?

A. Yes, if they choose to provide this info. Some of this is still in the works, they're closer to pseudonymous identities currently, though we believe we can support fully verified ones.

Q. Can downloaders be connected to real-world identifiers?

A. Similar to BitTorrent. You can observe IPs.

Q. Is LBRY resistant to firewalls as found in China or Iran?

A. Somewhat unclear. It is likely sophisticated enough software could detect LBRY and stop usage of it, though if this happened we could also evolve things on our end, turning it into a fun game of cat-and-mouse. A lot of the traffic basically ends up looking like random encrypted UDP requests.

Q. What information do you retain that could be subpoeaned?

A. The current software makes some analytics calls that are discarded after several months but are technically subpoenable and could likely be used to prove certain activities. This can be turned off though. Other than this, none.

Q. In whose legal jurisdiction are your servers located?

A. The point of the LBRY protocol is that our servers are not required for it to operate. Though given the youthful state of the network, we do choose to operate some to ensure good performance, and they're located in the US.

SSL errors on all non-www subdomains

Domains like https://abc.lbry.io will serve the website, but trigger an SSL error.

Internal Use

Acceptance Criteria

Definition of Done

  • Tested against acceptance criteria
  • Tested against the assumptions of the user story
  • The project builds without errors
  • Unit tests are written and passing
  • Tests on devices/browsers listed in the issue have passed
  • QA performed & issues resolved
  • Refactoring completed
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Referral link incorrect

I just signed up for early access and the referral link that was shown on the page was wrong.

referral

The one in the email was ok.

Create LBRY App basics FAQ

FAQ would cover:
What is the purpose of having my email connected to LBRY?
What information is tied to the account?
What is a wallet and how do I find it?
Where do I find my LBC address?
Why is content downloaded to my PC?
How do I know if I'm sharing content properly?
Content fails to stream or download, what can I do?

Any other thoughts?

Vulnerability: Lbry is authorizing an extreme github scope

DeveloperActions.class.php

Line 86:
'scope' => 'user:email public_repo',

Effect of the "public_repo" permissions is an extreme read-write across all of that user's projects. This creates several security vulnerabilities, including allowing Lbry to read access tokens or other things which may be saved as part of the meta-data of other repositories. It also provides write permissions from Lbry applications which can invoke that user's token(s) to propagate a vulnerability, etc, to potentially other projects that user also has a development interest in.

Documentation on impacts and options for alternative scopes:
https://developer.github.com/v3/oauth/#scopes

Suggested fix:
At minimum, reduce to reading commitment statuses and organizational information.
Line 86:
'scope' => 'user:email repo_deployment read:org',

Preferred, reduce to reading organizational information ONLY if the only purpose is to verify the account. Or use an empty status to reduce to just general public profile information

Email and Org/Team Data
'scope' => 'user:email read:org',

or

Public user profile info, public repository info, and gists
'scope' => '',

RFC - issue #246

Source
image
This displays perfectly in fullscreen (via f11) however feels redundant considering it creates a scroll in of itself by including a footer. Would you stylistically appreciate the single page layout? If you highlight the image and note how it perfectly fills all of the screen space without leaving room for the browser components.

Add gnome-keyring expectation to startup troubleshooting page

I have a few workstations that run a minimal i3 env without gnome-keyring installed and enabled; it made the client hang without explanation: issue. Looks like there are a number of other people who have run into this problem. Would be good to add the observed error and a section on why that's happening to the startup troubleshooting page.

Win10: An App Default Was Reset" error for aac & m4a files on startup

@icheyne commented on Fri Dec 01 2017

Steps to reproduce

  1. Start lbry.io
  2. See two errors:
  • An App Default Was Reset for aac files
  • An App Default Was Reset for m4a files

System Configuration

  • LBRY Daemon version: 0.18.0
  • LBRY App version: 0.18.2
  • LBRY Installation ID: 6he7dX74BiDuqUdEowvF1QVk9xj6LtS9LGdxWF9oBkDssUajXSGczDSiZYc2KreYCi
  • Operating system:Windows (Windows-10-10.0.15063)

Anything Else

I'm tempted to fix it with this, but it's just a workaround.
http://www.winhelponline.com/blog/windows-10-resetting-file-associations/

It could be that this is not a lbry.io bug but this has happed several times today when I'm starting lbry.io.


@tzarebczan commented on Fri Dec 01 2017

@icheyne thanks for the report. I'll move this over to the correct repo.

Are you certain that the trigger is when you visit https://lbry.io ? What happens if you go to other sites with videos like youtube.com / hulu.com?

Evolution of backup KB articles

  1. Checkout new back-up feature in app. Assess any changes required here.
  2. Determine if 1 or 2 articles needed for KB
  3. Write/update both.
  4. Link one or both from app.

Out-of-date references to free credits

New and prospective users are currently told by the site that they can get free credits in the quickstart tutorial and at seemingly at least one place that suggests users go to the slack channel to get them, which some interpret as "go there and ask."

Apart from creating a jilting initial experience in the quickstart, where users cannot work through the steps because they have no credits, the slack participants seem to be answering the same question each day as to "Is this the place I get my credits?"

I will be happy to do some editing and send a pull request. I assume this is something that is already being thought about and possibly addressed, so I'm opening it as an issue to get feedback and comments.

Create FAQ article on transaction types

Article slug: transaction-types

Suggested title: What types of LBRY transactions are there?

The body should include a table of the types currently listed in the app and what they mean.

Can't check referrals info in website

Can't get referral info when input my register email address, instead I got an error:

We were unable to add you to the wait list. Received error "Tester exists. Please use the update method.". Please contact [email protected] if you think this is a mistake.

Screenshot:

image

Click the the link in email (content as below, sent by jeremy[AT]lbry.io when first time join the list) get the same error.

You can check your status and referals at any time by clicking here.  <--- The Link

Make download button on lbry.io homepage actually download

  1. Create a partial, download/_button.php that will render just a download button (the button that currently exists on get.php).
  2. Use DownloadActions::prepareButtonPartial to prevent duplication of code re: OS detection
  3. If the button is rendered for a request from an OS we do not support, have the button link to /get instead (which will explain it is not available on that OS and collect their email).
  4. Do include the fine text below the button (the build timestamp).
  5. Refactor get.php to use this partial as appropriate.

Straighten out team/author info

Info about the people at LBRY exists in multiple places, primarily the bios and a bunch of functions in the Post class. It should be unified in one location, so there's no duplication and it's easy to add new people. Ideally, non-technical people should be able to add/edit this content without needing to know php.

Create YouTube sync FAQ

This will explain users how the sync process works and what the requirements are.

It will be linked from the app.

Please create this at lbry.io/faq/youtube

Unclear license

posts/faq/is-lbry-open-source.md says that the website, and therefore this repository, is "open source".

However, unlike in the code repositories, no specific license seems to be specified; there's no LICENSE file in the repo, and no copyright/license statement that I've found on the website.

As a matter of open source best practices, this should be made explicit somewhere. Simply saying "open source" isn't enough, because there are multiple different open source licenses, and they're not fully equivalent.

Tag mobile user signups in api db / mailgun

Users who currently come in through a mobile platform are presented with an email signup. The email is stored in our db (or mailgun?) but there is no way to identify the user as Android/IOS.

newline rendering issue between bullets

Newlines between bullets are inserting a <p> tag inside of the <li> tag which leads to incorrect formatting of bullets.

Noticed this when creating https://lbry.io/faq/startup-troubleshooting originally and I had newlines between the bullets. Removing them fixed the issue but the renderer should be able to handle this situation correctly.

Internal Use

Acceptance Criteria

Definition of Done

  • Tested against acceptance criteria
  • Tested against the assumptions of the user story
  • The project builds without errors
  • Unit tests are written and passing
  • Tests on devices/browsers listed in the issue have passed
  • QA performed & issues resolved
  • Refactoring completed
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Bring back bounty for API language specific wrappers

https://github.com/lbryio/lbry.io/commits/master/content/bounty/lbry-binding.md

-Link php example
-Create FAQ with wrappers and POC
Grin:
i don't want it to be one repo. i think it should be separate repos for each language
that tends to work better with package managers
instead of resurrecting, id put up some examples, like https://github.com/lbryio/php-api
btw, as part of this, it would be nice to have a page somewhere (wiki or public faq) listing these repos
then we'll also know who to contact when the api response signature changes, which it def will in the future
can you include that in the bounty text? maybe something like "as part of this bounty, you have to file a a PR on lbry.io to add your repo to this faq article: LINK"

Add twitter handles to team page

  1. Add twitter handles to the FrontMatter metadata of bios (e.g. add twitter: seanyesmunt to sean-yesmunt.md)

  2. Modify content/_bio.php to show a link to Twitter if a handle is set, using a Twitter icon.

  3. Ask @blckchnprncss to collect the Twitter handles of LBRY team members ;)

Per suggestion from @seanyesmunt :)

Add support for blog tags

  1. Add support for defining multiple tags in the FrontMatter metadata of a blog post. The definition should look like this:

tags: tag1, tag2

  1. Add a route ( /news/tag/{tag}) and handler for displaying all blog posts with a tag. This may be a new handler or just a modification to ContentActions::executeNews. Use Post::filter to filter for posts with a tag (ContentActions::executeFaq has a good example of this).

  2. Modify the view to indicate it is showing just posts with a tag.

  3. Update the view for an individual blog post to show it's tags.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.