-
Notifications
You must be signed in to change notification settings - Fork 2
/
Changes.txt
120 lines (104 loc) · 12.2 KB
/
Changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Version 0.1 from 06/29/24
Basic functionality - the minimum required for launching, proper operation, and stopping sing-box.
Version 0.2 from 07/01/24
1. Added a command to restart the script:
sbs restart
2. Added automatic creation of system scripts firewall-start and services-start, as well as checking for their existence, automatic adding and deleting of records and rules in them, as well as checking for their existence, to prevent their duplication. This is necessary to prevent sudden incorrect termination of the script during some events in the system, as well as for the correct autostart of the script when rebooting the router.
3. Added a check for the existence of the sing-box process to prevent duplication of some functions. Now, when trying to run the script twice in a row, it will not allow it.
4. Fixed the found errors.
Version 0.3 from 07/03/24
1. Added a command for setting up the script:
sbs setup
The setting is made in the router command line - some settings are made semi-automatically - confirmation is required, it is recommended to confirm, and a couple are entered into the console in response to requests with prompts.
2. Partially prepared for the transition to fully automatic installation.
Version 0.4 from 07/04/24
Automatic installation of the script and everything you need with one command in the router command line:
wget -O /jffs/scripts/sbs https://raw.githubusercontent.com/Dr4tez/sing-box4asus/main/sbs && chmod 775 /jffs/scripts/sbs && /jffs/scripts/sbs install
Version 0.5 from 07/11/24
1. The list of device IP addresses, the routing table number, and the TUN interface name have been moved to a separate configuration file—script-conf.
2. Changes in the code due to the relocation of the script to the /jffs/addons/sing-box directory.
3. The script can now be started with the command:
sbs
—when executed without additional parameters or with invalid parameters, a list of supported parameters will be displayed with their brief description and the ability to run by number.
4. New commands have been added:
sbs edit
-to edit the config.json file using the nano editor,
sbs remove
-after a single confirmation request, stops all script processes, rolls back changes made to system scripts, and performs a complete removal of all script files and directories.
5. Now, after starting the script in the console, you do not need to restart the router, script will continue to work correctly after closing the console.
6. Many optimizations.
7. The script has become more user-friendly.
Version 0.6 from 07/17/24
1. Added automatic restoration of IP rules for the script's routing table after system events that cause their deletion. For example, such an event is triggered by clicking the "Apply" button in the "WAN" section of the router's web interface.
2. Changed script file names and directories.
3. The installer and main script have been combined into one script.
4. Editing config.json in the nano editor is now moved to the command
sbs setup
5. The command
sbs edit
now edits the sbs-conf settings file in the nano editor.
6. Added command:
sbs update
for updating the main script file, monitor script, and sing-box core. This command will allow us to avoid manual migration to new versions in the future. It will be enough to simply execute this command in the router console.
7. Fixes for errors and bugs found in the previous version.
Version 0.7 from 07/25/24
1. Support for simultaneous operation of up to two TUN interfaces. This will be useful if, for example, you want to direct the traffic of some devices through sing-box according to the rules specified in the sing-box configuration file, while directing the traffic of other devices entirely to the proxy tunnel.
2. Added command:
sbs check
This function is built into the sing-box core and is used to check the correctness of the sing-box configuration file (config.json). It does not detect all errors, but in most cases, it helps a lot in finding them. As a result, it shows the first found error with its line and column number in config.json. Then, to fix the error, you are prompted to open config.json in the nano editor. After fixing and finishing editing, the next error, if any, is found, and you are again prompted to fix it in the nano editor. This repeats until you fix all errors or decide to stop by refusing to edit the next error.
3. Added command:
sbs format
This function is built into the sing-box core and is used to give config.json a readable structure as intended by the sing-box developer. First, like sbs check, the sbs format command checks config.json for errors. If errors are found, formatting will be impossible until you fix them all. After fixing all errors, the configuration file structure will be optimized, the result will be displayed in the console, and you will be prompted to save it to your config.json.
4. Minor bug fixes.
Version 0.8 from 08/04/24
Added the command:
sbs status
which shows whether sing-box is running, as well as the versions of the installed SBS script and sing-box core.
Version 0.9 from 08/09/24
1. Fixes for discovered issues.
2. Added support for routers with ARMv7/AArch32 processor architecture. Previously, only ARMv8/AArch64 architecture was supported.
Version 1.0 from 08/13/24
1. The output of the 'sbs status' command now includes the sing-box core architecture and the router's CPU architecture.
2. For devices whose traffic is routed through sing-box, the script now adds routing rules to the system that direct their local traffic to bypass sing-box. This improves the interaction of these devices with each other and with other devices on the local network.
3. Improved the logic of the sbs-monitor script.
Version 1.1 from 08/23/24
1. The routes and routing rules created by the script have been optimized.
2. A simpler and more reliable method for removing the routing tables created by the script at startup has been implemented when the script is stopped.
3. The 'sbs update' command now presents a menu that allows you to select components for updating and displays their installed and available versions.
4. Now, when configuring the script with the 'sbs setup' command, you can enter the entire subnet of the router in the field for device IP addresses. The only downside to this is that access to the router's web interface from the WAN will be lost if it is allowed in the router settings. Additionally, access from the WAN through port forwarding to other devices on the router's network will also be lost. However, this was already the case for all devices whose IP addresses were entered during the script setup.
Version 1.2 from 09/01/24
1. A separate menu has been created for script configuration, which can be accessed using the 'sbs setup' command. In this menu, functions previously performed by the single 'sbs setup' command have been separated: adding device IP addresses and changing routing table numbers. Additionally, the menu now includes the option to edit the script's settings file using the nano editor, which was previously done with the separate 'sbs edit' command.
2. In the script configuration menu, when adding a subnet in CIDR format as a device's IP address (e.g., 192.168.50.0/24), the next step prompts you to enter exception IP addresses.
3. A separate menu has been created for configuring the sing-box configuration file, accessible via the 'sbs edit' command. This menu combines functions previously performed by separate commands: checking the sing-box configuration file for errors and optimizing its structure. Additionally, this menu now includes the option to edit the sing-box configuration file using the nano editor, which was previously offered during the execution of the 'sbs setup' command.
4. The main script and the sbs-monitor script have been improved to correctly add, remove, and restore rules and routes, taking into account subnets and exceptions.
5. Code optimization and adjustments to command line output messages.
Version 1.3 from 09/19/24
1. Now DNS settings in the sing-box configuration file also work for tun interfaces.
2. In the 'sbs setup' script settings menu, an item for selecting DNS servers for tun interfaces has been added - DNS servers configured in the router's web interface, or DNS servers specified in the sing-box configuration file.
3. Improved sbs-monitor script logic.
4. Supplemented and revised Readme.txt. Be sure to read it.
Version 1.4 from 09/23/24
Optimizations, bugfixes and logic improvements for several script functions.
Version 1.5 from 10/13/24
1. Added a new menu called by the 'sbs server' command to specify ports that will be opened from WAN to the router when sing-box starts and closed when it stops. This will be useful for sing-box to work not only in client mode, but also in server mode with access from WAN, if you need it. For sing-box to work in server mode with access from WAN, specify at least one inbound proxy server with encryption and authorization in the sing-box configuration file.
2. The script code has been modified to work with only one TUN interface, since the functionality added by the second TUN interface can be implemented with just a couple of simple rules in the sing-box configuration file. This allowed us to solve problems when creating NAT rules for several subnets of different sizes, and also reduced the code size by a third.
3. Due to the reduction of the permitted number of tun interfaces to one, the template of the sing-box configuration file has been changed.
4. To maintain priorities, the logic of adding routing and nat rules by the main script and monitor has been changed. Now, when configuring the script in the 'sbs setup' menu, you can add any number of subnets of any size and in any order. As a result, in the routing and nat rules created by the script, smaller subnets will always have priority over larger ones.
5. A new option has been added to the IP address settings in the 'sbs setup' menu - 'Add/remove IP addresses'. It works like this: enter IP addresses, separating them with spaces, those that are already in the list will be removed from it, and those that are not will be added.
6. The item for editing the sbs-conf file in the nano editor has been removed from the 'sbs setup' menu.
7. Changed the menu command for editing and checking the config.json file from 'sbs edit' to 'sbs config'.
8. The numbering of some of the choices provided by the script has been changed. Be careful when selecting options if you are used to their original numbering.
9. The names of variables in the sbs-conf file created by the script have been changed.
10. Several minor edits to the script code.
Version 1.6 from 10/20/24
1. Fixed termination of the sing-box process when exiting any script menu using the Ctrl+C key combination, if this menu was entered in the same terminal session as the last launch of sing-box.
2. When stopping sing-box, all records created by the sing-box script at its start are deleted from the firewall-start, nat-start and services-start scripts, according to the text of the "sing-box-script" comment added to the records. This guarantees the deletion of all records created by the script, without harming others.
3. Several more bugfixes.
You can update from version 1.5 to version 1.6 by simply selecting the first item in the menu 'sbs update'.
From version 1.4 and older, you can update to version 1.6 only by reinstalling the script according to the following instructions:
1. Save your configuration file config.json from the /jffs/addons/sing-box-script directory somewhere safe.
2. Remove the previous version by running the command 'sbs remove' in the router's command line.
3. Install version 1.6 by executing the following command in the router's command line: 'wget -O /jffs/scripts/sbs https://raw.githubusercontent.com/Dr4tez/sing-box4asus/main/sbs && chmod 775 /jffs/scripts/sbs && /jffs/scripts/sbs install'
4. Modify your config.json configuration file to work with a single tun interface. You can use the new template of my configuration file as a sample, which was installed with version 1.6 of the script.
5. Place your modified config.json configuration file in the /jffs/addons/sing-box-script directory instead of the template.
6. Configure the script by running the 'sbs setup' command in the router's command line.