A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.
Find a file
Jeremy Kauffman 4b686ff310
Merge pull request #783 from lbryio/restructuring
Update file structure to follow electron-webpack guidelines
2017-11-24 16:01:29 -05:00
.github update references to slack 2017-10-25 17:45:47 -04:00
.tx Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
build Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
src Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
.appveyor.yml build branches with prs on appveyor 2017-06-30 15:04:31 -04:00
.bumpversion.cfg Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
.gitignore Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
.travis.yml only travis on releases 2017-06-23 11:30:17 -04:00
build.sh Fix build script to permit paths with spaces 2017-11-10 11:48:04 -05:00
CHANGELOG.md Added CHANGELOG 2017-11-22 22:30:08 +05:30
CONTRIBUTING.md contributing 2017-09-28 08:14:54 -04:00
Dangerfile minor cleanup 2017-06-21 08:34:50 -04:00
LICENSE Initial commit 2017-01-16 14:05:32 -05:00
package.json Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
README.md Update file structure to follow electron-webpack guidelines 2017-11-24 11:31:05 -03:00
yarn.lock HOTFIX: fix import paths 2017-11-21 17:09:20 -03:00

LBRY App

This is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with a UI using Electron.

App Screenshot

Installing

We provide installers for Windows, macOS, and Debian-based Linux.

Windows macOS Linux
Latest Stable Release Download Download Download
Latest Prerelease Download Download Download

Our releases page also contains the latest release, pre-releases, and past builds.

To install from source or make changes to the application, continue reading below.

Development on Linux and macOS

One-time Setup

  1. Clone this repo
  2. DEPS=true ./build.sh

This will download and install the LBRY app and its dependencies, including the LBRY daemon and command line utilities like node and yarn. The LBRY app requires Node >= 6; if you have an earlier version of Node installed and want to keep it, you can use nvm to switch back and forth.

Running

Run ./node_modules/.bin/electron src/main

Ongoing Development

  1. cd src/renderer
  2. ./watch.sh

This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the src/renderer folder. This allows you to make changes and see them immediately by reloading the app.

Packaging

We use electron-builder to create distributable packages, which is run by calling:

node_modules/.bin/build -p never

Development on Windows

Windows Dependency

  1. Download and install git from github.io (configure to use command prompt integration)
  2. Download and install npm and node from nodejs.org
  3. Download and install python 2.7 from python.org
  4. Download and Install Microsoft Visual C++ Compiler for Python 2.7 from Microsoft
  5. Download and install .NET Framework 2.0 Software Development Kit (SDK) (x64) from Microsoft (may need to extract setup.exe and install manually by running install.exe as Administrator)

One-time Setup

  1. Open command prompt as adminstrator and run the following:
npm install --global --production windows-build-tools
exit
  1. Open command prompt in the root of the project and run the following:
python -m pip install -r build\requirements.txt
python build\set_version.py
npm install -g yarn
yarn install
  1. Change directory to src\main and run the following;
yarn install
node_modules\.bin\electron-rebuild
node_modules\.bin\electron-rebuild
cd ..\..
  1. Change directory to src\renderer and run the following:
yarn install
npm rebuild node-sass
node node_modules\node-sass\bin\node-sass --output dist\css --sourcemap=none scss\
node_modules\.bin\webpack --config webpack.dev.config.js
xcopy /E dist ..\main\dist
cd ..\..
  1. Download the lbry daemon and cli binaries and place them in src\main\dist\

Building lbry-app

  1. run node_modules\.bin\build -p never from the root of the project.

Running the electron app

  1. Run node_modules\.bin\electron src\main

Ongoing Development

  1. cd src\renderer
  2. watch.bat

This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the src\renderer folder. This allows you to make changes and see them immediately by reloading the app.

Internationalization

If you want to help translating the lbry-app, you can copy the en.json file in /src/main/locales and modify the values while leaving the keys as their original English strings. An example for this would be: "Skip": "Überspringen", Translations should automatically show up in options.