Giter VIP home page Giter VIP logo

wapty's People

Contributors

annaopss avatar as27 avatar bmizerany avatar empijei avatar jbarber avatar kr avatar kyl0b1te avatar mrveera avatar nxvl avatar pandry avatar shosti avatar silverweed avatar ukd1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

wapty's Issues

[CLOSED] `wapty help`

Issue by silverweed
Saturday Jul 08, 2017 at 11:00 GMT
Originally opened as empijei#4


This is likely a long-term goal, but I'm dropping it here.

It would be nice to have a wapty help command that mimics go help: without args, it should just display all the available modules and their purpose, whereas wapty help <module> should display the detailed usage of the single module.

AFAIK the go help command uses a combination of templates and per-package global structs holding the command information. We should probably copy that design for this task.

Improve logger to support HTML colors

Issue by empijei
Monday Oct 02, 2017 at 16:23 GMT
Originally opened as empijei#23


Logger now outputs ANSI escape sequences to stdout.

It should be possible to set an io.Writer in the cli/lg package where the logger will write HTML formatted output. (it should do nothing if such writer is not set)

When now a line of output is foo \x1b[31mbar\x1b[0m
It should become foo <span style="color:#A00">bar</span>,

Some example here:
https://github.com/rburns/ansi-to-html/blob/master/src/ansi_to_html.js#L203

It would be better to wrap calls to log to directly output HTML-formatted outputs instead of converting it.

To achieve this a list as this one could be used, but for HTML instead of ANSI.

Implementing an "HTMLString" method like ShortString should work.

Please cover your code with tests.

[CLOSED] Mistake inside the ReadMe file

Issue by as27
Monday Oct 02, 2017 at 14:30 GMT
Originally opened as empijei#21


Installation description inside the ReadMe file is:

go get empijei/wapty
cd $GOPATH/src/github.com/empijei/wapty
make installdeps
make
make install

First line needs to be corrected to

go get github.com/empijei/wapty

[CLOSED] Mistake inside the ReadMe file

Issue by as27
Monday Oct 02, 2017 at 14:30 GMT
Originally opened as empijei#21


Installation description inside the ReadMe file is:

go get empijei/wapty
cd $GOPATH/src/github.com/empijei/wapty
make installdeps
make
make install

First line needs to be corrected to

go get github.com/empijei/wapty

Add Intruder

Issue by empijei
Monday Oct 02, 2017 at 09:35 GMT
Originally opened as empijei#15


The intruder should give the user a chance to repeat many times a request by just changin a portion of it. It should rely on repeater but have its own status and save it as the other packages.

Intercept should be a separate package

[CLOSED] Command

Issue by silverweed
Sunday Aug 13, 2017 at 10:27 GMT
Originally opened as empijei#5


Addresses #4. Many ideas were taken from https://github.com/golang/go/blob/master/src/cmd/go.

What I changed

Basically I slightly changed the way that wapty subcommands are organized. Now every package that exports a standalone main must declare a *common.Command variable which contains the information needed to run it, the flags it accepts (if any) and the usage description.

More specifically, these packages should have a init.go file containing:

  1. the Command exported variable, like:
package decode
var CmdDecode = &common.Command{
    // ...
}
  1. optionally, the init() function of that package. I suggest this be in the same file as the exported Command variable as it can be used to initialize the command flagset if needed (see decode/init.go for an example).

The wapty main entrypoint was changed to adapt to these changes, but the logic remains the same.
Note that the proxy and the version commands were also changed to adapt to this interface.

What I added

I added a common package, containing the definition of a Command plus a convenient FindCommand function which contains the logic that was previously in invokeMain. I factored this logic out since the new help package needed the same exact thing. The new function returns an error instead of setting a success bool variable.

I also added a help package which exports a help command that just prints the detailed information about a subcommand (which is different from the -h of that command).

How the flags work now

As I mentioned, every Command contains its flagset, whose parsing is now completely done by the invokeMain function. This is convenient as it eliminates repeated flag parsing logic in every command's entrypoint.
So, if your command needs some custom flags, do this:

  1. in the file containing your command's entrypoint, declare your flag variables (e.g. flagMyBool);
  2. create an init.go file for your package and define your Command atop of it;
  3. in the init function call CmdMyCommand.Flag.BoolVar(&flagMyBool, "false", "blah", "blah");
  4. when your main will be called, the flags will be ready for use, so just use them normally.

Ideas/critiques/suggestions are welcome :-)


silverweed included the following code: https://github.com/empijei/wapty/pull/5/commits

[CLOSED] Fix badges in ROADMAP

Issue by empijei
Monday Oct 02, 2017 at 09:01 GMT
Originally opened as empijei#9


Find a way to correctly display coverage badges in ROADMAP.md

The badges now show a "coverage error" message:
image

but they should show a percentage of the package coverage:
image

Create a new UI / Suggest how to

Issue by empijei
Monday Oct 02, 2017 at 08:41 GMT
Originally opened as empijei#7


The web UI needs a serious rework that should be made in the following way:

  • Should be based on a well-documented framework
  • Should be static HTML/JS/CSS that exposes primitives for the Goperjs code to use
  • Should be easy to scale

Please feel free to discuss ideas on how to make it and what technology to use

What we are going to need are components like these: intercept

Containers, flex, probably a navigation bar instead of the top-level tabs.

For the rest we are going to need tables (better if sortable) as shown here: history
And a resizable split in the bottom.

In the future we are going to use dinamically added/removed tabs as shown below:
image

Would be nice, but not needed, if a mobile-friendly framework is used.

The provided code should expose methods like "add tab" "set buffer content" "remove tab" or just the stubs for them, and I'm going to implement the rest.

For this I'm mostly intrested in stati HTML/CSS that looks easy on the eye and can scale to a complex UI such as BurpSuite one.

Ignore recursive connect

Issue by empijei
Monday Oct 02, 2017 at 09:25 GMT
Originally opened as empijei#13


At the moment the proxy behaves badly when a connection is proxied to reach itself and starts a connection loop.

The proxy should ignore requests directed towards itself.

[CLOSED] `wapty help`

Issue by silverweed
Saturday Jul 08, 2017 at 11:00 GMT
Originally opened as empijei#4


This is likely a long-term goal, but I'm dropping it here.

It would be nice to have a wapty help command that mimics go help: without args, it should just display all the available modules and their purpose, whereas wapty help <module> should display the detailed usage of the single module.

AFAIK the go help command uses a combination of templates and per-package global structs holding the command information. We should probably copy that design for this task.

[CLOSED] Command

Issue by silverweed
Sunday Aug 13, 2017 at 10:27 GMT
Originally opened as empijei#5


Addresses #4. Many ideas were taken from https://github.com/golang/go/blob/master/src/cmd/go.

What I changed

Basically I slightly changed the way that wapty subcommands are organized. Now every package that exports a standalone main must declare a *common.Command variable which contains the information needed to run it, the flags it accepts (if any) and the usage description.

More specifically, these packages should have a init.go file containing:

  1. the Command exported variable, like:
package decode
var CmdDecode = &common.Command{
    // ...
}
  1. optionally, the init() function of that package. I suggest this be in the same file as the exported Command variable as it can be used to initialize the command flagset if needed (see decode/init.go for an example).

The wapty main entrypoint was changed to adapt to these changes, but the logic remains the same.
Note that the proxy and the version commands were also changed to adapt to this interface.

What I added

I added a common package, containing the definition of a Command plus a convenient FindCommand function which contains the logic that was previously in invokeMain. I factored this logic out since the new help package needed the same exact thing. The new function returns an error instead of setting a success bool variable.

I also added a help package which exports a help command that just prints the detailed information about a subcommand (which is different from the -h of that command).

How the flags work now

As I mentioned, every Command contains its flagset, whose parsing is now completely done by the invokeMain function. This is convenient as it eliminates repeated flag parsing logic in every command's entrypoint.
So, if your command needs some custom flags, do this:

  1. in the file containing your command's entrypoint, declare your flag variables (e.g. flagMyBool);
  2. create an init.go file for your package and define your Command atop of it;
  3. in the init function call CmdMyCommand.Flag.BoolVar(&flagMyBool, "false", "blah", "blah");
  4. when your main will be called, the flags will be ready for use, so just use them normally.

Ideas/critiques/suggestions are welcome :-)


silverweed included the following code: https://github.com/empijei/wapty/pull/5/commits

[CLOSED] Fix badges in ROADMAP

Issue by empijei
Monday Oct 02, 2017 at 09:01 GMT
Originally opened as empijei#9


Find a way to correctly display coverage badges in ROADMAP.md

The badges now show a "coverage error" message:
image

but they should show a percentage of the package coverage:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.