secret-site

command module
v0.0.0-...-a189db7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2024 License: MIT Imports: 6 Imported by: 0

README

SECRET-SITE

Intro

This project is aimed at creating a hardy and robust Go Fiber site that is integrated with DERO.

Arch

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.

Design

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 withAES encryption/decryption of data:
  • User with wallet address validations for DERO network

Roadmap

DOCS
  • API documentation
DB
  • db encryption migrations
  • routine backups
    • segmented backups (conserve storage)
ITEM
  • AES encrypted items
    • :description
    • :image
    • user authenticated, AES encrypted items
USER
  • authentication
  • signup
  • login/logout
EXTRAS
BACKEND
  • config script
  • websocket connections with DERO wallets would be rad
FRONTEND

Install

DERO wallet

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 that derod runs locally:
--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 wallet RPC activation
    • Modify &/or collect user pass details
Clone

Clone repo and change directories:

git clone https://github.com/secretnamebasis/secret-site.git
cd secret-site

Config

It is assume that on first config, that production (prod), development (dev) and testing (test) are the same.

.env

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
SSL cert

This site assumes SSL certification.

Run

To run the application:

go run .

or, if you prefer:

go build . 
./secret-site

Development/Testing

The DERO simulator runs in the background for all developemnt and testing environments.

dev

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
test

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
Releases

We have also included a helpful gh script for deploying releases to GitHub

bin/release

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
app
api
views
views/notfound.go
views/notfound.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL