This project is aimed at creating a hardy and robust Go Fiber site that is integrated with DERO.
The hefitest part of this project lies squarely on GoFiber
.
The database is bbolt
, an in app key/value store.
The coolest feature included is the integration with DERO
.
secret-site
is a TLS encrypted website for hosting encrypted content.
The following models are supported in the bbolt
database with the accompanying features:
- Item with
AES
encryption/decryption ofdata:
- User with wallet address validations for
DERO
network
- API documentation
- db encryption migrations
- routine backups
- segmented backups (conserve storage)
AES
encrypted items:description
:image
- user authenticated,
AES
encrypted items
- authentication
- signup
- login/logout
config script- websocket connections with DERO wallets would be rad
As a pre requisite, running secret-site
in production environments requires a DERO wallet instance:
- CLI:
- Download the latest binaries of
DERO
- Restore, or create, a wallet file
- Launch
dero-wallet-cli
with these suggested flags ; supposing of course thatderod
runs locally:
- Download the latest binaries of
--rpc-bind=127.0.0.1:10103 \
--daemon-address=127.0.0.1:10102 \
--rpc-server \
--rpc-login="secret:pass"
- GUI:
- Download the latest
ENGRAM
- Restore, or create, wallet file
- Configure module
Cyberdeck
for walletRPC
activation - Modify &/or collect
user
pass
details
- Download the latest
Clone repo and change directories:
git clone https://github.com/secretnamebasis/secret-site.git
cd secret-site
It is assume that on first config
, that production (prod
), development (dev
) and testing (test
) are the same.
Default values in dot.env.sample
are used to set default values for the .env
variables prior to running the config
, which will write env
files to the project directory ./
:
.env
.env.dev
.env.test
bin/config
This site assumes SSL certification.
To run the application:
go run .
or, if you prefer:
go build .
./secret-site
The DERO
simulator
runs in the background for all developemnt and testing environments.
Any env
but prod
runs app without TLS. Use parse flags to customize your development environment.
go run . -env=dev -port=3000 -db=./app/database/
You can launch the server using DERO mainnet backend:
bin/dev
Or, you can launch the server using DERO simulator backend
bin/dev sim
When you run_integration_test.sh
, you will find times-stamped builds in ./build/
and logs in ./log/
.
Alternatively, if you would like to test only the API:
bin/test
We have also included a helpful gh
script for deploying releases to GitHub
bin/release