siyuan破解
思源笔记好用吗?
思源笔记是一款基于去中心化的加密分布式存储架构的笔记应用,它具有以下特点:
- 去中心化:数据存储分布于全球的节点服务器上,不集中在某一个中心服务器,能够提供更高的数据安全性和抗审查能力。
- 加密存储:用户的笔记内容在存储前会进行加密处理,保护用户数据的隐私。
- 离线可用性:用户可以在没有网络连接的情况下创建、编辑和查看笔记,数据同步会在网络恢复时进行。
- 跨平台使用:支持Windows、Mac、Linux、Android、iOS等多个操作系统平台,方便用户在不同设备间切换使用。
- 协作功能:支持多人协作编辑同一份文档,非常适合团队协作。
- 内置功能丰富:内置了强大的搜索功能、图片和视频支持、以及通过插件扩展的功能等,提高了笔记管理的效率。
但是,思源笔记作为一个跨平台、去中心化的应用,它也有一些局限性和挑战:
- 界面和用户体验:相比于一些主流应用,思源笔记的界面可能显得较为简洁,可能需要一定时间的学习才能充分利用其功能。
- 社区支持:作为相对较新的应用,社区规模可能较小,遇到问题时可能得到的帮助略显不足。
- 性能问题:在高负载或复杂操作下,应用可能出现响应缓慢的问题。
- 数据导入导出:与其他应用之间的数据迁移和导入导出可能存在限制,可能无法直接兼容所有格式。
总的来说,思源笔记因其独特的去中心化和加密特性,适用于注重隐私和数据安全的用户,尤其是那些需要跨设备、跨平台高效协作的场景。然而,根据个人需求和使用习惯来看,是否好用也存在一定的主观性,建议亲自尝试以获得最直接的体验。
安装思源笔记
https://github.com/siyuan-note/siyuan/releases
修改代码文件
找到安装目录下的文件
\resources\stage\build\app
搜索[29]
3.1.3在第182行, 不同版本行号有波动 , 直接搜[29]
直接替换成如下配置
</div>`,width:(0,D.tq)()?"92vw":"520px"}),e=t.element.querySelector("input"),n=t.element.querySelectorAll(".b3-button");t.element.setAttribute("data-key",p.Constants.DIALOG_ACCESSAUTHCODE),t.bindInput(e,()=>{n[1].click()}),e.select(),n[0].addEventListener("click",()=>{t.destroy()}),n[1].addEventListener("click",()=>{w("/api/system/setAccessAuthCode",{accessAuthCode:e.value})})},cn=t=>`${window.siyuan.config.cloudRegion===0?"https://ld246.com":"https://liuyun.io"}/${t}`,r_=t=>`https://b3log.org/siyuan${window.siyuan.config.lang==="zh_CN"?"":"/en"}/${t}`,Ra=(t=window.siyuan.languages._kernel[29])=>window.siyuan.user?!1:(t&&(t===window.siyuan.languages._kernel[29]&&window.siyuan.config.system.container==="ios"?M(window.siyuan.languages._kernel[122]):(t===window.siyuan.languages._kernel[29]&&(t=window.siyuan.languages._kernel[29].replace("${url}",cn("subscribe/siyuan"))),M(t))),!0),oi=()=>window.siyuan.user&&(window.siyuan.config.sync.provider==2),br=(t,e)=>{M(`${window.siyuan.languages.exported} ${Ae(t)}
运行如下Go脚本
在线运行地址 https://www.bejson.com/runcode/golang/index.html
package main
import (
"bytes"
"crypto/aes"
"crypto/cipher"
"encoding/hex"
)
import "fmt"
var SK = []byte("696D897C9AA0611B")
func AESEncrypt(str string) string {
buf := &bytes.Buffer{}
buf.Grow(4096)
_, err := hex.NewEncoder(buf).Write([]byte(str))
if nil != err {
return ""
}
data := buf.Bytes()
block, err := aes.NewCipher(SK)
if nil != err {
return ""
}
cbc := cipher.NewCBCEncrypter(block, []byte("RandomInitVector"))
content := data
content = pkcs5Padding(content, block.BlockSize())
crypted := make([]byte, len(content))
cbc.CryptBlocks(crypted, content)
return hex.EncodeToString(crypted)
}
func pkcs5Padding(ciphertext []byte, blockSize int) []byte {
padding := blockSize - len(ciphertext)%blockSize
padtext := bytes.Repeat([]byte{byte(padding)}, padding)
return append(ciphertext, padtext...)
}
func AESDecrypt(cryptStr string) []byte {
crypt, err := hex.DecodeString(cryptStr)
if nil != err {
return nil
}
block, err := aes.NewCipher(SK)
if nil != err {
return nil
}
cbc := cipher.NewCBCDecrypter(block, []byte("RandomInitVector"))
decrypted := make([]byte, len(crypt))
cbc.CryptBlocks(decrypted, crypt)
return pkcs5Trimming(decrypted)
}
func pkcs5Trimming(encrypt []byte) []byte {
padding := encrypt[len(encrypt)-1]
return encrypt[:len(encrypt)-int(padding)]
}
func main() {
//将conf.json中的userData放入此处解码
data := AESDecrypt("d716d5d6812229ac440f08261821941ab1ad78a911b2b4a2f3d5f70b23a9a1107cc228338d0c01f05ee494c92495c9a96646e05514c6a34cc38e0118ac797f1718087197e4b9b823814ddfdffeea2e44706d1f621875cb8bd81ab31515744d3f9e2c25fc7ad2d73886a51b2f405bcca35eb2cd2f26ccff849723f1ea096fda7545f66f1f56a98880b963020236f3b657a5bf0ce86b1ea2d0478e046b62a1d035870c47799419a9c507af2ca07476aa97c3696fac5b90625e330bc5a71ea57c602446dc5a0814f29ed2682b7aef144750dc28de0db3d3ec3624ef2790e4aa3d64a2511f0c17818294acdaefb9ea208d0fc6268fea521668be17c2602760fa94898f3d6f1fd6405b29acc12c4419e3ef241d2f563eaa8afdcdde1d4f961f37e48e5513cf4c29c3f378b261a9dcf69c0458165d3e3d82b90bb49af1f2218443da8baf33d0f0910c4cde954a8434be374d0765e5ad2824296d5be0064bc73148df80cdc4e003f32e00d3edae51b291e8347731055ec7952bb19d60fdf7efc257056e74ef8b7544fa70f50985c3e10d5905a3b7427cca53737c6ec15eae925f5bcfebdd180027ef3f0818c713bd006a6ab2f67aeab7ffc9eb218ec521b1f17ea6f0385e724eba6e96a23edc3fdb2757b1211b034d6b09f2921a8d2d3a8949794d736ee3df2a1106ef8bab289ef89dbc18afb844cfcb148e6ae65b980959afe093f14f6e3671a3f40984a24c3be1c8cff48870cbada0db9ae815953948f33771e3d8d71ef1ad7c271cd4cd9a615780ea0bcf0f3c8fb9c96ceaaa56e90ca4d99ac7fb021630caf64494bf6526475f8889e26ea4726c36cf371c004dce995f14a47b8f5f0bca02f0361856543ba27cfe545319bb812f45948535d2fe0bde0c404df300e1d0f42d0dcf9f60f0e114eb0dc922ff1c19862775cc3d8515dc7bed6b466096263a8cedacb3ce61f290eb91ef4b326b66ca52b3e8624befaaef1b2612f1719e21c7e00e96d9139d5a4f3407ab34cdbdbf772da709b3805b7a37125a8b6bf163908ad9822c2a4fe352274ca2d52e2af8a23a728ce98bce9f0265182a0190bb54acdb639c28c9cd5da1b3a8e4e0cc94a1223940d04d08b5b3b25e502ce7f6cad8503021c2addc99d65f503216d83e95856f3a5a3f376de4dc8c054bf829a4238beeb3e372b27c39d1c725f0fa1ad2a9ae075d6e7546ec96c55675a2960a073f5db4059595ce3fc1304163099a8ab3932dd91571459b5fab168458688af30673dacece2c41aaa3c84369b079d4cd0d4ba8820306a063e0978ea47d18f0e38a15ba8f9116d98bbf1cad4a7542c00d9d6e6878fe4582ed5e4aca7091db2c1a7af59374f503bd90b7bb4f36ed508c85c41a5a0943944d011b3e87a1b50dbe10033fc5983c6ff781a724034f04dc403da21af8c730f4fd6586c4defe8346577fa049b63aa6b9ad2620c5bdb489c3770773128f915de8f96df1c7c977f0708487adf84a656177d56d7cd99cb9be197dc05b69fd35927209a14270833c68bf17aff47e9efb6d72b9b098691c565ae3434c0f5900ca2e86d2757c073dee3c701019170f106f427122882e708d0c89dc4954c38ccb2b90ca202de0d962756712cd293b6d74671d1d4e22855cfdcb3b72a9ca77a1fea82aa0fea3ef9c0d227886d4cc8ad29d14f43f21b71cc0fcd076573811ee5a628eb34385c5b1de66446c2f8cbf2c57a615b7300d2cad6da72f0dc93780a1f84af46e978df312df374d639afc126fa19cc0772f74fa803657ae7e0c201d89ae9b835ce0c4c01e16f7bc443a8d7bddb63a8856bdbf8145f01f9b4d59714020d14eb444586d62f5e1f7ab7da3a261b8aeb1d87d9ca648f5823cc6c0b9c7ffb3b168718bc642d1a616f49e29f68a08539bcaf3cbccade38be07f278d44f28898911058e696aa38e374c426961a879cf99d8d899c2b73ee565c69d0e9aa59935be6f09b698aba6cf7ac06aba76de461a63428711ee77c10caf65f9a834c7fe44504ec00c34b54e334eafd7f7a1b9ca3c26f26d8db8ac3bffdad471db57d3e6086bc630f256bdb8817e8692aa2ced3ba6002dbe4bbadc702cfe78f793a5a18ff0e644b78c12cd00aad2aa86f86d5bbb673c13edd5ecf24769162aaddd803578381c9ebb57f207bf2a9b26e6b5601338f95bd6025682c940e0fb3dd741a9456ae101ba3cc997b1f2f884a597e8fc1b3b2d57d4e5817b4c4d4476910e349d522b5a2904a0de90ce115dcff0f4dc320ab401fab148061e59a2291d2b90bf8866e8ff002927bb4a6429899507e50ef0e66557e43c5ea4f719cf69f7366eeed21fec4f6c8cdc03c6a155805e30d00c87e1ced09a17ac85f75c883d2be85676e462fb2f49fa28f341763cd2cfb0c38c57ef60b6e1ed0d973143700afbdc9b686bef7169bf2928b89bbe9674235754511b821d2ed3991887e2412f91c411f874d7ab696c718904228641055ce20e1aaae734587debe9b826ef57596caf2e1bdba203f0d832636c8f7c680f946ccb8e93a88583a48e14a0623dcfebf0ed351866c6e05a8dc079d26d150f6344180c998f379ed3df7afa65c58c0fcb35c89629d3664312bb39959ae8696e97a43d4b3c5dadd6486ad23eed6ae17795a6744fca79a0a1c7355308dd8e235abc2a9767da5afdd743dff5bcc4b0077a1f93d6b97db2b84beb9ca50dbd430fbffbdafb129ce8cc4bca6315bda4f228f8762e558e63876bcdce6bfdc743c6830eb73ac2c9b33c18c1f8f406b6c73eaa7ae9479c121f7ea6b9905e18bf010eda03a394b7dda7c16543c1d96f2f6cca30bdd739af4d37d8ceff45d987436e83ce2445d933e6354d023e97e8ac83397b0de104f3248190eec50ee753862644fe3d914a16c0857ef184b44858bb0409518d9f700aa96ac842d5f746e13addf805b6da518acc36ff8366a910e2c0a6d39f426d84bea4f59024bb6cd9b61177e717a98583c39ee589fe40caa8844578e0ccdadd4b317ac7e1c3dc6247ab20f7eb93003cec7b61703f2f3f697f934ad721e6bc93ce697b80b37a4a94bb48733d35dadfe74037ff262fb0504b0e6832f94a54abc610937ed2c34369d403651690517f5b05a7209adffd9a10813b9eddfcead975a684697f77f2ea24888b892f47b2536f4bb2079a3268e72f909a4587ee56108fdf50ca92b2eefd1e4d9a6e203e6b58ef7deb74e77608126e6488d015131d678c74562b24647945773f22fc684ea17892896bdaa5f127975e83d98bfbad73c")
//获取解码后的json
data, _ = hex.DecodeString(string(data))
fmt.Println(string(data))
//修改了的配置使用这个方法重新加密放回conf.json, 修改的配置参考下方块中的json
fmt.Println(AESEncrypt(string(data)))
}
将解出来的json,改成下面的配置
{\"userId\":\"1724825477258\",\"userName\":\"cczuishuai\",\"userAvatarURL\":\"https://assets.b3logfile.com/avatar/1724825477258.png?imageView2/1/w/256/h/256/interlace/0/q/100\",\"userHomeBImgURL\":\"\",\"userTitles\":[],\"userIntro\":\"\",\"userNickname\":\"\",\"userCreateTime\":\"20240828 14:11:17\",\"userSiYuanProExpireTime\":-1,\"userToken\":\"b1d0d1ad98acdd5d7d846d4359048a923f932962125e7ad0c9db814d5942879467b648f693d6a11336bcaa8b1bee42090ae1061a025b6f16d8afdc6baac0c1129f62ce384f54ec3360273c1f53642adeb21c42bd41673871940fca00a260bded5fc42b49cc76eaedf80cec4e5616ef38c01b27bb0fcf39191a07216a879f7e0f68c1b713d72e4c15c90b66a24bdfae7bfd8293cc39c85dc58c8f83380595c42d8e2c8d1cef2fa81ae3991e267f9b3a8ac56c4b2a99ed6df3e7a98806d660e69fde50a055116b57dce6e8376c07553a3c95f8ba62738f656d72fec33bcb4a666ab71bcdf44f0e2cb8a386371d08aa1442\",\"userTokenExpireTime\":\"1728628655\",\"userSiYuanRepoSize\":0,\"userSiYuanPointExchangeRepoSize\":0,\"userSiYuanAssetSize\":0,\"userTrafficUpload\":0,\"userTrafficDownload\":0,\"userTrafficAPIGet\":0,\"userTrafficAPIPut\":0,\"userTrafficTime\":0,\"userSiYuanSubscriptionPlan\":1,\"userSiYuanSubscriptionStatus\":1,\"userSiYuanSubscriptionType\":2,\"userSiYuanOneTimePayStatus\":1}
每次重启 需要重启后重新覆盖userData
-
userDate=
d716d5d6812229ac440f08261821941ab1ad78a911b2b4a2f3d5f70b23a9a1107cc228338d0c01f05ee494c92495c9a96646e05514c6a34cc38e0118ac797f1718087197e4b9b823814ddfdffeea2e44706d1f621875cb8bd81ab31515744d3f9e2c25fc7ad2d73886a51b2f405bcca35eb2cd2f26ccff849723f1ea096fda7545f66f1f56a98880b963020236f3b657a5bf0ce86b1ea2d0478e046b62a1d035870c47799419a9c507af2ca07476aa97c3696fac5b90625e330bc5a71ea57c602446dc5a0814f29ed2682b7aef144750dc28de0db3d3ec3624ef2790e4aa3d64a2511f0c17818294acdaefb9ea208d0fc6268fea521668be17c2602760fa94898f3d6f1fd6405b29acc12c4419e3ef241d2f563eaa8afdcdde1d4f961f37e48e5513cf4c29c3f378b261a9dcf69c0458165d3e3d82b90bb49af1f2218443da8baf33d0f0910c4cde954a8434be374d0765e5ad2824296d5be0064bc73148df80cdc4e003f32e00d3edae51b291e8347731055ec7952bb19d60fdf7efc257056e74ef8b7544fa70f50985c3e10d5905a3b7427cca53737c6ec15eae925f5bcfebdd180027ef3f0818c713bd006a6ab2f67aeab7ffc9eb218ec521b1f17ea6f0385e724eba6e96a23edc3fdb2757b1211b034d6b09f2921a8d2d3a8949794d736ee3df2a1106ef8bab289ef89dbc18afb844cfcb148e6ae65b980959afe093f14f6e3671a3f40984a24c3be1c8cff48870cbada0db9ae815953948f33771e3d8d71ef1ad7c271cd4cd9a615780ea0bcf0f3c8fb9c96ceaaa56e90ca4d99ac7fb021630caf64494bf6526475f8889e26ea4e04073c5b292c9f492747b3b452935d6c5ef3f5b26d5e86e0333e95586207de41af397f4657a7a9f3243e13b72f8d5bcde8810608c929b45596a1b3c1b6008763d8a38cd5ecdd1eca86e9e63fac8d4bff6e66f28674e6300d62ca899f3af91fdd2cd4e792034c4c6bd13474e77125ccd81b8a3c57973fc63f1c1c1721ed665add5bb180348d69568085fb78ebb1079d9c47e83e3543e3fd1f0088e79b07cdcd1cef4a3b0886ed30cd44926216453232608235f71921ddb44f01e463d940b27a2f1bdc79007bffa4dbad6c709b43e80184b4978e82262bd04b7370d2a58b81455bf6c6621423c9a9dd48919fb370a02d2f33133b7104ab0e7966f1383934b168e29bb8137f431e1d92534e2a77d175251e07be702f9864b3da0d09ebcfda3ae0ad808f655f4642706d0df03ea5fa7b0a237f8a21ae84cfa66526eae75d16d367d6a0e9e6436918fc9846de780d107da558c168c7fcf5abf8d82c2efa68acbeb6a5e013be8a5cc1929fcec70367cd82952d42d68cd3e98a89edb1cc76f429b4c76a03c02eac1645e8b6bc96aad0db00ec32bdd5ab6fdb500ce6d248111cff6952f2b459764536db469667fdb68df5bbe52bde046b05a74bd101c02907698f78ef3d68af70f995238b6aed537cf74c908cdfa1efda112a01126fd13ba4fd4622d557d3f9a24381bed008bca7106fcddfe67fbcf7687da42d8e334c63b57942099794024a1847f0dbca62d9e19a26f31e48aa0218ceaa2c7f568d25fdf5097cc28181bd1fca8680b037913dab833d93bbb1fbb9edfd0804f16220319dc572e4f5fafd333cbb8d04dd8ee57e8c2d75c809b1d8d8e815ac01acd50c3925d1e34461f5f87b38597f8cdab900ebf531cf243ad0470183665a08c9ebea1e18ceb2b6262655a2c64b9ffe37114bfc3408a504ab95fa83f9e63fc5143d5f56c4c0c67a921cebf6ff869d86c12d22bd5f31863d92edf5eeee9687d5a2ba7eb410f175918e9d61f76672b6c9874b901fbf271cc301de6d1cddf9bd4e102352d5f8998043763159d8d71f0cca2e11473d49fb5f2dc2aae7f03b351ec1ddd8ae50891a035b055ae3e08b4a149f26f42834ffd87871eb8cea5a0f44430750788dfe7f2dd93228b35c2227f91474ab51605cc217a4b477f79877988f5db056b5f94262aabdf4362d76049aec3dfa523247fd123d584feda3a723ae9515e2010fc45cc456f885480f7d46c5c44a340f74dfafc7fa6fc0757e3d471f51d752e9378df4d9f8daffbae3391a133d6ef4ba707b15cfc43d524dcd949c98fd94d5675ae22bf4041b851389cb093dd1e9cf9e195e68cf54dd7a4de6e2709fdde9a32bf0b5df3afc72963d9408ddb4068eea9cb991bf17b5f0465ab796f73408631d492623cca362f08f254d48b085e4e01c4c987760f76e0e8fae26d15ac0f0fdf6a7447811bef1517788fe57189660e8256df0d1bdfe421bb23e704517b365b44970fd7d2414593a4d6c99c767864a3dc1a0f95c9bc3a0c2719357afbaaef3c978ba249c441288f651f3e95341e6063253f2b9f647aaf275414d9c0973477a5bb01003271643bfb0af42a47c8fe6317d9388726714d1ba48922b2b00ca89cf59aa7880ed0d2adb87fe521bc1bf9df22659fa7ed66e374e851a9f3d8ad9517bab5bb57b25920df9d0dd49fe67e8318f33778ffc44bd12db6a03cb11164204edc609c89f510309360981cf58d6f37d5191cb70d19c6a5c25a9e4bcb91f18399e831cba77b74c84861e64f5aac50df4463e2dc9d5aa39ef5ab18fcf1f9845b836fba27bbdb29380748b09df76e6152a11301b4fc1644157ca2c6c035f06eabc0adde5efd103fc6cad5e7645b2a9f8edc7458bec097434c3f7fd67ccd9dd3f6b1a38475b439103fad8e42a82a47ff45be0ee9362aa7fc6fb2673974636c43b30cb2efabb99193be09fa3423f9809d8d6d57226c2c801f445ed7284e4c49ae2c7948aa1c4ee1ba3e07334e009da27af167a2ff1ca4bddc715392cc820839493bd9544dce2f03b52e5aa07a2d8d034d55805cf03a163e60ffc51b33874afc975c3b3183ca8c90fc14009604d273165cd7f7490a3cd046644eeb64ea8528d239074274100fdd16768a64957b4cf4fda734845f72b92a7808713ab1af0cf192eb156f49bdf7716be3f5e17b566d5ccf9426cbe2af029a7fd4f869102eac5e5672c07d9e2abe3dc6283b40566f44e87c4f23c4cd2b2e1b7c951b01ed190483e719e307d40ca506784d15d998123125250c67d7556695cdc63b8165e65ef6f0db8e8b5ef5e94a607301da90b01c3cfc2a97febeb29a10df6bdb407965ebf99e0517523b72ef888aeb2f0ba2be64bc83b73ed5c0fe67df4276409d5d0472a656353ac852ffda95ad35ff48974051bc9275a3882ad8238c0f507738f28f0d4add4a
-
repo.key=
68XgOpxcphJ2zMzivMcX5QoFNvFMESlxZ4ux4Yb67tM=
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类