nullforge 0.1.0__py3-none-any.whl

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.
Files changed (99) hide show
  1. nullforge/__init__.py +1 -0
  2. nullforge/foundry/README.md +0 -0
  3. nullforge/foundry/__init__.py +7 -0
  4. nullforge/foundry/full_cast.py +22 -0
  5. nullforge/inventories/README.md +0 -0
  6. nullforge/inventories/example.py +87 -0
  7. nullforge/models/__init__.py +1 -0
  8. nullforge/models/containers.py +60 -0
  9. nullforge/models/dns.py +222 -0
  10. nullforge/models/monitoring/__init__.py +29 -0
  11. nullforge/models/monitoring/base.py +19 -0
  12. nullforge/models/monitoring/nezha.py +13 -0
  13. nullforge/models/netsec.py +43 -0
  14. nullforge/models/profiles.py +33 -0
  15. nullforge/models/system.py +15 -0
  16. nullforge/models/users.py +9 -0
  17. nullforge/models/warp.py +65 -0
  18. nullforge/models/zerotrust.py +9 -0
  19. nullforge/molds/__init__.py +38 -0
  20. nullforge/molds/base_mold.py +59 -0
  21. nullforge/molds/containers.py +26 -0
  22. nullforge/molds/defaults.py +10 -0
  23. nullforge/molds/dns.py +70 -0
  24. nullforge/molds/features.py +75 -0
  25. nullforge/molds/haproxy.py +23 -0
  26. nullforge/molds/monitoring/__init__.py +45 -0
  27. nullforge/molds/monitoring/nezha.py +118 -0
  28. nullforge/molds/netsec.py +237 -0
  29. nullforge/molds/profiles.py +30 -0
  30. nullforge/molds/system.py +140 -0
  31. nullforge/molds/telemt.py +140 -0
  32. nullforge/molds/tor.py +28 -0
  33. nullforge/molds/user.py +77 -0
  34. nullforge/molds/utils.py +115 -0
  35. nullforge/molds/warp.py +54 -0
  36. nullforge/molds/xray.py +16 -0
  37. nullforge/molds/zerotrust.py +59 -0
  38. nullforge/runes/__init__.py +46 -0
  39. nullforge/runes/base.py +327 -0
  40. nullforge/runes/containers.py +212 -0
  41. nullforge/runes/dns.py +256 -0
  42. nullforge/runes/haproxy.py +135 -0
  43. nullforge/runes/monitoring.py +21 -0
  44. nullforge/runes/netsec.py +547 -0
  45. nullforge/runes/prepare.py +30 -0
  46. nullforge/runes/profiles.py +583 -0
  47. nullforge/runes/telemt.py +252 -0
  48. nullforge/runes/tor.py +57 -0
  49. nullforge/runes/users.py +159 -0
  50. nullforge/runes/warp.py +273 -0
  51. nullforge/runes/xray.py +81 -0
  52. nullforge/runes/zerotrust.py +91 -0
  53. nullforge/smithy/__init__.py +1 -0
  54. nullforge/smithy/admin.py +40 -0
  55. nullforge/smithy/arch.py +36 -0
  56. nullforge/smithy/blocky.py +37 -0
  57. nullforge/smithy/cloudflare.py +32 -0
  58. nullforge/smithy/github.py +256 -0
  59. nullforge/smithy/http.py +85 -0
  60. nullforge/smithy/install.py +149 -0
  61. nullforge/smithy/monitoring/__init__.py +1 -0
  62. nullforge/smithy/monitoring/nezha/__init__.py +0 -0
  63. nullforge/smithy/monitoring/nezha/agent.py +54 -0
  64. nullforge/smithy/monitoring/nezha/dashboard.py +137 -0
  65. nullforge/smithy/monitoring/nezha/deploy.py +81 -0
  66. nullforge/smithy/network.py +95 -0
  67. nullforge/smithy/packages.py +176 -0
  68. nullforge/smithy/service.py +37 -0
  69. nullforge/smithy/sni.py +358 -0
  70. nullforge/smithy/swap.py +132 -0
  71. nullforge/smithy/system.py +86 -0
  72. nullforge/smithy/versions.py +282 -0
  73. nullforge/templates/__init__.py +32 -0
  74. nullforge/templates/cloudflared/tunnel.yml.j2 +6 -0
  75. nullforge/templates/dns/blocky.yaml.j2 +11 -0
  76. nullforge/templates/dns/dns.yaml.j2 +6 -0
  77. nullforge/templates/dns/resolv.conf.j2 +1 -0
  78. nullforge/templates/dns/resolved.conf.j2 +13 -0
  79. nullforge/templates/etc/default/zramswap.j2 +13 -0
  80. nullforge/templates/nvim/nvim_patch.lua.j2 +5 -0
  81. nullforge/templates/profiles/direnv.toml +2 -0
  82. nullforge/templates/profiles/starship.toml +186 -0
  83. nullforge/templates/profiles/tmux.conf +32 -0
  84. nullforge/templates/profiles/zshrc.j2 +46 -0
  85. nullforge/templates/scripts/telemt-synfix.sh +89 -0
  86. nullforge/templates/scripts/teleproxy-warp.sh +127 -0
  87. nullforge/templates/scripts/warp-v6-policy.sh +118 -0
  88. nullforge/templates/scripts/zt-tunnel-warp.sh +28 -0
  89. nullforge/templates/systemd/blocky.service.j2 +19 -0
  90. nullforge/templates/systemd/cloudflare-tunnel.service.j2 +27 -0
  91. nullforge/templates/systemd/cloudflare-warp.service.j2 +21 -0
  92. nullforge/templates/systemd/dns-internal.service.j2 +15 -0
  93. nullforge/templates/systemd/telemt.service.j2 +36 -0
  94. nullforge/templates/telemt/telemt.toml.j2 +49 -0
  95. nullforge/templates/tor/torrc.j2 +5 -0
  96. nullforge-0.1.0.dist-info/METADATA +39 -0
  97. nullforge-0.1.0.dist-info/RECORD +99 -0
  98. nullforge-0.1.0.dist-info/WHEEL +4 -0
  99. nullforge-0.1.0.dist-info/licenses/LICENSE +7 -0
@@ -0,0 +1,99 @@
1
+ nullforge/__init__.py,sha256=IOEzhCbX916JIkvZr03GFY4bl9YqSkfjdqLO4qJ2FOs,50
2
+ nullforge/foundry/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ nullforge/foundry/__init__.py,sha256=d1ASOmFXjrBw-XfGsNaogXk55kPTOR4Qa5frVQt-9LI,149
4
+ nullforge/foundry/full_cast.py,sha256=Deq_tg9pXuyH0upLvKwOO578Y6Brs5ePMA8gweSm9sw,628
5
+ nullforge/inventories/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ nullforge/inventories/example.py,sha256=WxDKocfRrT9B7w3Lp3UyUOuqnxTw6rKgE24smdhx3zg,2336
7
+ nullforge/models/__init__.py,sha256=Oo1oU7UMyWqxw5fL0DmwXe0dhFSklwSIgrsW5Mxfz4k,62
8
+ nullforge/models/containers.py,sha256=lkaZXly_UMCiMjnPt6pkJxaYGpo8PcqwfchaBc-3mdg,1901
9
+ nullforge/models/dns.py,sha256=F6OUnjKD5xmAhG5RhMhYnoVT4C18sRWfSeMYqZ5StXQ,7287
10
+ nullforge/models/netsec.py,sha256=fNdPblawX45r0L9nrIFNrpKTNgQc4paJ9WBpA1iUcU4,1405
11
+ nullforge/models/profiles.py,sha256=N_J4mc6DD2CG-q92a9TJX6a5_1YBETmFVvm-8akeiJE,943
12
+ nullforge/models/system.py,sha256=XuGyNkpsIjYtfVWVlHlAg58gGlRGqwRYXjX5N5_SzxQ,233
13
+ nullforge/models/users.py,sha256=nnn2KYV9_LNomA5Y3lUJPaa0AzlZOWQRstttFuX1Y-4,157
14
+ nullforge/models/warp.py,sha256=0CoVBhtqq-6T9dFM7X-Nv86gQC1XCJtRP4umRHO1oHg,2160
15
+ nullforge/models/zerotrust.py,sha256=hgrLjjZxNA6dHkIo8bKQS3ViB3REFgq6bVXLMIgKSdo,170
16
+ nullforge/models/monitoring/__init__.py,sha256=FEd-bWVyhpnw5RUFMBY6kJWkMYpjjiTefs0aWnFDhYA,758
17
+ nullforge/models/monitoring/base.py,sha256=UwcmtfLjz3BMbUDogYqT5QqPgRtXbCJ8VdSU84MWUfM,711
18
+ nullforge/models/monitoring/nezha.py,sha256=oN8CMR3jHPvXtiBurHQoBtE3ZcO_6iH42Jr5K63HRqo,558
19
+ nullforge/molds/__init__.py,sha256=VaAoZPfPw9ylbcvxYicK7lMyp-7ZIyKahPiw4IPplBk,882
20
+ nullforge/molds/base_mold.py,sha256=6ORrJPsG2Q4lWc7rqiLSUS-xsguAGDoS5RaKxpMiHDk,2176
21
+ nullforge/molds/containers.py,sha256=ZUAQvWLMM5o2T-U1e8rK4UtOqmUJXqyBd9XiZ19pugc,647
22
+ nullforge/molds/defaults.py,sha256=pXK6Xe9UE8MhrCTCkjd1a0hVOFq3mpjN3hwyD9A7TfA,223
23
+ nullforge/molds/dns.py,sha256=09uqZWfU8ZVin2KD08m8oaG01t87vXXEaVgotL8nSP8,2192
24
+ nullforge/molds/features.py,sha256=bUAoNSSjOfOBEeADHlxbt0drSCkn_OHL_INGHHU5Zow,2730
25
+ nullforge/molds/haproxy.py,sha256=_ITj73uwTcce7GAeAyG6S3vmSBiyjdTL1qQA-vaR96w,602
26
+ nullforge/molds/netsec.py,sha256=i4oE6TyrkM0jTI4VWO7gm8ib-aMUQn2BJT4MJw6FNVk,8009
27
+ nullforge/molds/profiles.py,sha256=sEtN5Qxe9I0N1_2I-3fFyyM99fej6vn8_Ek_J6S34dw,831
28
+ nullforge/molds/system.py,sha256=kpbPdU9ZcNg4_GeJpiGbkbc9_YamCgOnX8sM8fw-88k,3813
29
+ nullforge/molds/telemt.py,sha256=KPmf1wwI9iC0gGtTYUMI9sEB6h6WMYAGbk_skfqJ4QY,4933
30
+ nullforge/molds/tor.py,sha256=DWhNvw7rZhu9pBNspQV5sGYKUaoR6YtxwMvoSv37aaA,602
31
+ nullforge/molds/user.py,sha256=0EkUL84YV90lolEYEqb7DfXAfWQaf71cYyh0mlvgEU4,2217
32
+ nullforge/molds/utils.py,sha256=unXxi6J0RuWVDRd7nq6l62lhLQ8HatHanMMdYHw7R4A,3844
33
+ nullforge/molds/warp.py,sha256=wZfZjZ0iZWWbI6VPQv4YkdOhtz_8ox47AxYruywKM8M,1431
34
+ nullforge/molds/xray.py,sha256=sF458wEIAO5GxBvo35RoBxU2ILZDg7c6iXcb-KkcTjY,313
35
+ nullforge/molds/zerotrust.py,sha256=wkZTDnLnT4bOfmrRPGMKVSNAexMYYSox3SfIW712z8g,1953
36
+ nullforge/molds/monitoring/__init__.py,sha256=M4ZRyu9T5wvJyX41CWwm5SSfSFG-Yu3Oxry967y7wyg,1050
37
+ nullforge/molds/monitoring/nezha.py,sha256=UWU12sxbN4lQ9ZJhXiYAMzvudvx1Jicj7wOOyjkp8-Y,4204
38
+ nullforge/runes/__init__.py,sha256=ePj7c8bIyI99HhEYYTHMPeYKmbxBhMOJMu0KCUkGKtk,1231
39
+ nullforge/runes/base.py,sha256=NSfXfz6iYwBdNMRh9VMsQnPuckXO3i-fuDsFGa7nMs0,8524
40
+ nullforge/runes/containers.py,sha256=0RRsKWDd8vAm5WoVwKbQYwvV1OxxoBlngLt8rce4iWI,5589
41
+ nullforge/runes/dns.py,sha256=gw0iRhrYwAuTYtLEst966Jw1ohc0Q6_DFMlRWi5V49A,7702
42
+ nullforge/runes/haproxy.py,sha256=dfafZ1j9btAM-mPks0_qshXFVeX4opziYu7Sd8wMpLk,4002
43
+ nullforge/runes/monitoring.py,sha256=0egqFVnZ9A1S4H286JhpizwO1rqL6sv6DwMGoNCJ3tk,562
44
+ nullforge/runes/netsec.py,sha256=mVAXJ3tVD5W9yrasmbeKM2mbG28pPQAdq3VR5rZWeRA,17163
45
+ nullforge/runes/prepare.py,sha256=QjqXcBYUmlt_8Qu_CdoflKOck1dSONGYsq61x5Q2EQs,555
46
+ nullforge/runes/profiles.py,sha256=3Qnz0IZb6y4WqqTg3srJ8pDe-NNPLtlUe8HC2syeai0,17244
47
+ nullforge/runes/telemt.py,sha256=WJZcKAQw78ekULLiBs8s8qkjvl33r7VNKRNdiajnIow,8014
48
+ nullforge/runes/tor.py,sha256=R_2Dz4zknFriELR-KTlZLe1VDv-kOeZV9ul5ovwIVGA,1272
49
+ nullforge/runes/users.py,sha256=IliYNLJFoV-djQ8DEmdPrHWRhNWHD-rJkXweCtinNzk,4492
50
+ nullforge/runes/warp.py,sha256=4c28gWcAsoXnx23EoBIFwXnSoH1AUq8GOco3kI81FCo,8204
51
+ nullforge/runes/xray.py,sha256=iZukvIrxRZBbF7Lhyyyskryq8g6aV8L58Sd6UPq6F2w,2155
52
+ nullforge/runes/zerotrust.py,sha256=5zMSsEXr8BoJMI16j-lI0K2WT5q_jQ4gSxAKGM2kvfQ,3045
53
+ nullforge/smithy/__init__.py,sha256=2hZUNJbk6MSE-49vDKuDeS5pHqBiLeHposdPhs1Qf40,29
54
+ nullforge/smithy/admin.py,sha256=9c3pFNnZjAnQAquUgYCP1d4fpgx_Jlfe1f47AoQQBhs,1234
55
+ nullforge/smithy/arch.py,sha256=x0uA7HEsOl4aOtcYncMT7WqeNoC67iIyMwYl2BkGN7Y,852
56
+ nullforge/smithy/blocky.py,sha256=tflZS5ibTSsAuWTwYwZxWv1e3P6jD_h15trQUDDwtoM,966
57
+ nullforge/smithy/cloudflare.py,sha256=hRXuRshokPFOC71aLqj9TVF_FBkMdSz6gHovF5nrdnw,948
58
+ nullforge/smithy/github.py,sha256=v3cjd9HmjcUFzu51Cs0RcLQR8Mp5N2Itobwn6u8hwEI,8977
59
+ nullforge/smithy/http.py,sha256=zXeNGBCkaAop1qm4hDaX4rnbWmGMWQDhCn52JYO-Z34,2718
60
+ nullforge/smithy/install.py,sha256=ZqggdbLRPsyEpx0aM_1mqmwzz_fHE-Mqf0KuHCLK3jo,4999
61
+ nullforge/smithy/network.py,sha256=RYtpCZYM1UsedVMGbC02XeLBSpbmx3TrQeKq8_DeWTo,2794
62
+ nullforge/smithy/packages.py,sha256=O0ggk7PWSxeVB-TE8GD5UbLFpv-VXnII4NHkYxcSmVk,5338
63
+ nullforge/smithy/service.py,sha256=Pj8wel7qzbhaTeWb2X7CB7yaXIV2xE8Sl7vi8U3zOak,1061
64
+ nullforge/smithy/sni.py,sha256=YVRW9vjYB52li1J95ALA6MLol47tLZWBWBM536OZwcw,13012
65
+ nullforge/smithy/swap.py,sha256=IRW79LH0_VbERtxPFZUPJNx6C59E6rnubPMemD09WtY,3191
66
+ nullforge/smithy/system.py,sha256=KPnaXNyEmbg9JYPZnvmsUhXB8am6AY9Gj73tCwl3V4w,2640
67
+ nullforge/smithy/versions.py,sha256=JhMNb4mH-Z8GNrW5tKA64tDDkNy6WnaGZ0m_y5TkNWs,9108
68
+ nullforge/smithy/monitoring/__init__.py,sha256=HVEePFJJkCGUOfFWJZowc98Trz9umlelgXA4uO0FRMc,61
69
+ nullforge/smithy/monitoring/nezha/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ nullforge/smithy/monitoring/nezha/agent.py,sha256=OiGQiH5D8uSG7TFXQLrPjwEgTtFGJ9l9yRWiPt88JAA,1688
71
+ nullforge/smithy/monitoring/nezha/dashboard.py,sha256=_lcSRVkyQNrr9pNv4YD_TXxh4Apyhemexk4TId9EW1U,4624
72
+ nullforge/smithy/monitoring/nezha/deploy.py,sha256=_dlmGjXkgzi4QMOJ-nQI4XJ0hPDEcAc4UMD8Uf0zyN0,2539
73
+ nullforge/templates/__init__.py,sha256=AgWKxp1YjVRijGG5zomVDK8yJm3YYS00WzkaXqU23rg,912
74
+ nullforge/templates/cloudflared/tunnel.yml.j2,sha256=lN2CHKF_TY4RZJ3dQYJjHVVqtBWim3gcmM9tKAbMJhY,134
75
+ nullforge/templates/dns/blocky.yaml.j2,sha256=PHos94fKL57uBZwsY4ARD68X9JmjmgcaqwA8qNIcK94,160
76
+ nullforge/templates/dns/dns.yaml.j2,sha256=S-4X6uoVJDs8AL2lrcSyMONzzgmgRVwEa4SEoPsWIdQ,129
77
+ nullforge/templates/dns/resolv.conf.j2,sha256=Ke3FbBuRr59XQVpM8EPsLF2f5vriYwXWxwod9Jb53Qg,32
78
+ nullforge/templates/dns/resolved.conf.j2,sha256=2aDp_FmgJ7NnjBKbmVvqO90dp5Fx7byQpdgItjja4T0,205
79
+ nullforge/templates/etc/default/zramswap.j2,sha256=ZVTgGR6AqggueR64qJJzpU7RkCaL7Qy6puSfvHy6BX8,303
80
+ nullforge/templates/nvim/nvim_patch.lua.j2,sha256=wFqxT0JNMWV9AUri6SKhxUIdnf7R9bVwLrdG6e-qt5A,155
81
+ nullforge/templates/profiles/direnv.toml,sha256=wWjPu9N1zyKVuGCATszQpCgNKFxL2w66S41jPXhVX_w,28
82
+ nullforge/templates/profiles/starship.toml,sha256=6L6DtPHyCrGRmGpD4qI3kHBufPGytSnMfJe6E7USHyo,2021
83
+ nullforge/templates/profiles/tmux.conf,sha256=AHRN_lDVfVCaH84BkzG5grIV1eGpMB0nlDe01HsQ1Ss,1028
84
+ nullforge/templates/profiles/zshrc.j2,sha256=XtfJt1d1CCZZvNWaVf_TzOIp0jeDCDLLh-TWlCOUXNU,1325
85
+ nullforge/templates/scripts/telemt-synfix.sh,sha256=vV3EggGxh1ZtFKt5hA_Pn79jBPEcjuFo-bOht8FjUsc,2703
86
+ nullforge/templates/scripts/teleproxy-warp.sh,sha256=2FmiJUMaSJ7Co4UpvSNZXS9-KrMglTsyp9RXIyfsEzA,4813
87
+ nullforge/templates/scripts/warp-v6-policy.sh,sha256=7vIfjFeTF_9MLff0eQ7ZacPGBsjbAGNi2VeOKcCqJ8w,3078
88
+ nullforge/templates/scripts/zt-tunnel-warp.sh,sha256=Nre8gMdPs64MeOy8L1uyZ1DTEECZtpyHZ99AZ4wUW7Q,523
89
+ nullforge/templates/systemd/blocky.service.j2,sha256=3g-E4mP4bcnx5ogRoHerViK2z5hrL_0rV9utyYuB-6I,392
90
+ nullforge/templates/systemd/cloudflare-tunnel.service.j2,sha256=Hk2jpIuASLYDzvCVwp-fSLA20znBKVrT7sp3gDP25rE,695
91
+ nullforge/templates/systemd/cloudflare-warp.service.j2,sha256=gACaiHM1zu_KoVIMDRgJ5ppYiK3inBtzjGJnWlAfSB8,619
92
+ nullforge/templates/systemd/dns-internal.service.j2,sha256=2k5gT_4poXkgswO2B_jlzd_8dAEIHeMmmpDiqRA9NQg,514
93
+ nullforge/templates/systemd/telemt.service.j2,sha256=ZePVxd6-wIRl9PJFsMCTqIsjoWOKL85fltHg3BwelOg,943
94
+ nullforge/templates/telemt/telemt.toml.j2,sha256=cPJvJuAjP_mih4Q-4GOFXZ785wqYI_0gWmsNcoC0yJM,1109
95
+ nullforge/templates/tor/torrc.j2,sha256=Xq3oDilNou5BMNd0lqgQyF55sAGyYd6uA1LiYRn7hT4,124
96
+ nullforge-0.1.0.dist-info/METADATA,sha256=4TBg9nJvUKUqYbRy0ZSrg1V_u5ISrdpyjoyghwhg5UI,1541
97
+ nullforge-0.1.0.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
98
+ nullforge-0.1.0.dist-info/licenses/LICENSE,sha256=Bz7eb_OZAPMBOTJtczsHunkZjij0YLf4OXDtpuphjuI,1062
99
+ nullforge-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.31.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,7 @@
1
+ Copyright 2026 Renat Mustafin
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.