Skip to content

Commit

Permalink
Freeway v1.2.0 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
FLOCK4H committed May 27, 2024
1 parent 84040d9 commit 8673b8e
Show file tree
Hide file tree
Showing 9 changed files with 60 additions and 200 deletions.
6 changes: 4 additions & 2 deletions Freeway
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ from FreewayTools.fuzzer import Fuzzer
from FreewayTools.audit import Audit
from FreewayTools.hopper import channel_hopper
from FreewayTools.evil_twin import Cappy, WebServer, shutdown_network, safecall
from FreewayTools.updater import update

cc = ColorCodes()

Expand Down Expand Up @@ -94,6 +95,7 @@ script_dir = "/usr/local/share/3way"
class Welcome:
def __init__(self, action):
self.fsecurity = False
update()
self.action = action
self.norm_logo = f"""{cc.BRIGHT}{cc.CYAN}
Expand Down Expand Up @@ -140,7 +142,7 @@ class Welcome:
cprint("1) Users must strictly adhere to local legal guidelines", cc.WHITE)
cprint("2) Users must not disrupt, introduce chaos, cause damage to others, or to other devices in any circumstances", cc.ORANGE)
cprint("3) Redistribution of this software must comply with MIT license standards", cc.WHITE)
cprint("4) The authors disclaim all liability for any damage caused by the use of this software", cc.ORANGE)
cprint("4) The author disclaims all liability for any damage caused by the use of this software", cc.ORANGE)
cprint("5) In the event of an investigation, the author will not provide assistance to any parties", cc.WHITE)
cprint("")
cprint("Remember, the purpose of Freeway is to identify vulnerabilities, not to exploit them!", cc.WHITE)
Expand Down Expand Up @@ -244,7 +246,7 @@ class Freewayer:
cprint(f"4) Packet Fuzzer\x20\x20 {cc.CYAN}──>{cc.GREEN} Inject packets that may cause an AP to crash or freeze")
cprint(f"5) Network Audit\x20\x20 {cc.CYAN}──>{cc.GREEN} Try to gather all possible information about specific AP")
cprint(f"6) Channel Hopper {cc.CYAN}──>{cc.GREEN} Hop between channels periodically (run in separate window)")
cprint(f"7) Evil Twin {cc.CYAN}──>{cc.GREEN} Host an Access Point with Captive Portal to harvest credentials")
cprint(f"7) Evil Twin {cc.CYAN}──>{cc.GREEN} Access Point with Captive Portal to harvest credentials")
eline()
option = cinput("Enter option's number", b=True).replace(" ", "")
return option
Expand Down
4 changes: 2 additions & 2 deletions FreewayTools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
from .audit import Audit
from .hopper import channel_hopper
from .evil_twin import Cappy, WebServer, shutdown_network, safecall

from .updater import update
__all__ = ['cprint', 'iprint', 'wprint', 'cinput', 'ColorCodes', 'Monitor', 'Deauth', 'BeaconSpam', 'Fuzzer', 'Audit', 'channel_hopper',
'Cappy', 'WebServer', 'shutdown_network', 'safecall']
'Cappy', 'WebServer', 'shutdown_network', 'safecall', 'update']
4 changes: 2 additions & 2 deletions FreewayTools/audit.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
from datetime import timedelta

try:
from FreewayTools.colors import cprint, iprint, wprint, cinput, ColorCodes
from FreewayTools.colors import wprint
from FreewayTools.monitor import get_signal_strength, save_hash_file, init_colors
from FreewayTools.checkmac import check_manufacturer

except ModuleNotFoundError:
from colors import cprint, iprint, wprint, cinput, ColorCodes
from colors import wprint
from monitor import get_signal_strength, save_hash_file, init_colors
from checkmac import check_manufacturer

Expand Down
4 changes: 2 additions & 2 deletions FreewayTools/beacon_spam.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
import threading

try:
from FreewayTools.colors import cprint, iprint, wprint, cinput, ColorCodes
from FreewayTools.colors import cprint, wprint, cinput, ColorCodes

except ModuleNotFoundError:
from colors import cprint, iprint, wprint, cinput, ColorCodes
from colors import cprint, wprint, cinput, ColorCodes

def random_mac():
mac = [random.randint(0x00, 0xff) for _ in range(6)]
Expand Down
3 changes: 3 additions & 0 deletions FreewayTools/evil_twin.py
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,7 @@ def drink_healthy_juice(self, action):
self.take_off_the_plastic_cap()

def edit_config(self):
print("")
changable = {1: "SSID", 2: "MAC", 3: "HW_MODE", 4: "DRIVER", 5: "CHANNEL", 6: "DEFAULT_APP", 7: "IP"}
for idx, o in changable.items():
cprint(f"{idx}) {o}")
Expand All @@ -436,6 +437,8 @@ def edit_config(self):
def modify_value(self, v):
new_val = cinput(f"Enter new value of {v}")
self.config.write_app_config(**{v: new_val})
if v == "IP":
self.ip_addr = new_val
cprint(f"Changed {v} to {new_val}!")
time.sleep(1)

Expand Down
46 changes: 46 additions & 0 deletions FreewayTools/updater.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import requests
import subprocess
from FreewayTools.colors import *
import time

GITHUB_REPO = "FLOCK4H/Freeway"

def get_latest_version():
try:
# This is an API created & hosted by github, not by me,
# it's the safest way of checking the most recent version of Freeway

url = f"https://api.github.com/repos/{GITHUB_REPO}/releases/latest"
response = requests.get(url)
response.raise_for_status()
latest_release = response.json()
return latest_release["tag_name"]
except ConnectionError:
pass
except Exception as e:
wprint(str(e))

def get_current_version():
return "1.2.0"

def update():
cprint("Checking for updates..")

current_version = get_current_version()
latest_version = get_latest_version()
if latest_version is None:
wprint("You are not connected to any network, I can't fetch updates...")
time.sleep(0.8)
return

if current_version != latest_version:
cprint(f"New version available: {latest_version}")
if cinput("Update Freeway? (y/n)") == "y":
subprocess.run(["git", "pull", "origin", "main"], check=True)
iprint("Update completed. Please restart Freeway.")
else:
iprint("You are using the latest version of Freeway.")
time.sleep(0.8)

if __name__ == "__main__":
update()
21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

170 changes: 0 additions & 170 deletions README.md

This file was deleted.

2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def run(self):
shutil.copytree(f"{source}/{template}", f"{destination}/{template}")
setup(
name='3way',
version='1.1.2',
version='1.2.0',
author='FLOCK4H',
url='github.com/FLOCK4H/Freeway',
description='Freeway for network pentesting',
Expand Down

0 comments on commit 8673b8e

Please sign in to comment.