Compare commits
13 commits
Author | SHA1 | Date | |
---|---|---|---|
d6ac9af1c3 | |||
|
1b0cb6d5c1 | ||
|
665318f08b | ||
|
d41cf0b79f | ||
|
8fc87780f1 | ||
|
01ed34dc5e | ||
|
ce61af629c | ||
|
1edf5ea4a9 | ||
|
45f7f5eff6 | ||
|
ad06c390bb | ||
|
e5dec23cd6 | ||
|
eb3d963a87 | ||
|
743a38c344 |
7 changed files with 65 additions and 25 deletions
2
.mise.toml
Normal file
2
.mise.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
[tools]
|
||||
golang = "1.24.0"
|
32
Makefile
32
Makefile
|
@ -1,25 +1,37 @@
|
|||
BINARY=dist/rmfake-proxy
|
||||
WINBINARY=dist/rmfake-proxy.exe
|
||||
LINUXBINARY=dist/rmfake-proxy64
|
||||
ARMV7_BINARY=dist/rmfakecloud-proxy-arm7
|
||||
AARCH64_BINARY=dist/rmfakecloud-proxy-aarch64
|
||||
WIN_BINARY=dist/rmfakecloud-proxy.exe
|
||||
LINUX_BINARY=dist/rmfakecloud-proxy64
|
||||
INSTALLER=dist/installer.sh
|
||||
RM12_INSTALLER=dist/installer-rm12.sh
|
||||
RMPRO_INSTALLER=dist/installer-rmpro.sh
|
||||
.PHONY: clean
|
||||
all: $(INSTALLER) $(WINBINARY) $(LINUXBINARY)
|
||||
all: $(RMPRO_INSTALLER) $(RM12_INSTALLER) $(INSTALLER) $(WIN_BINARY) $(LINUX_BINARY)
|
||||
|
||||
$(LINUXBINARY): version.go main.go
|
||||
$(LINUX_BINARY): version.go main.go
|
||||
go build -ldflags="-w -s" -o $@
|
||||
|
||||
$(BINARY): version.go main.go
|
||||
$(ARMV7_BINARY): version.go main.go
|
||||
GOARCH=arm GOARM=7 go build -ldflags="-w -s" -o $@
|
||||
|
||||
$(WINBINARY): version.go main.go
|
||||
$(AARCH64_BINARY): version.go main.go
|
||||
GOARCH=arm64 go build -ldflags="-w -s" -o $@
|
||||
|
||||
$(WIN_BINARY): version.go main.go
|
||||
GOOS=windows go build -ldflags="-w -s" -o $@
|
||||
|
||||
version.go:
|
||||
version.go:
|
||||
go generate
|
||||
|
||||
$(INSTALLER): $(BINARY) scripts/installer.sh
|
||||
$(RMPRO_INSTALLER): $(AARCH64_BINARY) scripts/installer.sh
|
||||
cp scripts/installer.sh $@
|
||||
gzip -c $(BINARY) >> $@
|
||||
gzip -c $(AARCH64_BINARY) >> $@
|
||||
chmod +x $@
|
||||
|
||||
$(INSTALLER) $(RM12_INSTALLER): $(ARMV7_BINARY) scripts/installer.sh
|
||||
cp scripts/installer.sh $@
|
||||
gzip -c $(ARMV7_BINARY) >> $@
|
||||
chmod +x $@
|
||||
|
||||
clean:
|
||||
rm -fr dist
|
||||
|
|
28
README.md
28
README.md
|
@ -3,10 +3,33 @@ Single-minded HTTPS reverse proxy
|
|||
|
||||
(forked from https://github.com/yi-jiayu/secure)
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
|
||||
### Manual
|
||||
Download `installer-rm12.sh` for rm1/2 or `installer-rmpro.sh` on a pc.
|
||||
Transfer to the tablet with `scp` / `WinSCP`
|
||||
run installer on the tablet over ssh
|
||||
```
|
||||
chmod +x installer-xxx.sh
|
||||
./installer-xxx.sh
|
||||
```
|
||||
|
||||
### Use toltec if supported
|
||||
`opkg install rmfakecloud-proxy`
|
||||
|
||||
### rmpro
|
||||
To make it permanent, make root writable and unmount /etc first e.g.
|
||||
```
|
||||
mount -o remount,rw /
|
||||
umount -R /etc
|
||||
./installer-rmpro.sh
|
||||
```
|
||||
|
||||
## Usage
|
||||
```
|
||||
usage: secure [-addr host:port] -cert certfile -key keyfile upstream
|
||||
usage: rmfakecloud-proxy [-addr host:port] -cert certfile -key keyfile upstream
|
||||
-addr string
|
||||
listen address (default ":443")
|
||||
-cert string
|
||||
|
@ -20,7 +43,7 @@ usage: secure [-addr host:port] -cert certfile -key keyfile upstream
|
|||
|
||||
### Example
|
||||
```
|
||||
secure -cert cert.pem -key key.pem http://localhost:6060
|
||||
rmfakecloud-proxy -cert cert.pem -key key.pem http://localhost:6060
|
||||
```
|
||||
|
||||
## Configfile
|
||||
|
@ -30,3 +53,4 @@ key: proxy.key
|
|||
upstream: https://somehost:123
|
||||
#addr: :443
|
||||
```
|
||||
|
||||
|
|
4
go.mod
4
go.mod
|
@ -1,5 +1,5 @@
|
|||
module github.com/yi-jiayu/secure
|
||||
|
||||
go 1.15
|
||||
go 1.24
|
||||
|
||||
require gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
|
||||
require gopkg.in/yaml.v3 v3.0.1
|
||||
|
|
5
go.sum
5
go.sum
|
@ -1,3 +1,4 @@
|
|||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
3
main.go
3
main.go
|
@ -7,7 +7,6 @@ import (
|
|||
"context"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/http/httputil"
|
||||
|
@ -58,7 +57,7 @@ func getConfig() (config *Config, err error) {
|
|||
|
||||
if configFile != "" {
|
||||
var data []byte
|
||||
data, err = ioutil.ReadFile(configFile)
|
||||
data, err = os.ReadFile(configFile)
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
UNIT_NAME=proxy
|
||||
BINARY=rmfake-proxy
|
||||
UNIT_NAME=rmfakecloud-proxy
|
||||
BINARY=rmfakecloud-proxy
|
||||
DESTINATION="/home/root/rmfakecloud"
|
||||
|
||||
|
||||
|
@ -26,19 +26,15 @@ function install_proxyservice(){
|
|||
cloudurl=$1
|
||||
echo "Setting cloud sync to: ${cloudurl}"
|
||||
workdir=$DESTINATION
|
||||
cat > $workdir/proxy.cfg <<EOF
|
||||
URL=
|
||||
EOF
|
||||
cat > /etc/systemd/system/${UNIT_NAME}.service <<EOF
|
||||
[Unit]
|
||||
Description=reverse proxy
|
||||
Description=rmfakecloud reverse proxy
|
||||
#StartLimitIntervalSec=600
|
||||
#StartLimitBurst=4
|
||||
After=home.mount
|
||||
|
||||
[Service]
|
||||
Environment=HOME=/home/root
|
||||
#EnvironmentFile=$workdir/proxy.cfg
|
||||
WorkingDirectory=$workdir
|
||||
ExecStart=$workdir/${BINARY} -cert $workdir/proxy.bundle.crt -key $workdir/proxy.key ${cloudurl}
|
||||
|
||||
|
@ -103,6 +99,9 @@ DNS.2 = *.remarkable.com
|
|||
DNS.3 = *.cloud.remarkable.com
|
||||
DNS.4 = *.cloud.remarkable.engineering
|
||||
DNS.5 = *.rmfakecloud.localhost
|
||||
DNS.6 = *.internal.cloud.remarkable.com
|
||||
DNS.7 = *.tectonic.remarkable.com
|
||||
DNS.8 = *.ping.remarkable.com
|
||||
EOF
|
||||
|
||||
# ca
|
||||
|
@ -173,6 +172,9 @@ function patch_hosts(){
|
|||
127.0.0.1 ping.remarkable.com
|
||||
127.0.0.1 internal.cloud.remarkable.com
|
||||
127.0.0.1 backtrace-proxy.cloud.remarkable.engineering
|
||||
127.0.0.1 dev.ping.remarkable.com
|
||||
127.0.0.1 dev.tectonic.remarkable.com
|
||||
127.0.0.1 dev.internal.cloud.remarkable.com
|
||||
# rmfake_end
|
||||
EOF
|
||||
fi
|
||||
|
|
Loading…
Add table
Reference in a new issue