Добавлена версия для мобилы
Этот коммит содержится в:
родитель
3772187d95
коммит
79cc4608fa
6 изменённых файлов: 141 добавлений и 52 удалений
96
Magefile.go
96
Magefile.go
|
@ -4,6 +4,7 @@ package main
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
@ -176,6 +177,11 @@ func TestSharedLibsBuild(ctx context.Context) error {
|
|||
mg.Deps(Build_shared_lib)
|
||||
return Bash(`rm lib/lib3dscreen.*`)
|
||||
}
|
||||
|
||||
func build() {
|
||||
Build_shared_lib(context.Background())
|
||||
}
|
||||
|
||||
func Build_shared_lib(ctx context.Context) error {
|
||||
return Bash(`sudo docker run --rm \
|
||||
-h host \
|
||||
|
@ -200,72 +206,52 @@ func Build_shared_lib(ctx context.Context) error {
|
|||
'`)
|
||||
}
|
||||
|
||||
func Build_installer(ctx context.Context) error {
|
||||
return Bash(`sudo docker run --rm \
|
||||
func Mobile() {
|
||||
Build_Mobile()
|
||||
Upload_Mobile()
|
||||
}
|
||||
func Build_Mobile() {
|
||||
Bash(`sudo docker run -ti --rm \
|
||||
-h host \
|
||||
--net=none \
|
||||
--net=bridge \
|
||||
-v /etc/localtime:/etc/localtime:ro \
|
||||
-v ` + GolangVolume + `:/usr/local/go:ro \
|
||||
\
|
||||
-v ` + GolangVolume + `:/usr/local/go:ro \
|
||||
-v /gopath:/gopath:rw \
|
||||
-v ${PWD}:/app \
|
||||
\
|
||||
-v /etc/java-17-openjdk:/etc/java-17-openjdk:ro \
|
||||
-v /usr/lib/jvm/java-17-openjdk-amd64:/usr/lib/jvm/java-17-openjdk-amd64:ro \
|
||||
\
|
||||
-e PATH=$PATH:/usr/local/go/bin:/usr/lib/jvm/java-17-openjdk-amd64/bin \
|
||||
-e GOPATH=/gopath \
|
||||
-e GOCACHE=/gopath/gocache \
|
||||
-e HOME=/home/user \
|
||||
\
|
||||
-w /app/cmd/installer \
|
||||
-w /app/pkg/mlib/ktgo \
|
||||
-u 1000 \
|
||||
\
|
||||
--entrypoint=/bin/bash \
|
||||
-v android_sdk:/sdk:ro \
|
||||
-e ANDROID_HOME=/sdk \
|
||||
\
|
||||
` + ImageName + " -c '" + ` \
|
||||
mkdir -p /app/bin/ \
|
||||
&& GOARCH=arm go build -o /app/install_helper \
|
||||
' \
|
||||
&& arm-linux-gnueabi-strip install_helper \
|
||||
&& mv -fv install_helper ../../../src/installer/ \
|
||||
--entrypoint=/gopath/bin/gomobile \
|
||||
\
|
||||
` + ImageName + " " + `\
|
||||
bind -o /app/lib/ktgo.aar \
|
||||
`)
|
||||
Bash(`cp -afv lib/ktgo.aar ~/wd/mobile/apks/src/Telegram-FOSS/TMessagesProj/libs`)
|
||||
}
|
||||
|
||||
func Upload_Mobile() {
|
||||
Bash(`unzip lib/ktgo.aar jni/arm64-v8a/libgojni.so \
|
||||
&& adb push jni/arm64-v8a/libgojni.so /sdcard/scripts/ \
|
||||
; rm jni/arm64-v8a/libgojni.so; rmdir jni/arm64-v8a jni \
|
||||
`)
|
||||
fmt.Printf(`
|
||||
|
||||
su -c 'mv -fv /sdcard/scripts/libgojni.so /data/app/*/org.telegram.messenger-*/lib/arm64'
|
||||
|
||||
`)
|
||||
Bash(`adb shell \
|
||||
`)
|
||||
}
|
||||
|
||||
func build() {
|
||||
Bash(`GOPHERJS_GOROOT=/gopath/go/1.18/ gopherjs build 3diy/3dscreen/web/main -o js/app.js \
|
||||
&& ls -l js/app.js \
|
||||
&& node -e 'go = require("./js/app.js"); console.log(go);'`)
|
||||
}
|
||||
|
||||
func ControlLinkWifi0() {
|
||||
Bash(`curl '0:5005?conn=Wifi&enabled=0'`)
|
||||
}
|
||||
func ControlLinkWifi1() {
|
||||
Bash(`curl '0:5005?conn=Wifi&enabled=1'`)
|
||||
}
|
||||
func ControlLinkWifiConn0() {
|
||||
Bash(`curl '0:5005?conn=Wifi&connected=0'`)
|
||||
}
|
||||
func ControlLinkWifiConn1() {
|
||||
Bash(`curl '0:5005?conn=Wifi&connected=1&ip=192.168.1.150&gw=192.168.1.1'`)
|
||||
}
|
||||
|
||||
func ControlLinkEther0() {
|
||||
Bash(`curl '0:5005?conn=Ether&enabled=0'`)
|
||||
}
|
||||
func ControlLinkEther1() {
|
||||
Bash(`curl '0:5005?conn=Ether&enabled=1'`)
|
||||
}
|
||||
func ControlLinkEtherConn0() {
|
||||
Bash(`curl '0:5005?conn=Ether&connected=0'`)
|
||||
}
|
||||
func ControlLinkEtherConn1() {
|
||||
Bash(`curl '0:5005?conn=Ether&connected=1&ip=192.168.1.150&gw=192.168.1.1'`)
|
||||
}
|
||||
|
||||
func TestControlLinkStatus() {
|
||||
Bash(`curl '0:5005/link_status?interface=eth0&reason=RECONFIGURE&ip=192.168.1.150&routers=192.168.1.1'`)
|
||||
}
|
||||
|
||||
func TestControlZamenaInsertFilament() {
|
||||
Bash(`curl '0:5005/send_from_terminal?m=Insert%20filament%20and%20press%20button'`)
|
||||
}
|
||||
func TestControlZamenaPurgeMore() {
|
||||
Bash(`curl '0:5005/send_from_terminal?m=PurgeMore'`)
|
||||
}
|
||||
|
|
7
go.mod
7
go.mod
|
@ -13,6 +13,11 @@ require (
|
|||
github.com/onsi/gomega v1.24.1
|
||||
)
|
||||
|
||||
require golang.org/x/sys v0.4.0 // indirect
|
||||
require (
|
||||
golang.org/x/mobile v0.0.0-20240213143359-d1f7d3436075 // indirect
|
||||
golang.org/x/mod v0.15.0 // indirect
|
||||
golang.org/x/sys v0.17.0 // indirect
|
||||
golang.org/x/tools v0.18.0 // indirect
|
||||
)
|
||||
|
||||
replace github.com/cucumber/godog => /gopath/src/my/godog
|
||||
|
|
8
go.sum
8
go.sum
|
@ -148,6 +148,10 @@ golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
|
|||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||
golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA=
|
||||
golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
|
||||
golang.org/x/mobile v0.0.0-20240213143359-d1f7d3436075 h1:iZzqyDd8gFkJZpsJNzveyScRBcQlsveheh6Q77LzhPY=
|
||||
golang.org/x/mobile v0.0.0-20240213143359-d1f7d3436075/go.mod h1:Y8Bnziw2dX69ZhYuqQB8Ihyjks1Q6fMmbg17j9+ISNA=
|
||||
golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
|
||||
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
|
||||
|
@ -180,6 +184,8 @@ golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
|
|||
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
|
||||
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0=
|
||||
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
|
||||
|
@ -199,6 +205,8 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
|||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
|
||||
golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U=
|
||||
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
|
23
pkg/mlib/ktgo/lib.go
Обычный файл
23
pkg/mlib/ktgo/lib.go
Обычный файл
|
@ -0,0 +1,23 @@
|
|||
package ktgo
|
||||
|
||||
import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
func isBlackListed(s string) bool {
|
||||
for _, b := range *blockedList_case.GetList() {
|
||||
if strings.Contains(s, b) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
s_low := strings.ToLower(s)
|
||||
for _, b := range *blockedList.GetList() {
|
||||
b = strings.ToLower(b)
|
||||
if strings.Contains(s_low, b) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
19
pkg/mlib/ktgo/main.go
Обычный файл
19
pkg/mlib/ktgo/main.go
Обычный файл
|
@ -0,0 +1,19 @@
|
|||
package ktgo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func init() {
|
||||
fmt.Printf("KTGO: init\n")
|
||||
|
||||
initStorage()
|
||||
}
|
||||
|
||||
func IsBlackListed(in string) bool {
|
||||
r := isBlackListed(in)
|
||||
// fmt.Printf("KTGO: IsBlackListed: %v\n", r)
|
||||
// dump := spew.Sdump(in)
|
||||
// fmt.Printf("KTGO: IsBlackListed: %v: %v\n", dump, r)
|
||||
return r
|
||||
}
|
48
pkg/mlib/ktgo/storage.go
Обычный файл
48
pkg/mlib/ktgo/storage.go
Обычный файл
|
@ -0,0 +1,48 @@
|
|||
package ktgo
|
||||
|
||||
import (
|
||||
"log"
|
||||
"my/ktgo/pkg/storage"
|
||||
)
|
||||
|
||||
const (
|
||||
DataDir = "/sdcard/DCIM"
|
||||
BlockedListFileName = DataDir + "/blocked_list.txt.jpg"
|
||||
BlockedListFileName_case = DataDir + "/blocked_list_case.txt.jpg"
|
||||
)
|
||||
|
||||
var (
|
||||
blockedList, blockedList_case *storage.Storage
|
||||
)
|
||||
|
||||
func initStorage() {
|
||||
var err error
|
||||
|
||||
blockedList, err = storage.NewStorage(BlockedListFileName)
|
||||
if err != nil {
|
||||
log.Fatalf("Storage: %v: %v\n", BlockedListFileName, err)
|
||||
}
|
||||
|
||||
blockedList_case, err = storage.NewStorage(BlockedListFileName_case)
|
||||
if err != nil {
|
||||
log.Fatalf("Storage: %v: %v\n", BlockedListFileName, err)
|
||||
}
|
||||
}
|
||||
|
||||
// func ensureListsExist() {
|
||||
// os.MkdirAll(DataDir, 0755)
|
||||
// ensureFile(BlockedListFileName)
|
||||
// ensureFile(BlockedListFileName_case)
|
||||
// }
|
||||
|
||||
// func ensureFile(name string) {
|
||||
// _, err := os.Stat(name)
|
||||
// if err == nil {
|
||||
// return
|
||||
// }
|
||||
|
||||
// f, err := os.OpenFile(BlockedListFileName, os.O_RDWR|os.O_CREATE, 0644)
|
||||
// if f != nil {
|
||||
// f.Close()
|
||||
// }
|
||||
// }
|
Загрузка…
Создание таблицы
Сослаться в новой задаче