Merge pull request #1 from lakinduakash/master

Bring fork up to date
This commit is contained in:
Mark Wagie 2021-01-18 10:42:29 -07:00 committed by GitHub
commit 3d524c01bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 359 additions and 354 deletions

12
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,12 @@
# These are supported funding model platforms
github: #
patreon: # Replace with a single Patreon username
open_collective: linux-wifi-hotspot
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@ -8,6 +8,10 @@ install:
@echo "Installing..."
cd src && $(MAKE) install
install-cli-only:
@echo "Installing command line interface only..."
cd src/scripts && $(MAKE) install
uninstall:
@echo "Uninstalling..."
cd src && $(MAKE) uninstall

View File

@ -2,14 +2,16 @@
[![Build Status](https://travis-ci.com/lakinduakash/linux-wifi-hotspot.svg?branch=master)](https://travis-ci.com/lakinduakash/linux-wifi-hotspot)
[![Gitter](https://badges.gitter.im/linux-wihotspot/community.svg)](https://gitter.im/linux-wihotspot/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Flakinduakash%2Flinux-wifi-hotspot.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Flakinduakash%2Flinux-wifi-hotspot?ref=badge_shield)
### Update
* Add MAC filter
* Support enabling IEEE80211n and IEEE80211ac
* Release Debian package
### Features
* Share your wifi like in Windows - Share wifi on the same interface which you are connected to on the internet.
* Share your wifi like in Windows - Use wifi and enable hotspot at the same time.
* Share access point from any network interface
* MAC filter
* Includes Both command line and gui.
@ -20,7 +22,11 @@
![screenshot](docs/sc2.png)
### [Command line help and documentation](src/scripts/README.md)
### Command line help and documentation
Read [Command line help and documentation here](src/scripts/README.md).
If you only need the command-line without GUI run `make install-cli-only` as root user.
### Notes
@ -31,15 +37,16 @@ If any problems with **RealTeK Wifi Adapters** see [this](docs/howto/realtek.md)
### Installation
#### Debian/Ubuntu
Download the debian package from latest [release](https://github.com/lakinduakash/linux-wifi-hotspot/releases/latest)
- [linux-wifi-hotspot_3.5.1_amd64.deb](https://github.com/lakinduakash/linux-wifi-hotspot/releases/download/v3.5.1/linux-wifi-hotspot_3.5.1_amd64.deb)
<!-- - [linux-wifi-hotspot_3.5.1_amd64.deb](https://github.com/lakinduakash/linux-wifi-hotspot/releases/download/v3.5.1/linux-wifi-hotspot_3.5.1_amd64.deb) -->
#### Arch based distributions
Install with:
```bash
yay -Sy linux-wifi-hotspot
yay -S linux-wifi-hotspot
```
### Dependencies
@ -78,9 +85,6 @@ sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd
## Installation
**Note: If you have installed the previous version of this project make sure to uninstall it by checking out the previous version (v2.1.1 or below).
Also you can use `sudo make clean-old` without checking out the previous version. After that install the binaries. Otherwise your system might leave orphaned binaries and files.**
git clone https://github.com/lakinduakash/linux-wifi-hotspot
cd linux-wifi-hotspot
@ -106,12 +110,15 @@ repository.
Start the hotspot service on startup (using your saved configuration) with:
systemctl enable create-ap
systemctl enable create_ap
### Tested with Ubuntu from 16.04 to 20.04. If any issue is found, file an issue on github.
## Contributing
This project is still new. So you can simply open an issue and send a PR. Also there are some existing issues. Pick one and start contributing.
If you found a bug or you have an idea about improving this make an issue. Even a small contribution make open source world more beautiful.
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for more info.
## License
FreeBSD
@ -119,3 +126,6 @@ FreeBSD
Copyright (c) 2013, oblique
Copyright (c) 2020, lakinduakash
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Flakinduakash%2Flinux-wifi-hotspot.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Flakinduakash%2Flinux-wifi-hotspot?ref=badge_large)

5
debian/changelog vendored
View File

@ -1,5 +1,6 @@
linux-wifi-hotspot (3.5.1) UNRELEASED; urgency=low
linux-wifi-hotspot (3.6.0) UNRELEASED; urgency=low
* Initial release.
* Fix allow space in password
* Fix variouse bugs
-- Scott Hardin <snhardin@users.noreply.github.com> Wed, 21 Oct 2020 19:21:49 -0700

View File

@ -1,30 +0,0 @@
name: wihotspot
version: "1.0.0-dev"
summary: wihotspot
description: |
Create wifi hotspot like in windows
confinement: devmode
grade: stable
apps:
wihotspot:
command: wihotspot
plugs: [home, x11, gsettings]
parts:
wihotspot:
plugin: make
build-packages:
- g++
- gcc
- make
- cmake
- libgtk-3-dev
- pkg-config
stage-packages:
- libgtk-3-0
- libgdk-pixbuf2.0-0
- libpango1.0-0
- libglib2.0-0
- libatk1.0-0

View File

@ -53,7 +53,7 @@ add_custom_target(uninstall_build
COMMAND rm -f $ENV{DESTDIR}${appbin}/${PROJECT_NAME}
COMMAND rm -f $ENV{DESTDIR}${appdir}/applications/${PROJECT_NAME}.desktop
COMMAND rm -rf $ENV{DESTDIR}${appdir}/${PROJECT_NAME}
COMMENT Unstalling files...
COMMENT Uninstalling files...
COMMENT Remove old files if exist
COMMAND rm -rf $ENV{DESTDIR}${appdir}/wihotspot

View File

@ -1,6 +1,7 @@
[Desktop Entry]
Type=Application
Name=Wifi Hotspot
Comment=feature-rich wifi hotspot creator
Icon=/usr/share/wihotspot/hotspot.png
Exec=sh -c 'env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/wihotspot'
Terminal=false

View File

@ -14,6 +14,13 @@ install:
install -CDm644 README.md $(DESTDIR)$(PREFIX)/share/doc/create_ap/README.md
install -CDm755 wihotspot $(DESTDIR)$(BINDIR)/wihotspot
install-cli-only:
install -CDm755 create_ap $(DESTDIR)$(BINDIR)/create_ap
install -CDm644 create_ap.conf $(DESTDIR)/etc/create_ap.conf
[ ! -d $(DESTDIR)/lib/systemd/system ] || install -CDm644 create_ap.service $(DESTDIR)/lib/systemd/system/create_ap.service
install -CDm644 bash_completion $(DESTDIR)$(PREFIX)/share/bash-completion/completions/create_ap
install -CDm644 README.md $(DESTDIR)$(PREFIX)/share/doc/create_ap/README.md
uninstall:
rm -f $(DESTDIR)$(BINDIR)/create_ap
rm -f $(DESTDIR)/etc/create_ap.conf

View File

@ -33,7 +33,7 @@ usage() {
echo " -h, --help Show this help"
echo " --version Print version number"
echo " -c <channel> Channel number (default: 1)"
echo " -w <WPA version> Use 1 for WPA, use 2 for WPA2, use 1+2 for both (default: 1+2)"
echo " -w <WPA version> Use 1 for WPA, use 2 for WPA2, use 1+2 for both (default: 2)"
echo " -n Disable Internet sharing (if you use this, don't pass"
echo " the <interface-with-internet> argument)"
echo " -m <method> Method for Internet sharing."
@ -626,7 +626,7 @@ networkmanager_wait_until_unmanaged() {
CHANNEL=default
GATEWAY=192.168.12.1
WPA_VERSION=1+2
WPA_VERSION=2
ETC_HOSTS=0
ADDN_HOSTS=
DHCP_DNS=gateway

View File

@ -1,4 +1,4 @@
#!/bin/sh
# Start wihotspot_gui as root user
# Start wihotspot-gui as root user
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/wihotspot-gui

View File

@ -179,308 +179,9 @@
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">1</property>
<property name="label" translatable="yes">Advanced</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_top">10</property>
<property name="margin_bottom">5</property>
<property name="row_spacing">10</property>
<property name="column_homogeneous">True</property>
<child>
<object class="GtkCheckButton" id="cb_hidden">
<property name="label" translatable="yes">Hidden</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_psk">
<property name="label" translatable="yes">Use psk</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_mac">
<property name="label" translatable="yes">Set MAC</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry_mac">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_novirt">
<property name="label" translatable="yes">No Virt</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Do not create virtual interface</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_channel">
<property name="label" translatable="yes">Channel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry_channel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">5</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="rb_freq_2">
<property name="label" translatable="yes">2.4Ghz</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">rb_freq_auto</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="rb_freq_auto">
<property name="label" translatable="yes">Auto</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">rb_freq_5</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Frequency band</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="rb_freq_5">
<property name="label" translatable="yes">5Ghz</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">rb_freq_auto</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_mac_filter">
<property name="label" translatable="yes">Mac Filter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">6</property>
</packing>
</child>
<child>
<object class="GtkTextView" id="tv_mac_filter">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="accepts_tab">False</property>
<property name="input_hints">GTK_INPUT_HINT_UPPERCASE_CHARS | GTK_INPUT_HINT_NONE</property>
<property name="monospace">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">6</property>
<property name="height">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_ieee80211n">
<property name="label" translatable="yes">IEEE80211n</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">8</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_ieee80211ac">
<property name="label" translatable="yes">IEEE80211ac</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">8</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
@ -488,6 +189,303 @@
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkExpander">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label_fill">True</property>
<property name="resize_toplevel">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">10</property>
<property name="margin_bottom">5</property>
<property name="row_spacing">10</property>
<property name="column_homogeneous">True</property>
<child>
<object class="GtkCheckButton" id="cb_hidden">
<property name="label" translatable="yes">Hidden</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_psk">
<property name="label" translatable="yes">Use psk</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_mac">
<property name="label" translatable="yes">Set MAC</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry_mac">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_novirt">
<property name="label" translatable="yes">No Virt</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Do not create virtual interface</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_channel">
<property name="label" translatable="yes">Channel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry_channel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">5</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="rb_freq_2">
<property name="label" translatable="yes">2.4Ghz</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">rb_freq_auto</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="rb_freq_auto">
<property name="label" translatable="yes">Auto</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">rb_freq_5</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Frequency band</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="rb_freq_5">
<property name="label" translatable="yes">5Ghz</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">rb_freq_auto</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_mac_filter">
<property name="label" translatable="yes">Mac Filter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">6</property>
</packing>
</child>
<child>
<object class="GtkTextView" id="tv_mac_filter">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="accepts_tab">False</property>
<property name="input_hints">GTK_INPUT_HINT_UPPERCASE_CHARS | GTK_INPUT_HINT_NONE</property>
<property name="monospace">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">6</property>
<property name="height">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_ieee80211n">
<property name="label" translatable="yes">IEEE80211n</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">8</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_ieee80211ac">
<property name="label" translatable="yes">IEEE80211ac</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">8</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Advanced</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -532,7 +530,7 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">10</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
<child>
@ -548,7 +546,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">5</property>
</packing>
</child>
<child>
@ -559,7 +557,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
<property name="position">6</property>
</packing>
</child>
<child>
@ -568,7 +566,6 @@
<property name="can_focus">False</property>
<property name="margin_bottom">5</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkLabel" id="label_status">
<property name="visible">True</property>
@ -599,9 +596,9 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">6</property>
<property name="position">7</property>
</packing>
</child>
<child>

View File

@ -57,11 +57,14 @@ int read_config_file() {
int i=0;
while (getline(cFile, line)) {
line.erase(std::remove_if(line.begin(), line.end(), isspace),
line.end());
auto delimiterPos = line.find('=');
if (!(line.find("SSID") < delimiterPos) && !(line.find("PASSPHRASE") < delimiterPos)) {
line.erase(std::remove_if(line.begin(), line.end(), isspace),
line.end());
}
if (line[0] == '#' || line.empty())
continue;
auto delimiterPos = line.find('=');
delimiterPos = line.find('='); //check again in case it changed
auto name = line.substr(0, delimiterPos);
auto value = line.substr(delimiterPos + 1);