Compare commits
43 Commits
v0.0.5
...
0.0.4_read
Author | SHA1 | Date | |
---|---|---|---|
b036b9e8f8 | |||
f36a500210 | |||
dbcf640320 | |||
08f2f9031d | |||
d40d687f6e | |||
b12bf1bf22 | |||
7bcc9344ec | |||
f84eb3ce70 | |||
f576588ec0 | |||
0ae229792c | |||
4e69e3d50b | |||
059a24d638 | |||
45071f0faa | |||
0791f1145b | |||
51c58d6407 | |||
0bf519a351 | |||
1eb8e6fb5c | |||
c4b8236446 | |||
162c6fb01a | |||
11c6b51be6 | |||
17712bf3ae | |||
7a438a29ed | |||
b0cd962ce9 | |||
92462d8986 | |||
8d1a4408ce | |||
179688d8c0 | |||
cb674587f6 | |||
dc0ec87635 | |||
4c86b4fd8a | |||
d48d8e217d | |||
0ac1d8ad65 | |||
c46fcb14f7 | |||
3ec7aace8a | |||
07b65bee1f | |||
1589518259 | |||
9fe7931202 | |||
8daf43276b | |||
2173a6a36e | |||
f9c992dcb2 | |||
fd9eae23eb | |||
![]() |
53eeba13a8 | ||
![]() |
e093175340 | ||
![]() |
81ea32f49c |
8
.dockerignore
Normal file
8
.dockerignore
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
.idea
|
||||||
|
.git
|
||||||
|
.gitlab-ci.yml
|
||||||
|
.vscode
|
||||||
|
|
||||||
|
# CI cache folder storing docker images
|
||||||
|
ci-exports
|
||||||
|
|
105
.gitlab-ci.yml
Normal file
105
.gitlab-ci.yml
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
image: docker:19.03.12
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- docker_test
|
||||||
|
- docker_push
|
||||||
|
|
||||||
|
variables:
|
||||||
|
# When using dind service, we need to instruct docker to talk with
|
||||||
|
# the daemon started inside of the service. The daemon is available
|
||||||
|
# with a network connection instead of the default
|
||||||
|
# /var/run/docker.sock socket. Docker 19.03 does this automatically
|
||||||
|
# by setting the DOCKER_HOST in
|
||||||
|
# https://github.com/docker-library/docker/blob/d45051476babc297257df490d22cbd806f1b11e4/19.03/docker-entrypoint.sh#L23-L29
|
||||||
|
#
|
||||||
|
# The 'docker' hostname is the alias of the service container as described at
|
||||||
|
# https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services.
|
||||||
|
#
|
||||||
|
# Specify to Docker where to create the certificates, Docker will
|
||||||
|
# create them automatically on boot, and will create
|
||||||
|
# `/certs/client` that will be shared between the service and job
|
||||||
|
# container, thanks to volume mount from config.toml
|
||||||
|
DOCKER_TLS_CERTDIR: "/certs"
|
||||||
|
# Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
|
||||||
|
DOCKER_HOST: tcp://docker:2376
|
||||||
|
|
||||||
|
services:
|
||||||
|
- docker:19.03.12-dind
|
||||||
|
|
||||||
|
.docker_cache:
|
||||||
|
cache:
|
||||||
|
# The same key should be used across branches
|
||||||
|
key: "$CI_COMMIT_REF_SLUG"
|
||||||
|
paths:
|
||||||
|
- ci-exports/*.tar
|
||||||
|
|
||||||
|
# Make sure we can build a docker image
|
||||||
|
# It's cached for later jobs
|
||||||
|
build_docker:
|
||||||
|
extends:
|
||||||
|
- .docker_cache
|
||||||
|
stage: docker_test
|
||||||
|
script:
|
||||||
|
# Try to load latest branch image from local tar or from registry
|
||||||
|
- docker load ci-exports/$CI_COMMIT_REF_SLUG.tar || docker pull $CI_REGISTRY_IMAGE:latest || true
|
||||||
|
- docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:latest .
|
||||||
|
- mkdir -p ci-exports/
|
||||||
|
- docker save $CI_REGISTRY_IMAGE:latest > ci-exports/$CI_COMMIT_REF_SLUG.tar
|
||||||
|
|
||||||
|
# Publishes the configured CI registry (by default that's gitlab's registry)
|
||||||
|
push_ci_registry:
|
||||||
|
extends:
|
||||||
|
- .docker_cache
|
||||||
|
stage: docker_push
|
||||||
|
cache:
|
||||||
|
policy: pull
|
||||||
|
before_script:
|
||||||
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||||
|
script:
|
||||||
|
- cat ci-exports/$CI_COMMIT_REF_SLUG.tar | docker load
|
||||||
|
- docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
- docker push $CI_REGISTRY_IMAGE:latest
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
# Make sure to protect these tags!
|
||||||
|
- /^v(\d+\.){2,3}\d+$/
|
||||||
|
- /.+-release$/
|
||||||
|
variables:
|
||||||
|
- $CI_REGISTRY
|
||||||
|
- $CI_REGISTRY_USER
|
||||||
|
- $CI_REGISTRY_PASSWORD
|
||||||
|
- $CI_REGISTRY_IMAGE
|
||||||
|
|
||||||
|
# Publishes the cached image to docker
|
||||||
|
push_dockerhub_registry:
|
||||||
|
extends:
|
||||||
|
- .docker_cache
|
||||||
|
stage: docker_push
|
||||||
|
cache:
|
||||||
|
policy: pull
|
||||||
|
before_script:
|
||||||
|
- docker login -u $DOCKERHUB_REGISTRY_USER -p $DOCKERHUB_REGISTRY_PASSWORD $DOCKERHUB_REGISTRY
|
||||||
|
script:
|
||||||
|
- cat ci-exports/$CI_COMMIT_REF_SLUG.tar | docker load
|
||||||
|
- docker tag $CI_REGISTRY_IMAGE:latest $DOCKERHUB_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
- docker tag $CI_REGISTRY_IMAGE:latest $DOCKERHUB_REGISTRY_IMAGE:latest
|
||||||
|
- docker push $DOCKERHUB_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
- docker push $DOCKERHUB_REGISTRY_IMAGE:latest
|
||||||
|
# Push the readme to dockerhub
|
||||||
|
- docker run -v $PWD:/workspace \
|
||||||
|
-e DOCKERHUB_USERNAME="$DOCKERHUB_REGISTRY_USER" \
|
||||||
|
-e DOCKERHUB_PASSWORD="$DOCKERHUB_REGISTRY_PASSWORD" \
|
||||||
|
-e DOCKERHUB_REPOSITORY="$DOCKERHUB_REGISTRY_IMAGE" \
|
||||||
|
-e README_FILEPATH='/workspace/README.md' \
|
||||||
|
peterevans/dockerhub-description:2
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
# Make sure to protect these tags!
|
||||||
|
- /^v(\d+\.){2,3}\d+$/
|
||||||
|
- /.+-release$/
|
||||||
|
variables:
|
||||||
|
- $DOCKERHUB_REGISTRY
|
||||||
|
- $DOCKERHUB_REGISTRY_USER
|
||||||
|
- $DOCKERHUB_REGISTRY_PASSWORD
|
||||||
|
- $DOCKERHUB_REGISTRY_IMAGE
|
@@ -31,4 +31,4 @@
|
|||||||
* numRi per su3 file: 75 --> 77
|
* numRi per su3 file: 75 --> 77
|
||||||
|
|
||||||
2016-01
|
2016-01
|
||||||
* fork from https://github.com/eyedeekay/i2p-tools-1
|
* fork from https://i2pgit.org/idk/reseed-tools
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
FROM debian:stable-backports
|
FROM debian:stable-backports
|
||||||
ARG I2P_GID=1000
|
ARG I2P_GID=1000
|
||||||
ARG I2P_UID=1000
|
ARG I2P_UID=1000
|
||||||
COPY . /var/lib/i2p/go/src/github.com/eyedeekay/i2p-tools-1
|
COPY . /var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools
|
||||||
WORKDIR /var/lib/i2p/go/src/github.com/eyedeekay/i2p-tools-1
|
WORKDIR /var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get dist-upgrade -y && \
|
apt-get dist-upgrade -y && \
|
||||||
apt-get install -y git golang-1.13-go make && \
|
apt-get install -y git golang-1.13-go make && \
|
||||||
@@ -11,4 +11,4 @@ RUN apt-get update && \
|
|||||||
RUN /usr/lib/go-1.13/bin/go build -v -tags netgo -ldflags '-w -extldflags "-static"'
|
RUN /usr/lib/go-1.13/bin/go build -v -tags netgo -ldflags '-w -extldflags "-static"'
|
||||||
USER $I2P_UID
|
USER $I2P_UID
|
||||||
WORKDIR /var/lib/i2p/i2p-config/reseed
|
WORKDIR /var/lib/i2p/i2p-config/reseed
|
||||||
ENTRYPOINT [ "/var/lib/i2p/go/src/github.com/eyedeekay/i2p-tools-1/entrypoint.sh" ]
|
ENTRYPOINT [ "/var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools/entrypoint.sh" ]
|
14
Makefile
14
Makefile
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
VERSION=0.0.4
|
VERSION=0.0.6
|
||||||
APP=i2p-tools-1
|
APP=i2p-tools-1
|
||||||
USER_GH=eyedeekay
|
USER_GH=eyedeekay
|
||||||
|
|
||||||
@@ -8,8 +8,8 @@ GOARCH?="amd64"
|
|||||||
|
|
||||||
ARG=-v -tags netgo -ldflags '-w -extldflags "-static"'
|
ARG=-v -tags netgo -ldflags '-w -extldflags "-static"'
|
||||||
|
|
||||||
MIN_GO_VERSION=`ls /usr/lib/go-1.14 2>/dev/null >/dev/null && echo 1.14`
|
#MIN_GO_VERSION=`ls /usr/lib/go-1.14 2>/dev/null >/dev/null && echo 1.14`
|
||||||
MIN_GO_VERSION?=1.13
|
MIN_GO_VERSION?=1.15
|
||||||
|
|
||||||
I2P_UID=$(shell id -u i2psvc)
|
I2P_UID=$(shell id -u i2psvc)
|
||||||
I2P_GID=$(shell id -g i2psvc)
|
I2P_GID=$(shell id -g i2psvc)
|
||||||
@@ -62,12 +62,12 @@ build-unfork:
|
|||||||
/usr/lib/go-$(MIN_GO_VERSION)/bin/go build -o i2p-tools-md
|
/usr/lib/go-$(MIN_GO_VERSION)/bin/go build -o i2p-tools-md
|
||||||
|
|
||||||
fork:
|
fork:
|
||||||
sed -i 's|eyedeekay/i2p-tools-1|eyedeekay/i2p-tools-1|g' main.go cmd/*.go reseed/*.go su3/*.go
|
sed -i 's|idk/reseed-tools|idk/reseed-tools|g' main.go cmd/*.go reseed/*.go su3/*.go
|
||||||
make gofmt build-fork
|
make gofmt build-fork
|
||||||
|
|
||||||
unfork:
|
unfork:
|
||||||
sed -i 's|eyedeekay/i2p-tools-1|eyedeekay/i2p-tools-1|g' main.go cmd/*.go reseed/*.go su3/*.go
|
sed -i 's|idk/reseed-tools|idk/reseed-tools|g' main.go cmd/*.go reseed/*.go su3/*.go
|
||||||
sed -i 's|RTradeLtd/i2p-tools-1|eyedeekay/i2p-tools-1|g' main.go cmd/*.go reseed/*.go su3/*.go
|
sed -i 's|RTradeLtd/i2p-tools-1|idk/reseed-tools|g' main.go cmd/*.go reseed/*.go su3/*.go
|
||||||
make gofmt build-unfork
|
make gofmt build-unfork
|
||||||
|
|
||||||
gofmt:
|
gofmt:
|
||||||
@@ -134,4 +134,4 @@ docker-homerun:
|
|||||||
--volume $(HOME)/i2p/netDb:/var/lib/i2p/i2p-config/netDb:z \
|
--volume $(HOME)/i2p/netDb:/var/lib/i2p/i2p-config/netDb:z \
|
||||||
--volume reseed-keys:/var/lib/i2p/i2p-config/reseed:z \
|
--volume reseed-keys:/var/lib/i2p/i2p-config/reseed:z \
|
||||||
eyedeekay/reseed \
|
eyedeekay/reseed \
|
||||||
--signer=hankhill19580@gmail.com
|
--signer=hankhill19580@gmail.com
|
||||||
|
@@ -9,7 +9,7 @@ create, sign, and validate SU3 files. Please note that this requires at least Go
|
|||||||
If you have go installed you can download, build, and install this tool with `go get`
|
If you have go installed you can download, build, and install this tool with `go get`
|
||||||
|
|
||||||
```
|
```
|
||||||
go get github.com/eyedeekay/i2p-tools-1
|
go get i2pgit.org/idk/reseed-tools
|
||||||
i2p-tools -h
|
i2p-tools -h
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -97,12 +97,12 @@ http://j7xszhsjy7orrnbdys7yykrssv5imkn4eid7n5ikcnxuhpaaw6cq.b32.i2p/
|
|||||||
|
|
||||||
also a short guide and complete tech info.
|
also a short guide and complete tech info.
|
||||||
|
|
||||||
## Experimental, currently only available from eyedeekay/i2p-tools-1 fork
|
## Experimental, currently only available from idk/reseed-tools fork
|
||||||
|
|
||||||
Requires ```go mod``` and at least go 1.13. To build the eyedeekay/i2p-tools-1
|
Requires ```go mod``` and at least go 1.13. To build the idk/reseed-tools
|
||||||
fork, from anywhere:
|
fork, from anywhere:
|
||||||
|
|
||||||
git clone https://github.com/eyedeekay/i2p-tools-1
|
git clone https://i2pgit.org/idk/reseed-tools
|
||||||
cd i2p-tools-1
|
cd i2p-tools-1
|
||||||
make build
|
make build
|
||||||
|
|
||||||
|
@@ -16,12 +16,12 @@ import (
|
|||||||
"github.com/cretz/bine/tor"
|
"github.com/cretz/bine/tor"
|
||||||
"github.com/cretz/bine/torutil"
|
"github.com/cretz/bine/torutil"
|
||||||
"github.com/cretz/bine/torutil/ed25519"
|
"github.com/cretz/bine/torutil/ed25519"
|
||||||
"github.com/eyedeekay/i2p-tools-1/reseed"
|
|
||||||
"github.com/eyedeekay/sam3"
|
"github.com/eyedeekay/sam3"
|
||||||
"github.com/eyedeekay/sam3/i2pkeys"
|
"github.com/eyedeekay/sam3/i2pkeys"
|
||||||
"github.com/libp2p/go-libp2p"
|
"github.com/libp2p/go-libp2p"
|
||||||
"github.com/libp2p/go-libp2p-core/host"
|
"github.com/libp2p/go-libp2p-core/host"
|
||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
|
"i2pgit.org/idk/reseed-tools/reseed"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewReseedCommand() cli.Command {
|
func NewReseedCommand() cli.Command {
|
||||||
|
@@ -16,8 +16,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/eyedeekay/i2p-tools-1/reseed"
|
"i2pgit.org/idk/reseed-tools/reseed"
|
||||||
"github.com/eyedeekay/i2p-tools-1/su3"
|
"i2pgit.org/idk/reseed-tools/su3"
|
||||||
)
|
)
|
||||||
|
|
||||||
func loadPrivateKey(path string) (*rsa.PrivateKey, error) {
|
func loadPrivateKey(path string) (*rsa.PrivateKey, error) {
|
||||||
|
@@ -4,9 +4,9 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
|
||||||
"github.com/eyedeekay/i2p-tools-1/reseed"
|
|
||||||
"github.com/eyedeekay/i2p-tools-1/su3"
|
|
||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
|
"i2pgit.org/idk/reseed-tools/reseed"
|
||||||
|
"i2pgit.org/idk/reseed-tools/su3"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewSu3VerifyCommand() cli.Command {
|
func NewSu3VerifyCommand() cli.Command {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#! /usr/bin/env sh
|
#! /usr/bin/env sh
|
||||||
|
|
||||||
cp -r /var/lib/i2p/go/src/github.com/eyedeekay/i2p-tools-1/content ./content
|
cp -r /var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools/content ./content
|
||||||
|
|
||||||
/var/lib/i2p/go/src/github.com/eyedeekay/i2p-tools-1/i2p-tools-1 reseed --yes=true --netdb=/var/lib/i2p/i2p-config/netDb $@
|
/var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools/i2p-tools-1 reseed --yes=true --netdb=/var/lib/i2p/i2p-config/netDb $@
|
||||||
|
2
go.sum
2
go.sum
@@ -66,7 +66,7 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
|
|||||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||||
github.com/eyedeekay/i2p-tools-1 v0.0.4/go.mod h1:l36HvPTtSxbLHelUNo/GQ7+wYbi+oEL2xv/XJnj8aS0=
|
i2pgit.org/idk/reseed-tools v0.0.4/go.mod h1:l36HvPTtSxbLHelUNo/GQ7+wYbi+oEL2xv/XJnj8aS0=
|
||||||
github.com/eyedeekay/ramp v0.0.0-20190429201811-305b382042ab h1:EfTRHxGSbiaEyxNzvKRBWVIDw3mD8xXGxj4gvwFzY7Q=
|
github.com/eyedeekay/ramp v0.0.0-20190429201811-305b382042ab h1:EfTRHxGSbiaEyxNzvKRBWVIDw3mD8xXGxj4gvwFzY7Q=
|
||||||
github.com/eyedeekay/ramp v0.0.0-20190429201811-305b382042ab/go.mod h1:h7mvUAMgZ/rtRDUOkvKTK+8LnDMeUhJSoa5EPdB51fc=
|
github.com/eyedeekay/ramp v0.0.0-20190429201811-305b382042ab/go.mod h1:h7mvUAMgZ/rtRDUOkvKTK+8LnDMeUhJSoa5EPdB51fc=
|
||||||
github.com/eyedeekay/sam3 v0.32.2 h1:xODDY5nBVg0oK7KaYk7ofkXFoHPsmI1umhSv1TZlS7s=
|
github.com/eyedeekay/sam3 v0.32.2 h1:xODDY5nBVg0oK7KaYk7ofkXFoHPsmI1umhSv1TZlS7s=
|
||||||
|
@@ -41,4 +41,4 @@
|
|||||||
* numRi per su3 file: 75 --> 77
|
* numRi per su3 file: 75 --> 77
|
||||||
|
|
||||||
2016-01
|
2016-01
|
||||||
* fork from https://github.com/eyedeekay/i2p-tools-1
|
* fork from https://i2pgit.org/idk/reseed-tools
|
||||||
|
2
main.go
2
main.go
@@ -4,8 +4,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
"github.com/eyedeekay/i2p-tools-1/cmd"
|
|
||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
|
"i2pgit.org/idk/reseed-tools/cmd"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@@ -84,7 +84,7 @@ func HandleAFile(w http.ResponseWriter, dirPath, file string) {
|
|||||||
path := filepath.Join(BaseContentPath, file)
|
path := filepath.Join(BaseContentPath, file)
|
||||||
f, err := ioutil.ReadFile(path)
|
f, err := ioutil.ReadFile(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
w.Write([]byte("Oops! Something went wrong handling your language. Please file a bug at https://github.com/eyedeekay/i2p-tools-1\n\t" + err.Error()))
|
w.Write([]byte("Oops! Something went wrong handling your language. Please file a bug at https://i2pgit.org/idk/reseed-tools\n\t" + err.Error()))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
CachedDataPages[file] = f
|
CachedDataPages[file] = f
|
||||||
@@ -99,7 +99,7 @@ func HandleALocalizedFile(w http.ResponseWriter, dirPath string) {
|
|||||||
dir := filepath.Join(BaseContentPath, "lang", dirPath)
|
dir := filepath.Join(BaseContentPath, "lang", dirPath)
|
||||||
files, err := ioutil.ReadDir(dir)
|
files, err := ioutil.ReadDir(dir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
w.Write([]byte("Oops! Something went wrong handling your language. Please file a bug at https://github.com/eyedeekay/i2p-tools-1\n\t" + err.Error()))
|
w.Write([]byte("Oops! Something went wrong handling your language. Please file a bug at https://i2pgit.org/idk/reseed-tools\n\t" + err.Error()))
|
||||||
}
|
}
|
||||||
var f []byte
|
var f []byte
|
||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
@@ -110,7 +110,7 @@ func HandleALocalizedFile(w http.ResponseWriter, dirPath string) {
|
|||||||
path := filepath.Join(dir, file.Name())
|
path := filepath.Join(dir, file.Name())
|
||||||
b, err := ioutil.ReadFile(path)
|
b, err := ioutil.ReadFile(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
w.Write([]byte("Oops! Something went wrong handling your language. Please file a bug at https://github.com/eyedeekay/i2p-tools-1\n\t" + err.Error()))
|
w.Write([]byte("Oops! Something went wrong handling your language. Please file a bug at https://i2pgit.org/idk/reseed-tools\n\t" + err.Error()))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
f = append(f, []byte(`<div id="`+trimmedName+`">`)...)
|
f = append(f, []byte(`<div id="`+trimmedName+`">`)...)
|
||||||
|
@@ -15,7 +15,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/eyedeekay/i2p-tools-1/su3"
|
"i2pgit.org/idk/reseed-tools/su3"
|
||||||
)
|
)
|
||||||
|
|
||||||
type routerInfo struct {
|
type routerInfo struct {
|
||||||
|
Reference in New Issue
Block a user