From f28211e722356f5d3549a37e5c38a3e2d5060947 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Tue, 11 Jan 2022 15:58:27 -0500 Subject: [PATCH] impl trim --- config/.config.go.un~ | Bin 7723 -> 0 bytes config/.new.go.un~ | Bin 6255 -> 0 bytes config/config.go | 4 ++++ config/new.go | 1 + server/proxy.go | 2 ++ 5 files changed, 7 insertions(+) delete mode 100644 config/.config.go.un~ delete mode 100644 config/.new.go.un~ diff --git a/config/.config.go.un~ b/config/.config.go.un~ deleted file mode 100644 index 430af022dabbbfc82607b3b8cfa9fd71d720557a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7723 zcmeHM&2QX96yGGJ?S#@ss#Fj~&BUvuwraNR0U=Ta)DMJ^5RJMmNJJrWw%)|7zp%X# zA@qPa@gHz1w<5tA^}vM#DnbIpnL7fZN^s!}?>C;Y$Lo|u(BS=BK{^R!t@OGxP@q=WTmOVPWa@G7#YJ#E&P5+QRKyZ8{;Apk}c!Fea z(E}{;0E#MgyPy;hRrqvj>zVfjz&X}fm^Xk8IRf+sVCj{Kbp-Go0q|4_rGSw%3TQaz z5-A{ZKr>{9#)t>e8l;pbCe;&CUyY_>M9Rvf0~nYIiUbWHJwlIa0I&f~d1K-|fp%{c zG}O+Ro_hTRoT@GYsDqfx1`vy?+hm(^%cOb&?pqx=9*sWYwMf4nQP|BXxV%zur3JJg%uup zKHrlF15u{!0%!x_<^ZZWWpcxD2p?rEakF6(^1kDzt^^Gr&1yygz$PsM2h<$fuz55<`3%+u?(VvT4KS(iGq4a4Hn71H|4Sp-z7wa< z>HJncditDIH8C1U!1Nr0i2x6)L~E`K$`h073&3V_z;r#xo1?MQ8#r68xGQ+-0)E&F z;wZ_uNgQ*`aKm17lWq`aags5Jc90qUAd@3M+QMj-8TlzS#q1C>GB0p3oU-T-+VN~R zcKK=&y|c@Sb=b@J9+79+^$2rPK(nb^V5N4ZKMZ?3rbCk}mYAtzvbdRZ+qo=DNO_FK zC>DZs4>D#Ml?{*#7;%#M7)uK~-PrdsGqt&48!&GU$2H##P2b|r^K(Mt5hf(8aDVOG zI`PnNM~(Bm)Xm}!Z33+4OV*<*8ORWui<>nhpc!IwbTzwl_2Mwwe#6u@g+qS6CyQ-H z4!wRCrmM@GX$YEOX*WA;;gr%Q*VtSwrgNq6LE+ldN;`Dxs+C_$6BgMpb;T*R)DKEc z{UVEY(~?ToX{VUlK5p3Um+O-5PTS;c<+&@>?PtXQ>d*c>y876^eKjw^sPy6&EK zVR1Cf+>~tAZm4;7BdwR1?~Pg&Bll|&VX>QT-wVCWi$W1W)hvY=Bx;_i3oH?8vE9HK zxaO#GY{6pvDB*O1C7~uFq^4`3&_%xxb0&32jn4UQH_k~#!bBQtQRGf`qh0|(JT1{lv8vK{Q1+r0Q^B# ARsaA1 diff --git a/config/.new.go.un~ b/config/.new.go.un~ deleted file mode 100644 index 9ee28f21289ab080e7c805b3b130f2762aa3d2c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6255 zcmeI%yDtPm90%|@@AC*M%0uE6&Jhwq;nhflNYHZF$ccNnrJ$n|jsHNeCB%tqRHD&n z^r97sMC0-Mu33JL+g)P1nPhIp>>abePkz6<8`F{K-c)Qjek*cz(v|h;r|XxRg00K` zi>>Ebb0W37eco2S9_XDKdRP)d^iU7^!)9$#uu9~#c9tt(lYg(ySQ1?+UqmG8r?qcTtCY^_?J~4BJtJHGd2kQ}+TBu_buhiaW z_(`|_j{tETSR6t;R@1LX=!4X|@uxmkplYpjZCYr+$;C5d10bFQd5wl3C~bsx_!AnE z7Bs(3T*(T?JhpQXYgQHzwNp3N*35eBSd6794D;E(;S19$tm*oSD5z{?dgPRgM{b1WVVfpPgj7g0YZo9mJZI1w`$XSdX33wKGe)E^b5; zZnU5*V%rC^rey(9J9VS|YsP}n&$bR?u-0Kszri93DjTt$IAv^imW-W`M-xfI#8=m! zzs$;l49*gE1EAKtEFfy9#G7*B?eM^xaY`X!0a;4DSl$4THLMJV`hj3ionV_iz{+DM z2@1e6wsGJB)H=A(g_uP~$&^6PoIv|LfEuyz+_Dj{YjY$X`$`N_-oUMic|?@XKZt#w tM}s&lw9lP-{z}}$YO;L?NN3b$`0CG6c2ty(Zf~{?9(?hCfUeEE{Wqn`a4G-* diff --git a/config/config.go b/config/config.go index 6df26a8..a503e00 100755 --- a/config/config.go +++ b/config/config.go @@ -41,6 +41,10 @@ func GetAuth() (string, string, bool) { return user, pass, user != "" && pass != "" } +func GetTrim() string { + return conf.Get("trim").GetString() +} + func GetPort() string { port := conf.Get("p").GetInt() return ":" + fmt.Sprint(port) diff --git a/config/new.go b/config/new.go index 663f7a5..dbe21da 100755 --- a/config/new.go +++ b/config/new.go @@ -47,6 +47,7 @@ func parseArgs() (*args.ArgSet, error) { as.Append(args.BOOL, "compress", "enable compression", true) as.Append(args.STRING, "crt", "path to crt for ssl", "") as.Append(args.STRING, "key", "path to key for ssl", "") + as.Append(args.STRING, "trim", "path prefix to trim, like '/abc' to change '/abc/def' to '/def'", "") as.Append(args.STRING, "tcp", "address for tcp only tunnel", "") as.Append(args.DURATION, "timeout", "timeout for tunnel", time.Minute) as.Append(args.STRING, "proxy", "double-comma separated (+ if auth)from,scheme://to.tld:port,,", "") diff --git a/server/proxy.go b/server/proxy.go index e603988..73fedc5 100755 --- a/server/proxy.go +++ b/server/proxy.go @@ -4,6 +4,7 @@ import ( "bytes" "crypto/tls" "io" + "local/rproxy3/config" "local/rproxy3/storage/packable" "log" "net/http" @@ -25,6 +26,7 @@ type rewrite struct { func (s *Server) Proxy(w http.ResponseWriter, r *http.Request) { newURL, err := s.lookup(mapKey(r.Host)) + r.URL.Path = strings.TrimPrefix(r.URL.Path, config.GetTrim()) var transport http.RoundTripper http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true} transport = &redirPurge{