The universal proxy platform
Go to file
Noob Zhang 71b9e4ff17
Add network-online.target in .service files
This helps the daemon work better on IoT devices
like RaspberryPi.
According to systemd's documentation,
`network.target` means there has already been
a network manager started, but the network may
not be "up". On most PCs this does not matter
because the network will turn to "up" almost
immidiately. The IoT devices' network interface
may not be set up quickly enough, so they may
meet that the sing-box daemon is started before
network is ready, which results that sing-box
cannot find a working route. The workaround
of this is restarting sing-box daemon but it
absolutely is not the perfect solution.
As `network-online.target` must be triggered by
network manager after you configured it, I keep
`network.target` so there will be no change to
those who do not enabled proper trigger service
like `NetworkManager-wait-online.service`.

See also: https://systemd.io/NETWORK_ONLINE/
2024-01-16 05:50:07 +08:00
.github Update issue reporting templates 2023-12-26 19:05:19 +08:00
adapter Improve read wait interface & 2024-01-03 12:21:47 +08:00
cmd Make generated files have `SUDO_USER`'s permissions if possible. 2024-01-03 12:21:47 +08:00
common Fix missing upstream func for read wait conn 2024-01-16 05:50:07 +08:00
constant Avoid opening log output before start & 2024-01-03 12:21:46 +08:00
docs documentation: Bump version 2024-01-09 12:22:22 +08:00
experimental Remove unnecessary context wrappers 2024-01-03 12:21:48 +08:00
inbound Improve read wait interface & 2024-01-03 12:21:47 +08:00
include Add filemanager api 2023-06-07 20:45:25 +08:00
log Avoid opening log output before start & 2024-01-03 12:21:46 +08:00
ntp Fix missing omitempty for NTP server fields 2023-12-05 18:32:21 +08:00
option Improve read wait interface & 2024-01-03 12:21:47 +08:00
outbound Remove unnecessary context wrappers 2024-01-03 12:21:48 +08:00
release Add network-online.target in .service files 2024-01-16 05:50:07 +08:00
route Fix rule match 2024-01-14 13:01:57 +08:00
test Refactor inbound/outbound options struct 2024-01-03 12:21:47 +08:00
transport Fix TLS conn cast for vision 2024-01-09 12:22:22 +08:00
.gitignore Add rule-set 2024-01-03 12:21:36 +08:00
.golangci.yml Add ShadowTLS protocol v3 2023-02-18 14:55:47 +08:00
.goreleaser.yaml Remove apk build due to missing openrc configuration 2023-11-14 20:15:41 +08:00
Dockerfile build: Unify build tags 2023-11-13 14:12:35 +08:00
LICENSE Update LICENSE 2023-03-27 08:20:51 +08:00
Makefile Update uTLS to 1.5.4 2024-01-03 12:21:47 +08:00
README.md Update documentation 2023-04-16 16:28:41 +08:00
box.go Remove unnecessary context wrappers 2024-01-03 12:21:48 +08:00
box_outbound.go Avoid opening log output before start & 2024-01-03 12:21:46 +08:00
debug_go118.go Improve conntrack 2023-09-20 14:15:00 +08:00
debug_go119.go Fix debug.SetMemoryLimit usage 2023-09-20 22:01:58 +08:00
debug_http.go Migrate contentjson and badjson to library & 2024-01-03 12:21:37 +08:00
debug_stub.go Fix pprof URL path 2023-12-29 18:00:40 +08:00
debug_unix.go Fix pprof URL path 2023-12-29 18:00:40 +08:00
go.mod Update dependencies 2024-01-09 12:22:22 +08:00
go.sum Update dependencies 2024-01-09 12:22:22 +08:00
mkdocs.yml Enhanced light/dark mode support in mkdocs configuration 2024-01-16 05:50:07 +08:00

README.md

sing-box

The universal proxy platform.

Packaging status

Documentation

https://sing-box.sagernet.org

Support

https://community.sagernet.org/c/sing-box/

License

Copyright (C) 2022 by nekohasekai <contact-sagernet@sekai.icu>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

In addition, no derivative work may use the name or imply association
with this application without prior consent.