Browse Source

Merge pull request 'some improvements' (#24) from jahway into dev

Reviewed-on: #24
pull/35/head
jahway603 2 years ago
parent
commit
1c7894077c
  1. 2
      README.md
  2. 21
      doc/examples/README.md
  3. 19
      doc/examples/run_lightwalletd_nginx.sh
  4. 26
      doc/examples/run_lightwalletd_no-web.sh
  5. 15
      util/build-debian-package.sh
  6. 12
      util/build.sh

2
README.md

@ -125,7 +125,7 @@ These are the current different command line options for lightwalletd:
| -cache-size| 40000 | number of blocks to hold in the cache | | -cache-size| 40000 | number of blocks to hold in the cache |
## Support ## Support
For support or other questions, join us on [Telegram](https://hush.is/telegram), or tweet at [@MyHushTeam](https://twitter.com/MyHushTeam), or toot at our [Mastodon](https://fosstodon.org/@myhushteam) or join [Telegram Support](https://hush.is/telegram_support). For support or other questions, join us on [Telegram](https://hush.is/telegram), or toot at our [Mastodon](https://fosstodon.org/@myhushteam) or join [Telegram Support](https://hush.is/telegram_support).
## License ## License
GPLv3 or later GPLv3 or later

21
doc/examples/README.md

@ -0,0 +1,21 @@
# Example lightwalletd configurations
# Table of contents
1. [Why](#why)
2. [With Nginx](#with-nginx)
3. [No Web](#no-web)
4. [Apache](#apache)
## Why
The [Hush Lightwalletd](https://git.hush.is/hush/lightwalletd/) can be configured in numerous different ways depending upon your specific setup. Here I will cover some example configurations and include shell scripts you can modify for your needs once you decide how you want to configure it.
## With Nginx
For Nginx specifics, refer to the [lightwalletd README](https://git.hush.is/hush/lightwalletd/src/branch/master/README.md) to setup your SSL cert config.
Then you can use this [example shell script](run_lightwalletd_nginx.sh) to run lightwalletd with an nginx reverse proxy frontend. In the script you have to change the hostname and username before running it.
## No Web
Here we run lightwalletd without any web servers (no nginx) and as a stand-alone service managing the SSL cert config internally. Use this [example shell script](run_lightwalletd_no-web.sh) to run lightwalletd stand-alone.
## Apache
I do not know Apache, but you are welcome to contribute your example configuration if you are using it as a reverse proxy.

19
doc/examples/run_lightwalletd_nginx.sh

@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Purpose: simple run script for Hush lightwalletd with an nginx reverse proxy frontend
# Setup: Change host, change username, and then run this to start lightwalletd
### Change below to your lightwalletd public server name ###
host=your.server.name.com
# port 9067 is the default lightwalletd port
port=9067
host_and_port="${host}:${port}"
### Change below to the username running lightwalletd ###
# this user account must have access to the HUSH3.conf
username=jahway603
hush_conf="/home/${username}/.hush/HUSH3/HUSH3.conf"
echo "starting lightwalletd on port $port..."
lightwalletd -bind-addr "$host_and_port" -conf-file "$hush_conf" -no-tls
# let's go brandon

26
doc/examples/run_lightwalletd_no-web.sh

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Purpose: simple run script for Hush lightwalletd with NO web frontend
# Setup: Change username, setup your SSL cert config, and then run this to start lightwalletd
# had to use this IP when using acme.sh instead of certbot
ip=0.0.0.0
# port 9067 is the default lightwalletd port
port=9067
ip_and_port="${ip}:${port}"
### Change below to the username running lightwalletd ###
# this user account must have access to the HUSH3.conf
username=jahway603
hush_conf="/home/${username}/.hush/HUSH3/HUSH3.conf"
### Setup SSL cert config below ###
# Change below to your lightwalletd public server name
host=your.server.name.com
# Change to your SSL cert, certbot does one thing, acme.sh does another, YMMV
ssl_cert="/etc/nginx/ssl/${host}/fullchain/${host}.pem"
ssl_key="/etc/nginx/ssl/${host}/key/${host}.key.pem"
echo "starting lightwalletd on port $port..."
lightwalletd -bind-addr "$ip_and_port" -conf-file "$hush_conf" -tls-cert "$ssl_cert" --tls-key "$ssl_key"
# let's go brandon

15
util/build-debian-package.sh

@ -16,11 +16,11 @@ if ! [ -x "$(command -v ./lightwalletd)" ]; then
fi fi
# Check if lintian is installed and exit if it is not # Check if lintian is installed and exit if it is not
#if ! [ -x "$(command -v lintian)" ]; then if ! [ -x "$(command -v lintian)" ]; then
# echo 'Error: lintian is not installed yet. Consult your Linux version package manager...' >&2 echo 'Error: lintian is not installed yet. Consult your Linux version package manager...' >&2
# echo "" echo ""
# exit 1 exit 1
#fi fi
echo "Let There Be Hush Lightwalletd Debian Packages!" echo "Let There Be Hush Lightwalletd Debian Packages!"
echo "" echo ""
@ -92,7 +92,6 @@ fakeroot dpkg-deb --build $BUILD_DIR
cp $BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb $SRC_PATH cp $BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb $SRC_PATH
shasum -a 256 $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb shasum -a 256 $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb
# Analyze with Lintian, reporting bugs and policy violations # Analyze with Lintian, reporting bugs and policy violations
# Arch does not have lintian, as it's a Debian package, so commenting this out # Arch does not have lintian, as it's a Debian package, so run this on Debian stuff
# To-DO - test on Debian/Ubuntu, create AUR lintian package lintian -i $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb
#lintian -i $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb
exit 0 exit 0

12
util/build.sh

@ -4,11 +4,21 @@
# file LICENSE or https://www.gnu.org/licenses/gpl-3.0.en.html # file LICENSE or https://www.gnu.org/licenses/gpl-3.0.en.html
# Purpose: Script to build Hush lightwalletd on x86 64-bit arch # Purpose: Script to build Hush lightwalletd on x86 64-bit arch
## Usage: ./util/build.sh
# Check if go is installed on system...
v=`go version | { read _ _ v _; echo ${v#go}; }`
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
# Check if go is installed on system and exits if it is not # Check if go is installed on system and exits if it is not
if ! [ -x "$(command -v go)" ]; then if ! [ -x "$(command -v go)" ]; then
echo 'Error: go is not installed. Install go and try again.' >&2 echo 'Error: go is not installed. Install go and try again.' >&2
exit 1 exit 1
# If go is installed, then check system for at least version 1.13.0
elif [ $(version $v) -lt $(version "1.13.0") ]; then
echo 'Error: the go version you have installed requires at least version 1.13, which your system does not have installed. Install a newer version of go and try again.' >&2
echo ''
echo "Try out gobrew to install a newer version than what your OS package manager supplies."
exit 1
fi fi
echo "" echo ""
@ -23,7 +33,7 @@ echo "+------'+------'+------'+------'+------'+------'+------'+------'+------'+-
# now to compiling... # now to compiling...
echo "" echo ""
echo "You have go installed, so starting to compile Hush lightwalletd for you..." echo "You have at least go 1.13.0 installed, so starting to compile Hush lightwalletd for you..."
cd `pwd`/cmd/server cd `pwd`/cmd/server
go build -o lightwalletd main.go go build -o lightwalletd main.go
mv lightwalletd `pwd`/../../lightwalletd mv lightwalletd `pwd`/../../lightwalletd

Loading…
Cancel
Save