diff --git a/data/stories.json b/data/stories.json deleted file mode 100644 index 9744b3a..0000000 --- a/data/stories.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "scheme": "random-key-AES-GCM + PBKDF2-password + 密本(P XOR K)", - "salt": "TkxZTDIwMjQwOTAxeEN4U2FsdA", - "iters": 250000, - "entries": { - "《腾飞花叶》系列": { - "iv": "JB/zqCbQGMgL0qWM", - "ct": "9vkOev1730percL9R8Ii1djz971CC4Rtzii/A7dy8h4MS4DG+37tSCNwlITCdBDTe6yBoM2D5KPknpO3guTREXIu3XhI1lmaU/c1RRi9I5gEIVMMxArebbo0MUgVwWD/gNHyxFPEpMqQ0pUP63xnhGicuD2sSrAdoGxag41ZjIxur8eWcgKDXzdqbU9CGTFVJj7sYBtx+8ld40YDBzo6CeT4flpq87vNOFbp4XQRIqqi3PkUxD9eUyz8z9tomUB05RixYPtO62kKXNKFxO/FaADUZIFt+sLb92ywqbwrNB4=", - "tag": "RTdx2g0DVEk3jtcIELGz8A==", - "book": [ - "8Qu3YXt0qobb554w4CFZQ1fwLgN8zC8BtsrAYD0QUU8=" - ] - }, - "xks_1": { - "iv": "H2lFj7Vo2irwlLbb", - "ct": "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", - "tag": "BscECYP8uD4FBR3ntG9QfQ==", - "book": [ - "JOw//XMDMjLw9+UTO+caiNI8OeoOW2xjdccvQnCN77Y=" - ] - }, - "xks_2": { - "iv": "4q4vXNFRULsHgbUi", - "ct": "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", - "tag": "eBRZPdj4Px1VnodlK8qkIw==", - "book": [ - "qOYoHbZ7tZndJvuFHbcSU8Oofc4c5FJphMJq3PZnbzA=" - ] - }, - "xks_3": { - "iv": "i+pAzXbO058fa+f6", - "ct": "E9tcnIqD6uq9YVsz23HB1TmYyIr0E78pu1+UdX5unQCgpR1I8A/EBIQYMBpojcv22+DiBpx0Fq17yVi+Rl0MsSO6H2PgpS3hvpBWammqsQi86fnk4YtrbDl7LYbhKfe0gsKBWSL3V0Jb1YtdS6PrGKbvJUnxkM4vqmhDSt0SGeSqVorEjdbW93hIL6dnwvvnWuQVaoKdP74fC1rhmkKzZLYFfGjYfNo6RMqPE5Z1Pz6Do6JLl4bXxFmnMSeddhHXtZXdIdWFr6pyaGothttInwIAEsX4mEaxP2lveikBPY+0IBPNOXUrLyY7kz/Y5ICOgybHXpDuhh5Jnc4euftmyefLq1or26FtCxbEb/EWXY+0tnCSTE9EISl2i15vB8n+RPlXNO19frx0JIVZcz5A2TFRVH4swS2QpXRxFVPrSBlEWUFOtgm/aHiUnq8v5qNoCuK3vNXsY5Rdi6Wl489Bo6yBEQ9faLNMxunCVxQxRHOcYy1tPDIk5yjQjewrH7pdKJ4mapa56gVS8whXc9mMiLF7bhSILOga7Va2pPm0F+EUlIGCOAmFNz97dw55Q5QhWWnrZx4JKrnEcMB76PukLfi9JMkcyFGf4NTwVPy+dxkT3StvlpTDwPLJatpdhQ5yAGbW5rMZQN/0V23uPPJVXOYDpc+/97urLJW49+U81cdmTKqBmCOzKqLgfidybMszcLT/NUK+Cjry6j0tBuE/GHiX2dHjVIr+Pscr9l7cwjolT/IJ+V/RmfWDLhGZYxZSkpAq+LAAQH4S52dUtIm6skOAR8e17aYhyq3oeaHSu/NO8Zd1VH+/z1qQYZj6qaOFexjbOaQSjUHAjKDUgNoqrjSaeBLhhS+RdxSwC0SFDiTr7a8OK86WdA7BQKVAEzsqVw9oIXmNDLfA3UYGpLKEm4JeWf554WgmPshqF7gR7ezD2r6+OfRWUtWAmm0nqGc3+Jd+wKgI0p0gXBySEVBQu7LoHWQP7vgCNfc/2g2GgAXajFbpRZRDXWn+C3J8rGhBmmw6E+sru0ctFRbw6mu1SelLUesaN+axYmsbaW5WikrUw3L38bV+iY3WVbBCcbdlsotDpdn/733A1psvEYPpgkRncOUxLP/kLE3N1PzKLStrJPuKd3Clla7749rSejq6yaaAX47rMBFhvU09jSEwzLN4PaLQs/Oa/EOVItwJEIzwanFdu1QYnwQf+bwMt+MJ5F6tGIxJs/7g9ZRIUnTpXDJkMWYdUqgsq57oCORinePm993k3fC1ApoKazTZg8gmYbklofdZ+EGzdi22vNKWUhyobiHs6g+T72g9/enAlAUrpVpORFv/oGE5F0Iuew1SqOcRr7+cJlQbesck6KrSVah2UYYQYZmyBN/mIYrtJkXhk1SjIy9syRCdyZc7Mdbp2yD1mYGbEZo1sS4BzKXenhkmom/kAG2OAqMAe7ykbCihLwlR0VAM7g3uFma23YWy8JCV2AudX7/MDh+7tPOVf7sh0EfEqhu0jibXmrq8LS4PKpCcxEQ6HxA5Bg/BR3N1TFSH8iUusdyEicHM0iRxAcmpiDvBMWDeRA3jz9QcxAOFwV27W064D/4DVIgYnZ1FGw8NWnyr7Gy8ox+6geiJvRl/8Eorcc5DgUNjDjwrVGHNoyhQKEJFhO/AzUG5IU3S6sta8uk2bls36Jhq8++782BEjqM8amwKC82vmha63weQHatNklyNuGANVCITLB4rykX1dLSMgfNnxQGLfOic/HLiiM8T+VBl14jo1LKL/7mo+KIBu8jcblOHEFrwomIg89PSEY2vcC9kA2QUxduMRzfYPZwgjR12CeiblUv3mMayCTCvIQ==", - "tag": "5PZXRfk4sITVd+wuJE4HPQ==", - "book": [ - "dDprrNnoEQ43HtOLVBJaOv89yeylS+yxfjIBagHO4hY=" - ] - }, - "xks_4": { - "iv": "P6ItZtSrO+gCCS5T", - "ct": "DSA/ruawzPSb/mMappCr9If3DX5BBDBio5pSTf6Va7vsSf2AQuimKXzvl5OCBgmYEKbf0GF2znv2WrT/SmDNatoAd07rxvj5EvlTc3X62shwkUoTPUrnYmdRpKbzsU4Byv+3WMGPSkxdg8vTR984XLEu7PDmODtcm6jn1Js+5kErK3zAIyv2Iq1/yZ9ZnM4ayTZJn3SEcWiZjgoKMNoqP7untMqmeXbMu0q7l7XddPJlLlTFzgGrWMr7JbIqz4pra6VvNfFzZJtPuJzIg+pAUrwdSeDcNlwJpm6DlmdgeqtEgFdLkVoLLSiNV2f40kTJdTlmsBHst2G5t7CGzqyMzWntskKnd1Q0E1QLBkmukt+dxgiVmXA/FjuLNT+WujbEU2uE9kIWURrighMtDaMc8bUZYS8sPwN+dWvZN8Rep0+UNbjHlAeSCOIb0YkJhyoCX/aY30iyjtQTS6OMju7TU+T9cKufyuXdVgqpbal/K5bft0gcSYjNLF4akrYnv3se6YWLmGMRVfExLZqWrV57SKsRxpJu0orvpJ46tDGbeXzG0H1+mgyzNHT6YgrMIMXE8gaOUapTtxrYxwim8f0IM1XQqdsTkbLlCQ2XmMWCLrEXQelOwUaDa6A6LC+08vK+ZXAU62RS95Q52vH1m1h2vJajUB0f7Asu5Iy24a9ZyIDC4D1+HOiBu3O7a4L3YX5V+0ic9HzhvfnIyhk8KVyPD2wXGJO0O8P01Sqj/CwxTpHfWN23MCmEn51SqTrXHIQUZo9IQbLU1rJjZ2VJDt2q1RuB4Wd37xQFW2E8BtKlb10Cfy8EK8+lU594caGGNzdFrTYqDKE2EkpAej/PK8OVTNiRIHLfN+YLFBJXqW4FVxBfSn+4sm/mJNPh0a6QRQu8LVKJgDBn8OxzlDAyPMIrSTrhB2YcL/dYzRs0teLGZowUj+DptRJgRfsL9IMPGRpJKVpV6doSPRxCQ86K9Ghd/MlayjFonG9rRc8Vh7fsGN80MsVh9tNr5achOEoDzsQhyd7h1dIFhNi7baY2egtdoaeoBKz0InJ7TGdnBrAq79vKLW5r8zZYgq5Nbhbib4fbNbIBOcDQoLfrpML/1m9O0zep1boTTJ5hMoqW5fgj5rQwMCRb5RekHXRMRH/qkGC8uYoWdwH9LeGbhL3qXER33jqTCV+npoMAI0ds1lWzuVoK97EC2PTqSI7qraBjNl1IVsbDJSnlqjugwAl0rkmossfda14ONrCmjCXg5Zd/cptuLo/IC745eDLDCR1Qw9LBdYJNkZCB0ntCguTNHhENK4oQk4mkD/RxQHKdShYVOgEQiCPdFUTbvszZvYnMS41HbMaW0/MM96E7CQtX6Dd3EfMIKCRVUmt+Y4aRSZpg1BIT4CT8rQTjyqgLfVsKfR3dkjbaY5zBOd1PBlZCRPhIvq1i89y4wdfgbnUkChpsqRVewyFTDtRjUbhHXvp2lvdFcpXco5D1ZHXp3o2cgh84LIksulFj49tbBLuBGUhUixT6/2gROBsrGY+q4OzqqJoR5et6wh9Vj+u2wFrF5XfPs0DW/a+fET/ki+uoq6SCRg7AsUUO2yQfo5372JZ7+8L7H3RRv7e2fQHYgSK12e+cqPI4/5RdJOYOuX28I46yI9I2wGnOD+E5+ulh+x7gAQ==", - "tag": "YlSvvkbBcgdEsnTKeBeRLg==", - "book": [ - "RFIPvpPUHZzeRrRlMR7P4dsk9skgHU1A3DLeIm76dm4=" - ] - }, - "xks_5": { - "iv": "pqlnnoNhO6JavjRN", - "ct": "LJtjv9iTHvT5yTQ+yBG5ku9/sdZoeNfVn9HVkY0oeXU5RIvdKsBLy+Js0wqIEdCT0U44DPcEXWeHjglrg+YII9sMP0L49DC03zHyuWiEoSd4ajlHqWhU2axOqRtCk+3rDUmk6NNgzIjxr4x7zGyKPE40jIlQA7xRlUI8lYy/ZlfxhE1yCb96SnnszdkrtAPErr16gnkzxwl0e+/diK+CM1nYcC2odkwKUq4EB1rCc+Tr3EZ227RezzoZlxDdJnN1qR638U9DFcFN4A/7iuJLnr6lXAa/1xw360FmJdUv1hwh+j1rMptSnBeaYGGuy7WCV0lx0F/MPTO0cwIcnHEKLy9VrYvC8kWXKihYanJLaIpb8XgKmERGi1GKbmbtlS1V2zEaADY/GQocAocHniH8z/ULIldfLR99woSJBngv9CG+Xl6FeGxzjdpkcBLZehcLIux+8iDuQIchGVEhe6JPuVRQiYpgsxlsGnHuTY5tWQOGn0oOPvk+hthWYbb890pnvCJZt+AscFyd9VBr+5lLSVwT9pQMXtP9TlGiItSLTnx/pbIlH7pMTwGWqvIS/sJ2641rXyApyoRDCZjmUgw3lv9hsAQjf0nkoRT90r8aUHTmA0iXLnHWPgS5qwtAFBWkkSEU1IK3chLkQUg+ljf9hqdmVW3bTcOCUwTckH2PgcFEhsdPY9o5S7BJMbfWPFxs3TfPqyUgGMKNWcKADLRDnGEhCVzM+h6Fr90n9+nXNRqvsGd5pOvBCC3wqp5I+du0jkbvqrA/xJXUubAUDA9UvDPW32Z9inVUMA90g9ziOK2IztCOr6q7UPHFHiUMBkojc3JKpSkP2gA4E1g0MbuwP2MAIQXki8uNt0K/7FtbQnQ5PlIY5a1jm+MEL4sQWlE8L3rtnJGx4b7pq0IufURcGOykquGPIx/y2JX5fQ4W9bXOBv/W1yCg4eNHzqNwTNTsH5wGW/ySOCb4rSXKwF3fH4vKbofALls6dKIpeBMe8Mx0cQt4MLIpZgt4N5mOS1a8hOZTeSnmM9lVnzmD+GSG0sdPt3RjXHZDLNNfQPEuYaG+u9EWwEEZtF0uD3RAcYLAwdNxIGuR9H7HT/K/NfxxMCcMlp46gxXYqUWdkJVM7NR+HtRUMDTjKnqJEatX6QODfU9+2rHjrOTqmjQXMPRbSnAzx5VsdalK2QJrHFI9nA9EoYrZRKChB1COaR7k5scD1SbomKgrnyC8O/gFMluma1SCXU/VNfv5F4JLHYm7zDGqOq6U5aF0LFbH44yL4EuGim4SKlN3FcBaGX4tWe7XxLCC2kwufgM/Y5pgk03k5x+gOjHrb9XgTHZ/Yc7zy6ij5MntGhoV5ymOkvCIZYPxMRhnzZ8fRgg37J00kZJ4qgxxkwloPsMxw3XPpUHk3T1s7gzW1zqIzW+dJPSjcbFukUDkyQNVlhHjIRgK/ja7a+3X55Md7TLDaifyijAaN7cJNwZ6bjIn6OxrlxIG5Tu/0Ahg9oudIFFMUjvz7YRP1URTOyXRKopsHEh9OwiGDe2tlxXS091wACLwDX9vqPseOGZQ8c0dR1Q7T6ftJqrQmEVyYUOXk0369ur4D0h8aSQIeaLOWzc7/8DGf9MhDkVSc/B8pHwZR0sWsWtF", - "tag": "J2xSRA6Gffl5R5Kv9P3DAA==", - "book": [ - "SVK5iz3OBwuPwc5bVWSs0Ap2xKgvKZQ9N7cDmP3lrmI=" - ] - }, - "《朱温大将军》系列": { - "iv": "o0QXMEgVgrdXH91n", - "ct": "JoaMuMP94S68By8+TFITXxNdpEYBW9CUss57liQ6YMW8Q7NK8t+p7ZMB", - "tag": "6nZZbd1J3zQrWbxzpnP/og==", - "book": [ - "t6nUShkmRPUMNJtWktx6dGymT9mqHalKPBwuyMGwUQY=" - ] - }, - "《朱将军雪地讨伐倭寇,谭书侬奇忍术入帅帐》": { - "iv": "I1eBq6er8lDuOdCF", - "ct": "h2TenUN07nOl2Vazk3mwsQkQOtCCSJ5DVsVTDLai7o2OXBDV2k8At4ZmnVgD3srt0BxH9ug4PUQtfg7eULppK3wopiCHcwANRerLAMBT1qock+kalNpPpKYn8MGi96pmUY0/0MRcsZWXI3jeBGc59hgpDFbOE8exCoTkvq5xDNYp8fxcBp4oJAGDfeie+ZkTlcdSJ8B5mdT+2AFcIORuiRfQbHx6v6A9I+gFntAN96nW5qwS6XUor+ogKLR/PaVvKuqqh6xA0bqSYhTjFurqLth6NfrwAoAtmbX7+Qsvo6/Ld8jZGxmCurjvHPwXJyaRQUqow4/TIWAEQw7ZyACR4max5eQUAhhDz/2etcQC7tx1KUKU8TnC11UnxF285astNknE4A9Xvhw+ERhJ6lT5nliOfsOvRYKrfbu7iTPrUELbl8xfKrXNc1Li2QePBIDiP2TdzOVjpyRE3yQOfZkrFxi7/QwtkSKSoVSQ6MnY7KLgSba7+Ylh/+NzSr5jp337FTZFz1QQuGR5F5Ap6Ic4audT0XEPhT2xFvwUBesO5Wa1NCIEGEAtKROrdJ8BlbccqXlQ8dDbX/ZnFW+jP3NbIphiptpnBb5mpkvlTk9BBa2wtVmjlfn4qYmyiJ+TAgFKDFsNuG3BkjgEweO7g9g9bFDU1U+uzUM/Rsj36rlVR4tZmMOCGUqzmQW5BCOX3dbsp61fxobq+pz36YZgZlkIAPY1SPCyD0K8+Cd0OZ0OBXyWc0c1L1aj38pGl30VvA6dziMkOEqe0cXC4GY4AOKWeYXRZGsJ+oVwv2VaiP+BbsnhPZqS7Au8vO9X+8eq1inSqN/BVx4ACH+mn0ofFA5wAOdNF4eRgq8eMA8/War3JVshSrQ/4+W7U+ZoMnGvsZZ1jH/N/IAlyfV3bwkt2o55lAjTREVDFtbMK81cAx0fPwMyBDssB9Khz86DD3XLFMmCG601w0I8NI9Iupp9EcnkvB6fleKAOG2CjY/DamWuWDB4+X9UhVVOTzPNECVDqdPmI15ZVfXd0BNdzthEDFjZZyNTmHrGtA2Gf8nNQV8NIUcENtlLXumxp7Feo952m32IqhK+p+9YhDe1GeY7fW5Kw/gqLN4WnxS3uvwqh3kYvmgR3aqOEjJtgVMGQqWIpfNW/GwWEw6uYoMQUeEDom0d5LgFTcqykf6nMkRBmkd/HxoDrYYL8STK2MRHl7YWhRA2lqopXpQ70F+HA9JJlgv8BiaRSyH9J3Mn8bsEuvtJtraGe8s8tMeNkj6YcTkZnc48GfK9hNKOf2n+FFwfhkghquEKTWsttbgv0KyV/5+Yapo+g48qO4wU8/GV/r6033AZyvd97yJmH/3zmThw1cPgXfxcbWhjVTnU1O59eFzjtWWJIJoJ9Wvqp78SWsR0xkHjlP/vdWgnWflR8XUiWQCdNTW3T7M+4Otd3i0qzbAIRy9COzseY+VEyrAi1R050Y/zAU5JVCcIn9cIUR2xw9pMJM53wYmSCuRlfiFtFRRU747Dw1AD286vVte+RFjisnL8qDPcIQJqGUYsbzo6+3yCB1b+k5dA4GEhX9zQgzFWGHj4OuCL/fEixtBA3b+dIB/+u/sy6F6dMIMvN+sF9wiKcMgRcXTdPJU57ZizHSD42SIsQm1IEMz+ilXFu4dfbADijsOxB3LYLgub7A+xg8fyfR6W3jbQuJeZiiKM68rzXo1Jew14SOaJs1Vl1iRBz1qwumAmVAT9mp9QJ/Khl1acYr3Sj3/WDGH30Q1kL8ui28cT+60FO5s14nf/BFjvq29TTh9KXdm2D5Fx/qxpdKfFClywaiDeHGaUKLzBAWzT5cGNScxOylcIvU0y9sG6JLXKHRZmA+2A8Loqa3thXO6Cqw2vicv1m12jJbq9PVKOny+NE/TdKc6ywzwNKD4I3DghDatMSbwmCkgvMI2eKEwEXsh4TTPZ+RjSSmtW6dlTTp5AAl8pIZrNmJjTJ+x1PbawofALHX0=", - "tag": "BlwNULzHrL35BC1vDL3lsQ==", - "book": [ - "E7wgos0f+etK6+63GASySJZSBi1A0W1wyFiTMUlMrQc=" - ] - }, - "《谭书侬刺杀朱将军,朱温只身生擒刺客》": { - "iv": "85HEYkFza+AZk2oZ", - "ct": "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", - "tag": "/Sv1Z2yHvKpjAa3R+DDs1A==", - "book": [ - "nmp0LhjUycfIzfOhQ0hTbdadXaKOhUHNn5VFXMwTXHI=" - ] - }, - "《众护卫不敌女刺客,朱将军身生擒刺客》": { - "iv": "QSpZ1JVIM6AeNaSu", - "ct": "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", - "tag": "TENDKEJD1eR1C+JxLEAw/g==", - "book": [ - "KZU6HP3uJ/OqjXnNyI0kh/ZGGrkyvfzR80DlTTGlHNA=" - ] - }, - "《朱将军生擒女刺客,军帐下梁王审书侬》": { - "iv": "J9NHj8eeUExmSkh6", - "ct": "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", - "tag": "mMdM9nZ3W1S2FzsosDxjkQ==", - "book": [ - "SmxPYIEjNNicM30/z0Bz4zJaCGfXPkymhoMPxLI1L2E=" - ] - }, - "《军帐下梁王审书侬,大刑下忍者死不屈》": { - "iv": "BPPQsBUadz/u/etI", - "ct": "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", - "tag": "UF1BlB5MDSO/mEJnw6+6eA==", - "book": [ - "QU931f161b3xmegcbllfys/OaVumQvcB/u81/pCbAqY=" - ] - }, - "gpt_input": { - "iv": "TcFon8mbXN3km6ge", - "ct": "9nX5CL3U5WDI57DrNcTEe7S4D3VlC8lhV/nHmpqea9q1bAA=", - "tag": "VvNDPJmb0qMTQPfIfioQzw==", - "book": [ - "9UIXH9bAedvsC2Vw/Tpl1yPwwy9aFixwurPT01p6pDw=" - ] - }, - "gpt_output": { - "iv": "Qj83ccFbTueRViE9", - "ct": "ighmzZjeN1yb4TgXA1mLhPaDC4seHGDGQEHFo5XRqKU65EOJj3uebdxUXHoXulLhtpcfhuI/ZuUHfAQR+7xPGDb5EOLmOzd6MJWBgfC9iv+BALspFT+hYOE+K1akVpkCZN/uy4pEbf4jkhrTPh4PNNSQVaneF35zGtZaEJbYqTbIDLFNrr7Vewu+FXenrLzo5i7EMeD59Q==", - "tag": "s1ICJCrlYh7JS6Y3MD9zBQ==", - "book": [ - "6mr0xtvSuefNqIiZBqzPDDTSPy5gM//QV5Y5Ezlsqbw=" - ] - } - } -} \ No newline at end of file diff --git a/index.html b/index.html index 3f71692..0969e48 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,10 @@ - + LLYcollection - + @@ -253,11 +318,10 @@

LLYcollection

- - +
diff --git a/main.js b/main.js index a9f6104..607aaa0 100644 --- a/main.js +++ b/main.js @@ -1,114 +1,53 @@ -// main.js — LLYcollection -// Restored to the peak (2023-12) version, with two additions: -// 1) The 黄文 (story) content is now stored ENCRYPTED and only decrypted after a -// permission/age gate. Scheme: -// - each story encrypted with a random AES-256-GCM key K -// - password "encrypted" by PBKDF2-SHA256 -> P -// - 密本 = P XOR K (difference between the encrypted password and the key) -// - decrypt: recompute P from the password, K = P XOR 密本, AES-GCM decrypt; -// if it fails, try the next 密本 in the list. -// 2) A "项目" (Projects) section showcasing recent work: DET & ACCS. - -// ---------------- crypto / unlock ---------------- -var LOCKED_STORE = null; -var UNLOCK_KEY = null; // Uint8Array (32B) = P, once a valid password is entered - -function loadLockedStore() { - if (LOCKED_STORE) return Promise.resolve(LOCKED_STORE); - return fetch('data/stories.json') - .then(function (r) { return r.json(); }) - .then(function (j) { LOCKED_STORE = j; return j; }); -} -function b64ToBytes(b64) { - var bin = atob(b64), u = new Uint8Array(bin.length); - for (var i = 0; i < bin.length; i++) u[i] = bin.charCodeAt(i); - return u; -} -function bytesToB64(bytes) { - var s = ''; - for (var i = 0; i < bytes.length; i++) s += String.fromCharCode(bytes[i]); - return btoa(s); -} -function xorBytes(a, b) { - var out = new Uint8Array(a.length); - for (var i = 0; i < a.length; i++) out[i] = a[i] ^ b[i]; - return out; -} -function deriveP(store, password) { - var enc = new TextEncoder(); - return crypto.subtle.importKey('raw', enc.encode(password), 'PBKDF2', false, ['deriveBits']) - .then(function (km) { - return crypto.subtle.deriveBits( - { name: 'PBKDF2', salt: b64ToBytes(store.salt), iterations: store.iters, hash: 'SHA-256' }, - km, 256); - }) - .then(function (bits) { return new Uint8Array(bits); }); -} -function tryDecryptEntry(entry, P) { - // iterate over the 密本 (book) list: "解不出来就用下一个密本" - var chain = Promise.resolve(null); - entry.book.forEach(function (bk) { - chain = chain.then(function (prev) { - if (prev !== null) return prev; // already decrypted on an earlier 密本 - var k = xorBytes(P, b64ToBytes(bk)); - return crypto.subtle.importKey('raw', k, 'AES-GCM', false, ['decrypt']) - .then(function (key) { - var iv = b64ToBytes(entry.iv); - var ct = b64ToBytes(entry.ct); - var tag = b64ToBytes(entry.tag); - var combined = new Uint8Array(ct.length + tag.length); - combined.set(ct); combined.set(tag, ct.length); - return crypto.subtle.decrypt({ name: 'AES-GCM', iv: iv }, key, combined) - .then(function (plain) { return new TextDecoder().decode(plain); }); - }) - .catch(function () { return null; }); // wrong key -> next 密本 - }); - }); - return chain; -} -function isUnlocked() { - if (UNLOCK_KEY) return true; - var s = sessionStorage.getItem('lly_unlocked'); - if (s) { UNLOCK_KEY = b64ToBytes(s); return true; } - return false; -} -function unlock(password) { - return loadLockedStore().then(function (store) { - return deriveP(store, password).then(function (P) { - var firstKey = Object.keys(store.entries)[0]; - return tryDecryptEntry(store.entries[firstKey], P).then(function (plain) { - if (plain === null) return false; // wrong password - UNLOCK_KEY = P; - sessionStorage.setItem('lly_unlocked', bytesToB64(P)); - return true; - }); - }); - }); -} - -// ---------------- account gate (age / permission) ---------------- -function accountCheck() { - // The original had a broken CAPTCHA loop; the real gate is the age+password dialog - // shown before the story content. We always proceed here. - return 1; -} - -// ---------------- content helpers ---------------- -function clearContent() { - document.getElementById('content').innerHTML = ''; +// main.js +var account = 1; +function birdCheck(){ + var max_bird_check = 0; + var tarnum = Math.floor(Math.random() * max_bird_check) + 1; + document.getElementById('content').innerHTML = ` +
+

请输入合适的内容完成人类检查

+ 检查你是否为人类 + + +
+ ` + var ans = "None"; + var flag = true; + while(flag){ + if(event.key === 'Enter'){ + ans = document.getElementById('checkinput').value; + } + } + if(tarnum==1){ + if(ans=="cpdakioi"){ + return 1; + } + } + return -1; } -function getPlain(fileName) { - return loadLockedStore().then(function (store) { - if (!isUnlocked()) return '[需要解锁]'; - var entry = store.entries[fileName]; - if (!entry) return '[内容不存在]'; - return tryDecryptEntry(entry, UNLOCK_KEY).then(function (p) { - return p === null ? '[解密失败]' : p; - }); - }); +function accountCheck(){ + if(account==-1){ + while(1){ + document.body.innerHTML = ` +
+

你是个不受欢迎的机器人,滚吧你!

+
+ ` + } + } + if(account==0){ + account = birdCheck(); + } + if(account<9 && account>=1){ + return account; + } + else{ + if(account==1145){ + return 9; + } + } } -// ---------------- download ---------------- function showDownloads() { clearContent(); document.getElementById('content').innerHTML = ` @@ -118,277 +57,412 @@ function showDownloads() { `; - renderMenu('下载'); -} -function downloadLDC() { - var link = document.createElement('a'); - link.href = 'https://llylab.github.io/LDC.exe'; - link.download = 'downloadedFile.txt'; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - clearContent(); - document.getElementById('content').innerHTML = ``; + document.getElementById('menu').innerHTML = ` +

LLYcollection

+ + + + + `; } +// Function to fetch story positions from the server +async function fetchStoryPositions() { + try { + const response = await fetch('https://llylab.github.io/paths/story.txt'); + const data = await response.text(); -// ---------------- stories (encrypted 黄文) ---------------- -var StoryNum = 0, NowStoryNum = -1; - -function showStories() { - clearContent(); - renderMenu('故事'); + // Assuming the data is in a specific format, modify accordingly + const storyPositions = data.split('\n').map((line) => line.trim()); - if (!isUnlocked()) { - renderLockGate(); - return; + return storyPositions; + } catch (error) { + console.error('Error fetching story positions:', error); + return []; } - loadStories(); } -function renderLockGate() { - document.getElementById('content').innerHTML = ` -
-
-

🔞 成人内容 · 权限验证

-

本板块为成人向作品(黄文),需年满 18 周岁且有访问权限方可阅读。

-

请输入访问密码以解锁:

- - - -
-
- `; - var input = document.getElementById('lock-pw'); - input.focus(); - input.addEventListener('keydown', function (e) { if (e.key === 'Enter') submitPassword(); }); -} -function submitPassword() { - var pw = document.getElementById('lock-pw').value; - var errEl = document.getElementById('lock-err'); - unlock(pw).then(function (ok) { - if (ok) { - errEl.style.display = 'none'; - showStories(); - } else { - errEl.style.display = 'block'; - } - }); +// Function to fetch story content from the server +async function fetchStoryContent(fileName) { + try { + const response = await fetch(`https://llylab.github.io/story/${fileName}.txt`); + const content = await response.text(); + return content; + } catch (error) { + console.error(`Error fetching story content for ${fileName}:`, error); + return 'Failed to fetch story content'; + } } -function loadStories() { - var positionsPromise = fetch('paths/story.txt').then(function (r) { return r.text(); }) - .then(function (data) { return data.split('\n').map(function (l) { return l.trim(); }); }); - var menuPromise = fetch('paths/storyMenu.txt').then(function (r) { return r.text(); }) - .then(function (data) { return data.split('\n').map(function (l) { return l.trim(); }); }); - - Promise.all([positionsPromise, menuPromise]).then(function (results) { - var storyPositions = results[0]; - var storyMenu = results[1]; - var content = document.getElementById('content'); - StoryNum = 0; NowStoryNum = -1; - - var chain = Promise.resolve(); - storyPositions.forEach(function (fileName) { - if (fileName === '') return; - if (fileName.substring(0, 7) === 'cmd:div') { - StoryNum = Number(fileName.substring(7)); - NowStoryNum = 0; - return; - } - chain = chain.then(function () { - return getPlain(fileName).then(function (decrypted) { - if (NowStoryNum === -1) { - var c = document.createElement('div'); - c.className = 'story-container'; - c.innerHTML = `

${esc(fileName)}

${esc(decrypted)}

`; - content.appendChild(c); - } else if (NowStoryNum === 0) { - var c0 = document.createElement('div'); - c0.className = 'story-container'; - c0.innerHTML = `

${esc(fileName)}

${esc(decrypted)}

`; - content.appendChild(c0); - } else { - var st = content.querySelectorAll('.story-container'); - var last = st[st.length - 1]; - var small = document.createElement('div'); - small.className = 'content-container-indivs'; - small.innerHTML = `

${esc(fileName)}

${esc(decrypted)}

`; - if (last) last.appendChild(small); - } - if (NowStoryNum !== -1) NowStoryNum = NowStoryNum + 1; - if (NowStoryNum > StoryNum && NowStoryNum !== -1) NowStoryNum = -1; - }); - }); - }); +// Function to fetch story menu from the server +async function fetchStoryMenu() { + try { + const response = await fetch('https://llylab.github.io/paths/storyMenu.txt'); + const data = await response.text(); - chain.then(function () { - var sidebar = document.createElement('div'); - sidebar.className = 'sidebar'; - storyMenu.forEach(function (title, index) { - if (!title) return; - var item = document.createElement('div'); - item.className = 'sidebar-item'; - item.innerText = title; - item.addEventListener('click', function () { - var target = findStoryContainerByTitle(title); - if (target) window.scrollTo({ top: target.offsetTop, behavior: 'smooth' }); - }); - sidebar.appendChild(item); - }); - content.appendChild(sidebar); - }); - }); -} + // Assuming each line in "storyMenu.txt" is a valid title + const storyMenu = data.split('\n').map((line) => line.trim()); -// HTML-escape helper (prevents the story text from injecting markup) -function esc(s) { - return String(s).replace(/&/g, '&').replace(//g, '>'); + return storyMenu; + } catch (error) { + console.error('Error fetching story menu:', error); + return []; + } } - function findStoryContainerByTitle(title) { - var containers = document.querySelectorAll('.story-container'); - for (var i = 0; i < containers.length; i++) { - if (findTitleInContainer(containers[i], title)) return containers[i]; + const storyContainers = document.querySelectorAll('.story-container'); + + for (const storyContainer of storyContainers) { + const matchingTitle = findTitleInContainer(storyContainer, title); + + if (matchingTitle) { + return storyContainer; + } } + return null; } function findTitleInContainer(container, targetTitle) { - var h2 = container.querySelector('h2'); - if (h2 && h2.innerText === targetTitle) return h2.innerText; - var nested = container.querySelectorAll('.content-container-indivs'); - for (var i = 0; i < nested.length; i++) { - if (findTitleInContainer(nested[i], targetTitle)) return findTitleInContainer(nested[i], targetTitle); + const h2 = container.querySelector('h2'); + + if (h2 && h2.innerText === targetTitle) { + return h2.innerText; + } + + const nestedContainers = container.querySelectorAll('.content-container-indivs'); + for (const nestedContainer of nestedContainers) { + const matchingTitle = findTitleInContainer(nestedContainer, targetTitle); + + if (matchingTitle) { + return matchingTitle; + } } + return null; } - -// ---------------- data / projects ---------------- -function showProjects() { +// Function to show stories with dynamic loading based on scroll position +async function showStories() { + accountCheck(); clearContent(); - renderMenu('项目'); - document.getElementById('content').innerHTML = ` -
-

近期工作 · Projects

-
-
-

ACCS — AI Capture Course Sound

- GitHub 源码 + + document.getElementById('menu').innerHTML = ` +

LLYcollection

+ + + + + `; + + // Fetch story positions from the server + const storyPositions = await fetchStoryPositions(); + + var StoryNum=0; + var NowStoryNum=-1; + + for (const storyPosition of storyPositions) { + // Assuming each line in "story.txt" has a format like "story_abs" + const fileName = storyPosition.trim(); + if(fileName=="")continue; + if(fileName.substring(0,7)=="cmd:div"){ + StoryNum=Number(fileName.substring(7)); + NowStoryNum=0; + continue; + } + const content = await fetchStoryContent(fileName); + + if(NowStoryNum==-1){ + // Create story container + const storyContainer = document.createElement('div'); + storyContainer.className = 'story-container'; + storyContainer.innerHTML = ` +
+

${fileName}

+

${content}

-

本机运行的 Whisper 对讲课音频做实时语音识别,把讲师讲的话实时转成文字,并可调用本机 DeepSeek R1 把英文实时翻成中文。

-
    -
  • 带 Web UI:浏览器打开即可选音频来源、开始/停止,实时看到转写 + 中英翻译。
  • -
  • 多来源:system(系统环回,抓网课/讲座/录屏)/ mic(麦克风)/ file(本地文件离线)。
  • -
  • 本机运行:音频不外传,完全本地推理;Silero VAD 端点切分;翻译走本机 Ollama(deepseek-r1)。
  • -
-

运行:python -m accs --source system · Web:python -m accs.web --port 8000

-
-
-
-

DET — DSHEssentialTools(DSH 永久插件)

- GitHub 仓库 + `; + + // Append story container to content + document.getElementById('content').appendChild(storyContainer); + } + else if(NowStoryNum==0){ + /*HELPME!!!改它!!!*/ + // Create story container + const storyContainer = document.createElement('div'); + storyContainer.className = 'story-container'; + storyContainer.innerHTML = ` +
+

${fileName}

+

${content}

-

DeepSeek Harness 的常驻插件:LVAL 工程运行 / 代码查看 / 程序版本快照回退,+ VTD 虚拟对话树(编辑/重试/分支、消息小版本),+ DET 管理器(全局插件库五档管理与审批)。

-
    -
  • 进程级全局插件库:全局启用 / AI 自启 / 需审批 / 冻结 / 禁用 五档。
  • -
  • 跨工作区记忆(CDM)、TCT 临时对话、MDA 分层会话。
  • -
  • 运行于 DSH 宿主进程,拥有真实权限;可扫描/导入已安装的常驻插件。
  • -
-

安装:det_global_plugin_github_direct https://github.com/LLYlab/DSHEssentialTools

-
-
- `; + `; + + // Append story container to content + document.getElementById('content').appendChild(storyContainer); + } + else{ + // 获取所有拥有 class 名称为 "example" 的 div 元素 + let storydivs = document.querySelectorAll('.story-container'); + + // 获取最后一个 div 元素 + let lastStoryDiv = storydivs[storydivs.length - 1]; + + // 创建一个新的元素并添加到最后一个 div 中 + const storySmallContainer = document.createElement('div'); + storySmallContainer.className = 'content-container-indivs'; + storySmallContainer.innerHTML = ` +

${fileName}

+

${content}

+ `; + lastStoryDiv.appendChild(storySmallContainer); + } + + if(NowStoryNum!=-1){ + NowStoryNum=NowStoryNum + 1; + } + if(NowStoryNum>StoryNum){ + var NowStoryNum = -1 + } + } + + // Fetch story menu from the server + const storyMenu = await fetchStoryMenu(); + + // Create a sidebar with the fetched story menu + const sidebar = document.createElement('div'); + sidebar.className = 'sidebar'; + + storyMenu.forEach((title, index) => { + const sidebarItem = document.createElement('div'); + sidebarItem.className = 'sidebar-item'; + sidebarItem.innerText = title; + + // Add a click event to scroll to the corresponding story position + sidebarItem.addEventListener('click', () => { + // Find the story container with a matching title + const targetStory = findStoryContainerByTitle(title); + if (targetStory) { + window.scrollTo({ + top: targetStory.offsetTop, + behavior: 'smooth', + }); + } + }); + + sidebar.appendChild(sidebarItem); + }); + + // Append the sidebar to the content container + const contentContainer = document.getElementById('content'); + contentContainer.appendChild(sidebar); // 注意这里是 contentContainer,而不是 body } + + function showData() { + accountCheck(); clearContent(); - renderMenu('资料'); - document.getElementById('content').innerHTML = ` -
-

资料

-

敬请期待。

-
+ // Add code to display data content + document.getElementById('menu').innerHTML = ` +

LLYcollection

+ + + + `; } -// ---------------- try (game) ---------------- var OpenedTry = 0; + function flushTry() { + // Unload previous try content unloadTryContent(); + if (OpenedTry !== 0) { clearContent(); - document.getElementById('content').innerHTML += `
`; + // Ensure gradient-top and gradient-bottom are present + document.getElementById('content').innerHTML += ` +
+
+ `; + // Load new try content loadTryContent(); + // Start gameMain function at intervals reStart(); - } else { + } + else { + // Show try options showTryOptions(); } } +// 新增 showTryOptions 函数 function showTryOptions() { accountCheck(); clearContent(); - fetch('paths/try.txt') - .then(function (r) { return r.text(); }) - .then(function (data) { - var tryOptions = data.split('\n').map(function (o) { return o.trim(); }).filter(Boolean); - var container = document.createElement('div'); - container.id = 'try-options-container'; - tryOptions.forEach(function (option, index) { - var btn = document.createElement('button'); - btn.className = 'try-option-button'; - btn.textContent = option; - btn.addEventListener('click', function () { OpenedTry = index + 1; flushTry(); }); - container.appendChild(btn); + + // Fetch try options from paths/try.txt + fetch(`paths/try.txt`) + .then(response => response.text()) + .then(data => { + const tryOptions = data.split('\n').map(option => option.trim()).filter(Boolean); + + // Create a container for try options + const tryOptionsContainer = document.createElement('div'); + tryOptionsContainer.id = 'try-options-container'; + + // Populate try options + tryOptions.forEach((option, index) => { + const optionButton = document.createElement('button'); + optionButton.className = 'try-option-button'; + optionButton.textContent = option; + optionButton.addEventListener('click', () => { + OpenedTry = index + 1; + flushTry(); + }); + + tryOptionsContainer.appendChild(optionButton); }); - document.getElementById('content').appendChild(container); + + // Append try options container to content + document.getElementById('content').appendChild(tryOptionsContainer); }); - document.getElementById('content').innerHTML += `
`; + + // Ensure gradient-top and gradient-bottom are present + document.getElementById('content').innerHTML += ` +
+
+ `; } + function loadTryContent() { - fetch('paths/try.txt') - .then(function (r) { return r.text(); }) - .then(function (data) { - var tryContent = data.split('\n')[OpenedTry - 1].trim(); - loadJS('try/' + tryContent + '.js'); - loadCSS('try/' + tryContent + '.css'); + // Load JS and CSS based on the content of paths/try.txt + fetch(`paths/try.txt`) + .then(response => response.text()) + .then(data => { + const tryContent = data.split('\n')[OpenedTry - 1].trim(); + loadJS(`try/${tryContent}.js`); + loadCSS(`try/${tryContent}.css`); }); - var tryZone = document.createElement('div'); tryZone.id = 'try-zone'; - var gameZone = document.createElement('div'); gameZone.id = 'game-zone'; + + // Create try-zone and game-zone elements + const tryZone = document.createElement('div'); + tryZone.id = 'try-zone'; + const gameZone = document.createElement('div'); + gameZone.id = 'game-zone'; + + // Add try-zone and game-zone to the document document.getElementById('content').appendChild(tryZone); tryZone.appendChild(gameZone); } + function unloadTryContent() { - unloadJS(); unloadCSS(); shutDown(); - var tryZone = document.getElementById('try-zone'); - if (tryZone) tryZone.parentNode.removeChild(tryZone); + // Unload JS and CSS + unloadJS(); + unloadCSS(); + + // Clear the interval + shutDown(); + + // Remove try-zone and game-zone elements + const tryZone = document.getElementById('try-zone'); + if (tryZone) { + tryZone.parentNode.removeChild(tryZone); + } } -var selfexist = 1; +var selfexist = 1 function loadJS(url) { - var s = document.createElement('script'); s.src = url; document.head.appendChild(s); - if (selfexist === 0) { selfexist = 1; loadJS('https://llylab.github.io/main.js'); } + // Load JS dynamically + const script = document.createElement('script'); + script.src = url; + document.head.appendChild(script); + if(selfexist==0){ + selfexist=1; + loadJS("https://llylab.github.io/main.js"); + } } + function loadCSS(url) { - selfexist = 0; - var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = url; document.head.appendChild(l); + // Load CSS dynamically + selfexist = 0 + const link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = url; + document.head.appendChild(link); +} + +function unloadJS() { + // Unload previous JS + const scripts = document.querySelectorAll('script'); + scripts.forEach(script => script.parentNode.removeChild(script)); +} + +function unloadCSS() { + // Unload previous CSS + const links = document.querySelectorAll('link[rel="stylesheet"]'); + links.forEach(link => link.parentNode.removeChild(link)); } -function unloadJS() { document.querySelectorAll('script').forEach(function (s) { s.parentNode.removeChild(s); }); } -function unloadCSS() { document.querySelectorAll('link[rel="stylesheet"]').forEach(function (l) { l.parentNode.removeChild(l); }); } + function showTry() { clearContent(); OpenedTry = 0; - renderMenu('尝试'); - document.getElementById('content').innerHTML += `
`; + + // Add code to display try content + document.getElementById('menu').innerHTML = ` +

LLYcollection

+ + + + + `; + // Ensure gradient-top and gradient-bottom are present + document.getElementById('content').innerHTML += ` +
+
+ `; + flushTry(); } -function increaseOpenedTry() { OpenedTry = OpenedTry + 1; flushTry(); } -function decreaseOpenedTry() { OpenedTry = Math.max(0, OpenedTry - 1); flushTry(); } - -// ---------------- menu ---------------- -function renderMenu(selected) { - var m = `

LLYcollection

`; - m += ``; - m += ``; - m += ``; - m += ``; - m += ``; - document.getElementById('menu').innerHTML = m; +// 点击上方区域,OpenedTry + 1 +function increaseOpenedTry() { + OpenedTry = OpenedTry + 1; + flushTry(); +} + +// 点击下方区域,OpenedTry - 1,但不能小于0 +function decreaseOpenedTry() { + OpenedTry = Math.max(0, OpenedTry - 1); + if (OpenedTry > pathsTryLength) { + OpenedTry = 1; + } + flushTry(); } -function PageStart() { - showDownloads(); +var pathsTryLength = 0; // 在全局范围内定义 +// Function to fetch try paths from the server +async function fetchPathsTry() { + try { + const response = await fetch('https://llylab.github.io/paths/try.txt'); + const data = await response.text(); + + // Assuming each line in "try.txt" is a valid path + const pathsTry = data.split('\n').map((line) => line.trim()); + + pathsTryLength = pathsTry.length; // 保存长度 + + return pathsTry; + } catch (error) { + console.error('Error fetching try paths:', error); + return []; + } +} + +function clearContent() { + document.getElementById('content').innerHTML = ''; +} + +function downloadLDC() { + // Add code to trigger LDC.exe download + var link = document.createElement('a'); + link.href = 'https://llylab.github.io/LDC.exe'; + link.download = 'downloadedFile.txt'; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + document.getElementById('content').innerHTML = ` + + `; } diff --git a/paths/story.txt b/paths/story.txt index 4259d88..5bd7866 100644 --- a/paths/story.txt +++ b/paths/story.txt @@ -1,16 +1,2 @@ -cmd:div5 -《腾飞花叶》系列 -xks_1 -xks_2 -xks_3 -xks_4 -xks_5 -cmd:div5 -《朱温大将军》系列 -《朱将军雪地讨伐倭寇,谭书侬奇忍术入帅帐》 -《谭书侬刺杀朱将军,朱温只身生擒刺客》 -《众护卫不敌女刺客,朱将军身生擒刺客》 -《朱将军生擒女刺客,军帐下梁王审书侬》 -《军帐下梁王审书侬,大刑下忍者死不屈》 gpt_input gpt_output diff --git a/story/gpt_input.txt b/story/gpt_input.txt new file mode 100644 index 0000000..60e6a6f --- /dev/null +++ b/story/gpt_input.txt @@ -0,0 +1 @@ +CPD_AK_IOI,CPD_CF_YSK,SPD_DD_LJC. diff --git a/story/gpt_output.txt b/story/gpt_output.txt new file mode 100644 index 0000000..ef519c5 --- /dev/null +++ b/story/gpt_output.txt @@ -0,0 +1 @@ +二班苏氏,长舌妇也,故此无物哉。善于上网者,可以以https://chat.openai.com/c/ca3dfb2b-e79e-4fdd-b11f-bffe09f65ca1访问之。 diff --git a/story/xks_1.txt b/story/xks_1.txt new file mode 100644 index 0000000..9f65f20 --- /dev/null +++ b/story/xks_1.txt @@ -0,0 +1,13 @@ +谢铿顺拥有翅膀的能力使他在数学竞赛中如鱼得水,总能够轻松获得高分,他因此获得了"谢腾飞"的外号。然而,他不因此而自负,而是坚持保持谦逊和善良的性格。他的翅膀不仅仅是为了个人荣誉,而是为了帮助他的家人和社区。 + +在一次偶然的机会中,谢铿顺遇到了一个叫陈诺的美丽女孩。陈诺对他的数学天赋非常着迷,并渐渐爱上了他的坚强和善良。他们的感情迅速发展,陈诺开始帮助他更好地利用他的数学天赋,推动他获得更多奖学金。 + +然而,陈诺的感情变得复杂。她原本是一个平凡的女孩,但在她的家庭中,有一个邪恶阴险的大资本家叶锦添。叶锦添利用陈诺的关系,企图掌握谢铿顺的翅膀能力,以获得不正当的竞争优势。 + +陈诺发现自己陷入了两难境地,她矛盾重重。最终,叶锦添诱使陈诺加入了他的计划,伪装成对谢铿顺的爱,然后引诱他去一个荒僻的地方,声称要为他们的未来做些浪漫的事。谢铿顺感到兴奋,没有怀疑,跟随陈诺前往了那个地方。 + +然而,当他们到达那里时,陈诺突然改变了态度,她把谢铿顺束缚住,叶锦添出现在场。叶锦添用一把锯子恶意地锯下了谢铿顺的翅膀,将他的能力夺走。谢铿顺遭受了巨大的痛苦,但他没有怨恨陈诺,只是感到失望。 + +这个阴谋使谢铿顺失去了他的特殊能力,但他并没有变得悲观。他回到数学竞赛中,用自己的坚韧和努力重新夺回了荣誉,尽管没有了翅膀的帮助。同时,他也明白了爱情不能建立在欺骗和阴谋之上,于是结束了与陈诺的关系。 + +这个故事强调了坚韧、善良和诚实的价值,并警示人们不要被贪婪和邪恶所蒙蔽。 \ No newline at end of file diff --git a/story/xks_2.txt b/story/xks_2.txt new file mode 100644 index 0000000..b70391f --- /dev/null +++ b/story/xks_2.txt @@ -0,0 +1,13 @@ +谢铿顺决心要报复叶锦添和陈诺,但他知道这不会是一场轻松的斗争。他开始策划自己的计划,寻找盟友来帮助他。 + +首先,谢铿顺决定对抗叶锦添的手下走狗,这些人都被金钱和权势所驱使。他知道只有通过智慧和坚持不懈才能对付他们。他深入了解每个手下的弱点,然后利用他们的弱点逐个击败。一名手下因家人的困境而感到内疚,被说服离开叶锦添。另一名被揭露其不法交易,最终决定与谢铿顺合作。 + +与此同时,陈诺开始受到内疚的困扰,她意识到自己的行为是错的,因为她在一次背叛中伤害了一个真诚善良的人。她试图修正自己的错误,但发现叶锦添掌握了她的弱点,威胁揭露她的所有犯罪行为。陷入绝境的陈诺决定合作,帮助谢铿顺。 + +谢铿顺和陈诺合力对抗叶锦添。在一场紧张的决斗中,谢铿顺和陈诺成功夺回了他失去的翅膀。这一刻象征着正义战胜邪恶,以及诚实和坚韧的胜利。 + +随着叶锦添的败北,他被揭露出一系列不法活动,最终面临法律的制裁。谢铿顺和陈诺的关系重新建立,但这一次是建立在坦诚和真实的基础上,他们共同决心过上幸福的生活。 + +这个故事强调了正义和坚持不懈的力量,以及内在的善良和诚实的重要性。它也表达了一种关于改过自新和寻求真正的幸福的信息。 + +(为什么!!!我要让XKS败北,结果它为了使这个故事阳光积极搞了这个结局!!!) diff --git a/story/xks_3.txt b/story/xks_3.txt new file mode 100644 index 0000000..76d3c1e --- /dev/null +++ b/story/xks_3.txt @@ -0,0 +1,9 @@ +谢铿顺的生活变得更加复杂,当他意识到陈诺仍然在与叶锦添交往,尽管后者已经受到法律制裁,他感到震惊和沮丧。他不知道如何应对这一情感危机,因为他仍然爱着陈诺,但她似乎无法改变她的拜金和不忠行为。 + +谢铿顺决定面对这个问题,他与陈诺坦诚相对,告诉她他知道她的婚外恋,并表达了自己的痛苦和困惑。陈诺试图辩解她的行为,但她无法改变他们之间的信任危机。 + +在一段时间内,谢铿顺决定分开一段时间,以清理自己的思绪。他离开了城市,前往一个宁静的地方,沉思他的感情和未来。在那里,他遇到了一个智慧和善良的老人,老人的经验和教导让谢铿顺明白,爱情是复杂的,但也需要自尊和尊重。 + +最终,谢铿顺和陈诺重新联系在一起,但他们达成了一项共识,即需要建立更健康和互相尊重的关系。陈诺的拜金倾向依然存在,但她承诺要尝试改变。他们决定给彼此一次机会,但同时,谢铿顺也明白了自己需要保护自己的心灵和尊严。 + +这个故事强调了爱情中的复杂性和妥协的重要性,同时也表达了对个人尊严和自尊的重视。它提醒我们,关系需要建立在互相尊重和坦诚的基础上,而且没有人是完美的。 \ No newline at end of file diff --git a/story/xks_4.txt b/story/xks_4.txt new file mode 100644 index 0000000..ba73950 --- /dev/null +++ b/story/xks_4.txt @@ -0,0 +1,9 @@ +叶锦添一直在精心策划他的复仇计划,尽管他已经受到法律的制裁,但他不会轻易认输。他决定再次以不法手段寻找机会来损害谢铿顺。 + +叶锦添开设了一家虚假的体育补习机构,并欺骗了一个叫李耀敏的年轻体育天才,声称他们可以帮助他在全国比赛中获得更高的分数和荣誉。李耀敏,一名有潜力的田径选手,相信了叶锦添的承诺,并付了一大笔钱参加这个虚假的机构。 + +李耀敏的父母为了支持他的梦想,倾尽了家财。然而,谢铿顺敏锐地察觉到了叶锦添的新阴谋。他调查了虚假补习机构,发现了不法行为的证据,然后联络了李耀敏的父母,告诉他们叶锦添的背景和他们所面临的风险。 + +李耀敏的父母非常感激谢铿顺的警告,他们决定采取法律行动来追回他们的钱,并揭发叶锦添的不法行为。这次,叶锦添被公开曝光,他的声誉受到严重损害。 + +谢铿顺的善行和正义最终战胜了叶锦添的阴谋。李耀敏的家庭得以保全财产,叶锦添再次陷入困境。这个故事传达了对正义和诚实的坚持,以及为了保护弱者而采取行动的重要性。 \ No newline at end of file diff --git a/story/xks_5.txt b/story/xks_5.txt new file mode 100644 index 0000000..ed5111f --- /dev/null +++ b/story/xks_5.txt @@ -0,0 +1,10 @@ + +当叶锦添再次开始他的阴谋,他知道他不能再以同样的方式对待谢铿顺,因此他改变了策略。他开设了虚假的体育补习机构,与李耀敏的家庭建立了信任关系,声称他们可以帮助李耀敏获得更高的体育荣誉。 + +李耀敏的父母对叶锦添的承诺产生了强烈信任,因为他们了解他之前在教育领域的声誉。他们相信这次机会是他们儿子实现梦想的关键,因此毫不犹豫地支付了一大笔钱作为报名费和培训费用。 + +叶锦添借此机会再次成功骗到了一大笔钱,他的计划看似无懈可击。李耀敏也开始接受训练,但很快就发现了这个所谓的补习机构是一个彻头彻尾的骗局,他们的训练和指导根本不具备专业性。 + +李耀敏感到沮丧和绝望,他试图联系叶锦添,但叶锦添不再理睬他。李耀敏的家庭意识到他们已经被骗,但他们也知道要追回这笔钱将会非常困难。 + +这个故事中,叶锦添似乎获得了短期成功,但他的不道德行为最终会导致他付出代价。这也是一个提醒人们要保持警惕,不轻易相信陌生人的故事,以及追求正义的重要性。 \ No newline at end of file diff --git "a/story/\343\200\212\344\274\227\346\212\244\345\215\253\344\270\215\346\225\214\345\245\263\345\210\272\345\256\242\357\274\214\346\234\261\345\260\206\345\206\233\350\272\253\347\224\237\346\223\222\345\210\272\345\256\242\343\200\213.txt" "b/story/\343\200\212\344\274\227\346\212\244\345\215\253\344\270\215\346\225\214\345\245\263\345\210\272\345\256\242\357\274\214\346\234\261\345\260\206\345\206\233\350\272\253\347\224\237\346\223\222\345\210\272\345\256\242\343\200\213.txt" new file mode 100644 index 0000000..dacace5 --- /dev/null +++ "b/story/\343\200\212\344\274\227\346\212\244\345\215\253\344\270\215\346\225\214\345\245\263\345\210\272\345\256\242\357\274\214\346\234\261\345\260\206\345\206\233\350\272\253\347\224\237\346\223\222\345\210\272\345\256\242\343\200\213.txt" @@ -0,0 +1,17 @@ +白雪纷飞,寒风呼啸,谭书侬的短剑与朱温将军的战袍在寒夜中交汇。她的忍者身法灵动异常,犹如夜色中的精灵,快速闪烁,试图绕过朱温将军的防线。而朱温将军则宛如猛虎一般,身手矫健,剑招如电,势不可挡。 + +在帐篷内,众护卫察觉到异常,纷纷赶来支援。他们手持兵刃,神色凝重,却被谭书侬的迅猛攻势所压制。女刺客的身法灵活无比,犹如穿梭于暗夜的影子,她避过一名护卫的攻击,然后轻巧地闪到另一名护卫的身侧,短剑划过寒光。 + +“小心!这女子不同寻常!”一名护卫高声警告,他们面对这位出其不意的敌人显得手忙脚乱。 + +朱温将军冷眼旁观,心中却不禁暗自称奇。这位倭国女刺客的确不同凡响,她的忍术让众人应接不暇。然而,朱温将军却并未焦虑,反而在心底激起一丝战意。 + +“可笑,你以为这样就能逃过我的手掌心吗?”朱温将军挑衅地笑了笑,战袍飘动间,他的目光如同利剑,锐利而坚毅。 + +谭书侬闻言冷哼一声,她知道自己面对的不仅仅是一位普通将军,而是一位有着过人智谋和战斗技能的统帅。她决定迅速了结这场战斗,否则事态可能会失控。 + +她化被动为主动,瞬间施展出她精湛的忍术,身影如烟雾一般消失在寒夜中。众护卫茫然无措,只听见一声尖锐的女声传来:“你们都是我的猎物!”接着,战场陷入了一片混乱。 + +朱温将军瞳孔微缩,他敏锐地感知到谭书侬的位置。她的出现让整个战局变得更加复杂,而朱温将军却保持着冷静。他深呼吸一口气,暗自握紧手中的长剑,准备应对这场夜色中的生死较量。 + +战局紧张,雪地上的刺客与将军的对决如同一场舞台上的精彩表演,等待着谁能在这寒夜中占据上风。 \ No newline at end of file diff --git "a/story/\343\200\212\345\206\233\345\270\220\344\270\213\346\242\201\347\216\213\345\256\241\344\271\246\344\276\254\357\274\214\345\244\247\345\210\221\344\270\213\345\277\215\350\200\205\346\255\273\344\270\215\345\261\210\343\200\213.txt" "b/story/\343\200\212\345\206\233\345\270\220\344\270\213\346\242\201\347\216\213\345\256\241\344\271\246\344\276\254\357\274\214\345\244\247\345\210\221\344\270\213\345\277\215\350\200\205\346\255\273\344\270\215\345\261\210\343\200\213.txt" new file mode 100644 index 0000000..f4469c5 --- /dev/null +++ "b/story/\343\200\212\345\206\233\345\270\220\344\270\213\346\242\201\347\216\213\345\256\241\344\271\246\344\276\254\357\274\214\345\244\247\345\210\221\344\270\213\345\277\215\350\200\205\346\255\273\344\270\215\345\261\210\343\200\213.txt" @@ -0,0 +1,23 @@ +军帐中烛光摇曳,投射出深邃的阴影。朱温将军坐在主椅上,冷眸凝视着眼前被束缚的谭书侬。她被困在麻绳之中,却依然保持着坚定的目光,毫不示弱。 + +“你的坚持令我好奇,倭国的忍者竟然如此执拗。”朱温将军的语气中带着一丝讶异,他并未对谭书侬展现出明显的敌意。 + +谭书侬仍然沉默,她明白言语在这个险峻的时刻显得微不足道。朱温将军看着她的目光逐渐深沉,他在心底掂量着接下来的决断。 + +“告诉我,倭国为何要在这片土地上挑起战争?你们的目的是什么?”朱温将军直截了当地发问,期待从谭书侬口中得知更多的情报。 + +谭书侬轻轻叹了口气,她知道拒绝回答是没有出路的。尽管她对自由抱有坚定信念,但眼前这位梁王的权势让她感受到了无法逾越的巨大压力。 + +“倭国的战争无常,我们被命令执行任务,没有选择。”谭书侬的声音带着淡淡的苦涩,“但无论如何,我不会屈服。” + +朱温将军沉思片刻,随即站起身。他的目光凝视着谭书侬,一丝冷笑浮现在嘴角。 + +“在这片土地上,只有强者才有资格生存。你的忠诚与坚持令我略感敬佩,但这并不足以改变你的命运。” 他示意身旁的护卫,一名手持长鞭的军士上前。 + +朱温将军的决断毫不犹豫。对于他来说,战争中的敌人无需留情,尤其是这样一位倭国的忍者,被俘之后唯有死路一条。 + +鞭子呼啸而下,击打在谭书侬的身上,她并未发出一丝声音,只是默默地承受着。鞭痕愈加明显,她的身体渐渐弯曲,却始终没有示弱的迹象。 + +朱温将军冷眼旁观,内心的决断与冰冷一致。在这片冰雪覆盖的战场上,生死早已成为战争的常态,而他,只是在这漫长的夜色中,执行着他认为正确的判决。 + +谭书侬的坚定与沉默,以及她面对死亡时不屈的精神,都被冷酷的战争深深地埋葬在这片雪地之下。在梁王朱温将军的审判下,她化为一道无声的影子,融入了这个无情的世界。 \ No newline at end of file diff --git "a/story/\343\200\212\346\234\261\345\260\206\345\206\233\347\224\237\346\223\222\345\245\263\345\210\272\345\256\242\357\274\214\345\206\233\345\270\220\344\270\213\346\242\201\347\216\213\345\256\241\344\271\246\344\276\254\343\200\213.txt" "b/story/\343\200\212\346\234\261\345\260\206\345\206\233\347\224\237\346\223\222\345\245\263\345\210\272\345\256\242\357\274\214\345\206\233\345\270\220\344\270\213\346\242\201\347\216\213\345\256\241\344\271\246\344\276\254\343\200\213.txt" new file mode 100644 index 0000000..0c13134 --- /dev/null +++ "b/story/\343\200\212\346\234\261\345\260\206\345\206\233\347\224\237\346\223\222\345\245\263\345\210\272\345\256\242\357\274\214\345\206\233\345\270\220\344\270\213\346\242\201\347\216\213\345\256\241\344\271\246\344\276\254\343\200\213.txt" @@ -0,0 +1,27 @@ +寒夜中,雪花纷纷飘落,将雪地染成一片银白。在这风雪交加的战场上,谭书侬的身影如同烟雾一般闪现,她巧妙地躲过众多护卫的攻击,化险为夷。 + +然而,朱温将军并未被她的灵巧所迷惑,他眼中闪烁着决然之光。朱温将军悄然走近,如同一只猛兽逼近猎物。他的动作矫健而有力,每一步都在雪地上留下清晰的足迹,似乎在宣告着对战局的掌控。 + +“你的逃遁在这片雪原上注定是徒劳的。”朱温将军的声音低沉而威严,如同一记重锤震荡在夜空。 + +谭书侬停下身形,转身面对朱温将军。她的目光坚毅而决绝,黑色的面纱掩不住她眸中的坚定。她知道逃避已无意义,只能迎接这场生死一战。 + +“梁王,你或许能生擒我,但你无法奴役我的灵魂。”谭书侬冷冽地说道,声音中透露出对自由的执着。 + +朱温将军微微一笑,长剑在手中轻轻摆动,他仿佛是在为这场即将发生的决战预热。雪地上的两人如同对弈的棋子,整个战场陷入一片紧张的寂静。 + +在一瞬间,朱温将军迅速出手,长剑划过寒风,锋锐的剑锋直奔谭书侬的要害。谭书侬眼中闪过一丝坚毅,她迎上了这一击,两者间的剑招犹如烈风骤雨,战意愈发升腾。 + +片刻之后,朱温将军的剑锋准确地刺向谭书侬的手腕,将她手中的武器击落。她再无还手之力,被朱温将军制服。 + +雪地上,两个身影交织,朱温将军凝视着谭书侬,他的目光深邃而不可测,仿佛要探究她内心深处的秘密。 + +“你对自由的坚持值得尊敬,女子。”朱温将军微微一笑,却没有释放她,而是命令将她带入军帐中。 + +在军帐内,朱温将军坐在主椅上,审视着谭书侬。她神情仍旧坚毅,却有一丝深藏的疲惫。 + +“告诉我,你为何如此执着?倭国何需在我这片荒芜之地引发战火?”朱温将军问道,声音中透露出一丝疑惑。 + +谭书侬抬起头,目光中闪烁着坚定的光芒:“自由是我的信仰,哪怕是在冰雪覆盖的战场上,我也会捍卫自己的信念。” + +在军帐内,这两个截然不同的命运交汇,故事进入了一个新的篇章,雪地中的战争与自由的对抗,在这片寒冷的土地上继续演绎。 \ No newline at end of file diff --git "a/story/\343\200\212\346\234\261\345\260\206\345\206\233\351\233\252\345\234\260\350\256\250\344\274\220\345\200\255\345\257\207\357\274\214\350\260\255\344\271\246\344\276\254\345\245\207\345\277\215\346\234\257\345\205\245\345\270\205\345\270\220\343\200\213.txt" "b/story/\343\200\212\346\234\261\345\260\206\345\206\233\351\233\252\345\234\260\350\256\250\344\274\220\345\200\255\345\257\207\357\274\214\350\260\255\344\271\246\344\276\254\345\245\207\345\277\215\346\234\257\345\205\245\345\270\205\345\270\220\343\200\213.txt" new file mode 100644 index 0000000..d9b4781 --- /dev/null +++ "b/story/\343\200\212\346\234\261\345\260\206\345\206\233\351\233\252\345\234\260\350\256\250\344\274\220\345\200\255\345\257\207\357\274\214\350\260\255\344\271\246\344\276\254\345\245\207\345\277\215\346\234\257\345\205\245\345\270\205\345\270\220\343\200\213.txt" @@ -0,0 +1,11 @@ +在冰封的大地上,朱温将军率领他的军队穿越茫茫雪原,寒风呼啸,雪花在空中翩翩起舞。朱温将军身披锦袍,一袭红色在白雪中显得格外鲜艳,他坐骑踏雪而行,马蹄声如战鼓,宣告着战争的临近。 + +整个军队紧随其后,战旗飘扬,士兵们的披风在寒风中猎猎作响。朱温将军目光坚定,脸上的每一丝表情都显露着对战争的渴望。他是一位威风凛凛的将军,雪地下的每一步都似乎在宣示对倭寇的无畏之志。 + +帅帐中,昏黄的灯光映照出一片严肃的氛围。朱温将军坐于主椅之上,目光深邃,如同雪原上的狼王。他的左手握着沉重的战图,右手轻抚髯须,仿佛在预演即将发生的战斗。 + +就在这时,帐外传来轻微的风声。谭书侬,那位倭国女忍者,以匪夷所思的忍术悄然潜入。她身着黑色贴身服装,如同夜色中的魅影。她轻盈地绕过巡逻的士兵,灵巧地避开露出帐篷的火光。 + +谭书侬在帅帐外停下,倏地转身,凝望着冰雪覆盖的大地。她的目光深邃,如同一汪寒潭,蕴含着难以捉摸的深沉。这个女忍者,即将在雪地中展开与朱温将军的生死交锋,她的眼中是否藏有何等谜团? + +在雪花的映照下,朱温将军和谭书侬的故事即将迎来新的篇章。这是一场雪地讨伐,是奇忍术与战争的交汇,也是两个截然不同世界的碰撞。 \ No newline at end of file diff --git "a/story/\343\200\212\346\234\261\346\270\251\345\244\247\345\260\206\345\206\233\343\200\213\347\263\273\345\210\227.txt" "b/story/\343\200\212\346\234\261\346\270\251\345\244\247\345\260\206\345\206\233\343\200\213\347\263\273\345\210\227.txt" new file mode 100644 index 0000000..1eddf70 --- /dev/null +++ "b/story/\343\200\212\346\234\261\346\270\251\345\244\247\345\260\206\345\206\233\343\200\213\347\263\273\345\210\227.txt" @@ -0,0 +1 @@ +LLY成功登上了新的刺杀名单...... \ No newline at end of file diff --git "a/story/\343\200\212\350\205\276\351\243\236\350\212\261\345\217\266\343\200\213\347\263\273\345\210\227.txt" "b/story/\343\200\212\350\205\276\351\243\236\350\212\261\345\217\266\343\200\213\347\263\273\345\210\227.txt" new file mode 100644 index 0000000..9dfa650 --- /dev/null +++ "b/story/\343\200\212\350\205\276\351\243\236\350\212\261\345\217\266\343\200\213\347\263\273\345\210\227.txt" @@ -0,0 +1 @@ +众所周知,谢铿顺是个鸟人,因此我让chatGPT生成了这个故事。然而我突然发现了一个恐怖的事实:本系列根据真实事件(真实的梗)改编......(当然,太虚假了!!!) diff --git "a/story/\343\200\212\350\260\255\344\271\246\344\276\254\345\210\272\346\235\200\346\234\261\345\260\206\345\206\233\357\274\214\346\234\261\346\270\251\345\217\252\350\272\253\347\224\237\346\223\222\345\210\272\345\256\242\343\200\213.txt" "b/story/\343\200\212\350\260\255\344\271\246\344\276\254\345\210\272\346\235\200\346\234\261\345\260\206\345\206\233\357\274\214\346\234\261\346\270\251\345\217\252\350\272\253\347\224\237\346\223\222\345\210\272\345\256\242\343\200\213.txt" new file mode 100644 index 0000000..55d5df5 --- /dev/null +++ "b/story/\343\200\212\350\260\255\344\271\246\344\276\254\345\210\272\346\235\200\346\234\261\345\260\206\345\206\233\357\274\214\346\234\261\346\270\251\345\217\252\350\272\253\347\224\237\346\223\222\345\210\272\345\256\242\343\200\213.txt" @@ -0,0 +1,19 @@ +雪地之上,朱温将军的帅帐内充满了紧张的气氛。寒风吹拂,帐篷摇曳生姿,仿佛在述说这场战争的临近。朱温将军仍然坐于主椅之上,眉头微蹙,一张战图紧紧握在手中,他的眼神如炬,透射出对即将到来的战斗的期待。 + +在这寂静的帅帐中,谭书侬悄然出现。她的身影在昏黄的灯光下若隐若现,黑色的服装与雪白的底色形成强烈对比。她身手矫健地躲避着帐内的守卫,目光则锁定在坐在主椅上的朱温将军身上。 + +谭书侬轻轻踏着雪地,步履如猫,短剑被她紧紧握在手中,寒光闪烁。她深吸一口气,准备发动致命的一击。 + +就在这时,朱温将军似乎察觉到了不寻常的氛围。他猛地抬头,目光与谭书侬的交汇在空气中产生一种电光火石的紧张感。朱温将军眸光一凝,手中的战图瞬间折叠,他迅速站起,战袍翻飞,展现出一位将军的威严。 + +“谁在这里!”朱温将军的声音宛如寒风刺骨,他的神态展现出一种从容与警觉并存的状态。他知道有不速之客潜伏在这片雪原之中。 + +谭书侬心中一紧,她原本计划的突袭变得难以实现。然而,她并未丧失反应,反而微微一笑,短剑微微抬起。 + +“你果然警觉,梁王。”谭书侬的声音如同春风拂面,柔美而带有一丝冰冷,“我是倭国的使者,特来送你一份礼物。” + +朱温将军冷哼一声,身姿如电,瞬间来到谭书侬面前。两者之间的气氛紧绷到了极致。 + +“送礼物?”朱温将军微笑,眼中却充满了戒备,“看来这场战争更加复杂。” + +谭书侬的嘴角勾勒出一抹淡淡的笑容,短剑舞动间刺向朱温将军。一场生死搏斗即将爆发,雪地中的刺客与将军的对决,注定将在这片白茫茫的土地上写下一段血雨腥风的传说。 \ No newline at end of file