sing-tun 0.9.6__tar.gz → 0.9.7.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sing_tun-0.9.6/sing_tun.egg-info → sing_tun-0.9.7.dev0}/PKG-INFO +19 -10
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/README.md +18 -9
- sing_tun-0.9.7.dev0/UPSTREAM_COMMIT +1 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/UPSTREAM_TREE.json +330 -54
- sing_tun-0.9.7.dev0/UPSTREAM_VERSION +1 -0
- sing_tun-0.9.7.dev0/VERSION +1 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/config.go +2 -2
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/device.go +36 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/engine.go +12 -3
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/go.mod +3 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/go.sum +4 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/packet.go +2 -8
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sample/sample.py +4 -2
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/scripts/sync-sing-tun.py +71 -13
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/scripts/verify_source.py +11 -5
- sing_tun-0.9.7.dev0/sing-tun-go/.github/workflows/test.yml +59 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/Makefile +2 -8
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/flow_dispatch.go +347 -196
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/flow_dns.go +13 -5
- sing_tun-0.9.7.dev0/sing-tun-go/flow_mtu.go +141 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/flow_nat.go +19 -5
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/flow_parse.go +24 -7
- sing_tun-0.9.7.dev0/sing-tun-go/flow_reject.go +90 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/flow_rewrite.go +67 -67
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/go.mod +2 -2
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/go.sum +4 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/checksum/checksum_default.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/checksum/checksum_ts.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/checksum/checksum_unsafe.go +3 -3
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/checksum.go +8 -7
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ipv4.go +11 -6
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/udp.go +3 -5
- sing_tun-0.9.7.dev0/sing-tun-go/icmp_error.go +203 -0
- sing_tun-0.9.7.dev0/sing-tun-go/internal/afd/afd_windows.go +197 -0
- sing_tun-0.9.7.dev0/sing-tun-go/internal/afd/zsyscall_windows.go +81 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/checksum_test/sum_bench_test.go +25 -0
- sing_tun-0.9.7.dev0/sing-tun-go/internal/checksum_test/sum_test.go +40 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/fdbased_darwin/endpoint.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/fdbased_darwin/packet_dispatchers.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/tschecksum/checksum_amd64.go +9 -11
- sing_tun-0.9.7.dev0/sing-tun-go/internal/tschecksum/checksum_arm64.go +8 -0
- sing_tun-0.9.7.dev0/sing-tun-go/internal/tschecksum/checksum_arm64.s +133 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/tschecksum/checksum_generic.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winsys/constants.go +21 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winsys/types_windows.go +4 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows.go +2 -2
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/syscall_windows.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/session_windows.go +4 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_linux.go +5 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/nfqueue_linux.go +49 -46
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/ping.go +6 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/port.go +1 -1
- sing_tun-0.9.7.dev0/sing-tun-go/redirect.go +69 -0
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_ingress_discard_android.go +177 -0
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_iptables.go +874 -0
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_linux.go +460 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_nftables.go +26 -44
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_nftables_rules.go +7 -68
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_route_bypass_android.go +343 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_route_linux.go +121 -15
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_route_vpnservice_android.go +240 -0
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_route_vpnservice_stub.go +28 -0
- sing_tun-0.9.7.dev0/sing-tun-go/redirect_server.go +133 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack.go +12 -8
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go.go +315 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_conn.go +815 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_conn_options.go +87 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_dial.go +339 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_engine.go +1078 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_cc_test.go +482 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_cpu_unix_test.go +20 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_cpu_windows_test.go +20 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_darwin_test.go +211 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_flow_linux_test.go +444 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_lifecycle_linux_test.go +327 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_lifecycle_test.go +493 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_linux_test.go +65 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_listen_test.go +182 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_memory_darwin_test.go +15 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_memory_linux_test.go +29 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_memory_test.go +565 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_options_test.go +458 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_packet_flow_test.go +355 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_packet_offload_linux_test.go +185 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_packet_test.go +772 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_splice_test.go +187 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_tcp_test.go +530 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_test.go +831 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_integration_windows_test.go +48 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_io.go +107 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_io_darwin.go +884 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_io_linux.go +617 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_io_memory.go +262 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_io_other.go +72 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_io_windows.go +506 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_listen.go +240 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_memory.go +113 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_memory_arena.go +218 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_memory_darwin.go +17 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_memory_linux.go +26 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_memory_other.go +24 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_profile_default.go +19 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_profile_ios.go +17 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_ring.go +717 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_socket_darwin.go +170 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_socket_linux.go +256 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_socket_nonunix.go +38 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_socket_unix.go +111 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_socket_windows.go +222 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_splice.go +1004 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_ack.go +1198 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_bbr.go +590 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_cong.go +691 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_cubic.go +294 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_input.go +1562 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_output.go +1014 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_tcp_rate.go +126 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_udp.go +527 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_udp_socket.go +462 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_udp_test.go +183 -0
- sing_tun-0.9.7.dev0/sing-tun-go/stack_go_wheel.go +192 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor.go +5 -6
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_filter.go +5 -9
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_tcp_conn.go +1 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_mixed.go +14 -6
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_system.go +84 -46
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun.go +15 -4
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_darwin.go +75 -14
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_linux.go +131 -38
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_linux_gvisor.go +0 -2
- sing_tun-0.9.7.dev0/sing-tun-go/tun_memory.go +178 -0
- sing_tun-0.9.7.dev0/sing-tun-go/tun_memory_queue.go +248 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_offload.go +8 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_windows.go +126 -23
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_windows_gvisor.go +0 -2
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/udp_egress.go +1 -5
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/udp_nat.go +156 -92
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/udp_nat_cleanup.go +1 -1
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing_tun/api.py +2 -2
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0/sing_tun.egg-info}/PKG-INFO +19 -10
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing_tun.egg-info/SOURCES.txt +69 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/tests/test_native.py +29 -6
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/tests/test_sync.py +70 -0
- sing_tun-0.9.6/UPSTREAM_COMMIT +0 -1
- sing_tun-0.9.6/UPSTREAM_VERSION +0 -1
- sing_tun-0.9.6/VERSION +0 -1
- sing_tun-0.9.6/sing-tun-go/.github/workflows/test.yml +0 -106
- sing_tun-0.9.6/sing-tun-go/flow_mtu.go +0 -167
- sing_tun-0.9.6/sing-tun-go/flow_reject.go +0 -210
- sing_tun-0.9.6/sing-tun-go/redirect.go +0 -37
- sing_tun-0.9.6/sing-tun-go/redirect_iptables.go +0 -103
- sing_tun-0.9.6/sing-tun-go/redirect_linux.go +0 -302
- sing_tun-0.9.6/sing-tun-go/redirect_server.go +0 -94
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/CMakeLists.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/LICENSE +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/MANIFEST.in +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/engine_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/forward.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/framing_darwin.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/framing_other.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/host_darwin.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/host_linux.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/host_linux_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/host_other.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/main.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/adapter/stack.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/GCC_GPLv3.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/GCC_RUNTIME_EXCEPTION.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/Wintun_LICENSE.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/Wintun_loader_LICENSE.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/mingw-w64_COPYING.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/tun2socks-python_LICENSE.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/licenses/winpthreads_COPYING.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/pyproject.toml +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sample/multiprocessing_child.py +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/scripts/collect_licenses.py +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/scripts/install-go-from-mod.sh +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/scripts/validate_distributions.py +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/setup.cfg +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/setup.py +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/.github/renovate.json +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/.github/update_dependencies.sh +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/.github/workflows/lint.yml +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/.gitignore +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/.golangci.yml +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/LICENSE +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/README.md +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/flow.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/README.md +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/checksum/checksum.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/errors.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/eth.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/icmpv4.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/icmpv6.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/interfaces.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ipv6.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ipv6_extension_headers.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ipv6_fragment.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ndp_neighbor_advert.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ndp_neighbor_solicit.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ndp_options.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ndp_router_advert.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ndp_router_solicit.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/ndpoptionidentifier_string.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/netip.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/header/tcp.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/seqnum/seqnum.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/gtcpip/tcpip.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/fdbased_darwin/endpoint_mutex.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/fdbased_darwin/errno.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/fdbased_darwin/processor_mutex.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/fdbased_darwin/processors.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/rawfile_darwin/rawfile.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/stopfd_darwin/stopfd.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/tschecksum/checksum.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/tschecksum/checksum_generated_amd64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/tschecksum/checksum_generated_amd64.s +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/tschecksum/generate_amd64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winfw/winfw.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/interface_change_handler.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/luid.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/mksyscall.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/netsh.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/route_change_handler.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/types.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/types_32.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/types_64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/types_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/types_test_32.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/types_test_64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/unicast_address_change_handler.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/winipcfg.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/winipcfg_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winipcfg/zwinipcfg_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winsys/helper.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winsys/mksyscall.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winsys/syscall_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/winsys/zsyscall_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/README.md +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/amd64/wintun.dll +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/arm/wintun.dll +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/arm64/wintun.dll +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/dll_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/dll_windows_386.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/dll_windows_amd64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/dll_windows_arm.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/dll_windows_arm64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows_32.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows_386.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows_64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows_amd64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows_arm.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/memmod_windows_arm64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/syscall_windows_32.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/memmod/syscall_windows_64.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/wintun_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/internal/wintun/x86/wintun.dll +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_android.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_darwin.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_linux_default.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_linux_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_other.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_shared.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/monitor_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/netns_linux.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/netns_other.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/packages.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/packages_android.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/packages_stub.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/cmsg_unix.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/cmsg_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/destination.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/destination_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/filter_linux.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/filter_other.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/ping_test.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/socket_linux_unprivileged.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/socket_unix.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/ping/socket_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_nftables_docker.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_nftables_exprs.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_nftables_rules_openwrt.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/redirect_stub.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_icmp.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_lazy.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_log.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_stub.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_tcp.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_tcpbuf_default.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_tcpbuf_ios.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_gvisor_udp.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_system_nat.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_system_nonwindows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_system_packet.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/stack_system_windows.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_darwin_gvisor.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_linux_flags.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_nondarwin.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_nonlinux.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_offload_errors.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_offload_linux.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_other.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_read_error.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/tun_rules.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing-tun-go/udp_egress_conn.go +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing_tun/__init__.py +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing_tun.egg-info/dependency_links.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing_tun.egg-info/not-zip-safe +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/sing_tun.egg-info/top_level.txt +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/src/sing_tun.cpp +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/tests/README.md +0 -0
- {sing_tun-0.9.6 → sing_tun-0.9.7.dev0}/tests/fixtures.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sing-tun
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.7.dev0
|
|
4
4
|
Summary: Host-managed sing-tun SOCKS5 bridge for Python
|
|
5
5
|
Home-page: https://github.com/LorenEteval/sing-tun-python
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -26,7 +26,7 @@ Python bindings for [sing-tun](https://github.com/SagerNet/sing-tun), with a SOC
|
|
|
26
26
|
Install from PyPI:
|
|
27
27
|
|
|
28
28
|
```console
|
|
29
|
-
pip install sing-tun
|
|
29
|
+
pip install sing-tun==0.9.7.dev0
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Binary wheels include the compiled Go backend and native Python binding. Installing a compatible wheel does not require
|
|
@@ -69,7 +69,7 @@ from sing_tun import Config, Engine
|
|
|
69
69
|
|
|
70
70
|
config = Config(
|
|
71
71
|
proxy="socks5://127.0.0.1:1080",
|
|
72
|
-
stack="
|
|
72
|
+
stack="go",
|
|
73
73
|
tun_options={
|
|
74
74
|
"MTU": 1500,
|
|
75
75
|
"Inet4Address": ["198.18.0.1/15"],
|
|
@@ -91,7 +91,7 @@ values use upstream's numeric enums (0, 1, 2), and duration fields accept Go dur
|
|
|
91
91
|
Unknown fields and incorrect types are rejected. Runtime objects such as Context, Tun, Handler, Logger,
|
|
92
92
|
InterfaceFinder and InterfaceMonitor are supplied by the binding and cannot be passed as JSON.
|
|
93
93
|
|
|
94
|
-
Defaults are `stack="
|
|
94
|
+
Defaults are `stack="go"`, `Name=""` (automatic selection), `MTU=1500`, `Inet4Address=["198.18.0.1/15"]`,
|
|
95
95
|
`EXP_ExternalConfiguration=False`, `AutoRoute=True`, `DNSMode="disabled"`, `EXP_DisableDNSHijack=True`,
|
|
96
96
|
and stack `UDPTimeout="1m"`; other upstream fields keep their zero/default values. On every supported platform an omitted or empty
|
|
97
97
|
`Name` selects an unused `utun10`-`utun1024` name at startup, beginning at a random index. An explicit name is preserved.
|
|
@@ -106,9 +106,12 @@ To use an externally configured device and routes, pass
|
|
|
106
106
|
`tun_options={"EXP_ExternalConfiguration": True, "AutoRoute": False}`.
|
|
107
107
|
Creating/configuring the device and routes requires the appropriate platform privileges.
|
|
108
108
|
|
|
109
|
-
Stack choices are `"
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
Stack choices are `"go"` (upstream's new userspace TCP/UDP stack), `"gvisor"` (gVisor TCP/UDP),
|
|
110
|
+
`"system"` (OS TCP with upstream userspace UDP handling), and `"mixed"` (OS TCP plus gVisor UDP).
|
|
111
|
+
`stack=""` delegates selection to upstream, which selects `"go"` in this snapshot.
|
|
112
|
+
The Go stack's `TCPCongestionControl` option is available through `stack_options`.
|
|
113
|
+
This snapshot's Go parser rejects IPv6 hop-by-hop, routing, and destination option headers; gVisor remains available
|
|
114
|
+
for callers that need those packets. Packet processing follows the selected upstream stack.
|
|
112
115
|
|
|
113
116
|
The SOCKS handler requires an IP-literal `proxy` URL and supports optional username/password authentication. Its separate
|
|
114
117
|
bridge controls are `network_interface=""` (no explicit outbound SOCKS interface binding; the OS chooses the route), `log_level="error"`, `max_sessions=1024`,
|
|
@@ -133,7 +136,8 @@ Runtime provenance is available as `sing_tun.__version__`, `sing_tun.__upstream_
|
|
|
133
136
|
|
|
134
137
|
## Vendored Upstream Source
|
|
135
138
|
|
|
136
|
-
The source distribution vendors the exact
|
|
139
|
+
The source distribution vendors the exact sing-tun development commit recorded in `UPSTREAM_COMMIT`;
|
|
140
|
+
`UPSTREAM_VERSION` is `dev`. The package version identifies the development snapshot.
|
|
137
141
|
Files under `sing-tun-go/` preserve upstream source without modifications.
|
|
138
142
|
The separate `adapter/` module supplies the C ABI, Python lifecycle, SOCKS handler and descriptor ownership glue;
|
|
139
143
|
upstream constructors implement device and packet-stack behavior.
|
|
@@ -148,8 +152,13 @@ python scripts/verify_source.py
|
|
|
148
152
|
python scripts/sync-sing-tun.py verify
|
|
149
153
|
```
|
|
150
154
|
|
|
151
|
-
|
|
152
|
-
|
|
155
|
+
Stable releases use the same Git release tag as upstream. Development snapshots use Python versions such as
|
|
156
|
+
`0.9.7.dev0` and Git tags such as `v0.9.7.dev0`, with `dev` and an exact commit as upstream provenance.
|
|
157
|
+
Development releases are manual from `codex/development`, require the full build/test matrix, and are marked as GitHub
|
|
158
|
+
prereleases. The hourly stable-tag updater runs only on `main`; publishing a development snapshot does not change it.
|
|
159
|
+
To publish a prepared snapshot, run the distribution workflow manually on `codex/development` with the exact
|
|
160
|
+
commit as `checkout_ref`, `v0.9.7.dev0` as `release_tag`, and `dev` as `upstream_tag`.
|
|
161
|
+
Alternatively, push the matching development tag after committing the snapshot to that branch.
|
|
153
162
|
Developer synchronization tooling requires Python 3.12+. Publishing needs a PyPI trusted publisher for
|
|
154
163
|
`LorenEteval/sing-tun-python`, workflow `deploy-pypi.yml`, environment `deploy-pypi`, and the protected GitHub environment.
|
|
155
164
|
|
|
@@ -9,7 +9,7 @@ Python bindings for [sing-tun](https://github.com/SagerNet/sing-tun), with a SOC
|
|
|
9
9
|
Install from PyPI:
|
|
10
10
|
|
|
11
11
|
```console
|
|
12
|
-
pip install sing-tun
|
|
12
|
+
pip install sing-tun==0.9.7.dev0
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Binary wheels include the compiled Go backend and native Python binding. Installing a compatible wheel does not require
|
|
@@ -52,7 +52,7 @@ from sing_tun import Config, Engine
|
|
|
52
52
|
|
|
53
53
|
config = Config(
|
|
54
54
|
proxy="socks5://127.0.0.1:1080",
|
|
55
|
-
stack="
|
|
55
|
+
stack="go",
|
|
56
56
|
tun_options={
|
|
57
57
|
"MTU": 1500,
|
|
58
58
|
"Inet4Address": ["198.18.0.1/15"],
|
|
@@ -74,7 +74,7 @@ values use upstream's numeric enums (0, 1, 2), and duration fields accept Go dur
|
|
|
74
74
|
Unknown fields and incorrect types are rejected. Runtime objects such as Context, Tun, Handler, Logger,
|
|
75
75
|
InterfaceFinder and InterfaceMonitor are supplied by the binding and cannot be passed as JSON.
|
|
76
76
|
|
|
77
|
-
Defaults are `stack="
|
|
77
|
+
Defaults are `stack="go"`, `Name=""` (automatic selection), `MTU=1500`, `Inet4Address=["198.18.0.1/15"]`,
|
|
78
78
|
`EXP_ExternalConfiguration=False`, `AutoRoute=True`, `DNSMode="disabled"`, `EXP_DisableDNSHijack=True`,
|
|
79
79
|
and stack `UDPTimeout="1m"`; other upstream fields keep their zero/default values. On every supported platform an omitted or empty
|
|
80
80
|
`Name` selects an unused `utun10`-`utun1024` name at startup, beginning at a random index. An explicit name is preserved.
|
|
@@ -89,9 +89,12 @@ To use an externally configured device and routes, pass
|
|
|
89
89
|
`tun_options={"EXP_ExternalConfiguration": True, "AutoRoute": False}`.
|
|
90
90
|
Creating/configuring the device and routes requires the appropriate platform privileges.
|
|
91
91
|
|
|
92
|
-
Stack choices are `"
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
Stack choices are `"go"` (upstream's new userspace TCP/UDP stack), `"gvisor"` (gVisor TCP/UDP),
|
|
93
|
+
`"system"` (OS TCP with upstream userspace UDP handling), and `"mixed"` (OS TCP plus gVisor UDP).
|
|
94
|
+
`stack=""` delegates selection to upstream, which selects `"go"` in this snapshot.
|
|
95
|
+
The Go stack's `TCPCongestionControl` option is available through `stack_options`.
|
|
96
|
+
This snapshot's Go parser rejects IPv6 hop-by-hop, routing, and destination option headers; gVisor remains available
|
|
97
|
+
for callers that need those packets. Packet processing follows the selected upstream stack.
|
|
95
98
|
|
|
96
99
|
The SOCKS handler requires an IP-literal `proxy` URL and supports optional username/password authentication. Its separate
|
|
97
100
|
bridge controls are `network_interface=""` (no explicit outbound SOCKS interface binding; the OS chooses the route), `log_level="error"`, `max_sessions=1024`,
|
|
@@ -116,7 +119,8 @@ Runtime provenance is available as `sing_tun.__version__`, `sing_tun.__upstream_
|
|
|
116
119
|
|
|
117
120
|
## Vendored Upstream Source
|
|
118
121
|
|
|
119
|
-
The source distribution vendors the exact
|
|
122
|
+
The source distribution vendors the exact sing-tun development commit recorded in `UPSTREAM_COMMIT`;
|
|
123
|
+
`UPSTREAM_VERSION` is `dev`. The package version identifies the development snapshot.
|
|
120
124
|
Files under `sing-tun-go/` preserve upstream source without modifications.
|
|
121
125
|
The separate `adapter/` module supplies the C ABI, Python lifecycle, SOCKS handler and descriptor ownership glue;
|
|
122
126
|
upstream constructors implement device and packet-stack behavior.
|
|
@@ -131,8 +135,13 @@ python scripts/verify_source.py
|
|
|
131
135
|
python scripts/sync-sing-tun.py verify
|
|
132
136
|
```
|
|
133
137
|
|
|
134
|
-
|
|
135
|
-
|
|
138
|
+
Stable releases use the same Git release tag as upstream. Development snapshots use Python versions such as
|
|
139
|
+
`0.9.7.dev0` and Git tags such as `v0.9.7.dev0`, with `dev` and an exact commit as upstream provenance.
|
|
140
|
+
Development releases are manual from `codex/development`, require the full build/test matrix, and are marked as GitHub
|
|
141
|
+
prereleases. The hourly stable-tag updater runs only on `main`; publishing a development snapshot does not change it.
|
|
142
|
+
To publish a prepared snapshot, run the distribution workflow manually on `codex/development` with the exact
|
|
143
|
+
commit as `checkout_ref`, `v0.9.7.dev0` as `release_tag`, and `dev` as `upstream_tag`.
|
|
144
|
+
Alternatively, push the matching development tag after committing the snapshot to that branch.
|
|
136
145
|
Developer synchronization tooling requires Python 3.12+. Publishing needs a PyPI trusted publisher for
|
|
137
146
|
`LorenEteval/sing-tun-python`, workflow `deploy-pypi.yml`, environment `deploy-pypi`, and the protected GitHub environment.
|
|
138
147
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3f8acd9da65b15b03ec66c7ecdb36759ebcdcc5d
|