Commit Graph

141 Commits

Author SHA1 Message Date
Pablo
6c0f3c27aa
raw: creating first translation for pt-br captive portal 2026-04-28 07:15:10 -03:00
Pablo
5df7c42933
raw: improving pt-br translation for Handshake 2026-04-28 07:15:09 -03:00
strasharo
bcd879bce8 Fix interface deallocation leaks, add --band flag, remove deauth-ng.py, rewrite diagnostics
- Fix interface deallocation leaks in Handshake Snooper jammer,
  Captive Portal jammer/AP, and tracker unset functions that caused
  auto mode to exhaust all USB adapters on retry
- Fix auto mode selecting Captive Portal instead of Handshake Snooper
  (alphabetical ordering issue)
- Add --band flag (bg/a/abg) for explicit band selection in auto and
  scan-only modes, passed directly to airodump-ng
- Fix scan-only client count double-output (grep -c exit code + fallback)
- Fix scan-only readarray missing -t flag (trailing newlines)
- Remove --5ghz flag and deauth-ng.py — mdk4 handles all deauth needs
- Add fluxion_status() for machine-readable progress (LLM/CI consumption)
- Rewrite scripts/diagnostics.sh with comprehensive system, dependency,
  wireless interface, AppArmor, iptables, and lighttpd checks
- Bump revision to 6.27
2026-03-16 11:54:59 +02:00
strasharo
b0b4f5b4ee Close arbiter log viewer automatically on handshake capture success
The main window already shows success feedback, so the log viewer window
is no longer needed once a valid handshake is found.
2026-02-22 13:32:13 +02:00
strasharo
462a2120e4 Fix stale log content showing on second Handshake Snooper run
Truncate the log file before opening the tail -f viewer window. Previously
the viewer opened first on a file still containing the previous run's output,
then the arbiter truncated it, causing tail to print "file truncated" and
display stale entries at the top of every subsequent run.
2026-02-21 14:34:40 +02:00
strasharo
cdacff38e1 Fix load_attack config corruption, allow --list-interfaces without root
- Replace more with direct redirection in load_attack (Handshake Snooper
  and Captive Portal): more adds 3 header lines when stdout is a pipe,
  shifting all config array indices by +3 and corrupting the deauth method,
  jammer interface, and verifier settings on second and subsequent runs
- Apply the same fix to fluxion_handle_target_change, which read
  target_info.txt through more causing MAC/SSID/channel corruption on
  tracker-triggered restarts
- Allow --list-interfaces to run without root: all operations are read-only
  sysfs/lsusb/lspci/iw queries that need no elevated privileges
- Skip preferences file load/create when not root to avoid permission errors
  on the root-owned preferences.conf
2026-02-21 14:15:33 +02:00
strasharo
079f4988a5 Add --reg-domain flag, fix 5GHz AP reg domain, fix tmux scanner/success UX
- Add --reg-domain <CC> CLI option to override the wireless regulatory
  domain used when starting the rogue AP on 5GHz channels; defaults to US
- Fix hostapd and airbase-ng using country BO (which blocks UNII-1/ch36-48);
  both AP services now use US by default via ${FLUXIONRegDomain:-US}
- Fix tmux foreground windows: use trap EXIT to write the done file so
  Ctrl+C on a scanner window no longer leaves the main window stuck
- Fix tmux scanner window not refocusing the main pane after closing,
  requiring the user to press a key to see the target list
- Fix chrome/printf ordering bug that left cmdScript non-executable
- Handshake Snooper: write handshake_success.flag on arbiter completion
  so the main window polling loop can show an inline success notice
- Captive Portal: stop all attack services immediately on credential
  capture and display credentials inline in the main window
- Bump revision to 6.22
2026-02-20 12:47:05 +02:00
strasharo
dce51105c8 Add band/bus columns, --ap-service/--timeout flags, fix exit hang
- Interface dialogs and --list-interfaces now show band (2.4GHz/5GHz)
  and bus type (usb/pci) columns; band options in scanner filtered to
  what the selected interface actually supports
- DFS channels (52-64, 100-144) marked with ! in target list
- Add --ap-service flag to override AP service selection
- Add --timeout flag for auto mode (minutes; default infinite)
- Fix exit hang: replace blocking service --status-all with
  background timeout systemctl try-restart systemd-resolved
- Allow --help and --version without root
- Captive Portal: auto-select airbase-ng on DFS channels; fix
  deauth-ng.py absolute path; suppress harmless route addr error;
  abort if ap_service_start fails; pause/resume support
- airbase-ng: two-phase wait for at0 existence then UP state;
  set permissive regulatory domain for 5GHz channels
- hostapd: set regulatory domain for 5GHz; generate unique config
  filename per MAC to avoid stale config collisions
- Handshake Snooper: fix jammer interface name from scan list
- InstallerUtils: suppress touch permission error without root
- scripts/cleanup.sh: restore interface name after MAC spoof on cleanup
- Bump revision to 6.21
2026-02-19 12:03:54 +02:00
strasharo
e589606a6d Fix Handshake Snooper jammer interface name when selected from scan list
After the scanner renames wlx* → fluxwl*, the interface picker shows the
fluxwl* name. When selected, FluxionInterfaces[fluxwl*] returns the original
hw name (reverse mapping), which no longer exists — causing airodump-ng to
exit immediately with no capture window.

Fix: detect when the selected interface is already a fluxwl* name and use it
directly, skipping fluxion_allocate_interface. Update the Original var to the
hw name so attack.conf saves correctly.

Bump revision to 6.19.
2026-02-15 20:31:02 +02:00
strasharo
141165219c Add Captive Portal pause/resume and fix hostapd config MAC
- Captive Portal: pause fake AP (hostapd + jammer) when target AP goes
  off-air; resume when it reappears. DHCP, DNS, and lighttpd remain up
  throughout. Activated by --tracker-interface. Closes #612.
- Fix FluxionTargetRogueMAC not computed when fluxion_target_set returns
  early (confirmed target from saved config), causing hostapd to start
  with a config named -hostapd.conf and immediately fail.
- cleanup.sh: restore ip_forward from saved workspace value before
  wiping /tmp/fluxspace/; fix iptables backup path to FLUXIONPath/iptables-rules.
- Bump revision to 6.18.
2026-02-15 16:55:06 +00:00
strasharo
6006b13ee5 Fix Handshake Snooper jammer interface and auto-mode exit
- Use renamed monitor interface (fluxwl0) in HS jammer, not original name
- Fix auto-mode infinite loop: snapshot arbiter PID before polling loop
  since SIGABRT trap clears HandshakeSnooperArbiterPID via stop_attack
- Default auto-mode deauth method to mdk4 instead of aireplay-ng
- Avoid tmux session name collision on re-launch (FLUXION_$$ fallback)
- Add hostapd startup timeout and dead-window detection in ap_service_start
2026-02-15 12:18:12 +00:00
strasharo
be235eb39c Add --jammer-interface, --ap-interface, --tracker-interface CLI args
Allow explicit per-role interface selection for Captive Portal attacks.
Previously only --interface existed, which only controlled the first
allocation (scanner/jammer). Now each role can be pinned independently:

  --jammer-interface  deauth jammer adapter
  --ap-interface      rogue AP adapter
  --tracker-interface channel-tracker adapter (also enables tracker in auto mode)
2026-02-15 11:21:35 +00:00
strasharo
ce468bcff3 Add tmux/headless mode, auto mode, and captive portal fixes
- Add WindowUtils.sh: xterm/tmux abstraction (fluxion_window_open/close/cleanup/init)
- Convert all xterm calls to fluxion_window_open across fluxion.sh, both attacks, both AP libs
- Add --auto mode: non-interactive, auto-selects language/interface/channel/target/attack
- Add --scan-time CLI arg for auto mode scanner duration
- Add -m flag for headless tmux mode (pre-parsed before X11 checks)
- Disable lighttpd system service on startup to free port 80
- Add iptables/iptables-save/iptables-restore to required dependencies
- Auto-configure AppArmor local override so dhcpd can read /tmp/fluxspace/
- Fix lighttpd PID capture by using -D (foreground) flag with shell backgrounding
- Add pkill fallback in stop_attack for lighttpd cleanup edge cases
- Show success banner with captured password before shutdown on captive portal success
- Add background watcher to detect attack success and unblock io_query_choice
- Fix terminal color bleed: append CClr after choice text in io_query_choice format string
- Fix attack-in-progress menu: reset color after each choice, show input prompt
- Add WindowUtils unit tests (tests/test_window_utils.sh)
- Update HelpUtils with new flags documentation
2026-02-15 05:08:03 +00:00
str
6533721073 Fix multi-interface tracker and improve interface management
This commit resolves issue #1226 by fixing the tracker daemon to properly
handle channel hopping across multiple interfaces and cleaning up debug logging.

Key fixes:
- Prevent interface disruption during tracker restarts by checking monitor mode
  before setting it (only set if not already in monitor mode)
- Fix mdk4/aireplay-ng ARPHRD_IEEE80211 errors by verifying jammer interface
  monitor mode before starting attack services
- Fix airodump-ng "interface down" errors in captor by checking mode first
- Add validation for empty network lists after filtering (handshake detection)
- Improve channel/band parameter handling in airodump-ng scanner
- Make all tracker debug logging conditional on debug mode (no more hardcoded
  /tmp/fluxion_tracker.log file)
- Add proper error handling for timeout exit codes (124, 143)
- Redirect tracker stdin from /dev/null to prevent SIGTTIN in background

Affected files:
- fluxion.sh: Tracker daemon improvements, interface allocation cleanup
- attacks/Handshake Snooper/attack.sh: Monitor mode checks for captor/jammer
- attacks/Captive Portal/attack.sh: Monitor mode checks for jammer

Fixes #1226
2025-12-13 11:29:58 +02:00
str
6973f2a980 Fedora 43 compatibility and mdk3 removal - v6.14
- Replace deprecated iwconfig/wireless-tools with modern iw command
- Add dhcp-server package alternative for Fedora DHCP installation
- Reorder 7zip packages: 7zip-reduced first (Fedora 43 provides 7zr)
- Rename yum.sh to dnf.sh with dnf/yum auto-detection
- Remove mdk3 deauthentication method (EOL) from all languages
- Keep mdk4 as alternative to aireplay-ng for handshake snooping
- Fix mdk4 interface resolution to use physical interface name
- Bump version to 6.14
2025-12-08 19:30:18 +02:00
str
0dde21e986 Remove unnecessary error suppression from ip commands
The 'dev argument required' errors were caused by empty variables in
hostapd.sh, not by the captive portal route commands. Remove the error
suppression added as a workaround since the root cause has been fixed.
2025-12-08 16:03:12 +02:00
str
4247d8e05e Fix interface allocation and cleanup issues
- Fix interface bounce-back: Check physical interfaces in fluxion_next_assignable_interface()
- Fix single interface usage: Correct interface lookup for AP and jamming on same interface
- Fix virtual interface creation: Use proper interface names and add validation
- Fix 'dev argument required' errors: Add quotes and error suppression to ip commands
- Fix virtual interface cleanup: Validate interface exists before deletion
- Update jQuery to 3.7.1 for security
- Add mdk3 jammer support
- Fix AP window termination tracking
- Fix authenticator window handling on success
- Fix web log clearing between attacks
- Fix password validation logic inversion
- Fix interface rename error suppression
2025-12-07 18:36:51 +02:00
str
1d8163f4de Update deauth-ng.py to use Python 3
- Changed shebang from python2 to python3
- Python 2 reached EOL in January 2020
2025-12-07 15:23:45 +02:00
str
33f27d861a Add mdk3 as deauthentication method option in Handshake Snooper
- Added mdk3 as a third aggressive deauthentication option alongside aireplay-ng and mdk4
- Implemented mdk3 blacklist preparation and execution logic in attack.sh
- Updated all 19 language files with HandshakeSnooperMdk3MethodOption
- mdk3 already included in installer dependencies
- Users can now choose between passive monitoring, aireplay-ng, mdk3, or mdk4 for handshake capture
2025-12-07 14:51:13 +02:00
str
4bd891cf4f Fix netlog IP/MAC capture and resolution
- Check actual ip_hits file instead of nonexistent ip_hits.txt
- Resolve client IP/MAC/vendor at authenticator runtime instead of generation time
- Netlog now shows actual client details when available
2025-12-07 04:28:51 +02:00
str
7f48f3d00b Return JSON from portal update endpoint (fixes #1026) 2025-12-07 03:38:05 +02:00
str
0fb7ec3be4 Ensure authenticator window closes on stop unless success 2025-12-07 01:57:05 +02:00
str
dd9efa983f Limit AP interface choices to wireless 2025-12-07 00:57:01 +02:00
str
9599788cc9 Fixes #1038 2025-12-06 21:14:48 +02:00
mohammadrifanmushlih17
ffaf116187 add indonesian language 2023-02-10 06:33:08 +07:00
strasharo
359f848b87 Merge pull request #1119 from mariod8/master
TP-Link router Spanish language support
2023-01-23 12:03:39 +02:00
BuildTools
19d21c9e4d Fixed issue#1116, found hungarian language files weren't set to executable 2022-12-30 10:23:23 +11:00
Jacob Collins
ef2845e61d egrep is obsolescent 2022-12-30 09:53:49 +11:00
mariod8
94eacc2c2c TP-Link router Spanish language support 2022-11-19 16:39:42 +01:00
Nyilas László
c02dd78498 Hungarian (Magyar) language added to fluxion 2022-04-06 15:39:07 +02:00
xpz3
741e7fa012 Close AP authenticator on Fluxion shutdown 2021-06-10 05:43:53 +05:30
averov90
93e0c4e4c1 Captive Portal: added Russian ZyXEL UI 2021-05-06 06:24:15 +03:00
Roy
6e271ae4ce fixed some indentation and capitalization 2021-04-12 16:20:29 +02:00
Roy
692d416084 Added english Siemens captive portal 2021-04-12 16:04:19 +02:00
Rafa
eeb79ff54d Update es.sh 2021-02-12 23:49:18 +01:00
Rafa
994647f6f2 Update es.sh 2021-02-12 23:48:29 +01:00
Rafa
0db76ff813 Update es.sh
Review Translations
2021-02-12 23:38:21 +01:00
Rafa
7cdcb26232 Update es.sh
More Spanish translations
2021-02-12 23:37:18 +01:00
Rafa
2ab3df15a4 Update es.sh
update Spanish translations
2021-02-12 23:30:48 +01:00
Rafa
7dc65351dc Update es.sh
Spanish Translations
2021-02-12 23:27:46 +01:00
Muhammet Emin TURGUT
9e74dc3b36 Zyxel router Turkish language support. 2020-10-22 13:56:12 +03:00
deltaxflux
bd9041564b Fix security vulnerability in jquery < 3.5.0.
Vulnerability:
Jquery below 3.5.0 allows to pass HTML from untrusted sources - even after sanitizing it - to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others) may execute untrusted code.

Fix:
Bump jquery to 3.5.0.
2020-06-16 23:09:34 +02:00
İlyas
f63e6d3b4d proper Turkish language support 2020-05-26 01:23:19 +03:00
İlyas
b247e0f6cc format Turkish sites overall 2020-05-25 23:44:19 +03:00
İlyas
b6a6916983 use utf-8 encoding for Turkish sites 2020-05-25 23:32:31 +03:00
Victor
e8ca829ee8 Russian laguage fixes (cosmetic) 2020-05-20 17:30:19 +03:00
Victor
744f94b886 Russian language fixes 2020-05-20 17:27:59 +03:00
Matias Barcenas
8f5d4b328b Fixed sequence bug & removed extraneous test code.
Fixed a bug caused by the addition of more password verifiers where the back option would fail.
Removed extranous code that was accidentally left behind while testing.
Fixed a bug with shifting arguments when no shift was needed (no paremeter argument).
2020-04-26 21:37:51 -05:00
Matias Barcenas
0aca9220e0 Network-manager, & pyrit optional, plus bug fixes.
Added a command line interface to the Captive Portal attack to prevent stopping the network manager.
Added code to auto-detect and utilize pyrit if available in the system, using alternatives otherwise.
Fixed a bug with some debug text that was outputting to std::out.
2020-04-26 20:08:05 -05:00
Matias Barcenas
0dbb2eb6a9 Added discrete options to authenticator.
The authenticator may now be directed to use one of cowpatty, pyrit, or aircrack-ng, for password verification.
2020-04-26 02:46:05 -05:00