wibrfake-brk 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.dockerignore +48 -0
- data/.gitattributes +19 -0
- data/.github/dependabot.yml +12 -0
- data/.github/workflows/ci.yml +90 -0
- data/.rubocop.yml +8 -0
- data/.ruby-version +1 -0
- data/Dockerfile +69 -0
- data/Gemfile +68 -0
- data/README.md +188 -0
- data/Rakefile +6 -0
- data/app/assets/config/manifest.js +5 -0
- data/app/assets/images/.keep +0 -0
- data/app/assets/images/2024-12-30-07:58:34-screenshot.png +0 -0
- data/app/assets/images/facebook/facebook-logo.svg +3 -0
- data/app/assets/images/google/googlelogo_color_272x92dp.png +0 -0
- data/app/assets/images/instagram/app-store.png +0 -0
- data/app/assets/images/instagram/google-play.png +0 -0
- data/app/assets/images/instagram/instagram-logo.png +0 -0
- data/app/assets/images/instagram/screenshot1.png +0 -0
- data/app/assets/images/instagram/screenshot2.png +0 -0
- data/app/assets/images/instagram/screenshot3.png +0 -0
- data/app/assets/images/instagram/screenshot4.png +0 -0
- data/app/assets/images/nauta_etecsa/CUBADEBATE.jpg +0 -0
- data/app/assets/images/nauta_etecsa/CUBAEDUCA.jpg +0 -0
- data/app/assets/images/nauta_etecsa/CUBARTE.jpg +0 -0
- data/app/assets/images/nauta_etecsa/CUBASI.jpg +0 -0
- data/app/assets/images/nauta_etecsa/ECURED.jpg +0 -0
- data/app/assets/images/nauta_etecsa/OFERTAS.jpg +0 -0
- data/app/assets/images/nauta_etecsa/PAPELETA.jpg +0 -0
- data/app/assets/images/nauta_etecsa/contenedor_bg.jpg +0 -0
- data/app/assets/images/nauta_etecsa/etecsa.jpg +0 -0
- data/app/assets/images/nauta_etecsa/nauta_wifi.jpg +0 -0
- data/app/assets/images/nauta_hogar/CUBADEBATE.jpg +0 -0
- data/app/assets/images/nauta_hogar/CUBAEDUCA.jpg +0 -0
- data/app/assets/images/nauta_hogar/CUBARTE.jpg +0 -0
- data/app/assets/images/nauta_hogar/CUBASI.jpg +0 -0
- data/app/assets/images/nauta_hogar/ECURED.jpg +0 -0
- data/app/assets/images/nauta_hogar/OFERTAS.jpg +0 -0
- data/app/assets/images/nauta_hogar/PAPELETA.jpg +0 -0
- data/app/assets/images/nauta_hogar/banner_hogar.png +0 -0
- data/app/assets/images/wibrfake/Breaker-Wallpaper1.jpg +0 -0
- data/app/assets/images/wibrfake/mac-list-parameter.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-100x100.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-32x32.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-48x48.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-apfake-on.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-apfake-set-basic.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-apfake-show.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-help.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-hostpot.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-init.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-init2.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-login-basic.jpg +0 -0
- data/app/assets/images/wibrfake/wibrfake-mac-list.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-mac-ramset-oui.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-mac-ramset.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-mac-set.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-mac-show.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-need-signin.jpg +0 -0
- data/app/assets/images/wibrfake/wibrfake-session-active.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-session-init.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-session-list.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-session-new.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-session-rename.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-session-save.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-web-server-apfake.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-web-server-on.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-web-server-show.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-wkdump-loaded.png +0 -0
- data/app/assets/images/wibrfake/wibrfake-wkdump.png +0 -0
- data/app/assets/images/wibrfake/wibrfake.png +0 -0
- data/app/assets/stylesheets/application.css +15 -0
- data/app/assets/stylesheets/basic/page_basic.css +0 -0
- data/app/assets/stylesheets/facebook/page_facebook.css +93 -0
- data/app/assets/stylesheets/google/page_google.css +137 -0
- data/app/assets/stylesheets/instagram/page_instagram.css +94 -0
- data/app/assets/stylesheets/nauta_etecsa/page_nauta.css +325 -0
- data/app/assets/stylesheets/nauta_hogar/page_nauta.css +469 -0
- data/app/assets/stylesheets/wibrfake/page_wibrfake.css +1181 -0
- data/app/assets/stylesheets/wibrfake/page_wibrfake_about.css +486 -0
- data/app/channels/application_cable/channel.rb +4 -0
- data/app/channels/application_cable/connection.rb +4 -0
- data/app/controllers/application_controller.rb +15 -0
- data/app/controllers/concerns/.keep +0 -0
- data/app/controllers/sessions_controller.rb +111 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/helpers/sessions_helper.rb +2 -0
- data/app/javascript/application.js +3 -0
- data/app/javascript/bootstrap.bundle.min.js +7 -0
- data/app/javascript/controllers/application.js +9 -0
- data/app/javascript/controllers/hello_controller.js +7 -0
- data/app/javascript/controllers/index.js +4 -0
- data/app/javascript/google/page_google.js +50 -0
- data/app/javascript/incorrect3.js +29 -0
- data/app/javascript/page_wibrfake.js +50 -0
- data/app/javascript/page_wibrfake_about.js +147 -0
- data/app/jobs/application_job.rb +7 -0
- data/app/mailers/application_mailer.rb +4 -0
- data/app/models/application_record.rb +3 -0
- data/app/models/concerns/.keep +0 -0
- data/app/models/user.rb +6 -0
- data/app/views/layouts/application.html.erb +33 -0
- data/app/views/layouts/mailer.html.erb +13 -0
- data/app/views/layouts/mailer.text.erb +1 -0
- data/app/views/pwa/manifest.json.erb +22 -0
- data/app/views/pwa/service-worker.js +26 -0
- data/app/views/sessions/basic/basic.html.erb +21 -0
- data/app/views/sessions/facebook/facebook.html.erb +132 -0
- data/app/views/sessions/google/google.html.erb +72 -0
- data/app/views/sessions/index.html.erb +11 -0
- data/app/views/sessions/instagram/instagram.html.erb +69 -0
- data/app/views/sessions/nauta_etecsa/nauta_etecsa.html.erb +97 -0
- data/app/views/sessions/nauta_hogar/nauta_hogar.html.erb +135 -0
- data/app/views/sessions/wibrfake/about/about.html.erb +164 -0
- data/app/views/sessions/wibrfake/wibrfake.html.erb +417 -0
- data/bin/.names.rb.swp +0 -0
- data/bin/brakeman +7 -0
- data/bin/bundle +114 -0
- data/bin/docker-entrypoint +13 -0
- data/bin/google.wkdump +3 -0
- data/bin/importmap +4 -0
- data/bin/rails +4 -0
- data/bin/rake +4 -0
- data/bin/rubocop +8 -0
- data/bin/setup +37 -0
- data/bin/wibrfake +20 -0
- data/config/application.rb +26 -0
- data/config/boot.rb +4 -0
- data/config/cable.yml +10 -0
- data/config/credentials.yml.enc +1 -0
- data/config/database.yml +16 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +85 -0
- data/config/environments/production.rb +105 -0
- data/config/environments/test.rb +67 -0
- data/config/icons/application-x-wkdump.xml +13 -0
- data/config/icons/hicolor/16x16/mimetypes/application-x-wkdump.png +0 -0
- data/config/icons/hicolor/32x32/mimetypes/application-x-wkdump.png +0 -0
- data/config/icons/hicolor/48x48/mimetypes/application-x-wkdump.png +0 -0
- data/config/icons/hicolor/icon-theme.cache +0 -0
- data/config/icons/hicolor/index.theme +20 -0
- data/config/icons/wkdump.desktop +5 -0
- data/config/importmap.rb +7 -0
- data/config/initializers/assets.rb +12 -0
- data/config/initializers/content_security_policy.rb +25 -0
- data/config/initializers/devise.rb +313 -0
- data/config/initializers/filter_parameter_logging.rb +8 -0
- data/config/initializers/inflections.rb +16 -0
- data/config/initializers/permissions_policy.rb +13 -0
- data/config/locales/devise.en.yml +65 -0
- data/config/locales/en.yml +31 -0
- data/config/puma.rb +35 -0
- data/config/routes.rb +12 -0
- data/config/storage.yml +34 -0
- data/config.ru +6 -0
- data/db/development.sqlite3 +0 -0
- data/db/schema.rb +14 -0
- data/ext/wibrfake/extconf.rb +3 -0
- data/ext/wibrfake/wibrfake.h +0 -0
- data/images/ouilist.png +0 -0
- data/images/wibrfakehelp.png +0 -0
- data/images/wibrfakeinit.png +0 -0
- data/lib/assets/.keep +0 -0
- data/lib/tasks/.keep +0 -0
- data/lib/wibrfake/Config/ipaddr.rb +71 -0
- data/lib/wibrfake/Config/options.rb +98 -0
- data/lib/wibrfake/Config/security_wpa.rb +43 -0
- data/lib/wibrfake/DataBase/howuis.db +0 -0
- data/lib/wibrfake/DataBase/ouis.db +0 -0
- data/lib/wibrfake/DataBase/ouis.rb +24 -0
- data/lib/wibrfake/DataBase/rename.rb +15 -0
- data/lib/wibrfake/DataBase/show.rb +18 -0
- data/lib/wibrfake/Dnsmasq/dhcp.rb +149 -0
- data/lib/wibrfake/Dnsmasq/dhcp_prueba.rb +135 -0
- data/lib/wibrfake/Dnsmasq/dns.rb +34 -0
- data/lib/wibrfake/Dnsmasq/dns_prueba.rb +36 -0
- data/lib/wibrfake/Dnsmasq/dnsmasq.rb +33 -0
- data/lib/wibrfake/Listing/apfake.rb +28 -0
- data/lib/wibrfake/Listing/clients.rb +76 -0
- data/lib/wibrfake/Listing/ouis.rb +53 -0
- data/lib/wibrfake/Listing/process.rb +14 -0
- data/lib/wibrfake/Listing/sessions.rb +47 -0
- data/lib/wibrfake/Listing/web_server.rb +17 -0
- data/lib/wibrfake/Listing/wireless.rb +30 -0
- data/lib/wibrfake/Logs/credentials.log +59 -0
- data/lib/wibrfake/NetworkInterface/ip-routing.rb +99 -0
- data/lib/wibrfake/NetworkInterface/mac.rb +114 -0
- data/lib/wibrfake/NetworkInterface/monitor.rb +44 -0
- data/lib/wibrfake/NetworkInterface/ouis.db +0 -0
- data/lib/wibrfake/Process/id.rb +11 -0
- data/lib/wibrfake/Process/pids.log +5 -0
- data/lib/wibrfake/Process/pkill.rb +124 -0
- data/lib/wibrfake/Process/processes.rb +76 -0
- data/lib/wibrfake/Rails/login.rb +20 -0
- data/lib/wibrfake/Rails/routes.rb +76 -0
- data/lib/wibrfake/Rails/service.rb +58 -0
- data/lib/wibrfake/Rails/service_usage.rb +46 -0
- data/lib/wibrfake/Sessions/session.rb +188 -0
- data/lib/wibrfake/String/string.rb +109 -0
- data/lib/wibrfake/Tmp/config.yml +1 -0
- data/lib/wibrfake/config.rb +24 -0
- data/lib/wibrfake/help.rb +107 -0
- data/lib/wibrfake/optionpr.rb +68 -0
- data/lib/wibrfake/run.rb +9 -0
- data/lib/wibrfake/ty/apld.rb +110 -0
- data/lib/wibrfake/ty/prompt/answers_collector.rb +78 -0
- data/lib/wibrfake/ty/prompt/block_paginator.rb +59 -0
- data/lib/wibrfake/ty/prompt/choice.rb +147 -0
- data/lib/wibrfake/ty/prompt/choices.rb +129 -0
- data/lib/wibrfake/ty/prompt/confirm_question.rb +158 -0
- data/lib/wibrfake/ty/prompt/const.rb +17 -0
- data/lib/wibrfake/ty/prompt/converter_dsl.rb +21 -0
- data/lib/wibrfake/ty/prompt/converter_registry.rb +69 -0
- data/lib/wibrfake/ty/prompt/converters.rb +182 -0
- data/lib/wibrfake/ty/prompt/distance.rb +49 -0
- data/lib/wibrfake/ty/prompt/enum_list.rb +433 -0
- data/lib/wibrfake/ty/prompt/errors.rb +31 -0
- data/lib/wibrfake/ty/prompt/evaluator.rb +29 -0
- data/lib/wibrfake/ty/prompt/expander.rb +321 -0
- data/lib/wibrfake/ty/prompt/keypress.rb +98 -0
- data/lib/wibrfake/ty/prompt/list.rb +589 -0
- data/lib/wibrfake/ty/prompt/mask_question.rb +96 -0
- data/lib/wibrfake/ty/prompt/multi_list.rb +224 -0
- data/lib/wibrfake/ty/prompt/multiline.rb +72 -0
- data/lib/wibrfake/ty/prompt/paginator.rb +111 -0
- data/lib/wibrfake/ty/prompt/question/checks.rb +105 -0
- data/lib/wibrfake/ty/prompt/question/modifier.rb +96 -0
- data/lib/wibrfake/ty/prompt/question/validation.rb +72 -0
- data/lib/wibrfake/ty/prompt/question.rb +391 -0
- data/lib/wibrfake/ty/prompt/result.rb +42 -0
- data/lib/wibrfake/ty/prompt/selected_choices.rb +77 -0
- data/lib/wibrfake/ty/prompt/slider.rb +286 -0
- data/lib/wibrfake/ty/prompt/statement.rb +55 -0
- data/lib/wibrfake/ty/prompt/suggestion.rb +113 -0
- data/lib/wibrfake/ty/prompt/symbols.rb +89 -0
- data/lib/wibrfake/ty/prompt/test.rb +36 -0
- data/lib/wibrfake/ty/prompt/timer.rb +75 -0
- data/lib/wibrfake/ty/prompt/utils.rb +42 -0
- data/lib/wibrfake/ty/prompt/version.rb +7 -0
- data/lib/wibrfake/ty/prompt.rb +589 -0
- data/lib/wibrfake/version.rb +5 -0
- data/lib/wibrfake/wibrfake_cli.rb +683 -0
- data/log/.keep +0 -0
- data/pruebas/daemon1.pid +1 -0
- data/pruebas/daemon2.pid +1 -0
- data/pruebas/daemons.rb +44 -0
- data/public/404.html +67 -0
- data/public/406-unsupported-browser.html +66 -0
- data/public/422.html +67 -0
- data/public/500.html +66 -0
- data/public/icon.png +0 -0
- data/public/icon.svg +3 -0
- data/public/robots.txt +1 -0
- data/storage/.keep +0 -0
- data/test/application_system_test_case.rb +5 -0
- data/test/channels/application_cable/connection_test.rb +13 -0
- data/test/controllers/.keep +0 -0
- data/test/controllers/sessions_controller_test.rb +7 -0
- data/test/fixtures/files/.keep +0 -0
- data/test/fixtures/users.yml +11 -0
- data/test/helpers/.keep +0 -0
- data/test/integration/.keep +0 -0
- data/test/mailers/.keep +0 -0
- data/test/models/.keep +0 -0
- data/test/models/user_test.rb +7 -0
- data/test/system/.keep +0 -0
- data/test/test_helper.rb +15 -0
- data/tmp/.keep +0 -0
- data/tmp/pids/.keep +0 -0
- data/tmp/storage/.keep +0 -0
- data/vendor/.keep +0 -0
- data/vendor/javascript/.keep +0 -0
- data/wibrfake.gemspec +49 -0
- metadata +743 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 62f8bbbb413d7a3b636f9763f2ddb4771a71df0531f6a4911baf937a66b26a0e
|
4
|
+
data.tar.gz: 41dbcf7625734422ac37cd3e753b45a6fab2a37a070abf32fffa1ad17b2a3ecc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 847413668af20317588bb3ca8bf7a0b9808bf9bc32a2dd6c0627edb6499b77526769dcb914ecb952ba614587083efe37842f0a77d4c9af4dda0b7b0f87ec782a
|
7
|
+
data.tar.gz: bbb9ef2daa08bd95494a7d39b6618175b46cbba7a969220bddecc28e4b4d24812a899ef728e65366076517df960e058d4bae938dac48dee363c5f5883afa0a99
|
data/.dockerignore
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# See https://docs.docker.com/engine/reference/builder/#dockerignore-file for more about ignoring files.
|
2
|
+
|
3
|
+
# Ignore git directory.
|
4
|
+
/.git/
|
5
|
+
/.gitignore
|
6
|
+
|
7
|
+
# Ignore bundler config.
|
8
|
+
/.bundle
|
9
|
+
|
10
|
+
# Ignore all environment files (except templates).
|
11
|
+
/.env*
|
12
|
+
!/.env*.erb
|
13
|
+
|
14
|
+
# Ignore all default key files.
|
15
|
+
/config/master.key
|
16
|
+
/config/credentials/*.key
|
17
|
+
|
18
|
+
# Ignore all logfiles and tempfiles.
|
19
|
+
/log/*
|
20
|
+
/tmp/*
|
21
|
+
!/log/.keep
|
22
|
+
!/tmp/.keep
|
23
|
+
|
24
|
+
# Ignore pidfiles, but keep the directory.
|
25
|
+
/tmp/pids/*
|
26
|
+
!/tmp/pids/.keep
|
27
|
+
|
28
|
+
# Ignore storage (uploaded files in development and any SQLite databases).
|
29
|
+
/storage/*
|
30
|
+
!/storage/.keep
|
31
|
+
/tmp/storage/*
|
32
|
+
!/tmp/storage/.keep
|
33
|
+
|
34
|
+
# Ignore assets.
|
35
|
+
/node_modules/
|
36
|
+
/app/assets/builds/*
|
37
|
+
!/app/assets/builds/.keep
|
38
|
+
/public/assets
|
39
|
+
|
40
|
+
# Ignore CI service files.
|
41
|
+
/.github
|
42
|
+
|
43
|
+
# Ignore development files
|
44
|
+
/.devcontainer
|
45
|
+
|
46
|
+
# Ignore Docker-related files
|
47
|
+
/.dockerignore
|
48
|
+
/Dockerfile*
|
data/.gitattributes
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# See https://git-scm.com/docs/gitattributes for more about git attribute files.
|
2
|
+
|
3
|
+
# Mark the database schema as having been generated.
|
4
|
+
db/schema.rb linguist-generated
|
5
|
+
|
6
|
+
# Mark any vendored files as having been vendored.
|
7
|
+
vendor/* linguist-vendored
|
8
|
+
config/credentials/*.yml.enc diff=rails_credentials
|
9
|
+
config/credentials.yml.enc diff=rails_credentials
|
10
|
+
# Clasificar archivos ERB como Ruby (vistas de Rails)
|
11
|
+
*.html.erb linguist-language=Ruby
|
12
|
+
*.erb linguist-language=Ruby
|
13
|
+
|
14
|
+
# Excluir directorios con archivos estáticos (opcional)
|
15
|
+
/public/* linguist-vendored
|
16
|
+
/assets/* linguist-vendored
|
17
|
+
|
18
|
+
# Si tienes otros archivos HTML no relevantes, márcalos como documentación
|
19
|
+
*.html linguist-documentation
|
@@ -0,0 +1,90 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
push:
|
6
|
+
branches: [ main ]
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
scan_ruby:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
|
12
|
+
steps:
|
13
|
+
- name: Checkout code
|
14
|
+
uses: actions/checkout@v4
|
15
|
+
|
16
|
+
- name: Set up Ruby
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: .ruby-version
|
20
|
+
bundler-cache: true
|
21
|
+
|
22
|
+
- name: Scan for common Rails security vulnerabilities using static analysis
|
23
|
+
run: bin/brakeman --no-pager
|
24
|
+
|
25
|
+
scan_js:
|
26
|
+
runs-on: ubuntu-latest
|
27
|
+
|
28
|
+
steps:
|
29
|
+
- name: Checkout code
|
30
|
+
uses: actions/checkout@v4
|
31
|
+
|
32
|
+
- name: Set up Ruby
|
33
|
+
uses: ruby/setup-ruby@v1
|
34
|
+
with:
|
35
|
+
ruby-version: .ruby-version
|
36
|
+
bundler-cache: true
|
37
|
+
|
38
|
+
- name: Scan for security vulnerabilities in JavaScript dependencies
|
39
|
+
run: bin/importmap audit
|
40
|
+
|
41
|
+
lint:
|
42
|
+
runs-on: ubuntu-latest
|
43
|
+
steps:
|
44
|
+
- name: Checkout code
|
45
|
+
uses: actions/checkout@v4
|
46
|
+
|
47
|
+
- name: Set up Ruby
|
48
|
+
uses: ruby/setup-ruby@v1
|
49
|
+
with:
|
50
|
+
ruby-version: .ruby-version
|
51
|
+
bundler-cache: true
|
52
|
+
|
53
|
+
- name: Lint code for consistent style
|
54
|
+
run: bin/rubocop -f github
|
55
|
+
|
56
|
+
test:
|
57
|
+
runs-on: ubuntu-latest
|
58
|
+
|
59
|
+
# services:
|
60
|
+
# redis:
|
61
|
+
# image: redis
|
62
|
+
# ports:
|
63
|
+
# - 6379:6379
|
64
|
+
# options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
|
65
|
+
steps:
|
66
|
+
- name: Install packages
|
67
|
+
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y google-chrome-stable curl libjemalloc2 libvips sqlite3
|
68
|
+
|
69
|
+
- name: Checkout code
|
70
|
+
uses: actions/checkout@v4
|
71
|
+
|
72
|
+
- name: Set up Ruby
|
73
|
+
uses: ruby/setup-ruby@v1
|
74
|
+
with:
|
75
|
+
ruby-version: .ruby-version
|
76
|
+
bundler-cache: true
|
77
|
+
|
78
|
+
- name: Run tests
|
79
|
+
env:
|
80
|
+
RAILS_ENV: test
|
81
|
+
# REDIS_URL: redis://localhost:6379/0
|
82
|
+
run: bin/rails db:test:prepare test test:system
|
83
|
+
|
84
|
+
- name: Keep screenshots from failed system tests
|
85
|
+
uses: actions/upload-artifact@v4
|
86
|
+
if: failure()
|
87
|
+
with:
|
88
|
+
name: screenshots
|
89
|
+
path: ${{ github.workspace }}/tmp/screenshots
|
90
|
+
if-no-files-found: ignore
|
data/.rubocop.yml
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-3.1.2
|
data/Dockerfile
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# syntax = docker/dockerfile:1
|
2
|
+
|
3
|
+
# This Dockerfile is designed for production, not development. Use with Kamal or build'n'run by hand:
|
4
|
+
# docker build -t my-app .
|
5
|
+
# docker run -d -p 80:80 -p 443:443 --name my-app -e RAILS_MASTER_KEY=<value from config/master.key> my-app
|
6
|
+
|
7
|
+
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version
|
8
|
+
ARG RUBY_VERSION=3.1.2
|
9
|
+
FROM docker.io/library/ruby:$RUBY_VERSION-slim AS base
|
10
|
+
|
11
|
+
# Rails app lives here
|
12
|
+
WORKDIR /rails
|
13
|
+
|
14
|
+
# Install base packages
|
15
|
+
RUN apt-get update -qq && \
|
16
|
+
apt-get install --no-install-recommends -y curl libjemalloc2 libvips sqlite3 && \
|
17
|
+
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
18
|
+
|
19
|
+
# Set production environment
|
20
|
+
ENV RAILS_ENV="production" \
|
21
|
+
BUNDLE_DEPLOYMENT="1" \
|
22
|
+
BUNDLE_PATH="/usr/local/bundle" \
|
23
|
+
BUNDLE_WITHOUT="development"
|
24
|
+
|
25
|
+
# Throw-away build stage to reduce size of final image
|
26
|
+
FROM base AS build
|
27
|
+
|
28
|
+
# Install packages needed to build gems
|
29
|
+
RUN apt-get update -qq && \
|
30
|
+
apt-get install --no-install-recommends -y build-essential git pkg-config && \
|
31
|
+
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
32
|
+
|
33
|
+
# Install application gems
|
34
|
+
COPY Gemfile Gemfile.lock ./
|
35
|
+
RUN bundle install && \
|
36
|
+
rm -rf ~/.bundle/ "${BUNDLE_PATH}"/ruby/*/cache "${BUNDLE_PATH}"/ruby/*/bundler/gems/*/.git && \
|
37
|
+
bundle exec bootsnap precompile --gemfile
|
38
|
+
|
39
|
+
# Copy application code
|
40
|
+
COPY . .
|
41
|
+
|
42
|
+
# Precompile bootsnap code for faster boot times
|
43
|
+
RUN bundle exec bootsnap precompile app/ lib/
|
44
|
+
|
45
|
+
# Precompiling assets for production without requiring secret RAILS_MASTER_KEY
|
46
|
+
RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
# Final stage for app image
|
52
|
+
FROM base
|
53
|
+
|
54
|
+
# Copy built artifacts: gems, application
|
55
|
+
COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}"
|
56
|
+
COPY --from=build /rails /rails
|
57
|
+
|
58
|
+
# Run and own only the runtime files as a non-root user for security
|
59
|
+
RUN groupadd --system --gid 1000 rails && \
|
60
|
+
useradd rails --uid 1000 --gid 1000 --create-home --shell /bin/bash && \
|
61
|
+
chown -R rails:rails db log storage tmp
|
62
|
+
USER 1000:1000
|
63
|
+
|
64
|
+
# Entrypoint prepares the database.
|
65
|
+
ENTRYPOINT ["/rails/bin/docker-entrypoint"]
|
66
|
+
|
67
|
+
# Start the server by default, this can be overwritten at runtime
|
68
|
+
EXPOSE 3000
|
69
|
+
CMD ["./bin/rails", "server"]
|
data/Gemfile
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
gem "devise"
|
4
|
+
gem "tty-reader"
|
5
|
+
gem "tty-cursor"
|
6
|
+
gem "pastel"
|
7
|
+
gem "packetfu"
|
8
|
+
gem "webrick"
|
9
|
+
#gem "devise"
|
10
|
+
gem "nio4r", ">= 0"
|
11
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
12
|
+
gem "rails", "~> 7.2.2", ">= 7.2.2.1"
|
13
|
+
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
|
14
|
+
gem "sprockets-rails"
|
15
|
+
# Use sqlite3 as the database for Active Record
|
16
|
+
gem "sqlite3"
|
17
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
18
|
+
gem "puma", ">= 5.0"
|
19
|
+
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
|
20
|
+
gem "importmap-rails"
|
21
|
+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
22
|
+
gem "turbo-rails"
|
23
|
+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
24
|
+
gem "stimulus-rails"
|
25
|
+
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
26
|
+
gem "jbuilder"
|
27
|
+
# Use Redis adapter to run Action Cable in production
|
28
|
+
# gem "redis", ">= 4.0.1"
|
29
|
+
|
30
|
+
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
|
31
|
+
# gem "kredis"
|
32
|
+
|
33
|
+
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
34
|
+
# gem "bcrypt", "~> 3.1.7"
|
35
|
+
|
36
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
37
|
+
gem "tzinfo-data", platforms: %i[ mswin mswin64 mingw x64_mingw jruby ]
|
38
|
+
|
39
|
+
# Reduces boot times through caching; required in config/boot.rb
|
40
|
+
gem "bootsnap", require: false
|
41
|
+
|
42
|
+
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
43
|
+
# gem "image_processing", "~> 1.2"
|
44
|
+
|
45
|
+
group :development, :test do
|
46
|
+
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
47
|
+
gem "debug", platforms: %i[ mri mswin mswin64 mingw x64_mingw ], require: "debug/prelude"
|
48
|
+
|
49
|
+
# Static analysis for security vulnerabilities [https://brakemanscanner.org/]
|
50
|
+
gem "brakeman", require: false
|
51
|
+
|
52
|
+
# Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/]
|
53
|
+
gem "rubocop-rails-omakase", require: false
|
54
|
+
end
|
55
|
+
|
56
|
+
group :development do
|
57
|
+
# Use console on exceptions pages [https://github.com/rails/web-console]
|
58
|
+
gem "web-console"
|
59
|
+
|
60
|
+
# Highlight the fine-grained location where an error occurred [https://github.com/ruby/error_highlight]
|
61
|
+
gem "error_highlight", ">= 0.4.0", platforms: [ :ruby ]
|
62
|
+
end
|
63
|
+
|
64
|
+
group :test do
|
65
|
+
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
66
|
+
gem "capybara"
|
67
|
+
gem "selenium-webdriver"
|
68
|
+
end
|
data/README.md
ADDED
@@ -0,0 +1,188 @@
|
|
1
|
+
# WibrFake 🌐🔍
|
2
|
+
|
3
|
+
[](https://github.com/yourusername/wibrfake)
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
5
|
+
[](https://github.com/yourusername/wibrfake)
|
6
|
+
[](CONTRIBUTING.md)
|
7
|
+
|
8
|
+
**Advanced Wi-Fi Security Assessment Framework**
|
9
|
+
*Professional tool for wireless network penetration testing and vulnerability analysis*
|
10
|
+
|
11
|
+
---
|
12
|
+
|
13
|
+
## 📖 Table of Contents
|
14
|
+
- [Key Features](#-key-features)
|
15
|
+
- [Ethical Considerations](#-ethical-considerations)
|
16
|
+
- [Prerequisites](#-prerequisites)
|
17
|
+
- [Installation](#-installation)
|
18
|
+
- [Basic Usage](#-basic-usage)
|
19
|
+
- [Attack Modules](#-attack-modules)
|
20
|
+
- [Captive Portal Templates](#-captive-portal-templates)
|
21
|
+
- [Contributing](#-contributing)
|
22
|
+
- [License](#-license)
|
23
|
+
|
24
|
+
---
|
25
|
+
|
26
|
+
## ✨ Key Features
|
27
|
+
|
28
|
+
### Core Capabilities
|
29
|
+
- **Rogue Access Point Deployment**
|
30
|
+
- Custom SSID configuration
|
31
|
+
- Multiple channel support
|
32
|
+
- Traffic interception & analysis
|
33
|
+
- **Advanced MAC Spoofing**
|
34
|
+
- OUI validation system
|
35
|
+
- Random/preset MAC generation
|
36
|
+
- MAC persistence management
|
37
|
+
- **Session Orchestration**
|
38
|
+
- Parallel attack sessions
|
39
|
+
- State preservation
|
40
|
+
- Configuration versioning
|
41
|
+
|
42
|
+
### Enterprise-Grade Modules
|
43
|
+
| Module | Description |
|
44
|
+
|--------|-------------|
|
45
|
+
| **Evil Twin** | AP cloning with beacon flooding |
|
46
|
+
| **Captive Portal** | Credential harvesting framework |
|
47
|
+
| **WKdump Automation** | YAML-based attack configurations |
|
48
|
+
|
49
|
+
---
|
50
|
+
|
51
|
+
## ⚠ Ethical Considerations
|
52
|
+
|
53
|
+
**This tool must only be used for:**
|
54
|
+
- Authorized security audits
|
55
|
+
- Educational purposes
|
56
|
+
- Ethical penetration testing
|
57
|
+
|
58
|
+
**By using WibrFake, you agree to:**
|
59
|
+
- Comply with all applicable laws
|
60
|
+
- Obtain proper authorization
|
61
|
+
- Respect network privacy
|
62
|
+
- Never engage in malicious activities
|
63
|
+
|
64
|
+
---
|
65
|
+
|
66
|
+
## 🔧 Prerequisites
|
67
|
+
|
68
|
+
### Mandatory Requirements
|
69
|
+
```bash
|
70
|
+
sudo apt-get install -y \
|
71
|
+
hostapd \
|
72
|
+
libpcap-dev \
|
73
|
+
ruby \
|
74
|
+
ruby-full \
|
75
|
+
```
|
76
|
+
|
77
|
+
### Recommended Specifications
|
78
|
+
- Linux
|
79
|
+
- Wireless adapter supporting ap mode
|
80
|
+
- Dual-band Wi-Fi card (2.4GHz/5GHz)
|
81
|
+
- Minimum 2GB RAM
|
82
|
+
|
83
|
+
---
|
84
|
+
|
85
|
+
## 🚀 Installation
|
86
|
+
|
87
|
+
### Standard Setup
|
88
|
+
```bash
|
89
|
+
git clone https://github.com/BreakerTWS/WibrFake.git
|
90
|
+
cd WibrFake
|
91
|
+
sudo bundle install
|
92
|
+
sudo ruby bin/wibrfake --help
|
93
|
+
```
|
94
|
+
|
95
|
+
### RubyGem (Recommended)
|
96
|
+
```bash
|
97
|
+
sudo gem install wibrfake-brk
|
98
|
+
sudo wibrfake --help
|
99
|
+
```
|
100
|
+
|
101
|
+
---
|
102
|
+
# Usage
|
103
|
+
This will launch a web server displaying the complete usage documentation for the wibrfake program:
|
104
|
+
|
105
|
+
```bash
|
106
|
+
sudo wibrfake --usage
|
107
|
+
```
|
108
|
+
## 🕹 Basic Usage
|
109
|
+
|
110
|
+
### Initialization
|
111
|
+
```bash
|
112
|
+
sudo wibrfake --mode cli --iface wlan0
|
113
|
+
```
|
114
|
+
|
115
|
+
### MAC Management
|
116
|
+
```bash
|
117
|
+
# Show current configuration
|
118
|
+
mac status
|
119
|
+
|
120
|
+
#OUIs list
|
121
|
+
mac list
|
122
|
+
|
123
|
+
mac list 10..20
|
124
|
+
|
125
|
+
# Generate random MAC with valid OUI
|
126
|
+
mac ramset b2:fa:91
|
127
|
+
|
128
|
+
# Set specific MAC address
|
129
|
+
mac set 00:11:22:33:44:55
|
130
|
+
```
|
131
|
+
|
132
|
+
---
|
133
|
+
|
134
|
+
## ⚡ Attack Modules
|
135
|
+
|
136
|
+
### Rogue AP Deployment
|
137
|
+
```bash
|
138
|
+
set ssid Wifi_Free
|
139
|
+
apfake on
|
140
|
+
```
|
141
|
+
|
142
|
+
### Evil Twin Attack
|
143
|
+
```bash
|
144
|
+
Continue...
|
145
|
+
```
|
146
|
+
|
147
|
+
---
|
148
|
+
|
149
|
+
## 🔐 Captive Portal Templates
|
150
|
+
|
151
|
+
WibrFake supports enterprise-grade phishing templates:
|
152
|
+
|
153
|
+
| Template | Description | Authentication Methods |
|
154
|
+
|----------|-------------|-------------------------|
|
155
|
+
| **Basic Login** | Generic credential form | Username/Password |
|
156
|
+
| **Nauta Etecsa** | Cuban ISP portal clone | Account Nauta |
|
157
|
+
| **Nauta Hogar** | Residential ISP variant | Account Nauta |
|
158
|
+
| **Google** | Social media clone | OAuth/2FA |
|
159
|
+
| **Facebook** | Social media clone | Email/Phone |
|
160
|
+
| **Instagram** | Social media clone | Social credentials |
|
161
|
+
|
162
|
+
---
|
163
|
+
|
164
|
+
## 🤝 Contributing
|
165
|
+
|
166
|
+
We welcome responsible disclosures and ethical contributions. Please review our:
|
167
|
+
- [Contribution Guidelines](CONTRIBUTING.md)
|
168
|
+
|
169
|
+
---
|
170
|
+
|
171
|
+
## 📜 License
|
172
|
+
|
173
|
+
Distributed under MIT License. See [LICENSE](LICENSE) for full details.
|
174
|
+
|
175
|
+
---
|
176
|
+
|
177
|
+
## 🔒 Security Recommendations
|
178
|
+
|
179
|
+
For optimal security during audits:
|
180
|
+
1. Use dedicated hardware
|
181
|
+
2. Enable VPN tunneling
|
182
|
+
3. Regularly rotate MAC addresses
|
183
|
+
4. Limit attack surface
|
184
|
+
5. Destroy captured data post-audit
|
185
|
+
|
186
|
+
> **Warning**
|
187
|
+
> Unauthorized use of this software violates international laws.
|
188
|
+
> Developers assume no liability for misuse.
|
data/Rakefile
ADDED
File without changes
|
Binary file
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1090" height="360" fill="none" viewBox="0 0 1090 360">
|
2
|
+
<path fill="#0866FF" d="M881.583 257.897h29.48v-47.696l41.137 47.696h36.072l-47.89-54.969 40.909-47.663h-32.825l-37.403 43.93v-96.982l-29.48 3.864v151.82Zm-67.988-105.261c-32.728 0-55.455 22.013-55.455 53.929s22.727 53.929 55.455 53.929c32.727 0 55.455-22.013 55.455-53.929s-22.728-53.929-55.455-53.929Zm0 82.728c-15.163 0-25.552-11.721-25.552-28.799s10.389-28.799 25.552-28.799c15.162 0 25.552 11.721 25.552 28.799s-10.39 28.799-25.552 28.799Zm-119.807-82.728c-32.727 0-55.455 22.013-55.455 53.929s22.728 53.929 55.455 53.929c32.728 0 55.455-22.013 55.455-53.929s-22.727-53.929-55.455-53.929Zm0 82.728c-15.162 0-25.552-11.721-25.552-28.799s10.39-28.799 25.552-28.799c15.163 0 25.552 11.721 25.552 28.799s-10.389 28.799-25.552 28.799Zm-112.826-82.728c-13.636 0-24.935 5.357-32.013 15.162v-65.585l-29.513 3.831v151.82h26.169l.519-15.844c6.981 11.818 19.481 18.474 34.838 18.474 27.988 0 48.475-22.728 48.475-53.929 0-31.202-20.39-53.929-48.475-53.929Zm-6.98 82.728c-15.163 0-25.552-11.721-25.552-28.799s10.389-28.799 25.552-28.799c15.162 0 25.552 11.721 25.552 28.799s-10.39 28.799-25.552 28.799Zm-113.638 1.331c-15.649 0-26.883-7.273-30.714-19.805h72.63c.715-3.831 1.202-8.377 1.202-11.429 0-33.02-18.475-52.825-49.514-52.825-31.331 0-53.02 22.013-53.02 53.929 0 32.338 22.728 53.929 56.462 53.929 17.467 0 34.448-5.844 45.065-15.552l-10.617-18.701c-10.292 7.11-20.39 10.454-31.494 10.454Zm-6.591-61.137c13.637 0 22.338 8.279 22.338 21.104v.098h-47.078c2.825-13.604 11.623-21.202 24.74-21.202Zm-98.994 84.968c15.26 0 30.195-5.844 40.714-15.974l-11.526-19.383c-8.182 6.364-17.467 9.805-26.266 9.805-16.364 0-27.273-11.429-27.273-28.377s10.909-28.377 27.273-28.377c8.084 0 16.883 2.922 24.026 8.085l11.721-19.806c-9.481-8.571-24.156-13.831-38.702-13.831-32.013 0-54.643 22.338-54.643 53.929.032 31.494 22.662 53.929 54.676 53.929Zm-93.735-105.261-.519 15.975c-6.981-11.916-19.481-18.572-34.838-18.572-28.085 0-48.475 22.728-48.475 53.929 0 31.202 20.52 53.929 48.475 53.929 15.357 0 27.889-6.656 34.838-18.474l.519 15.844h26.169V155.265h-26.169Zm-28.377 80.099c-15.162 0-25.552-11.721-25.552-28.799s10.39-28.799 25.552-28.799c15.163 0 25.552 11.721 25.552 28.799s-10.422 28.799-25.552 28.799Zm-57.663-79.906h-26.526v-8.767c0-13.117 5.13-18.149 18.442-18.149 4.123 0 7.467.097 9.383.292v-22.5c-3.637-1.007-12.5-2.013-17.63-2.013-27.111 0-39.611 12.792-39.611 40.422v10.682h-16.753v24.806h16.753v77.631h29.448v-77.599h21.949l4.545-24.805Z"/>
|
3
|
+
</svg>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|