Code Monkey home page Code Monkey logo

onionpipe's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
  • debian 12
  • golang 1.22-bookworm
build/Dockerfile
  • golang 1.22
github-actions
.github/workflows/docker-publish.yml
  • actions/checkout v4
  • docker/setup-buildx-action 49a04d68900b1d260da9b3f06f52638d56cd8ad1
  • docker/login-action 0d4c9c5ea7693da7b068278f7b52bda2a190a446
  • docker/metadata-action a64d0487d7069df33b279515d35d60fa80e2ea62
  • docker/build-push-action e050dfa622d93dfcc095192a984db567cb14f0f0
.github/workflows/goreleaser.yml
  • actions/checkout v4
  • actions/setup-go v5
  • goreleaser/goreleaser-action v6
.github/workflows/static-darwin.yml
  • actions/checkout v4
  • actions/setup-go v5
  • actions/upload-release-asset v1
  • macos 14
.github/workflows/static-linux.yml
  • actions/checkout v4
  • actions/setup-go v5
  • actions/upload-release-asset v1
gomod
go.mod
  • go 1.22
  • github.com/cretz/bine v0.2.1-0.20221201125941-b9d31d9c7866@b9d31d9c7866
  • github.com/frankban/quicktest v1.14.6
  • github.com/google/go-cmp v0.6.0
  • github.com/mitchellh/go-homedir v1.1.0
  • github.com/urfave/cli/v2 v2.27.2
  • golang.org/x/crypto v0.25.0
  • golang.org/x/net v0.27.0

  • Check this box to trigger a request for Renovate to run again on this repository

can't write to docker volume / persistence of secrets.yaml

A simple docker run onionpipe:latest 172.17.0.1:80~80@test fails with ``mkdir /.local: permission deniedbecause onionpipe will try to save the secrets.yaml file to/.local/share/onionpipe/secrets.yaml`:

return filepath.Join(home, ".local", "share", "onionpipe", "secrets.json")

This is because `$HOME` is `/` for the non-existing user 1000 inside docker.

I think the best fix here is to create a user inside the dockerfile, perhaps with home directory set as /data.

Similarly the nextcloud example fails because command: --secrets /var/lib/onionpipe/secrets.json app:80~80@nextcloud

command: --secrets /var/lib/onionpipe/secrets.json app:80~80@nextcloud
tries to access var/lib/onionpipe but it does not have rights to do so.

I am not sure how to best fix this. Volumes are only writable by root. Perhaps the volume should be under /data/.

There is also an issue of persistence here. Running docker run onionpipe:latest --secrets /data/secrets.json 172.17.0.1:80~80@test works (because user 1000 is allowed to write to /data/), but any subsequent run will use a new anonymous volume.

I think the best way here is to declare /data as a VOLUME in the dockerfile.

Any other ideas? I will create a pull request.

Tests

This needs more tests...

Persistence of TOR Address Upon Destruction of Container

How can I reuse the data that is created in the data directory when recreating a container from a mounted volume?

The current behaviour seems to create a brand new entry in the data directory and also a different TOR address when I load a new container with the /data folder mounted from the host.

Example docker-compose.yml

Dunno if you'd find this useful anywhere in your documentation but this works for me.

version: "3.7"
services:
  oniongrok:
    image: ghcr.io/cmars/oniongrok:main
    ## You will need to consider changing the command.
    command: "--secrets /data/.local/share/oniongrok/secrets.json sign:80~80@sign"
    volumes:
      - ./data/:/data/.local/share/oniongrok/

## Demo App, Could be anything.
  sign:
    image: 'eerotal/libresignage:latest'
    volumes:
      - ./data/sign:/var/www/html/data'

At some point, I think it might not be a horrible idea to potentially look at making one of these examples that use the Traefik reverse proxy for fun and research. Especially if that example just uses docker labels.

SyncThing web GUI

Great project, thanks.

Doesn't work with WEB GUI Syncthing (8384) - "Host check error". However, python -m http.server works as it should.

Client site - Win10 + TorBrowser. Second site - Ubuntu 20.04.

Rotate Client Authorization Key w/out restarting docker container

Hey there!

I was wondering if there is a way to rotate client authorization keys without needing to restart the docker container.

I am working on slightly unconventional project where I want to be able to essentially add MFA to my onion sites without setting up a reverse proxy / auth solution like Authelia, Zitadel, Authentik, etc... I would like for this to happen at the client authorization level such that, even if one were to happen upon my onion sites somehow, they would not be able to access any data from them without the key.

I would like to rotate this every 30-60 seconds, similar to your traditional MFA, however I am not certain if I can without restarting the docker container. If I need to restart the docker container, I will need to rotate them at a slower interval.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.