/firefly

Firefly, the easiest using and high performance WireGuard VPN server, plus version of wg-easy. 最简单易用的高性能WireGuard服务器。可广泛应用于内网穿透、异地组网、远程办公等场景。

Primary LanguageGo


firefly

Firefly WireGuard Server

FeaturesUsageCreditsContactLicense

English 中文


Firefly is a simple and easy to install WireGuard server software, which can be widely used in scenarios such as remote networking, remote work, and expose a local server behind a NAT or firewall to the internet.

Features

firefly

  • Provide a simple and easy-to-use web management UI
  • Supports access to all WireGuard clients
  • No need for system installation of WireGuard components
  • Single file, no additional library dependencies

Usage

Firefly supports CPU architecture environments such as Linux x86 and ARM. The download address for the Firefly server is: https://github.com/Safe3/firefly/releases , WireGuard client download address: https://www.wireguard.com/install/ .

Server Configuration

The first time running firefly will generate a config.json configuration file in the software root directory, as follows:

{
 "version": "1",              // Firefly current version
 "host": "7.7.7.7",           // Firefly web management IP or domain name
 "port": 50121,               // Firefly web management port
 "auto_ssl": false,           // Is the firefly web enabled to automatically obtain Let's Encrypt certificate issuance? If enabled, please change the port to 443
 "password": "firefly",       // Firefly web management login authentication password
 "lang": "en",                // Firefly web management UI language
 "log_level": "error",        // Firefly server logging level
 "wg_private_key": "YBw5KAo1vM2mz35GLhZB01ZNYWJYWdGZNQT1MebuCHk=",  // WireGuard server private key
 "wg_device": "eth0",                   // WireGuard server in/out traffic network card name
 "wg_port": 50120,                      // WireGuard server UDP port
 "wg_mtu": 1280,                        // WireGuard server MTU value
 "wg_persistent_keepalive": 25,         // WireGuard client keepalive packet sending interval time
 "wg_address": "198.18.0.1/16",         // WireGuard server IP and network range
 "wg_dns": "1.1.1.1",                   // WireGuard client DNS configuration
 "wg_allowed_ips": "0.0.0.0/0, ::/0"    // WireGuard client allowed ips
}

Client configuration

After creating multiple clients in the web management UI on the server side, import the WireGuard client configuration in the following way.

1.WireGuard mobile client can directly scan the firefly web QR code to import configuration

2.WireGuard PC client can download the firefly web configuration file to the local device and import the configuration

Credits

Thanks to all the amazing community contributors for sending PRs and keeping this project updated. ❤️

If you have an idea or some kind of improvement, you are welcome to contribute and participate in the Project, feel free to send your PR.

Contact

If you want to support more features such as access controling, advanced routing, bastion machines, peer-to-peer transmission, etc., please contact us.

License

Firefly is only for personal free use. If you want to use it for commercial purposes, please contact us for commercial authorization.