diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..2da2d1b
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "merge"]
+ path = merge
+ url = https://github.com/wcbing/merge-apt-repo
diff --git a/README.md b/README.md
index b252950..576be62 100644
--- a/README.md
+++ b/README.md
@@ -35,8 +35,6 @@ echo "deb [signed-by=/etc/apt/keyrings/wcbing.gpg] https://packages.wcbing.top/d
|mihomo|mihomo|[Github Releases](https://github.com/MetaCubeX/mihomo/releases)|
|hugo|hugo|[Github Releases](https://github.com/gohugoio/hugo/releases)|
|RustDesk|rustdesk|[Github Releases](https://github.com/rustdesk/rustdesk/releases)|
-|Visual Studio Code|code|[官网](https://code.visualstudio.com)|
-|Microsoft Edge|microsoft-edge-stable|[官网](https://www.microsoft.com/en-us/edge/download)|
|Obsidian|obsidian|[Github Releases](https://github.com/obsidianmd/obsidian-releases/releases)|
|WPS Office|wps-office|[官网](https://linux.wps.cn/)|
|百度网盘|baidunetdisk|[官网](https://pan.baidu.com/download)|
@@ -49,13 +47,17 @@ echo "deb [signed-by=/etc/apt/keyrings/wcbing.gpg] https://packages.wcbing.top/d
### 合并自官方 repo
-|软件名|包名|渠道|架构|
-|-|-|-|-|
-|Google Chrome|google-chrome-stable
google-chrome-beta
google-chrome-unstable|官方仓库|x86_64|
-|termius|termius-app
termius-beta|官方仓库|x86_64|
-|Sublime Text
Sublime Merge|sublime-text
sublime-merge|官方仓库|x86_64, arm64|
-|Mozilla Firefox|firefox
firefox_beta
firefox_devedition
firefox_esr
firefox_nightly
|官方仓库|x86_64|
-|Steam|steam-launcher
steam-libs-amd64|官方仓库|x86_64|
+|软件名|包名|
+|-|-|
+|Mozilla Firefox|firefox
firefox_beta
firefox_devedition
firefox_esr
firefox_nightly|
+|Google Chrome|google-chrome-stable
google-chrome-beta
google-chrome-unstable|
+|Microsoft Edge|microsoft-edge-stable
microsoft-edge-beta
microsoft-edge-dev|
+|Visual Studio Code|code
code-insiders
code-exploration|
+|termius|termius-app
termius-beta|
+|Sublime Text
Sublime Merge|sublime-text
sublime-merge|
+|Steam|steam-launcher
steam-libs-amd64|
+|Tailscale|tailscale
tailscale-nginx-auth|
+
## 自建仓库
diff --git a/data/config.json b/data/config.json
new file mode 100644
index 0000000..9a10b54
--- /dev/null
+++ b/data/config.json
@@ -0,0 +1,5 @@
+{
+ "packages_https": "deb/Packages",
+ "merge_all_https": "data/merge_all_https.json",
+ "merge_latest_https": "data/merge_latest_https.json"
+}
\ No newline at end of file
diff --git a/merge_all/repo_info.json b/data/merge_all_https.json
similarity index 100%
rename from merge_all/repo_info.json
rename to data/merge_all_https.json
diff --git a/data/merge_latest_https.json b/data/merge_latest_https.json
new file mode 100644
index 0000000..25cdc27
--- /dev/null
+++ b/data/merge_latest_https.json
@@ -0,0 +1,27 @@
+[
+ {
+ "name": "firefox",
+ "repo": "https://packages.mozilla.org/apt/",
+ "amd64_path": "dists/mozilla/main/binary-amd64/Packages"
+ },
+ {
+ "name": "microsoft-edge",
+ "repo": "https://packages.microsoft.com/repos/edge/",
+ "amd64_path": "dists/stable/main/binary-amd64/Packages"
+ },
+ {
+ "name": "code",
+ "repo": "https://packages.microsoft.com/repos/code/",
+ "amd64_path": "dists/stable/main/binary-amd64/Packages"
+ },
+ {
+ "name": "tailscale",
+ "repo": "https://pkgs.tailscale.com/stable/debian/",
+ "amd64_path": "dists/sid/main/binary-amd64/Packages"
+ },
+ {
+ "name": "sublime",
+ "repo": "https://download.sublimetext.com/",
+ "amd64_path": "apt/stable/Packages"
+ }
+]
\ No newline at end of file
diff --git a/get/code.py b/get/code.py
deleted file mode 100644
index eaa6651..0000000
--- a/get/code.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import requests
-import re
-from module.check import deb
-
-x64_deb_req = "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64"
-
-res = requests.head(x64_deb_req)
-version = re.findall("_(.*)-", res.headers["Location"])[0]
-x64_deb_url = res.headers["Location"]
-# print(version, x64_deb_url)
-
-deb("code", version, x64_deb_url)
diff --git a/get/microsoft-edge-stable.py b/get/microsoft-edge-stable.py
deleted file mode 100644
index f7b87ac..0000000
--- a/get/microsoft-edge-stable.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import requests
-import re
-from module.check import deb
-
-x64_deb_url = "https://go.microsoft.com/fwlink?linkid=2149051"
-
-res = requests.head(x64_deb_url)
-version = re.findall("_(.*)_", res.headers["Location"])[0]
-x64_deb_url = res.headers["Location"]
-# print(version, x64_deb_url)
-
-deb("microsoft-edge-stable", version, x64_deb_url)
diff --git a/merge_all/merge_all.py b/merge_all/merge_all.py
deleted file mode 100644
index e6ef0bd..0000000
--- a/merge_all/merge_all.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import requests
-import json
-
-
-"""
-Merge all deb packages info from repos to a Packages file.
-These repos only include the latest deb packages.
-"""
-
-repo_info_list = []
-amd64_Packages_all = ""
-
-# read all repo info from json file
-with open("merge_all/repo_info.json", "r") as all_repo_info:
- repo_info_list = json.loads(all_repo_info.read())
-all_repo_info.close()
-
-"""
-repo info json format:
-{
- "name": repo name
- "repo": repo url, end with "/"
- "Packages_path": repo Packages file path, start with no "/"
-}
-"""
-
-# get deb packages info from repo
-for i in repo_info_list:
- # get amd64 deb packages info
- if "amd64_path" in i:
- amd64_Packages_info = requests.get(i["repo"] + i["amd64_path"]).text
- amd64_Packages_all += amd64_Packages_info.replace(
- "Filename: ", "Filename: " + i["repo"]
- )
- print(i["name"] + " x64 repo: done")
-
-# write deb packages info to local Packages file
-with open("deb/Packages", "a+") as f:
- f.write(amd64_Packages_all)
-f.close()
diff --git a/merge_latest/firefox.py b/merge_latest/firefox.py
deleted file mode 100644
index f1c3542..0000000
--- a/merge_latest/firefox.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import requests
-import re
-from module.merge_deb import merge_latest_deb
-
-deb_repo = "https://packages.mozilla.org/apt/"
-
-x64_deb_Packages_path = "dists/mozilla/main/binary-amd64/Packages"
-x64_deb_Packages = requests.get(deb_repo + x64_deb_Packages_path).text
-x64_debs = re.split("(?=Package: )", x64_deb_Packages)[1:]
-
-# firefox 的 Packages 按照版本升序排列,最后一个即为最新版本
-
-firefox_x64_debs = []
-firefox_beta_x64_debs = []
-firefox_devedition_x64_debs = []
-firefox_esr_x64_debs = []
-firefox_nightly_x64_debs = []
-
-for x64_deb in x64_debs:
- if "Package: firefox\n" in x64_deb:
- firefox_x64_debs.append(x64_deb)
- elif "Package: firefox-beta\n" in x64_deb:
- firefox_beta_x64_debs.append(x64_deb)
- elif "Package: firefox-devedition\n" in x64_deb:
- firefox_devedition_x64_debs.append(x64_deb)
- elif "Package: firefox-esr\n" in x64_deb:
- firefox_esr_x64_debs.append(x64_deb)
- elif "Package: firefox-nightly\n" in x64_deb:
- firefox_nightly_x64_debs.append(x64_deb)
-
-x64_deb_latest = (
- firefox_x64_debs[-1]
- + firefox_beta_x64_debs[-1]
- + firefox_devedition_x64_debs[-1]
- + firefox_esr_x64_debs[-1]
- + firefox_nightly_x64_debs[-1]
- + "\n"
-)
-
-merge_latest_deb("firefox", deb_repo, x64_deb_latest)
diff --git a/merge_latest/module/merge_deb.py b/merge_latest/module/merge_deb.py
deleted file mode 100644
index 013b076..0000000
--- a/merge_latest/module/merge_deb.py
+++ /dev/null
@@ -1,14 +0,0 @@
-def merge_latest_deb(name, repo, deb_latest, local_Packages_path="deb/Packages"):
- r"""Merge latest deb packages info from a repo to a Packages file
-
- :param name: repo name
- :param repo: repo url, end with "/"
- :param deb_latest: latest deb package info manually organized
- :param local_Packages_path: local Packages file path, default is "deb/Packages"
- :return: None
- """
-
- with open(local_Packages_path, "a+") as f:
- f.write(deb_latest.replace("Filename: ", "Filename: " + repo))
- f.close()
- print(name + " repo: done")
diff --git a/merge_latest/sublime.py b/merge_latest/sublime.py
deleted file mode 100644
index d797b0f..0000000
--- a/merge_latest/sublime.py
+++ /dev/null
@@ -1,30 +0,0 @@
-import requests
-import re
-from module.merge_deb import merge_latest_deb
-
-deb_repo = "https://download.sublimetext.com/"
-
-deb_Packages_url = deb_repo + "apt/stable/Packages"
-deb_Packages = requests.get(deb_Packages_url).text
-debs = re.split("(?=Package: )", deb_Packages)[1:]
-# print(debs)
-
-# sublime 的 Packages 按照版本升序排列,倒数两个为 amd64 和 arm64 最新版本
-
-sublime_text_debs = []
-sublime_merge_debs = []
-
-for deb in debs:
- if "Package: sublime-text\n" in deb:
- sublime_text_debs.append(deb)
- elif "Package: sublime-merge\n" in deb:
- sublime_merge_debs.append(deb)
-
-deb_latest = (
- sublime_text_debs[-2]
- + sublime_text_debs[-1]
- + sublime_merge_debs[-2]
- + sublime_merge_debs[-1]
-)
-
-merge_latest_deb("sublime", deb_repo, deb_latest)
diff --git a/update_gen.sh b/update_gen.sh
index bb04f18..3ebc55c 100755
--- a/update_gen.sh
+++ b/update_gen.sh
@@ -10,8 +10,7 @@ apt-ftparchive packages . > Packages
# merge the Packages files of third-party repositories
cd ..
-find merge_latest -maxdepth 1 -type f -name "*.py" -exec python3 {} \;
-python3 merge_all/merge_all.py
+./merge-apt-repo
cd deb
# list brief information about packages