Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dep lib change goproxy->martian #238

Merged
merged 12 commits into from
Apr 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
go-version: 1.20.x

- name: Check out code
uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
go-version: 1.20.x

- name: Run golangci-lint
uses: golangci/[email protected]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: "Set up Go"
uses: actions/setup-go@v4
with:
go-version: 1.19
go-version: 1.20.x

- name: "Create release on GitHub"
uses: goreleaser/goreleaser-action@v4
Expand Down
13 changes: 7 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
module github.com/projectdiscovery/proxify

go 1.19
go 1.20

require (
github.com/Knetic/govaluate v3.0.0+incompatible
github.com/Mzack9999/roundrobin v0.0.0-20211108110706-e876335f5ad4
github.com/Shopify/sarama v1.38.1
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
github.com/elastic/go-elasticsearch/v7 v7.17.7
github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819
github.com/hashicorp/golang-lru v0.5.4
github.com/haxii/fastproxy v0.5.37
github.com/pkg/errors v0.9.1
github.com/projectdiscovery/dsl v0.0.5
github.com/projectdiscovery/fastdialer v0.0.24
github.com/projectdiscovery/goflags v0.1.8
github.com/projectdiscovery/gologger v1.1.8
github.com/projectdiscovery/martian/v3 v3.0.0-20230327175357-82434c1bb926
github.com/projectdiscovery/roundrobin v0.0.6
github.com/projectdiscovery/tinydns v0.0.3
github.com/projectdiscovery/utils v0.0.19
github.com/rs/xid v1.4.0
golang.org/x/net v0.9.0
gopkg.in/yaml.v3 v3.0.1
)
Expand Down Expand Up @@ -81,7 +80,7 @@ require (
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
github.com/pierrec/lz4/v4 v4.1.17 // indirect
github.com/projectdiscovery/blackrock v0.0.0-20230328171319-f24b18d05b64 // indirect
github.com/projectdiscovery/hmap v0.0.10 // indirect
github.com/projectdiscovery/hmap v0.0.11 // indirect
github.com/projectdiscovery/iputil v0.0.2 // indirect
github.com/projectdiscovery/mapcidr v1.1.1 // indirect
github.com/projectdiscovery/networkpolicy v0.0.4 // indirect
Expand Down Expand Up @@ -120,7 +119,9 @@ require (
golang.org/x/text v0.9.0 // indirect
golang.org/x/tools v0.7.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84 // indirect
google.golang.org/grpc v1.38.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/djherbis/times.v1 v1.3.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
)
94 changes: 86 additions & 8 deletions go.sum

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions internal/runner/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ type Options struct {
UpstreamProxyRequestsNumber int // Number of requests before switching upstream proxy
DumpRequest bool // Dump requests in separate files
DumpResponse bool // Dump responses in separate files
OutCAFile string
Deny goflags.StringSlice // Deny ip/cidr
Allow goflags.StringSlice // Allow ip/cidr
Elastic elastic.Options
Expand All @@ -63,6 +64,7 @@ func ParseOptions() *Options {
flagSet.StringVarP(&options.OutputDirectory, "output", "o", "logs", "Output Directory to store HTTP proxy logs"),
flagSet.BoolVar(&options.DumpRequest, "dump-req", false, "Dump only HTTP requests to output file"),
flagSet.BoolVar(&options.DumpResponse, "dump-resp", false, "Dump only HTTP responses to output file"),
flagSet.StringVarP(&options.OutCAFile, "out-ca", "oca", "", "Generate and Save CA File to filename"),
)

flagSet.CreateGroup("update", "Update",
Expand Down
16 changes: 16 additions & 0 deletions internal/runner/runner.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package runner

import (
"os"
"strings"

"github.com/Knetic/govaluate"
"github.com/projectdiscovery/dsl"
"github.com/projectdiscovery/gologger"
"github.com/projectdiscovery/proxify"
"github.com/projectdiscovery/proxify/pkg/certs"
)

// Runner contains the internal logic of the program
Expand All @@ -17,6 +19,19 @@ type Runner struct {

// NewRunner instance
func NewRunner(options *Options) (*Runner, error) {
if err := certs.LoadCerts(options.Directory); err != nil {
gologger.Fatal().Msgf("%s\n", err)
}

if options.OutCAFile != "" {
err := certs.SaveCAToFile(options.OutCAFile)
if err != nil {
return nil, err
}
gologger.Print().Msgf("Saved CA File at %v", options.OutCAFile)
os.Exit(0)
}

proxy, err := proxify.NewProxy(&proxify.Options{
Directory: options.Directory,
CertCacheSize: options.CertCacheSize,
Expand Down Expand Up @@ -63,6 +78,7 @@ func (r *Runner) validateExpressions(expressionsGroups ...[]string) error {

// Run polling and notification
func (r *Runner) Run() error {

if err := r.validateExpressions(r.options.RequestDSL, r.options.ResponseDSL, r.options.RequestMatchReplaceDSL, r.options.ResponseMatchReplaceDSL); err != nil {
return err
}
Expand Down
153 changes: 0 additions & 153 deletions pkg/certs/ca.go

This file was deleted.

Loading