Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a6c6ddd155 | ||
![]() |
e5cec00ab9 | ||
![]() |
8c73a63311 | ||
![]() |
0b121f8cb3 | ||
![]() |
867ca0560d | ||
![]() |
4871e65a82 | ||
![]() |
2500a11831 |
151
CHANGELOG.html
Normal file
151
CHANGELOG.html
Normal file
@@ -0,0 +1,151 @@
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta name="author" content="eyedeekay" />
|
||||
<meta name="description" content="terrarium.git" />
|
||||
<meta name="keywords" content="master" />
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="navbar">
|
||||
<a href="#shownav">
|
||||
Show navigation
|
||||
</a>
|
||||
<div id="shownav">
|
||||
<div id="hidenav">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="index.html">
|
||||
index
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="CHANGELOG.html">
|
||||
CHANGELOG
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="#hidenav">
|
||||
Hide Navigation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h1>
|
||||
0.0.08
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
include license in plugin package
|
||||
</li>
|
||||
<li>
|
||||
fix license in plugin config
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
0.0.07
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
restart changelog.
|
||||
</li>
|
||||
<li>
|
||||
fix websiteURL in plugin.
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
1.14.0
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
Stop publishing arm releases.
|
||||
</li>
|
||||
<li>
|
||||
Support TLS 1.3.
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
1.13.0 (2019-07-08)
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
Include Go version in version string.
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
1.12.0 (2019-07-06)
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
Update dependencies.
|
||||
</li>
|
||||
<li>
|
||||
Send messages during connect immediately rather than only after we’ve
|
||||
performed our reverse DNS lookup.
|
||||
</li>
|
||||
<li>
|
||||
Stop logging client reads/writes.
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
1.11.0 (2019-01-01)
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
No longer automatically rehash once a week. I changed my mind about this!
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
1.10.0 (2018-08-18)
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
Rehashing now reloads the TLS certificate and key.
|
||||
</li>
|
||||
<li>
|
||||
Rehashing now automatically happens once a week. This is so we load new
|
||||
certificates.
|
||||
</li>
|
||||
<li>
|
||||
Require valid TLS certificates on outbound TLS connections. This means
|
||||
servers we connect to must have valid certificates that match the name we
|
||||
connect to them as.
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
1.9.0 (2018-07-28)
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
Started tracking changes in a changelog.
|
||||
</li>
|
||||
<li>
|
||||
If a message is invalid, send a notice to opers about it rather than just
|
||||
log. This is to catch bugs arising from this behaviour.
|
||||
</li>
|
||||
<li>
|
||||
Send a notice to opers if there is an unprocessed buffer after a read
|
||||
error. This is again to catch bugs from this behaviour.
|
||||
</li>
|
||||
<li>
|
||||
Failing to set read deadlines now logs rather than triggers client quit.
|
||||
This is to allow for the read to happen which can have data in the
|
||||
buffer.
|
||||
</li>
|
||||
<li>
|
||||
Delay before flagging the client as dead if there is a write error. This
|
||||
is to give us a window to read anything further from the client that
|
||||
might be available.
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://geti2p.net/">
|
||||
I2P
|
||||
</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
2
Makefile
2
Makefile
@@ -1,4 +1,4 @@
|
||||
VERSION=0.0.09
|
||||
VERSION=1.14.0
|
||||
CGO_ENABLED=0
|
||||
export CGO_ENABLED=0
|
||||
|
||||
|
24
go.mod
24
go.mod
@@ -1,15 +1,19 @@
|
||||
module i2pgit.org/idk/terrarium
|
||||
|
||||
go 1.18
|
||||
|
||||
require (
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/eyedeekay/sam3 v0.32.32
|
||||
github.com/horgh/config v0.0.0-20190101204049-770bc48a3bdf
|
||||
github.com/horgh/irc v0.0.0-20190101204118-d089b0b5b5c5
|
||||
github.com/kr/pretty v0.1.0 // indirect
|
||||
github.com/pkg/errors v0.8.1
|
||||
github.com/stretchr/testify v1.4.0
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
|
||||
gopkg.in/yaml.v2 v2.2.4 // indirect
|
||||
github.com/eyedeekay/sam3 v0.33.2
|
||||
github.com/horgh/config v0.0.0-20180303191532-3d1f920eb228
|
||||
github.com/horgh/irc v0.0.0-20180101050313-f421bdb90dcc
|
||||
github.com/pkg/errors v0.8.0
|
||||
github.com/stretchr/testify v1.7.1
|
||||
)
|
||||
|
||||
go 1.13
|
||||
require (
|
||||
github.com/davecgh/go-spew v1.1.0 // indirect
|
||||
github.com/eyedeekay/i2pkeys v0.0.0-20220310052025-204d4ae6dcae // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
|
||||
)
|
||||
|
83
go.sum
83
go.sum
@@ -1,28 +1,79 @@
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/eyedeekay/sam3 v0.32.32 h1:9Ea1Ere5O8Clx8zYxKnvhrWy7R96Q4FvxlPskYf8VW0=
|
||||
github.com/eyedeekay/goSam v0.32.31-0.20210122211817-f97683379f23/go.mod h1:UgJnih/LpotwKriwVPOEa6yPDM2NDdVrKfLtS5DOLPE=
|
||||
github.com/eyedeekay/i2pkeys v0.0.0-20220310052025-204d4ae6dcae h1:SwegHeaf4pkDMB24UltIvJlj2+nd06QUZAbs8BDyfjM=
|
||||
github.com/eyedeekay/i2pkeys v0.0.0-20220310052025-204d4ae6dcae/go.mod h1:W9KCm9lqZ+Ozwl3dwcgnpPXAML97+I8Jiht7o5A8YBM=
|
||||
github.com/eyedeekay/sam3 v0.32.32/go.mod h1:qRA9KIIVxbrHlkj+ZB+OoxFGFgdKeGp1vSgPw26eOVU=
|
||||
github.com/horgh/config v0.0.0-20190101204049-770bc48a3bdf h1:/jDikK0Oteboi7/Z6uzan5aQhiqwMwKTIA+5ZooDclk=
|
||||
github.com/horgh/config v0.0.0-20190101204049-770bc48a3bdf/go.mod h1:DSwQKBmwAzGuDhYajjeJshx5PCPCJfSZJXtbV+8/nck=
|
||||
github.com/horgh/irc v0.0.0-20190101204118-d089b0b5b5c5 h1:wndND79llNLTZZW/Xcg9oKMk/NuGMo+pAX+LKg1mZF8=
|
||||
github.com/horgh/irc v0.0.0-20190101204118-d089b0b5b5c5/go.mod h1:JLhFcwXOnpvhMer1MERfJuFIoJnADayDWe0VkMN3LP4=
|
||||
github.com/eyedeekay/sam3 v0.33.2 h1:WP+fD4oPxiE0cA+gTKRNiZo3SrGI2+5FkzrnU/6Mmz4=
|
||||
github.com/eyedeekay/sam3 v0.33.2/go.mod h1:sPtlI4cRm7wD0UywOzLPvvdY1G++vBSK3n+jiIGqWlU=
|
||||
github.com/getlantern/context v0.0.0-20190109183933-c447772a6520/go.mod h1:L+mq6/vvYHKjCX2oez0CgEAJmbq1fbb/oNJIWQkBybY=
|
||||
github.com/getlantern/errors v1.0.1/go.mod h1:l+xpFBrCtDLpK9qNjxs+cHU6+BAdlBaxHqikB6Lku3A=
|
||||
github.com/getlantern/go-socks5 v0.0.0-20171114193258-79d4dd3e2db5/go.mod h1:kGHRXch95rnGLHjER/GhhFiHvfnqNz7KqWD9kGfATHY=
|
||||
github.com/getlantern/golog v0.0.0-20201105130739-9586b8bde3a9/go.mod h1:ZyIjgH/1wTCl+B+7yH1DqrWp6MPJqESmwmEQ89ZfhvA=
|
||||
github.com/getlantern/hex v0.0.0-20190417191902-c6586a6fe0b7/go.mod h1:dD3CgOrwlzca8ed61CsZouQS5h5jIzkK9ZWrTcf0s+o=
|
||||
github.com/getlantern/hidden v0.0.0-20190325191715-f02dbb02be55/go.mod h1:6mmzY2kW1TOOrVy+r41Za2MxXM+hhqTtY3oBKd2AgFA=
|
||||
github.com/getlantern/netx v0.0.0-20190110220209-9912de6f94fd/go.mod h1:wKdY0ikOgzrWSeB9UyBVKPRhjXQ+vTb+BPeJuypUuNE=
|
||||
github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA=
|
||||
github.com/getlantern/ops v0.0.0-20200403153110-8476b16edcd6/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/renameio v1.0.0/go.mod h1:t/HQoYBZSsWSNK35C6CO/TpPLDVWvxOHboWUAweKUpk=
|
||||
github.com/horgh/config v0.0.0-20180303191532-3d1f920eb228 h1:R302KZFIBabAYgFZ0hgqRTeCF43Lm5rir+UnJYW3idQ=
|
||||
github.com/horgh/config v0.0.0-20180303191532-3d1f920eb228/go.mod h1:DSwQKBmwAzGuDhYajjeJshx5PCPCJfSZJXtbV+8/nck=
|
||||
github.com/horgh/irc v0.0.0-20180101050313-f421bdb90dcc h1:FXH8Jqdcz9BbR94qHrCVGA5FhbcWNC+HpIXYwVgOc2I=
|
||||
github.com/horgh/irc v0.0.0-20180101050313-f421bdb90dcc/go.mod h1:UqEB9NVUSZzN4ESuQX3yEvi80Mgg2O4kttl8oU9+nds=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0=
|
||||
github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/riobard/go-x25519 v0.0.0-20190716001027-10cc4d8d0b33/go.mod h1:BjmVxzAnkLeoEbqHEerI4eSw6ua+RaIB0S4jMV21RAs=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200410194907-79a7a3126eef/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20201125231158-b5590deeca9b/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.0.1-2020.1.6/go.mod h1:pyyisuGw24ruLjrr1ddx39WE0y9OooInRzEYLhQB2YY=
|
||||
|
307
index.html
307
index.html
@@ -1,73 +1,268 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>terrarium - IRC</title>
|
||||
<link rel="stylesheet" type="text/css" href ="/style.css" />
|
||||
<title></title>
|
||||
<meta name="author" content="eyedeekay" />
|
||||
<meta name="description" content="terrarium.git" />
|
||||
<meta name="keywords" content="master" />
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1 id="terrarium"><img src="doc/terrarium-with-text.png" alt="terrarium" /></h1>
|
||||
<p><a href="https://travis-ci.org/eyedeekay/terrarium"><img src="https://travis-ci.org/eyedeekay/terrarium.svg" alt="Build Status" /></a> <a href="https://goreportcard.com/report/i2pgit.org/idk/terrarium"><img src="https://goreportcard.com/badge/i2pgit.org/idk/terrarium" alt="Go Report Card" /></a></p>
|
||||
<p>terrarium is an IRC server with a focus on being small and understandable, originally forked from <a href="https://github.com/horgh/catbox">horgh/catbox</a>. The goal is to create an easy-to-configure I2P IRC server which is highly stable and secure, while retaining the ability to link with non-I2P IRC servers using TLS in order to bridge anonymous and non-anonymous chat. For now, Bridged servers are not anonymous, this may change in the future as I evaluate the feasibility of outproxies or Tor.</p>
|
||||
<h1 id="features">Features</h1>
|
||||
<div id="navbar">
|
||||
<a href="#shownav">
|
||||
Show navigation
|
||||
</a>
|
||||
<div id="shownav">
|
||||
<div id="hidenav">
|
||||
<ul>
|
||||
<li>Server to server linking</li>
|
||||
<li>IRC operators</li>
|
||||
<li>Private (WHOIS shows no channels, LIST isn’t supported)</li>
|
||||
<li>Flood protection</li>
|
||||
<li>K: line style connection banning</li>
|
||||
<li>TLS</li>
|
||||
<li>
|
||||
<a href="index.html">
|
||||
index
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="CHANGELOG.html">
|
||||
CHANGELOG
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>terrarium implements enough of <a href="https://tools.ietf.org/html/rfc1459">RFC 1459</a> to be recognisable as IRC and be minimally functional. It will intentionally omit unnecessary features. Priority features are those which enable moderation and provide more flexible security.</p>
|
||||
<h1 id="plugin-installation-urls">Plugin Installation URL’s</h1>
|
||||
<p><a href="https://geti2p.net/en/docs/plugins">A guide to installing I2P plugins can be found on the I2P web site.</a></p>
|
||||
<h3 id="inside-i2p">Inside I2P</h3>
|
||||
<br>
|
||||
<a href="#hidenav">
|
||||
Hide Navigation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="/"></a>
|
||||
<h1>
|
||||
<img src="doc/terrarium-with-text.png" alt="terrarium"/>
|
||||
</h1>
|
||||
<p>
|
||||
<a href="https://travis-ci.org/eyedeekay/terrarium" rel="nofollow">
|
||||
<img src="https://travis-ci.org/eyedeekay/terrarium.svg" alt="Build
|
||||
Status"/>
|
||||
</a>
|
||||
<a href="https://goreportcard.com/report/i2pgit.org/idk/terrarium" rel="nofollow">
|
||||
<img src="https://goreportcard.com/badge/i2pgit.org/idk/terrarium" alt="Go Report
|
||||
Card"/>
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
terrarium is an IRC server with a focus on being small and understandable,
|
||||
originally forked from
|
||||
<a href="https://github.com/horgh/catbox" rel="nofollow">
|
||||
horgh/catbox
|
||||
</a>
|
||||
. The
|
||||
goal is to create an easy-to-configure I2P IRC server which is highly stable
|
||||
and secure, while retaining the ability to link with non-I2P IRC servers using
|
||||
TLS in order to bridge anonymous and non-anonymous chat. For now, Bridged
|
||||
servers are not anonymous, this may change in the future as I evaluate the
|
||||
feasibility of outproxies or Tor.
|
||||
</p>
|
||||
<h1>
|
||||
Features
|
||||
</h1>
|
||||
<ul>
|
||||
<li><a href="http://idk.i2p/terrarium/terrarium-windows-amd64.su3">Windows (In-I2P)</a></li>
|
||||
<li><a href="http://idk.i2p/terrarium/terrarium-linux-amd64.su3">Linux (In-I2P)</a></li>
|
||||
<li>
|
||||
Server to server linking
|
||||
</li>
|
||||
<li>
|
||||
IRC operators
|
||||
</li>
|
||||
<li>
|
||||
Private (WHOIS shows no channels, LIST isn’t supported)
|
||||
</li>
|
||||
<li>
|
||||
Flood protection
|
||||
</li>
|
||||
<li>
|
||||
K: line style connection banning
|
||||
</li>
|
||||
<li>
|
||||
TLS
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="outside-i2p">Outside I2P</h3>
|
||||
<p>
|
||||
terrarium implements enough of
|
||||
<a href="https://tools.ietf.org/html/rfc1459" rel="nofollow">
|
||||
RFC 1459
|
||||
</a>
|
||||
to be recognisable as IRC and be minimally functional. It will intentionally
|
||||
omit unnecessary features. Priority features are those which enable moderation
|
||||
and provide more flexible security.
|
||||
</p>
|
||||
<h1>
|
||||
Plugin Installation URL’s
|
||||
</h1>
|
||||
<p>
|
||||
<a href="https://geti2p.net/en/docs/plugins" rel="nofollow">
|
||||
A guide to installing I2P plugins can be found on the I2P web site.
|
||||
</a>
|
||||
</p>
|
||||
<h3>
|
||||
Inside I2P
|
||||
</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/terrarium/blizzard/releases">Windows</a></li>
|
||||
<li><a href="https://github.com/terrarium/blizzard/releases">Linux</a></li>
|
||||
<li>
|
||||
<a href="http://idk.i2p/terrarium/terrarium-windows-amd64.su3" rel="nofollow">
|
||||
Windows (In-I2P)
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://idk.i2p/terrarium/terrarium-linux-amd64.su3" rel="nofollow">
|
||||
Linux (In-I2P)
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h1 id="installation">Installation</h1>
|
||||
<ol type="1">
|
||||
<li>Clone the software from <a href="https://i2pgit.org/idk/terrarium">i2pgit.org</a> (<code>git clone https://i2pgit.org/idk/terrarium go/src/i2pgit.org/idk/terrarium && cd go/src/i2pgit.org/idk/terrarium</code>).</li>
|
||||
<li>Build from source (<code>go build</code>).</li>
|
||||
<li>Configure terrarium through config files. There are example configs in the <code>conf</code> directory. All settings are optional and have defaults.</li>
|
||||
<li>Run it, e.g. <code>./terrarium -conf terrarium.conf</code>. You might run it via systemd via a service such as:</li>
|
||||
</ol>
|
||||
<pre><code>[Service]
|
||||
<h3>
|
||||
Outside I2P
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://github.com/terrarium/blizzard/releases" rel="nofollow">
|
||||
Windows
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/terrarium/blizzard/releases" rel="nofollow">
|
||||
Linux
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h1>
|
||||
Installation
|
||||
</h1>
|
||||
<ol>
|
||||
<li>
|
||||
Clone the software from
|
||||
<a href="https://i2pgit.org/idk/terrarium" rel="nofollow">
|
||||
i2pgit.org
|
||||
</a>
|
||||
(
|
||||
<code>
|
||||
git clone https://i2pgit.org/idk/terrarium go/src/i2pgit.org/idk/terrarium && cd go/src/i2pgit.org/idk/terrarium
|
||||
</code>
|
||||
).
|
||||
</li>
|
||||
<li>
|
||||
Build from source
|
||||
(
|
||||
<code>
|
||||
go build
|
||||
</code>
|
||||
).
|
||||
</li>
|
||||
<li>
|
||||
Configure terrarium through config files. There are example configs in the
|
||||
<code>
|
||||
conf
|
||||
</code>
|
||||
directory. All settings are optional and have defaults.
|
||||
</li>
|
||||
<li>
|
||||
Run it, e.g.
|
||||
<code>
|
||||
./terrarium -conf terrarium.conf
|
||||
</code>
|
||||
. You might run it via systemd
|
||||
via a service such as:
|
||||
<code>
|
||||
[Service]
|
||||
ExecStart=/home/ircd/terrarium/terrarium -conf /home/ircd/terrarium/terrarium.conf
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target</code></pre>
|
||||
<h1 id="configuration">Configuration</h1>
|
||||
<h2 id="terrarium.conf">terrarium.conf</h2>
|
||||
<p>Global server settings.</p>
|
||||
<h2 id="opers.conf">opers.conf</h2>
|
||||
<p>IRC operators.</p>
|
||||
<h2 id="servers.conf">servers.conf</h2>
|
||||
<p>The servers to link with.</p>
|
||||
<h2 id="users.conf">users.conf</h2>
|
||||
<p>Privileges and hostname spoofs for users.</p>
|
||||
<p>The only privilege right now is flood exemption.</p>
|
||||
<h2 id="tls">TLS</h2>
|
||||
<p>A setup for a network might look like this:</p>
|
||||
WantedBy=default.target
|
||||
</code>
|
||||
</li>
|
||||
</ol>
|
||||
<h1>
|
||||
Configuration
|
||||
</h1>
|
||||
<h2>
|
||||
terrarium.conf
|
||||
</h2>
|
||||
<p>
|
||||
Global server settings.
|
||||
</p>
|
||||
<h2>
|
||||
opers.conf
|
||||
</h2>
|
||||
<p>
|
||||
IRC operators.
|
||||
</p>
|
||||
<h2>
|
||||
servers.conf
|
||||
</h2>
|
||||
<p>
|
||||
The servers to link with.
|
||||
</p>
|
||||
<h2>
|
||||
users.conf
|
||||
</h2>
|
||||
<p>
|
||||
Privileges and hostname spoofs for users.
|
||||
</p>
|
||||
<p>
|
||||
The only privilege right now is flood exemption.
|
||||
</p>
|
||||
<h2>
|
||||
TLS
|
||||
</h2>
|
||||
<p>
|
||||
A setup for a network might look like this:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Give each server a certificate with 2 SANs: Its own hostname, e.g. server1.example.com, and the network hostname, e.g. irc.example.com.</li>
|
||||
<li>Set up irc.example.com with DNS round-robin listing each server’s IP.</li>
|
||||
<li>List each server by its own hostname in servers.conf.</li>
|
||||
<li>
|
||||
Give each server a certificate with 2 SANs: Its own hostname, e.g.
|
||||
server1.example.com, and the network hostname, e.g. irc.example.com.
|
||||
</li>
|
||||
<li>
|
||||
Set up irc.example.com with DNS round-robin listing each server’s IP.
|
||||
</li>
|
||||
<li>
|
||||
List each server by its own hostname in servers.conf.
|
||||
</li>
|
||||
</ul>
|
||||
<p>Clients connect to the network hostname and verify against it. Servers connect to each other by server hostname and verify against it.</p>
|
||||
<h2 id="i2p">I2P</h2>
|
||||
<p>An example I2P configuration can be found in:</p>
|
||||
<p><code>conf/catbox-i2p.conf</code></p>
|
||||
<p>That’s all the docs I have for now</p>
|
||||
<h1 id="why-the-name">Why the name?</h1>
|
||||
<p>It was forked from an IRC server called catbox which had a focus on simplicity and understandability. It now has the ability to connect to other IRC servers through I2P Tunnels. Clearnet is to I2P Tunnels is sort of like Catbox is to Terrarium.</p>
|
||||
<h1 id="logo">Logo</h1>
|
||||
<p>terrarium logo (c) 2017 Bee</p>
|
||||
<p>
|
||||
Clients connect to the network hostname and verify against it. Servers
|
||||
connect to each other by server hostname and verify against it.
|
||||
</p>
|
||||
<h2>
|
||||
I2P
|
||||
</h2>
|
||||
<p>
|
||||
An example I2P configuration can be found in:
|
||||
</p>
|
||||
<p>
|
||||
<code>
|
||||
conf/catbox-i2p.conf
|
||||
</code>
|
||||
</p>
|
||||
<p>
|
||||
That’s all the docs I have for now
|
||||
</p>
|
||||
<h1>
|
||||
Why the name?
|
||||
</h1>
|
||||
<p>
|
||||
It was forked from an IRC server called catbox which had a focus on simplicity
|
||||
and understandability. It now has the ability to connect to other IRC servers
|
||||
through I2P Tunnels. Clearnet is to I2P Tunnels is sort of like Catbox is to
|
||||
Terrarium.
|
||||
</p>
|
||||
<h1>
|
||||
Logo
|
||||
</h1>
|
||||
<p>
|
||||
terrarium logo © 2017 Bee
|
||||
</p>
|
||||
<div>
|
||||
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://geti2p.net/">
|
||||
I2P
|
||||
</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
157
style.css
Normal file
157
style.css
Normal file
@@ -0,0 +1,157 @@
|
||||
/* edgar default CSS file */
|
||||
|
||||
body {
|
||||
font-family: "Roboto";
|
||||
font-family: monospace;
|
||||
text-align: justify;
|
||||
background-color: #373636;
|
||||
color: whitesmoke;
|
||||
font-size: 1.15em;
|
||||
}
|
||||
|
||||
ul {
|
||||
width: 55%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
ol {
|
||||
width: 55%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-top: 1%;
|
||||
}
|
||||
|
||||
p {
|
||||
max-width: 90%;
|
||||
margin-top: 1%;
|
||||
margin-left: 3%;
|
||||
margin-right: 3%;
|
||||
}
|
||||
|
||||
img {
|
||||
float: left;
|
||||
top: 5%;
|
||||
left: 5%;
|
||||
max-width: 60%;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.link-button:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.link-button:active {
|
||||
color: red;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: monospace;
|
||||
border-radius: 5%;
|
||||
padding: 1%;
|
||||
border-color: darkgray;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #C6D9FE;
|
||||
padding: 1%;
|
||||
}
|
||||
|
||||
ul li {
|
||||
color: #C6D9FE;
|
||||
}
|
||||
|
||||
iframe {
|
||||
background: aliceblue;
|
||||
border-radius: 15%;
|
||||
margin: 2%;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 36vw;
|
||||
height: 64vh;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.editor-toolbar a {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
text-decoration: none !important;
|
||||
color: whitesmoke !important;
|
||||
}
|
||||
|
||||
#feed {
|
||||
width: 60vw;
|
||||
height: unset !important;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: right;
|
||||
background-color: #373636;
|
||||
color: whitesmoke;
|
||||
border: #C6D9FE solid 1px;
|
||||
}
|
||||
|
||||
.thread-post,
|
||||
.thread {
|
||||
color: whitesmoke !important;
|
||||
background-color: #373636;
|
||||
border: 1px solid darkgray;
|
||||
font-size: inherit;
|
||||
padding-top: 1%;
|
||||
padding-bottom: 1%;
|
||||
}
|
||||
|
||||
.thread-post {
|
||||
margin-left: 4%;
|
||||
}
|
||||
|
||||
input {
|
||||
text-align: center;
|
||||
color: whitesmoke !important;
|
||||
background-color: #373636;
|
||||
border: 1px solid darkgray;
|
||||
font: normal normal normal 14px/1 FontAwesome;
|
||||
font-size: inherit;
|
||||
padding-top: 1%;
|
||||
padding-bottom: 1%;
|
||||
}
|
||||
|
||||
.thread-hash {
|
||||
text-align: right;
|
||||
color: whitesmoke !important;
|
||||
background-color: #373636;
|
||||
border: 1px solid darkgray;
|
||||
font-size: inherit;
|
||||
padding-top: 1%;
|
||||
padding-bottom: 1%;
|
||||
}
|
||||
|
||||
.post-body {
|
||||
text-align: left;
|
||||
color: whitesmoke !important;
|
||||
font-size: inherit;
|
||||
padding-top: 1%;
|
||||
padding-bottom: 1%;
|
||||
}
|
||||
#show {display:none; }
|
||||
#hide {display:block; }
|
||||
#show:target {display: block; }
|
||||
#hide:target {display: none; }
|
||||
|
||||
#shownav {display:none; }
|
||||
#hidenav {display:block; }
|
||||
#shownav:target {display: block; }
|
||||
#hidenav:target {display: none; }
|
||||
|
||||
#navbar {
|
||||
float: right;
|
||||
width: 10%;
|
||||
}
|
Reference in New Issue
Block a user