Skip to content

Commit

Permalink
Merge pull request #225 from djs55/http-intercept
Browse files Browse the repository at this point in the history
Add an experimental transparent HTTP proxy
  • Loading branch information
djs55 authored May 26, 2017
2 parents 38422f1 + e6437ea commit 66a25d6
Show file tree
Hide file tree
Showing 144 changed files with 1,972 additions and 470 deletions.
4 changes: 4 additions & 0 deletions opam
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ depends: [
"fmt"
"astring"
"mirage-flow" { >= "1.1.0" }
"mirage-http"
"cohttp"
"channel"
"mirage-types-lwt"
"mirage-vnetif" { = "0.2.0" }
"uuidm"
"ezjsonm"
]
4 changes: 4 additions & 0 deletions repo/darwin/packages/local/slirp.local/opam
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,14 @@ depends: [
"fmt"
"astring"
"mirage-flow" { = "1.1.0" }
"mirage-http"
"cohttp"
"channel"
"mirage-types-lwt" { = "2.8.999" }
"protocol-9p" { = "0.8.0" }
"ounit"
"alcotest"
"mirage-vnetif" { = "0.2.0" }
"uuidm"
"ezjsonm"
]
2 changes: 0 additions & 2 deletions repo/darwin/packages/upstream/asl.0.10/url

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
opam-version: "1.2"
name: "asl"
maintainer: "[email protected]"
authors: [ "David Scott" ]
license: "ISC"
homepage: "https://github.com/mirage/ocaml-asl"
dev-repo: "https://github.com/mirage/ocaml-asl.git"
bug-reports: "https://github.com/mirage/ocaml-asl/issues"
doc: "https://mirage.github.io/ocaml-vmnet/"

build: [
[make "PREFIX=%{prefix}%"]
[ "jbuilder" "subst"] {pinned}
[ "jbuilder" "build" "-p" name "-j" jobs ]
]

install: [make "PREFIX=%{prefix}%" "install"]

remove: [["ocamlfind" "remove" "asl"]]

depends: [
"result"
"logs"
"ocamlfind" {build}
"ocamlbuild" {build}
"jbuilder" {build & >="1.0+beta9"}
]
build-doc: ["ocaml" "setup.ml" "-doc"]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/asl.0.11/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
http: "https://github.com/mirage/ocaml-asl/releases/download/0.11/asl-0.11.tbz"
checksum: "db64cc814914023a107e0ed411437af5"
9 changes: 9 additions & 0 deletions repo/darwin/packages/upstream/cohttp.0.22.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
HTTP(S) library for Lwt, Async and Mirage

There are several optional dependencies which activate functionality:

* Lwt: `opam install lwt cohttp`
* Lwt and SSL: `opam install lwt ssl cohttp`
* Async: `opam install async cohttp`
* Async and SSL: `opam install async_ssl cohttp`

53 changes: 53 additions & 0 deletions repo/darwin/packages/upstream/cohttp.0.22.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
opam-version: "1.2"
maintainer: "[email protected]"
authors: [
"Anil Madhavapeddy"
"Stefano Zacchiroli"
"David Sheets"
"Thomas Gazagnaire"
"David Scott"
"Rudi Grinberg"
"Andy Ray"
]
homepage: "https://github.com/mirage/ocaml-cohttp"
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
license: "ISC"
tags: ["org:mirage" "org:xapi-project"]
dev-repo: "https://github.com/mirage/ocaml-cohttp.git"
build: [make "PREFIX=%{prefix}%"]
install: [make "PREFIX=%{prefix}%" "install"]
build-test: [
["ocaml" "setup.ml" "-configure" "--enable-tests"]
["ocaml" "setup.ml" "-build"]
["ocaml" "setup.ml" "-test"]
]
build-doc: ["ocaml" "setup.ml" "-doc"]
remove: ["ocamlfind" "remove" "cohttp"]
depends: [
"base-bytes"
"ocamlfind" {build}
"ocamlbuild" {build}
"cmdliner" {build & >= "0.9.4"}
"re"
"uri" {>= "1.9.0"}
"fieldslib"
"sexplib"
"conduit" {>= "0.14.0"}
"ppx_fields_conv"
"ppx_deriving" {build}
"ppx_sexp_conv"
"stringext"
"base64" {>= "2.0.0"}
"magic-mime"
"fmt"
"logs"
"ounit" {test}
"alcotest" {test}
]
depopts: ["async" "lwt" "js_of_ocaml"]
conflicts: [
"async" {< "113.24.00"}
"lwt" {< "2.5.0"}
"js_of_ocaml" {< "2.8"}
]
available: [ocaml-version >= "4.01.0"]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/cohttp.0.22.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
http: "https://github.com/mirage/ocaml-cohttp/archive/v0.22.0.tar.gz"
checksum: "1698d2e565ac5fe0474372e04ff265d8"
15 changes: 15 additions & 0 deletions repo/darwin/packages/upstream/conduit.0.14.5/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Network connection library for TCP and SSL

The `conduit` library takes care of establishing and listening for TCP and
SSL/TLS connections for the Lwt and Async libraries.

The reason this library exists is to provide a degree of abstraction
from the precise SSL library used, since there are a variety of ways to bind to
a library (e.g. the C FFI, or the Ctypes library), as well as well as which
library is used (either OpenSSL or a native OCaml TLS implementation).

If you are using the `Lwt_unix` version of the library, you can set two
environment variables to control the behaviour of the library:

- `CONDUIT_DEBUG=1` will output debug information to standard error.
- `CONDUIT_TLS=native` will force the use of the pure OCaml TLS library.
53 changes: 53 additions & 0 deletions repo/darwin/packages/upstream/conduit.0.14.5/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
opam-version: "1.2"
maintainer: "[email protected]"
authors: [
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg"
]
homepage: "https://github.com/mirage/ocaml-conduit"
bug-reports: "https://github.com/mirage/ocaml-conduit/issues"
license: "ISC"
tags: "org:mirage"
dev-repo: "https://github.com/mirage/ocaml-conduit.git"
build: [
["./configure"]
[make]
]
install: [make "install"]
build-doc: [make "doc"]
remove: ["ocamlfind" "remove" "conduit"]
depends: [
"ocamlfind" {build}
"ocamlbuild" {build}
"ppx_driver" {build}
"ppx_optcomp" {build & >= "113.24.00"}
"ppx_sexp_conv" {build}
"sexplib"
"stringext"
"uri"
"logs" {>= "0.5.0"}
"cstruct" {>= "1.0.1"}
"ipaddr" {>= "2.5.0"}
]
depopts: [
"async"
"lwt"
"ssl"
"async_ssl"
"mirage-dns"
"vchan"
"launchd"
"tls"
"mirage-types-lwt"
]
conflicts: [
"lwt" {< "2.4.4"}
"lwt" {>= "3.0.0"}
"async_ssl" {< "112.24.00"}
"async" {< "113.24.00"}
"mirage-types" {< "2.0.0"}
"dns" {< "0.10.0"}
"tls" {< "0.4.0"}
"vchan" {< "2.0.0"}
"nocrypto" {< "0.4.0"}
]
available: [ocaml-version >= "4.02.3"]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/conduit.0.14.5/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
http: "https://github.com/mirage/ocaml-conduit/archive/v0.14.5.tar.gz"
checksum: "c29ed80445b6665e646752411f87621d"
9 changes: 9 additions & 0 deletions repo/darwin/packages/upstream/ezjsonm.0.5.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
An easy interface on top of the Jsonm library

This version provides more convenient (but far less flexible)
input and output functions that go to and from [string] values.
This avoids the need to write signal code, which is useful for
quick scripts that manipulate JSON.

More advanced users should go straight to the Jsonm library and
use it directly, rather than be saddled with the Ezjsonm interface.
26 changes: 26 additions & 0 deletions repo/darwin/packages/upstream/ezjsonm.0.5.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
opam-version: "1.2"
maintainer: "[email protected]"
authors: "Thomas Gazagnaire"
license: "ISC"
homepage: "https://github.com/mirage/ezjsonm"
bug-reports: "https://github.com/mirage/ezjsonm/issues"
dev-repo: "https://github.com/mirage/ezjsonm.git"
doc: "https://mirage.github.io/ezjsonm"
tags: [
"org:mirage"
"org:ocamllabs"
]

build: [
[ "jbuilder" "subst"] {pinned}
[ "jbuilder" "build" "-p" name "-j" jobs ]
]

depends: [
"ocamlfind" {build}
"jbuilder" {build & >="1.0+beta9"}
"alcotest" {test & >= "0.4.0"}
"jsonm" {>= "0.9.1"}
"sexplib"
"hex"
]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/ezjsonm.0.5.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
http: "https://github.com/mirage/ezjsonm/releases/download/0.5.0/ezjsonm-0.5.0.tbz"
checksum: "3a081dee6fc0cc0ce9462986888fa0bf"
6 changes: 6 additions & 0 deletions repo/darwin/packages/upstream/fieldslib.v0.9.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values

Part of Jane Street's Core library
The Core suite of libraries is an industrial strength alternative to
OCaml's standard library that was developed by Jane Street, the
largest industrial user of OCaml.
17 changes: 17 additions & 0 deletions repo/darwin/packages/upstream/fieldslib.v0.9.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
opam-version: "1.2"
maintainer: "[email protected]"
authors: ["Jane Street Group, LLC <[email protected]>"]
homepage: "https://github.com/janestreet/fieldslib"
bug-reports: "https://github.com/janestreet/fieldslib/issues"
dev-repo: "https://github.com/janestreet/fieldslib.git"
license: "Apache-2.0"
build: [
["jbuilder" "build" "--only-packages" "fieldslib" "--root" "." "-j" jobs "@install"]
]
depends: [
"base" {>= "v0.9" & < "v0.10"}
"jbuilder" {build & >= "1.0+beta4"}
"ppx_driver" {>= "v0.9" & < "v0.10"}
"ocaml-migrate-parsetree" {>= "0.4"}
]
available: [ ocaml-version >= "4.03.0" ]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/fieldslib.v0.9.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://ocaml.janestreet.com/ocaml-core/v0.9/files/fieldslib-v0.9.0.tar.gz"
checksum: "5b2d4f721553c67324d04041b0a88ad9"
12 changes: 12 additions & 0 deletions repo/darwin/packages/upstream/hex.1.1.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Minimal library providing hexadecimal converters.

```ocaml
#require "hex";;
# Hex.of_string "Hello world!";;
- : Hex.t = "48656c6c6f20776f726c6421"
# Hex.to_string "dead-beef";;
- : string = "ޭ��"
# Hex.hexdump (Hex.of_string "Hello world!\n")
00000000: 4865 6c6c 6f20 776f 726c 6421 0a Hello world!.
- : unit = ()
```
14 changes: 14 additions & 0 deletions repo/darwin/packages/upstream/hex.1.1.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
opam-version: "1.2"
maintainer: "[email protected]"
authors: ["Thomas Gazagnaire" "Trevor Summers Smith"]
homepage: "https://github.com/mirage/ocaml-hex"
bug-reports: "https://github.com/mirage/ocaml-hex/issues"
dev-repo: "https://github.com/mirage/ocaml-hex.git"
license: "ISC"
build: [ [ "jbuilder" "build" ] ]
build-test: [ [ "jbuilder" "runtest" ] ]
depends: [
"ocamlfind" {build}
"jbuilder" {>="1.0+beta8"}
"cstruct" {>= "1.7.0"}
]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/hex.1.1.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
http: "https://github.com/mirage/ocaml-hex/archive/1.1.0.tar.gz"
checksum: "42c9b40590dbe0c6b0492f340c70f3a4"
44 changes: 0 additions & 44 deletions repo/darwin/packages/upstream/jbuilder.1.0+beta8/opam

This file was deleted.

2 changes: 0 additions & 2 deletions repo/darwin/packages/upstream/jbuilder.1.0+beta8/url

This file was deleted.

22 changes: 22 additions & 0 deletions repo/darwin/packages/upstream/jbuilder.1.0+beta9/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
opam-version: "1.2"
maintainer: "[email protected]"
authors: ["Jane Street Group, LLC <[email protected]>"]
homepage: "https://github.com/janestreet/jbuilder"
bug-reports: "https://github.com/janestreet/jbuilder/issues"
dev-repo: "https://github.com/janestreet/jbuilder.git"
license: "Apache-2.0"
build: [
["ocaml" "bootstrap.ml"]
["./boot.exe" "--subst"] {pinned}
["./boot.exe" "-j" jobs]
]
depends: [
# ocamlfind is not mandatory to build packages using
# jbuilder. However if it is present jbuilder will use it. Making
# it a hard-dependency avoids problems when there is a previous
# ocamlfind in the PATH. We make it a "build" depepdency even though
# it is only a runtime dependency so that reinstalling ocamlfind
# doesn't resintall jbuilder
"ocamlfind" {build}
]
available: [ ocaml-version >= "4.02.3" ]
2 changes: 2 additions & 0 deletions repo/darwin/packages/upstream/jbuilder.1.0+beta9/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/janestreet/jbuilder/releases/download/1.0+beta9/jbuilder-1.0.beta9.tbz"
checksum: "7a8a71d559ed51712cfb4bba0da6721b"
13 changes: 13 additions & 0 deletions repo/darwin/packages/upstream/jsonm.1.0.1/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Non-blocking streaming JSON codec for OCaml

Jsonm is a non-blocking streaming codec to decode and encode the JSON
data format. It can process JSON text without blocking on IO and
without a complete in-memory representation of the data.

The alternative "uncut" codec also processes whitespace and
(non-standard) JSON with JavaScript comments.

Jsonm is made of a single module and depends on [Uutf][uutf]. It is distributed
under the ISC license.

[uutf]: http://erratique.ch/software/uutf
Loading

0 comments on commit 66a25d6

Please sign in to comment.