Compare commits

...

18 commits

Author SHA1 Message Date
d6ac9af1c3
chore: go 1.24 and regen go.mod 2025-02-24 16:03:51 -08:00
ddvk
1b0cb6d5c1 add dev cloud urls 2024-12-15 15:33:18 +01:00
ddvk
665318f08b
Update README.md
typo
2024-11-23 09:04:14 +01:00
ddvk
d41cf0b79f
Update README.md
add simple instructions for rmpro
2024-11-23 09:02:57 +01:00
ddvk
8fc87780f1
Merge pull request #15 from ddvk/revert-14-add-apphost-com
Revert "Add host local.apphost.com"
2024-11-15 18:06:50 +01:00
ddvk
01ed34dc5e
Revert "Add host local.apphost.com" 2024-11-15 18:06:01 +01:00
ddvk
ce61af629c
Merge pull request #14 from innerand/add-apphost-com 2024-11-14 08:27:29 +01:00
Andreas Innerlohninger
1edf5ea4a9 Add host local.apphost.com 2024-11-10 16:04:10 +01:00
ddvk
45f7f5eff6
Merge pull request #13 from Esras/feature/add_rmpro_build_and_installer
Add RM Paper Pro Support
2024-10-07 18:22:51 +02:00
ddvk
ad06c390bb fix build 2024-10-07 14:05:44 +02:00
Esras
e5dec23cd6 Add back in original INSTALLER target for backwards compatability. 2024-10-05 17:24:34 -07:00
Esras
eb3d963a87 Add a new target for the RMPro installer to the Makefile and rearrange / rename some of the other variables to reflect multiple outputs. 2024-10-05 17:14:57 -07:00
ddvk
743a38c344 rename binary to rmfakecloud-proxy 2024-09-26 20:54:33 +02:00
Dobrin von Känel
3ddeb5ae39
Merge pull request #9 from Eeems/patch-1 2023-11-29 10:21:35 +01:00
Nathaniel van Diepen
2f208b01d6
Don't run sed if no metadata files are found 2023-11-28 16:45:06 -07:00
ddvk
fbd6f6f16a add new localhost address 2022-10-28 23:41:02 +02:00
ddvk
fce8ddfeb2 add more hosts 2022-04-06 21:18:56 +02:00
Dobrin von Känel
b137c369b0
Update README.md 2021-12-14 11:13:49 +01:00
7 changed files with 73 additions and 32 deletions

2
.mise.toml Normal file
View file

@ -0,0 +1,2 @@
[tools]
golang = "1.24.0"

View file

@ -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

View file

@ -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
@ -28,5 +51,6 @@ secure -cert cert.pem -key key.pem http://localhost:6060
cert: proxy.crt
key: proxy.key
upstream: https://somehost:123
addr: 8080
#addr: :443
```

4
go.mod
View file

@ -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
View file

@ -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=

View file

@ -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

View file

@ -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"
@ -19,26 +19,22 @@ function unpack(){
# marks all as unsynced so that they are not deleted
function fixsync(){
grep sync ~/.local/share/remarkable/xochitl/*.metadata -l | xargs sed -i 's/synced\": true/synced\": false/'
grep sync ~/.local/share/remarkable/xochitl/*.metadata -l | xargs -r sed -i 's/synced\": true/synced\": false/'
}
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}
@ -99,10 +95,13 @@ subjectAltName=@san
[ san ]
DNS.1 = *.appspot.com
DNS.2 = my.remarkable.com
DNS.3 = internal.cloud.remarkable.com
DNS.4 = ping.remarkable.com
DNS.5 = *.remarkable.com
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
@ -170,8 +169,12 @@ function patch_hosts(){
127.0.0.1 service-manager-production-dot-remarkable-production.appspot.com
127.0.0.1 local.appspot.com
127.0.0.1 my.remarkable.com
127.0.0.1 internal.cloud.remarkable.com
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