diff --git a/NEWS.md b/NEWS.md
index d1534f0..5fedda3 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -2,6 +2,9 @@
This file contains signficant news items for the distillery.
+# Automatic Password Checking (2022-11-25)
+- Implemented automatic password checking
+
# Login using Distillery Administration (2022-11-23)
- The admin interface now allows login to individual user accounts
diff --git a/cmd/drupal_user.go b/cmd/drupal_user.go
index be99450..8a0ce3c 100644
--- a/cmd/drupal_user.go
+++ b/cmd/drupal_user.go
@@ -1,21 +1,28 @@
package cmd
import (
+ "fmt"
+ "io"
+
wisski_distillery "github.com/FAU-CDI/wisski-distillery"
"github.com/FAU-CDI/wisski-distillery/internal/cli"
+ wstatus "github.com/FAU-CDI/wisski-distillery/internal/status"
"github.com/FAU-CDI/wisski-distillery/internal/wisski"
"github.com/tkw1536/goprogram/exit"
+ "github.com/tkw1536/goprogram/status"
)
// DrupalUser is the 'drupal_user' setting
var DrupalUser wisski_distillery.Command = duser{}
type duser struct {
- Passwd bool `short:"p" long:"password" description:"reset password for user"`
- Login bool `short:"l" long:"login" description:"print url to login as"`
- Positionals struct {
+ CheckCommonPasswords bool `short:"d" long:"check-common-passwords" description:"check for most common passwords. Operates on all users concurrently."`
+ CheckPasswdInteractive bool `short:"c" long:"check-password" description:"interactively check user password"`
+ ResetPasswd bool `short:"r" long:"reset-password" description:"reset password for user"`
+ Login bool `short:"l" long:"login" description:"print url to login as"`
+ Positionals struct {
Slug string `positional-arg-name:"SLUG" required:"1-1" description:"slug of instance to manage"`
- User string `positional-arg-name:"USER" description:"username to manage"`
+ User string `positional-arg-name:"USER" description:"username to manage. May be omitted for some actions"`
} `positional-args:"true"`
}
@@ -29,6 +36,39 @@ func (duser) Description() wisski_distillery.Description {
}
}
+var errNoActionSelected = exit.Error{
+ Message: "exactly one action must be selected",
+ ExitCode: exit.ExitGeneric,
+}
+
+var errUserParameter = exit.Error{
+ Message: "incorrect username parameter",
+ ExitCode: exit.ExitGeneric,
+}
+
+func (du duser) AfterParse() error {
+ var count int
+ for _, s := range []bool{
+ du.CheckCommonPasswords,
+ du.CheckPasswdInteractive,
+ du.ResetPasswd,
+ du.Login,
+ } {
+ if s {
+ count++
+ }
+ }
+ if count != 1 {
+ return errNoActionSelected
+ }
+
+ if du.CheckCommonPasswords != (du.Positionals.User == "") {
+ return errUserParameter
+ }
+
+ return nil
+}
+
var errPasswordsNotIdentical = exit.Error{
Message: "Passwords are not identical",
ExitCode: exit.ExitGeneric,
@@ -40,14 +80,21 @@ func (du duser) Run(context wisski_distillery.Context) error {
return err
}
- if du.Passwd {
+ switch {
+ case du.CheckCommonPasswords:
+ return du.checkCommonPassword(context, instance)
+ case du.CheckPasswdInteractive:
+ return du.checkPasswordInteractive(context, instance)
+ case du.ResetPasswd:
return du.resetPassword(context, instance)
+ case du.Login:
+ return du.login(context, instance)
}
- return du.login(context, instance)
+ panic("never reached")
}
func (du duser) login(context wisski_distillery.Context, instance *wisski.WissKI) error {
- link, err := instance.Drush().Login(context.IOStream, du.Positionals.User)
+ link, err := instance.Users().Login(nil, du.Positionals.User)
if err != nil {
return err
}
@@ -55,22 +102,83 @@ func (du duser) login(context wisski_distillery.Context, instance *wisski.WissKI
return nil
}
+var errPasswordFound = exit.Error{
+ Message: "User had a dictionary password",
+ ExitCode: 5,
+}
+
+func (du duser) checkCommonPassword(context wisski_distillery.Context, instance *wisski.WissKI) error {
+ users := instance.Users()
+
+ entities, err := users.All(nil)
+ if err != nil {
+ return err
+ }
+
+ return status.RunErrorGroup(context.Stderr, status.Group[wstatus.User, error]{
+ PrefixString: func(item wstatus.User, index int) string {
+ return fmt.Sprintf("User[%q]: ", item.Name)
+ },
+ PrefixAlign: true,
+ Handler: func(user wstatus.User, index int, writer io.Writer) error {
+ pv, err := users.GetPasswordValidator(string(user.Name))
+ if err != nil {
+ return err
+ }
+ defer pv.Close()
+
+ return pv.CheckDictionary(context.Environment.Context(), writer)
+ },
+ }, entities)
+}
+
+func (du duser) checkPasswordInteractive(context wisski_distillery.Context, instance *wisski.WissKI) error {
+ validator, err := instance.Users().GetPasswordValidator(du.Positionals.User)
+ if err != nil {
+ return err
+ }
+ defer validator.Close()
+
+ for {
+ context.Printf("Enter a password to check:")
+ candidate, err := context.IOStream.ReadPassword()
+ if err != nil {
+ return err
+ }
+ context.Println()
+
+ if candidate == "" {
+ break
+ }
+
+ if validator.Check(candidate) {
+ context.Println("check passed")
+ } else {
+ context.Println("check did not pass")
+ }
+ }
+
+ return nil
+}
+
func (du duser) resetPassword(context wisski_distillery.Context, instance *wisski.WissKI) error {
context.Printf("Enter new password for user %s:", du.Positionals.User)
passwd1, err := context.IOStream.ReadPassword()
if err != nil {
return err
}
+ context.Println()
context.Printf("Enter the same password again:")
passwd2, err := context.IOStream.ReadPassword()
if err != nil {
return err
}
+ context.Println()
if passwd1 != passwd2 {
return errPasswordsNotIdentical
}
- return instance.Drush().ResetPassword(context.IOStream, du.Positionals.User, passwd1)
+ return instance.Users().SetPassword(nil, du.Positionals.User, passwd1)
}
diff --git a/cmd/info.go b/cmd/info.go
index 0fd5d12..e8967b0 100644
--- a/cmd/info.go
+++ b/cmd/info.go
@@ -98,7 +98,7 @@ func (i info) Run(context wisski_distillery.Context) error {
context.Printf("Users: (count %d)\n", len(info.Users))
for _, user := range info.Users {
- context.Printf("- %s\n", user)
+ context.Printf("- %v\n", user)
}
return nil
diff --git a/go.mod b/go.mod
index ec7f726..f9c3a51 100644
--- a/go.mod
+++ b/go.mod
@@ -9,10 +9,11 @@ require (
github.com/feiin/sqlstring v0.3.0
github.com/gliderlabs/ssh v0.3.5
github.com/go-sql-driver/mysql v1.6.0
+ github.com/gorilla/mux v1.8.0
github.com/gorilla/websocket v1.5.0
github.com/pkg/errors v0.9.1
github.com/tkw1536/goprogram v0.1.1
- golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d
+ golang.org/x/crypto v0.3.0
golang.org/x/exp v0.0.0-20221004215720-b9f4876ce741
golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0
gorm.io/driver/mysql v1.3.6
@@ -26,6 +27,6 @@ require (
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/mattn/go-isatty v0.0.16 // indirect
- golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect
- golang.org/x/term v0.0.0-20220919170432-7a66f970e087 // indirect
+ golang.org/x/sys v0.2.0 // indirect
+ golang.org/x/term v0.2.0 // indirect
)
diff --git a/go.sum b/go.sum
index bb29a0f..99a1e4b 100644
--- a/go.sum
+++ b/go.sum
@@ -12,6 +12,8 @@ github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
+github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gosuri/uilive v0.0.4 h1:hUEBpQDj8D8jXgtCdBu7sWsy5sbW/5GhuO8KBwJ2jyY=
@@ -29,8 +31,9 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/tkw1536/goprogram v0.1.1 h1:gamK9OuRqoX2yQlA/nkgfVHHZWd/u2uUj6vJMYrYa70=
github.com/tkw1536/goprogram v0.1.1/go.mod h1:Jqs0sTMzhrAGCX3JQrlEwQ0WRWQACCvuQQkaBDp65pE=
-golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d h1:3qF+Z8Hkrw9sOhrFHti9TlB1Hkac1x+DNRkv0XQiFjo=
golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
+golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/exp v0.0.0-20221004215720-b9f4876ce741 h1:fGZugkZk2UgYBxtpKmvub51Yno1LJDeEsRp2xGD+0gY=
golang.org/x/exp v0.0.0-20221004215720-b9f4876ce741/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
@@ -44,13 +47,13 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI=
-golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
+golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.0.0-20220919170432-7a66f970e087 h1:tPwmk4vmvVCMdr98VgL4JH+qZxPL8fqlUOHnyOM8N3w=
-golang.org/x/term v0.0.0-20220919170432-7a66f970e087/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
+golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff --git a/internal/cli/params.go b/internal/cli/params.go
index 929e9b3..99b721d 100644
--- a/internal/cli/params.go
+++ b/internal/cli/params.go
@@ -35,16 +35,7 @@ func ParamsFromEnv() (params Params, err error) {
params.ConfigPath = filepath.Join(params.ConfigPath, bootstrap.ConfigFile)
// generate a new context
- ctx, cancel := context.WithCancel(context.Background())
- params.Context = ctx
-
- // cancel the context on an interrupt
- c := make(chan os.Signal, 1)
- signal.Notify(c, os.Interrupt)
- go func() {
- <-c
- cancel()
- }()
+ params.Context, _ = signal.NotifyContext(context.Background(), os.Interrupt)
// and return the params!
return params, nil
diff --git a/internal/dis/component/control/info/components.go b/internal/dis/component/control/info/components.go
index 1f1888a..2e3bf1e 100644
--- a/internal/dis/component/control/info/components.go
+++ b/internal/dis/component/control/info/components.go
@@ -2,7 +2,6 @@ package info
import (
"net/http"
- "strings"
"time"
_ "embed"
@@ -12,6 +11,7 @@ import (
"github.com/FAU-CDI/wisski-distillery/internal/models"
"github.com/FAU-CDI/wisski-distillery/pkg/httpx"
"github.com/FAU-CDI/wisski-distillery/pkg/lazy"
+ "github.com/gorilla/mux"
)
//go:embed "html/components.html"
@@ -51,12 +51,8 @@ type ingredientsContext struct {
func (info *Info) ingredients(r *http.Request) (cp ingredientsContext, err error) {
cp.Time = time.Now().UTC()
- // find the slug as the last component of path!
- slug := strings.TrimSuffix(r.URL.Path, "/")
- slug = slug[strings.LastIndex(slug, "/")+1:]
-
// find the instance itself!
- instance, err := info.Instances.WissKI(slug)
+ instance, err := info.Instances.WissKI(mux.Vars(r)["slug"])
if err == instances.ErrWissKINotFound {
return cp, httpx.ErrNotFound
}
diff --git a/internal/dis/component/control/info/html/instance.html b/internal/dis/component/control/info/html/instance.html
index ea9f700..9f3a48c 100644
--- a/internal/dis/component/control/info/html/instance.html
+++ b/internal/dis/component/control/info/html/instance.html
@@ -176,28 +176,81 @@
-
+
+
Users
+
+
+
- |
- Users
+ |
+ ID
+ |
+
+ Active
+ |
+
+ Name
+ |
+
+
+ Email
+ |
+
+ Roles
+ |
+
+ Created
+ |
+
+ Last Login
+ |
+
+ Action
|
{{ $slug := .Instance.Slug }}
{{ range $index, $user := .Info.Users }}
-
+
- {{ $user }}
+ {{ $user.UID }}
|
-
-
-
+ {{ $user.Status }}
+ |
+
+ {{ $user.Name }}
+ |
+
+
+ {{ if $user.Mail }}
+ {{ $user.Mail }}
+ {{ end }}
+ |
+
+ {{ range $role, $unuused := $user.Roles }}
+
+ {{ $role }}
+
+ {{ end }}
+ |
+
+ {{ $user.Created.Time.Format "2006-01-02T15:04:05Z07:00" }}
+ |
+
+ {{ $user.Login.Time.Format "2006-01-02T15:04:05Z07:00" }}
+ |
+
+
|
{{ end }}
diff --git a/internal/dis/component/control/info/info.go b/internal/dis/component/control/info/info.go
index 06941e6..4ced25e 100644
--- a/internal/dis/component/control/info/info.go
+++ b/internal/dis/component/control/info/info.go
@@ -7,6 +7,7 @@ import (
"github.com/FAU-CDI/wisski-distillery/internal/dis/component"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/exporter"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/exporter/logger"
+ "github.com/gorilla/mux"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/instances"
"github.com/FAU-CDI/wisski-distillery/pkg/httpx"
@@ -27,50 +28,71 @@ type Info struct {
func (*Info) Routes() []string { return []string{"/dis/"} }
-func (info *Info) Handler(route string, context context.Context, io stream.IOStream) (http.Handler, error) {
- mux := http.NewServeMux()
+func (info *Info) Handler(route string, context context.Context, io stream.IOStream) (handler http.Handler, err error) {
+ router := mux.NewRouter()
+ {
+ socket := &httpx.WebSocket{
+ Context: context,
+ Fallback: router,
+ Handler: info.serveSocket,
+ }
+ handler = httpx.BasicAuth(socket, "WissKI Distillery Admin", func(user, pass string) bool {
+ return user == info.Config.DisAdminUser && pass == info.Config.DisAdminPassword
+ })
+ }
// handle everything
- mux.HandleFunc(route, func(w http.ResponseWriter, r *http.Request) {
- if r.URL.Path == route {
- http.Redirect(w, r, route+"/index", http.StatusTemporaryRedirect)
- return
- }
- http.NotFound(w, r)
+ router.Path(route).HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ http.Redirect(w, r, route+"/index", http.StatusTemporaryRedirect)
})
// add a handler for the index page
- mux.Handle(route+"index", httpx.HTMLHandler[indexContext]{
+ router.Path(route + "index").Handler(httpx.HTMLHandler[indexContext]{
Handler: info.index,
Template: indexTemplate,
})
// add a handler for the component page
- mux.Handle(route+"components", httpx.HTMLHandler[componentContext]{
+ router.Path(route + "components").Handler(httpx.HTMLHandler[componentContext]{
Handler: info.components,
Template: componentsTemplate,
})
// add a handler for the component page
- mux.Handle(route+"ingredients/", httpx.HTMLHandler[ingredientsContext]{
+ router.Path(route + "ingredients/{slug}").Handler(httpx.HTMLHandler[ingredientsContext]{
Handler: info.ingredients,
Template: ingredientsTemplate,
})
// add a handler for the instance page
- mux.Handle(route+"instance/", httpx.HTMLHandler[instanceContext]{
+ router.Path(route + "instance/{slug}").Handler(httpx.HTMLHandler[instanceContext]{
Handler: info.instance,
Template: instanceTemplate,
})
- handler := &httpx.WebSocket{
- Context: context,
- Fallback: mux,
- Handler: info.serveSocket,
- }
+ router.Path(route + "api/login").Handler(httpx.ClientSideRedirect(func(r *http.Request) (string, error) {
+ // enforce POST
+ if r.Method != http.MethodPost {
+ return "", httpx.ErrMethodNotAllowed
+ }
- // ensure that everyone is logged in!
- return httpx.BasicAuth(handler, "WissKI Distillery Admin", func(user, pass string) bool {
- return user == info.Config.DisAdminUser && pass == info.Config.DisAdminPassword
- }), nil
+ // parse the form
+ if err := r.ParseForm(); err != nil {
+ return "", err
+ }
+
+ // get the instance
+ instance, err := info.Instances.WissKI(r.PostFormValue("slug"))
+ if err != nil {
+ return "", httpx.ErrNotFound
+ }
+
+ target, err := instance.Users().Login(nil, r.PostFormValue("user"))
+ if err != nil {
+ return "", err
+ }
+ return target.String(), err
+ }))
+
+ return
}
diff --git a/internal/dis/component/control/info/instance.go b/internal/dis/component/control/info/instance.go
index 673c1e8..5d0ab4b 100644
--- a/internal/dis/component/control/info/instance.go
+++ b/internal/dis/component/control/info/instance.go
@@ -3,7 +3,6 @@ package info
import (
_ "embed"
"net/http"
- "strings"
"time"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/control/static"
@@ -11,6 +10,7 @@ import (
"github.com/FAU-CDI/wisski-distillery/internal/models"
"github.com/FAU-CDI/wisski-distillery/internal/status"
"github.com/FAU-CDI/wisski-distillery/pkg/httpx"
+ "github.com/gorilla/mux"
)
//go:embed "html/instance.html"
@@ -28,12 +28,8 @@ type instanceContext struct {
}
func (info *Info) instance(r *http.Request) (is instanceContext, err error) {
- // find the slug as the last component of path!
- slug := strings.TrimSuffix(r.URL.Path, "/")
- slug = slug[strings.LastIndex(slug, "/")+1:]
-
// find the instance itself!
- instance, err := info.Instances.WissKI(slug)
+ instance, err := info.Instances.WissKI(mux.Vars(r)["slug"])
if err == instances.ErrWissKINotFound {
return is, httpx.ErrNotFound
}
diff --git a/internal/dis/component/control/info/socket.go b/internal/dis/component/control/info/socket.go
index 2502934..6ae16ad 100644
--- a/internal/dis/component/control/info/socket.go
+++ b/internal/dis/component/control/info/socket.go
@@ -47,13 +47,6 @@ var socketInstanceActions = map[string]InstanceAction{
return instance.Drush().Cron(str)
},
},
- "login": {
- NumParams: 1,
- HandleResult: func(_ *Info, instance *wisski.WissKI, params ...string) (any, error) {
- link, err := instance.Drush().Login(stream.FromNil(), params[0])
- return link, err
- },
- },
}
func (info *Info) serveSocket(conn httpx.WebSocketConnection) {
diff --git a/internal/phpx/types.go b/internal/phpx/types.go
index 4346e24..ac4b1cc 100644
--- a/internal/phpx/types.go
+++ b/internal/phpx/types.go
@@ -2,52 +2,29 @@ package phpx
import (
"encoding/json"
+ "errors"
"strconv"
"time"
)
-// PHPBoolean represents a boolean php value.
+// Boolean represents a boolean php value.
//
// The value can be marshaled to and from php and will behave as a PHP would behave.
//
// The value will always be marshaled as "true" or "false".
-// Unmarshaling uses [Boolean].
-type PHPBoolean bool
+// Unmarshaling uses [AsBoolean].
+type Boolean bool
-func (bi PHPBoolean) MarshalJSON() ([]byte, error) {
- if bi {
- return []byte("true"), nil
- }
- return []byte("false"), nil
-}
-func (bi *PHPBoolean) UnmarshalJSON(data []byte) (err error) {
- // unmarshal into a generic value
- var value any
- err = json.Unmarshal(data, &value)
- if err != nil {
- return err
- }
-
- // cast into a boolean
- cast, ok := Boolean(value)
- if !ok {
- value = false
- }
- *bi = PHPBoolean(cast)
-
- return nil
-}
-
-// Boolean tries to cast the given value to a boolean.
+// AsBoolean tries to cast the given value to a boolean.
//
// It is able to handle any value that would be [json.Unmarshaled] from a corresponding PHP value.
// Value treates all values as the boolean true, except for the ones listed at [doc].
//
// [doc]: https://www.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
-func Boolean(value any) (b bool, ok bool) {
+func AsBoolean(value any) (b Boolean, ok bool) {
switch d := value.(type) {
case bool:
- return d, true
+ return Boolean(d), true
case float64:
return d != 0, true
case string:
@@ -62,13 +39,40 @@ func Boolean(value any) (b bool, ok bool) {
return true, false
}
-// String tries to cast the given value to a string.
+func (b Boolean) MarshalJSON() ([]byte, error) {
+ if b {
+ return []byte("true"), nil
+ }
+ return []byte("false"), nil
+}
+
+var errNotABoolean = errors.New("Boolean.UnmarshalJSON: Not an integer")
+
+func (b *Boolean) UnmarshalJSON(data []byte) (err error) {
+ return UnmarshalIntermediate(b, func(a any) (Boolean, error) {
+ b, ok := AsBoolean(a)
+ if !ok {
+ return Boolean(false), errNotABoolean
+ }
+ return b, nil
+ }, data)
+}
+
+// String represents a string php value.
+//
+// The value can be marshaled to and from php and will behave as a PHP would behave.
+//
+// The value will always be marshaled as a literal string.
+// Unmarshaling uses [AsString].
+type String string
+
+// AsString tries to cast the given value to a string.
//
// It is able to handle any value that would be [json.Unmarshaled] from a corresponding PHP value.
// Value casting is described at [doc].
//
// [doc]: https://www.php.net/manual/en/language.types.string.php#language.types.string.casting
-func String(value any) (s string, ok bool) {
+func AsString(value any) (s String, ok bool) {
switch d := value.(type) {
case bool:
if d {
@@ -77,13 +81,12 @@ func String(value any) (s string, ok bool) {
return "", true
case float64:
if d == float64(int64(d)) {
- return strconv.FormatInt(int64(d), 10), true
+ return String(strconv.FormatInt(int64(d), 10)), true
}
// TODO: not sure this is entirely correct
- // and we should handle ints here!
- return strconv.FormatFloat(d, 'E', 1, 64), true
+ return String(strconv.FormatFloat(d, 'E', 1, 64)), true
case string:
- return d, true
+ return String(d), true
case []any, map[string]any:
return "Array", true
case nil:
@@ -93,14 +96,38 @@ func String(value any) (s string, ok bool) {
return "", false
}
-// Integer tries to cast the given value to an integer.
+func (s String) MarshalJSON() ([]byte, error) {
+ return json.Marshal(string(s))
+}
+
+var errNotAString = errors.New("String.UnmarshalJSON: Not a string")
+
+func (s *String) UnmarshalJSON(data []byte) (err error) {
+ return UnmarshalIntermediate(s, func(a any) (String, error) {
+ s, ok := AsString(a)
+ if !ok {
+ return s, errNotAString
+ }
+ return s, nil
+ }, data)
+}
+
+// Integer represents a boolean integer value.
+//
+// The value can be marshaled to and from php and will behave as a PHP would behave.
+//
+// The value will always be marshaled as an integer directly
+// Unmarshaling uses [AsInteger].
+type Integer int64
+
+// AsInteger tries to cast the given value to an integer.
//
// It is able to handle any value that would be [json.Unmarshaled] from a corresponding PHP value.
// Value casting is described at [doc].
//
// [doc]: https://www.php.net/manual/en/language.types.integer.php#language.types.integer.casting
-func Integer(value any) (i int64, ok bool) {
- str, ok := String(value)
+func AsInteger(value any) (i Integer, ok bool) {
+ str, ok := AsString(value)
if !ok {
return 0, false
}
@@ -108,31 +135,62 @@ func Integer(value any) (i int64, ok bool) {
// try to parse the "leading" string, by successively cutting off parts of the tail
// once we have a valid number, return it.
for l := 0; l < len(str); l++ {
- i64, err := strconv.ParseInt(str[:len(str)-l], 10, 64)
+ i64, err := strconv.ParseInt(string(str)[:len(str)-l], 10, 64)
if err != nil {
continue
}
- return i64, true
+ return Integer(i64), true
}
return 0, true
}
-// TimeInt represents a time value in PHP, represented as an integer
-type TimeInt time.Time
+func (i Integer) MarshalJSON() ([]byte, error) {
+ return json.Marshal(int64(i))
+}
-func (ts TimeInt) Time() time.Time {
+var errNotAnInteger = errors.New("Integer.UnmarshalJSON: Not an integer")
+
+func (i *Integer) UnmarshalJSON(data []byte) (err error) {
+ return UnmarshalIntermediate(i, func(a any) (Integer, error) {
+ i, ok := AsInteger(a)
+ if !ok {
+ return i, errNotAnInteger
+ }
+ return i, nil
+ }, data)
+}
+
+// Timestamp represents a time value in PHP, represented as an integer
+type Timestamp time.Time
+
+func (ts Timestamp) Time() time.Time {
return time.Time(ts)
}
-func (ts TimeInt) MarshalJSON() ([]byte, error) {
+func (ts Timestamp) MarshalJSON() ([]byte, error) {
return []byte(strconv.FormatInt(ts.Time().Unix(), 10)), nil
}
-func (ts *TimeInt) UnmarshalJSON(data []byte) (err error) {
- var value any
- if err := json.Unmarshal(data, &value); err != nil {
+func (ts *Timestamp) UnmarshalJSON(data []byte) (err error) {
+ return UnmarshalIntermediate(ts, func(value Integer) (Timestamp, error) {
+ return Timestamp(time.Unix(int64(value), 0)), nil
+ }, data)
+}
+
+// UnmarshalIntermediate unmarshals src into dest using an intermediate value of type I.
+//
+// It first unmarshals src into a new value of type I.
+// It then calls parser to parse I into T.
+func UnmarshalIntermediate[I, T any](dest *T, parser func(I) (T, error), src []byte) (err error) {
+ var temp I
+ err = json.Unmarshal(src, &temp)
+ if err != nil {
return err
}
- unix, _ := Integer(value)
- *ts = TimeInt(time.Unix(unix, 0))
+
+ *dest, err = parser(temp)
+ if err != nil {
+ return err
+ }
+
return nil
}
diff --git a/internal/status/wisski.go b/internal/status/wisski.go
index 5cd5f49..c494cd3 100644
--- a/internal/status/wisski.go
+++ b/internal/status/wisski.go
@@ -36,7 +36,7 @@ type WissKI struct {
NoPrefixes bool // TODO: Move this into the database
Prefixes []string // list of prefixes
Pathbuilders map[string]string // all the pathbuilders
- Users []string // all the known users
+ Users []User // all the known users
}
// Statistics holds statistics generated by the WissKI module
@@ -70,9 +70,9 @@ type BundleStatistics struct {
Count int `json:"entities"`
- LastEdit phpx.TimeInt `json:"lastEdit"`
+ LastEdit phpx.Timestamp `json:"lastEdit"`
- MainBundle phpx.PHPBoolean `json:"mainBundle"`
+ MainBundle phpx.Boolean `json:"mainBundle"`
} `json:"bundleStatistics"`
TotalBundles int `json:"totalBundles"`
TotalMainBundles int `json:"totalMainBundles"`
diff --git a/internal/status/wisski_user.go b/internal/status/wisski_user.go
new file mode 100644
index 0000000..9988e37
--- /dev/null
+++ b/internal/status/wisski_user.go
@@ -0,0 +1,65 @@
+package status
+
+import (
+ "encoding/json"
+ "strings"
+
+ "github.com/FAU-CDI/wisski-distillery/internal/phpx"
+ "golang.org/x/exp/slices"
+)
+
+// User represents a WissKI User
+type User struct {
+ UID phpx.Integer `json:"uid,omitempty"`
+ Name phpx.String `json:"name,omitempty"`
+ Mail phpx.String `json:"mail,omitempty"`
+ Status phpx.Boolean `json:"status,omitempty"`
+ Created phpx.Timestamp `json:"created,omitempty"`
+ Changed phpx.Timestamp `json:"changed,omitempty"`
+ Access phpx.Timestamp `json:"access,omitempty"`
+ Login phpx.Timestamp `json:"login,omitempty"`
+ Roles UserRoles `json:"roles,omitempty"`
+}
+
+// UserRole represents the role of a user
+type UserRole string
+
+const (
+ Administrator UserRole = "administrator"
+ ContentEditor UserRole = "content_editor"
+)
+
+// UserRoles represents a set of user roles for a given user
+type UserRoles map[UserRole]struct{}
+
+// Has checks if the UserRole has the given role
+func (ur UserRoles) Has(role UserRole) (ok bool) {
+ _, ok = ur[role]
+ return
+}
+
+func (ur UserRoles) MarshalJSON() ([]byte, error) {
+ roles := make([]string, len(ur))
+ i := 0
+ for r := range ur {
+ roles[i] = string(r)
+ i++
+ }
+ slices.Sort(roles) // for consistent marshaling
+
+ return json.Marshal(strings.Join(roles, ", "))
+}
+
+func (u *UserRoles) UnmarshalJSON(data []byte) error {
+ return phpx.UnmarshalIntermediate(u, func(s phpx.String) (UserRoles, error) {
+ if len(s) == 0 {
+ return nil, nil
+ }
+ roles := strings.Split(string(s), ", ")
+ uroles := make(UserRoles, len(roles))
+ for _, r := range roles {
+ uroles[UserRole(r)] = struct{}{}
+ }
+ return uroles, nil
+ }, data)
+}
diff --git a/internal/wisski/ingredient/barrel/drush/user.go b/internal/wisski/ingredient/barrel/drush/user.go
deleted file mode 100644
index 1745489..0000000
--- a/internal/wisski/ingredient/barrel/drush/user.go
+++ /dev/null
@@ -1,41 +0,0 @@
-package drush
-
-import (
- "strings"
-
- "github.com/alessio/shellescape"
- "github.com/tkw1536/goprogram/exit"
- "github.com/tkw1536/goprogram/stream"
-)
-
-var errLoginFailed = exit.Error{
- Message: "Failed to login",
- ExitCode: exit.ExitGeneric,
-}
-
-// Login generates a one-time login url for the given user
-func (drush *Drush) Login(io stream.IOStream, user string) (string, error) {
- var builder strings.Builder
-
- url := drush.Liquid.URL().String()
- command := shellescape.QuoteCommand([]string{"drush", "user:login", "--name=" + user, "--no-browser", "--uri=" + url})
-
- code, err := drush.Barrel.Shell(io.Streams(&builder, nil, nil, 0), "-c", command)
- if code != 0 || err != nil {
- return "", errLoginFailed
- }
- return strings.TrimSpace(builder.String()), nil
-}
-
-var errSetPasswordFailed = exit.Error{
- Message: "Failed to set password",
- ExitCode: exit.ExitGeneric,
-}
-
-func (drush *Drush) ResetPassword(io stream.IOStream, user, password string) error {
- code, err := drush.Barrel.Shell(io, "-c", "drush", "user:password", user, password)
- if code != 0 || err != nil {
- return errSetPasswordFailed
- }
- return nil
-}
diff --git a/internal/wisski/ingredient/php/extras/users.go b/internal/wisski/ingredient/php/extras/users.go
deleted file mode 100644
index b864279..0000000
--- a/internal/wisski/ingredient/php/extras/users.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package extras
-
-import (
- _ "embed"
-
- "github.com/FAU-CDI/wisski-distillery/internal/phpx"
- "github.com/FAU-CDI/wisski-distillery/internal/status"
- "github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient"
- "github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/php"
-)
-
-type Users struct {
- ingredient.Base
-
- PHP *php.PHP
-}
-
-//go:embed users.php
-var usersPHP string
-
-// All returns all known usernames
-func (u *Users) All(server *phpx.Server) (users []string, err error) {
- err = u.PHP.ExecScript(server, &users, usersPHP, "list_users")
- return
-}
-
-func (u *Users) Fetch(flags ingredient.FetcherFlags, info *status.WissKI) (err error) {
- if flags.Quick {
- return
- }
-
- info.Users, _ = u.All(flags.Server)
- return
-}
diff --git a/internal/wisski/ingredient/php/extras/users.php b/internal/wisski/ingredient/php/extras/users.php
deleted file mode 100644
index 56d77ec..0000000
--- a/internal/wisski/ingredient/php/extras/users.php
+++ /dev/null
@@ -1,16 +0,0 @@
-get('name')->getString();
- if(empty($name)) continue;
- $usernames[] = $name;
- }
- return $usernames;
-}
diff --git a/internal/wisski/ingredient/php/users/password.go b/internal/wisski/ingredient/php/users/password.go
new file mode 100644
index 0000000..1c67c9e
--- /dev/null
+++ b/internal/wisski/ingredient/php/users/password.go
@@ -0,0 +1,144 @@
+package users
+
+import (
+ "bufio"
+ "context"
+ "embed"
+ "errors"
+ "fmt"
+ "io"
+ "io/fs"
+ "strings"
+
+ "github.com/FAU-CDI/wisski-distillery/internal/phpx"
+)
+
+var errGetValidator = errors.New("GetPasswordValidator: Unknown Error")
+
+func (u *Users) GetPasswordValidator(username string) (pv PasswordValidator, err error) {
+ server := u.PHP.NewServer()
+
+ var hash string
+ err = u.PHP.ExecScript(server, &hash, usersPHP, "get_password_hash", username)
+ if err != nil {
+ server.Close()
+ return pv, err
+ }
+ if len(hash) == 0 {
+ server.Close()
+ return pv, errGetValidator
+ }
+
+ pv.server = server
+ pv.username = username
+ pv.hash = hash
+ return pv, nil
+}
+
+type PasswordValidator struct {
+ server *phpx.Server
+
+ username string
+ hash string
+}
+
+func (pv PasswordValidator) Close() error {
+ return pv.server.Close()
+}
+
+func (pv PasswordValidator) Check(password string) bool {
+ var result phpx.Boolean
+ err := pv.server.MarshalCall(&result, "check_password_hash", password, string(pv.hash))
+ if err != nil {
+ return false
+ }
+ return bool(result)
+}
+
+var errPasswordUsername = errors.New("username === password")
+
+type CommonPasswordError struct {
+ Password CommonPassword
+}
+
+func (cpe CommonPasswordError) Error() string {
+ return fmt.Sprintf("%q from %q", cpe.Password.Password, cpe.Password.Source)
+}
+
+func (pv PasswordValidator) CheckDictionary(context context.Context, writer io.Writer) error {
+ var counter int
+
+ if pv.Check(pv.username) {
+ if writer != nil {
+ counter++
+ fmt.Fprintln(writer, counter)
+ }
+ return errPasswordUsername
+ }
+ for candidate := range CommonPasswords() {
+ if context.Err() != nil {
+ continue
+ }
+ result := pv.Check(candidate.Password)
+ if writer != nil {
+ counter++
+ fmt.Fprintln(writer, counter)
+ }
+
+ if result {
+ return &CommonPasswordError{Password: candidate}
+ }
+ }
+
+ return context.Err()
+}
+
+//go:embed passwords
+var passwordsEmbed embed.FS
+
+type CommonPassword struct {
+ Password string
+ Source string
+}
+
+// CommonPasswords returns a channel of most common passwords
+func CommonPasswords() <-chan CommonPassword {
+ pChan := make(chan CommonPassword, 10)
+ go func() {
+ defer close(pChan)
+
+ fs.WalkDir(passwordsEmbed, ".", func(path string, d fs.DirEntry, err error) error {
+ if err != nil {
+ return err
+ }
+
+ // get the full path
+ if d.IsDir() || !strings.HasSuffix(path, ".txt") {
+ return nil
+ }
+
+ // open it
+ file, err := passwordsEmbed.Open(path)
+ if err != nil {
+ return err
+ }
+ defer file.Close()
+
+ // scan it line by line
+ scanner := bufio.NewScanner(file)
+ for scanner.Scan() {
+ line := strings.TrimSpace(scanner.Text())
+ if line == "" || strings.HasPrefix(line, "//") {
+ continue
+ }
+ pChan <- CommonPassword{
+ Password: line,
+ Source: path,
+ }
+ }
+
+ return scanner.Err()
+ })
+ }()
+ return pChan
+}
diff --git a/internal/wisski/ingredient/php/users/passwords/top10_000.txt b/internal/wisski/ingredient/php/users/passwords/top10_000.txt
new file mode 100644
index 0000000..9d51c03
--- /dev/null
+++ b/internal/wisski/ingredient/php/users/passwords/top10_000.txt
@@ -0,0 +1,10025 @@
+// Top 10000 Passwords adapted from
+// https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10-million-password-list-top-10000.txt
+//
+// MIT License
+//
+// Copyright (c) 2018 Daniel Miessler
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+123456
+password
+12345678
+qwerty
+123456789
+12345
+1234
+111111
+1234567
+dragon
+123123
+baseball
+abc123
+football
+monkey
+letmein
+696969
+shadow
+master
+666666
+qwertyuiop
+123321
+mustang
+1234567890
+michael
+654321
+pussy
+superman
+1qaz2wsx
+7777777
+fuckyou
+121212
+000000
+qazwsx
+123qwe
+killer
+trustno1
+jordan
+jennifer
+zxcvbnm
+asdfgh
+hunter
+buster
+soccer
+harley
+batman
+andrew
+tigger
+sunshine
+iloveyou
+fuckme
+2000
+charlie
+robert
+thomas
+hockey
+ranger
+daniel
+starwars
+klaster
+112233
+george
+asshole
+computer
+michelle
+jessica
+pepper
+1111
+zxcvbn
+555555
+11111111
+131313
+freedom
+777777
+pass
+fuck
+maggie
+159753
+aaaaaa
+ginger
+princess
+joshua
+cheese
+amanda
+summer
+love
+ashley
+6969
+nicole
+chelsea
+biteme
+matthew
+access
+yankees
+987654321
+dallas
+austin
+thunder
+taylor
+matrix
+william
+corvette
+hello
+martin
+heather
+secret
+fucker
+merlin
+diamond
+1234qwer
+gfhjkm
+hammer
+silver
+222222
+88888888
+anthony
+justin
+test
+bailey
+q1w2e3r4t5
+patrick
+internet
+scooter
+orange
+11111
+golfer
+cookie
+richard
+samantha
+bigdog
+guitar
+jackson
+whatever
+mickey
+chicken
+sparky
+snoopy
+maverick
+phoenix
+camaro
+sexy
+peanut
+morgan
+welcome
+falcon
+cowboy
+ferrari
+samsung
+andrea
+smokey
+steelers
+joseph
+mercedes
+dakota
+arsenal
+eagles
+melissa
+boomer
+booboo
+spider
+nascar
+monster
+tigers
+yellow
+xxxxxx
+123123123
+gateway
+marina
+diablo
+bulldog
+qwer1234
+compaq
+purple
+hardcore
+banana
+junior
+hannah
+123654
+porsche
+lakers
+iceman
+money
+cowboys
+987654
+london
+tennis
+999999
+ncc1701
+coffee
+scooby
+0000
+miller
+boston
+q1w2e3r4
+fuckoff
+brandon
+yamaha
+chester
+mother
+forever
+johnny
+edward
+333333
+oliver
+redsox
+player
+nikita
+knight
+fender
+barney
+midnight
+please
+brandy
+chicago
+badboy
+iwantu
+slayer
+rangers
+charles
+angel
+flower
+bigdaddy
+rabbit
+wizard
+bigdick
+jasper
+enter
+rachel
+chris
+steven
+winner
+adidas
+victoria
+natasha
+1q2w3e4r
+jasmine
+winter
+prince
+panties
+marine
+ghbdtn
+fishing
+cocacola
+casper
+james
+232323
+raiders
+888888
+marlboro
+gandalf
+asdfasdf
+crystal
+87654321
+12344321
+sexsex
+golden
+blowme
+bigtits
+8675309
+panther
+lauren
+angela
+bitch
+spanky
+thx1138
+angels
+madison
+winston
+shannon
+mike
+toyota
+blowjob
+jordan23
+canada
+sophie
+Password
+apples
+dick
+tiger
+razz
+123abc
+pokemon
+qazxsw
+55555
+qwaszx
+muffin
+johnson
+murphy
+cooper
+jonathan
+liverpoo
+david
+danielle
+159357
+jackie
+1990
+123456a
+789456
+turtle
+horny
+abcd1234
+scorpion
+qazwsxedc
+101010
+butter
+carlos
+password1
+dennis
+slipknot
+qwerty123
+booger
+asdf
+1991
+black
+startrek
+12341234
+cameron
+newyork
+rainbow
+nathan
+john
+1992
+rocket
+viking
+redskins
+butthead
+asdfghjkl
+1212
+sierra
+peaches
+gemini
+doctor
+wilson
+sandra
+helpme
+qwertyui
+victor
+florida
+dolphin
+pookie
+captain
+tucker
+blue
+liverpool
+theman
+bandit
+dolphins
+maddog
+packers
+jaguar
+lovers
+nicholas
+united
+tiffany
+maxwell
+zzzzzz
+nirvana
+jeremy
+suckit
+stupid
+porn
+monica
+elephant
+giants
+jackass
+hotdog
+rosebud
+success
+debbie
+mountain
+444444
+xxxxxxxx
+warrior
+1q2w3e4r5t
+q1w2e3
+123456q
+albert
+metallic
+lucky
+azerty
+7777
+shithead
+alex
+bond007
+alexis
+1111111
+samson
+5150
+willie
+scorpio
+bonnie
+gators
+benjamin
+voodoo
+driver
+dexter
+2112
+jason
+calvin
+freddy
+212121
+creative
+12345a
+sydney
+rush2112
+1989
+asdfghjk
+red123
+bubba
+4815162342
+passw0rd
+trouble
+gunner
+happy
+fucking
+gordon
+legend
+jessie
+stella
+qwert
+eminem
+arthur
+apple
+nissan
+bullshit
+bear
+america
+1qazxsw2
+nothing
+parker
+4444
+rebecca
+qweqwe
+garfield
+01012011
+beavis
+69696969
+jack
+asdasd
+december
+2222
+102030
+252525
+11223344
+magic
+apollo
+skippy
+315475
+girls
+kitten
+golf
+copper
+braves
+shelby
+godzilla
+beaver
+fred
+tomcat
+august
+buddy
+airborne
+1993
+1988
+lifehack
+qqqqqq
+brooklyn
+animal
+platinum
+phantom
+online
+xavier
+darkness
+blink182
+power
+fish
+green
+789456123
+voyager
+police
+travis
+12qwaszx
+heaven
+snowball
+lover
+abcdef
+00000
+pakistan
+007007
+walter
+playboy
+blazer
+cricket
+sniper
+hooters
+donkey
+willow
+loveme
+saturn
+therock
+redwings
+bigboy
+pumpkin
+trinity
+williams
+tits
+nintendo
+digital
+destiny
+topgun
+runner
+marvin
+guinness
+chance
+bubbles
+testing
+fire
+november
+minecraft
+asdf1234
+lasvegas
+sergey
+broncos
+cartman
+private
+celtic
+birdie
+little
+cassie
+babygirl
+donald
+beatles
+1313
+dickhead
+family
+12121212
+school
+louise
+gabriel
+eclipse
+fluffy
+147258369
+lol123
+explorer
+beer
+nelson
+flyers
+spencer
+scott
+lovely
+gibson
+doggie
+cherry
+andrey
+snickers
+buffalo
+pantera
+metallica
+member
+carter
+qwertyu
+peter
+alexande
+steve
+bronco
+paradise
+goober
+5555
+samuel
+montana
+mexico
+dreams
+michigan
+cock
+carolina
+yankee
+friends
+magnum
+surfer
+poopoo
+maximus
+genius
+cool
+vampire
+lacrosse
+asd123
+aaaa
+christin
+kimberly
+speedy
+sharon
+carmen
+111222
+kristina
+sammy
+racing
+ou812
+sabrina
+horses
+0987654321
+qwerty1
+pimpin
+baby
+stalker
+enigma
+147147
+star
+poohbear
+boobies
+147258
+simple
+bollocks
+12345q
+marcus
+brian
+1987
+qweasdzxc
+drowssap
+hahaha
+caroline
+barbara
+dave
+viper
+drummer
+action
+einstein
+bitches
+genesis
+hello1
+scotty
+friend
+forest
+010203
+hotrod
+google
+vanessa
+spitfire
+badger
+maryjane
+friday
+alaska
+1232323q
+tester
+jester
+jake
+champion
+billy
+147852
+rock
+hawaii
+badass
+chevy
+420420
+walker
+stephen
+eagle1
+bill
+1986
+october
+gregory
+svetlana
+pamela
+1984
+music
+shorty
+westside
+stanley
+diesel
+courtney
+242424
+kevin
+porno
+hitman
+boobs
+mark
+12345qwert
+reddog
+frank
+qwe123
+popcorn
+patricia
+aaaaaaaa
+1969
+teresa
+mozart
+buddha
+anderson
+paul
+melanie
+abcdefg
+security
+lucky1
+lizard
+denise
+3333
+a12345
+123789
+ruslan
+stargate
+simpsons
+scarface
+eagle
+123456789a
+thumper
+olivia
+naruto
+1234554321
+general
+cherokee
+a123456
+vincent
+Usuckballz1
+spooky
+qweasd
+cumshot
+free
+frankie
+douglas
+death
+1980
+loveyou
+kitty
+kelly
+veronica
+suzuki
+semperfi
+penguin
+mercury
+liberty
+spirit
+scotland
+natalie
+marley
+vikings
+system
+sucker
+king
+allison
+marshall
+1979
+098765
+qwerty12
+hummer
+adrian
+1985
+vfhbyf
+sandman
+rocky
+leslie
+antonio
+98765432
+4321
+softball
+passion
+mnbvcxz
+bastard
+passport
+horney
+rascal
+howard
+franklin
+bigred
+assman
+alexander
+homer
+redrum
+jupiter
+claudia
+55555555
+141414
+zaq12wsx
+shit
+patches
+nigger
+cunt
+raider
+infinity
+andre
+54321
+galore
+college
+russia
+kawasaki
+bishop
+77777777
+vladimir
+money1
+freeuser
+wildcats
+francis
+disney
+budlight
+brittany
+1994
+00000000
+sweet
+oksana
+honda
+domino
+bulldogs
+brutus
+swordfis
+norman
+monday
+jimmy
+ironman
+ford
+fantasy
+9999
+7654321
+PASSWORD
+hentai
+duncan
+cougar
+1977
+jeffrey
+house
+dancer
+brooke
+timothy
+super
+marines
+justice
+digger
+connor
+patriots
+karina
+202020
+molly
+everton
+tinker
+alicia
+rasdzv3
+poop
+pearljam
+stinky
+naughty
+colorado
+123123a
+water
+test123
+ncc1701d
+motorola
+ireland
+asdfg
+slut
+matt
+houston
+boogie
+zombie
+accord
+vision
+bradley
+reggie
+kermit
+froggy
+ducati
+avalon
+6666
+9379992
+sarah
+saints
+logitech
+chopper
+852456
+simpson
+madonna
+juventus
+claire
+159951
+zachary
+yfnfif
+wolverin
+warcraft
+hello123
+extreme
+penis
+peekaboo
+fireman
+eugene
+brenda
+123654789
+russell
+panthers
+georgia
+smith
+skyline
+jesus
+elizabet
+spiderma
+smooth
+pirate
+empire
+bullet
+8888
+virginia
+valentin
+psycho
+predator
+arizona
+134679
+mitchell
+alyssa
+vegeta
+titanic
+christ
+goblue
+fylhtq
+wolf
+mmmmmm
+kirill
+indian
+hiphop
+baxter
+awesome
+people
+danger
+roland
+mookie
+741852963
+1111111111
+dreamer
+bambam
+arnold
+1981
+skipper
+serega
+rolltide
+elvis
+changeme
+simon
+1q2w3e
+lovelove
+fktrcfylh
+denver
+tommy
+mine
+loverboy
+hobbes
+happy1
+alison
+nemesis
+chevelle
+cardinal
+burton
+wanker
+picard
+151515
+tweety
+michael1
+147852369
+12312
+xxxx
+windows
+turkey
+456789
+1974
+vfrcbv
+sublime
+1975
+galina
+bobby
+newport
+manutd
+daddy
+american
+alexandr
+1966
+victory
+rooster
+qqq111
+madmax
+electric
+bigcock
+a1b2c3
+wolfpack
+spring
+phpbb
+lalala
+suckme
+spiderman
+eric
+darkside
+classic
+raptor
+123456789q
+hendrix
+1982
+wombat
+avatar
+alpha
+zxc123
+crazy
+hard
+england
+brazil
+1978
+01011980
+wildcat
+polina
+freepass
+carrie
+99999999
+qaz123
+holiday
+fyfcnfcbz
+brother
+taurus
+shaggy
+raymond
+maksim
+gundam
+admin
+vagina
+pretty
+pickle
+good
+chronic
+alabama
+airplane
+22222222
+1976
+1029384756
+01011
+time
+sports
+ronaldo
+pandora
+cheyenne
+caesar
+billybob
+bigman
+1968
+124578
+snowman
+lawrence
+kenneth
+horse
+france
+bondage
+perfect
+kristen
+devils
+alpha1
+pussycat
+kodiak
+flowers
+1973
+01012000
+leather
+amber
+gracie
+chocolat
+bubba1
+catch22
+business
+2323
+1983
+cjkysirj
+1972
+123qweasd
+ytrewq
+wolves
+stingray
+ssssss
+serenity
+ronald
+greenday
+135790
+010101
+tiger1
+sunset
+charlie1
+berlin
+bbbbbb
+171717
+panzer
+lincoln
+katana
+firebird
+blizzard
+a1b2c3d4
+white
+sterling
+redhead
+password123
+candy
+anna
+142536
+sasha
+pyramid
+outlaw
+hercules
+garcia
+454545
+trevor
+teens
+maria
+kramer
+girl
+popeye
+pontiac
+hardon
+dude
+aaaaa
+323232
+tarheels
+honey
+cobra
+buddy1
+remember
+lickme
+detroit
+clinton
+basketball
+zeppelin
+whynot
+swimming
+strike
+service
+pavilion
+michele
+engineer
+dodgers
+britney
+bobafett
+adam
+741852
+21122112
+xxxxx
+robbie
+miranda
+456123
+future
+darkstar
+icecream
+connie
+1970
+jones
+hellfire
+fisher
+fireball
+apache
+fuckit
+blonde
+bigmac
+abcd
+morris
+angel1
+666999
+321321
+simone
+rockstar
+flash
+defender
+1967
+wallace
+trooper
+oscar
+norton
+casino
+cancer
+beauty
+weasel
+savage
+raven
+harvey
+bowling
+246810
+wutang
+theone
+swordfish
+stewart
+airforce
+abcdefgh
+nipples
+nastya
+jenny
+hacker
+753951
+amateur
+viktor
+srinivas
+maxima
+lennon
+freddie
+bluebird
+qazqaz
+presario
+pimp
+packard
+mouse
+looking
+lesbian
+jeff
+cheryl
+2001
+wrangler
+sandy
+machine
+lights
+eatme
+control
+tattoo
+precious
+harrison
+duke
+beach
+tornado
+tanner
+goldfish
+catfish
+openup
+manager
+1971
+street
+Soso123aljg
+roscoe
+paris
+natali
+light
+julian
+jerry
+dilbert
+dbrnjhbz
+chris1
+atlanta
+xfiles
+thailand
+sailor
+pussies
+pervert
+lucifer
+longhorn
+enjoy
+dragons
+young
+target
+elaine
+dustin
+123qweasdzxc
+student
+madman
+lisa
+integra
+wordpass
+prelude
+newton
+lolita
+ladies
+hawkeye
+corona
+bubble
+31415926
+trigger
+spike
+katie
+iloveu
+herman
+design
+cannon
+999999999
+video
+stealth
+shooter
+nfnmzyf
+hottie
+browns
+314159
+trucks
+malibu
+bruins
+bobcat
+barbie
+1964
+orlando
+letmein1
+freaky
+foobar
+cthutq
+baller
+unicorn
+scully
+pussy1
+potter
+cookies
+pppppp
+philip
+gogogo
+elena
+country
+assassin
+1010
+zaqwsx
+testtest
+peewee
+moose
+microsoft
+teacher
+sweety
+stefan
+stacey
+shotgun
+random
+laura
+hooker
+dfvgbh
+devildog
+chipper
+athena
+winnie
+valentina
+pegasus
+kristin
+fetish
+butterfly
+woody
+swinger
+seattle
+lonewolf
+joker
+booty
+babydoll
+atlantis
+tony
+powers
+polaris
+montreal
+angelina
+77777
+tickle
+regina
+pepsi
+gizmo
+express
+dollar
+squirt
+shamrock
+knicks
+hotstuff
+balls
+transam
+stinger
+smiley
+ryan
+redneck
+mistress
+hjvfirf
+cessna
+bunny
+toshiba
+single
+piglet
+fucked
+father
+deftones
+coyote
+castle
+cadillac
+blaster
+valerie
+samurai
+oicu812
+lindsay
+jasmin
+james1
+ficken
+blahblah
+birthday
+1234abcd
+01011990
+sunday
+manson
+flipper
+asdfghj
+181818
+wicked
+great
+daisy
+babes
+skeeter
+reaper
+maddie
+cavalier
+veronika
+trucker
+qazwsx123
+mustang1
+goldberg
+escort
+12345678910
+wolfgang
+rocks
+mylove
+mememe
+lancer
+ibanez
+travel
+sugar
+snake
+sister
+siemens
+savannah
+minnie
+leonardo
+basketba
+1963
+trumpet
+texas
+rocky1
+galaxy
+cristina
+aardvark
+shelly
+hotsex
+goldie
+fatboy
+benson
+321654
+141627
+sweetpea
+ronnie
+indigo
+13131313
+spartan
+roberto
+hesoyam
+freeman
+freedom1
+fredfred
+pizza
+manchester
+lestat
+kathleen
+hamilton
+erotic
+blabla
+22222
+1995
+skater
+pencil
+passwor
+larisa
+hornet
+hamlet
+gambit
+fuckyou2
+alfred
+456456
+sweetie
+marino
+lollol
+565656
+techno
+special
+renegade
+insane
+indiana
+farmer
+drpepper
+blondie
+bigboobs
+272727
+1a2b3c
+valera
+storm
+seven
+rose
+nick
+mister
+karate
+casey
+1qaz2wsx3edc
+1478963
+maiden
+julie
+curtis
+colors
+christia
+buckeyes
+13579
+0123456789
+toronto
+stephani
+pioneer
+kissme
+jungle
+jerome
+holland
+harry
+garden
+enterpri
+dragon1
+diamonds
+chrissy
+bigone
+343434
+wonder
+wetpussy
+subaru
+smitty
+racecar
+pascal
+morpheus
+joanne
+irina
+indians
+impala
+hamster
+charger
+change
+bigfoot
+babylon
+66666666
+timber
+redman
+pornstar
+bernie
+tomtom
+thuglife
+millie
+buckeye
+aaron
+virgin
+tristan
+stormy
+rusty
+pierre
+napoleon
+monkey1
+highland
+chiefs
+chandler
+catdog
+aurora
+1965
+trfnthbyf
+sampson
+nipple
+dudley
+cream
+consumer
+burger
+brandi
+welcome1
+triumph
+joejoe
+hunting
+dirty
+caserta
+brown
+aragorn
+363636
+mariah
+element
+chichi
+2121
+123qwe123
+wrinkle1
+smoke
+omega
+monika
+leonard
+justme
+hobbit
+gloria
+doggy
+chicks
+bass
+audrey
+951753
+51505150
+11235813
+sakura
+philips
+griffin
+butterfl
+artist
+66666
+island
+goforit
+emerald
+elizabeth
+anakin
+watson
+poison
+none
+italia
+callie
+bobbob
+autumn
+andreas
+123
+sherlock
+q12345
+pitbull
+marathon
+kelsey
+inside
+german
+blackie
+access14
+123asd
+zipper
+overlord
+nadine
+marie
+basket
+trombone
+stones
+sammie
+nugget
+naked
+kaiser
+isabelle
+huskers
+bomber
+barcelona
+babylon5
+babe
+alpine
+weed
+ultimate
+pebbles
+nicolas
+marion
+loser
+linda
+eddie
+wesley
+warlock
+tyler
+goddess
+fatcat
+energy
+david1
+bassman
+yankees1
+whore
+trojan
+trixie
+superfly
+kkkkkk
+ybrbnf
+warren
+sophia
+sidney
+pussys
+nicola
+campbell
+vfvjxrf
+singer
+shirley
+qawsed
+paladin
+martha
+karen
+help
+harold
+geronimo
+forget
+concrete
+191919
+westham
+soldier
+q1w2e3r4t5y6
+poiuyt
+nikki
+mario
+juice
+jessica1
+global
+dodger
+123454321
+webster
+titans
+tintin
+tarzan
+sexual
+sammy1
+portugal
+onelove
+marcel
+manuel
+madness
+jjjjjj
+holly
+christy
+424242
+yvonne
+sundance
+sex4me
+pleasure
+logan
+danny
+wwwwww
+truck
+spartak
+smile
+michel
+history
+Exigen
+65432
+1234321
+sherry
+sherman
+seminole
+rommel
+network
+ladybug
+isabella
+holden
+harris
+germany
+fktrctq
+cotton
+angelo
+14789632
+sergio
+qazxswedc
+moon
+jesus1
+trunks
+snakes
+sluts
+kingkong
+bluesky
+archie
+adgjmptw
+911911
+112358
+sunny
+suck
+snatch
+planet
+panama
+ncc1701e
+mongoose
+head
+hansolo
+desire
+alejandr
+1123581321
+whiskey
+waters
+teen
+party
+martina
+margaret
+january
+connect
+bluemoon
+bianca
+andrei
+5555555
+smiles
+nolimit
+long
+assass
+abigail
+555666
+yomama
+rocker
+plastic
+katrina
+ghbdtnbr
+ferret
+emily
+bonehead
+blessed
+beagle
+asasas
+abgrtyu
+sticky
+olga
+japan
+jamaica
+home
+hector
+dddddd
+1961
+turbo
+stallion
+personal
+peace
+movie
+morrison
+joanna
+geheim
+finger
+cactus
+7895123
+susan
+super123
+spyder
+mission
+anything
+aleksandr
+zxcvb
+shalom
+rhbcnbyf
+pickles
+passat
+natalia
+moomoo
+jumper
+inferno
+dietcoke
+cumming
+cooldude
+chuck
+christop
+million
+lollipop
+fernando
+christian
+blue22
+bernard
+apple1
+unreal
+spunky
+ripper
+open
+niners
+letmein2
+flatron
+faster
+deedee
+bertha
+april
+4128
+01012010
+werewolf
+rubber
+punkrock
+orion
+mulder
+missy
+larry
+giovanni
+gggggg
+cdtnkfyf
+yoyoyo
+tottenha
+shaved
+newman
+lindsey
+joey
+hongkong
+freak
+daniela
+camera
+brianna
+blackcat
+a1234567
+1q1q1q
+zzzzzzzz
+stars
+pentium
+patton
+jamie
+hollywoo
+florence
+biscuit
+beetle
+andy
+always
+speed
+sailing
+phillip
+legion
+gn56gn56
+909090
+martini
+dream
+darren
+clifford
+2002
+stocking
+solomon
+silvia
+pirates
+office
+monitor
+monique
+milton
+matthew1
+maniac
+loulou
+jackoff
+immortal
+fossil
+dodge
+delta
+44444444
+121314
+sylvia
+sprite
+shadow1
+salmon
+diana
+shasta
+patriot
+palmer
+oxford
+nylons
+molly1
+irish
+holmes
+curious
+asdzxc
+1999
+makaveli
+kiki
+kennedy
+groovy
+foster
+drizzt
+twister
+snapper
+sebastia
+philly
+pacific
+jersey
+ilovesex
+dominic
+charlott
+carrot
+anthony1
+africa
+111222333
+sharks
+serena
+satan666
+maxmax
+maurice
+jacob
+gerald
+cosmos
+columbia
+colleen
+cjkywt
+cantona
+brooks
+99999
+787878
+rodney
+nasty
+keeper
+infantry
+frog
+french
+eternity
+dillon
+coolio
+condor
+anton
+waterloo
+velvet
+vanhalen
+teddy
+skywalke
+sheila
+sesame
+seinfeld
+funtime
+012345
+standard
+squirrel
+qazwsxed
+ninja
+kingdom
+grendel
+ghost
+fuckfuck
+damien
+crimson
+boeing
+bird
+biggie
+090909
+zaq123
+wolverine
+wolfman
+trains
+sweets
+sunrise
+maxine
+legolas
+jericho
+isabel
+foxtrot
+anal
+shogun
+search
+robinson
+rfrfirf
+ravens
+privet
+penny
+musicman
+memphis
+megadeth
+dogs
+butt
+brownie
+oldman
+graham
+grace
+505050
+verbatim
+support
+safety
+review
+newlife
+muscle
+herbert
+colt45
+bottom
+2525
+1q2w3e4r5t6y
+1960
+159159
+western
+twilight
+thanks
+suzanne
+potato
+pikachu
+murray
+master1
+marlin
+gilbert
+getsome
+fuckyou1
+dima
+denis
+789789
+456852
+stone
+stardust
+seven7
+peanuts
+obiwan
+mollie
+licker
+kansas
+frosty
+ball
+262626
+tarheel
+showtime
+roman
+markus
+maestro
+lobster
+darwin
+cindy
+chubby
+2468
+147896325
+tanker
+surfing
+skittles
+showme
+shaney14
+qwerty12345
+magic1
+goblin
+fusion
+blades
+banshee
+alberto
+123321123
+123098
+powder
+malcolm
+intrepid
+garrett
+delete
+chaos
+bruno
+1701
+tequila
+short
+sandiego
+python
+punisher
+newpass
+iverson
+clayton
+amadeus
+1234567a
+stimpy
+sooners
+preston
+poopie
+photos
+neptune
+mirage
+harmony
+gold
+fighter
+dingdong
+cats
+whitney
+sucks
+slick
+rick
+ricardo
+princes
+liquid
+helena
+daytona
+clover
+blues
+anubis
+1996
+192837465
+starcraft
+roxanne
+pepsi1
+mushroom
+eatshit
+dagger
+cracker
+capital
+brendan
+blackdog
+25802580
+strider
+slapshot
+porter
+pink
+jason1
+hershey
+gothic
+flight
+ekaterina
+cody
+buffy
+boss
+bananas
+aaaaaaa
+123698745
+1234512345
+tracey
+miami
+kolobok
+danni
+chargers
+cccccc
+blue123
+bigguy
+33333333
+0.0.000
+warriors
+walnut
+raistlin
+ping
+miguel
+latino
+griffey
+green1
+gangster
+felix
+engine
+doodle
+coltrane
+byteme
+buck
+asdf123
+123456z
+0007
+vertigo
+tacobell
+shark
+portland
+penelope
+osiris
+nymets
+nookie
+mary
+lucky7
+lucas
+lester
+ledzep
+gorilla
+coco
+bugger
+bruce
+blood
+bentley
+battle
+1a2b3c4d
+19841984
+12369874
+weezer
+turner
+thegame
+stranger
+sally
+Mailcreated5240
+knights
+halflife
+ffffff
+dorothy
+dookie
+damian
+258456
+women
+trance
+qwerasdf
+playtime
+paradox
+monroe
+kangaroo
+henry
+dumbass
+dublin
+charly
+butler
+brasil
+blade
+blackman
+bender
+baggins
+wisdom
+tazman
+swallow
+stuart
+scruffy
+phoebe
+panasonic
+Michael
+masters
+ghjcnj
+firefly
+derrick
+christine
+beautiful
+auburn
+archer
+aliens
+161616
+1122
+woody1
+wheels
+test1
+spanking
+robin
+redred
+racerx
+postal
+parrot
+nimrod
+meridian
+madrid
+lonestar
+kittycat
+hell
+goodluck
+gangsta
+formula
+devil
+cassidy
+camille
+buttons
+bonjour
+bingo
+barcelon
+allen
+98765
+898989
+303030
+2020
+0000000
+tttttt
+tamara
+scoobydo
+samsam
+rjntyjr
+richie
+qwertz
+megaman
+luther
+jazz
+crusader
+bollox
+123qaz
+12312312
+102938
+window
+sprint
+sinner
+sadie
+rulez
+quality
+pooper
+pass123
+oakland
+misty
+lvbnhbq
+lady
+hannibal
+guardian
+grizzly
+fuckface
+finish
+discover
+collins
+catalina
+carson
+black1
+bang
+annie
+123987
+1122334455
+wookie
+volume
+tina
+rockon
+qwer
+molson
+marco
+californ
+angelica
+2424
+world
+william1
+stonecol
+shemale
+shazam
+picasso
+oracle
+moscow
+luke
+lorenzo
+kitkat
+johnjohn
+janice
+gerard
+flames
+duck
+dark
+celica
+445566
+234567
+yourmom
+topper
+stevie
+septembe
+scarlett
+santiago
+milano
+lowrider
+loving
+incubus
+dogdog
+anastasia
+1962
+123zxc
+vacation
+tempest
+sithlord
+scarlet
+rebels
+ragnarok
+prodigy
+mobile
+keyboard
+golfing
+english
+carlo
+anime
+545454
+19921992
+11112222
+vfhecz
+sobaka
+shiloh
+penguins
+nuttertools
+mystery
+lorraine
+llllll
+lawyer
+kiss
+jeep
+gizmodo
+elwood
+dkflbvbh
+987456
+6751520
+12121
+titleist
+tardis
+tacoma
+smoker
+shaman
+rootbeer
+magnolia
+julia
+juan
+hoover
+gotcha
+dodgeram
+creampie
+buffett
+bridge
+aspirine
+456654
+socrates
+photo
+parola
+nopass
+megan
+lucy
+kenwood
+kenny
+imagine
+forgot
+cynthia
+blondes
+ashton
+aezakmi
+1234567q
+viper1
+terry
+sabine
+redalert
+qqqqqqqq
+munchkin
+monkeys
+mersedes
+melvin
+mallard
+lizzie
+imperial
+honda1
+gremlin
+gillian
+elliott
+defiant
+dadada
+cooler
+bond
+blueeyes
+birdman
+bigballs
+analsex
+753159
+zaq1xsw2
+xanadu
+weather
+violet
+sergei
+sebastian
+romeo
+research
+putter
+oooooo
+national
+lexmark
+hotboy
+greg
+garbage
+colombia
+chucky
+carpet
+bobo
+bobbie
+assfuck
+88888
+01012001
+smokin
+shaolin
+roger
+rammstein
+pussy69
+katerina
+hearts
+frogger
+freckles
+dogg
+dixie
+claude
+caliente
+amazon
+abcde
+1221
+wright
+willis
+spidey
+sleepy
+sirius
+santos
+rrrrrr
+randy
+picture
+payton
+mason
+dusty
+director
+celeste
+broken
+trebor
+sheena
+qazwsxedcrfv
+polo
+oblivion
+mustangs
+margarita
+letsgo
+josh
+jimbob
+jimbo
+janine
+jackal
+iforgot
+hallo
+fatass
+deadhead
+abc12
+zxcv1234
+willy
+stud
+slappy
+roberts
+rescue
+porkchop
+noodles
+nellie
+mypass
+mikey
+marvel
+laurie
+grateful
+fuck_inside
+formula1
+Dragon
+cxfcnmt
+bridget
+aussie
+asterix
+a1s2d3f4
+23232323
+123321q
+veritas
+spankme
+shopping
+roller
+rogers
+queen
+peterpan
+palace
+melinda
+martinez
+lonely
+kristi
+justdoit
+goodtime
+frances
+camel
+beckham
+atomic
+alexandra
+active
+223344
+vanilla
+thankyou
+springer
+sommer
+Software
+sapphire
+richmond
+printer
+ohyeah
+massive
+lemons
+kingston
+granny
+funfun
+evelyn
+donnie
+deanna
+brucelee
+bosco
+aggies
+313131
+wayne
+thunder1
+throat
+temple
+smudge
+qqqq
+qawsedrf
+plymouth
+pacman
+myself
+mariners
+israel
+hitler
+heather1
+faith
+Exigent
+clancy
+chelsea1
+353535
+282828
+123456qwerty
+tobias
+tatyana
+stuff
+spectrum
+sooner
+shitty
+sasha1
+pooh
+pineappl
+mandy
+labrador
+kisses
+katrin
+kasper
+kaktus
+harder
+eduard
+dylan
+dead
+chloe
+astros
+1234567890q
+10101010
+stephanie
+satan
+hudson
+commando
+bones
+bangkok
+amsterdam
+1959
+webmaster
+valley
+space
+southern
+rusty1
+punkin
+napass
+marian
+magnus
+lesbians
+krishna
+hungry
+hhhhhh
+fuckers
+fletcher
+content
+account
+906090
+thompson
+simba
+scream
+q1q1q1
+primus
+Passw0rd
+mature
+ivanov
+husker
+homerun
+esther
+ernest
+champs
+celtics
+candyman
+bush
+boner
+asian
+aquarius
+33333
+zxcv
+starfish
+pics
+peugeot
+painter
+monopoly
+lick
+infiniti
+goodbye
+gangbang
+fatman
+darling
+celine
+camelot
+boat
+blackjac
+barkley
+area51
+8J4yE3Uz
+789654
+19871987
+0000000000
+vader
+shelley
+scrappy
+sarah1
+sailboat
+richard1
+moloko
+method
+mama
+kyle
+kicker
+keith
+judith
+john316
+horndog
+godsmack
+flyboy
+emmanuel
+drago
+cosworth
+blake
+19891989
+writer
+usa123
+topdog
+timmy
+speaker
+rosemary
+pancho
+night
+melody
+lightnin
+life
+hidden
+gator
+farside
+falcons
+desert
+chevrole
+catherin
+carolyn
+bowler
+anders
+666777
+369369
+yesyes
+sabbath
+qwerty123456
+power1
+pete
+oscar1
+ludwig
+jammer
+frontier
+fallen
+dance
+bryan
+asshole1
+amber1
+aaa111
+123457
+01011991
+terror
+telefon
+strong
+spartans
+sara
+odessa
+luckydog
+frank1
+elijah
+chang
+center
+bull
+blacks
+15426378
+132435
+vivian
+tanya
+swingers
+stick
+snuggles
+sanchez
+redbull
+reality
+qwertyuio
+qwert123
+mandingo
+ihateyou
+hayden
+goose
+franco
+forrest
+double
+carol
+bohica
+bell
+beefcake
+beatrice
+avenger
+andrew1
+anarchy
+963852
+1366613
+111111111
+whocares
+scooter1
+rbhbkk
+matilda
+labtec
+kevin1
+jojo
+jesse
+hermes
+fitness
+doberman
+dawg
+clitoris
+camels
+5555555555
+1957
+vulcan
+vectra
+topcat
+theking
+skiing
+nokia
+muppet
+moocow
+leopard
+kelley
+ivan
+grover
+gjkbyf
+filter
+elvis1
+delta1
+dannyboy
+conrad
+children
+catcat
+bossman
+bacon
+amelia
+alice
+2222222
+viktoria
+valhalla
+tricky
+terminator
+soccer1
+ramona
+puppy
+popopo
+oklahoma
+ncc1701a
+mystic
+loveit
+looker
+latin
+laptop
+laguna
+keystone
+iguana
+herbie
+cupcake
+clarence
+bunghole
+blacky
+bennett
+bart
+19751975
+12332
+000007
+vette
+trojans
+today
+romashka
+puppies
+possum
+pa55word
+oakley
+moneys
+kingpin
+golfball
+funny
+doughboy
+dalton
+crash
+charlotte
+carlton
+breeze
+billie
+beast
+achilles
+tatiana
+studio
+sterlin
+plumber
+patrick1
+miles
+kotenok
+homers
+gbpltw
+gateway1
+franky
+durango
+drake
+deeznuts
+cowboys1
+ccbill
+brando
+9876543210
+zzzz
+zxczxc
+vkontakte
+tyrone
+skinny
+rookie
+qwqwqw
+phillies
+lespaul
+juliet
+jeremiah
+igor
+homer1
+dilligaf
+caitlin
+budman
+atlantic
+989898
+362436
+19851985
+vfrcbvrf
+verona
+technics
+svetik
+stripper
+soleil
+september
+pinkfloy
+noodle
+metal
+maynard
+maryland
+kentucky
+hastings
+gang
+frederic
+engage
+eileen
+butthole
+bone
+azsxdc
+agent007
+474747
+19911991
+01011985
+triton
+tractor
+somethin
+snow
+shane
+sassy
+sabina
+russian
+porsche9
+pistol
+justine
+hurrican
+gopher
+deadman
+cutter
+coolman
+command
+chase
+california
+boris
+bicycle
+bethany
+bearbear
+babyboy
+73501505
+123456k
+zvezda
+vortex
+vipers
+tuesday
+traffic
+toto
+star69
+server
+ready
+rafael
+omega1
+nathalie
+microlab
+killme
+jrcfyf
+gizmo1
+function
+freaks
+flamingo
+enterprise
+eleven
+doobie
+deskjet
+cuddles
+church
+breast
+19941994
+19781978
+1225
+01011970
+vladik
+unknown
+truelove
+sweden
+striker
+stoner
+sony
+SaUn
+ranger1
+qqqqq
+pauline
+nebraska
+meatball
+marilyn
+jethro
+hammers
+gustav
+escape
+elliot
+dogman
+chair
+brothers
+boots
+blow
+bella
+belinda
+babies
+1414
+titties
+syracuse
+river
+polska
+pilot
+oilers
+nofear
+military
+macdaddy
+hawk
+diamond1
+dddd
+danila
+central
+annette
+128500
+zxcasd
+warhammer
+universe
+splash
+smut
+sentinel
+rayray
+randall
+Password1
+panda
+nevada
+mighty
+meghan
+mayday
+manchest
+madden
+kamikaze
+jennie
+iloveyo
+hustler
+hunter1
+horny1
+handsome
+dthjybrf
+designer
+demon
+cheers
+cash
+cancel
+blueblue
+bigger
+australia
+asdfjkl
+321654987
+1qaz1qaz
+1955
+1234qwe
+01011981
+zaphod
+ultima
+tolkien
+Thomas
+thekid
+tdutybq
+summit
+select
+saint
+rockets
+rhonda
+retard
+rebel
+ralph
+poncho
+pokemon1
+play
+pantyhos
+nina
+momoney
+market
+lickit
+leader
+kong
+jenna
+jayjay
+javier
+eatpussy
+dracula
+dawson
+daniil
+cartoon
+capone
+bubbas
+789123
+19861986
+01011986
+zxzxzx
+wendy
+tree
+superstar
+super1
+ssssssss
+sonic
+sinatra
+scottie
+sasasa
+rush
+robert1
+rjirfrgbde
+reagan
+meatloaf
+lifetime
+jimmy1
+jamesbon
+houses
+hilton
+gofish
+charmed
+bowser
+betty
+525252
+123456789z
+1066
+woofwoof
+Turkey50
+santana
+rugby
+rfnthbyf
+miracle
+mailman
+lansing
+kathryn
+Jennifer
+giant
+front242
+firefox
+check
+boxing
+bogdan
+bizkit
+azamat
+apollo13
+alan
+zidane
+tracy
+tinman
+terminal
+starbuck
+redhot
+oregon
+memory
+lewis
+lancelot
+illini
+grandma
+govols
+gordon24
+giorgi
+feet
+fatima
+crunch
+creamy
+coke
+cabbage
+bryant
+brandon1
+bigmoney
+azsxdcfv
+3333333
+321123
+warlord
+station
+sayang
+rotten
+rightnow
+mojo
+models
+maradona
+lololo
+lionking
+jarhead
+hehehe
+gary
+fast
+exodus
+crazybab
+conner
+charlton
+catman
+casey1
+bonita
+arjay
+19931993
+19901990
+1001
+100000
+sticks
+poiuytrewq
+peters
+passwort
+orioles
+oranges
+marissa
+japanese
+holyshit
+hohoho
+gogo
+fabian
+donna
+cutlass
+cthulhu
+chewie
+chacha
+bradford
+bigtime
+aikido
+4runner
+21212121
+150781
+wildfire
+utopia
+sport
+sexygirl
+rereirf
+reebok
+raven1
+poontang
+poodle
+movies
+microsof
+grumpy
+eeyore
+down
+dong
+chocolate
+chickens
+butch
+arsenal1
+adult
+adriana
+19831983
+zzzzz
+volley
+tootsie
+sparkle
+software
+sexx
+scotch
+science
+rovers
+nnnnnn
+mellon
+legacy
+julius
+helen
+happyday
+fubar
+danie
+cancun
+br0d3r
+beverly
+beaner
+aberdeen
+44444
+19951995
+13243546
+123456aa
+wilbur
+treasure
+tomato
+theodore
+shania
+raiders1
+natural
+kume
+kathy
+hamburg
+gretchen
+frisco
+ericsson
+daddy1
+cosmo
+condom
+comics
+coconut
+cocks
+Check
+camilla
+bikini
+albatros
+1Passwor
+1958
+1919
+143143
+0.0.0.000
+zxcasdqwe
+zaqxsw
+whisper
+vfvekz
+tyler1
+Sojdlg123aljg
+sixers
+sexsexsex
+rfhbyf
+profit
+okokok
+nancy
+mikemike
+michaela
+memorex
+marlene
+kristy
+jose
+jackson1
+hope
+hailey
+fugazi
+fright
+figaro
+excalibu
+elvira
+dildo
+denali
+cruise
+cooter
+cheng
+candle
+bitch1
+attack
+armani
+anhyeuem
+78945612
+222333
+zenith
+walleye
+tsunami
+trinidad
+thomas1
+temp
+tammy
+sultan
+steve1
+slacker
+selena
+samiam
+revenge
+pooppoop
+pillow
+nobody
+kitty1
+killer1
+jojojo
+huskies
+greens
+greenbay
+greatone
+fuckin
+fortuna
+fordf150
+first
+fashion
+fart
+emerson
+davis
+cloud9
+china
+boob
+applepie
+alien
+963852741
+321456
+292929
+1998
+1956
+18436572
+tasha
+stocks
+rustam
+rfrnec
+piccolo
+orgasm
+milana
+marisa
+marcos
+malaka
+lisalisa
+kelly1
+hithere
+harley1
+hardrock
+flying
+fernand
+dinosaur
+corrado
+coleman
+clapton
+chief
+bloody
+anfield
+636363
+420247
+332211
+voyeur
+toby
+texas1
+surf
+steele
+running
+rastaman
+pa55w0rd
+oleg
+number1
+maxell
+madeline
+keywest
+junebug
+ingrid
+hollywood
+hellyeah
+hayley
+goku
+felicia
+eeeeee
+dicks
+dfkthbz
+dana
+daisy1
+columbus
+charli
+bonsai
+billy1
+aspire
+9999999
+987987
+50cent
+000001
+xxxxxxx
+wolfie
+viagra
+vfksirf
+vernon
+tang
+swimmer
+subway
+stolen
+sparta
+slutty
+skywalker
+sean
+sausage
+rockhard
+ricky
+positive
+nyjets
+miriam
+melissa1
+krista
+kipper
+kcj9wx5n
+jedi
+jazzman
+hyperion
+happy123
+gotohell
+garage
+football1
+fingers
+february
+faggot
+easy
+dragoon
+crazy1
+clemson
+chanel
+canon
+bootie
+balloon
+abc12345
+609609609
+456321
+404040
+162534
+yosemite
+slider
+shado
+sandro
+roadkill
+quincy
+pedro
+mayhem
+lion
+knopka
+kingfish
+jerkoff
+hopper
+everest
+ddddddd
+damnit
+cunts
+chevy1
+cheetah
+chaser
+billyboy
+bigbird
+bbbb
+789987
+1qa2ws3ed
+1954
+135246
+123789456
+122333
+1000
+050505
+wibble
+valeria
+tunafish
+trident
+thor
+tekken
+tara
+starship
+slave
+saratoga
+romance
+robotech
+rich
+rasputin
+rangers1
+powell
+poppop
+passwords
+p0015123
+nwo4life
+murder
+milena
+midget
+megapass
+lucky13
+lolipop
+koshka
+kenworth
+jonjon
+jenny1
+irish1
+hedgehog
+guiness
+gmoney
+ghetto
+fortune
+emily1
+duster
+ding
+davidson
+davids
+dammit
+dale
+crysis
+bogart
+anaconda
+alibaba
+airbus
+7753191
+515151
+20102010
+200000
+123123q
+12131415
+10203
+work
+wood
+vladislav
+vfczyz
+tundra
+Translator
+torres
+splinter
+spears
+richards
+rachael
+pussie
+phoenix1
+pearl
+monty
+lolo
+lkjhgf
+leelee
+karolina
+johanna
+jensen
+helloo
+harper
+hal9000
+fletch
+feather
+fang
+dfkthf
+depeche
+barsik
+789789789
+757575
+727272
+zorro
+xtreme
+woman
+vitalik
+vermont
+train
+theboss
+sword
+shearer
+sanders
+railroad
+qwer123
+pupsik
+pornos
+pippen
+pingpong
+nikola
+nguyen
+music1
+magicman
+killbill
+kickass
+kenshin
+katie1
+juggalo
+jayhawk
+java
+grapes
+fritz
+drew
+divine
+cyclops
+critter
+coucou
+cecilia
+bristol
+bigsexy
+allsop
+9876
+1230
+01011989
+wrestlin
+twisted
+trout
+tommyboy
+stefano
+song
+skydive
+sherwood
+passpass
+pass1234
+onlyme
+malina
+majestic
+macross
+lillian
+heart
+guest
+gabrie
+fuckthis
+freeporn
+dinamo
+deborah
+crawford
+clipper
+city
+better
+bears
+bangbang
+asdasdasd
+artemis
+angie
+admiral
+2003
+020202
+yousuck
+xbox360
+werner
+vector
+usmc
+umbrella
+tool
+strange
+sparks
+spank
+smelly
+small
+salvador
+sabres
+rupert
+ramses
+presto
+pompey
+operator
+nudist
+ne1469
+minime
+matador
+love69
+kendall
+jordan1
+jeanette
+hooter
+hansen
+gunners
+gonzo
+gggggggg
+fktrcfylhf
+facial
+deepthroat
+daniel1
+dang
+cruiser
+cinnamon
+cigars
+chico
+chester1
+carl
+caramel
+calico
+broadway
+batman1
+baddog
+778899
+2128506
+123456r
+0420
+01011988
+z1x2c3
+wassup
+wally
+vh5150
+underdog
+thesims
+thecat
+sunnyday
+snoopdog
+sandy1
+pooter
+multiplelo
+magick
+library
+kungfu
+kirsten
+kimber
+jean
+jasmine1
+hotshot
+gringo
+fowler
+emma
+duchess
+damage
+cyclone
+Computer
+chong
+chemical
+chainsaw
+caveman
+catherine
+carrera
+canadian
+buster1
+brighton
+back
+australi
+animals
+alliance
+albion
+969696
+555777
+19721972
+19691969
+1024
+trisha
+theresa
+supersta
+steph
+static
+snowboar
+sex123
+scratch
+retired
+rambler
+r2d2c3po
+quantum
+passme
+over
+newbie
+mybaby
+musica
+misfit
+mechanic
+mattie
+mathew
+mamapapa
+looser
+jabroni
+isaiah
+heyhey
+hank
+hang
+golfgolf
+ghjcnjnfr
+frozen
+forfun
+fffff
+downtown
+coolguy
+cohiba
+christopher
+chivas
+chicken1
+bullseye
+boys
+bottle
+bob123
+blueboy
+believe
+becky
+beanie
+20002000
+yzerman
+west
+village
+vietnam
+trader
+summer1
+stereo
+spurs
+solnce
+smegma
+skorpion
+saturday
+samara
+safari
+renault
+rctybz
+peterson
+paper
+meredith
+marc
+louis
+lkjhgfdsa
+ktyjxrf
+kill
+kids
+jjjj
+ivanova
+hotred
+goalie
+fishes
+eastside
+cypress
+cyber
+credit
+brad
+blackhaw
+beastie
+banker
+backdoor
+again
+192837
+112211
+westwood
+venus
+steeler
+spawn
+sneakers
+snapple
+snake1
+sims
+sharky
+sexxxx
+seeker
+scania
+sapper
+route66
+Robert
+q123456
+Passwor1
+mnbvcx
+mirror
+maureen
+marino13
+jamesbond
+jade
+horizon
+haha
+getmoney
+flounder
+fiesta
+europa
+direct
+dean
+compute
+chrono
+chad
+boomboom
+bobby1
+bing
+beerbeer
+apple123
+andres
+8888888
+777888
+333666
+1357
+12345z
+030303
+01011987
+01011984
+wolf359
+whitey
+undertaker
+topher
+tommy1
+tabitha
+stroke
+staples
+sinclair
+silence
+scout
+scanner
+samsung1
+rain
+poetry
+pisces
+phil
+peter1
+packer
+outkast
+nike
+moneyman
+mmmmmmmm
+ming
+marianne
+magpie
+love123
+kahuna
+jokers
+jjjjjjjj
+groucho
+goodman
+gargoyle
+fuckher
+florian
+federico
+droopy
+dorian
+donuts
+ddddd
+cinder
+buttman
+benny
+barry
+amsterda
+alfa
+656565
+1x2zkg8w
+19881988
+19741974
+zerocool
+walrus
+walmart
+vfvfgfgf
+user
+typhoon
+test1234
+studly
+Shadow
+sexy69
+sadie1
+rtyuehe
+rosie
+qwert1
+nipper
+maximum
+klingon
+jess
+idontknow
+heidi
+hahahaha
+gggg
+fucku2
+floppy
+flash1
+fghtkm
+erotica
+erik
+doodoo
+dharma
+deniska
+deacon
+daphne
+daewoo
+dada
+charley
+cambiami
+bimmer
+bike
+bigbear
+alucard
+absolut
+a123456789
+4121
+19731973
+070707
+03082006
+02071986
+vfhufhbnf
+sinbad
+secret1
+second
+seamus
+renee
+redfish
+rabota
+pudding
+pppppppp
+patty
+paint
+ocean
+number
+nature
+motherlode
+micron
+maxx
+massimo
+losers
+lokomotiv
+ling
+kristine
+kostya
+korn
+goldstar
+gegcbr
+floyd
+fallout
+dawn
+custom
+christina
+chrisbln
+button
+bonkers
+bogey
+belle
+bbbbb
+barber
+audia4
+america1
+abraham
+585858
+414141
+336699
+20012001
+12345678q
+0123
+whitesox
+whatsup
+usnavy
+tuan
+titty
+titanium
+thursday
+thirteen
+tazmania
+steel
+starfire
+sparrow
+skidoo
+senior
+reading
+qwerqwer
+qazwsx12
+peyton
+panasoni
+paintbal
+newcastl
+marius
+italian
+hotpussy
+holly1
+goliath
+giuseppe
+frodo
+fresh
+buckshot
+bounce
+babyblue
+attitude
+answer
+90210
+575757
+10203040
+1012
+01011910
+ybrjkfq
+wasser
+tyson
+Superman
+sunflowe
+steam
+ssss
+sound
+solution
+snoop
+shou
+shawn
+sasuke
+rules
+royals
+rivers
+respect
+poppy
+phillips
+olivier
+moose1
+mondeo
+mmmm
+knickers
+hoosier
+greece
+grant
+godfather
+freeze
+europe
+erica
+doogie
+danzig
+dalejr
+contact
+clarinet
+champ
+briana
+bluedog
+backup
+assholes
+allmine
+aaliyah
+12345679
+100100
+zigzag
+whisky
+weaver
+truman
+tomorrow
+tight
+theend
+start
+southpark
+sersolution
+roberta
+rhfcjnrf
+qwerty1234
+quartz
+premier
+paintball
+montgom240
+mommy
+mittens
+micheal
+maggot
+loco
+laurel
+lamont
+karma
+journey
+johannes
+intruder
+insert
+hairy
+hacked
+groove
+gesperrt
+francois
+focus
+felipe
+eternal
+edwards
+doug
+dollars
+dkflbckfd
+dfktynbyf
+demons
+deejay
+cubbies
+christie
+celeron
+cat123
+carbon
+callaway
+bucket
+albina
+2004
+19821982
+19811981
+1515
+12qw34er
+123qwerty
+123aaa
+10101
+1007
+080808
+zeus
+warthog
+tights
+simona
+shun
+salamander
+resident
+reefer
+racer
+quattro
+public
+poseidon
+pianoman
+nonono
+michell
+mellow
+luis
+jillian
+havefun
+gunnar
+goofy
+futbol
+fucku
+eduardo
+diehard
+dian
+chuckles
+carla
+carina
+avalanch
+artur
+allstar
+abc1234
+abby
+4545
+1q2w3e4r5
+125125
+123451
+ziggy
+yumyum
+working
+what
+wang
+wagner
+volvo
+ufkbyf
+twinkle
+susanne
+superman1
+sunshin
+strip
+searay
+rockford
+radio
+qwertyqwerty
+proxy
+prophet
+ou8122
+oasis
+mylife
+monke
+monaco
+meowmeow
+meathead
+Master
+leanne
+kang
+joyjoy
+joker1
+filthy
+emmitt
+craig
+cornell
+changed
+cbr600
+builder
+budweise
+boobie
+bobobo
+biggles
+bigass
+bertie
+amanda1
+a1s2d3
+784512
+767676
+235689
+1953
+19411945
+14725836
+11223
+01091989
+01011992
+zero
+vegas
+twins
+turbo1
+triangle
+thongs
+thanatos
+sting
+starman
+spike1
+smokes
+shai
+sexyman
+sex
+scuba
+runescape
+phish
+pepper1
+padres
+nitram
+nickel
+napster
+lord
+jewels
+jeanne
+gretzky
+great1
+gladiator
+crjhgbjy
+chuang
+chou
+blossom
+bean
+barefoot
+alina
+787898
+567890
+5551212
+25252525
+02071982
+zxcvbnm1
+zhong
+woohoo
+welder
+viewsonic
+venice
+usarmy
+trial
+traveler
+together
+team
+tango
+swords
+starter
+sputnik
+spongebob
+slinky
+rover
+ripken
+rasta
+prissy
+pinhead
+papa
+pants
+original
+mustard
+more
+mohammed
+mian
+medicine
+mazafaka
+lance
+juliette
+james007
+hawkeyes
+goodboy
+gong
+footbal
+feng
+derek
+deeznutz
+dante
+combat
+cicero
+chun
+cerberus
+beretta
+bengals
+beaches
+3232
+135792468
+12345qwe
+01234567
+01011975
+zxasqw12
+xxx123
+xander
+will
+watcher
+thedog
+terrapin
+stoney
+stacy
+something
+shang
+secure
+rooney
+rodman
+redwing
+quan
+pony
+pobeda
+pissing
+philippe
+overkill
+monalisa
+mishka
+lions
+lionel
+leonid
+krystal
+kosmos
+jessic
+jane
+illusion
+hoosiers
+hayabusa
+greene
+gfhjkm123
+games
+francesc
+enter1
+confused
+cobra1
+clevelan
+cedric
+carole
+busted
+bonbon
+barrett
+banane
+badgirl
+antoine
+7779311
+311311
+2345
+187187
+123456s
+123456654321
+1005
+0987
+01011993
+zippy
+zhei
+vinnie
+tttttttt
+stunner
+stoned
+smoking
+smeghead
+sacred
+redwood
+Pussy1
+moonlight
+momomo
+mimi
+megatron
+massage
+looney
+johnboy
+janet
+jagger
+jacob1
+hurley
+hong
+hihihi
+helmet
+heckfy
+hambone
+gollum
+gaston
+f**k
+death1
+Charlie
+chao
+cfitymrf
+casanova
+brent
+boricua
+blackjack
+blablabla
+bigmike
+bermuda
+bbbbbbbb
+bayern
+amazing
+aleksey
+717171
+12301230
+zheng
+yoyo
+wildman
+tracker
+syncmaster
+sascha
+rhiannon
+reader
+queens
+qing
+purdue
+pool
+poochie
+poker
+petra
+person
+orchid
+nuts
+nice
+lola
+lightning
+leng
+lang
+lambert
+kashmir
+jill
+idiot
+honey1
+fisting
+fester
+eraser
+diao
+delphi
+dddddddd
+cubswin
+cong
+claudio
+clark
+chip
+buzzard
+buzz
+butts
+brewster
+bravo
+bookworm
+blessing
+benfica
+because
+babybaby
+aleksandra
+6666666
+1997
+19961996
+19791979
+1717
+1213
+02091987
+02021987
+xiao
+wild
+valencia
+trapper
+tongue
+thegreat
+sancho
+really
+rainman
+piper
+peng
+peach
+passwd
+packers1
+newpass6
+neng
+mouse1
+motley
+morning
+midway
+Michelle
+miao
+maste
+marin
+kaylee
+justin1
+hokies
+health
+glory
+five
+dutchess
+dogfood
+comet
+clouds
+cloud
+charles1
+buddah
+bacardi
+astrid
+alphabet
+adams
+19801980
+147369
+12qwas
+02081988
+02051986
+02041986
+02011985
+01011977
+xuan
+vedder
+valeri
+teng
+stumpy
+squash
+snapon
+site
+ruan
+roadrunn
+rjycnfynby
+rhtdtlrj
+rambo
+pizzas
+paula
+novell
+mortgage
+misha
+menace
+maxim
+lori
+kool
+hanna
+gsxr750
+goldwing
+frisky
+famous
+dodge1
+dbrnjh
+christmas
+cheese1
+century
+candice
+booker
+beamer
+assword
+army
+angus
+andromeda
+adrienne
+676767
+543210
+2010
+1369
+12345678a
+12011987
+02101985
+02031986
+02021988
+zhuang
+zhou
+wrestling
+tinkerbell
+thumbs
+thedude
+teddybea
+sssss
+sonics
+sinister
+shannon1
+satana
+sang
+salomon
+remote
+qazzaq
+playing
+piao
+pacers
+onetime
+nong
+nikolay
+motherfucker
+mortimer
+misery
+madison1
+luan
+lovesex
+look
+Jessica
+handyman
+hampton
+gromit
+ghostrider
+doghouse
+deluxe
+clown
+chunky
+chuai
+cgfhnfr
+brewer
+boxster
+balloons
+adults
+a1a1a1
+794613
+654123
+24682468
+2005
+1492
+1020
+1017
+02061985
+02011987
+*****
+zhun
+ying
+yang
+windsor
+wedding
+wareagle
+svoboda
+supreme
+stalin
+sponge
+simon1
+roadking
+ripple
+realmadrid
+qiao
+PolniyPizdec0211
+pissoff
+peacock
+norway
+nokia6300
+ninjas
+misty1
+medusa
+medical
+maryann
+marika
+madina
+logan1
+lilly
+laser
+killers
+jiang
+jaybird
+jammin
+intel
+idontkno
+huai
+harry1
+goaway
+gameover
+dino
+destroy
+deng
+collin
+claymore
+chicago1
+cheater
+chai
+bunny1
+blackbir
+bigbutt
+bcfields
+athens
+antoni
+abcd123
+686868
+369963
+1357924680
+12qw12
+1236987
+111333
+02091986
+02021986
+01011983
+000111
+zhuai
+yoda
+xiang
+wrestle
+whiskers
+valkyrie
+toon
+tong
+ting
+talisman
+starcraf
+sporting
+spaceman
+southpar
+smiths
+skate
+shell
+seng
+saleen
+ruby
+reng
+redline
+rancid
+pepe
+optimus
+nova
+mohamed
+meister
+marcia
+lipstick
+kittykat
+jktymrf
+jenn
+jayden
+inuyasha
+higgins
+guai
+gonavy
+face
+eureka
+dutch
+darkman
+courage
+cocaine
+circus
+cheeks
+camper
+br549
+bagira
+babyface
+7uGd5HIp2J
+5050
+1qaz2ws
+123321a
+02081987
+02081984
+02061986
+02021984
+01011982
+zhai
+xiong
+willia
+vvvvvv
+venera
+unique
+tian
+sveta
+strength
+stories
+squall
+secrets
+seahawks
+sauron
+ripley
+riley
+recovery
+qweqweqwe
+qiong
+puddin
+playstation
+pinky
+phone
+penny1
+nude
+mitch
+milkman
+mermaid
+max123
+maria1
+lust
+loaded
+lighter
+lexus
+leavemealone
+just4me
+jiong
+jing
+jamie1
+india
+hardcock
+gobucks
+gawker
+fytxrf
+fuzzy
+florida1
+flexible
+eleanor
+dragonball
+doudou
+cinema
+checkers
+charlene
+ceng
+buffy1
+brian1
+beautifu
+baseball1
+ashlee
+adonis
+adam12
+434343
+02031984
+02021985
+xxxpass
+toledo
+thedoors
+templar
+sullivan
+stanford
+shei
+sander
+rolling
+qqqqqqq
+pussey
+pothead
+pippin
+nimbus
+niao
+mustafa
+monte
+mollydog
+modena
+mmmmm
+michae
+meng
+mango
+mamama
+lynn
+love12
+kissing
+keegan
+jockey
+illinois
+ib6ub9
+hotbox
+hippie
+hill
+ghblehjr
+gamecube
+ferris
+diggler
+crow
+circle
+chuo
+chinook
+charity
+carmel
+caravan
+cannabis
+cameltoe
+buddie
+bright
+bitchass
+bert
+beowulf
+bartman
+asia
+armagedon
+ariana
+alexalex
+alenka
+ABC123
+987456321
+373737
+2580
+21031988
+123qq123
+12345t
+1234567890a
+123455
+02081989
+02011986
+01020304
+01011999
+xyz123
+xerxes
+wraith
+wishbone
+warning
+todd
+ticket
+three
+subzero
+shuang
+rong
+rider
+quest
+qiang
+pppp
+pian
+petrov
+otto
+nuan
+ning
+myname
+matthews
+martine
+mandarin
+magical
+latinas
+lalalala
+kotaku
+jjjjj
+jeffery
+jameson
+iamgod
+hellos
+hassan
+Harley
+godfathe
+geng
+gabriela
+foryou
+ffffffff
+divorce
+darius
+chui
+breasts
+bluefish
+binladen
+bigtit
+anne
+alexia
+2727
+19771977
+19761976
+02061989
+02041984
+zhui
+zappa
+yfnfkmz
+weng
+tricia
+tottenham
+tiberius
+teddybear
+spinner
+spice
+spectre
+solo
+silverad
+silly
+shuo
+sherri
+samtron
+poland
+poiuy
+pickup
+pdtplf
+paloma
+ntktajy
+northern
+nasty1
+musashi
+missy1
+microphone
+meat
+manman
+lucille
+lotus
+letter
+kendra
+iomega
+hootie
+forward
+elite
+electron
+electra
+duan
+DRAGON
+dotcom
+dirtbike
+dianne
+desiree
+deadpool
+darrell
+cosmic
+common
+chrome
+cathy
+carpedie
+bilbo
+bella1
+beemer
+bearcat
+bank
+ashley1
+asdfzxcv
+amateurs
+allan
+absolute
+50spanks
+147963
+120676
+1123
+02021983
+zang
+virtual
+vampires
+vadim
+tulips
+sweet1
+suan
+spread
+spanish
+some
+slapper
+skylar
+shiner
+sheng
+shanghai
+sanfran
+ramones
+property
+pheonix
+password2
+pablo
+othello
+orange1
+nuggets
+netscape
+ludmila
+lost
+liang
+kakashka
+kaitlyn
+iscool
+huang
+hillary
+high
+hhhh
+heater
+hawaiian
+guang
+grease
+gfhjkmgfhjkm
+gfhjkm1
+fyutkbyf
+finance
+farley
+dogshit
+digital1
+crack
+counter
+corsair
+company
+colonel
+claudi
+carolin
+caprice
+caligula
+bulls
+blackout
+beatle
+beans
+banzai
+banner
+artem
+9562876
+5656
+1945
+159632
+15151515
+123456qw
+1234567891
+02051983
+02041983
+02031987
+02021989
+z1x2c3v4
+xing
+vSjasnel12
+twenty
+toolman
+thing
+testpass
+stretch
+stonecold
+soulmate
+sonny
+snuffy
+shutup
+shuai
+shao
+rhino
+q2w3e4r5
+polly
+poipoi
+pierce
+piano
+pavlov
+pang
+nicole1
+millions
+marsha
+lineage2
+liao
+lemon
+kuai
+keller
+jimmie
+jiao
+gregor
+ggggg
+game
+fuckyo
+fuckoff1
+friendly
+fgtkmcby
+evan
+edgar
+dolores
+doitnow
+dfcbkbq
+criminal
+coldbeer
+chuckie
+chimera
+chan
+ccccc
+cccc
+cards
+capslock
+cang
+bullfrog
+bonjovi
+bobdylan
+beth
+berger
+barker
+balance
+badman
+bacchus
+babylove
+argentina
+annabell
+akira
+646464
+15975
+1223
+11221122
+1022
+02081986
+02041988
+02041987
+02041982
+02011988
+zong
+zhang
+yummy
+yeahbaby
+vasilisa
+temp123
+tank
+slim
+skyler
+silent
+sergeant
+reynolds
+qazwsx1
+PUSSY
+pasword
+nomore
+noelle
+nicol
+newyork1
+mullet
+monarch
+merlot
+mantis
+mancity
+magazine
+llllllll
+kinder
+kilroy
+katherine
+jayhawks
+jackpot
+ipswich
+hack
+fishing1
+fight
+ebony
+dragon12
+dog123
+dipshit
+crusher
+chippy
+canyon
+bigbig
+bamboo
+athlon
+alisha
+abnormal
+a11111
+2469
+12365
+1011
+09876543
+02101984
+02081985
+02071984
+02011980
+010180
+01011979
+zhuo
+zaraza
+wg8e3wjf
+triple
+tototo
+theater
+teddy1
+syzygy
+susana
+sonoma
+slavik
+shitface
+sheba
+sexyboy
+screen
+salasana
+rufus
+Richard
+reds
+rebecca1
+pussyman
+pringles
+preacher
+park
+oceans
+niang
+momo
+misfits
+mikey1
+media
+manowar
+mack
+kayla
+jump
+jorda
+hondas
+hollow
+here
+heineken
+halifax
+gatorade
+gabriell
+ferrari1
+fergie
+female
+eldorado
+eagles1
+cygnus
+coolness
+colton
+ciccio
+cheech
+card
+boom
+blaze
+bhbirf
+BASEBALL
+barton
+655321
+1818
+14141414
+123465
+1224
+1211
+111111a
+02021982
+zhao
+wings
+warner
+vsegda
+tripod
+tiao
+thunderb
+telephon
+tdutybz
+talon
+speedo
+specialk
+shepherd
+shadows
+samsun
+redbird
+race
+promise
+persik
+patience
+paranoid
+orient
+monster1
+missouri
+mets
+mazda
+masamune
+martin1
+marker
+march
+manning
+mamamama
+licking
+lesley
+laurence
+jezebel
+jetski
+hopeless
+hooper
+homeboy
+hole
+heynow
+forum
+foot
+ffff
+farscape
+estrella
+entropy
+eastwood
+dwight
+dragonba
+door
+dododo
+deutsch
+crystal1
+corleone
+cobalt
+chopin
+chevrolet
+cattle
+carlitos
+buttercu
+butcher
+bushido
+buddyboy
+blond
+bingo1
+becker
+baron
+augusta
+alex123
+998877
+24242424
+12365478
+02061988
+02031985
+??????
+zuan
+yfcntymrf
+wowwow
+winston1
+vfibyf
+ventura
+titten
+tiburon
+thoma
+thelma
+stroker
+snooker
+smokie
+slippery
+shui
+shock
+seadoo
+sandwich
+records
+rang
+puffy
+piramida
+orion1
+napoli
+nang
+mouth
+monkey12
+millwall
+mexican
+meme
+maxxxx
+magician
+leon
+lala
+lakota
+jenkins
+jackson5
+insomnia
+harvard
+HARLEY
+hardware
+giorgio
+ginger1
+george1
+gator1
+fountain
+fastball
+exotic
+elizaveta
+dialog
+davide
+channel
+castro
+bunnies
+borussia
+asddsa
+andromed
+alfredo
+alejandro
+7007
+69696
+4417
+3131
+258852
+1952
+147741
+1234asdf
+02081982
+02051982
+zzzzzzz
+zeng
+zalupa
+yong
+windsurf
+wildcard
+weird
+violin
+universal
+sunflower
+suicide
+strawberry
+stepan
+sphinx
+someone
+sassy1
+romano
+reddevil
+raquel
+rachel1
+pornporn
+polopolo
+pluto
+plasma
+pinkfloyd
+panther1
+north
+milo
+maxime
+matteo
+malone
+major
+mail
+lulu
+ltybcrf
+lena
+lassie
+july
+jiggaman
+jelly
+islander
+inspiron
+hopeful
+heng
+hans
+green123
+gore
+gooner
+goirish
+gadget
+freeway
+fergus
+eeeee
+diego
+dickie
+deep
+danny1
+cuan
+cristian
+conover
+civic
+Buster
+bombers
+bird33
+bigfish
+bigblue
+bian
+beng
+beacon
+barnes
+astro
+artemka
+annika
+anita
+Andrew
+747474
+484848
+464646
+369258
+225588
+1z2x3c
+1a2s3d4f
+123456qwe
+02061980
+02031982
+02011984
+zaqxswcde
+wrench
+washington
+violetta
+tuning
+trainer
+tootie
+store
+spurs1
+sporty
+sowhat
+sophi
+smashing
+sleeper
+slave1
+sexysexy
+seeking
+sam123
+robotics
+rjhjktdf
+reckless
+pulsar
+project
+placebo
+paddle
+oooo
+nightmare
+nanook
+married
+linda1
+lilian
+lazarus
+kuang
+knockers
+killkill
+keng
+katherin
+Jordan
+jellybea
+jayson
+iloveme
+hunt
+hothot
+homerj
+hhhhhhhh
+helene
+haggis
+goat
+ganesh
+gandalf1
+fulham
+force
+dynasty
+drakon
+download
+doomsday
+dieter
+devil666
+desmond
+darklord
+daemon
+dabears
+cramps
+cougars
+clowns
+classics
+citizen
+cigar
+chrysler
+carlito
+candace
+bruno1
+browning
+brodie
+bolton
+biao
+barbados
+aubrey
+arlene
+arcadia
+amigo
+abstr
+9293709b13
+737373
+4444444
+4242
+369852
+20202020
+1qa2ws
+1Pussy
+1947
+1234560
+1112
+1000000
+02091983
+02061987
+01081989
+zephyr
+yugioh
+yjdsqgfhjkm
+woofer
+wanted
+volcom
+verizon
+tripper
+toaster
+tipper
+tigger1
+tartar
+superb
+stiffy
+spock
+soprano
+snowboard
+sexxxy
+senator
+scrabble
+santafe
+sally1
+sahara
+romero
+rhjrjlbk
+reload
+ramsey
+rainbow6
+qazwsxedc123
+poopy
+pharmacy
+obelix
+normal
+nevermind
+mordor
+mclaren
+mariposa
+mari
+manuela
+mallory
+magelan
+lovebug
+lips
+kokoko
+jakejake
+insanity
+iceberg
+hughes
+hookup
+hockey1
+hamish
+graphics
+geoffrey
+firewall
+fandango
+ernie
+dottie
+doofus
+donovan
+domain
+digimon
+darryl
+darlene
+dancing
+county
+chloe1
+chantal
+burrito
+bummer
+bubba69
+brett
+bounty
+bigcat
+bessie
+basset
+augustus
+ashleigh
+878787
+3434
+321321321
+12051988
+111qqq
+1023
+1013
+05051987
+02101989
+02101987
+02071987
+02071980
+02041985
+titan
+thong
+sweetnes
+stanislav
+sssssss
+snappy
+shanti
+shanna
+shan
+script
+scorpio1
+RuleZ
+rochelle
+rebel1
+radiohea
+q1q2q3
+puss
+pumpkins
+puffin
+onetwo
+oatmeal
+nutmeg
+ninja1
+nichole
+mobydick
+marine1
+mang
+lover1
+longjohn
+lindros
+killjoy
+kfhbcf
+karen1
+jingle
+jacques
+iverson3
+istanbul
+iiiiii
+howdy
+hover
+hjccbz
+highheel
+happiness
+guitar1
+ghosts
+georg
+geneva
+gamecock
+fraser
+faithful
+dundee
+dell
+creature
+creation
+corey
+concorde
+cleo
+cdtnbr
+carmex2
+budapest
+bronze
+brains
+blue12
+battery
+attila
+arrow
+anthrax
+aloha
+383838
+19711971
+1948
+134679852
+123qw
+123000
+02091984
+02091981
+02091980
+02061983
+02041981
+01011900
+zhjckfd
+zazaza
+wingman
+windmill
+wifey
+webhompas
+watch
+thisisit
+tech
+submit
+stress
+spongebo
+silver1
+senators
+scott1
+sausages
+radical
+qwer12
+ppppp
+pixies
+pineapple
+piazza
+patrice
+officer
+nygiants
+nikitos
+nigga
+nextel
+moses
+moonbeam
+mihail
+MICHAEL
+meagan
+marcello
+maksimka
+loveless
+lottie
+lollypop
+laurent
+latina
+kris
+kleopatra
+kkkk
+kirsty
+katarina
+kamila
+jets
+iiii
+icehouse
+hooligan
+gertrude
+fullmoon
+fuckinside
+fishin
+everett
+erin
+dynamite
+dupont
+dogcat
+dogboy
+diane
+corolla
+citadel
+buttfuck
+bulldog1
+broker
+brittney
+boozer
+banger
+aviation
+almond
+aaron1
+78945
+616161
+426hemi
+333777
+22041987
+2008
+20022002
+153624
+1121
+111111q
+05051985
+02081977
+02071988
+02051988
+02051987
+02041979
+zander
+wwww
+webmaste
+webber
+taylor1
+taxman
+sucking
+stylus
+spoon
+spiker
+simmons
+sergi
+sairam
+royal
+ramrod
+radiohead
+popper
+platypus
+pippo
+pepito
+pavel
+monkeybo
+Michael1
+master12
+marty
+kjkszpj
+kidrock
+judy
+juanita
+joshua1
+jacobs
+idunno
+icu812
+hubert
+heritage
+guyver
+gunther
+Good123654
+ghost1
+getout
+gameboy
+format
+festival
+evolution
+epsilon
+enrico
+electro
+dynamo
+duckie
+drive
+dolphin1
+ctrhtn
+cthtuf
+cobain
+club
+chilly
+charter
+celeb
+cccccccc
+caught
+cascade
+carnage
+bunker
+boxers
+boxer
+bombay
+bigboss
+bigben
+beerman
+baggio
+asdf12
+arrows
+aptiva
+a1a2a3
+a12345678
+626262
+26061987
+1616
+15051981
+08031986
+060606
+02061984
+02061982
+02051989
+02051984
+02031981
+woodland
+whiteout
+visa
+vanguard
+towers
+tiny
+tigger2
+temppass
+super12
+stop
+stevens
+softail
+sheriff
+robot
+reddwarf
+pussy123
+praise
+pistons
+patric
+partner
+niceguy
+morgan1
+model
+mars
+mariana
+manolo
+mankind
+lumber
+krusty
+kittens
+kirby
+june
+johann
+jared
+imation
+henry1
+heat
+gobears
+forsaken
+Football
+fiction
+ferguson
+edison
+earnhard
+dwayne
+dogger
+diver
+delight
+dandan
+dalshe
+cross
+cottage
+coolcool
+coach
+camila
+callum
+busty
+british
+biology
+beta
+beardog
+baldwin
+alone
+albany
+airwolf
+9876543
+987123
+7894561230
+786786
+535353
+21031987
+1949
+13041988
+1234qw
+123456l
+1215
+111000
+11051987
+10011986
+06061986
+02091985
+02021981
+02021979
+01031988
+vjcrdf
+uranus
+tiger123
+summer99
+state
+starstar
+squeeze
+spikes
+snowflak
+slamdunk
+sinned
+shocker
+season
+santa
+sanity
+salome
+saiyan
+renata
+redrose
+queenie
+puppet
+popo
+playboy1
+pecker
+paulie
+oliver1
+ohshit
+norwich
+news
+namaste
+muscles
+mortal
+michael2
+mephisto
+mandy1
+magnet
+longbow
+llll
+living
+lithium
+komodo
+kkkkkkkk
+kjrjvjnbd
+killer12
+kellie
+julie1
+jarvis
+iloveyou2
+holidays
+highway
+havana
+harvest
+harrypotter
+gorgeous
+giraffe
+garion
+frost
+fishman
+erika
+earth
+dusty1
+dudedude
+demo
+deer
+concord
+colnago
+clit
+choice
+chillin
+bumper
+blam
+bitter
+bdsm
+basebal
+barron
+baker
+arturo
+annie1
+andersen
+amerika
+aladin
+abbott
+81fukkc
+5678
+135791
+1002
+02101986
+02081983
+02041989
+02011989
+01011978
+zzzxxx
+zxcvbnm123
+yyyyyy
+yuan
+yolanda
+winners
+welcom
+volkswag
+vera
+ursula
+ultra
+toffee
+toejam
+theatre
+switch
+superma
+Stone55
+solitude
+sissy
+sharp
+scoobydoo
+romans
+roadster
+punk
+presiden
+pool6123
+playstat
+pipeline
+pinball
+peepee
+paulina
+ozzy
+nutter
+nights
+niceass
+mypassword
+mydick
+milan
+medic
+mazdarx7
+mason1
+marlon
+mama123
+lemonade
+krasotka
+koroleva
+karin
+jennife
+itsme
+isaac
+irishman
+hookem
+hewlett
+hawaii50
+habibi
+guitars
+grande
+glacier
+gagging
+gabriel1
+freefree
+francesco
+food
+flyfish
+fabric
+edward1
+dolly
+destin
+delilah
+defense
+codered
+cobras
+climber
+cindy1
+christma
+chipmunk
+chef
+brigitte
+bowwow
+bigblock
+bergkamp
+bearcats
+baba
+altima
+74108520
+45M2DO5BS
+30051985
+258258
+24061986
+22021989
+21011989
+20061988
+1z2x3c4v
+14061991
+13041987
+123456m
+12021988
+11081989
+03041991
+02071981
+02031979
+02021976
+01061990
+01011960
+yvette
+yankees2
+wireless
+werder
+wasted
+visual
+trust
+tiffany1
+stratus
+steffi
+stasik
+starligh
+sigma
+rubble
+ROBERT
+register
+reflex
+redfox
+record
+qwerty7
+premium
+prayer
+players
+pallmall
+nurses
+nikki1
+nascar24
+mudvayne
+moritz
+moreno
+moondog
+monsters
+micro
+mickey1
+mckenzie
+mazda626
+manila
+madcat
+louie
+loud
+krypton
+kitchen
+kisskiss
+kate
+jubilee
+impact
+Horny
+hellboy
+groups
+goten
+gonzalez
+gilles
+gidget
+gene
+gbhfvblf
+freebird
+federal
+fantasia
+dogbert
+deeper
+dayton
+comanche
+cocker
+choochoo
+chambers
+borabora
+bmw325
+blast
+ballin
+asdfgh01
+alissa
+alessandro
+airport
+abrakadabra
+7777777777
+635241
+494949
+420000
+23456789
+23041987
+19701970
+1951
+18011987
+172839
+1235
+123456789s
+1125
+1102
+1031
+07071987
+02091989
+02071989
+02071983
+02021973
+02011981
+01121986
+01071986
+0101
+zodiac
+yogibear
+word
+water1
+wasabi
+wapbbs
+wanderer
+vintage
+viktoriya
+varvara
+upyours
+undertak
+underground
+undead
+umpire
+tropical
+tiger2
+threesom
+there
+sunfire
+sparky1
+snoopy1
+smart
+slowhand
+sheridan
+sensei
+savanna
+rudy
+redsox1
+ramirez
+prowler
+postman
+porno1
+pocket
+pelican
+nfytxrf
+nation
+mykids
+mygirl
+moskva
+mike123
+Master1
+marianna
+maggie1
+maggi
+live
+landon
+lamer
+kissmyass
+keenan
+just4fun
+julien
+juicy
+JORDAN
+jimjim
+hornets
+hammond
+hallie
+glenn
+ghjcnjgfhjkm
+gasman
+FOOTBALL
+flanker
+fishhead
+firefire
+fidelio
+fatty
+excalibur
+enterme
+emilia
+ellie
+eeee
+diving
+dindom
+descent
+daniele
+dallas1
+customer
+contest
+compass
+comfort
+comedy
+cocksuck
+close
+clay
+chriss
+chiara
+cameron1
+calgary
+cabron
+bologna
+berkeley
+andyod22
+alexey
+achtung
+45678
+3636
+28041987
+25081988
+24011985
+20111986
+19651965
+1941
+19101987
+19061987
+1812
+14111986
+13031987
+123ewq
+123456123
+12121990
+112112
+10071987
+10031988
+02101988
+02081980
+02021990
+01091987
+01041985
+01011995
+zebra
+zanzibar
+waffle
+training
+teenage
+sweetness
+sutton
+sushi
+suckers
+spam
+south
+sneaky
+sisters
+shinobi
+shibby
+sexy1
+rockies
+presley
+president
+pizza1
+piggy
+password12
+olesya
+nitro
+motion
+milk
+medion
+markiz
+lovelife
+longdong
+lenny
+larry1
+kirk
+johndeer
+jefferso
+james123
+jackjack
+ijrjkfl
+hotone
+heroes
+gypsy
+foxy
+fishbone
+fischer
+fenway
+eddie1
+eastern
+easter
+drummer1
+Dragon1
+Daniel
+coventry
+corndog
+compton
+chilli
+chase1
+catwoman
+booster
+avenue
+armada
+987321
+818181
+606060
+5454
+28021992
+25800852
+22011988
+19971997
+1776
+17051988
+14021985
+13061986
+12121985
+11061985
+10101986
+10051987
+10011990
+09051945
+08121986
+04041991
+03041986
+02101983
+02101981
+02031989
+02031980
+01121988
+wwwwwww
+virgil
+troy
+torpedo
+toilet
+tatarin
+survivor
+sundevil
+stubby
+straight
+spotty
+slater
+skip
+sheba1
+runaway
+revolver
+qwerty11
+qweasd123
+parol
+paradigm
+older
+nudes
+nonenone
+moore
+mildred
+michaels
+lowell
+knock
+klaste
+junkie
+jimbo1
+hotties
+hollie
+gryphon
+gravity
+grandpa
+ghjuhfvvf
+frogman
+freesex
+foreve
+felix1
+fairlane
+everlast
+ethan
+eggman
+easton
+denmark
+deadly
+cyborg
+create
+corinne
+cisco
+chick
+chestnut
+bruiser
+broncos1
+bobdole
+azazaz
+antelope
+anastasiya
+456456456
+415263
+30041986
+29071983
+29051989
+29011985
+28021990
+28011987
+27061988
+25121987
+25031987
+24680
+22021986
+21031990
+20091991
+20031987
+196969
+19681968
+1946
+17061988
+16051989
+16051987
+1210
+11051990
+100500
+08051990
+05051989
+04041988
+02051980
+02051976
+02041980
+02031977
+02011983
+01061986
+01041988
+01011994
+0000007
+zxcasdqwe123
+washburn
+vfitymrf
+troll
+tranny
+tonight
+thecure
+studman
+spikey
+soccer12
+soccer10
+smirnoff
+slick1
+skyhawk
+skinner
+shrimp
+shakira
+sekret
+seagull
+score
+sasha_007
+rrrrrrrr
+ross
+rollins
+reptile
+razor
+qwert12345
+pumpkin1
+porsche1
+playa
+notused
+noname123
+newcastle
+never
+nana
+MUSTANG
+minerva
+megan1
+marseille
+marjorie
+mamamia
+malachi
+lilith
+letmei
+lane
+lambda
+krissy
+kojak
+kimball
+keepout
+karachi
+kalina
+justus
+joel
+joe123
+jerry1
+irinka
+hurricane
+honolulu
+holycow
+hitachi
+highbury
+hhhhh
+hannah1
+hall
+guess
+glass
+gilligan
+giggles
+flores
+fabie
+eeeeeeee
+dungeon
+drifter
+dogface
+dimas
+dentist
+death666
+costello
+castor
+bronson
+brain
+bolitas
+boating
+benben
+baritone
+bailey1
+badgers
+austin1
+astra
+asimov
+asdqwe
+armand
+anthon
+amorcit
+797979
+4200
+31011987
+3030
+30031988
+3000gt
+224466
+22071986
+21101986
+21051991
+20091988
+2009
+20051988
+19661966
+18091985
+18061990
+15101986
+15051990
+15011987
+13121985
+12qw12qw
+1234123
+1204
+12031987
+12031985
+11121986
+1025
+1003
+08081988
+08031985
+03031986
+02101979
+02071979
+02071978
+02051985
+02051978
+02051973
+02041975
+02041974
+02031988
+02011982
+01031989
+01011974
+zoloto
+zippo
+wwwwwwww
+w_pass
+wildwood
+wildbill
+transit
+superior
+styles
+stryker
+string
+stream
+stefanie
+slugger
+skillet
+sidekick
+show
+shawna
+sf49ers
+Salsero
+rosario
+remingto
+redeye
+redbaron
+question
+quasar
+ppppppp
+popova
+physics
+papers
+palermo
+options
+mothers
+moonligh
+mischief
+ministry
+minemine
+messiah
+mentor
+megane
+mazda6
+marti
+marble
+leroy
+laura1
+lantern
+Kordell1
+koko
+knuckles
+khan
+kerouac
+kelvin
+jorge
+joebob
+jewel
+iforget
+Hunter
+house1
+horace
+hilary
+grand
+gordo
+glock
+georgie
+George
+fuckhead
+freefall
+films
+fantomas
+extra
+ellen
+elcamino
+doors
+diaper
+datsun
+coldplay
+clippers
+chandra
+carpente
+carman
+capricorn
+calimero
+boytoy
+boiler
+bluesman
+bluebell
+bitchy
+bigpimp
+bigbang
+biatch
+Baseball
+audi
+astral
+armstron
+angelika
+angel123
+abcabc
+999666
+868686
+3x7PxR
+357357
+30041987
+27081990
+26031988
+258369
+25091987
+25041988
+24111989
+23021986
+22041988
+22031984
+21051988
+17011987
+16121987
+15021985
+142857
+14021986
+13021990
+12345qw
+123456ru
+1124
+10101990
+10041986
+07091990
+02051981
+01031985
+01021990
+******
+zildjian
+yfnfkb
+yeah
+WP2003WP
+vitamin
+villa
+valentine
+trinitro
+torino
+tigge
+thewho
+thethe
+tbone
+swinging
+sonia
+sonata
+smoke1
+sluggo
+sleep
+simba1
+shamus
+sexxy
+sevens
+rober
+rfvfcenhf
+redhat
+quentin
+qazws
+pufunga7782
+priest
+pizdec
+pigeon
+pebble
+palmtree
+oxygen
+nostromo
+nikolai
+mmmmmmm
+mahler
+lorena
+lopez
+lineage
+korova
+kokomo
+kinky
+kimmie
+kieran
+jsbach
+johngalt
+isabell
+impreza
+iloveyou1
+iiiii
+huge
+fuck123
+franc
+foxylady
+fishfish
+fearless
+evil
+entry
+enforcer
+emilie
+duffman
+ducks
+dominik
+david123
+cutiepie
+coolcat
+cookie1
+conway
+citroen
+chinese
+cheshire
+cherries
+chapman
+changes
+carver
+capricor
+book
+blueball
+blowfish
+benoit
+Beast1
+aramis
+anchor
+741963
+654654
+57chevy
+5252
+357159
+345678
+31031988
+25091990
+25011990
+24111987
+23031990
+22061988
+21011991
+21011988
+1942
+19283746
+19031985
+19011989
+18091986
+17111985
+16051988
+15071987
+145236
+14081985
+132456
+13071984
+1231
+12081985
+1201
+11021985
+10071988
+09021988
+05061990
+02051972
+02041978
+02031983
+01091985
+01031984
+010191
+01012009
+yamahar1
+wormix
+whistler
+wertyu
+warez
+vjqgfhjkm
+versace
+universa
+taco
+sugar1
+strawber
+stacie
+sprinter
+spencer1
+sonyfuck
+smokey1
+slimshady
+skibum
+series
+screamer
+sales
+roswell
+roses
+report
+rampage
+qwedsa
+q11111
+program
+Princess
+petrova
+patrol
+papito
+papillon
+paco
+oooooooo
+mother1
+mick
+Maverick
+marcius2
+magneto
+macman
+luck
+lalakers
+lakeside
+krolik
+kings
+kille
+kernel
+kent
+junior1
+jules
+jermaine
+jaguars
+honeybee
+hola
+highlander
+helper
+hejsan
+hate
+hardone
+gustavo
+grinch
+gratis
+goth
+glamour
+ghbywtccf
+ghbdtn123
+elefant
+earthlink
+draven
+dmitriy
+dkflbr
+dimples
+cygnusx1
+cold
+cococo
+clyde
+cleopatr
+choke
+chelse
+cecile
+casper1
+carnival
+cardiff
+buddy123
+bruce1
+bootys
+bookie
+birddog
+bigbob
+bestbuy
+assasin
+arkansas
+anastasi
+alberta
+addict
+acmilan
+7896321
+30081984
+258963
+25101988
+23051985
+23041986
+23021989
+22121987
+22091988
+22071987
+22021988
+2006
+20052005
+19051987
+15041988
+15011985
+14021990
+14011986
+13051987
+13011988
+13011987
+12345s
+12061988
+12041988
+12041986
+11111q
+11071988
+11031988
+10081989
+08081986
+07071990
+07071977
+05071984
+04041983
+03021986
+02091988
+02081976
+02051977
+02031978
+01071987
+01041987
+01011976
+zack
+zachary1
+yoyoma
+wrestler
+weston
+wealth
+wallet
+vjkjrj
+vendetta
+twiggy
+twelve
+turnip
+tribal
+tommie
+tkbpfdtnf
+thecrow
+test12
+terminat
+telephone
+synergy
+style
+spud
+smackdow
+slammer
+sexgod
+seabee
+schalke
+sanford
+sandrine
+salope
+rusty2
+right
+repair
+referee
+ratman
+radar
+qwert40
+qwe123qwe
+prozac
+portal
+polish
+Patrick
+passes
+otis
+oreo
+option
+opendoor
+nuclear
+navy
+nautilus
+nancy1
+mustang6
+murzik
+mopar
+monty1
+Misfit99
+mental
+medved
+marseill
+magpies
+magellan
+limited
+Letmein1
+lemmein
+leedsutd
+larissa
+kikiki
+jumbo
+jonny
+jamess
+jackass1
+install
+hounddog
+holes
+hetfield
+heidi1
+harlem
+gymnast
+gtnhjdbx
+godlike
+glow
+gideon
+ghhh47hj7649
+flip
+flame
+fkbyjxrf
+fenris
+excite
+espresso
+ernesto
+dontknow
+dogpound
+dinner
+diablo2
+dejavu
+conan
+complete
+cole
+chocha
+chips
+chevys
+cayman
+breanna
+borders
+blue32
+blanco
+bismillah
+biker
+bennie
+benito
+azazel
+ashle
+arianna
+argentin
+antonia
+alanis
+advent
+acura
+858585
+4040
+333444
+30041985
+29071985
+29061990
+27071987
+27061985
+27041990
+26031990
+24031988
+23051990
+2211
+22011986
+21061986
+20121989
+20092009
+20091986
+20081991
+20041988
+20041986
+1qwerty
+19671967
+1950
+19121989
+19061990
+18101987
+18051988
+18041986
+18021984
+17101986
+17061989
+17041991
+16021990
+15071988
+15071986
+14101987
+135798642
+13061987
+1234zxcv
+12321
+1214
+12071989
+1129
+11121985
+11061991
+10121987
+101101
+10101985
+10031987
+100200
+09041987
+09031988
+06041988
+05071988
+03081989
+02071985
+02071975
+0123456
+01051989
+01041992
+01041990
+zarina
+woodie
+whiteboy
+white1
+waterboy
+volkov
+vlad
+virus
+vikings1
+viewsoni
+vbkfirf
+trans
+terefon
+swedish
+squeak
+spanner
+spanker
+sixpack
+seymour
+sexxx
+serpent
+samira
+roma
+rogue
+robocop
+robins
+real
+Qwerty1
+qazxcv
+q2w3e4
+punch
+pinky1
+perry
+peppe
+penguin1
+Password123
+pain
+optimist
+onion
+noway
+nomad
+nine
+morton
+moonshin
+money12
+modern
+mcdonald
+mario1
+maple
+loveya
+love1
+loretta
+lookout
+loki
+lllll
+llamas
+limewire
+konstantin
+k.lvbkf
+keisha
+jones1
+jonathon
+johndoe
+johncena
+john123
+janelle
+intercourse
+hugo
+hopkins
+harddick
+glasgow
+gladiato
+gambler
+galant
+gagged
+fortress
+factory
+expert
+emperor
+eight
+django
+dinara
+devo
+daniels
+crusty
+cowgirl
+clutch
+clarissa
+cevthrb
+ccccccc
+capetown
+candy1
+camero
+camaross
+callisto
+butters
+bigpoppa
+bigones
+bigdawg
+best
+beater
+asgard
+angelus
+amigos
+amand
+alexandre
+9999999999
+8989
+875421
+30011985
+29051985
+2626
+26061985
+25111987
+25071990
+22081986
+22061989
+21061985
+20082008
+20021988
+1a2s3d
+19981998
+16051985
+15111988
+15051985
+15021990
+147896
+14041988
+123567
+12345qwerty
+12121988
+12051990
+12051986
+12041990
+11091989
+11051986
+11051984
+1008
+10061986
+0815
+06081987
+06021987
+04041990
+02081981
+02061977
+02041977
+02031975
+01121987
+01061988
+01031986
+01021989
+01021988
+wolfpac
+wert
+vienna
+venture
+vehpbr
+vampir
+university
+tuna
+trucking
+trip
+trees
+transfer
+tower
+tophat
+tomahawk
+timosha
+timeout
+tenchi
+tabasco
+sunny1
+suckmydick
+suburban
+stratfor
+steaua
+spiral
+simsim
+shadow12
+screw
+schmidt
+rough
+rockie
+reilly
+reggae
+quebec
+private1
+printing
+pentagon
+pearson
+peachy
+notebook
+noname
+nokian73
+myrtle
+munch
+moron
+matthias
+mariya
+marijuan
+mandrake
+mamacita
+malice
+links
+lekker
+lback
+larkin
+ksusha
+kkkkk
+kestrel
+kayleigh
+inter
+insight
+hotgirls
+hoops
+hellokitty
+hallo123
+gotmilk
+googoo
+funstuff
+fredrick
+firefigh
+finland
+fanny
+eggplant
+eating
+dogwood
+doggies
+dfktynby
+derparol
+data
+damon
+cvthnm
+cuervo
+coming
+clock
+cleopatra
+clarke
+cheddar
+cbr900rr
+carroll
+canucks
+buste
+bukkake
+boyboy
+bowman
+bimbo
+bighead
+bball
+barselona
+aspen
+asdqwe123
+around
+aries
+americ
+almighty
+adgjmp
+addison
+absolutely
+aaasss
+4ever
+357951
+29061989
+28051987
+27081986
+25061985
+25011986
+24091986
+24061988
+24031990
+21081987
+21041992
+20031991
+2001112
+19061985
+18111987
+18021988
+17071989
+17031987
+16051990
+15021986
+14031988
+14021987
+14011989
+1220
+1205
+120120
+111999
+111777
+1115
+1114
+11011990
+1027
+10011983
+09021989
+07051990
+06051986
+05091988
+05081988
+04061986
+04041985
+03041980
+02101976
+02071976
+02061976
+02011975
+01031983
+zasada
+wyoming
+wendy1
+washingt
+warrior1
+vickie
+vader1
+uuuuuu
+username
+tupac
+Trustno1
+tinkerbe
+suckdick
+streets
+strap
+storm1
+stinker
+sterva
+southpaw
+solaris
+sloppy
+sexylady
+sandie
+roofer
+rocknrol
+rico
+rfhnjirf
+QWERTY
+qqqqq1
+punker
+progress
+platon
+Phoenix
+Phoeni
+peeper
+pastor
+paolo
+page
+obsidian
+nirvana1
+nineinch
+nbvjatq
+navigator
+native
+money123
+modelsne
+minimoni
+millenium
+max333
+maveric
+matthe
+marriage
+marquis
+markie
+marines1
+marijuana
+margie
+little1
+lfybbk
+klizma
+kimkim
+kfgjxrf
+joshu
+jktxrf
+jennaj
+irishka
+irene
+ilove
+hunte
+htubcnhfwbz
+hottest
+heinrich
+happy2
+hanson
+handball
+greedy
+goodie
+golfer1
+gocubs
+gerrard
+gabber
+fktyrf
+facebook
+eskimo
+elway7
+dylan1
+dominion
+domingo
+dogbone
+default
+darkangel
+cumslut
+cumcum
+cricket1
+coral
+coors
+chris123
+charon
+challeng
+canuck
+call
+calibra
+buceta
+bubba123
+bricks
+bozo
+blues1
+bluejays
+berry
+beech
+awful
+april1
+antonina
+antares
+another
+andrea1
+amore
+alena
+aileen
+a1234
+996633
+556677
+5329
+5201314
+3006
+28051986
+28021985
+27031989
+26021987
+25101989
+25061986
+25041985
+25011985
+24061987
+23021985
+23011985
+223322
+22121986
+22121983
+22081983
+22071989
+22061987
+22061941
+22041986
+22021985
+21021985
+2007
+20031988
+1qaz
+199999
+19101990
+19071988
+19071986
+18061985
+18051990
+17071985
+16111990
+16061986
+16011989
+15081991
+15051987
+14071987
+13031986
+123qwer
+1235789
+123459
+1227
+1226
+12101988
+12081984
+12071987
+1200
+11121987
+11081987
+11071985
+11011991
+1101
+1004
+08071987
+08061987
+05061986
+04061991
+03111987
+03071987
+02091976
+02081979
+02041976
+02031973
+02021991
+02021980
+02021971
+zouzou
+yaya
+wxcvbn
+wolfen
+wives
+wingnut
+whatwhat
+Welcome1
+wanking
+VQsaBLPzLa
+truth
+tracer
+trace
+theforce
+terrell
+sylveste
+susanna
+stephane
+stephan
+spoons
+spence
+sixty
+sheepdog
+services
+sawyer
+sandr
+saigon
+rudolf
+rodeo
+roadrunner
+rimmer
+ricard
+republic
+redskin
+Ranger
+ranch
+proton
+post
+pigpen
+peggy
+paris1
+paramedi
+ou8123
+nevets
+nazgul
+mizzou
+midnite
+metroid
+Matthew
+masterbate
+margarit
+loser1
+lolol
+lloyd
+kronos
+kiteboy
+junk
+joyce
+jomama
+joemama
+ilikepie
+hung
+homework
+hattrick
+hardball
+guido
+goodgirl
+globus
+funky
+friendster
+flipflop
+flicks
+fender1
+falcon1
+f00tball
+evolutio
+dukeduke
+disco
+devon
+derf
+decker
+davies
+cucumber
+cnfybckfd
+clifton
+chiquita
+castillo
+cars
+capecod
+cafc91
+brown1
+brand
+bomb
+boater
+bledsoe
+bigdicks
+bbbbbbb
+barley
+barfly
+ballet
+azzer
+azert
+asians
+angelic
+ambers
+alcohol
+6996
+5424
+393939
+31121990
+30121987
+29121987
+29111989
+29081990
+29081985
+29051990
+27272727
+27091985
+27031987
+26031987
+26031984
+24051990
+23061990
+22061990
+22041985
+22031991
+22021990
+21111985
+21041985
+20021986
+19071990
+19051986
+19011987
+17171717
+17061986
+17041987
+16101987
+16031990
+159357a
+15091987
+15081988
+15071985
+15011986
+14101988
+14071988
+14051990
+14021983
+132465
+13111990
+12121987
+12121982
+12061986
+12011989
+11111987
+11081990
+10111986
+10031991
+09090909
+08051987
+08041986
+05051990
+04081987
+04051988
+03061987
+03031993
+03031988
+02101980
+02101977
+02091977
+02091975
+02061979
+02051975
+01081990
+01061987
+01011971
+wiseguy
+weed420
+tosser
+toriamos
+toolbox
+toocool
+tomas
+thedon
+tender
+taekwondo
+starwar
+start1
+sprout
+sonyericsson
+slimshad
+skateboard
+shonuf
+shoes
+sheep
+shag
+ring
+riccardo
+rfntymrf
+redcar
+qwe321
+qqqwww
+proview
+prospect
+persona
+penetration
+peaches1
+peace1
+olympus
+oberon
+nokia6233
+nightwish
+munich
+morales
+mone
+mohawk
+merlin1
+Mercedes
+mega
+maxwell1
+mash4077
+marcelo
+mann
+mad
+macbeth
+LOVE
+loren
+longer
+lobo
+leeds
+lakewood
+kurt
+krokodil
+kolbasa
+kerstin
+jenifer
+hott
+hello12
+hairball
+gthcbr
+grin
+grandam
+gotribe
+ghbrjk
+ggggggg
+FUCKYOU
+fuck69
+footjob
+flasher
+females
+fellow
+explore
+evangelion
+egghead
+dudeman
+doubled
+doris
+dolemite
+dirty1
+devin
+delmar
+delfin
+David
+daddyo
+cromwell
+cowboy1
+closer
+cheeky
+ceasar
+cassandr
+camden
+cabernet
+burns
+bugs
+budweiser
+boxcar
+boulder
+biggun
+beloved
+belmont
+beezer
+beaker
+Batman
+bastards
+bahamut
+azertyui
+awnyce
+auggie
+aolsucks
+allegro
+963963
+852852
+515000
+45454545
+31011990
+29011987
+28071986
+28021986
+27051987
+27011988
+26051988
+26041991
+26041986
+25011993
+24121986
+24061992
+24021991
+24011990
+23051986
+23021988
+23011990
+21121986
+21111990
+21071989
+20071986
+20051985
+20011989
+1943
+19111987
+19091988
+18041990
+18021986
+18011986
+17101987
+17091987
+17021985
+17011990
+16061985
+1598753
+15051986
+14881488
+14121989
+14081988
+14071986
+13111984
+122112
+12121989
+12101985
+12051985
+111213
+11071986
+1103
+11011987
+10293847
+101112
+10081985
+10061987
+10041983
+0911
+07091982
+07081986
+06061987
+06041987
+06031983
+04091986
+03071986
+03051987
+03051986
+03031990
+03011987
+02101978
+02091973
+02081974
+02071977
+02071971
+0192837465
+01051988
+01051986
+01011973
+?????
+zxcv123
+zxasqw
+yyyy
+yessir
+wordup
+wizards
+werty
+watford
+Victoria
+vauxhall
+vancouve
+tuscl
+trailer
+touching
+tokiohotel
+suslik
+supernov
+steffen
+spider1
+speakers
+spartan1
+sofia
+signal
+sigmachi
+shen
+sheeba
+sexo
+sambo
+salami
+roger1
+rocknroll
+rockin
+road
+reserve
+rated
+rainyday
+q123456789
+purpl
+puppydog
+power123
+poiuytre
+pointer
+pimping
+phialpha
+penthous
+pavement
+outside
+odyssey
+nthvbyfnjh
+norbert
+nnnnnnnn
+mutant
+Mustang
+mulligan
+mississippi
+mingus
+Merlin
+magic32
+lonesome
+liliana
+lighting
+lara
+ksenia
+koolaid
+kolokol
+klondike
+kkkkkkk
+kiwi
+kazantip
+junio
+jewish
+jajaja
+jaime
+jaeger
+irving
+ironmaiden
+iriska
+homemade
+herewego
+helmut
+hatred
+harald
+gonzales
+goldfing
+gohome
+gerbil
+genesis1
+fyfnjkbq
+freee
+forgetit
+foolish
+flamengo
+finally
+favorite6
+exchange
+enternow
+emilio
+eeeeeee
+dougie
+dodgers1
+deniro
+delaware
+deaths
+darkange
+commande
+comein
+cement
+catcher
+cashmone
+burn
+buffet
+breaker
+brandy1
+bordeaux
+books
+bongo
+blue99
+blaine
+birgit
+billabon
+benessere
+banan
+awesome1
+asdffdsa
+archange
+annmarie
+ambrosia
+ambrose
+alleycat
+all4one
+alchemy
+aceace
+aaaaaaaaaa
+777999
+43214321
+369258147
+31121988
+31121987
+30061987
+30011986
+2fast4u
+29041985
+28121984
+28061986
+28041992
+28031982
+27111985
+27021991
+26111985
+26101986
+26091986
+26031986
+25021988
+24111990
+24101986
+24071987
+24011987
+23051991
+23051987
+23031987
+222777
+22071983
+22051986
+21101989
+21071987
+21051986
+20081986
+20061986
+20031986
+20021985
+20011988
+19641964
+19111986
+19101986
+19021990
+18051987
+18031991
+18021987
+16111982
+16011987
+15111984
+15091988
+15061988
+15031988
+15021983
+14021989
+14011988
+14011987
+12348765
+12345qaz
+1234566
+12111990
+12091988
+12051989
+12051987
+12031988
+12021985
+12011985
+11111986
+11091984
+1109
+11071989
+1016
+10071985
+10061984
+10041990
+10031989
+10011988
+06071983
+05021988
+03041987
+02091982
+02091971
+02061974
+02051990
+02051979
+02011990
+01051990
+010390
+01021985
+youtube
+yasmin
+woodstoc
+wonderful
+wildone
+widget
+whiplash
+ukraine
+tyson1
+twinkie
+trouble1
+treetop
+tigers1
+their
+testing1
+tarpon
+tantra
+summer69
+stickman
+stafford
+spooge
+spliff
+speedway
+somerset
+smoothie
+siobhan
+shuttle
+shodan
+SHADOW
+selina
+segblue2
+sebring
+scheisse
+Samantha
+rrrr
+roll
+riders
+revolution
+redbone
+reason
+rasmus
+randy1
+rainbows
+pumper
+pornking
+point
+ploppy
+pimpdadd
+payday
+pasadena
+p0o9i8u7
+opennow
+nittany
+newark
+navyseal
+nautica
+monic
+mikael
+metall
+Marlboro
+manfred
+macleod
+luna
+luca
+longhair
+lokiloki
+lkjhgfds
+lefty
+lakers1
+kittys
+killa
+kenobi
+karine
+kamasutra
+juliana
+joseph1
+jenjen
+jello
+interne
+houdini
+gsxr1000
+grass
+gotham
+goodday
+gianni
+getting
+gannibal
+gamma
+flower2
+fishon
+Fabie
+evgeniy
+drums
+dingo
+daylight
+dabomb
+cornwall
+cocksucker
+climax
+catnip
+carebear
+camber
+butkus
+bootsy
+blue42
+auto
+austin31
+auditt
+ariel
+alice1
+algebra
+advance
+adrenalin
+888999
+789654123
+777333
+5Wr2i7H8
+4567
+3ip76k2
+32167
+31031987
+30111987
+30071986
+30061983
+30051989
+30041991
+28071987
+28051990
+28051985
+27041985
+26071987
+26061986
+26051986
+25121985
+25051985
+24081988
+24041988
+24031987
+24021988
+23skidoo
+23121986
+23091987
+23071985
+23061992
+22111985
+22091986
+22081991
+22071990
+22061985
+21081985
+21071992
+21021987
+20101988
+20061984
+20051989
+20041990
+1Dragon
+19091990
+19031987
+18121984
+18081988
+18061991
+18041991
+18011988
+17061991
+17021987
+16031988
+16021987
+15091989
+15081990
+15071983
+15041987
+14091990
+14081990
+14041992
+14041987
+14031989
+13081985
+13021987
+123qwert
+12345qwer
+12345abc
+123456t
+123456789m
+1212121212
+12081983
+12021991
+111112
+11101986
+11081988
+11061989
+11041991
+11011989
+1018
+1015
+10121986
+10121985
+10101989
+10041991
+09091986
+09081988
+09051986
+08071988
+08011986
+07101987
+07071985
+0660
+06061985
+06011988
+05031991
+05021987
+04061984
+04051985
+02101973
+02061981
+02061972
+02041973
+02011979
+01101987
+01051985
+01021987
+workout
+wonderboy
+winter1
+wetter
+werdna
+vvvv
+voyager1
+vagabond
+trustme
+toonarmy
+timtim
+Tigger
+thrasher
+terra
+swoosh
+supra
+stigmata
+stayout
+status
+square
+sperma
+smackdown
+sixty9
+sexybabe
+sergbest
+senna
+scuba1
+scrapper
+samoht
+sammy123
+salem
+rugger
+royalty
+rivera
+ringo
+restart
+reginald
+readers
+raleigh
+rainbow1
+rage
+prosper
+pitch
+pictures
+petunia
+peterbil
+perfect1
+patrici
+pantera1
+pancake
+p4ssw0rd
+outback
+norris
+normandy
+nevermore
+needles
+nathan1
+nataly
+narnia
+musical
+mooney
+michal
+maxdog
+MASTER
+madmad
+m123456
+lumina
+luckyone
+luciano
+linkin
+lillie
+leigh
+kirkland
+kahlua
+junkmail
+Joshua
+josephin
+Jordan23
+johnson1
+jocelyn
+jeannie
+javelin
+inlove
+honor
+holein1
+harbor
+grisha
+gina
+gatit
+futurama
+firenze
+fireblad
+fellatio
+esquire
+errors
+emmett
+elvisp
+drum
+driller
+dragonfl
+dragon69
+dingle
+davinci
+crackers
+corwin
+compaq1
+collie
+christa
+checker
+cartoons
+buttercup
+bungle
+budgie
+boomer1
+body
+blue1234
+biit
+bigguns
+barry1
+audio
+atticus
+atlas
+Anthony
+angus1
+Anai
+alisa
+alex12
+aikman
+abacab
+951357
+7894
+4711
+321678
+31101987
+31051985
+30121986
+30091989
+30031992
+30031986
+30011987
+29061988
+29061985
+29031988
+28061988
+27061983
+27031986
+27021990
+26101987
+26071989
+26071986
+25081986
+25061987
+25051987
+25041991
+24101989
+24071991
+23111987
+23091986
+23051983
+23031986
+2222222222
+22121989
+22071991
+22051991
+22011985
+21121985
+21031985
+20121988
+20121986
+20061990
+20051987
+1q2q3q
+1944
+19091983
+19061992
+1905
+19021991
+18121987
+18121983
+18111986
+16121986
+16091987
+16071991
+16071987
+15111989
+15031990
+14041986
+13121983
+13101987
+13091984
+13071990
+1245
+12345m
+1234568
+123456789qwe
+1234567899
+1234561
+1228
+12211221
+12121991
+12121986
+12101990
+12101984
+12091991
+1209
+12081988
+12071990
+12071988
+115599
+11111a
+11041990
+1028
+10081990
+10081983
+10071990
+10061989
+10011992
+09111987
+09081985
+08121987
+08111984
+08101986
+08051989
+07091988
+07081987
+07071988
+07071984
+07071982
+07051987
+06031992
+05111986
+05051991
+05031990
+05011987
+04111988
+04061987
+04041987
+040404
+02081973
+02061978
+02031991
+02031990
+02011976
+01071984
+01041980
+01021992
+zaqwsxcde
+yyyyyyyy
+worthy
+woowoo
+wind
+William
+warhamme
+walton
+vodka
+venom
+velocity
+treble
+tralala
+tigercat
+tarakan
+sunlight
+streaming
+starr
+sonysony
+smart1
+skylark
+sites
+shower
+sheldon
+seneca
+sedona
+scamper
+sand
+sabrina1
+romantic
+rockwell
+rabbits
+q1234567
+puzzle
+protect
+poker1
+plato
+plastics
+pinnacle
+peppers
+pathetic
+patch
+pancakes
+ottawa
+ooooo
+offshore
+octopus
+nounours
+nokia1
+neville
+ncc74656
+natasha1
+nastia
+mynameis
+motor
+motocros
+middle
+met2002
+meow
+meliss
+medina
+meadow
+matty
+masterp
+manga
+lucia
+loose
+linden
+lhfrjy
+letsdoit
+leopold
+lawson
+larson
+laddie
+ladder
+kristian
+kittie
+jughead
+joecool
+jimmys
+iklo
+honeys
+hoffman
+hiking
+hello2
+heels
+harrier
+hansol
+haley
+granada
+gofast
+fyutkjxtr
+frogs
+francisc
+four
+fields
+farm
+faith1
+fabio
+dreamcas
+dragster
+doggy1
+dirt
+dicky
+destiny1
+deputy
+delpiero
+dbnfkbr
+dakota1
+daisydog
+cyprus
+cutie
+cupoi
+colonial
+colin
+clovis
+cirrus
+chewy
+chessie
+chelle
+caster
+cannibal
+candyass
+camping
+cable
+bynthytn
+byebye
+buzzer
+burnout
+burner
+bumbum
+bumble
+briggs
+brest
+boyz
+bowtie
+bootsie
+bmwbmw
+blanche
+blanca
+bigbooty
+baylor
+base
+azertyuiop
+austria
+asd222
+armando
+ariane
+amstel
+amethyst
+airman
+afrika
+adelina
+acidburn
+7734
+741741
+66613666
+44332211
+31071990
+31051993
+30051987
+30011990
+29091987
+29061986
+29011982
+2828
+28101986
+28081990
+28081986
+28011988
+27111989
+27031992
+27021992
+26081986
+25081985
+25031991
+25031983
+24121987
+24091991
+23111989
+23091989
+23091985
+23061989
+22091991
+22071985
+22071984
+22061984
+22051989
+22051987
+22031986
+22011992
+21061988
+21031984
+20071988
+20061983
+20041985
+1qazzaq1
+1qazxsw23edc
+19991999
+19061991
+18101985
+18051989
+18031988
+18021992
+18011985
+17051990
+17051989
+17051987
+17021989
+16091988
+16081986
+16061988
+16061987
+15121987
+15091985
+15081986
+15061985
+15011983
+14101986
+1357911
+13071987
+13061985
+13021985
+123456qqq
+123456789d
+1234509876
+12131213
+12111991
+12111985
+12081990
+12081987
+12071991
+1207
+120689
+1120
+11071987
+11051988
+1104
+11031983
+10091984
+10071989
+10071986
+10061985
+10051990
+10041987
+10031993
+10031990
+09091988
+09051987
+09041986
+08081990
+08081989
+08021990
+07101984
+07071989
+07041987
+07031989
+07021991
+06061981
+06021986
+05121990
+05061988
+05031987
+04071988
+04071986
+04041986
+03101991
+03091983
+03051988
+03041983
+03031992
+02081970
+02061971
+02051970
+02041972
+02031974
+02021978
+0202
+02011977
+01121990
+01091992
+01081992
+01081985
+01011972
+007bond
+zapper
+vipergts
+vfntvfnbrf
+vfndtq
+tujhrf
+tripleh
+track
+THOMAS
+thierry
+thebear
+systems
+supernova
+stone1
+stephen1
+stang
+stan
+spot
+sparkles
+soul
+snowbird
+snicker
+slonik
+slayer1
+sixsix
+singapor
+shauna
+scissors
+savior
+samm
+rumble
+rrrrr
+robin1
+renato
+redstar
+raphael
+q1w2e3r
+pressure
+poptart
+playball
+pizzaman
+pinetree
+phyllis
+pathfind
+papamama
+panter
+pandas
+panda1
+pajero
+pacino
+orchard
+olive
+nightmar
+nico
+Mustang1
+mooses
+montrose
+montecar
+montag
+melrose
+masterbating
+maserati
+marshal
+makaka
+macmac
+mackie
+lockdown
+liverpool1
+link
+lemans
+leinad
+lagnaf
+kingking
+killer123
+kaboom
+jeter2
+jeremy1
+jeepster
+jabber
+itisme
+italy
+ilovegod
+idefix
+howell
+hores
+HIZIAD
+hewitt
+hellsing
+Heather
+gonzo1
+golden1
+GEORGE
+generic
+gatsby
+fujitsu
+frodo1
+frederik
+forlife
+fitter
+feelgood
+fallon
+escalade
+enters
+emil
+eleonora
+earl
+dummy
+donner
+dominiqu
+dnsadm
+dickens
+deville
+delldell
+daughter
+contract
+contra
+conquest
+compact
+christi
+chill
+chavez
+chaos1
+chains
+casio
+carrots
+building
+buffalo1
+brennan
+boubou
+bonner
+blubber
+blacklab
+behappy
+barbar
+bambi
+babycake
+aprilia
+ANDREW
+allgood
+alive
+adriano
+808080
+7777777a
+777666
+31121986
+31121985
+31051991
+31051987
+30121988
+30121985
+30101988
+30061988
+29041988
+27091991
+26121989
+26061989
+26031991
+25111991
+25031984
+25021986
+24121989
+24121988
+24101990
+24101984
+24071992
+24051989
+24041986
+23091991
+23061987
+23041988
+23021992
+23021983
+22111988
+22091990
+22091984
+22051988
+21111986
+21101988
+21101987
+21091989
+21051990
+21021989
+20101987
+20071984
+20051983
+20031990
+20031985
+20011983
+1passwor
+19111985
+19081987
+19051983
+19041985
+18121990
+18121985
+18121812
+18091987
+17121985
+17111987
+17071987
+17071986
+17061987
+17041986
+17041985
+16121991
+16101986
+16041988
+16041985
+16031986
+16021988
+16011986
+15121983
+15101991
+15061984
+15011988
+14091987
+14061988
+14051983
+13101992
+13101988
+13101982
+13071989
+13071985
+13061991
+13051990
+13031989
+123456n
+1234567890-
+123450
+1216
+12101989
+1208
+12071984
+12061987
+12041991
+12031990
+12021984
+1117
+11091986
+11091985
+11081986
+1026
+10101988
+10101980
+10091986
+10091985
+10081987
+10051988
+10021987
+10021986
+09041985
+09031987
+08041985
+08031987
+07061988
+07041989
+07021980
+06011982
+05121988
+05061989
+05051986
+04031991
+03071985
+03061986
+03061985
+03031987
+03031984
+03011991
+02111987
+02061990
+02011971
+01091988
+01071990
+01061983
+01051980
+01022010
+000777
+000123
+young1
+yamato
+winona
+winner1
+whatthe
+weiner
+weekend
+volleyba
+volcano
+virginie
+videos
+vegitto
+uptown
+tycoon
+treefrog
+trauma
+town
+toast
+titts
+these
+therock1
+tetsuo
+tennesse
+tanya1
+success1
+stupid1
+stockton
+stock
+stellar
+springs
+spoiled
+someday
+skinhead
+sick
+shyshy
+shojou
+shampoo
+sexman
+sex69
+saskia
+Sandra
+s123456
+russel
+rudeboy
+rollin
+ridge
+ride
+rfgecnf
+qwqwqwqw
+pushkin
+puck
+probes
+pong
+playmate
+planes
+piercing
+phat
+pearls
+password9
+painting
+nineball
+navajo
+napalm
+mohammad
+miller1
+matchbox
+marie1
+mariam
+mamas
+malish
+maison
+logger
+locks
+lister
+lfitymrf
+legos
+lander
+laetitia
+kenken
+kane
+johnny5
+jjjjjjj
+jesper
+jerk
+jellybean
+jeeper
+jakarta
+instant
+ilikeit
+icecube
+hotass
+hogtied
+having
+harman
+hanuman
+hair
+hacking
+gumby
+gramma
+GOLF
+goldeneye
+gladys
+furball
+fuckme2
+franks
+fick
+fduecn
+farmboy
+eunice
+erection
+entrance
+elisabet
+elements
+eclipse1
+eatmenow
+duane
+dooley
+dome
+doktor
+dimitri
+dental
+delaney
+Dallas
+cyrano
+cubs
+crappy
+cloudy
+clips
+cliff
+clemente
+charlie2
+cassandra
+cashmoney
+camil
+burning
+buckley
+booyah
+boobear
+bonanza
+bobmarley
+bleach
+bedford
+bathing
+baracuda
+antony
+ananas
+alinka
+alcatraz
+aisan
+5000
+49ers
+334455
+31051982
+30051988
+30051986
+29111988
+29051992
+29041989
+29031990
+28121989
+28071985
+28021983
+27111990
+27071988
+26071984
+26061991
+26021992
+26011990
+26011986
+25091991
+25091989
+25081989
+25071987
+25071985
+25071983
+25051988
+25051980
+25041987
+25021985
+24101991
+24101988
+24071990
+24061985
+24041985
+24041984
+23456
+23111986
+23101987
+23041991
+23031983
+22071992
+22071988
+21121989
+21111989
+21111983
+21101983
+21041991
+21041987
+21031986
+21021990
+21021988
+20081990
+20061991
+20061987
+20032003
+20031992
+1qw23er4
+1q1q1q1q
+1Master
+19121988
+19081986
+19071989
+19041986
+18111983
+18071990
+18071989
+18071986
+18031986
+17121987
+17091985
+17071990
+17051983
+16091990
+15081989
+15071990
+15051992
+15051989
+15031991
+15011990
+14031986
+13091988
+13091987
+13091986
+13081986
+13071982
+13051986
+13041989
+13021991
+1269
+123890
+1234rewq
+12345r
+1231234
+12111984
+12091986
+12081993
+12071992
+1206
+12021990
+111555
+11111991
+11091990
+11061987
+11061986
+11061984
+11041985
+11031986
+1030
+1029
+1014
+101091m
+10041984
+10031980
+10011980
+09051984
+08071985
+07081984
+07041988
+06101989
+06061988
+06041984
+05091987
+05081992
+05081986
+05071985
+05041985
+04111991
+04071987
+04021990
+03091988
+03061988
+03041989
+03041984
+03031991
+02091978
+01071988
+01061992
+01041993
+01041983
+01031981
+0069
+zyjxrf
+xian
+wizard1
+winger
+wilder
+welkom
+wearing
+weare138
+vanessa1
+usmarine
+unlock
+thumb
+this
+tasha1
+talks
+talbot
+summers
+sucked
+storage
+sqdwfe
+socce
+sniffing
+smirnov
+shovel
+shopper
+shady
+semper
+screwy
+schatz
+samanth
+salman
+rugby1
+rjhjkm
+rita
+rfhfylfi
+retire
+ratboy
+rachelle
+qwerasdfzxcv
+purple1
+prince1
+pookey
+picks
+perkins
+patches1
+password99
+oyster
+olenka
+nympho
+nikolas
+neon
+muslim
+muhammad
+morrowind
+monk
+missie
+mierda
+mercede
+melina
+maximo
+matrix1
+Martin
+mariner
+mantle
+mammoth
+mallrats
+madcow
+macintos
+macaroni
+lunchbox
+lucas1
+london1
+lilbit
+leoleo
+KILLER
+kerry
+kcchiefs
+juniper
+jonas
+jazzy
+istheman
+implants
+hyundai
+hfytnrb
+herring
+grunt
+grimace
+granite
+grace1
+gotenks
+glasses
+giggle
+ghjcnbnenrf
+garnet
+gabriele
+gabby
+fosters
+forever1
+fluff
+Fktrcfylh
+finder
+experienced
+dunlop
+duffer
+driven
+dragonballz
+draco
+downer
+douche
+doom
+discus
+darina
+daman
+daisey
+clement
+chouchou
+cheerleaers
+Charles
+charisma
+celebrity
+cardinals
+captain1
+caca
+c2h5oh
+bubbles1
+brook
+brady
diff --git a/internal/wisski/ingredient/php/users/passwords/wisski.txt b/internal/wisski/ingredient/php/users/passwords/wisski.txt
new file mode 100644
index 0000000..36e2193
--- /dev/null
+++ b/internal/wisski/ingredient/php/users/passwords/wisski.txt
@@ -0,0 +1,2 @@
+// This file contains a list of common WissKI Passwords
+W1ssk1.
diff --git a/internal/wisski/ingredient/php/users/users.go b/internal/wisski/ingredient/php/users/users.go
new file mode 100644
index 0000000..8d81e01
--- /dev/null
+++ b/internal/wisski/ingredient/php/users/users.go
@@ -0,0 +1,79 @@
+package users
+
+import (
+ _ "embed"
+ "errors"
+ "net/url"
+
+ "github.com/FAU-CDI/wisski-distillery/internal/phpx"
+ "github.com/FAU-CDI/wisski-distillery/internal/status"
+ "github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient"
+ "github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/php"
+)
+
+type Users struct {
+ ingredient.Base
+
+ PHP *php.PHP
+}
+
+//go:embed users.php
+var usersPHP string
+
+// All returns all known usernames
+func (u *Users) All(server *phpx.Server) (users []status.User, err error) {
+ err = u.PHP.ExecScript(server, &users, usersPHP, "list_users")
+ return
+}
+
+var errLoginUnknownError = errors.New("Login: Unknown Error")
+
+// Login generates a login link for the user with the given username
+func (u *Users) Login(server *phpx.Server, username string) (dest *url.URL, err error) {
+
+ // generate a (relative) link
+ var path string
+ err = u.PHP.ExecScript(server, &path, usersPHP, "get_login_link", username)
+
+ // if something went wrong, return
+ if err != nil {
+ return nil, err
+ }
+ if path == "" {
+ return nil, errLoginUnknownError
+ }
+
+ // parse it as a url
+ dest, err = url.Parse(path)
+ if err != nil {
+ return nil, err
+ }
+
+ // and resolve the (possibly relative) reference
+ dest = u.URL().ResolveReference(dest)
+ return
+}
+
+var errSetPassword = errors.New("SetPassword: Unknown Error")
+
+// SetPassword sets the password for a given user
+func (u *Users) SetPassword(server *phpx.Server, username, password string) error {
+ var ok bool
+ err := u.PHP.ExecScript(server, &ok, usersPHP, "set_user_password", username, password)
+ if err != nil {
+ return err
+ }
+ if !ok {
+ return errSetPassword
+ }
+ return nil
+}
+
+func (u *Users) Fetch(flags ingredient.FetcherFlags, info *status.WissKI) (err error) {
+ if flags.Quick {
+ return
+ }
+
+ info.Users, _ = u.All(flags.Server)
+ return
+}
diff --git a/internal/wisski/ingredient/php/users/users.php b/internal/wisski/ingredient/php/users/users.php
new file mode 100644
index 0000000..c07527f
--- /dev/null
+++ b/internal/wisski/ingredient/php/users/users.php
@@ -0,0 +1,56 @@
+getString();
+ }, $user->getFields());
+ if (empty($fields['name'])) continue;
+ $users[] = $fields;
+ }
+ return $users;
+}
+
+function set_user_password($name, $password): bool {
+ $user = user_load_by_name($name);
+ if (!$user) return false;
+ $user->setPassword($password);
+ $user->save();
+ return true;
+}
+
+function get_password_hash($name): string {
+ $user = user_load_by_name($name);
+ if (!$user) return "";
+ return $user->get('pass')->getString();
+}
+
+
+function check_password_hash($password, $hash): bool {
+ return \Drupal::service('password')->check($password, $hash);
+}
+
+function get_login_link($name): string {
+ $account = user_load_by_name($name);
+ if (!$account) return "";
+
+ $timestamp = \Drupal::time()->getRequestTime();
+ return Url::fromRoute(
+ 'user.reset.login',
+ [
+ 'uid' => $account->id(),
+ 'timestamp' => $timestamp,
+ 'hash' => user_pass_rehash($account, $timestamp),
+ ],
+ [
+ 'absolute' => false,
+ 'query' => ['destination' => '/'],
+ 'language' => \Drupal::languageManager()->getLanguage($account->getPreferredLangcode()),
+ ]
+ )->toString();
+}
diff --git a/internal/wisski/wisski.go b/internal/wisski/wisski.go
index 380360a..8e41a52 100644
--- a/internal/wisski/wisski.go
+++ b/internal/wisski/wisski.go
@@ -15,6 +15,7 @@ import (
"github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/mstore"
"github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/php"
"github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/php/extras"
+ "github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/php/users"
"github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient/reserve"
"github.com/FAU-CDI/wisski-distillery/internal/wisski/liquid"
"github.com/FAU-CDI/wisski-distillery/pkg/lazy"
@@ -61,6 +62,10 @@ func (wisski *WissKI) Drush() *drush.Drush {
return export[*drush.Drush](wisski)
}
+func (wisski *WissKI) Users() *users.Users {
+ return export[*users.Users](wisski)
+}
+
func (wisski *WissKI) Prefixes() *extras.Prefixes {
return export[*extras.Prefixes](wisski)
}
@@ -99,8 +104,8 @@ func (wisski *WissKI) allIngredients() []initFunc {
auto[*extras.Prefixes],
auto[*extras.Settings],
auto[*extras.Pathbuilder],
- auto[*extras.Users],
auto[*extras.Stats],
+ auto[*users.Users],
// info
manual(func(info *info.Info) {
diff --git a/pkg/httpx/errors.go b/pkg/httpx/errors.go
index 99d5c3a..7732e12 100644
--- a/pkg/httpx/errors.go
+++ b/pkg/httpx/errors.go
@@ -49,8 +49,9 @@ func StatusInterceptor(contentType string, body func(code int, text string) ([]b
return ErrInterceptor{
Errors: map[error]Response{
- ErrNotFound: makeResponse(http.StatusNotFound),
- ErrForbidden: makeResponse(http.StatusForbidden),
+ ErrNotFound: makeResponse(http.StatusNotFound),
+ ErrForbidden: makeResponse(http.StatusForbidden),
+ ErrMethodNotAllowed: makeResponse(http.StatusMethodNotAllowed),
},
Fallback: makeResponse(http.StatusInternalServerError),
}
@@ -58,8 +59,9 @@ func StatusInterceptor(contentType string, body func(code int, text string) ([]b
// Common errors accepted by all httpx handlers
var (
- ErrNotFound = errors.New("httpx: Not Found")
- ErrForbidden = errors.New("httpx: Forbidden")
+ ErrNotFound = errors.New("httpx: Not Found")
+ ErrForbidden = errors.New("httpx: Forbidden")
+ ErrMethodNotAllowed = errors.New("httpx: Method Not Allowed")
)
var (
diff --git a/pkg/httpx/redirect.go b/pkg/httpx/redirect.go
index b5090b1..8422eb9 100644
--- a/pkg/httpx/redirect.go
+++ b/pkg/httpx/redirect.go
@@ -2,6 +2,7 @@ package httpx
import (
"net/http"
+ "text/template"
)
// RedirectHandler represents a handler that redirects the user to the address returned
@@ -20,3 +21,29 @@ func (rh RedirectHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// do the redirect
http.Redirect(w, r, url, code)
}
+
+type ClientSideRedirect func(r *http.Request) (string, error)
+
+var htmlTemplate = template.Must(template.New("").Parse(`
+
+
+Redirecting
+
+You should be redirected to {{ . }}
+`))
+
+// ServeHTTP calls r(r) and returns json
+func (rh ClientSideRedirect) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+ // call the function
+ url, err := rh(r)
+
+ // intercept the errors
+ if htmlInterceptor.Intercept(w, r, err) {
+ return
+ }
+
+ // write out the response as json
+ w.Header().Set("Content-Type", "text/html")
+ w.WriteHeader(http.StatusOK)
+ htmlTemplate.Execute(w, url)
+}