WWAS Admin (wwas-admin
) is a web-based administration interface for the WWAS (Wireless Web Authentication System) platform. WWAS is a captive portal and authentication service designed to work with apfree-wifidog and similar Wi-Fi dog / captive portal solutions.
This project provides the frontend for configuring and managing the WWAS backend. It allows administrators to manage users, devices, authentication methods, and customize the portal page. wwas-admin
is built using the Vue.js framework.
- User Management: Manage user accounts, including adding new users and freezing existing ones. Supports importing and exporting user device information.
- Device Management: View and manage lists of user-associated devices and their details.
- Authentication Monitoring: Track and view details of users who have authenticated through the platform.
- Flexible Authentication Methods:
- Configure WeChat authentication.
- Set up SMS-based authentication (supports Aliyun and Netease SMS services).
- Enable one-click authentication for quick access.
- Support for traditional username/password authentication.
- Customizable Portal Page: Customize the appearance and content of the captive portal page presented to users.
- Node.js: It's recommended to use the latest LTS (Long Term Support) version. You can download it from nodejs.org.
- npm: npm (Node Package Manager) is included with Node.js.
Follow these steps to set up wwas-admin
for development purposes:
- Clone the repository:
git clone https://github.com/liudf0716/wwas-admin.git
- Navigate to the project directory:
cd wwas-admin
- Install dependencies:
This command installs all the necessary project dependencies defined in
npm install
package.json
. - Start the development server:
This will start a local development server, usually accessible at
npm run dev
http://localhost:8080
(the port might vary, check your console output). The application will automatically reload if you change any of the source files.
To deploy wwas-admin
for use with a wwas
backend, follow these instructions. These steps assume you are deploying the wwas-admin
frontend to be served by the wwas
backend.
-
Clone the repository (if not already done):
git clone https://github.com/liudf0716/wwas-admin.git
-
Navigate to the project directory:
cd wwas-admin
-
Install dependencies (if not already done):
npm install
-
Configure the backend API server address: Open the
config/index.js
file. Locate thebuild
object, and within it, modify thewebServer
property to point to yourwwas
backend API. For example:// Inside config/index.js module.exports = { build: { // ... other build configurations webServer: 'http://yourip:8001', // Replace yourip:8001 with your actual WWAS backend URL // ... other build configurations }, // ... dev configurations };
This URL will be used by the application when it's built for production.
-
Build the project:
npm run build
This command compiles and minifies the project assets into a
dist
folder in the project root. -
Deploy to WWAS backend: Copy the contents of the generated
dist
folder into thepublic
directory of yourwwas
backend project.# Example: if wwas project is a sibling directory cp -r dist/* ../wwas/public/ # Adjust the path according to your wwas project location.
The
wwas
backend should then serve thewwas-admin
interface.
The main login interface for wwas-admin.
View and manage connected devices.
Dialog for importing router configurations.
Further details for router import.
Settings page for WeChat authentication.
Settings page for SMS-based authentication.
Configuration for enabling one-click 免认证 (free authentication).
Settings for username/password based authentication.
Additional authentication related settings.
Contributions are welcome and greatly appreciated! If you have suggestions for improving wwas-admin
, please feel free to contribute.
Here are a few ways you can help:
- Report Bugs: If you find a bug, please open an issue on the GitHub Issues page. Describe the bug in detail, including steps to reproduce it.
- Suggest Enhancements: If you have ideas for new features or improvements to existing ones, you can also open an issue to discuss your ideas.
- Submit Pull Requests: For bug fixes or feature implementations:
- Fork the repository.
- Create a new branch for your changes (e.g.,
git checkout -b feature/your-feature-name
orbugfix/issue-number
). - Make your changes and commit them with clear, descriptive messages.
- Push your changes to your forked repository.
- Open a pull request to the main
wwas-admin
repository. Please provide a clear description of the changes in your PR.
When contributing code, please try to follow the existing code style. For major changes, it's always a good idea to open an issue first to discuss your proposed changes.
Thank you for your interest in improving wwas-admin
!
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for full license text.
- If you find this project helpful, please consider giving it a ⭐ Star on GitHub!
- If you encounter any issues or have suggestions, please open an issue via GitHub Issues.
- If you've found a bug and have a solution, or want to contribute enhancements, pull requests are welcome!
- Project discussion groups (QQ):
331230369
,424031785
.