.github | ||
.tx | ||
app | ||
build | ||
ui | ||
.appveyor.yml | ||
.bumpversion.cfg | ||
.gitignore | ||
.travis.yml | ||
build.sh | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
Dangerfile | ||
LICENSE | ||
package.json | ||
README.md | ||
yarn.lock |
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.
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
One-time Setup
- Install npm and node (v6 and above required, use nvm if having trouble)
- Install keytar and libsecret (see keytar repository )
- Install yarn by running: npm install -g yarn (may require elevated permissions)
- Check out this repo.
- Set up a Python virtual environment, or live on the wild side.
- Run
./build.sh
. This builds the UI assets and puts them intoapp/dist
. It also downloads lbry daemon.
Running
Run ./node_modules/.bin/electron app
Ongoing Development
cd ui
./watch.sh
This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the ui
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
- Download and install
npm
andnode
from nodejs.org - Download and install
python 2.7
from python.org - Download and Install
Microsoft Visual C++ Compiler for Python 2.7
from Microsoft - Download and install
.NET Framework 2.0 Software Development Kit (SDK) (x64)
from Microsoft
One-time Setup
- 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
- Change directory to
app
and run the following;
yarn install
node_modules\.bin\electron-rebuild
node_modules\.bin\electron-rebuild
cd ..
- Change directory to
ui
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 dist ..\app\dist
cd ..
- Download the lbry daemon and cli binaries and place them in
app\dist\
Building lbry-app
- run
node_modules\.bin\build -p never
from the root of the project.
Running the electron app
- Run
./node_modules/.bin/electron app
Ongoing Development
cd ui
watch.bat
This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the ui
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 /app/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.