nsite-ts

0.5.1 • Public • Published

nsite-ts

A Typescript implementation of nsite

Running with docker-compose

git clone https://github.com/hzrd149/nsite-ts.git
cd nsite-ts
docker compose up

Once the service is running you can access the cached version at http://localhost:8080

If you need to test, you can directly access the ts server at http://localhost:3000

Running with docker

The ghcr.io/hzrd149/nsite-ts image can be used to run a http instance locally

docker run --rm -it --name nsite -p 8080:80 ghcr.io/hzrd149/nsite-ts

Manual nginx setup

Before manually setting up nginx and nsite-ts you need a few things installed

Next your going to need to clone the nsite-ts repo and set it up

git clone https://github.com/hzrd149/nsite-ts
cd nsite-ts

# install dependencies
pnpm install

# build app
pnpm build

Then create a new .env file for configuration

cp .env.example .env

Next copy and setup the systemd service

sudo cp contrib/nsite.service /etx/systemd/system/nsite.service

# edit the service and set the working directory path
sudo nano /etx/systemd/system/nsite.service

# reload systemd service
sudo systemctl daemon-reload

# start service
sudo systemctl start nsite

Then once nsite-ts is running, next you need to configure nginx

Start by modifying the /etx/nginx/nginx.conf file and adding a proxy_cache_path to the http section

sudo nano /etc/nginx/nginx.conf
http {
+  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=request_cache:10m max_size=10g inactive=60m use_temp_path=off;
}

Next modify the default site config (usually /etx/nginx/sites-enabled/default or /etc/nginx/conf.d/default.conf) to be one of

Once that is done you can restart nginx and you should have a new nsite server running on port 80

Tor setup

First you need to install tor (sudo apt install tor on debian systems) or Documentation

Then able the tor service

sudo systemctl enable tor
sudo systemctl start tor

Setup hidden service

Modify the torrc file to enable HiddenServiceDir and HiddenServicePort

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

Then restart tor

sudo systemctl restart tor

Next get the onion address using cat /var/lib/tor/hidden_service/hostname and set the ONION_HOST variable in the .env file

# don't forget to start with http://
ONION_HOST="http://q457mvdt5smqj726m4lsqxxdyx7r3v7gufzt46zbkop6mkghpnr7z3qd.onion"

Connecting to Tor and I2P relays and blossom servers

Install Tor (Documentation) and optionally I2Pd (Documentation) and then add the TOR_PROXY and I2P_PROXY variables to the .env file

TOR_PROXY=127.0.0.1:9050
I2P_PROXY=127.0.0.1:4447

Readme

Keywords

none

Package Sidebar

Install

npm i nsite-ts

Weekly Downloads

64

Version

0.5.1

License

MIT

Unpacked Size

92.6 kB

Total Files

12

Last publish

Collaborators

  • hzrd149