Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Last Week on My Mac: Two betas and one giant leap

By: hoakley
4 August 2024 at 15:00

As I promised here last Sunday, this was a week of updates. The same day that we were busy updating Sonoma, Ventura and/or Monterey, many developers were puzzling as to why they were being offered a beta-release of Sequoia 15.1, long before 15.0 was even ready for baking. There has been speculation as to whether Apple might skip past 15.0 and go straight to 15.1 when it comes to the autumn/fall. This isn’t the first time that Apple has done this during beta-testing, though, so let me hypothesise a little to explain what’s going on, as Apple seems to forgotten to do that yet again.

From September, there are three appointments that Apple can’t miss, two of which already have dates fixed: the release of 15.0 and next major versions of Apple’s other operating systems, and the release of the next batch of new Macs. The third is more flexible, and depends on when Apple Intelligence is ready to go public.

For the next new Macs, Apple wouldn’t dream of shipping them with Sonoma, and there may well be hardware support ready in Sequoia to handle their new chips, whether M3 Ultra or the first of the M4 family in Macs. That means having a decent release of Sequoia to pre-install on the stocks that will shortly be rolling off production lines. That sets the timetable for the release of 15.0, which looks like September.

For many Mac users, 15.0 brings the most important new feature in iPhone mirroring; as they don’t yet have access to Apple silicon, its forthcoming AI means little, at least until Apple has persuaded them to move up to a new Mac. Apple thus needs the completion of 15.0 to meet its timetable for general release and for pre-installation on those shiny new Macs. It has already informed us, though, that 15.0 won’t bring AI in final release form, but most probably as a public beta.

AI needs as much beta-testing as possible to ensure that, when released, it doesn’t become the laughing stock that ChatGPT and other AI have been in their time. While many may marvel at the good things in your AI, it’s the silly and dangerous things that rapidly become most prominent. It’s no good protesting that those are edge cases, as the stigma will have stuck.

That leaves Apple with a problem: it needs two releases of Sequoia to be beta-tested, so its only solution is to fork them at this stage, in the hope that it will continue to get bug reports on the more significant issues remaining in 15.0, and find those rough edges in AI that could give it a bad name when the public first gets its teeth into it.

For developers with just one Mac they can dedicate to beta-testing, so long as it’s Apple silicon, there’s a convenient solution: install the 15.1 beta as the primary system, and then test 15.0 in a virtual machine, which will now at least do iCloud even if other Apple ID services aren’t available yet.

For those of us who want our apps to support AI features like Writing Tools, this is a good way ahead, despite the extra testing and work that it creates. Although only three of my apps do much with text that would benefit from access to Writing Tools, I am keen that those work well when 15.1 is released, maybe in October or November, depending on progress with beta-testing. But I found what was said at WWDC about the requirements was confusing: in places, it seemed that most apps working with text should work fine, but there was also the spectre that apps have to support TextKit 2, which remains an unknown quantity for many, I suspect.

In his presentation at WWDC, Liu Dongyuan stated: “The good news is, if you are using a UITextView, NSTextView or WKWebView, it just works. Keep in mind that UITextView or NSTextView has to use TextKit 2 to support the full Writing Tools experience. If you are using TextKit 1, you will get a limited experience that just shows rewritten results in a panel.” Would I then have to convert DelightEd, Podofyllin and Nalaprop to use TextKit 2, and if so, how would I go about that?

I tried to assemble source code to do this job, but the snippets from WWDC got me nowhere. I downloaded example code from a previous WWDC, and predictably that failed to run correctly in Sonoma and crashed. It looked as if getting my apps to work with Writing Tools was going to take me until the release of 15.1 to get right.

So, like all lazy programmers, I cheated. My three apps had largely been developed well before TextKit 2 was released, and I hadn’t fiddled with the settings for their views since. I was delighted to find a new popup menu at the foot of the Attributes Inspector for NSTextView that could set the view’s Text Layout to one of three options: Default, TextKit 1, and TextKit 2. By default that had of course been set to Default, so my first check was to set it to TextKit 2, build DelightEd, and see how well that worked. As I should have expected, it rendered the view unusable because no content could be selected, although the Select All command still worked, and that enabled Writing Tools to work as well.

As my attempt to cheat macOS had failed, I went back to the Text Layout popup, abandoned the pretence and set it to TextKit 1, as it should have been. macOS duly rewarded me for my honesty, allowing both my view to work correctly, and Writing Tools to function. Not only did they work, but they worked fully in the way that they do for other apps, without any apparent penalty for being TextKit 1, apart from losing the wizzy visual effects seen in TextEdit, for example.

All it took to make three text-handling apps get full benefit from Writing Tools was setting a single popup menu and rebuilding each. In the end it took me longer to update their documentation than it had taken to fix the apps.

I’m hoping now that those three apps will prove good enough to use in macOS 15.0 and 15.1, giving me time to see where else AI might take them. That will most probably require a visit to the alien land of App Intents. Each time I have attempted to read my way into them I have run out of neurones before they make any sense to me, so grasping the basics could take me a little while. There’s now a small suite of intents aimed at word processor apps that look worth investigating.

For text-based apps, support for Writing Tools is going to be critical. If well executed they should prove the biggest thing for Macs since Mac OS X. For anyone who writes, from school kids to eminent professors, this year should be truly transformative.

Ai 绘画将从何处开始进入日常生活?

By: Steven
10 January 2023 at 21:30

最近几个月 Ai 绘画这个话题很火,但基本上大家都只是看个热闹,跟普通人的生活没多大关系。或者说,大家感觉不到它和自己有什么关系。只有相关从业者,感受到了巨大的生存压力和身份危机。

但和当年支付大战的春晚红包类似,能让普通人都参与进来、玩起来的场景可能才能让大家感受到:Ai 绘画意味着什么,能做什么。

尽管众多以文生图的 Ai 工具已经大幅度降低了创作门槛,但是在那之前,各种咒术、法门终究是拦住不少普通人接触 Ai 绘画的一块巨石。我自己也曾在用过某些 Ai 工具后,在一条展示初次接触的创作成果的视频里提醒大家,不要忽视它,但也不要过分害怕它。它一定会给我们的生活带来巨大的变化,只是目前还没积累到那一刻,仅此而已。

如果说有什么场景,类似发红包那样简单明了,人人都可以参与,我觉得有一个非常合适的应用场景,那就是用 Ai 生成定制头像。对于不具备绘画能力、不懂念咒语、不会使用绘图软件的大多数人而言,Ai 画头像就是各类修图美容软件一级的场景,既有尝新和娱乐,也有充分的社交属性,和红包非常相似。

最近试用了一下漫镜,一个感觉是,神情抓得不错,风格也足够多,用它来探索自己不同造型的可能性,还是挺有启发的!因此中途我想到一件事,如果这类产品的效率再高一些,跟各大连锁发型屋合作,预约时就上传几张照片,生成几套发型方案,人到了现场就让托尼老师根据效果图来剪,这不是非常好的体验升级么?谁说 Ai 必然逼得人失业呢?还得是看人怎么用。

除了头像,你觉得还有哪些场景,适合普通人体验 Ai 绘画呢?

点解图片体验 AI 制作头像

Last Week on My Mac: Picking dates and times

By: hoakley
21 July 2024 at 15:00

When Apple offers us the first Macs with M4 chips they should please those who want more precise timing. As their CPU cores use the ARMv9.2-A instruction set architecture, they should feature 1 GHz timers, introduced in ARMv9.1-A. One of the surprises of the first three families of M-series chips has been their relatively coarse-grained time resolution: their Mach Absolute Time increments every 41.67 nanoseconds, while the M4 should be capable of 1 nanosecond increments, as supported by Intel CPUs.

If such momentary time intervals are hard to envisage, we’ve long been able to measure brief moments in time. Second hands on clocks were an occasional feature over four centuries ago, and became commonplace in the nineteenth century, when the advent of railways synchronised time across continents so that trains could run on schedule.

Date Pickers

Macs have multiple clocks, and a common way to access date and time using the Date structure from Foundation. Apple infers that this resolves to ‘sub-millisecond’ times, and Dates are commonly set down to the second. Look in Ulbow and some other of my apps and you’ll see the AppKit interface for this, in a Date Picker with NSDatePicker. Much of those date back to Mac OS X 10.4.

datepicker1

In this case, I set its style to textFieldAndStepper to let the user specify year, month, date, hours, minutes and seconds precisely. As with many other apps, second resolution is essential when working with the log, as a Mac can accumulate thousands or even tens of thousands of log entries in each second.

datepicker2

This has its equivalent in SwiftUI, using the same term of Date Picker, shown here in my prototype log browser LogUI. What’s missing here are the seconds, which are only allowed in watchOS.

In SwiftUI, a Date Picker comes with set components, and those including seconds, hourMinuteAndSecond, aren’t available in macOS, iOS or iPadOS, only in watchOS. The others have to make do with hourAndMinute without seconds, which explains why I’ve had to tag on a separate view to handle seconds.

Not only is there no support for entering seconds in the SwiftUI Date Picker for macOS, but times set using it pick their own value for seconds, which appears to be random, rather than fixing the seconds value at zero. Thus, its value in any Date entered using SwiftUI could range between 0 and 59.

Using AppKit, obtaining the Date set using its Date Picker is simple: for a picker of
@IBOutlet var textBaseDate: NSDatePicker!
the code
let startDate = self.textBaseDate.dateValue
returns the date and time set, including seconds, in startDate.

Adding support for seconds

Dates are opaque structures, and don’t give direct access to components within them such as seconds. To cater for SwiftUI’s shortcomings, more code is required. In the view, the Date obtained from the Date Picker has to be supplemented by a separate value for seconds:
@State private var theStartDate = Date()
@State private var theSecs = "00"
DatePicker("Start", selection: $theStartDate, displayedComponents: [.date, .hourAndMinute])
TextField(":", text: $theSecs)

sets theStartDate to the date with uncontrolled seconds, and theSecs to the number of seconds entered separately by the user.

Then the code that incorporates the seconds into the Date has to work through an intermediate Calendar to do so. It first deconstructs the Date into its components:
let calendar = Calendar(identifier: .gregorian)
var components = calendar.dateComponents([.year, .month, .day, .hour, .minute], from: date)

then sets the seconds correctly, and reconstructs the corrected Date:
components.second = theDateSecs
let dateWithSecs = calendar.date(from: components)!

SwiftUI

SwiftUI was first released for macOS Catalina and iOS 13 in 2019, so celebrated its fifth birthday last month. That makes it only two years younger than APFS, but the contrast in maturity between them could hardly be greater. AppKit may have the advantage of age, in that it was released with the first Mac OS X in 2001, but by the time it was five, midway between 10.4 Tiger and 10.5 Leopard, it was both extensive and mature. AppKit didn’t face the challenge of being cross-platform, though, and parallels with UIKit in iOS came later.

SwiftUI has also rushed forward in novel fields, laying greatest emphasis on iOS. Without sound foundations, though, it risks failure. If it still can’t perform basic functions long-supported by AppKit, then few macOS apps will adopt it, and it will stay playing second fiddle. That would be a bad outcome for all those involved, not least users expecting consistency and high quality in the human interface across Macs and Apple’s devices.

Any good five year-old should be able to tell the time including seconds. Yet SwiftUI hasn’t yet caught up with those German clockmakers of the sixteenth century and their second hands, and seems stuck in the age of sundials. How can it possibly cope with the first Macs based on M4 chips with their nanosecond resolution?

Managing Classic Mac OS resources in ResEdit

By: hoakley
20 July 2024 at 15:00

The Macintosh was intended to be different in many ways. One of them was its file system, which was designed for each file to consist of two forks, one a regular data fork as in normal file systems, the other a structured database of resources, the resource fork.

Resources came to be used to store a lot of standard structured data, such as the specifications for and contents of alerts and dialogs, menus, collections of text strings, keyboard definitions and layouts, icons, windows, fonts, and chunks of code to be used by apps. You could extend the types of resource supported by means of a template, itself stored as a resource, so developers could define new resource types appropriate to their own apps.

resedit0

Apple’s engineers developed a resource editor that quickly became one of the best-known apps on the Mac: ResEdit, last seen in version 2.1.3 way back in 1994. This was the power user’s quintessential tool: if you didn’t like a particular dialog in an app, ResEdit could be used to change it; if you wanted to create your own custom keyboard layout, it was the first choice for that too. If you were wicked enough to want to mess someone’s Mac up, you could go into their system files and change things around when they were out at lunch. Not that anyone ever did that, of course.

resedit1

Each resource type had a four-character name, such as ALRT for an alert definition, CODE for executable code, DLOG for dialogs, KCHR for keyboard layouts, MENU for menus, STR for text strings, and so on.

resedit2

You could have many different KCHR resources, each numbered, so that changing your keyboard layout was a matter of switching from KCHR number 2, the standard British layout, to number 26 for Dutch, for example. Adding your own custom keyboard layout was then merely a matter of defining a new KCHR resource with a unique ID number, here 128, and editing it to map the keys how you wanted.

resedit3

Many resource types had custom editors: that for KCHR has a simple keyboard layout and tabular form. The highlighted (black) keys indicate that the Euro character € being shown would be generated by holding the Opt (Alt) modifier key and pressing the 2 key on the top row of the main keyboard, but not the 2 on the numeric keypad.

prefsresedit

Customising the icon displayed for QuarkXPress was another fun job for ResEdit.

filesize04

In those days, it was ResEdit that displayed the Get Info dialog for folders and files, where the sizes of resource and data forks were revealed. Note the vital Type and Creator fields shown: those used four characters that determined the icon to be used for documents, and which app would open them when double-clicked. They were used to build the Desktop Databases, mapping files to their icons and apps.

Resource forks and the thinking behind them are ingenious and empowering, but open up many security issues. In the days when there was Classic Mac OS malware, it often came in resource forks, and took advantage of their features. Although it was possible to lock and protect individual resources, armed with a copy of ResEdit you could soon change that, and almost anything else that you wished to, just as malware could and did.

viruscollection

This is demonstrated in the names seen in this malware library: WDEF preyed on windows resources, MDEF on those for menus, and several of these malicious files are shown with the icon for ResEdit’s resource files.

With Mac OS X, resource forks went into hiding, soon becoming extended attributes. App resources were split out into bundles, folders containing standard structures of files and more folders. Within those, the data structures that would have gone into resources are now folders full of files with standard data forks. In many cases, structured data are set out in XML, which is far less efficient than those old resources, and less suitable for power users to tamper with.

Instead of the limitless customisations to Mac OS, apps, and almost everything on your Mac, accomplished using ResEdit, apps are now locked down by their signatures, and can’t be tampered with any more. While they lasted, resources and ResEdit were exciting and satisfying, if horribly insecure.

References

Wikipedia on resource forks.
Wikipedia on ResEdit.
Apple reference manual for ResEdit 2.1.

Last Week on My Mac: Buried treasure

By: hoakley
7 July 2024 at 15:00

Much of our literature is based on a few legends. When one pirate, William Kidd, was believed to have buried his ill-gotten gains on Gardiners Island, that formed the basis of many adventure stories, including Washington Irving’s Wolfert Webber, Edgar Allan Poe’s The Gold-Bug, and Robert Louis Stevenson’s Treasure Island, and dozens of derivatives. Last week I too was digging for buried treasure, this time in the deep soil of the macOS log.

Following up on my previous observations of Battery Centre (com.apple.BatteryCenter) and its log entries recording checks on wireless input devices and UPS, my first task was to build myself a shovel using SwiftUI, a utility I’ve named Unhidden for several good reasons. Although I’ll be releasing and explaining that tomorrow (Monday) morning, in this article I’ll explain why it, and other log analysis tools, are so valuable.

For the last eight years, since its introduction in Sierra, macOS has written copious entries into its Unified log. Although supported from the start by the log command tool, for the first three of those years, third-party developers were denied direct access to the new log. Even now, reading log entries using Swift is rudimentary to say the least: for example, the API still can’t deliver a collection of entries written during an arbitrary period, which can only be achieved by calling the log command to deliver them in JSON format, and parsing that. Given those limitations, all my previous utilities that retrieve log entries have relied on the log command; Unhidden is the first of them to use the Swift API of OSLog.

If Apple intended the Unified log and its bad habits, like censoring so much key information with <private>, as a means of obfuscating macOS internals, it was hugely successful. Seasoned Mac experts who had previously gained much from browsing the log found themselves submerged in so much log chatter that most abandoned all further attempts. So many developers gave up trying to make use of the log that Apple is still trying to win them back. In High Sierra, using the newfs_apfs command to encrypt a previously unencrypted APFS volume leaked passwords in plain text to the Unified log for six months until Sarah Edwards discovered the bug, and Apple fixed it in 10.13.4.

Those who use my utility T2M2 will be aware of how its analysis of log entries makes them aware of serious problems occurring in their Time Machine backups that are never reported to the user. Two years ago, log entries confirmed the function of a new form of XProtect, Remediator, and how it runs periodic scans looking for malware. The only way to tell if APFS trims volumes is to read the entries it writes in the log, and for many other systems in macOS log entries are the only evidence of their completing key tasks successfully.

This journey into com.apple.BatteryCenter started with chance observations that revealed how macOS may periodically interrogate what Apple terms Human Interface Devices, or HID (hence Unhidden), to discover key information including their battery charge status. As far as I’m aware, there’s no public API to perform that, and the only approach is to dig through the I/O Registry, a task akin to searching for treasure using the clues to a cryptic crossword puzzle instead of a map.

After drawing a complete blank in Apple’s documentation I discovered that BatteryCenter is a Private Framework new to macOS Sonoma 14.0, and didn’t exist in Ventura, where similar information came from com.apple.iohid. Alongside are two related user interface frameworks, BatteryCenterUI and BatteryUIKit, making a total of three of the over 1,600 private frameworks in Sonoma, and presumably destined for Sequoia. Whether they’ll ever make the leap to being part of the public API appears doubtful, so for the time being, the only way to access them is through their entries in the log.

When it comes to searching for buried treasure in macOS, there’s nowhere as rewarding as the Unified log. There may be no maps, and when we need shovels all Apple provides are trowels, but there’s more silver and gold here than there ever were on Gardiners Island.

寻找适合的自建聊天工具

By: fivestone
3 July 2024 at 22:07

到现在为止,并没有找到最合适的解决方案(目前最靠谱的是 Nextcloud Talk 和 Voce Chat)。先把过程中考虑到的一些因素,记录下来,作为借鉴。

我的目的,是如何更便捷地,和墙内小范围的朋友、家人,保持联系,在对话中不受信息审查。现有的聊天软件,能够不翻墙使用的,几乎没有了,即使有,也不是长久之计。所以最靠谱的方式,大概只有通过一台海外的 vps,自建服务,供小范围的人使用。如果传播范围不大,除非 gfw 变成白名单,否则应该都可以长期使用。

下面是选择各种自建聊天工具时,会考虑到的因素。这些因素之间,有些是互相冲突的。对不同需求的人,在这些因素之间考虑的权重,也不一样。对于我上述的需求来说,

  • 不需要考虑的因素,用黑色显示;
  • 希望能有,但没有也无所谓的因素,用蓝色显示;
  • 非常希望能满足的因素,用绿色显示。

首先,我希望这是一个可以挂机的聊天工具,可以在收到信息时,从手机接收到通知;而不仅仅是个网页聊天室,只能在专门打开网站时,才能聊天:

  • 可以持续挂机,通过 app 或者「Chrome 把网站添加到桌面」的功能,实时接收来信通知
  • 除了手机外,也能在 pc 的浏览器里使用

要联系的人,并不擅长电脑技术和操作,因此

  • 不需要翻墙使用
  • 操作简便
  • 有中文界面

这些人,可能并不属于同一个群体。所以,需要为不同的人群,架设不同的服务地址,互相分开。

  • 在一台 vps 上,同时部署多个聊天服务。一些功能更加完善的聊天服务如 xmpp,因为需要独占端口,并不能满足这一点;

安全性方面:

  • 信息加密
  • 开源
  • 不和中央服务器连接,一些 self-host 的服务,会经常连接开发者的服务器,虽然只是检查升级或校验程序完整性,但还是看着心虚;
  • 完全通过域名交互,不向其它服务器暴露 ip 地址
  • 用户之间的私信,对管理员也不可见,否则,其实开个 fediverse 实例,可以满足这里很多条要求;
  • 用户之间不会互相暴露信息,譬如很多协同工作平台,可以互相看到所有用户的名单、email……

架设系统的便利程度:

  • 支持 docker + nginx 部署,或者直接放进 php 目录就能运行
  • 系统开销小,内存上 G 的那种就算了吧;
  • 不需要 mysql 等专门数据库,因为规模不大,sqlite 就足够了;
  • 能部署在网站的子目录下,不需要独占一个子域名;

对聊天功能的需求:

  • 是否要加入去中心化网络,和其它服务器的用户交流?对我来说,这不是必须的。而且这在部署的便利性、轻量级、安全性、同时部署多个服务……等方面,都会造成冲突;
  • 可以群聊,也可以一对一私聊
  • 可以传输文件;
  • 支持语音
  • 支持视频;
  • 注册过程简洁,可以由管理员直接生成账户;
  • 可以关闭对外注册

……………还有什么要补充的吗?


已经考察过的工具

其实最理想的,应该是一个 php 的聊天室……能通过 chrome 在手机桌面接收消息通知就可以。轻量化、可以塞到任何目录下、没有中文我自己汉化也可以。但是,真的没找到靠谱的…………求推荐!!!

ps,如果联系人有一定电脑常识,也懂英文的话,用 mycryptochat 做临时沟通,蛮好用的。

目前最合适的,是 Nextcloud Talk,用 docker + sqlite + nginx,是可以做到快速部署的;占用内存不到 300MB,勉强可以接受(所以开销更高的方案,基本不考虑了);而 nextcloud 作为一个庞大的办公平台,其 web 界面对于非技术人士,未免有些眼花缭乱。

xmpp 和 matrix 服务器,可以做到开销更小,但也在 100MB 以上,还涉及独占端口的调整,部署起来繁琐很多。似乎也可以把跨实例通信的功能关掉,做成封闭社区,配置和开销会简单一些。但还没仔细研究。

各种协同平台类,如 Mattermost、Rocket.Chat,系统开销过大,就算了。

这两年有个国人开发的 VoceChat 工具,评价很不错。可以 docker + nginx 部署,内存 30MB,有 web 界面和自己的 app。推荐大家可以试试。目前发现的一些问题:

  • 免费 license 有 20 个用户的限制。 问题不大;
  • nginx 不能反代到子目录,只能独占域名的根目录;
  • 可以看到其它用户的 email,但用邀请码注册的话,可以填假的,不用验证;
  • 最大的问题:VoceChat 的语音聊天模块,是外挂的 agora.io,——是著名的大陆运营商,当年 clubhouse 因此遭受很大质疑。所以,不要用它的语音功能谈关键的信息。进而,这个软件的文字聊天的安全性,虽然是开源,但使用官方 docker 时,也让人有些嘀咕了。

兔子王国里的外星人_0.ylog

By: Steven
26 April 2024 at 00:52

欢迎收听荒野楼阁 WildloG,这里是设计师苏志斌的个人播客。作为第 0 期,我会与你分享一下做这个播客的动机、这个播客的主题会是什么、起这个名字的缘由、本期封面和播客 Logo 的设计想法,以及后续的节目计划。

在这一期,你会听到:

—- 我是谁?从我家的动物园,工作和话剧的经历,聊到我二十多年的写作习惯。

—- 我对于视频内容的态度?为什么那么久没更新《设以观复》系列?

—- 原本并不想做播客,为什么转变想法呢?动机是什么?

—- 这个播客的主题:一个外星人

—- 荒野楼阁 WildloG 这个名字是什么意思?因为生机勃勃啊!

—- Why not 和 WildloG

—- 封面设计:隐秘的荒野和兔子王国

—- 以两类节目为主:一个人捡树枝,两人以上一起捡树枝

—- 要停更视频?

|登场人物|

苏志斌:工业设计师,车联网智能硬件产品经理/联创,《设以观复》作者

|相关链接|

若你所使用的播客客户端未能完整显示插图,或遇网络问题未能正常播放,请访问:

荒野楼阁 WildloG 的地址:https://suithink.me/zlink/podcast/

阅读设计相关的各类文章:https://suithink.me/zlink/idea/

|其他社交网络媒体|

苏志斌 @ 知乎|SUiTHiNK @ 即刻 / 微博

苏志斌SUiTHiNK @ Bilibili / YouTube / 小红书

|联络邮箱|

suithink.su@gmail.com

欢迎在 小宇宙、Spotify、YouTube、Apple Podcast 收听本节目,期待你的留言。

💾

在外置硬盘上,加密安装 ubuntu

By: fivestone
13 February 2024 at 19:27

需求:

  1. 在便携硬盘盒(M.2 SATA/NVME)安装 Linux(Ubuntu/Zorin),以便在不同的电脑上都可以启动使用。
  2. root 级别的系统分区加密(使用 LUKS & LVM)。
  3. 不要把整块硬盘都加密,而是在硬盘上保留一个未加密分区。这样也可以作为普通的移动硬盘使用。

——这篇攻略和是否外置硬盘盒,没多大关系。普通内置硬盘也可以这样加密安装。

最新的 Ubuntu 22.04 之后的版本,在安装界面里自带了 LVM 全盘加密安装的选项。但是并不能满足第 3 条需求。所以还需要一些复杂的手动操作。

安装过程尽量围绕 ubuntu 的图形安装界面,对新人友好。参考并验证了这篇教程。但原文连同 /boot 引导分区也一起加密了,于是在配置上略显繁琐。我觉得加密 /boot 并不是很有必要,做了一些改动。最终的硬盘分区结构为(以 512GB 硬盘为例):

  • 大约 800MB,EFI 引导分区
  • 大约 300GB,LUKS 加密分区。在其中配置 LVM 逻辑分区:
    • 2GB,swap 交换分区
    • 大约 300GB,Ubuntu 系统分区 root /
  • 大约 200GB,普通移动硬盘分区

操作步骤:

下载 Ubuntu,制作 USB 安装盘(过程略)。——然后,强烈建议在整个安装过程之前,在电脑的 BIOS 里,把内置的其它硬盘暂时卸载。

插上移动硬盘和 USB 启动盘。从 U 盘启动电脑,选择 Try Ubuntu。最新的 Ubuntu 22.04 安装程序里,已经内置了所需的 cryptsetup 和 cryptsetup-initramfs 软件包。因此,整个安装过程中,应该不需要连接互联网。

首先,把硬盘预分区。分区软件有很多种,可以用原文的 sgdidk,也可以直接用图形界面下的 Disk 或者 Gparted。在硬盘上创建 GPT 分区表,然后分成:

  • 大约 800MB,EFI 引导分区
  • 大约 300GB,要加密的系统分区
  • 余下的约 200GB 移动硬盘

这些分区都先不用格式化。记住第二个分区的名字,本文假定为 /dev/sda2。

分区成功后,关闭分区软件,打开 Terminal 命令界面,执行 root 权限

sudo -i

将系统分区加密。按提示输入密码,——这个密码,就是以后每次启动时,挂在硬盘用的密码。和安装 Ubuntu 时的用户密码,并不是一回事。

cryptsetup luksFormat --type=luks1 /dev/sda2

解锁刚刚加密的分区:

cryptsetup open /dev/sda2 hd2_crypt

创建逻辑卷组(LVM),然后在其中创建 2GB 的 swap 交换分区,再把剩余的空间创建为系统分区(这两个分区的大小,大家自行调整):

pvcreate /dev/mapper/hd2_crypt

vgcreate ubuntu--vg /dev/mapper/hd2_crypt

lvcreate -L 2G -n swap_1 ubuntu--vg

lvcreate -l 100%FREE -n root ubuntu--vg

然后,运行桌面上的 Ubuntu 安装程序(Terminal 先不要关),在磁盘分区页面,选择 Something else,进行手动分区。

  • 把 /dev/mapper/ubuntu—-vg-root 格式化成 ext4,挂载为系统根目录 /
  • 把 /dev/mapper/ubuntu—-vg-swap_1 设为 swap 交换分区
  • 把 /dev/sda1 设为 EFI 引导分区

点击 Install Now,确认对分区的设置。注意,到了下一步创建用户的界面时,先不要继续。切换回 Terminal 命令行界面,正式安装前,在 GRUB 中启用加密(能看懂下面这些命令的话,也可以直接去编辑相应的文件):

while [ ! -d /target/etc/default/grub.d ]; do sleep 1; done; echo "GRUB_ENABLE_CRYPTODISK=y" > /target/etc/default/grub.d/local.cfg

然后回到创建用户的页面,点击继续,开始安装系统。安装结束后,先不要 restart。而是点击 Continue Testing。

回到 Terminal 命令行界面,chroot 到新装的系统:

mount /dev/mapper/ubuntu----vg-root /target

for n in proc sys dev etc/resolv.conf; do mount --rbind /$n /target/$n; done

chroot /target

mount -a

原文说此时需要(联网)安装 apt install cryptsetup-initramfs;但我用的 ubuntu 安装程序已经自带了,并不需要联网安装软件包。

添加密钥文件相关设置:

echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook

echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf

创建密钥文件并将其添加到 LUKS

mkdir /etc/luks

dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=512 count=1

chmod u=rx,go-rwx /etc/luks

chmod u=r,go-rwx /etc/luks/boot_os.keyfile

将密钥添加到 boot_os.file 和 Crypttab

cryptsetup luksAddKey /dev/sda2 /etc/luks/boot_os.keyfile

echo "hd2_crypt UUID=$(blkid -s UUID -o value /dev/sda2) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab

更新 Initialramfs 内核映像

update-initramfs -u -k all

此时全部结束。可以重启系统啦。


关于这个硬盘密码:

  • 是用来防止,别人拿到这块硬盘时,无法查看硬盘的文件;
  • 并不能防止,当你登入系统后,因为系统漏洞或操作失误,而造成的入侵;
  • 这个密码,如果忘记了,硬盘里的文件,就再也无法看到了!!(有添加 recovery 的操作,但我觉得没必要);
  • 每次开机启动时,都要输入一次这个密码。所以,虽然密码需要足够复杂,但最好选一个,自己能方便记住,日常使用的方式。

如何修改硬盘密码:

最简单的方式,是在已经启动的移动硬盘系统里,先通过 disk 等分区软件,确认加密分区的名字(这里假设仍然是 /dev/sda2,但实际上不一定了),打开 Terminal 界面,

sudo -i

cryptsetup luksChangeKey /dev/sda2

按照提示,输入旧密码,再输入两遍新密码。最后,更新 initramfs,

update-initramfs -u -k all

就可以了。

智能家居之第三方监控接入 HomeKit

By: Orchestr
30 November 2023 at 15:20
智能家居之第三方监控接入 HomeKit

相信很多和我一样的有宠家庭,都会为了掌握宠物的行踪或拆家的进展而购买了监控摄像头,通过互联网掌握藏在家中猫猫狗狗的踪迹,抑或是其他的为了家庭安全而购买摄像头起安保作用的家庭,都会面临相同的几个问题:我们真的需要云存储吗?我们真的信任摄像头厂商吗?我回家以后需要关掉摄像头吗?

智能家居之第三方监控接入 HomeKit

猫猫和我一样表示怀疑,以及各个厂商的云存储价格,打消了我的想法。我一开始的方案是将监控接入了群晖的 Surveillance Station,打开了群晖的动态提醒,但随之而来的便是每天无数的提醒,监控视野内但凡有一点点风吹草动,便会让我手机震动不停。

智能家居之第三方监控接入 HomeKit

直到我后来看到一篇关于 iCloud 安防摄像头的文档,为何不接入 HomeKit 白嫖无限 iCloud 存储呢?苹果还是相当良心的,摄像头存储的录像并不占用原有的 iCloud 空间。50 GB 方案:可添加一个摄像头。200 GB 方案:最多可添加五个摄像头。2 TB 及更高方案:不限制摄像头数量。作为高贵的美区 Apple One 超大杯车主,理论上是可以添加无数个摄像头的。具体的内容大家可以看下面的文档。

在 iCloud 中使用 HomeKit 安全视频储存加密安保摄像头录制的视频
了解如何在 iCloud 中使用 HomeKit 安全视频储存安保摄像头的视频。
智能家居之第三方监控接入 HomeKitApple Support
智能家居之第三方监控接入 HomeKit

话不多说,那就准备开搞!以往来说,其他的设备加入 HomeKit 我会选择通过 Home Assistant 进行中转,但是因为 HA 接入的摄像头好像并不支持 动态监测、人脸识别等 HomeKit 安防高级功能,所以我们这里会使用一个新的工具。

GitHub - koush/scrypted: Scrypted is a high performance home video integration and automation platform
Scrypted is a high performance home video integration and automation platform - GitHub - koush/scrypted: Scrypted is a high performance home video integration and automation platform
智能家居之第三方监控接入 HomeKitGitHubkoush
智能家居之第三方监控接入 HomeKit

Scrypted Docker 安装

Scrypted 本身是支持 Home Assistant Add On 的,所以不是通过 Container 安装 Home Assistant 可以方便的跟随这里的文档进行安装:

Home Assistant | Scrypted Docs
Video Integration Platform
智能家居之第三方监控接入 HomeKitScrypted Docs
智能家居之第三方监控接入 HomeKit

因为我的 Home Assistant 是通过 Docker 安装的 HA Core,不支持 Add On,所以这里需要通过 Docker 来进行安装,之前提到过,我的 Home Server 运行的是 NixOS,所以可以很方便的配置 Docker,具体的配置项如下,将其改为 Docker Compose 也很方便,所以这里不再提供。

{ config, pkgs, ... }: {
  virtualisation.oci-containers.containers."scrypted" = {
    autoStart = true;
    image = "koush/scrypted:latest";
    volumes = [ "/orchestr/static/docker/scrypted:/server/volume" ];
    extraOptions = [ "--network=host" ];
    environment = { TZ = "Asia/Shanghai"; };
  };
}

Scrypted 配置

安装完成后,我们便可以在浏览器内进入 scrypted 后台,注意这里的 https 不可省略,具体的网址为:

https://your-host-ip:10443

按照网页提示设置账号密码进入主界面选择 Management Console 即可。

scrypted 插件安装

智能家居之第三方监控接入 HomeKit
智能家居之第三方监控接入 HomeKit

点击左侧栏内 Plugins,然后点击 Install 进入以下界面:

智能家居之第三方监控接入 HomeKit

安装以下插件:

  • HomeKit
  • Onvif Camera Plugin 或 RTSP Camera Plugin
  • OpenCV Motion Detection
  • Snapshot Plugin
  • Video Analysis Plugin
  • WebRTC Plugin

注意,安装完 HomeKit 插件后切勿着急配置,继续看完下文。

Scrypted Server Address 设置

注意,此步不可省略,不然会出现摄像头无画面的情况。依次点击左侧边栏 SettingsGeneral ,即可看到界面设置。

智能家居之第三方监控接入 HomeKit

scrypted 摄像头配置

这里以 Onvif 协议举例,RTSP 配置过程基本一致,点击 Onvif Camera Plugin 进入插件配置,点击 Add New,进入以下界面:

智能家居之第三方监控接入 HomeKit

输入摄像头相关参数,点击 Create ,进入摄像头配置界面,这时,应当能看到摄像头的 SnapShot ,因为我这里已经配置过一遍了,所以界面可能略有不同。点击右侧的 Extensions ,将以下的插件勾选后点击 Save

智能家居之第三方监控接入 HomeKit

Scrypted 插件功能

一般情况下如果使用没有异常,尽可能保留默认配置即可。

Stream

智能家居之第三方监控接入 HomeKit

一般的家用摄像头都会有两个视频流,一般其中一个为高画质,一个为低画质,大家可以根据自己的需求选择相应的视频流,比如在家时适用高画质,出门适用低画质等。

SnapShot

智能家居之第三方监控接入 HomeKit

可以选择一些视频预览画面的选项,比如从哪个视频流截取画面等。

Motion Detection

智能家居之第三方监控接入 HomeKit

这里需要说明的是 Built In Motion Sensor 选项,Assist 为使用摄像头默认内置的动态监测算法,Replace 为使用 OpenCV 进行替代,如果你的摄像头没有内建相应功能的话,建议选择 Replace

Homekit 配置

这里有一个坑大家需要注意,HomeKit 摄像头的配置不是在 Scrypted 的 HomeKit 插件页面进行配置,而是在摄像头的 Extensions 页面,因为 Homekit 摄像头这里的默认配置是 Accessory 而不是Bridge 。对于摄像头而言我更青睐于配件而非桥接,毕竟一次性桥接一串设备进去,将来如果有什么问题需要单独配置某个设备的话,需要整个桥接的所有设备一起移除重新配置,较为麻烦。

智能家居之第三方监控接入 HomeKit

这里有一个选项,RTP Sender 提供两个选择,FfmpegScrpytedFfmpeg 大家众所周知,不做赘述,Scrpyted 为一个实验性选项,在这里有着更快视频转接速度,即更低的延时。

注意,这里配置完成后可能需要重启 Homekie 或 Scrypted 服务,注意观看网页顶部蓝色框的提示,这里不再截图展示。

接下来点击 Pairing ,打开 Home App,点击添加设备,扫描屏幕上的二维码,可能需要输入下方的 Pairing Code ,完成后即可将摄像头加入家庭。

智能家居之第三方监控接入 HomeKit

Home App 设置

在添加完摄像头,App 内便会引导进行摄像头的配置,比如视频录制选项,在家或外出是是否仅串流或开启录制等,以及动态监测是否监测人,动物,包裹等,如果是室外摄像头,还可以监测汽车等,也可以开启人脸识别,避免自己在家时被 Home App 不停地通知监测到有人进入摄像头。

下面只贴一些完成后的截图吧。

智能家居之第三方监控接入 HomeKit
智能家居之第三方监控接入 HomeKit
智能家居之第三方监控接入 HomeKit
智能家居之第三方监控接入 HomeKit
智能家居之第三方监控接入 HomeKit

结束语

到此为止,将第三方摄像头接入 Homekit 的工作就宣告结束,我们可以在这步完成后便关闭摄像头的联网权限。如果大家在配置过程中遇到什么问题,可以留言,博主将在看到后及时回复。如果你对这里的内容略感兴趣,可尝试订阅本站,点击这里即可

Sign up for Digital Immigrants

Nobody from nowhere, belonging to no one.

Email sent! Check your inbox to complete your signup.

No spam. Unsubscribe anytime.

在自己服务器上安装 GitLab,代替 GitHub!

By: James Guo
25 June 2016 at 21:12

我的服务器上部署的代码、配置文件等内容大多是使用 Git 进行版本控制。为了能够使用、配置起来更方便,通常使用一整套系统去管理。很显然,在一些代码和配置文件里会有一些机密的内容,如一些密钥什么的,所以必须不能公开。GitHub.com 虽然提供了 Private 存放处功能,但是由于此功能是付费的,而且对于 Organization 的 Plan 还是极贵,并不十分划算;就算能有免费的 Private 存放处,把自己的很多重要的密钥放在第三方服务器上还是很不安全,所以能够 Host 在自己的主机上的,并且能够替代 GitHub.com 的软件/服务就是不错的选择。 本文将讲一下我在自己服务器上安装 GitLab 遇到的坑,进阶使用,包括使用 .gitlab-ci.yml 文件实现自动 Build,实时同步镜像到 GitHub。

能够 Host 在自己的服务器上的软件/服务其实有很多,比如 GitHub Enterprise,Bitbucket Server。不过再此还是推荐完全开源、免费、由社区维护的 GitLab Community Edition,没有任何限制,只是相比 Enterprise Edition 少了些本来也用不着的功能。

安装及遇到的坑

具体安装方法见文档,目前官方推荐的系统环境是 Ubuntu 16.04 LTS,安装起来非常简便,整个 Web 环境都会配置好。安装后的更多配置请参见文档。如果你的主机上跑了不只一个 Web 程序,那就需要对现有的 Web 软件做修改,需要参见官方的 Nginx 的配置文档。我的代码中使用了 sub_filter 来实现替换默认的标题,实现更好的 SEO,更加品牌化。 然后为了能达到更好的使用效果,还应该配置 SMTP 发件服务器,我使用的是 AWS SES;然后还需要一个支持 IMAP 的收件服务器实现 Reply by email,我使用的是 Gmail,收邮件的限制总比发邮件的限制少吧~这些的具体设置方法官方文档里都有。 安装后默认是允许注册的,如果你不想让外人注册,你需要直接去 Web 后台禁用。如果你想要开放注册,那么最好先想好新注册用户能干什么,比如和我一样:只允许新用户创建 Issues 和 Snippets,那就在 Web 后台将 Default projects limit 设置为 0,然后编辑后台的配置文件,禁止新用户创建 Group。同时建议在 Web 后台启用 reCAPTCHA 和 Akismet,防止恶意注册和恶意发 Issues。既然允许注册,那么也建议使用 OmniAuth 来支持第三方 OAuth 的方式登陆。

GitLab Runner

GitLab Runner 十分强大,但是并不是内置的,它可以极其方便的实现自动部署等非常有用的功能。安装配置好 Runner 后,在项目根目录下添加一个名为 .gitlab-ci.yml 的文件,以 master 分支为例,为了实现每次 commit 到 master 都将文件部署到 /var/gitlab/myapp ,那么文件内容应该是这样的:

pages:stage: deployscript:- mkdir -p /var/gitlab/myapp- git --work-tree=/var/gitlab/myapp checkout -fonly:- master

注意,你需要先创建 /var/gitlab 文件夹,并设置这个文件夹的用户组为 gitlab-runner:gitlab-runner

$ sudo chown -R gitlab-runner:gitlab-runner /var/gitlab

.gitlab-ci.yml 核心的部分就是 script: ,这里的脚本都是由用户 gitlab-runner 执行的,你可以根据需要修改,后文中也给了几种范例。 然后 commit,去设置页面里里激活这个项目的 Runner。建议在设置里设置 Builds 为 git clone 而不是 git fetch ,因为后者常常出现奇奇怪怪的问题,前者的速度瓶颈主要在于网络传输。

部署 Runner 在同一个主机上,Or not?

官方的文档里强烈不推荐把 Runner 部署在同一个主机上,其实这种说法并不正确。官方不推荐这样做是因为一些 build 会花费很长时间,占用很多的 CPU 和内存资源。但是如果你执行的 build 脚本并不会这样,那么安装在同一个主机上也未尝不可。

常见的部署范例

这几种部署是我比较常用的,大家可以当作范例,具体根据自己的需要弄各种不同的部署。 以下几种 Web 的部署方式所消耗的系统资源都不多,而且由于使用了 nice ,并不会阻塞其他任务,可以部署在同一台主机上。

Jekyll

修改之前那个 .gitlab-ci.yml 文件的 git checkout 一行,替换为:

jekyll build --incremental -d /var/gitlab/myapp

检查 PHP 的编译错误

也是添加以下代码到 .gitlab-ci.yml 即可自动检查所有 PHP 文件的编译错误,编译通过的文件不会显示,只会显示编译错误的:

if find . -type f -name "*.php" -exec nice php -l {} \;  grep -v "No syntax errors"; then false; else echo "No syntax errors"; fi

自动与 GitHub 同步

以下过程需要 root 权限登陆到主机,或者在每行命令前添加 sudo。 首先,需要先给 gitlab-runner 用户一个单独的 SSH Key:

$ ssh-keygen -f /home/gitlab-runner/.ssh/id_rsa

然后,创建 /home/gitlab-runner/.ssh/known_hosts ,内容是:

github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==

之后,获取 /home/gitlab-runner/.ssh/id_rsa.pub 文件内容,在 GitHub 上添加这个 SSH Key。 由于是使用 root 帐号,弄完了之后不要忘了修改用户组:

$ sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/.ssh

然后,同样是通过 .gitlab-ci.yml 实现自动同步:

git push --force --mirror git@github.com:[Organization]/[Project].git

修改 [Organization][Project] 为你自己的名称即可。

谈谈安装在自己服务器上的 GitLab 的好处

文件都存储在自己的服务器里,安全性比较有保障,自己有最高权限,不会遇到项目被删的情况。部署时延迟极低,可靠性也高,不会遇到自己服务器没问题但是第三方服务宕机导致无法部署的窘况。 可以根据情况部署到离自己最近的服务器,或者是内部服务器,像 GitHub 的服务器就在美国东岸,亚洲这边连接并不快,国内也不稳定。 最关键的是,如果你本来就有个 VPS 什么的,也有很大的空闲,那么相当于你可以免费获得私有存放处,但是要注意性能需求,没有足够的空闲还是不要启用。 由于能够配置好实时同步镜像到 GitHub,GitLab 还有那么多 GitHub 没有的功能,其实已经可以完全使用 GitLab 作为主要的版本控制工具,GitHub 只是存一份镜像备用。

【纪录片】Objectified · 设计面面观

By: Steven
24 November 2023 at 13:45
🎥 点击封面,进入视频播放页面

昨天整理硬盘时,在众多历史文档中翻到了这部纪录片。因为年代比较久远,可能一些年轻的设计师和学生都还没有看过,所以上传上来分享给大家。这部影片上映时,我正好从学校里毕业走向工作,其中的不少案例、观点都对我有不少长久的影响。

现在是 2023 年 11 月,距离这部影片上映已经过去了 14 年零 8 个月。其中一定不乏一些略显过时的东西,也存在一些只存在于大公司而不适用于多数公司的内容,但我一向认为,设计师最难能可贵的品质之一,就是从不同的领域和人物身上获取对世界的洞察。因此,对这部影片,我们可以有所取舍地看,结合眼下 AI 的形势,一并观察和思考。这才是观看这类年代久远的纪录片,比较好的方式。

祝你有所收获!

制片人&导演:Gary Hustwit

参演人员:Jonathan Ive(苹果前设计总监)、Dieter Rams(设计十诫)、深泽直人(无印良品)、纽约现代艺术馆馆长 Paola Antonelli,慕尼黑 BMW 首席设计师 Chris Bangle,巴黎兄弟设计组合 Ronan & Erwan Bouroullec,美国明尼阿波利斯市 Walker 艺术中心平面设计师 Andrew Blauvelt 等世界最具影响力的设计师。

视频封面设计苏志斌SUiTHiNK

《 Objectified 》是一部以工业设计为主题的长篇独立纪录片。影片详尽地展示了创造工业产品流程的实录片断,并记录了与世界顶尖设计师们的交谈与讨论。导演 Gary Hustwit 用洞察深切的镜头记录了这些在我们身边随处可见的工业设计产品,看似稀松平常的设计背后,却是设计师们倾尽全力的良苦用心。

又名: 设计面面观 / 造物 / 工业设计纪录片造物 / 客观化

上映日期: 2009-03-14

同时,也顺手重制了八年前给深大录的公开课的视频封面,从原来拿视频截图当封面,替换成了新版本。虽然也就是简单排了下版面,但起码,看上去像个网课的样子了。

🎥 点击封面,进入视频播放页面

Mastodon: 将媒体文件存放在本地(docker 版)

By: fivestone
30 August 2023 at 05:12

本攻略适用于——

  • 自建 mastodon(非大站)
  • 使用 docker compose
  • 将媒体文件直接保存在服务器上,而不使用 s3 外部存储

这个搭配虽然不多见,但其实用起来满爽的。很多人用的 s3 服务都是在薅羊毛,而 mastodon 那个变态的,把别人家的媒体文件缓存到自家的架构,流量的吞吐其实很大的(开了 relay 就更夸张),薅羊毛时很容易就超出了。反而是 vps 本身的流量上限很高。对于个人建站而言,媒体文件总量通常 <50GB,某些 vps 自带 200GB 硬盘,足够用了。

缺点是,除了数据库定期备份外,也要考虑媒体文件的异地备份问题。但其实只需要备份存储本地附件的 media_attachments,而 cache 是不需要备份的,所以工作量也不大。

两年前我把媒体文件转移到本地时,参照了 antisocial science 的设置。但因为我用 docker,官方默认的设置,docker 内外权限不一致,无法将媒体文件写到本地。于是匆匆又在本地建了个 minio s3 来中转……这样其实很浪费资源了,minio 的开销也不小。所以最近趁着搬家,又试了一下,终于把 docker + 本地存储 跑通了。


1. 在 docker-compose.yml 里,

web 和 sidekiq 容器中,已经预设了媒体文件的卷映射

volumes:
- ./public/system:/mastodon/public/system

这个不用动。——也可以改成其它的路径,但要和后面的设置一致(本文用相同的颜色标明)。

2. 修改 .env.production

S3_ENABLED=false
PAPERCLIP_ROOT_PATH=/mastodon/public/system
PAPERCLIP_ROOT_URL=/fivestone-mastodon-media

PAPERCLIP_ROOT_URL 是服务器的所有媒体文件链接的子文件夹名称,形如:

https://mastodon.fivest.one/fivestone-mastodon-media/media_attachments/.../x.jpg

默认值是 /system;但是建议改成独特一些的名字,而且建议和 S3_BUCKET 一致。以后需要在本地存储和 s3 之间转换时,可以省一点心。(所以要独特一些,防止回头在 s3 上和别人撞名)

3. 修改 nginx 的域名配置文件

参照官方的配置,把域名文件夹里的 proxy_pass ,直接改成本地的 alias

server 
{
  server_name mastodon.fivest.one;
# ......

  location /fivestone-mastodon-media/
  {
    alias /path-to...docker-compose-folder/public/system/ ;

    proxy_cache CACHE;
    proxy_cache_valid 200 48h;
    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    proxy_cache_lock on;

    expires 1y;
    add_header Cache-Control public;
    add_header 'Access-Control-Allow-Origin' '*';
    add_header X-Cache-Status $upstream_cache_status;
    add_header X-Content-Type-Options nosniff;
    add_header Content-Security-Policy "default-src 'none'; form-action 'none'";
  }
}

然后重启 nginx

sudo systemctl reload nginx.service

4. 通过 docker 设置媒体文件夹的权限

在 docker 内部,是以 mastodon 用户的身份,来运行程序的,所以要把媒体文件夹的所有者改成(docker 内部的)mastodon:

sudo docker-compose run --user=root --rm web chown -R mastodon /mastodon/public/system

如果是从 s3 迁移到本地,把媒体文件移入这个本地文件夹(/path-to…docker-compose-folder/public/system/)后,也要再执行一遍上面这条命令。

或者在 mastodon docker 服务已经启动的情况下,执行:

sudo docker exec -u 0 mastodon_container_web chown -R mastodon /mastodon/public/system

但在这条命令执行结束之前,mastodon 在后台写入媒体文件时,仍然可能出现文件夹权限不足,无法写入的问题。

分享各类电子书(政治、IT、科普、历史、等,97本)

9 May 2021 at 23:43

  插播一条消息:
  4月22日,俺在前一篇博文回复读者评论。当时有人建议俺:把博客的评论都导入 Github。然后俺回了一条留言(链接)告诉对方:已经有热心网友干了这事儿。并且俺还贴出 Github 已有的某个仓库的网址(该仓库的作者会把博客新增的留言【实时同步】到 Github,已经运作了好几年)
  大伙儿猜猜看,出了啥事儿?
  一星期之后,该仓库的作者在俺博客留言(链接),说他的仓库刚刚被 Github 封杀,连这个仓库对应的用户帐号都被禁掉(相当于【炸号】)。据说是有人向 Github 官方恶意投诉。
  对 Github 社区比较熟悉的网友,请帮这位读者想点办法。

  针对这事儿,俺补充说几点:
1. 很显然,有朝廷的走狗在俺博客长期蹲点,关注俺发的每一篇博文,每一条留言;
2. (十多年来)朝廷始终搞不定俺,于是就去针对那些“帮助俺的网友”;
3. 每一个想要帮俺的网友,自己都要做好【身份隐匿】(这方面的教程,俺已经写了很多);
4. 在评论区交流,尽量不要透露个人身份信息;即使给俺写邮件,也不要透露任何身份信息。



★电子书更新的通告,博文的排版有所变化


  以前发布“电子书更新的通告”,俺会列出【所有的】电子书,然后用背景色标注:哪些书是新增的。
  由于电子书越来越多,这个清单也越来越大,已经超过 400KB。也就是说,博文的尺寸会太大,发布博文的时候,有时候会出错(比如“网络超时”之类的)。
  另外,俺也考虑到:对于“电子书更新的通告”,大部分读者关心的是【新增】的书籍。所以也没必要把整个清单都放到博文中。
  从今年开始,对于“电子书更新的通告”,俺只贴出那些“书籍有变化的分类目录”。至于那些【没变化】的分类目录,俺会注明 (无更新)
  (以上所说的,只是对【博文】,Github 上的那个“电子书清单”,还是与原来一样)


★阅读说明


  对于【近期更新】的电子书,为了醒目起见,用这种颜色表示【新增书籍】;用这种颜色表示【补充格式】。

  猛击如下网址,可以查看【全部电子书清单】(这些年来,GitHub 一直可以【免翻墙】访问)

https://github.com/programthink/books


★下载注意事项


◇BT Sync(Resilio Sync)自动同步


  (“BT Sync”已经改名为“Resilio Sync”,不过俺还是习惯用原来的名称)
  要使用 BT Sync 同步电子书,你需要在 BT Sync 客户端软件的界面上添加相应的密钥(密钥写在【每个大类的标题下方】)。关于 BT Sync 的扫盲教程,参见“这篇博文”。
  从2017年7月之后,GFW 开始封杀 BT Sync 的中继服务器。如果你的 BT sync 客户端始终无法发现其它节点,请参见如下博文:
聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免翻墙】继续使用?

◇微软网盘(OneDrive)


  微软网盘在【墙外】,有时候会被 GFW 封杀。如果你无法打开微软网盘的页面,【请尝试翻墙】。
  如果打开微软网盘界面,出现错误提示,通常是因为——同时下载的人太多,导致服务器超载。解决方法:耐心等几天,再去下载。
  (每次公布新增电子书,之后的那几天都会出现这个现象;然后就又恢复正常。怀疑是服务器超载)




★政治


【网盘】
微软网盘
BT Sync 密钥:BRSSYZTSAC6UGYTUOJ22L4GCO7QESPPBD (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇政治 / 政治理论



◇政治 / 政治理论 / 民主与宪政


中文书名英文书名作者文件类型上传日期备注
论民主On Democracy(美) 罗伯特·道尔简体PDF(第1版 扫描版)
英文PDF(第1版 扫描版)
2014-06-22
2020-01-25
简介
第三波
——20世纪后期民主化浪潮
The Third Wave
——Democratization in the Late Twentieth Century
(美) 塞缪尔·亨廷顿简体PDF(修订版)
简体PDF
简体EPUB
简体MOBI
英文EPUB
2018-09-06
2013-05-30
2019-01-04
2015-11-14
2020-01-16
简介
民主
其它中文名:
民主、民主化、去民主化及其相互依赖关系
Democracy(美) 查尔斯·蒂利简体PDF(扫描版)
英文PDF
2015-02-09
2020-01-25
简介
牛津通识读本:民主Democracy
——A Very Short Introduction
(英) 伯纳德·克里克简体EPUB
简体MOBI
英文PDF
英文MOBI
2021-02-15
2021-02-15
2015-12-11
2020-12-07
简介
牛津通识读本:公民Citizenship
——A Very Short Introduction
(英) 理查德·贝拉米英文PDF2020-03-16简介
代议制政府Considerations on Representative Government(英) 约翰·密尔简体PDF
简体PDF(扫描版)
英文PDF
2013-08-22
2019-10-26
2020-01-25
简介
社会契约论
其它中文名:
民约论
The Social Contract(法) 让-雅克·卢梭简体PDF
简体PDF(扫描版)
简体EPUB
简体MOBI
2014-01-09
2019-10-27
2017-05-06
2015-05-11
简介
论法的精神
其它中文名:
法意
The Spirit of the Laws(法) 孟德斯鸠简体PDF
简体PDF(大字版)
简体PDF(共2册 扫描版)
简体EPUB
简体MOBI
英文PDF
2014-01-09
2017-03-24
2018-12-03
2015-05-11
2015-05-11
2020-01-25
简介
联邦党人文集
其它中文名:
联邦主义者文集
美国宪法原理
The Federalist Papers(美) 亚历山大·汉密尔顿
(美) 詹姆斯·麦迪逊
(美) 约翰·杰伊
简体PDF(扫描版)
简体EPUB
简体MOBI
英文PDF
2013-11-27
2014-01-09
2015-05-11
2020-01-20
简介
控制国家
——西方宪政的历史
Controlling the State
——Constitutionalism from Ancient Athens to Today
(美) 斯科特·戈登简体PDF(扫描版)
英文PDF
2017-08-13
2020-01-20
简介
历史的终结及最后之人The End of History and the Last Man(美) 弗朗西斯·福山简体PDF
简体EPUB
英文PDF
2013-01-01
2013-09-13
2020-01-20
简介
民主的历程
——公元前508年~1993年
其它中文名:
民主
——未竟之旅,公元前508年至公元1993年
Democracy
——The Unfinished Journey, 508 BC to AD 1993
(英) 约翰·邓恩 (主编)简体PDF(扫描版)2014-06-22简介
欧洲民主史
——从孟德斯鸠到凯尔森
A History of Democracy in Europe
——From Montesquieu to 1989
(意) 萨尔沃·马斯泰罗简体PDF(扫描版)2014-07-27简介
论李维
其它中文名:
李维史论
罗马史论
论李维罗马史
Discourses on Livy(意) 尼可罗·马基亚维利简体PDF(3卷本 扫描版)
英文PDF(3卷本)
2020-03-25
2018-12-04
简介
平民政治的基本原理The Fundamental Principles of Government(美) 保罗·芮恩施简体PDF(扫描版)2013-01-14简介
宪政与权利N/A(多人)简体PDF2013-04-13简介
宪政主义
——观念与制度的转捩
N/A王怡简体PDF(扫描版)2013-05-19简介
各国民权运动史N/A董之学繁體PDF(竪排掃描版)2016-07-15简介
罗伯特议事规则Robert's Rules of Order(美) 亨利·马丁·罗伯特
简体MOBI(第10版)
英文EPUB(第11版)
2015-05-12
2020-01-20
简介
可操作的民主
——罗伯特议事规则下乡全纪录
N/A寇延丁
袁天鹏
简体EPUB
简体MOBI
简体PDF(扫描版)
2015-11-14
2020-11-22
2015-05-12
简介

◇政治 / 政治理论 / 自由主义


(本类别的“自由主义”主要指“古典自由主义”和“自由意志主义”)
中文书名英文书名作者文件类型上传日期备注
论自由On Liberty(英) 约翰·密尔简体PDF
简体EPUB
简体MOBI
英文PDF
2013-04-14
2013-09-13
2018-11-10
2019-11-03
简介
政府论Two Treatises of Government
其它英文名:
Two Treatises of Government and A Letter Concerning Toleration
(英) 约翰·洛克简体PDF
简体EPUB
简体MOBI
简体TXT
英文PDF
2013-04-14
2013-09-13
2018-11-10
2016-05-14
2020-01-17
简介
自由论
其它中文名:
《自由四论》扩充版
Four Essays on Liberty(俄/英) 以赛亚·伯林简体PDF(扫描版)
英文PDF
2013-08-22
2013-12-15
简介
自由及其背叛
——人类自由的六个敌人
Freedom and Its Betrayal
——Six Enemies of Human Liberty
(俄/英) 以赛亚·伯林简体PDF(扫描版)
英文EPUB
2014-05-23
2019-11-03
简介
自由与繁荣的国度The Free and Prosperous Commonwealth
——An Exposition of the Ideas of Classical Liberalism
其它英文名:
Liberalism
——The Classical Tradition
Liberalism, a Socio-Economic Exposition
(奥/美) 路德维希·冯·米塞斯简体PDF(大字版)
简体PDF
简体PDF(扫描版)
简体HTML
英文PDF
2019-08-29
2016-12-23
2021-02-13
2018-12-04
2020-01-17
简介
正义论A Theory of Justice(美) 约翰·罗尔斯简体EPUB
简体MOBI
简体TXT
简体PDF(扫描版)
英文PDF(修订版)
2013-09-13
2018-11-10
2016-05-14
2013-05-23
2020-01-16
简介
政治自由主义Political Liberalism(美) 约翰·罗尔斯简体HTML
简体MOBI
简体PDF(扫描版)
英文EPUB(扩充版)
2013-01-17
2015-05-11
2018-12-04
2020-01-17
简介
无政府、国家与乌托邦Anarchy, State, and Utopia(美) 罗伯特·诺齐克简体PDF(扫描版)
英文EPUB
2013-07-30
2014-03-29
简介
自由主义与正义的局限Liberalism and the Limits of Justice(美) 迈克尔·桑德尔简体PDF(第2版)
简体PDF(第2版 扫描版)
英文PDF(第2版 扫描版)
2013-01-01
2018-12-05
2020-01-16
简介
自由史论The History of Freedom and Other Essays(英) 阿克顿勋爵简体PDF(扫描版)
英文PDF
2014-07-27
2020-03-30
简介
古典自由主义
——入门读物
Libertarianism
——A Primer
(美) 大卫·鲍兹英文PDF2015-07-19简介
利维坦
——教会国家和市民国家的实质、形式、权力
其它中文名:
巨灵论
Leviathan or The Matter, Forme and Power of a Common Wealth Ecclesiastical and Civil(英) 托马斯·霍布斯简体PDF
简体MOBI
英文PDF
2014-06-22
2018-12-22
2019-11-03
简介
古代人的自由与现代人的自由The Liberty of the Ancients Compared with that of the Moderns(法) 本杰明·贡斯当简体PDF(扫描版)
简体MOBI
英文PDF
2014-06-22
2015-05-11
2020-01-17
简介
欧洲自由主义史The History of European Liberalism(意) 圭多·德·拉吉罗简体PDF(扫描版)2015-01-12简介
论出版自由Areopagitica
——A Speech for the Liberty of Unlicensed Printing
(英) 约翰·弥尔顿简体PDF
简体MOBI
英文EPUB
2014-02-03
2015-05-11
2020-01-17
简介
给你所爱的人以自由N/A茅于轼简体PDF
简体PDF(大字版)
简体EPUB
简体MOBI
2013-10-26
2013-11-26
2015-11-14
2015-11-14
简介

◇政治 / 政治理论 / 保守主义


(“保守主义”与“古典自由主义”存在相当一部分交集;属于两者重叠部分的书,放置到上述“自由主义”分类目录下)
中文书名英文书名作者文件类型上传日期备注
保守主义思想
——从伯克到艾略特
其它中文名:
保守主义的心灵
保守主义思想
——从伯克到桑塔亚那
The Conservative Mind
——From Burke to Eliot
其它英文名:
The Conservative Mind
——From Burke to Santayana
(美) 拉塞尔·柯克英文EPUB
英文PDF(浓缩版)
2020-01-16
2019-08-29
简介
反思法国大革命
其它中文名:
法国革命论
法国革命感想录
法国大革命反思录
Reflections on the Revolution in France(英) 埃德蒙·伯克简体PDF(扫描版)
英文EPUB
2021-02-15
2020-03-28
简介
保守主义Conservatism(英) 休·塞西尔勋爵简体PDF(扫描版)2019-08-29简介
保守主义Conservatism刘军宁简体PDF(扫描版)2019-11-06简介

◇政治 / 政治理论 / 资本主义


(无更新)

◇政治 / 政治理论 / 共产主义


(本类别主要放置“马列主义”相关书籍)
(无更新)

◇政治 / 政治理论 / 社会主义


(无更新)

◇政治 / 政治理论 / 极权主义与威权主义


中文书名英文书名作者文件类型上传日期备注
开放社会及其敌人The Open Society and Its Enemies(奥/英) 卡尔·波普尔简体PDF
简体EPUB
简体MOBI
简体PDF(扫描版)
英文PDF
2012-12-11
2013-09-14
2018-11-10
2017-03-24
2020-01-15
简介
极权主义的起源The Origins of Totalitarianism(德/美) 汉娜·阿伦特简体PDF
简体CHM
简体MOBI
简体TXT
英文PDF(扫描版)
2012-10-06
2012-10-14
2014-02-23
2016-04-29
2019-08-29
简介
经济人的末日
——极权主义的起源
The End of Economic Man
——The Origins of Totalitarianism
(奥/美) 彼得·德鲁克简体PDF(扫描版)2021-02-13简介
东方专制主义
——对于极权力量的比较研究
Oriental Despotism
——A Comparative Study of Total Power
(德/美) 卡尔·魏特夫 (中文名:魏复古)简体PDF(扫描版)
英文PDF(扫描版)
2019-02-25
2020-01-15
简介
独裁者手册
——为什么恶劣行为总是政治成功的通行证
The Dictator's Handbook
——Why Bad Behavior is Almost Always Good Politics
(美) 布鲁诺·德·梅斯奎塔
(美) 阿拉斯泰尔·史密斯
简体MOBI(标注删节部分)
英文PDF(无删节)
简体EPUB(有删节)
简体MOBI(有删节)
2020-11-20
2018-11-18
2019-03-02
2019-03-02
简介
极权主义民主的起源The Origins of Totalitarian Democracy(波兰/以色列) 雅各布·塔尔蒙简体PDF(扫描版)2015-07-14简介
威权统治的转型
——关于不确定民主的试探性结论
Transitions from Authoritarian Rule
——Tentative Conclusions about Uncertain Democracies
(阿根廷) 吉列尔莫·奥唐奈
(美) 菲利普·施密特
简体PDF(扫描版)
英文PDF(扫描版)
2013-08-21
2020-01-15
简介
新常识
——一党专制的性质与后果
New Common Sense
——The Nature and Consequences of One-Party Dictatorship
张雪忠简体EPUB(精校版)
简体PDF
简体MOBI
2015-11-29
2013-10-19
2018-11-10
简介

◇政治 / 政治理论 / 乌托邦主义


(无更新)

◇政治 / 政治理论 / 无政府主义


(无更新)

◇政治 / 政治理论 / 外交与国际关系


(无更新)

◇政治 / 政治理论 / 非暴力抗争


(无更新)

◇政治 / 政治理论 / 女权运动


(无更新)

◇政治 / 政治理论 / (其它)


(无更新)

◇政治 / 政治小说


(某些政治小说描写的是特定国家,归入【政治类】对应国家的分类目录;
某些中国的政治小说,描写的是特定历史背景,放在【政治类 / 中国 / 中共历史】分类目录下)
中文书名英文书名作者文件类型上传日期备注
一九八四Nineteen Eighty-Four(英) 乔治·奥威尔简体PDF
简体EPUB (精校版)
简体TXT
简体PDF(扫描版)
简体MOBI
英文EPUB
英文PDF
2010-09-07
2015-11-29
2012-03-08
2013-10-20
2014-02-23
2013-09-13
2012-01-11
简介
动物庄园
其它中文名:
动物农庄
Animal Farm(英) 乔治·奥威尔简体PDF
简体EPUB
简体TXT
简体PDF(扫描版)
简体MOBI
英文PDF
2010-09-23
2013-09-13
2012-03-08
2013-10-20
2014-02-23
2012-01-11
简介
美丽新世界
其它中文名:
美妙的新世界
Brave New World(英) 奥尔德斯·赫胥黎简体EPUB
简体HTML
简体TXT
简体MOBI
英文PDF
2013-09-15
2019-08-23
2012-10-05
2015-02-17
2020-01-14
简介
我们
其它中文名:
反乌托邦与自由
We(俄/苏) 尤金·扎米亚京简体EPUB
简体MOBI
英文EPUB
2013-09-15
2015-02-17
2020-01-14
简介
阿特拉斯耸耸肩
其它中文名:
阿特拉斯摆脱重负
Atlas Shrugged(俄/美) 艾茵·兰德简体PDF(35周年纪念版)
英文EPUB
2021-02-13
2020-03-16
简介
严厉的月亮
其它中文名:
怒月
月亮是位严厉的主妇
The Moon Is a Harsh Mistress(美) 罗伯特·海因莱因简体EPUB
简体MOBI
英文EPUB
2019-03-04
2019-03-04
2020-01-14
简介
云图Cloud Atlas(英) 大卫·米切尔简体PDF
简体EPUB
简体MOBI
英文PDF
2014-02-06
2014-02-06
2018-11-10
2014-02-06
简介
黄祸Yellow Peril王力雄简体CHM2013-08-21简介
旋风N/A姜贵 (原名:王林渡)简体PDF2013-08-21简介
盛世
——中国2013
The Fat Years陈冠中简体PDF
简体EPUB
2013-01-01
2017-04-30
简介
裸命N/A陈冠中简体MOBI2013-01-01简介
中国地图
——一幅中国人的精神地图
N/A汪建辉简体PDF2014-05-23简介

◇政治 / 中国



◇政治 / 中国 / 中共历史



◇政治 / 中国 / 中共历史 / 改革开放时期


(无更新)

◇政治 / 中国 / 中共历史 / 六四事件


(无更新)

◇政治 / 中国 / 中共历史 / 文革时期


(无更新)

◇政治 / 中国 / 中共历史 / “大跃进”与大饥荒时期


(无更新)

◇政治 / 中国 / 中共历史 / “反右”运动


(无更新)

◇政治 / 中国 / 中共历史 / “土改”运动


(无更新)

◇政治 / 中国 / 中共历史 / 国共内战时期


(无更新)

◇政治 / 中国 / 中共历史 / 延安与八年抗战时期


(无更新)

◇政治 / 中国 / 中共历史 / 江西时期


(无更新)

◇政治 / 中国 / 中共历史 / (其它)


(无更新)

◇政治 / 中国 / 政治人物



◇政治 / 中国 / 政治人物 / 共产党



◇政治 / 中国 / 政治人物 / 共产党 / 陈独秀


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / 毛泽东


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / 周恩来


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / 邓小平


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / 胡耀邦


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / 赵紫阳


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / 第4代


(无更新)

◇政治 / 中国 / 政治人物 / 共产党 / (其他人物)


(无更新)

◇政治 / 中国 / 政治人物 / 国民党



◇政治 / 中国 / 政治人物 / 国民党 / 蒋中正


中文书名英文书名作者文件类型上传日期备注
蒋中正思想言论总集N/A蒋中正繁體CHM2015-02-08简介
蒋介石传The Man Who Lost China
——The First Full Biography of Chiang Kai-shek
(美) 布赖恩·克罗泽简体EPUB
简体PDF(扫描版)
2019-08-23
2021-02-15
简介
从大历史的角度读蒋介石日记From a Macrohistory Perspective in Reading Jiang Jieshi's Diary(中/美) 黄仁宇繁體PDF(竪排掃描版)2021-02-15简介

◇政治 / 中国 / 政治人物 / 国民党 / 蒋经国


(无更新)

◇政治 / 中国 / 政治人物 / 国民党 / (其他人物)


中文书名英文书名作者文件类型上传日期备注
我之历史
——宋教仁日记
N/A宋教仁简体PDF(扫描版)2021-02-15简介
胡汉民自传N/A胡汉民繁體DJVU(竪排掃描版)2015-07-16简介
李宗仁回忆录Memoirs of Li Zongren李宗仁 (口述)
(中/美) 唐德刚 (整理)
简体EPUB
简体MOBI
简体PDF(扫描版)
2019-08-23
2019-08-23
2020-03-28
简介
张学良口述历史N/A张学良 (口述)
(中/美) 唐德刚 (整理)
简体PDF(扫描版)
简体EPUB
简体MOBI
2015-01-07
2015-05-11
2015-05-11
简介
白崇禧回忆录N/A白崇禧简体PDF(扫描版)2015-07-16简介
成败之鉴
——陈立夫回忆录
N/A陈立夫繁體PDF(竪排掃描版)2015-07-16简介
旷世风雷一梦痕
——九十年人生经历见证
N/A王思诚繁體PDF(竪排掃描版)2013-07-07简介

◇政治 / 中国 / 政治人物 / 太子党关系网络


这是俺花了不少时间整理的,包括十多张详细的网状图,涵盖几百个权贵家族。
通过此文档,可以直观体会到天朝就是一个“权贵资本主义社会”。
俺已经把这份文档开源到 GitHub(它不但是一个开源项目的集散地,也是一个多人网络协作的平台)。希望大伙儿群策群力,一起来曝光权贵丑陋的嘴脸。
更多详情请看 zhao@github

◇政治 / 中国 / 社会阶层与贫富分化


(无更新)

◇政治 / 中国 / 腐败问题


(无更新)

◇政治 / 中国 / 中宣部与言论审查


(无更新)

◇政治 / 中国 / 教育问题


(无更新)

◇政治 / 中国 / 少数民族问题


(无更新)

◇政治 / 中国 / 司法问题


(无更新)

◇政治 / 中国 / 环境问题


(无更新)

◇政治 / 中国 / 公民维权


(无更新)

◇政治 / 中国 / 民运与革命


(无更新)

◇政治 / 中国 / (其它)


(无更新)

◇政治 / 美国



◇政治 / 美国 / 政治制度


中文书名英文书名作者文件类型上传日期备注
论美国的民主
其它中文名:
民主在美国
Democracy in America(法) 亚历西斯·德·托克维尔简体PDF(上下卷)
简体MOBI
英文PDF
2012-10-06
2013-05-13
2020-03-03
简介
美国是如何治理的To Govern America(美) 罗杰·希尔斯曼简体PDF(扫描版)2017-02-17简介
事关选举
——美国国会的政治解读
Congress
——The Electoral Connection
(美) 戴维·梅休简体PDF(扫描版)
英文PDF(扫描版)
2017-02-17
2020-03-03
简介
国会政体
——美国政治研究
Congressional Government
——A Study in American Politics
(美) 伍德罗·威尔逊简体PDF(扫描版)
英文TXT
2017-02-17
2020-03-03
简介
美国的陪审团In the Hands of the People
——The Trial Jury's Origins, Triumphs, Troubles, and Future in American Democracy
(美) 威廉·德威尔简体PDF(扫描版)2017-02-18简介
牛津通识读本:美国政治American Politics
——A Very Short Introduction
(美) 理查德·瓦雷利英文PDF2020-03-16简介
牛津通识读本:美国总统制The American Presidency
——A Very Short Introduction
(美) 查尔斯·琼斯简体EPUB(第1版)
简体AZW3(第1版)
2015-12-04
2015-12-04
简介
牛津通识读本:美国国会The U.S. Congress
——A Very Short Introduction
(美) 唐纳德·里奇简体EPUB(第2版)
简体MOBI(第2版)
英文PDF(第1版)
英文MOBI(第1版)
2021-02-15
2021-02-15
2015-12-13
2020-12-07
简介
牛津通识读本:美国最高法院The U.S. Supreme Court
——A Very Short Introduction
(美) 琳达·格林豪斯简体EPUB
简体AZW3
2015-12-05
2015-12-05
简介
牛津通识读本:美国政党和选举American Political Parties and Elections
——A Very Short Introduction
(美) 桑迪·梅塞尔简体EPUB(第2版)
简体AZW3(第2版)
英文PDF(第1版)
2021-02-15
2021-02-15
2015-12-12
简介
九人
——美国最高法院风云
The Nine
——Inside the Secret World of the Supreme Court
(美) 杰弗里·图宾简体PDF(扫描版)
英文PDF(扫描版)
2017-02-17
2020-03-03
简介
言论的边界
——美国宪法第一修正案简史
Freedom for the Thought That We Hate
——A Biography of the First Amendment
(美) 安东尼·刘易斯简体EPUB
简体PDF(扫描版)
英文PDF
2015-11-20
2017-02-17
2020-03-03
简介
美国宪政历程
——影响美国的25个司法大案
N/A任东来
简体PDF(大字版)
简体PDF(扫描版)
简体EPUB
简体MOBI
2016-12-19
2013-11-26
2018-11-10
2014-02-23
简介
费城风云
——美国宪法的诞生和我们的反思
N/A易中天简体EPUB
简体TXT
2018-12-08
2016-05-19
简介
宪法的精神
——美国联邦最高法院200年经典判例选读
N/A北京大学法学院司法研究中心简体PDF(扫描版)2015-01-12简介

◇政治 / 美国 / 政治人物


(无更新)

◇政治 / 美国 / 外交


(无更新)

◇政治 / 美国 / 情报系统


(无更新)

◇政治 / 美国 / (其它)


(无更新)

◇政治 / 苏联



◇政治 / 苏联 / 苏共历史


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:俄国革命The Russian Revolution
——A Very Short Introduction
(英) 斯蒂芬·史密斯英文PDF
英文MOBI
2015-12-13
2020-12-07
简介
苏共野史
——党治制的由来
The Communist Party Apparatus(俄/苏) 阿卜杜拉赫曼·阿夫托尔汉诺夫简体PDF(扫描版)
英文DJVU(扫描版)
2014-01-09
2020-03-02
简介
苏联政治内幕
——知情者的见证
The System
——An Insider's Life in Soviet Politics
(苏/俄) 乔治·阿尔巴托夫简体PDF(扫描版)2016-12-18简介
帝国的消亡
——当代俄罗斯的教训
Collapse of an Empire
——Lessons for Modern Russia
(苏/俄) 叶戈尔·盖达尔简体PDF(扫描版)
英文PDF
2015-01-12
2020-03-02
简介
苏联解体亲历记Autopsy on an Empire
——The American Ambassador's Account of the Collapse of the Soviet Union
(美) 小杰克·马特洛克简体PDF(上下册)
简体PDF(扫描版)
2019-02-22
2013-07-07
简介
苏联的最后一年N/A(苏/俄) 罗伊·麦德维杰夫简体PDF(扫描版)2018-08-09简介
大国悲剧
——苏联解体的前因后果
N/A(苏/俄) 尼古拉·雷日科夫简体AZW3
简体TXT
2021-02-13
2016-05-17
简介
一个大国的崛起与崩溃
——苏联历史专题研究,1917~1991
N/A沈志华 (主编)简体PDF(上中下册 扫描版)
简体TXT
2015-11-03
2018-08-09
简介
帝国
——俄罗斯五十年
Imperium(波兰) 雷沙德·卡普钦斯基繁體PDF(豎排掃描版)
英文EPUB
2013-11-26
2020-03-02
简介
苏联兴亡史纲N/A陈之骅
简体PDF(扫描版)2013-01-01简介
东欧大裂变纪实N/A欧阳东简体PDF(扫描版)2013-01-01简介

◇政治 / 苏联 / 政治人物



◇政治 / 苏联 / 政治人物 / 普列汉诺夫


(无更新)

◇政治 / 苏联 / 政治人物 / 斯大林


(无更新)

◇政治 / 苏联 / 政治人物 / 托洛茨基


(无更新)

◇政治 / 苏联 / 政治人物 / 赫鲁晓夫


(无更新)

◇政治 / 苏联 / 政治人物 / 勃列日涅夫


(无更新)

◇政治 / 苏联 / 政治人物 / 戈尔巴乔夫


(无更新)

◇政治 / 苏联 / 政治人物 / (其他人物)


(无更新)

◇政治 / 苏联 / 大清洗与古拉格


中文书名英文书名作者文件类型上传日期备注
古拉格群岛The Gulag Archipelago(苏/俄) 亚历山大·索尔仁尼琴简体EPUB(精校版 标注删节部分)
简体PDF(1982版 上中下册 扫描版 缺中册)
简体MOBI
简体HTML
英文PDF(共3卷 扫描版)
2021-02-13
2018-08-09
2013-04-20
2013-02-22
2020-03-02
简介
古拉格
——一部历史
Gulag
——A History
(美) 安妮·阿普尔鲍姆简体PDF(大字版)
简体EPUB
简体MOBI
英文PDF(大字版)
英文EPUB
2014-02-12
2014-01-09
2018-11-10
2017-08-16
2018-08-09
简介
苏联大清洗内幕N/A陈启能 (主编)简体HTML
简体PDF(扫描版)
2013-02-22
2018-08-09
简介
历届克格勃主席的命运Chairmen of the KGB
——Declassified fates
(俄) 列昂尼德·姆列钦简体PDF2019-02-07简介
正午的黑暗
其它中文名:
中午的黑暗
Darkness at Noon(匈/英) 阿瑟·库斯勒简体PDF(扫描版)
英文PDF
英文EPUB
2021-02-13
2015-02-09
2014-07-28
简介

◇政治 / 苏联 / (其它)


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:苏联The Soviet Union
——A Very Short Introduction
(英) 斯蒂芬·洛弗尔英文PDF2015-12-13简介
俄国人The Russians(美) 赫德里克·史密斯简体PDF(上下册 扫描版)2014-02-21简介
苏联真相
——对101个重要问题的思考
N/A陆南泉
简体PDF(上中下册 扫描版)2013-01-01简介
苏联的心灵
——共产主义时代的俄国文化
The Soviet Mind
——Russian Culture under Communism
(俄/英) 以赛亚·伯林简体PDF(扫描版)
英文PDF
2013-08-21
2020-03-02
简介
访苏归来
其它中文名:
从苏联归来
Return From The USSR(法) 安德烈·纪德简体PDF(扫描版)
英文PDF(扫描版)
2021-02-13
2019-02-08
简介
莫斯科日记
其它中文名:
我和妻子的苏联之行
N/A(法) 罗曼·罗兰简体PDF(扫描版)2019-05-18简介

◇政治 / 英国


(无更新)

◇政治 / 法国


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:法国大革命The French Revolution
——A Very Short Introduction
(英) 威廉·多伊尔简体EPUB
英文PDF
2021-02-15
2019-01-03
简介
旧制度与大革命The Old Regime and the Revolution(法) 亚历西斯·德·托克维尔简体PDF
简体EPUB
简体MOBI
简体PDF(扫描版)
英文PDF(扫描版)
2012-10-06
2013-09-14
2018-11-10
2017-03-24
2020-03-07
简介
法国大革命的起源Origins of the French Revolution(英) 威廉·多伊尔繁體PDF(掃描版)2013-11-26简介

◇政治 / 德国


(无更新)

◇政治 / (其它国家)



◇政治 / (其它国家) / 北朝鲜


(无更新)

◇政治 / (其它国家) / 柬埔寨


(无更新)

◇政治 / (其它国家) / 西班牙


(无更新)

◇政治 / (其它国家) / 捷克斯洛伐克


(无更新)

◇政治 / (其它国家) / 波兰


(无更新)

◇政治 / (其它国家) / 罗马尼亚


(无更新)

◇政治 / (其它国家) / 古巴


(无更新)




★心理学


【网盘】
微软网盘
BT Sync 密钥:BNZ6DOA6W577O6GUNH7C3MY6DWC6FTDQB (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇心理学 / 通俗读物


中文书名英文书名作者文件类型上传日期备注
这才是心理学
——看穿伪心理学的本质
其它中文名:
与众不同的心理学
——如何正视心理学
对“伪心理学”说不
How to Think Straight about Psychology(加) 基思·斯坦诺维奇简体PDF(第10版 大字版)
简体EPUB(第10版)
简体MOBI(第10版)
英文PDF(第10版)
英文EPUB(第10版)
英文MOBI(第10版)
英文PDF(第9版)
简体PDF(第8版 扫描版)
简体EPUB(第8版)
简体MOBI(第8版)
简体PDF(第7版 扫描版)
2019-09-03
2021-02-07
2021-02-07
2020-03-15
2020-11-22
2020-11-22
2020-03-15
2015-05-11
2015-02-16
2015-02-16
2012-12-29
简介
牛津通识读本:生活中的心理学Psychology
——A Very Short Introduction
(英) 吉莉恩·巴特勒
(英) 弗雷达·麦克马纳斯
英文EPUB(第2版)
简体EPUB(第1版)
简体AZW3(第1版)
2020-03-15
2015-12-14
2015-12-14
简介

◇心理学 / 认知心理学


中文书名英文书名作者文件类型上传日期备注
学会提问
——批判性思维指南
Asking the Right Questions
——A Guide to Critical Thinking
(美) 尼尔·布朗
(美) 斯图尔特·基利
英文PDF(第11版)
简体PDF(第10版 扫描版)
英文PDF(第8版)
简体PDF(第7版)
简体EPUB(第7版)
简体MOBI(第7版)
2019-12-03
2019-08-21
2012-01-20
2012-01-20
2013-09-13
2015-11-14
简介
影响力Influence
——The Psychology of Persuasion
(美) 罗伯特·西奥迪尼简体PDF
简体PDF(扫描版)
简体EPUB
简体MOBI
英文TXT
2013-02-25
2012-12-29
2013-09-13
2014-02-23
2012-12-29
简介
思考,快与慢
其它中文名:
快思慢想
Thinking, Fast and Slow(以色列/美) 丹尼尔·卡尼曼简体EPUB
简体MOBI
简体TXT
英文PDF(大字版)
2015-11-10
2014-07-15
2016-05-15
2020-03-15
简介
超越智商
——为什么聪明人也会做蠢事
What Intelligence Tests Miss
——The Psychology of Rational Thought
(加) 基思·斯坦诺维奇简体PDF(大字版)
简体EPUB
简体MOBI
英文PDF
2021-02-07
2019-09-03
2019-09-03
2019-12-03
简介
无从选择
——为何多即是少
其它中文名:
选择的悖论
——用心理学解读人的经济行为
The Paradox of Choice
——Why More Is Less
(美) 巴里·施瓦茨简体PDF(大字版)
简体PDF(扫描版)
简体EPUB
英文PDF
2019-09-03
2012-12-29
2021-01-27
2012-12-29
简介
决策与判断The Psychology of Judgment and Decision Making(美) 斯科特·普劳斯简体PDF(扫描版)2021-02-07简介
清醒思考的艺术(上篇)、明智行动的艺术(下篇)The Art of Thinking Clearly(瑞士) 罗尔夫·多贝里简体PDF(上篇 扫描版)
简体EPUB(上篇 插图版)
简体EPUB(下篇 插图版)
简体MOBI(下篇 插图版)
英文PDF
英文EPUB
2014-07-15
2015-12-01
2019-04-20
2019-04-20
2015-11-13
2015-11-13
简介
浅薄
——互联网如何毒化我们的大脑
The Shallows
——What the Internet Is Doing to Our Brains
(美) 尼古拉斯·卡尔简体PDF
简体MOBI
英文PDF
2015-02-23
2015-11-14
2019-12-03
简介
怪诞行为学1
——可预测的非理性
Predictably Irrational
——The Hidden Forces That Shape Our Decisions
(美) 丹·艾瑞里简体PDF(扫描版)
简体EPUB
英文EPUB(修订版)
2014-07-27
2015-01-07
2021-01-27
简介
怪诞行为学2
——非理性的积极力量
The Upside of Irrationality
——The Unexpected Benefits of Defying Logic at Work and at Home
(美) 丹·艾瑞里简体EPUB
英文EPUB
2015-01-07
2021-01-27
简介
心流
——最优体验心理学
Flow
——The Psychology of Optimal Experience
(意/美) 米哈里·契克森米哈伊简体EPUB
简体MOBI
2019-08-19
2019-08-19
简介
发现心流
——日常生活中的最优体验
Finding Flow
——The Psychology of Engagement with Everyday Life
(意/美) 米哈里·契克森米哈伊简体EPUB
简体MOBI
2019-08-19
2019-08-19
简介
粘住
——为什么我们记住了这些,忘掉了那些?
Made to Stick
——Why Some Ideas Survive and Others Die?
(美) 奇普·希思
(美) 丹·希思
简体PDF(扫描版)
英文EPUB
2018-11-11
2021-01-27
简介
统计陷阱
其它中文名:
统计数字会撒谎
How to Lie with Statistics(美) 达莱尔·哈夫简体PDF
简体PDF(大字版)
英文PDF
2015-02-16
2018-11-21
2020-03-15
简介

◇心理学 / 人格心理学


(无更新)

◇心理学 / 社会心理学


中文书名英文书名作者文件类型上传日期备注
社会性动物The Social Animal(美) 埃利奥特·阿伦森英文PDF(第11版)
英文PDF(第10版)
简体PDF(第8版)
简体EPUB(第8版)
简体MOBI(第8版)
简体TXT(第8版)
2021-02-07
2019-12-03
2014-01-09
2019-08-21
2014-02-23
2016-05-01
简介
乌合之众
——大众心理研究
The Crowd
——A Study of the Popular Mind
(法) 古斯塔夫·勒庞简体PDF(扫描版)
简体MOBI
简体TXT
英文PDF
2019-07-16
2014-02-23
2016-05-16
2019-12-03
简介
路西法效应
——好人是如何变成恶魔的
The Lucifer Effect
——Understanding How Good People Turn Evil
(美) 菲利普·津巴多简体PDF(大字版)
简体EPUB
繁體PDF(掃描版)
英文PDF
2018-09-10
2013-09-13
2013-02-05
2020-03-15
简介

◇心理学 / 性心理学


中文书名英文书名作者文件类型上传日期备注
性心理学Psychology of Sex
——A Manual for Students
(英) 哈维洛克·艾利斯 (旧译名:霭理士)简体PDF(扫描版)
简体TXT
2020-11-22
2019-08-22
简介
男人来自火星,女人来自金星Men Are from Mars, Women Are from Venus(美) 约翰·格雷简体PDF(扫描版)
英文EPUB
2018-09-09
2021-01-27
简介

◇心理学 / 教育心理学


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:儿童心理学Child Psychology
——A Very Short Introduction
(英) 乌莎·戈斯瓦米简体EPUB
简体AZW3
2021-01-27
2021-01-27
简介
正面管教Positive Discipline(美) 简·尼尔森简体PDF2014-02-11简介
家庭会伤人
——自我重生的新契机
Bradshaw on the Family
——A Revolutionary Way of Self Discovery
(美) 约翰·布雷萧简体PDF(扫描版)2014-07-15简介

◇心理学 / 进化心理学


(“进化心理学”是心理学的一个新的研究方向)
(无更新)

◇心理学 / 洗脑


中文书名英文书名作者文件类型上传日期备注
洗脑术
——思想控制的荒唐史
Brainwash
——The Secret History of Mind Control
(英) 多米尼克·斯垂特菲尔德简体PDF(扫描版)
简体MOBI
2012-12-16
2015-05-11
简介
人的驯化、躲避与反叛N/A胡平简体PDF
简体PDF(大字版)
简体TXT
2013-05-01
2013-04-20
2013-03-17
简介
思想改造和极权主义心理学
——中国的洗脑研究
Thought Reform and the Psychology of Totalism
——A Study of Brainwashing in China
(美) 罗伯特·利夫顿英文PDF(扫描版)
英文MOBI
2021-02-07
2012-10-14
简介
洗脑
——思维控制的科学
其它中文名:
洗脑心理学
Brainwashing
——The Science of Thought Control
(英) 凯瑟琳·泰勒简体PDF(扫描版)
英文PDF
2015-07-12
2012-10-14
简介
洗脑的历史
——祸害世界三千年的极端思想控制术解析
N/A傅志彬简体PDF(扫描版)
简体MOBI
简体PDF(不全)
2015-05-11
2020-11-22
2015-02-15
简介

◇心理学 / 审讯与反审讯


(无更新)

◇心理学 / (其它)


(无更新)




★历史


【网盘】
微软网盘
BT Sync 密钥:BSH7FXJFVWJTKWGSX5GTWX7PHZZ2D2M7Q (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇历史 / 世界史


中文书名英文书名作者文件类型上传日期备注
全球通史
——从史前史到21世纪
A Global History
——From Prehistory to the 21st Century
(加) 斯塔夫里阿诺斯简体PDF(第7版 大字版)
简体PDF(第4版 上下册)
简体CHM(第4版)
英文PDF(第5版 扫描版)
2016-12-16
2013-02-27
2013-02-07
2017-02-22
简介
世界文明史
其它中文名:
文明的故事
The Story of Civilization(美) 威尔·杜兰特
(美) 阿里尔·杜兰特
简体PDF(扫描版)2017-05-03简介
历史研究A Study of History(英) 阿诺德·汤因比简体PDF(上中下册 节译本 扫描版)2021-02-16简介
枪炮、病菌与钢铁
——人类社会的命运
Guns, Germs, and Steel
——The Fates of Human Societies
(美) 贾雷德·戴蒙德简体EPUB
简体PDF(大字版)
简体CHM
简体MOBI
英文PDF
2013-09-13
2013-04-20
2013-02-05
2015-05-11
2013-02-05
简介
人类简史
——从动物到上帝
其它中文名:
人類大歷史
——從野獸到扮演上帝
Sapiens
——A Brief History of Humankind
(以色列) 尤瓦尔·赫拉利简体EPUB
简体MOBI
简体PDF(扫描版)
英文PDF(大字版)
2017-08-14
2018-08-08
2020-11-22
2020-01-18
简介
大国的兴衰
——1500年~2000年的经济变迁与军事冲突
The Rise and Fall of the Great Powers
——Economic Change and Military Conflict from 1500 to 2000
(英) 保罗·肯尼迪简体EPUB
简体PDF(大字版)
简体PDF(扫描版)
简体PDF(不全)
英文PDF(扫描版)
2017-05-06
2016-12-16
2015-11-18
2014-06-22
2020-01-18
简介
年代四部曲
包括如下:
第1卷 革命的年代,1789~1848
第2卷 资本的年代,1848~1875
第3卷 帝国的年代,1875~1914
第4卷 极端的年代,1914~1991
The Age of Revolution (1789~1848)
The Age of Capital (1848~1875)
The Age of Empire (1875~1914)
The Age of Extremes (1914~1991)
(英) 埃里克·霍布斯鲍姆简体PDF(扫描版)
简体EPUB
2018-08-07
2020-03-29
简介
崩溃
——社会如何选择成败兴亡
Collapse
——How Societies Choose to Fail or Succeed
(美) 贾雷德·戴蒙德简体PDF(大字版)
简体MOBI
简体PDF(扫描版)
英文EPUB
2013-04-20
2015-05-11
2017-03-26
2020-01-18
简介

◇历史 / 欧洲史


中文书名英文书名作者文件类型上传日期备注
你一定爱读的极简欧洲史
——为什么欧洲对现代文明的影响这么深
The Shortest History of Europe(澳大利亚) 约翰·赫斯特简体PDF(扫描版)
简体MOBI
英文EPUB
2014-07-28
2015-05-11
2020-01-18
简介
战后欧洲史Postwar
——A History of Europe Since 1945
(英) 托尼·朱特简体PDF(共2卷 扫描版)
英文EPUB
2014-08-11
2020-01-22
简介
欧洲文明史
——自罗马帝国败落起到法国革命
The History of Civilization in Europe(法) 弗朗索瓦·基佐简体PDF(扫描版)2018-08-08简介
欧洲中世纪史Medieval Europe
——A Short History
(美) 朱迪斯·本内特
(美) 沃伦·霍利斯特
简体EPUB(第10版)
简体PDF(第10版 扫描版)
2021-02-12
2017-05-04
简介
牛津通识读本:启蒙运动The Enlightenment
——A Very Short Introduction
(英) 约翰·罗伯逊英文EPUB2020-03-14简介
夹缝中的六国
——维也纳会议以来的中东欧历史
The Lands between
——A History of East-Central Europe Since the Congress of Vienna
(英) 艾伦·帕尔默简体PDF(扫描版)2017-08-14简介
牛津通识读本:十字军The Crusades
——A Very Short Introduction
(英) 克里斯托弗·泰尔曼英文PDF
英文MOBI
2015-12-15
2020-12-08
简介

◇历史 / 中国



◇历史 / 中国 / 古代史


中文书名英文书名作者文件类型上传日期备注
资治通鉴N/A司马光简体EPUB(柏杨白话版)
简体MOBI(柏杨白话版)
简体HTML
2013-09-13
2018-11-10
2018-08-08
简介
中国历代政治得失N/A钱穆简体EPUB
简体MOBI
简体PDF(扫描版)
简体TXT
2013-09-14
2018-12-08
2019-08-18
2013-08-22
简介
中国大历史China
——A Macro History
(中/美) 黄仁宇简体PDF
简体PDF(大字版)
简体MOBI
英文EPUB
2013-02-05
2019-05-23
2019-05-23
2020-01-22
简介
万历十五年1587, a Year of No Significance
——The Ming Dynasty in Decline
(中/美) 黄仁宇简体PDF(增订纪念本 扫描版)
简体PDF
简体PDF(大字版)
简体TXT
2020-11-22
2014-01-08
2019-05-23
2016-05-17
简介
潜规则
——中国历史中的真实游戏
N/A吴思简体PDF
简体EPUB
简体CHM
简体MOBI
简体TXT
2013-02-27
2013-09-13
2013-02-07
2014-02-23
2016-04-30
简介
血酬定律
——中国历史中的生存游戏
N/A吴思简体PDF
简体MOBI
简体TXT
2014-01-09
2014-02-23
2016-04-30
简介
兴盛与危机
——论中国社会超稳定结构
N/A金观涛
刘青峰
简体PDF
简体HTML
2013-02-07
2017-08-14
简介
赫逊河畔谈中国历史Conversation on Chinese History by the Hudson River(中/美) 黄仁宇简体PDF(扫描版)
简体HTML
简体TXT
繁體MOBI
2021-02-16
2018-08-08
2016-05-20
2019-08-23
简介
明朝那些事N/A当年明月 (原名:石悦)简体PDF
简体PDF(大字版)
简体EPUB
简体MOBI
2017-05-06
2018-11-11
2013-09-14
2018-08-08
简介

◇历史 / 中国 / 近代史


中文书名英文书名作者文件类型上传日期备注
《炎黄春秋》合订本 (1999-2010)N/A《炎黄春秋》杂志社简体EPUB2013-09-11简介
中国近代史The Rise of Modern China(中/美) 徐中约简体PDF(上下册)
简体EPUB
2013-03-22
2013-09-13
简介
中国近代史大纲
其它中文名:
中国近代史
Outline of Modern Chinese History蒋廷黻简体PDF(扫描版)
简体PDF
2020-03-30
2014-01-09
简介
停滞的帝国
——两个世界的撞击
The Immobile Empire(法) 阿兰·佩雷菲特简体EPUB
简体MOBI
简体PDF(扫描版)
英文EPUB
2019-07-17
2019-07-17
2014-05-23
2020-01-19
简介
追寻现代中国The Search for Modern China(美) Jonathan Spence (中文名:史景迁)繁體PDF
简体EPUB
简体PDF
英文PDF(扫描版)
2014-06-22
2014-06-22
2016-12-18
2020-01-19
简介
论中国
——中国新史
其它中文名:
费正清论中国
China
——A New History
(美) 费正清
(美) 默尔·戈德曼
英文PDF(第2版)
繁體PDF(第1版 竪排掃描版)
2020-01-19
2015-02-08
简介
晚清七十年The Final Seventy Years of Qing Dynasty(中/美) 唐德刚简体PDF(大字版)
繁體EPUB
简体MOBI
繁體MOBI
2019-08-23
2019-01-05
2018-08-08
2019-01-05
简介
帝国落日
——晚清大变局
其它中文名:
晚清大变局中的思潮与人物
N/A袁伟时简体EPUB
简体TXT
2021-02-12
2016-05-16
简介
走出帝制
——从晚清到民国历史的回望
Moving Away from the Imperial Regime秦晖简体EPUB
简体PDF(大字版)
简体TXT
简体MOBI
2016-12-16
2016-07-14
2016-05-20
2018-11-21
简介
五四新论
——既非文艺复兴,亦非启蒙运动
N/A(中/美) 余英时
简体PDF(扫描版)2017-05-06简介
袁氏当国N/A(中/美) 唐德刚简体PDF(大字版)
繁體MOBI
简体TXT
2015-02-09
2015-02-09
2016-04-30
简介
重说中国近代史N/A张鸣简体EPUB
简体PDF(扫描版)
2013-09-14
2020-11-22
简介
太平天国God's Chinese Son
——The Taiping Heavenly Kingdom of Hong Xiuquan
(美) Jonathan Spence (中文名:史景迁)简体PDF(扫描版)
英文EPUB
2017-05-03
2020-01-19
简介
再说戊戌变法N/A张鸣简体MOBI2016-12-16简介
民国人物过眼录N/A杨奎松简体PDF(扫描版)2014-02-21简介
叫魂
——1768年中国妖术大恐慌
Soulstealers
——The Chinese Sorcery Scare of 1768
(美) Philip Kuhn (中文名:孔飞力)简体PDF(扫描版)
简体TXT
英文PDF(扫描版)
2014-05-23
2016-05-15
2020-01-19
简介
慈禧统治下的大清帝国
其它中文名:
慈禧外传
两个洋人眼中的慈禧太后
China Under the Empress Dowager
——The History of the Life and Times of Tzu Hsi
(英) 约翰·濮兰德
(英) 埃德蒙德·贝克豪斯爵士
简体PDF(扫描版)
英文EPUB
2017-08-15
2021-02-16
简介
重返五四现场
——1919,一个国家的青春记忆
N/A叶曙明简体PDF(扫描版)2013-05-01简介

◇历史 / 中国 / 丛书



◇历史 / 中国 / 丛书 / 剑桥中国史


(无更新)

◇历史 / 古希腊


(与古希腊的战争相关的书籍,放在【军事类 / 古代军事史 / 古希腊】分类目录下)
中文书名英文书名作者文件类型上传日期备注
牛津通识读本:古希腊Ancient Greece
——A Very Short Introduction
(英) 保罗·卡特利奇英文EPUB2020-03-14简介
希腊城邦制度
——读希腊史笔记
N/A顾准简体PDF
简体PDF(扫描版)
简体MOBI
2013-02-07
2019-08-18
2015-02-13
简介
爱琴海沿岸的奇异王国Wondrous Realms of the Aegean(美) 戴尔·布朗 (主编)简体PDF(扫描版)2015-11-03简介
牛津通识读本:亚历山大大帝Alexander the Great
——A Very Short Introduction
(英) 休·鲍登英文EPUB2021-02-16简介
牛津通识读本:希罗多德Herodotus
——A Very Short Introduction
(美) 詹尼弗·罗伯茨英文EPUB2020-03-14简介

◇历史 / 古罗马


(与古罗马的战争相关的书籍,放在【军事类 / 古代军事史 / 古罗马】分类目录下)
中文书名英文书名作者文件类型上传日期备注
牛津通识读本:罗马共和国The Roman Republic
——A Very Short Introduction
(英) 戴维·格温简体EPUB
简体MOBI
英文EPUB
2021-02-16
2021-02-16
2020-03-24
简介
牛津通识读本:罗马帝国简史The Roman Empire
——A Very Short Introduction
(澳大利亚) 克里斯托弗·凯利简体EPUB
英文PDF
英文MOBI
2020-03-29
2015-12-15
2020-12-08
简介
罗马帝国衰亡史The History of the Decline and Fall of the Roman Empire(英) 爱德华·吉本简体PDF(共6卷 全译本 扫描版)
简体EPUB(节译本)
简体MOBI(节译本)
简体PDF(上下册 节译本)
简体CHM(节译本)
英文PDF(6卷本 节选版)
2013-11-26
2013-09-14
2015-02-13
2013-02-07
2013-02-07
2020-01-19
简介
罗马人的故事N/A(日) 盐野七生繁體PDF(掃描版)2017-05-03简介
罗马史
其它中文名:
罗马风云
The History of Rome(德) 特奥多尔·蒙森简体PDF(扫描版 节译本)
英文PDF(5卷本)
2017-05-03
2021-02-12
简介
罗马盛衰原因论Considerations on the Causes of the Greatness of the Romans and their Decline(法) 孟德斯鸠简体PDF
简体PDF(扫描版)
英文PDF(扫描版)
2013-02-07
2015-07-11
2020-01-19
简介
罗马史Roman History(古罗马) 阿庇安简体TXT2016-05-01简介
编年史
其它中文名:
罗马编年史
罗马帝国编年史
Annals(古罗马) 塔西佗简体PDF(上下册)2021-02-12简介
罗马十二帝王传
其它中文名:
十二凯撒传
The Twelve Caesars(古罗马) 苏维托尼乌斯简体PDF(扫描版)
英文EPUB
2020-03-29
2021-02-12
简介

◇历史 / 美国


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:美国历史American History
——A Very Short Introduction
(美) 保罗·博耶英文PDF2020-03-14简介
美国通史
包括如下:
第1卷 美国的奠基时代,1585~1775
第2卷 美国的独立和初步繁荣,1775~1860
第3卷 美国内战与镀金时代,1861~19世纪末
第4卷 崛起和扩张的年代,1898~1929
第5卷 罗斯福时代,1929~1945
第6卷 战后美国史,1945~2000
A General History of the U.S. 1585~2000刘绪贻、杨生茂 等简体PDF(扫描版)2017-02-20简介
光荣与梦想
——1932~1972年美国社会实录
The Glory and the Dream
——A Narrative History of America, 1932~1972
(美) 威廉·曼彻斯特简体PDF(大字版)
简体PDF
简体EPUB
简体TXT
英文EPUB
2016-12-16
2017-02-17
2021-02-16
2016-05-01
2020-01-18
简介
美国黑人斗争史
——1619年至今的历史、文献与分析
Black Protest
——History, Documents and Analysis, 1619 to the Present
(美) 乔安妮·格兰特简体PDF(扫描版)2017-02-18简介
牛津通识读本:大萧条与罗斯福新政The Great Depression and The New Deal
——A Very Short Introduction
(美) 埃里克·罗威简体EPUB
简体MOBI
英文PDF
英文MOBI
2021-02-16
2021-02-16
2015-12-15
2020-12-08
简介

◇历史 / 英国


(无更新)

◇历史 / 法国


(无更新)

◇历史 / 德国


(无更新)

◇历史 / 日本


(无更新)

◇历史 / (其它国家)



◇历史 / (其它国家) / 中亚


中文书名英文书名作者文件类型上传日期备注
草原帝国The Empire of the Steppes
——A History of Central Asia
(法) 勒内·格鲁塞简体PDF(扫描版)2021-03-12简介
蒙古帝国史The History of The Mongol Empire(法) 勒内·格鲁塞简体PDF(扫描版)2020-03-30简介

◇历史 / (其它国家) / 葡萄牙


(无更新)




★经济


【网盘】
微软网盘
BT Sync 密钥:B2FRYA6AXCDW6CF4YJVFWKH2HAXOFICOX (此密钥的使用方法,参见页面开头的“网盘下载须知”)


◇经济 / 经济学



◇经济 / 经济学 / 教材


(无更新)

◇经济 / 经济学 / 理论


(无更新)

◇经济 / 经济学 / 评论


(无更新)

◇经济 / 经济学 / 通俗读物


(无更新)

◇经济 / 金融


(无更新)

◇经济 / 投资


(无更新)

◇经济 / 经济学家


(无更新)

◇经济 / 博弈论



◇经济 / 博弈论 / 通俗读物


(无更新)

◇经济 / 博弈论 / 理论


(无更新)

◇经济 / 市场营销


(无更新)

◇经济 / (其它)


(无更新)




★管理


【网盘】
微软网盘
BT Sync 密钥:B3WNBTAAFFAODFR6FQ3E3L5BBSJAFNBSJ (此密钥的使用方法,参见页面开头的“网盘下载须知”)
(无更新)




★社会学


【网盘】
微软网盘
BT Sync 密钥:BZR4TTYHT25QWUIE6YNMAKWUGBHKSGLC6 (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇社会学 / 通俗读物


(无更新)

◇社会学 / 理论


(无更新)

◇社会学 / 传媒


(无更新)

◇社会学 / (其它)


(无更新)




★文艺


【网盘】
微软网盘
BT Sync 密钥:BMBB5YLBIJJAE5H6TP27OS7YCEUKCYHZK (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇文艺 / 中国



◇文艺 / 中国 / 文化


(无更新)

◇文艺 / 中国 / 文学家、艺术家


(无更新)

◇文艺 / 中国 / (其它)


(无更新)

◇文艺 / 日本



◇文艺 / 日本 / 文化


(无更新)




★哲学


【网盘】
微软网盘
BT Sync 密钥:B6WWVBXPMZDI5IL4KED6AAHA5FO4UNKQF (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇哲学 / 通俗读物


(无更新)

◇哲学 / 哲学史


(无更新)

◇哲学 / 哲学家



◇哲学 / 哲学家 / 苏格拉底


(无更新)

◇哲学 / 哲学家 / 柏拉图


(无更新)

◇哲学 / 哲学家 / 亚里士多德


(无更新)

◇哲学 / 哲学家 / 笛卡尔


(无更新)

◇哲学 / 哲学家 / 洛克


(无更新)

◇哲学 / 哲学家 / 康德


(无更新)

◇哲学 / 哲学家 / 黑格尔


(无更新)

◇哲学 / 哲学家 / 叔本华


(无更新)

◇哲学 / 哲学家 / 尼采


(无更新)

◇哲学 / 哲学家 / 罗素


(无更新)

◇哲学 / 哲学家 / 维特根斯坦


(无更新)

◇哲学 / 哲学家 / 波普尔


(无更新)

◇哲学 / 哲学家 / (其他哲学家)


(无更新)

◇哲学 / 形而上学


(无更新)

◇哲学 / 知识论与认识论


(无更新)

◇哲学 / 逻辑学


(无更新)

◇哲学 / 伦理学


(无更新)

◇哲学 / 科学哲学


(无更新)

◇哲学 / 美学


(无更新)

◇哲学 / (其它)


(无更新)




★科普


【网盘】
微软网盘
BT Sync 密钥:BKKORLE67ZDUHGHVWAVSRK3N5I7BXLCED (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇科普 / (总论)


(无更新)

◇科普 / 数学



◇科普 / 数学 / 数学史


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:数学史The History of Mathematics
——A Very Short Introduction
(英) 杰基·斯特德尔英文EPUB2020-12-10简介
数学
——确定性的丧失
Mathematics
——The Loss of Certainty
(美) 莫里斯·克莱因简体PDF2020-12-10简介
西方文化中的数学Mathematics in Western Culture(美) 莫里斯·克莱因简体PDF(扫描版)
英文PDF(扫描版)
2020-12-10
2021-01-20
简介
费马大定理
——一个困惑了世间智者358年的谜
Fermat's Last Theorem
——The Story of a Riddle That Confounded the World's Greatest Minds for 358 Years
其它英文名:
Fermat's Enigma
——The Epic Quest to Solve the World's Greatest Mathematical Problem
(英) 西蒙·辛格简体EPUB2020-12-10简介

◇科普 / 数学 / (综述)


中文书名英文书名作者文件类型上传日期备注
什么是数学
——对思想和方法的基本研究
What Is Mathematics
——An Elementary Approach to Ideas and Methods
(德/美) 理查德·柯朗
(美) 赫伯特·罗宾斯
(英) 伊恩·斯图尔特
简体PDF(第3版 扫描版)
英文EPUB(第3版)
2020-12-10
2021-01-18
简介

◇科普 / 数学 / 基础理论


中文书名英文书名作者文件类型上传日期备注
哥德尔、艾舍尔、巴赫书
——集异璧之大成
Gödel, Escher, Bach
——An Eternal Golden Braid
(美) 道格拉斯·霍夫施塔特 (中文名:侯世达)简体PDF(扫描版)
英文PDF
2021-01-18
2020-12-11
简介
哥德尔证明Gödel's Proof(奥/美) 欧内斯特·内格尔
(美) 詹姆斯·纽曼
简体PDF
英文EPUB
2020-12-11
2021-03-23
简介

◇科普 / 数学 / 代数与分析


(无更新)

◇科普 / 数学 / 几何与拓扑


(无更新)

◇科普 / 数学 / 概率与统计


(无更新)

◇科普 / 数学 / (其它)


中文书名英文书名作者文件类型上传日期备注
怎样解题
——数学思维的新方法
How to Solve It
——A New Aspect of Mathematical Method
(匈/瑞士/美) 乔治·波利亚简体PDF(第2版)
英文PDF(第2版 扫描版)
2020-12-11
2021-03-23
简介

◇科普 / 物理学



◇科普 / 物理学 / 物理学史


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:物理学史The History of Physics
——A Very Short Introduction
(英) 约翰·海尔布隆英文EPUB2020-12-12简介
物理学的进化The Evolution of Physics
——From Early Concepts to Relativity and Quanta
(德/美) 阿尔伯特·爱因斯坦
(波兰) 利奥波德·英费尔德
简体PDF(扫描版)
英文PDF
2020-12-12
2021-02-11
简介
上帝掷骰子吗?
——量子物理史话
History of Quantum Physics曹天元简体EPUB2020-12-12简介

◇科普 / 物理学 / (综述)


中文书名英文书名作者文件类型上传日期备注
费曼物理学讲义The Feynman Lectures on Physics(美) 理查德·费曼简体PDF(共3卷 扫描版)
英文PDF(共3卷 扫描版)
2021-02-11
2020-12-12
简介

◇科普 / 物理学 / 基础理论


中文书名英文书名作者文件类型上传日期备注
物理世界奇遇记Mr Tompkins in Wonderland
其它英文名:
Mr Tompkins Explores the Atom
The New World of Mr Tompkins
(苏/美) 乔治·伽莫夫简体PDF(精校版)2020-12-12简介
从牛顿定律到爱因斯坦相对论N/A(中/美) 方励之
褚耀泉
简体PDF(精校版)2020-12-12简介
量子力学概论Introduction to Quantum Mechanics(美) 大卫·格里菲斯简体PDF(第2版)
英文EPUB(第3版)
2020-12-12
2021-01-18
简介
宇宙的琴弦
——超弦、隐藏维度与终极理论探索
其它中文名:
优雅的宇宙
The Elegant Universe
——Superstrings, Hidden Dimensions and the Quest for the Ultimate Theory
(美) 布莱恩·格林简体PDF(扫描版)2020-12-12简介

◇科普 / 物理学 / 粒子物理学


(无更新)

◇科普 / 物理学 / 核物理学


(无更新)

◇科普 / 物理学 / 天体物理学


中文书名英文书名作者文件类型上传日期备注
时间简史
——从大爆炸到黑洞
A Brief History of Time
——From the Big Bang to Black Holes
(英) 斯蒂芬·霍金简体PDF(插图本 扫描版)
英文EPUB(10周年纪念版)
2021-01-20
2020-12-13
简介
最初三分钟
——关于宇宙起源的现代观点
The First Three Minutes
——A Modern View of the Origin of the Universe
(美) 史蒂文·温伯格简体PDF(扫描版)
英文PDF
2020-12-13
2021-03-23
简介
宇宙的最后三分钟
——关于宇宙归宿的最新观念
The Last Three Minutes
——Conjectures about the Ultimate Fate of the Universe
(美) 保罗·戴维斯简体PDF2020-12-13简介
超越时空
——通过平行宇宙、时间卷曲和第十维度的科学之旅
其它中文名:
穿越超時空
——十度空間科學奇航
Hyperspace
——A Scientific Odyssey Through Parallel Universes, Time Warps and the Tenth Dimension
(美) 加来道雄简体PDF(扫描版)2020-12-13简介

◇科普 / 物理学 / (其它)


中文书名英文书名作者文件类型上传日期备注
上帝与新物理学God and the New Physics(美) 保罗·戴维斯简体PDF
英文EPUB
2020-12-13
2021-03-23
简介

◇科普 / 化学



◇科普 / 化学 / (综述)


(无更新)

◇科普 / 化学 / 基础理论


(无更新)

◇科普 / 化学 / 物理化学


(无更新)

◇科普 / 化学 / 有机化学


(无更新)

◇科普 / 生命科学



◇科普 / 生命科学 / 生物分类学


(无更新)

◇科普 / 生命科学 / 演化生物学


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:基因Genes
——A Very Short Introduction
(美) 乔纳森·斯拉克英文EPUB2020-12-16简介
自私的基因The Selfish Gene(英) 理查德·道金斯简体MOBI(40周年纪念版)
英文EPUB(30周年纪念版)
2020-12-16
2021-03-24
简介
盲眼钟表匠
——生命自然选择的秘密
The Blind Watchmaker
——Why the Evidence of Evolution Reveals a Universe without Design
(英) 理查德·道金斯简体PDF(扫描版)2021-04-27简介
社会生物学
——新的综合
Sociobiology
——The New Synthesis
(美) 爱德华·威尔逊简体HTML(节译本)
英文EPUB(25周年纪念版)
2020-12-16
2021-01-20
简介
第三种黑猩猩
——人类的身世与未来
The Third Chimpanzee
——The Evolution and Future of the Human Animal
(美) 贾雷德·戴蒙德简体PDF(扫描版)2020-12-16简介
伊甸园的飞龙
——人类智力演化的推测
The Dragons of Eden
——Speculations on the Evolution of Human Intelligence
(美) 卡尔·萨根简体HTML2020-12-16简介

◇科普 / 生命科学 / 分子生物学


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:分子生物学Molecular Biology
——A Very Short Introduction
(新西兰) 珍妮丝·罗伊兹
(英) 艾莎·迪万
英文EPUB2020-12-16简介
生命是什么?
——生物细胞的物理学见解
其它中文名:
生命是什么?
——活细胞的物理学观
What Is Life?
——The Physical Aspect of the Living Cell
(奥) 埃尔温·薛定谔简体PDF(扫描版)
英文EPUB
2020-12-16
2021-03-24
简介

◇科普 / 生命科学 / 神经生物学


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:认知神经科学Cognitive Neuroscience
——A Very Short Introduction
(英) 理查德·帕辛厄姆英文EPUB2020-12-17简介
意识探秘
——意识的神经生物学研究
The Quest for Consciousness
——A Neurobiological Approach
(美) 克里斯托夫·科赫简体PDF(扫描版)
英文EPUB
2020-12-17
2021-02-11
简介

◇科普 / 生命科学 / 古生物学


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:化石Fossils
——A Very Short Introduction
(英) 基思·汤姆森英文EPUB2020-12-17简介
人类的起源The Origin of Humankind(肯尼亚) 理查德·利基简体PDF
英文EPUB
2020-12-17
2021-02-11
简介

◇科普 / 生命科学 / 医学


中文书名英文书名作者文件类型上传日期备注
我们为什么生病
——达尔文医学的新科学
Why We Get Sick
——The New Science of Darwinian Medicine
(美) 伦道夫·尼斯
(美) 乔治·威廉斯
简体PDF(扫描版)
英文PDF(扫描版)
2020-12-17
2021-01-20
简介

◇科普 / 系统科学



◇科普 / 系统科学 / 混沌理论


中文书名英文书名作者文件类型上传日期备注
混沌
——开创新科学
Chaos
——Making a New Science
(美) 詹姆斯·格雷克简体PDF(扫描版)
英文EPUB(修订版)
2021-03-24
2020-12-18
简介

◇科普 / 系统科学 / 复杂系统论


中文书名英文书名作者文件类型上传日期备注
牛津通识读本:复杂Complexity
——A Very Short Introduction
(美) 约翰·霍兰德英文EPUB2020-12-18简介
复杂
——诞生于秩序与混沌边缘的科学
Complexity
——The Emerging Science at the Edge of Order and Chaos
(美) 米歇尔·沃尔德罗普简体PDF(扫描版)
英文EPUB
2020-12-18
2021-03-24
简介
夸克与美洲豹
——简单性和复杂性的奇遇
The Quark and the Jaguar
——Adventures in the Simple and the Complex
(美) 默里·盖尔曼简体PDF2020-12-18简介
复杂性思维
——物质、精神和人类的计算动力学
Thinking in Complexity
——The Computational Dynamics of Matter, Mind and Mankind
其它英文名:
Thinking in Complexity
——The Complex Dynamics of Matter, Mind and Mankind
(德) 克劳斯·迈因策尔简体CHM(第2版)
英文PDF(第5版)
2020-12-18
2021-01-18
简介
隐秩序
——适应性造就复杂性
Hidden Order
——How Adaptation Builds Complexity
(美) 约翰·霍兰德简体PDF(扫描版)
英文PDF(扫描版)
2020-12-18
2021-01-18
简介

◇科普 / 地球科学



◇科普 / 地球科学 / 地理学


(无更新)

◇科普 / 地球科学 / 气候学


(无更新)

◇科普 / 地球科学 / 生态学


(无更新)

◇科普 / 地球科学 / 环境科学


中文书名英文书名作者文件类型上传日期备注
寂静的春天Silent Spring(美) 蕾切尔·卡森简体PDF(扫描版)
英文PDF(40周年纪念版)
2021-01-20
2020-12-19
简介

◇科普 / 空间科学



◇科普 / 空间科学 / 天文学史


(无更新)

◇科普 / 空间科学 / 宇宙学


(由于现代宇宙学与理论物理的关系很密切,相关的书籍放在【科普类 / 物理学 / 天体物理学】分类目录下)

◇科普 / 空间科学 / 恒星天文学


(无更新)

◇科普 / 科学家


中文书名英文书名作者文件类型上传日期备注
别闹了,费曼先生
——科学玩童的故事
Surely You're Joking, Mr. Feynman!(美) 理查德·费曼简体PDF(精校版)
英文EPUB
2020-12-20
2021-03-23
简介
我的世界线
——伽莫夫自传
My World Line
——An Informal Autobiography
(苏/美) 乔治·伽莫夫简体PDF(精校版)2020-12-20简介

◇科普 / (其它)


中文书名英文书名作者文件类型上传日期备注
从一到无穷大
——科学中的事实和臆测
One Two Three... Infinity
——Facts and Speculations of Science
(苏/美) 乔治·伽莫夫简体PDF(精校版)
英文EPUB
2020-12-22
2021-03-24
简介




★军事


【网盘】
微软网盘
BT Sync 密钥:BMWWZALG4P56LREF47EE2WSWHZEM4E6BL (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇军事 / 军事理论


(无更新)

◇军事 / 现代军事史



◇军事 / 现代军事史 / 二战



◇军事 / 现代军事史 / 二战 / (综合)


(无更新)

◇军事 / 现代军事史 / 二战 / 东欧战场


(无更新)

◇军事 / 现代军事史 / 二战 / 西欧与北非战场


(无更新)

◇军事 / 现代军事史 / 二战 / 太平洋战场


(无更新)

◇军事 / 现代军事史 / 二战 / 中国战场


(无更新)

◇军事 / 现代军事史 / 韩战


(无更新)

◇军事 / 现代军事史 / 越战


(无更新)

◇军事 / 现代军事史 / 冷战


(无更新)

◇军事 / 现代军事史 / 一战


(无更新)

◇军事 / 近代军事史



◇军事 / 近代军事史 / 甲午战争


(无更新)

◇军事 / 近代军事史 / 鸦片战争


(无更新)

◇军事 / 近代军事史 / 南北战争


(无更新)

◇军事 / 古代军事史



◇军事 / 古代军事史 / 古希腊


中文书名英文书名作者文件类型上传日期备注
伯罗奔尼撒战争史History of the Peloponnesian War(古希腊) 修昔底德简体PDF(2册本 扫描版)
简体EPUB
简体TXT
英文PDF(精装版)
英文PDF(共3卷 扫描版)
2014-07-27
2015-02-13
2016-05-01
2018-08-08
2020-01-21
简介
希波战争史
其它中文名:
历史
The Histories(古希腊) 希罗多德简体PDF(上下册)
简体PDF(扫描版)
英文EPUB
2021-02-16
2017-08-11
2020-01-21
简介
亚历山大远征记Anabasis Alexandri(古罗马) 阿利安简体PDF
简体PDF(扫描版)
英文EPUB
2013-02-07
2015-07-18
2018-08-08
简介
牛津通识读本:特洛伊战争The Trojan War
——A Very Short Introduction
(美) 埃里克·克莱因英文EPUB2020-03-24简介

◇军事 / 古代军事史 / 古罗马


(无更新)

◇军事 / 其它军事史


(无更新)

◇军事 / 武器


(无更新)

◇军事 / 美国


中文书名英文书名作者文件类型上传日期备注
美军生存手册U.S. Army Survival Manual(美) 美国国防部简体PDF(扫描版)
英文EPUB
2017-02-19
2021-03-12
简介




★IT


(IT领域的发展太快,导致书籍的生命周期变短。所以俺尽量挑选那些生命周期比较长的电子书。)
【网盘】
微软网盘
BT Sync 密钥:BUPSDXFA3TP7KCMLHALRHLIX2FEJEUJFE (此密钥的使用方法,参见页面开头的“网盘下载须知”)

◇IT / 软件开发



◇IT / 软件开发 / 软件工程


中文书名英文书名作者文件类型上传日期备注
人月神话The Mythical Man-Month
——Essays on Software Engineering
(美) Frederick Brooks简体PDF(20周年纪念版)
简体EPUB(20周年纪念版)
简体TXT(20周年纪念版)
英文PDF(20周年纪念版)
英文CHM(20周年纪念版)
2018-11-09
2013-10-20
2016-05-01
2016-12-22
2013-10-20
简介
人件Peopleware
——Productive Projects and Teams
(美) Tom Demarco
(美) Timothy Lister
简体PDF(第3版 扫描版)
简体PDF(第2版)
简体PDF(第2版 扫描版)
英文PDF(第2版)
2020-11-20
2015-11-07
2013-10-20
2013-10-20
简介
软件工程
——实践者的研究方法
Software Engineering
——A Practitioner's Approach
(美) Roger Pressman英文PDF(第8版)
简体PDF(第7版 扫描版)
2018-07-29
2021-02-06
简介
代码大全
其它中文名:
軟體建構之道
Code Complete
——A Practical Handbook of Software Construction
(美) Steve McConnell简体PDF(第2版 扫描版)
英文CHM(第2版)
简体PDF(第1版)
2017-08-08
2013-10-20
2013-10-20
简介
重构
——改善既有代码的设计
Refactoring
——Improving the Design of Existing Code
(英) Martin Fowler
(美) Kent Beck
John Brant
(美) William Opdyke
Don Roberts
英文PDF(第2版)
简体PDF(第1版)
简体PDF(第1版 扫描版)
英文PDF(第1版)
英文CHM(第1版)
2020-11-20
2020-11-20
2016-12-22
2017-08-09
2013-10-20
简介
敏捷软件开发
——原则、模式与实践
Agile Software Development
——Principles, Patterns and Practices
(美) Robert Martin简体PDF(扫描版)
英文PDF
2015-11-08
2020-04-06
简介
代码整洁之道
——程序员的职业素养
Clean Code
——A Handbook of Agile Software Craftsmanship
(美) Robert Martin简体PDF(扫描版)
英文PDF
2020-11-20
2020-04-08
简介
最后期限
其它中文名:
最後期限
——專案管理101個成功法則
The Deadline
——A Novel about Project Management
(美) Tom Demarco简体PDF
英文PDF
2013-10-20
2020-04-03
简介

◇IT / 软件开发 / 编程语言


(本类别放置“具体编程语言相关”的编程类电子书)

◇IT / 软件开发 / 编程语言 / C


(无更新)

◇IT / 软件开发 / 编程语言 / C++


中文书名英文书名作者文件类型上传日期备注
C++ 程序设计语言The C++ Programming Language(丹麦) Bjarne Stroustrup英文PDF(第4版)
英文PDF(特别版)
简体PDF(特别版 扫描版)
2020-04-08
2013-10-21
2013-10-29
简介
Accelerated C++Accelerated C++
——Practical Programming by Example
(美) Andrew Koenig
(美) Barbara Moo
简体PDF(扫描版)2020-07-09简介
Effective C++
——改善程序与设计的55个具体做法
Effective C++
——55 Specific Ways to Improve Your Programs and Designs
(美) Scott Meyers英文PDF(第3版)
英文CHM(第3版)
2018-08-04
2013-10-21
简介
More Effective C++
——35个改善编程与设计的有效方法
More Effective C++
——35 New Ways to Improve Your Programs and Designs
(美) Scott Meyers英文PDF
简体PDF
2013-10-21
2015-05-12
简介
Effective Modern C++
——改善 C++11 和 C++14 的42个具体做法
Effective Modern C++
——42 Specific Ways to Improve Your Use of C++11 and C++14
(美) Scott Meyers英文PDF2018-08-04简介
C++ 编程规范
——101 条规则、准则与最佳实践
C++ Coding Standards
——101 Rules, Guidelines, and Best Practices
(美) Herb Sutter
(美) Andrei Alexandrescu
英文CHM2013-10-20简介
C++ 必知必会C++ Gotchas
——Avoiding Common Problems in Coding and Design
(美) Stephen Dewhurst英文CHM2015-11-05简介
C++ Primer PlusC++ Primer Plus(美) Stephen Prata英文PDF(第5版)2018-09-11简介
C++ PrimerC++ Primer(美) Stanley Lippman
英文CHM(第4版)
简体PDF(第3版)
2013-10-20
2013-10-24
简介
C++ 标准库
——自修教程与参考手册
The C++ Standard Library
——A Tutorial and Reference
(德) Nicolai Josuttis英文CHM
简体PDF(扫描版)
2013-10-20
2015-05-12
简介
超越 C++ 标准库
——Boost 库导论
Beyond the C++ Standard Library
——An Introduction to Boost
Björn Karlsson英文CHM2018-08-04简介
C++ 编程思想Thinking in C++(美) Bruce Eckel简体PDF(第2版 2卷本)
英文PDF(第2版 共2卷)
简体PDF(第1版)
2021-02-06
2019-03-29
2018-07-20
简介
深度探索 C++ 对象模型Inside the C++ Object Model(美) Stanley Lippman英文CHM
简体PDF(扫描版)
2013-10-20
2018-08-04
简介
C++ 设计新思维
——泛型编程与设计模式之应用
Modern C++ Design
——Generic Programming and Design Patterns Applied
(美) Andrei Alexandrescu简体PDF(扫描版)
英文PDF
英文CHM
英文MOBI
2015-11-08
2018-08-04
2016-12-21
2018-08-04
简介
C++ Templates 全览C++ Templates
——The Complete Guide
(比利时) David Vandevoorde
(德) Nicolai Josuttis
英文EPUB(第2版)
简体PDF(第1版 扫描版)
英文EPUB(第1版)
英文CHM(第1版)
2018-11-11
2020-07-09
2018-08-04
2015-05-12
简介
C++ 模板元编程C++ Template Metaprogramming
——Concepts, Tools and Techniques from Boost and Beyond
(美) David Abrahams
(美) Aleksey Gurtovoy
简体PDF(扫描版)
英文CHM
2020-07-09
2021-03-12
简介
C++ 语言的设计和演化The Design and Evolution of C++(丹麦) Bjarne Stroustrup简体PDF(扫描版)
英文PDF
2013-10-25
2018-08-04
简介
STL 源码剖析The Annotated STL Sources侯捷 (原名:侯俊杰)简体PDF(扫描版)2015-11-05简介
大规模 C++ 程序设计Large-Scale C++ Software Design(美) John Lakos简体PDF(扫描版)
英文DJVU(扫描版)
2013-10-30
2020-04-04
简介

◇IT / 软件开发 / 编程语言 / Python


(无更新)

◇IT / 软件开发 / 编程语言 / Java


(无更新)

◇IT / 软件开发 / 编程语言 / JavaScript


(无更新)

◇IT / 软件开发 / 编程语言 / Lisp


中文书名英文书名作者文件类型上传日期备注
计算机程序的构造和解释Structure and Interpretation of Computer Programs(美) Harold Abelson
(美) Gerald Jay Sussman
(美) Julie Sussman
简体PDF(第2版 扫描版)
英文PDF(第2版)
英文WEB
2015-07-20
2016-12-21
N/A
简介
程序设计方法How to Design Programs
——An Introduction to Computing and Programming
(美) Matthias Felleisen
(美) Robby Findler
(美) Matthew Flatt
(美) Shriram Krishnamurthi
英文PDF(第1版)
英文WEB(第2版)
英文WEB(第1版)
2019-07-30
N/A
N/A
简介
ANSI Common LispANSI Common Lisp(美) Paul Graham简体PDF
英文PDF
简体WEB
繁體WEB
2018-06-28
2015-01-11
N/A
N/A
简介
实用 Common Lisp 编程Practical Common Lisp(美) Peter Seibel简体PDF(扫描版)
英文CHM
英文WEB
2018-06-28
2021-04-02
N/A
简介
Common Lisp
——The Language
Common Lisp
——The Language
(美) Guy Steele英文PDF(第2版)
英文PS(第2版)
英文WEB
2017-05-09
2016-12-21
N/A
简介
On Lisp
——Advanced Techniques for Common Lisp
On Lisp
——Advanced Techniques for Common Lisp
(美) Paul Graham简体PDF
英文PDF
2017-08-09
2015-01-11
简介
Lisp 之根源The Roots of Lisp(美) Paul Graham简体PS
英文PDF
简体WEB
2018-07-20
2016-12-12
N/A
简介
Lisp 的演化The Evolution of Lisp(美) Guy Steele
(美) Richard Gabriel
英文PDF2018-10-29简介
GNU Emacs Lisp 编程入门An introduction to Programming in Emacs Lisp(美) Robert J. Chassell简体PDF(扫描版)
英文PDF(版本3.10)
英文PDF(版本2.05)
2018-06-28
2015-11-17
2015-11-03
简介
Basic Lisp TechniquesBasic Lisp TechniquesDavid Cooper英文PDF2015-01-11简介

◇IT / 软件开发 / 编程语言 / Go


(无更新)

◇IT / 软件开发 / 编程语言 / Ruby


(无更新)

◇IT / 软件开发 / 编程语言 / Rust


中文书名英文书名作者文件类型上传日期备注
Rust 程序设计语言The Rust Programming LanguageRust 开发团队英文PDF(第2版)
英文EPUB(第2版)
英文PDF(第1版)
英文EPUB(第1版)
英文WEB(第2版)
简体WEB(第2版)
2018-07-20
2018-11-09
2018-07-20
2018-11-09
N/A
N/A
简介
Rust 程序设计Programming Rust
——Fast, Safe Systems Development
(美) Jim Blandy
(美) Jason Orendorff
英文PDF(第1版 大字版)
英文EPUB(第1版)
2020-04-06
2021-03-12
简介

◇IT / 软件开发 / 编程语言 / Prolog


中文书名英文书名作者文件类型上传日期备注
Programming in Prolog
——Using the ISO Standard
Programming in Prolog
——Using the ISO Standard
(英) William Clocksin
(英) Christopher Mellish
英文PDF(第5版 扫描版)2018-07-18简介
Logic Programming with PrologLogic Programming with Prolog(英) Max Bramer英文PDF(第2版)
英文PDF(第1版)
2021-04-02
2018-07-18
简介
An Introduction to Logic Programming through PrologAn Introduction to Logic Programming through Prolog(英) Michael Spivey英文PDF2018-07-18简介

◇IT / 软件开发 / 编程语言 / (其它)


(无更新)

◇IT / 软件开发 / 编程范式


(无更新)

◇IT / 软件开发 / 算法与数据结构


中文书名英文书名作者文件类型上传日期备注
计算机程序设计艺术The Art of Computer Programming(美) Donald Knuth (中文名:高德纳)简体PDF(共3卷 2002套装 扫描版)
英文DJVU(共3卷 1998套装 扫描版)
2021-01-21
2020-04-11
简介
算法导论Introduction to Algorithms(美) Thomas Cormen
(美) Charles Leiserson
(美) Ronald Rivest
(美) Clifford Stein
简体PDF(第3版 扫描版)
英文PDF(第3版)
英文CHM(第2版)
2015-10-25
2013-10-21
2013-10-30
简介
算法概论Algorithms(美) Sanjoy Dasgupta
(希腊) Christos Papadimitriou
(印度) Umesh Vazirani
简体PDF(扫描版)
英文PDF
2020-04-11
2018-07-29
简介
算法设计手册
其它中文名:
算法设计指南
The Algorithm Design Manual(美) Steven Skiena英文PDF(第2版)2018-07-29简介
编程珠玑Programming Pearls(美) Jon Bentley简体PDF(第2版 扫描版)
英文PDF(第2版)
2013-10-21
2013-10-21
简介
算法心得
——高效算法的奥秘
Hacker's Delight(美) Henry Warren Jr.简体PDF(第2版 扫描版)
英文PDF(第1版 大字版)
2020-11-20
2020-07-09
简介
数学之美Beauty of Mathematics吴军简体PDF(第1版)
简体TXT(第1版)
2018-10-29
2016-05-15
简介

◇IT / 软件开发 / 调试与测试


中文书名英文书名作者文件类型上传日期备注
软件调试修炼之道Debug It
——Find, Repair and Prevent Bugs in Your Code
(美) Paul Butcher英文PDF2020-04-06简介
软件调试的艺术The Art of Debugging with GDB, DDD and Eclipse(美) Norman Matloff
(美) Peter Salzman
简体PDF(扫描版)
英文PDF
2020-04-10
2021-03-12
简介

◇IT / 软件开发 / 操作系统相关


(本类别放置“具体操作系统相关”的编程类电子书)

◇IT / 软件开发 / 操作系统相关 / UNIX 与 Linux


中文书名英文书名作者文件类型上传日期备注
UNIX 编程艺术The Art of UNIX Programming(美) Eric Raymond简体PDF(扫描版)
英文PDF
英文EPUB
英文MOBI
英文CHM
2017-05-06
2019-08-17
2018-08-04
2018-08-04
2013-10-20
简介
Linux/UNIX 设计思想Linux and the UNIX Philosophy
其它英文名:
The UNIX Philosophy
(美) Mike Gancarz简体PDF(第2版 扫描版)
英文CHM(第2版)
2021-04-04
2020-04-10
简介
UNIX 环境高级编程Advanced Programming in the UNIX Environment(美) Richard Stevens
(美) Stephen Rago
简体PDF(第3版 扫描版)
英文PDF(第3版)
简体PDF(第2版 扫描版)
英文CHM(第2版)
2017-08-09
2013-11-14
2014-05-13
2013-10-21
简介
Linux/UNIX 系统编程手册The Linux Programming Interface
——A Linux and UNIX System Programming Handbook
(新西兰) Michael Kerrisk英文PDF2021-02-06简介
UNIX 系统编程
——通信、并发与线程
UNIX Systems Programming
——Communication, Cocurrency and Threads
其它英文名:
Practical UNIX Programming
——A Guide to Concurrency, Communication and Multithreading
(美) Kay Robbins
(美) Steven Robbins
英文CHM(第2版)2013-10-21简介
如何编写动态库How to Write Shared Libraries(美) Ulrich Drepper英文PDF2019-03-17简介
精通 Linux 设备驱动程序开发Essential Linux Device Drivers(印度) Sreekrishnan Venkateswaran简体PDF(扫描版)
英文PDF
2015-11-06
2021-04-04
简介

◇IT / 软件开发 / 操作系统相关 / Windows


中文书名英文书名作者文件类型上传日期备注
Windows 核心编程Windows via C & C++
其它英文名:
Programming Applications for Windows
(美) Jeffrey Richter英文CHM(第5版)
简体PDF(第4版)
英文CHM(第4版)
2020-04-10
2014-05-13
2013-10-21
简介
Windows 程序设计Programming Windows
——The Definitive Guide to the Win32 API
其它英文名:
Programming Windows
——Writing Windows 8 Apps with C# and XAML
(美) Charles Petzold英文PDF(第6版)
英文CHM(第5版)
2021-04-03
2021-04-03
简介

◇IT / 软件开发 / 网络相关


(本类别放置“网络相关”的编程类电子书)

◇IT / 软件开发 / 网络相关 / C & C++


(无更新)

◇IT / 软件开发 / 网络相关 / Python


中文书名英文书名作者文件类型上传日期备注
Twisted 网络编程精髓Twisted Network Programming Essentials
——Event-driven Network Programming with Python
其它英文名:
Twisted Network Programming Essentials
——Developing with Python's Event-driven Framework
(美) Abe Fettig
(美) Jessica McKellar
英文EPUB(第2版)
英文CHM(第1版)
2021-04-01
2016-12-22
简介

◇IT / 软件开发 / 网络相关 / Java


中文书名英文书名作者文件类型上传日期备注
Java 网络编程Java Network Programming(美) Elliotte Harold英文EPUB(第4版)
英文EPUB(第3版)
2021-04-01
2021-04-01
简介

◇IT / 软件开发 / 网络相关 / (跨语言)


(无更新)

◇IT / 软件开发 / Web 相关



◇IT / 软件开发 / Web 相关 / 架构设计


(无更新)

◇IT / 软件开发 / Web 相关 / 服务端框架


(无更新)

◇IT / 软件开发 / 硬件相关


(无更新)

◇IT / 软件开发 / (其它)


中文书名英文书名作者文件类型上传日期备注
程序员修炼之道
——从小工到专家
Pragmatic Programmers
——From Journeyman to Master
(美) Andrew Hunt
(美) David Thomas
简体PDF(扫描版)
简体PDF(扫描版)
简体TXT
英文PDF
2017-08-09
2013-10-21
2016-05-01
2013-10-19
简介
约耳趣谈软体Joel on Software(美) Joel Spolsky英文EPUB
英文CHM
2015-01-11
2016-12-22
简介
软件随想录More Joel on Software(美) Joel Spolsky简体PDF(扫描版)
英文PDF
2015-02-17
2015-01-11
简介
程序员应该知道的97件事97 Things Every Programmer Should Know
——Collective Wisdom from the Experts
(英) Kevlin Henney (主编)英文PDF
英文EPUB
2018-07-02
2020-04-08
简介
编程人生
——15位软件先驱访谈录
Coders at Work
——Reflections on the Craft of Programming
(美) Peter Seibel简体PDF(扫描版)
英文PDF
2021-01-21
2015-11-08
简介
代码阅读方法与实践Code Reading
——The Open Source Perspective
(希腊) Diomidis Spinellis简体PDF(扫描版)
英文CHM
2015-11-03
2020-04-04
简介

◇IT / 黑客文化与开源文化


(考虑到“黑客”一词已经被严重误解,俺单独放一个目录介绍黑客文化。希望大伙儿搞清楚:“黑客/Hacker”与“骇客/Cracker”是有天壤之别的)
中文书名英文书名作者文件类型上传日期备注
自由软件,自由社会
——理查德·斯托曼选集
Free Software, Free Society
——Selected Essays of Richard M. Stallman
(美) Richard Stallman简体PDF(第3版)
简体EPUB(第3版)
英文PDF(第3版)
简体WEB(第3版)
2019-03-14
2019-03-14
2019-03-14
N/A
简介
大教堂与集市
其它中文名:
大教堂和市集
黑客五部曲
包括如下:
黑客文化简史
大教堂和集市
如何成为一名黑客
开拓智域
魔法大锅炉
The Cathedral and the Bazaar(美) Eric Raymond简体PDF
简体EPUB
简体MOBI
英文PDF
2013-10-20
2015-12-25
2015-12-25
2020-04-09
简介
黑客与画家Hackers and Painters
——Big Ideas from the Computer Age
(美) Paul Graham简体PDF(扫描版)
简体EPUB
简体MOBI
简体TXT
英文PDF
英文EPUB
2013-04-06
2013-10-20
2014-02-23
2016-04-29
2017-08-08
2020-04-04
简介
黑客
——计算机革命的英雄
Hackers
——Heroes of the Computer Revolution
(美) Steven Levy简体PDF(25周年纪念版 扫描版)
简体MOBI(25周年纪念版)
简体EPUB
英文PDF
2014-01-28
2015-07-20
2015-07-20
2015-05-12
简介
若为自由故
——自由软件之父理查德·斯托曼传
Free as in Freedom
——Richard Stallman's Crusade for Free Software
(美) Sam Williams简体TXT(第2版)
简体PDF(第1版 扫描版)
英文PDF(第2版)
英文PDF(第1版)
英文WEB(第1版)
2019-03-09
2021-01-21
2016-12-21
2019-08-01
N/A
简介
乐者为王
——自由软件 Linux 之父李纳斯·托沃兹自述
其它中文名:
只是为了好玩
——Linux 之父林纳斯自传
Just for Fun
——The Story of an Accidental Revolutionary
(芬兰/美) Linus Torvalds简体EPUB
简体PDF(扫描版)
英文EPUB
2015-11-15
2016-12-12
2019-08-01
简介
线上幽灵
——世界头号黑客米特尼克自传
Ghost in the Wires
——My Adventures as the World's Most Wanted Hacker
(美) Kevin Mitnick简体PDF(扫描版)
英文PDF
2020-04-09
2019-08-03
简介
自由文化Free Culture
——How Big Media Uses Technology and the Law to Lock Down Culture and Control Creativity
(美) Lawrence Lessig英文PDF2015-12-09简介
制造开源软件
——如何成功运营自由软件项目
Producing Open Source Software
——How to Run a Successful Free Software Project
Karl Fogel简体EPUB
英文EPUB
英文PDF
简体WEB
英文WEB
2016-12-21
2016-12-21
2017-05-06
N/A
N/A
简介

◇IT / 信息安全


(俺在博客上写了不少信息安全的扫盲教程,如果不分享几本相关的书,实在说不过去啊)

◇IT / 信息安全 / 社会工程学


(无更新)

◇IT / 信息安全 / 密码学


中文书名英文书名作者文件类型上传日期备注
密码编码学与网络安全
——原理与实践
Cryptography and Network Security
——Principles and Practice
(美) William Stallings英文PDF(第7版)
英文PDF(第6版)
英文PDF(第5版)
英文PDF(第4版)
简体PDF(第3版 扫描版)
2021-03-31
2021-03-31
2013-11-18
2019-03-25
2013-11-18
简介
密码学原理与实践Cryptography
——Theory and Practice
(加) Douglas Stinson简体PDF(第2版 扫描版)
英文CHM(第1版)
2013-10-21
2013-10-30
简介
应用密码学
——协议、算法与 C 源程序
Applied Cryptography
——Protocols, Algorithms, and Source Code in C
(美) Bruce Schneier简体PDF(第2版 扫描版)
英文EPUB(第2版)
英文PDF(第2版)
2013-11-26
2015-07-21
2013-10-21
简介

◇IT / 信息安全 / 安全加固


(无更新)

◇IT / 信息安全 / 入侵与渗透测试


中文书名英文书名作者文件类型上传日期备注
入侵的艺术The Art of Intrusion
——The Real Stories Behind the Exploits of Hackers, Intruders and Deceivers
(美) Kevin Mitnick简体PDF(扫描版)
简体EPUB
英文PDF
2014-02-04
2015-07-17
2014-01-09
简介
黑客之道
——漏洞发掘的艺术
Hacking
——The Art of Exploitation
(美) Jon Erickson简体PDF(第2版 扫描版)
英文PDF(第2版)
英文CHM(第1版)
2021-02-11
2018-07-29
2019-08-02
简介
灰帽攻击安全手册
——渗透测试与漏洞分析技术
Gray Hat Hacking
——The Ethical Hacker's Handbook
Allen Harper
英文PDF(第3版)
英文PDF(第2版)
简体PDF(第1版)
2018-07-25
2019-03-24
2018-11-09
简介
黑客攻防技术宝典
——Web 实战篇
The Web Application Hacker's Handbook
——Finding and Exploiting Security Flaws
(英) Dafydd Stuttard (网名:PortSwigger)
(英) Marcus Pinto
简体EPUB(第2版)
英文PDF(第2版)
2021-02-11
2019-03-24
简介
Shellcoder 编程揭秘Shellcoder's Programming Uncovered(俄) Kris Kaspersky简体PDF(扫描版)2018-07-25简介
Shellcoder 手册
——发现和利用安全漏洞
The Shellcoder's Handbook
——Discovering and Exploiting Security Holes
(多人)英文PDF(第2版)
英文CHM(第1版)
2019-03-18
2019-03-18
简介
内核漏洞的利用与防范A Guide to Kernel Exploitation
——Attacking the Core
(美) Enrico Perla
(美) Massimiliano Oldani
英文PDF(第1版)2018-07-29简介
Metasploit 渗透测试指南Metasploit
——The Penetration Tester's Guide
David Kennedy
Jim O'Gorman
Devon Kearns
Mati Aharoni
简体PDF(扫描版)2021-02-11简介

◇IT / 信息安全 / 破解与逆向工程


中文书名英文书名作者文件类型上传日期备注
逆向工程权威指南
其它中文名:
逆向工程入门指南
Reverse Engineering for Beginners
——Understanding Assembly Language
(乌克兰) Dennis Yurichev简体EPUB
英文PDF
2019-03-28
2018-08-04
简介
IDA Pro 权威指南IDA Pro Book
——The Unofficial Guide to the World's Most Popular Disassembler
(美) Chris Eagle英文PDF(第2版)
英文CHM(第1版)
2021-04-27
2021-04-27
简介

◇IT / 信息安全 / 恶意软件


(无更新)

◇IT / 信息安全 / 编程语言相关


(本目录下放的是“信息安全”相关的编程书籍,按【语言】归类)

◇IT / 信息安全 / 编程语言相关 / C & C++


(无更新)

◇IT / 信息安全 / 编程语言相关 / Python


(无更新)

◇IT / 操作系统



◇IT / 操作系统 / 使用教程


(无更新)

◇IT / 操作系统 / 操作系统原理



◇IT / 操作系统 / 操作系统原理 / (综述)


(无更新)

◇IT / 操作系统 / 操作系统原理 / UNIX


中文书名英文书名作者文件类型上传日期备注
FreeBSD 操作系统设计与实现The Design and Implementation of the FreeBSD Operating System(美) Marshall McKusick
(美) George Neville-Neil
(美) Robert Watson
英文EPUB(第2版)
英文CHM(第1版)
2021-04-04
2021-04-04
简介
UNIX 操作系统设计The Design of the UNIX Operating System(德) Maurice Bach简体PDF(扫描版)
英文PDF(扫描版)
2013-10-21
2015-05-12
简介
莱昂氏 UNIX 源代码分析A Commentary on the Sixth Edition UNIX Operating System(澳大利亚) John Lions英文PDF2018-08-03简介

◇IT / 操作系统 / 操作系统原理 / Linux


中文书名英文书名作者文件类型上传日期备注
Linux 内核设计与实现
其它中文名:
精通 Linux 核心開發
——設計與實作 Linux 核心的權威指南
Linux Kernel Development
——A Thorough Guide to the Design and Implementation of the Linux Kernel
(美) Robert Love简体PDF(第3版 扫描版)
英文PDF(第3版)
2021-02-06
2020-04-10
简介
深入理解 Linux 内核Understanding the Linux Kernel(意) Daniel Bovet
(意) Marco Cesati
英文PDF(第3版)
英文CHM(第3版)
简体PDF(第1版 扫描版)
2013-12-06
2013-10-21
2021-04-04
简介

◇IT / 操作系统 / 操作系统原理 / Windows


中文书名英文书名作者文件类型上传日期备注
深入解析 Windows 操作系统
其它中文名:
Windows 内部揭密
Windows Internals
其它英文名:
Inside Microsoft Windows 2000
Inside Microsoft Windows NT
(西班牙/美) Mark Russinovich
(美) David Solomon
(罗马尼亚/加) Alex Ionescu
(以色列) Pavel Yosifovich
英文PDF(第6版 上下册)
英文EPUB(第6版 上下册)
英文PDF(第5版)
英文PDF(第4版)
简体PDF(第4版 扫描版)
2019-04-13
2021-04-03
2018-08-03
2018-08-03
2018-11-09
简介

◇IT / 网络



◇IT / 网络 / (综述)


中文书名英文书名作者文件类型上传日期备注
计算机网络Computer Networks(美) Andrew Tanenbaum
(美) David Wetherall
简体PDF(第5版 扫描版)
英文PDF(第5版)
英文CHM(第4版)
2018-08-04
2015-01-11
2020-04-02
简介
计算机网络
——自顶向下方法
Computer Networking
——A Top-Down Approach
(美) James Kurose
(美) Keith Ross
英文PDF(第6版)
英文PDF(第5版)
2021-03-31
2021-03-31
简介

◇IT / 网络 / 网络协议


中文书名英文书名作者文件类型上传日期备注
TCP-IP 详解
包括如下:
第1卷 协议
第2卷 实现
第3卷 TCP 事务协议,HTTP,NNTP 和 UNIX 域协议
TCP-IP Illustrated(美) Richard Stevens简体PDF(共3卷)
英文PDF(共3卷 缺第3卷)
英文CHM(共3卷 缺第3卷)
2013-10-26
2021-02-11
2020-07-09
简介
HTTP 权威指南HTTP
——The Definitive Guide
David Gourley
Brian Totty
Marjorie Sayer
Sailu Reddy
Anshu Aggarwal
简体PDF(扫描版)
英文PDF
2018-06-28
2018-11-09
简介

◇IT / 网络 / 分布式



◇IT / 网络 / 分布式 / (综述)


(无更新)

◇IT / 网络 / 分布式 / 一致性


(无更新)

◇IT / 网络 / 分布式 / 容错性


(无更新)

◇IT / 网络 / 分布式 / DHT(分布式哈希表)


(无更新)

◇IT / 网络 / 分布式 / 区块链


(无更新)

◇IT / 网络 / 分布式 / DFS(分布式文件系统)


(无更新)

◇IT / 数据库



◇IT / 数据库 / (综述)


中文书名英文书名作者文件类型上传日期备注
数据库系统概念Database System Concepts(以色列) Abraham Silberschatz
(美) Hank Korth
(印度) S. Sudarshan
英文PDF(第6版)
简体PDF(第5版 扫描版)
2020-04-11
2021-01-21
简介

◇IT / 数据库 / SQL


中文书名英文书名作者文件类型上传日期备注
SQL 学习指南Learning SQL(美) Alan Beaulieu简体PDF(第2版 扫描版)
英文PDF(第2版)
英文CHM(第1版)
2021-01-21
2020-04-11
2020-04-11
简介
SQL CookbookSQL Cookbook
——Query Solutions and Techniques for Database Developers
(美) Anthony Molinaro英文CHM(第1版)2021-04-02简介

◇IT / 人工智能


中文书名英文书名作者文件类型上传日期备注
失控
——全人类的最终命运和结局
Out of Control
——The New Biology of Machines, Social Systems and the Economic World
(美) Kevin Kelly简体EPUB
简体MOBI
简体PDF(扫描版)
英文PDF
2014-01-09
2018-11-10
2021-02-06
2015-01-11
简介
人工智能
——一种现代的方法
Artificial Intelligence
——A Modern Approach
(美) Stuart Russell
(美) Peter Norvig
英文PDF(第3版)2018-09-11简介
奇点临近The Singularity Is Near
——When Humans Transcend Biology
(美) Ray Kurzweil简体PDF
英文PDF
2017-03-30
2017-05-09
简介

◇IT / IT 公司


(无更新)

◇IT / (其它)


(无更新)


版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者"编程随想"和本文原始地址。

翻墙工具

使用 BT sync 自动同步各种翻墙工具(BT sync 免翻墙可用), 同步密钥是 BTLZ4A4UD3PEWKPLLWEOKH3W7OQJKFPLG 如有其它问题,用program.think@gmail.com联系俺

近期安全动态和点评(2021年1季度)

11 April 2021 at 22:04
  又到了每季度的安全新闻汇总。今天这篇比较长,有些俺认为不那么重要的新闻,就没有放进来了。


★隐私保护


◇【输入法】的隐私风险


输入法会“背叛”我们吗? @ 南方周末
一位受访者对南方周末记者描述,几天前朋友家要换马桶,她微信回信息说了自家用的牌子,下次打开手机 WPS 时,开屏广告就成了京东马桶。“这种 N 年不提的话题,不可能这么巧吧?”她怀疑是输入法泄密。
根据 Mob 研究院数据,2020年搜狗、讯飞和百度三家输入法占据了国内市场九成的活跃用户,其中搜狗占有率最高,54%。2020年9月,腾讯全资收购了搜狗。
易观一组数据表明,中国第三方输入法的活跃用户在2019年达到7.71亿。输入法已成网民刚需。

输入法会获取哪些信息

......
梳理三份隐私政策,输入法软件可能收集的用户信息有11类,涉及调用的手机权限有12项。

不见图 请翻墙

◇大规模用户数据泄漏


谁在倒卖我的简历? @ 新浪

  编程随想注:
  今年315晚会曝光的丑闻里面,据说热度最高的是【简历泄露】。简历包含的信息量非常大,也难怪大伙儿很关注此事。
  上述这篇挺长的,俺把小标题列一下:
你的简历是怎么泄露出去的?
  1)注册假公司骗取简历
  2)与招聘网站“内外勾结”
  3)利用爬虫技术抓取(招聘网站的)简历

买你的简历用来干嘛?
  1)网赚营销与兼职招聘
  2)博彩、彩票和棋牌骗局
  3)房地产、保险、教育培训的营销

Facebook 超5亿用户数据泄露,事件与功能误用有关 @ cnBeta
北京时间4月7日早间消息,据报道,此前,美国社交媒体平台 Facebook 被曝有5.33亿用户数据遭泄露,其中包含一些知名人士的信息。媒体报道称,泄露的信息包括用户手机号码、名字、位置、出生年月日、电子邮件地址等。对此,Facebook 今日回应称,报道中的数据泄露事件与数据窃取有关,而不是被黑客入侵系统。
Facebook 表示,2019年因为一个功能遭到误用,导致信息出现泄露,可能影响用户约5.3亿;发现问题之后,Facebook 第一时间堵住漏洞。
根据 Facebook 的解释,2019年9月之前,恶意破坏者利用 Facebook 同步联系人工具存在的漏洞窃取数据。随后公司发现漏洞并修复。

......

巴西几乎所有人的信息泄露 @ Solidot
巴西几乎所有人的信息泄露。泄露的数据为 14GB,包含了1.04亿车辆和4000万家企业详细信息,潜在受影响人数2.2亿。巴西人口2.1亿,这意味着巴西所有人的信息都被泄露(还有部分在巴西生活的外籍居民)。泄露的信息包含了姓名、出生日期和 CPF 号码。CPF 号码是巴西税务局分配给居民和需要纳税的外籍居民的数字。网络安全公司对钓鱼骗局发出了警告。

◇信息时代的【数字军阀】


Google、苹果、Facebook、微软——数字时代的军阀 @ Solidot
去年11月,苹果用户在一次影响广泛的宕机事故后才知道:苹果监视了用户打开和启动的每一个应用程序(编程随想注:上一期谈过这个重大丑闻【OCSP 事件】)
苹果为什么要这么做?最为善意的猜测是:此举旨在更早发现恶意程序。在一个充斥着恶意的网络世界里,这么做是必要的。安全专家 Bruce Schneier 将这种现象形容为“封建式安全”。
生活在21世纪的我们,面临各种数字强盗的围攻。从身份窃贼,到跟踪者,到企业和政府间谍,到骚扰者。我们是没有办法自保的。即使是身经百战的专家也无法和强盗相抗衡。为了抵抗强盗,你必须做到完美,不犯任何错误。而强盗只要抓住一个错误就能逮住你。因此为了安全起见,你必须和数字军阀结盟。苹果、Google、Facebook 和微软等建立了庞大的要塞,它们投入了大量金钱招募了最强的雇佣兵来保护要塞,为客户(包括你)抵御攻击者。
但如果军阀们转向了你,你对它们而言将是赤裸裸的。这种敌我难辨的情况在与军阀打交道的过程中一直发生着。比如 Google 调整 Chrome 以阻止商业监视(但不阻止它自己的商业监视)。Google 会努力阻止其他人监视你,但如果他们付钱了,Google 就会允许他们监视你。
如果你不在乎被 Google 监视,如果你信任由 Google 判断谁是骗子谁不是,那么这没问题。但如果你们之间存在不一致的意见,那么输的肯定是你。苹果在2017年按中国要求从其应用商店下架了保护隐私的工具。原因是苹果必须遵守中国的法律,它在中国有公司,有制造基地。军阀自身的安全是远甚于客户的。
  编程随想注:
  俺的观点是:要善于【扬长避短】——既要利用大公司提供的某些优质服务,同时又不让大公司窥探你的隐私。
  当然啦,要做到这点,需要一些经验&技巧。
  就拿本人的亲身经历举例——
一方面,俺用着 Google 的博客平台 Blogspot(它的安全性足够好,而且能抵御【国家级】的 DDOS 攻击)。
另一方面,俺不用 Google 搜索(俺用的是 Startpage,其搜索质量等同 Google);另外,俺也不使用 Google 开发的 Chrome 浏览器。

◇QQ 在偷窥你的上网历史


QQ 被发现扫描并上传用户的浏览器历史 @ Solidot
腾讯消息应用 QQ 以及 QQ 办公版 TIM 被发现会扫描用户的浏览器历史,搜索购物记录,选择性上传。用户报告,QQ 在登陆10分钟之后开始扫描 Appdata\Local\ 下的所有文件夹,对其中 User Data\Default\History 进行进一步的扫描,User Data\Default\History 是基于 Chrome/Chromium 的浏览器默认历史纪录存放位置,Firefox 的浏览历史存放位置不同,因此目前看来不受影响。不过 Firefox 市场份额不高,而基于 Chrome/Chromium 的浏览器占据了九成以上的份额。
  编程随想注:
  疼逊官方在知乎发了一篇声明(这里),进行辩解。
  有必要提醒诸位:不管上述丑闻是“有意 or 无意”,疼逊官方声明肯定都会说是“无意”。因此,对这类官方回应,不必太当真。

◇疼逊如何看待“微信好友关系”?


微信好友关系,是否属于个人隐私? @ Solidot
腾讯总部所在地深圳市南山区法院上个月判决,微信好友关系不属于个人隐私。
本案的原告在2019年发现,使用微信或 QQ 登录腾讯“微视”APP后,微视会获取其全部微信或 QQ 好友信息。他认为,腾讯公司未经其授权将他的微信、QQ 好友关系提供给其他 APP,侵犯了他的隐私权。
但南山法院认为:“隐私是指用户对其生活领域不愿公开的信息享有不被他人知悉的权利。原告主张的性别和地区属于公开信息,不构成隐私。”
北京师范大学法学院教授袁治杰认为:腾讯并没有权利将微信好友关系披露给第三人,“即使我同意微信可以将我的好友关系提供给他人,微信也不得提供。因为好友关系是双向的,要想有权提供,微信必须同时获得了我的好友们的同意才行。换句话说,必须获得双向同意才行。”

◇【聊天工具/IM】的选型


Mark Zuckerberg 被发现使用 Signal @ Solidot
Facebook CEO Mark Zuckerberg 使用加密消息应用 Signal,他的电话号码包含在泄露的5.33亿 Facebook 用户数据中间(编程随想注:这个“用户数据泄漏事件”,前面已经提到了),除此之外还有他的名字、地址、婚姻状况、出生日期和 Facebook ID。
一位安全研究人员说:又一次大转折,Mark Zuckerberg 注重他自己的隐私,使用不属于 @facebook 的端对端加密聊天应用。
......
  编程随想注:
  俺经常说:“观其行”比“听其言”更重要。大伙儿来看看,Facebook 的老板,放着自家的 WhatsApp 不用,非要用别家的 Signal。WhatsApp 的隐私风险,昭然若揭。

WhatsApp 的隐私友好替代 @ Solidot
WhatsApp 的服务条款变更引发了很多争议,加密邮件服务 Proton 官方博客介绍了多个隐私友好的替代服务
Signal,开源端对端加密,缺点是注册需要手机号;
Telegram 的缺点是私聊才端对端加密,没有群聊;(编程随想注:这款也要用手机号注册)
Threema,开源端对端加密,但应用本身不免费;
Wickr Me,不开源;
Wire,注册需要手机号或电邮,记录大量元数据;
Element,使用 Matrix 通信协议,基于去中心化联邦架构;
Keybase,已被 Zoom 收购,记录元数据。(编程随想注:Zoom 是商业公司)
  编程随想注:
  最近几年,不止一个读者在博客评论区问俺,理想中的 IM 工具是啥样?今天借这个机会聊一聊。
  俺认为:【至少】要达到如下的【每个】要求,才算及格。
  1. 开源(不光客户端要开源;如果有服务端,服务端也要开源)
  2. 依靠【社区 or 非营利组织】进行维护(俺信不过商业公司)
  3. 能够以【隐匿】的方式注册帐号(这也就意味着:凡是要“绑定手机号”的,都不符合)
  4. 能运行在【桌面】操作系统(“桌面系统”比“手机系统”更有利于安全加固——关于这点,俺已经唠叨很多次了)
  5. 采用【去中心化】的架构(“P2P or 联邦式”都可以,有助于对抗政府的审查和封锁)
  6. 免费(一旦涉及到付费,容易暴露个人身份信息)
  7. 支持“端到端加密”(这点无需解释)
  顺便说一下:
  开博十多年,俺【从来不用】IM 工具与读者交流。俺更倾向于用“邮件 or 博客留言”的方式与读者交流。
其一,(相比 IM 而言)这两种方式暴露的信息量更小。
其二,这两种方式都是【纯 Web】,无需安装任何软件(请注意:每当你新装一个软件,都潜在地增加了系统的攻击面)


为什么俄罗斯网络犯罪分子流行用 Jabber? @ Solidot
俄罗斯网络犯罪世界充斥着谜团,但有一种技术充当了主要的通信工具:有18年历史的分布式开源即时通讯协议 Jabber。根据安全公司 Flashpoint 的研究,黑客做交易、分享情报和对恶意程序提供技术支持都是通过 Jabber 完成。该公司资深研究员 Leroy Terrelonge III 称,在网络犯罪经济中,Jabber 是通信的黄金标准。Jabber(或又叫 XMPP)通信系统由数千个独立服务器构成,在全世界有大约一千万用户。有10亿用户的 WhatsApp 使用的是一个 XMPP 变体。ICQ 曾经统治了俄罗斯 IM 市场长达20年,当 Edward Snowden 在2013年披露美国的大规模监视之后,俄罗斯人开始转向了 Jabber。Jabber 加上它的加密插件 OTR(off-the-record)能为通信提供强加密支持。Jabber 的联邦式架构允许任何人运营服务器,这对犯罪分子有巨大的吸引力,他们担心企业与政府之间合作过于紧密。
  编程随想注:
  俄罗斯网络黑帮偏爱的 Jabber/XMPP,严格来讲只是一个【IM 协议】,而不是一款 IM 软件。已经有很多软件(包括开源软件)实现了该协议。
  XMPP 采用【联邦式】架构。通俗地讲,其架构类似于“电子邮件”。对于电邮而言,假设张三用 A 公司的邮箱,李四用 B 公司的邮箱。他俩依然可以相互收发邮件,而且两人可以使用完全不同的邮件客户端软件。XMPP 的原理也差不多。
  如果你想挑选一款 XMPP 的聊天软件,可以参考俺在上一段点评中列出的“理想的 IM 应具备哪些要素”。
  除了 XMPP,还有一个【Matrix 协议】也值得推荐。俺在《近期安全动态和点评(2019年2季度)》简单介绍过它。Matrix 与 XMPP 有诸多相似之处——都是开放的 IM 协议,都采用“联邦式”的架构,都有多种软件实现 ...

◇【中国版】的 Flash 插件


安全公司称:Flash 中国版会安装广告程序 @ Solidot
Adobe 在2020年12月31日之后停止更新和分发 Flash Player,之后重庆重橙网络科技有限公司通过网站 flash.cn 独家在中国大陆分发和维护 Flash Player。
安全公司 Minerva Labs 在收到多次与 Flash 中国版相关的安全警告之后对其进行了分析,发现 Flash 中国版除了安装 Flash 之外还会下载和运行名叫 nt.dll 的文件,其主要功能类似广告程序,但不排除它可以用于其它恶意目的。Flash 中国版主要影响中国用户。

◇Email 里面的【跟踪像素】


电邮中的跟踪像素日益流行 @ Solidot
在电邮中使用跟踪技术正日益常见。被称为“跟踪像素”的技术可记录邮件是否打开,以及何时打开;邮件被打开了多少次;打开邮件的设备类型;用户的粗略位置。这项技术可被用于判断一个特定电邮推广活动的影响,以及记录下更多的客户肖像细节。
跟踪像素通常是只有 1x1 像素的 .GIF 或 .PNG 文件,被插入到插入到电邮的页眉、页脚或正文中,用户的裸眼是无法识别出它的。用户可以使用电邮程序的免费插件剥离掉大部分跟踪像素。
  编程随想注:
  对付这种“跟踪像素”,一种简单有效的方法是——用 Web 方式收邮件,同时在浏览器中【禁用图片】。
  有些同学会担心:一旦浏览器禁用图片,访问别的网站也看不到图片了。
  俺的解决方法是——设置多个【隔离的】浏览器环境,其中一个【专用于】俺的 Gmail 邮箱。在这个浏览器环境中【禁用图片】。
  这么干【至少】有如下几个安全优势:
其一,因为这个浏览器环境是【专用】滴,只访问 Gmail 相关域名,降低了各种“跨站攻击”的风险;
其二,既然只访问固定的域名,可以在该环境中搞【CA 证书白名单】,降低“流氓 CA”的风险(关于【证书白名单】这种安全加固方法,参见“这篇博文”的介绍);
其三,规避了“跟踪像素”;
其四,因为禁用图片,规避了“浏览器的图片引擎”潜在的安全漏洞。
  至于如何设置多个【隔离的】浏览器环境,在如下几个系列教程中都有介绍:
如何防止黑客入侵》(系列)
如何保护隐私》(系列)

◇访问邮箱的方式——“Web 方式” VS “软件方式”


  (本文发出后,与热心读者在评论区交流“邮件访问方式”;俺再补充一个小节,汇总相关的讨论结果)
  访问邮箱,常见的方式有两种——
其一,如果电子邮件服务商提供“Web 界面”,那么用户就可以通过【浏览器】访问该界面(在本小节,这称之为“Web 方式”);
其二,如果电子邮件服务商提供 SMTP/POP3 或诸如此类的协议支持,用户可以通过【邮件客户端软件】操作邮箱(在本小节,这称之为“软件方式”)。
  这两种方式各有优缺点,俺简单总结如下:

  【Web 方式】的优点
1. 服务器的限制
如果邮件服务器只提供 web 界面(不提供其它邮件协议的支持);那么你只能用“Web 方式”
2. 避免额外安装软件
一般来说,大部分网民的系统中都已经有浏览器。用“Web 方式”,你就【无需】额外安装邮件客户端软件。
俺经常唠叨的一个安全原则是——系统中安装的软件尽可能少(可以降低【攻击面】)
3. 【网络隐匿性】的考虑
(这点是针对安全性要求较高的网友)
有些邮件用户不希望邮件服务器知道自己的公网 IP,因此需要采用某种“网络隐匿术”。这方面,Tor 当然是首选。
如果用“Web 方式”,要走 Tor 代理会比较容易(直接使用【Tor Browser】即可)
反之,如果用邮件客户端,还需要额外对其进行配置;万一配置错误,导致客户端【没有】走 Tor 网络,会是潜在的隐患。
4. 【本地无痕】的考虑
(这点是针对安全性要求较高的网友)
“Web 方式”【无需】把邮件同步到本地,就有可能做到【本地无痕】。
比如说:先在虚拟机中创建快照,然后用“Web 方式”查看邮件;看完之后回退到快照——这就可以做到【本地无痕】。

  【软件方式】的优点
1. 服务器的限制
如果邮件服务器只提供邮件协议(SMTP、POP3、等),不提供“Web 界面”;那么你只能用“软件方式”
2. 攻击面的考虑
随着 Web 的相关标准越来越多,如今的 Web 浏览器也越来越复杂。一般来说,软件越复杂,则攻击面就越大。
相反,如果你选择某款【轻量级】的邮件客户端,它的攻击面就有可能【远小于】浏览器。
3. 【纯文本】的邮件客户端
(这点是针对安全性要求较高的网友)
有些邮件客户端是【纯文本】软件,那么它天生就可以防范(上一个小节所说的)“跟踪像素”。
而且这类邮件客户端还有一个好处——可以用在【纯文本】的操作系统环境中(【没】安装图形界面的系统)。
【纯文本】的操作系统环境,因为少掉了图形界面,有助于降低攻击面;但“使用门槛”会比较高,不适合技术菜鸟。
作为对比,主流的浏览器都依赖“图形界面”。虽然也有少数【纯文本】的浏览器,但这些浏览器的功能太弱(比如:缺乏 JS 引擎),通常【无法】操作邮箱的 Web 界面。

◇【智能坐垫】的隐私问题


杭州公司用智能坐垫记录员工离座时间 @ Solidot
杭州荷博物联公司设计了一款智能坐垫,作为产品研发的一部分,发给员工放在他们的办公椅上进行测试。这些坐垫号称是用于检测员工健康状况,指出可能是疲劳迹象的不良坐姿,测量心率,统计员工在办工桌前坐了多久。
但当该公司的人力资源经理开始询问员工,为什么长时间离开座椅或提前下班时,人们很快明白了,这些坐垫也记录了员工最不想让老板知道的事情:他们什么时候不在自己的办公桌前,这可能会给员工带来麻烦。
......
  编程随想注:
  今年春节前(2021年1月底),俺刚刚发了一篇《每周转载:内卷的天朝,各阶层的众生相(网文17篇)》,其中提到了各种“内卷”,包括“白领的内卷”。
  在“996”已经成为常态之后,公司的 HR 开始监控员工“离开坐位的时间”。真是越来越变态了。
  引申阅读:
  《“996工作制”只不过是【劫贫济富】的缩影——“马云奇葩言论”随想
  顺便说一下:在如下博文中,俺介绍了“如何跳出996怪圈”。
  《学习与人生——700篇博文之感悟


★高危漏洞


◇Windows 的远程执行漏洞


Google shares PoC exploit for critical Windows 10 Graphics RCE bug @ Bleeping Computer

  编程随想注:
  该漏洞编号 CVE-2021-24093,影响 Windows 10 & Windows Server 2016。这是 Google 安全研究人员在去年11月发现并报告给微软。而微软直到今年(2021)2月的例行更新才修复。
  漏洞位于 DirectWrite API 进行字体渲染的代码中(缓冲区溢出)。Windows 平台上的浏览器(Chrome、Firefox、Edge、IE)都会使用系统提供的 API 进行字体渲染,因此都会受此影响。
  为了利用这个漏洞,攻击者可以创建一个 Web 页面,其中包含精心构造的字体,然后诱导受害者访问该页面。当受害者的浏览器打开该页面时,就中招了。由于此漏洞针对“字体渲染”,与 JS【无关】。因此,即使浏览器禁用了 JS 脚本,还是会中招。
  在上一期的《近期安全动态和点评(2020年4季度)》中,俺介绍过另一个漏洞 CVE-2020-15999,与这个很类似。CVE-2020-15999 位于“FreeType 字体渲染库”。也是利用“Web 页面的字体”来实现远程代码执行。
  在上一期,俺说过如下这句,今天再次贴出来:
假如你很注重安全性,为了更彻底地消除【字体】导致的攻击面,你可以定制浏览器,禁止在 Web 页面中加载外来的字体。
对 Firefox 的深度定制,可以参考教程《扫盲 Firefox 定制——从“user.js”到“omni.ja”》;对其它浏览器的深度定制,俺暂时还没写过教程。

Multiple Security Updates Affecting TCP/IP: CVE-2021-24074, CVE-2021-24094 and CVE-2021-24086 @ 微软安全响应中心

  编程随想注:
  微软在2月的例行安全更新中修复了3个【协议栈】的漏洞。
  半个月前(2021年3月),俺正好发了一篇《计算机网络通讯的【系统性】扫盲——从“基本概念”到“OSI 模型”》,介绍了“协议栈”相关的概念。其中有如下这张图:
不见图 请翻墙
  这3个漏洞就位于图中的【操作系统协议栈】那一坨。更具体地说:是“操作系统协议栈”中处理“IP 协议”的那部分代码。这3个漏洞中,有2个的类型是【远程代码执行】,还有1个属于【拒绝服务】
  一般来说,“协议栈”的漏洞是很少见滴,而且也很危险。其危险性在于——攻击者可以发送某个精心构造的数据包,当这个数据包到达目标系统(受害者系统),会立即被操作系统的协议栈处理。如果协议栈有漏洞,系统直接就中招了。假如协议栈的漏洞可用于“远程执行代码”,理论上就可以用来构造快速传播的【蠕虫】。
  好在这次的2个远程执行漏洞,利用的难度比较大。但攻击者要想利用这3个漏洞进行“拒绝服务”(让系统蓝屏),还是比较容易滴。以下是微软官网的原话:
The two RCE(注:Remote Code Execution)vulnerabilities are complex which make it difficult to create functional exploits, so they are not likely in the short term. We believe attackers will be able to create DoS exploits much more quickly and expect all three issues might be exploited with a DoS attack shortly after release.

◇Zoom(视频聊天)的远程执行漏洞


Critical Zoom vulnerability triggers remote code execution without user input @ ZDNet

  编程随想注:
  全球疫情之后,Zoom 这款视频聊天工具很流行。前不久的 Pwn2Own 大赛(黑客有奖竞赛)中曝光了 Zoom 的一个高危漏洞,可以实现【远程代码执行】,而且无需用户互动——也就是说,在受害者没做任何动作的情况下,攻击者就可以在系统中运行攻击代码。
  目前已经确定:影响 Windows & MacOS 版本的 Zoom Chat。手机版的 Zoom Chat 是否受影响,还不确定。由于该漏洞是前几天(4月7日)才曝光;截止俺写本文时,Zoom 公司尚未修复该漏洞。

◇“茄子快传”的远程执行漏洞


茄子快传发现多个安全漏洞 @ Solidot
安全公司趋势科技报告:在茄子快传中发现多个安全漏洞,漏洞能导致远程代码执行。
茄子快传是下载量最高的传输应用,曾跻身全球应用下载排行榜前十。它最早由联想开发,一度预装在联想手机上,后从联想独立出去。
茄子快传索取的权限相当广,其中包括访问所有本地存储和媒体,摄像头、麦克风、通讯录、位置,甚至还可以删除应用。趋势科技称,茄子快传的漏洞能被用于泄露用户的敏感数据,以及远程执行代码。

◇Chrome 的高危漏洞


新 Chrome 0day 漏洞正被利用 @ Solidot
Google 本周释出了 Chrome 的安全更新 v89.0.4389.72,修复了47个漏洞,其中包括正被利用 0day 漏洞。
编号为 CVE-2021-21166 的漏洞是微软安全研究员 Alison Huffman 在2月11日报告的,Google 没有披露漏洞细节,只是表示它知道漏洞正被利用。
这是 Google 在今年修复的第二个 0day,上一个是2月4日修复的 V8 堆溢出漏洞 CVE-2021-21148。

◇Exchange Server 高危漏洞


  编程随想注:
  普通网民可能对这个漏洞没啥感觉,但对于使用 Exchange 的诸多企业,已经搞得鸡飞狗跳了。

至少三万家机构由于微软电邮软件(Exchange Server)漏洞被入侵 @ Solidot
KrebsOnSecurity 援引消息来源报道,至少三万家美国机构——包括大量的小企业和各级政府被黑客组织利用微软电邮软件 Microsoft Exchange Server 的漏洞入侵。
微软本周披露,黑客正在利用 Exchange Server v2013 到 v2019 中的四个 0day 漏洞。在漏洞披露的三天内,安全专家称:同一黑客组织增加了对尚未修补的 Exchange 服务器的攻击,在入侵之后攻击者留下一个可以后续访问的 web shell。微软表示正与美国网络安全和基础设施安全局密切合作,为客户提供最佳的指南和缓解措施。

微软 Exchange 软件出现漏洞,至少遭10个黑客组织利用 @ 路透社
路透华盛顿3月10日 - 网路安全公司 ESET 周三在博客贴文中表示,至少有10个不同的黑客组织正利用近期发现的微软邮件服务器软件漏洞来入侵全球各地目标。
漏洞遭到利用的广泛程度,使得美国与欧洲监管者就微软 Exchange 软件漏洞发出的警告更形迫切。
微软这套用户众多的电邮与日程软件的安全漏洞,等于为商业级的网络间谍活动开启大门,使得不怀好意者能够从易于入侵的服务器中任意窃取电邮。路透上周报导,已有数万个公司遭到波及,每天都有新的受害者出现。
虽然微软发布修补措施,但许多客户更新速度缓慢,意味着这方面至少还有部分对各类黑客而言是门户洞开的。专家将更新缓慢部分归因于 Exchange 架构的复杂性。
微软对客户更新速度缓慢不予置评。在先前有关此漏洞的声明中,微软已强调立即修补所有受影响系统的重要性。

◇sudo 的本地提权漏洞


10-year-old Sudo bug lets Linux users gain root-level access @ ZDNet

Recent Root-Giving Sudo Bug Also Impacts macOS @ Slashdot

sudo 漏洞让用户能获得 root 权限 @ Solidot
安全审计公司 Qualys 发现了一个有10年历史的 Sudo 严重漏洞,允许 Linux 用户获得 root 级别的权限。
该漏洞被称为 Baron Samedit,编号 CVE-2021-3156,Sudo 团队已经释出了补丁。该漏洞允许已经获得低权限账号的攻击者获得 root 权限,即使账号没有列入控制账号访问的配置文件 /etc/sudoers 中。
  编程随想注:
  这已经是俺第三次谈“sudo 高危漏洞”。
  最近两年,sudo 出了好几个高危漏洞。俺在《近期安全动态和点评(2020年1季度)》已经警告过大伙儿。以下是俺当时的原话:
3个月前(2020年1月)的那篇《近期安全动态和点评》,俺已经聊过 sudo 的另一个高危漏洞。
在不到半年时间内,sudo 连续爆了两个非常致命的漏洞——对攻击者而言,这2个漏洞很容易利用,而且都能实现【提权】。
这样的苗头挺危险,很可能预示着——sudo 这个软件包内部还有其它一些高危漏洞没被发现。
有鉴于此,你或许要考虑:【不装或卸载】这个软件包。在需要切换用户权限时,改用 su 命令。当然啦,sudo 命令在很多场合比 su 命令更方便。因此,你需要作出一些取舍。

◇Linux 内核本地提权漏洞


Linux 内核发现3个提权漏洞,已存在15年之久 @ cnBeta
......
这些漏洞(CVE-2021-27363、CVE-2021-27364 和 CVE-2021-27365)存在于内核的 iSCSI 模块中。虽然在默认情况下该模块是没有被加载的,但是 Linux 内核对模块“按需加载的特性”意味着它可以很容易地被本地触发。安全专家在 Red Hat 所有已测试版本和其他发行版本中发现这些漏洞。
在 GRIMM 博客上,安全研究员 Adam Nichols 表示:“我们在 Linux mainline 内核的一个被遗忘的角落里发现了3个 BUG,这些 BUG 已经有15年的历史了。与我们发现的大多数积满灰尘的东西不同,这些 BUG 依然存在影响,其中一个可以作为本地权限升级(LPE)在多个 Linux 环境中使用”。
......

这些漏洞已经在以下内核版本中得到修复:5.11.4、5.10.21、5.4.103、4.19.179、4.14.224、4.9.260 和 4.4.260。而其他已经停止支持的内核将不会收到本次安全修复。
  编程随想注:
  详细的技术分析参见“报告漏洞的 GRIMM 博客”。
  一般来说,普通用户的 Linux 环境,默认【没】加载 iSCSI 相关的内核模块。此时,如果攻击者要利用这个漏洞,得依赖于【rdma-core】这个软件包,来诱导内核加载 iSCSI 相关模块。也就是说:如果你的 Linux 默认【未】加载 iSCSI 相关的内核模块,也【没】装这个软件包,应该问题不大。
  这个案例给大伙儿的教训是——
1. 系统中安装的软件包越少越好——安装的软件包越少,系统的攻击面就越小。
2. 系统中安装的驱动(内核模块)越少越好——驱动越少,系统的攻击面就越小。
3. 善于使用虚拟化软件(虚拟机),有助于达成上述两条(相关教程
3.1 你可以根据自己的使用场景,装多个虚拟机(比如说:一个用来办公,一个用来娱乐...);如此一来,每个虚拟机装的软件都比较少。
3.2 虚拟机(Guest OS)看不到真实的硬件,当然就省掉了很多硬件驱动。
3.3 物理系统(Host OS)能看到真实的硬件,驱动会有点多;但如果你把日常操作都放到“虚拟机”,有助于保持物理系统的【极简】。

◇Windows Defender 本地提权漏洞


Windows Defender 漏洞竟存在12年,近期终于得到修复 @ cnBeta
据外媒报道,Windows Defender 的一个严重漏洞在约12年的时间里都没有被攻击者和防御者发现,直到去年秋天它才被修复。值得一提的是,对于一个主流操作系统的生命周期来说,12年是相当长的一段时间,对于这样一个关键的漏洞来说,其隐藏的时真的是太长了。
  编程随想注:
  结合前一个小节(潜伏十五年的 Linux 内核漏洞),大伙儿可以看出——有些漏洞能潜伏十多年。

◇GnuPG 加密库(Libgcrypt)的缓冲区溢出漏洞


GnuPG 加密库发现严重 bug @ Solidot
GnuPG(GNU Privacy Guard)主开发警告:使用1.9版本加密库 Libgcrypt 的用户应立即更新。
Libgcrypt 1.9 版本是在1月19日释出的,Google Project Zero 研究员 Tavis Ormandy 在该版本中发现了一个堆缓冲区溢出漏洞,会在解密部分数据时发生溢出。问题与块缓冲区管理代码中的错误假设有关,利用该漏洞非常简单,使用1.9版本的用户需要立即去更新加密库。
  编程随想注:
  GnuPG 1.x 采用单一的可执行文件,命令行界面和加密功能都放在一起;从 GnuPG 2.x 开始,改用更加模块化的设计,加密相关的功能单独拆分成一个动态库,也就是 Libgcrypt。
  这样的设计有一个好处,如果某个第三方软件需要使用 GnuPG 的加密功能,只需要调用 Libgcrypt 这个模块。
  俺为啥要说这些捏?
  因为,即使你从来不用 GnuPG,但在你的系统中,可能有某些软件会使用 Libgcrypt 这个库。
  此漏洞存在 Libgcrypt 的【解密代码】中。因此,攻击者可以精心构造一个 GPG 的加密文件并把攻击代码嵌入其中。然后想办法让目标系统(受害者系统)中的 Libgcrypt 去解密这个文件,解密过程产生缓冲区溢出,有可能触发攻击代码。

◇DNS 转发客户端(Dnsmasq)的漏洞


Dnsmasq 漏洞让攻击者能发动 DNS 缓存中毒攻击 @ Solidot
安全专家披露了流行 DNS 转发客户端 Dnsmasq 的7个漏洞,被统称为 DNSpooq 的漏洞允许攻击者发动 DNS 缓存记录中毒攻击。
存在漏洞的 Dnsmasq 软件被数百万设备使用,其中包括思科设备、Android 智能手机、路由器、防火墙、访问点和 VPN 等网络设备。如果攻击者能利用漏洞对企业路由器成功发送缓存中毒攻击,那么他们可以将企业雇员对 Gmail 账号的访问重定向到钓鱼网站。Dnsmasq 项目已经释出了补丁修复漏洞,网络管理员需要尽可能快的给设备打上补丁。


★言论审查 & 网络屏蔽


◇美国在任总统川普的 SNS 帐号被全面封杀


  编程随想注:
  1月中旬,川普的各种社交帐号被全面封杀。关于这事儿,列位看官应该都知道,俺就不贴相关的新闻报道链接了。
  讨论此事之前,先说一下相关的背景知识:
  1. 关于“言论自由”的基本概念,参见博文《政治常识扫盲:澄清【言论自由】的各种误区》。
  2. 在美国,《宪法第一修正案》是“言论自由”的法律基础。
  3. 《宪法第一修正案》是用来限制【政府】的权力,而不是针对私营公司。
  4. 因此,几大 IT 巨头封杀川普的帐号,从法律上讲【没】违反《宪法第一修正案》。
  俺猜到:肯定有读者想问俺的态度。
  在谈此问题之前,先要抛开“川普”这个人——因为川普的争议很大(有很多川粉,也有很多川黑)。你不要因为自己对川普的态度,而影响对这个问题的判断。
  了解俺的读者,应该比较清楚俺的态度——
  1. 俺一直强调:要警惕各种类型的【政客】(不论是独裁体制里的政客,还是民主体制中的政客);
  2. 俺一直强调:要警惕各种类型的【政府】(不论是独裁政府,还是民主政府);
  3. 俺一直强调:要警惕各种类型的【大公司】(不论是独裁国家的大公司,还是民主国家的大公司);
  4. 对于“大公司”,【IT 行业】的大公司(相比传统行业而言)更危险——因为如今是信息时代,【信息技术】正在成为人类社会的基础设施。虽然 IT 大公司不具备“公权力”,但他们的影响力将非常接近于政府的“公权力”。
  引申阅读:
  《人类自由的三大死敌——谈谈“共产运动、纳粹主义、政教合一”的共性
  《“对抗专制、捍卫自由”的 N 种技术力量
  《每周转载:EFF 创始人约翰·佩里·巴洛和他的【赛博空间独立宣言】

◇香港警方援引《国安法》,封锁政治网站


香港当局首次引用<国安法>封锁网站,引发全面审查担忧 @ BBC/英国广播公司
香港多家网络公司据报按当地警方依据香港《国安法》的要求,封锁为用户连结到一个称为“香港编年史”的网站,这个网站载有大量参加处理2019年香港示威期间的部分警察和一些亲建制人士的个人资料,是《国安法》去年生效以来,香港当局首次引用这部法例封锁网站。

目前“香港编年史”的网站已经被多个网络供应商封锁,但网站本身仍然在运作,香港境外的人仍然可以使用网站,香港境内使用虚拟私人网络(VPN)也可以正常使用网站。香港媒体引述当地其中一家主要网络供应商“香港宽频”表示,已经按《国安法》要求停止连线至“香港编年史”网站,其他网络供应商就没有回应传媒查询。
......

除了“香港编年史”,一个称为“香港解密”的网站也刊载了一些民主派人士、示威者和记者的资料。虽然两个都是“起底”网站,“香港解密”至今仍然可以正常运作,令外界质疑香港当局的做法有“双重标准”。
......
  编程随想注:
  如今,香港已经是【一国一制】了。“香港编年史”网站被香港警方封杀,只不过再次印证了这点。
  考虑到本博客也有香港读者,提醒一下:
  (如果你人在香港)甚至要考虑到更坏的情况——或许有一天,香港网络被纳入【墙内】。
  从技术上讲,这一点都不难——只需在香港的国际出口部署 GFW 系统。之所以现在还没这么干,应该是基于其它方面(比如经济/金融)的考虑。

◇GFW 封杀 DoH 服务器


防火墙屏蔽了多个 DoH 服务器 @ Solidot
DNS-over-HTTPS(DoH)加密了 DNS 请求, 被用于规避 DNS 污染。
根据 greatfire.org 的测试结果:NextDNS、Quad9、AdGuard 在近日被屏蔽。防火墙对这些域名没有使用 DNS 污染, 而是使用检测 SNI 和 IP 黑洞的方法。Cloudflare 的 DoH 服务器还没有被屏蔽。

◇Github 处于“半封锁”状态


  编程随想注:
  最近2个月,有不止一位读者在博客留言,反馈说:直接访问 Github,网络传输质量很差(注:如果翻墙访问,就感觉不到)。
  俺要提醒一下大伙儿:当年 Gmail 是墙内广泛使用的邮件服务。大约10年前,GFW 开始对 Gmail 的 HTTPS 流量进行【随机丢包】(也就是“人为劣化传输质量”)。在这个阶段,网民还是可以打开 Gmail 的 Web 界面,但会感觉网络很不稳定。
  在之后的几年,GFW 对 Gmail 的干扰(随机丢包)越来越严重。一直到了2014年“六四纪念日”的前几天,GFW 彻底阻断了 Gmail 的 HTTPS 流量。
  俺猜测:GFW 对付 Github,可能也会是这样。
  引申阅读:
每周转载:关于“Gmail 彻底被墙”的网友评论

◇天朝进一步严控“自媒体”


中国社交平台要求:公众号提供互联网新闻信息,需获资质 @ 新浪
微信公众平台、搜狐号、百家号等平台近期相继发布通知,要求公众账号提供互联网新闻信息服务,应取得《互联网新闻信息服务许可证》,如不具备相关资质,不得发布或建议不要发布时政类新闻。
......

中国突袭查禁大量军事自媒体 @ RFI/法广
中国网络时政论坛“猫眼看人”在3月底突然关闭后,多个中国军事自媒体近期也陆续被封。不少中国网友感叹言论再趋紧缩,但也有人认为当局是在防止泄密、清除“造爱国谣”。
中国大量军事自媒体被封。据中央社称,此为莫谈国事又一桩。根据社群平台新浪微博的相关讨论,中国当局这波对军事自媒体的清洗可追溯至3月22日。
消息说,中国大型军事论坛“超级大本营”当天下午突然公告,将于3月23日凌晨起永久关闭海军、空军、陆军、航太及新概念武器等4个讨论版,实际上是关闭了军事装备讨论版。随后,“新浪军事”、“军武次位面”等军事类微信公众号近日也因“违规”被关,甚至连微信母公司腾讯旗下的腾讯网军事频道微信公众号“讲武堂”也没能幸免。其中,“军武次位面”迄今未解封。于此同时,中国知名时事政治论坛“猫眼看人”也在3月30日突然关闭。
据该报道,关于这波时政、军事论坛、自媒体被关闭,不少中国网友在微博留言感叹言论越趋紧缩,认为当局有意引导舆论“莫谈国事,只谈风月”等。不过,也有人指出,常有军事迷在军事论坛刊载拍摄到的新型军机或正在建造中的军舰等,且被封锁的军事论坛多是涉及武器讨论,很可能是当局为了防止泄密所致。
此外,也有中国网友列举上述自媒体过去的错误文章指出,这类自媒体常常“造爱国谣”煽动网友情绪,导致“战狼情绪”被境外报导放大,“增大了外事处理的难度,终于被集中治理了一次”。
......

◇政变之后,缅甸军方断网


用步枪和钢丝钳断网——缅甸积极建设数字防火墙 @ 纽约时报

3月15日起,缅甸全国范围内移动通信网络无限期关闭 @ 搜狐

◇俄国政府开始对付“卫星上网”


俄罗斯议会考虑:惩罚使用西方卫星宽带的公民 @ Solidot
俄罗斯国家杜马正在讨论一项立法,阻止国民使用西方的卫星宽带,违反者将会面临罚款。个人用户面临的罚款金额从1万到3万卢布,而企业的罚款金额从50万到100万卢布。
美国公司 SpaceX 和英国公司 OneWeb 都在发射各自的宽带卫星,计划在不久的未来提供高速的卫星宽带服务。但俄罗斯杜马议员认为使用西方卫星宽带将会绕过该国的通信监视系统 System of Operational Search Measures。作为加强对媒体和通信控制的一部分,所有俄罗斯的互联网流量都必须通过一家俄罗斯通信服务商。


★Web & 浏览器


◇Firefox 开始支持 TLS 协议的【ECH 功能】


Firefox 将用 Encrypted Client Hello 替换 ESNI @ Solidot
随着越来越多的网站普及 HTTPS,明文的服务器名称指示(Server Name Indication,SNI)成为新的隐私漏洞。通过明文 SNI,ISP 或任何网络中间人将会知道你访问了哪个网站。两年前,Mozilla 宣布 Firefox Nightly 加入了对加密 SNI 的支持(编程随想注:“加密 SNI”称作 ESNI)。
但自 ESNI 规格草案发布以来,分析显示只加密 SNI 扩展所提供的保护是不完整的。举例来说,在会话重用过程中,Pre-Shared Key 扩展会包含 ESNI 加密的服务器名称的明文副本。为了解决 ESNI 的不足之处,较新版本的规格不再只加密 SNI,而是加密整个 Client Hello 信息。因此规格的名字也从 ESNI 改为 ECH。
从 Firefox 85 起,浏览器用 ECH 取代了 ESNI,about:config 也不再展示 ESNI 选项。该功能尚未默认启用,如果用户想要默认启用可以进入 about:config 将设置 network.dns.echconfig.enabled 和 network.dns.use_https_rr_as_altsvc 设为 true。
  编程随想注:
  HTTPS 本质上是“HTTP over TLS/SSL”,其中的 TLS/SSL 协议用于加密。为了支持“多个域名共享同一个 IP 地址”,TLS/SSL 引入了 SNI(Server Name Indication)机制。请注意:这个 SNI 机制本身是【明文】滴。
  如果你访问的网站属于“多域名共享 IP”,那么 ISP 就有可能偷窥 SNI,从而知道你访问了哪个域名(但无法知道你访问的网页内容)。同样的道理,天朝的 GFW 也可以通过监视 SNI,以进行针对性的封锁——通过监视 SNI,一旦发现你访问的是【不和谐】的网站,就把 TLS/SSL 连接阻断。
  为了解决 SNI 的缺陷,后来 TLS/SSL 协议中引入了 ESNI;但 ESNI 的加密还是不够严谨(如上述文章所说),于是又升级为 ECH(全称是“Encrypted Client Hello ”)。关于这方面的协议细节,俺会在《扫盲 HTTPS 和 SSL/TLS 协议》(系列)的后续博文中介绍。

◇【超级 cookie】的隐私风险,及其防范措施


Browser 'Favicons' Can Be Used as Undeletable 'Supercookies' To Track You Online @ Slashdot

  编程随想注:
  上述这篇洋文介绍了:如何用 favicon 构造 Supercookies。考虑到很多读者看不懂洋文,俺稍微费点口水解释一下:

  原理——
  所谓的【favicon】就是网站的小图标,也就是显示在浏览器标签页上的那个图标(每个网站都不同)。
  浏览器会在本地维护一个 favicon 的缓存(favicon cache)。当你【第一次】访问某网站,缓存中没有该网站的小图标,浏览器会从该网站抓取,并保存在 favicon cache 中;反之,如果 favicon cache 中已经有对应的小图标,则无需抓取。
  一般来说,浏览器提供了“清除历史”的功能,可以清除“浏览历史、下载历史、cookie、HTML 缓存、等等”。但【不包括】这个“favicon cache”。也就是说,(在浏览器界面上)【没有】简单的操作可以清除这个缓存。
  因此,某些网站(比如在线广告商)就可以利用 favicon cache 的这个特点,构造出某种【持久的指纹】。这个指纹的特色在于——不管你是否开启“隐私模式”、不管你是否清除过历史、不管你是否走代理。这个指纹都是唯一不变滴。
  更详细的技术原理,参见“这个链接”。

  测试——
  你的浏览器是否能对抗 Supercookie 捏?可以通过“这个页面”进行测试。
  顺便说一下:这个测试页面在【禁用 JS】的情况下依然可用。也就是说,Supercookie 使用的技术【无需】依赖 JS 脚本。

  解决方法——
  Firefox 从85版本开始,解决了 Supercookie 带来的隐私风险。具体参见 Mozilla 官网的如下文章。
Firefox 85 Cracks Down on Supercookies @ Mozilla

  如果你用的是老版本的 Firefox,或者是其它类型的浏览器,还可以考虑用另外一招——【定期删除】“favicon 缓存”。
  不同类型的浏览器,“favicon 缓存”的文件位置也不同。对于 Firefox 而言,它位于:实例目录下的 favicons.sqlite 文件。
  对于使用虚拟机的同学:只要你能确保:当你创建虚拟机快照的时候,浏览器环境是【纯洁】的(所有相关缓存都是【空】的);那么,当你把虚拟机回退到这个快照,浏览器中的 supercookie 自然就消失了。
  另外,
  如果你听从了俺多年来的建议,创建【多个浏览器环境】(多实例 or 多用户 or 多虚拟机)。可以在一定程度上缓解“supercookies 的隐私风险”。因为 supercookies【无法】跨浏览器环境;因此,网站也就【无法】判断出:操作多个浏览器环境的,是同一个自然人。
  (注:“多浏览器环境”只是“缓解”这个风险,而不是“根治”)

◇Google 想要终结 cookie 技术


Google 表示它可能找到了 cookies 的隐私友好替代 @ Solidot
Google 周一宣布它可能找到了 cookies 的隐私友好替代。它测试了名为 Federated Learning of Cohorts(FLoC)的新 API,其源代码发布在 GitHub 上。
测试显示,相比基于 cookies 的广告,FLoC 广告的转化率至少达到 95%。FLoC 使用机器学习算法分析用户数据,然后根据用户访问的网站,将数千用户分成一组。数据是浏览器在本地收集的不会分享出去,但这群用户的数据会共享并被用于定向广告。也就是说 FLoC 广告是根据人们的普遍兴趣进行针对性展示。
  编程随想注:
  这个玩意儿到底是不是“隐私友好”?目前俺了解有限,暂时无法从技术角度发表意见。
  考虑到 Google 的商业模式(主要利润来自于【在线广告收入】),俺不太相信所谓的“隐私友好”。

Google 淘汰 Cookies 的计划引来反垄断调查 @ Solidot
Google 在今年初宣布了 Cookies 的替代 Federated Learning of Cohorts (FLoC),声称它对用户隐私更为友好。但这一计划引发了美国司法部调查人员的关切,调查人员一直在问询广告行业的高管,以了解 Google 此举是否会妨碍规模较小的竞争对手。
消息人士表示,司法部调查人员的询问涉及到 Chrome 的各种政策,包括与 cookies 相关的规定,对于广告和新闻产业产生哪些影响。
Chrome 浏览器的全球市占率约 60%。消息人士并指出,调查人员正询问 Google 是否利用 Chrome 来避免对手广告公司通过 cookies 追踪用户,同时留下漏洞供自己用 cookies、分析工具、以及其他资源来收集资料,从而降低竞争。

◇Firefox 开始禁用 HTTP 协议的【referer 字段】


Firefox 87 trims HTTP Referrers by default to protect user privacy @ Mozilla

  编程随想注:
  “HTTP referer”会有隐私风险,尤其当你在使用【搜索引擎】时。如下这篇博文的其中一个章节,扫盲了“HTTP referer”相关的知识。
Startpage——保护隐私的搜索引擎,搜索质量等同 Google

◇微软开始清理【旧版】Edge


Windows 10 强制性更新将彻底杀死旧 Edge @ Solidot
微软将在4月份释出的 Windows 10 例行更新中移除旧的 Edge 浏览器。
微软目前在 Windows 10 上有三种不同的浏览器:旧 Edge,新的基于 Chromium 的 Edge,以及 IE。为了减少混乱和改进安全,微软准备从操作系统移除旧的浏览器。软件巨人公布了杀死 旧 Edge 的计划:2021年4月释出的例行安全更新。
Chromium Edge 将成为微软希望用户唯一使用的浏览器。

◇终于有浏览器支持【IPFS】啦


Brave 浏览器支持 IPFS 点对点协议 @ Solidot
由 Mozilla 联合创始人 Brendan Eich 所创公司开发的 Brave 成为首个支持 IPFS 点对点协议的浏览器。
IPFS 代表 InterPlanetary File System,类似 BitTorrent 的点对点协议,设计作为去中心化储存系统,允许用户在数百甚至数千个节点之间共享不受审查的内容。当 Brave 探测到用户试图访问 IPFS 内容或使用原生地址如 ipfs:// 或 ipns://,浏览器会提示用户安装和启用 IPFS 节点,或使用一个 HTTP 网关。
  编程随想注:
  IPFS 是基于 P2P 方式的分布式文件系统。你可以通俗地理解为:IPFS 构建了一个【全球性的网盘】,该网盘上的每个文件都会存储在多个不同的节点。上传到该网盘的每个文件都分配了唯一的“磁力链接”(洋文叫“magnet link”,相当于“网址”)。只要拿到某个文件的“磁力链接”,就可以下载到该文件。下载的时候,你无需关心这个文件存储在哪里。
  IPFS 已经诞生了很多年,可惜推广度依然【不够】。主要原因在于——缺乏重量级的软件支持。如果有足够多的浏览器软件支持 IPFS,那它的前途就很光明。如今,Brave 浏览器迈出了第一步。接下来就看 Chrome 与 Firefox 是否跟进了。
  俺的网盘分享了《IPFS 白皮书》感兴趣的同学,可以去看看。

◇Google 的 Chromium 团队与 Linux 社区闹僵


多个 Linux 发行版考虑移除 Chromium 软件包 @ Solidot
Google Chrome Team 团队向 Linux 发行版开发者发去邮件通知,从3月15日起,在构建配置中使用 google_default_client_id 和 google_default_client_secret 的第三方 Chromium 版本,它们的终端用户将无法再登陆其 Google Accounts 账号。
Google 称,他们在最近的审计中发现部分基于 Chromium 的浏览器使用了原本只给 Google 使用的 Google API 和服务,其中最主要的是同步账号的 Chrome Sync API,它决定移除这些 API 的访问,声称这是为了改进用户数据安全。
Linux 发行版开发者表示过去十年他们一直这么做的,如果无法使用 Google 的同步功能,那么继续维护 Chromium 软件包也没有什么价值了。Chrome 的工程总监 Jochen Eisinger 在回复中表示他们的决定不会改变。Slackware Linux 和 Arch Linux 都表示考虑从仓库移除 Chromium。


★移动设备


◇警方破解手机,比你想象的容易


How law enforcement gets around your smartphone's encryption @ Ars Technica
......

When an iPhone has been off and boots up, all the data is in a state Apple calls 【Complete Protection】. The user must unlock the device before anything else can really happen, and the device's privacy protections are very high. You could still be forced to unlock your phone, of course, but existing forensic tools would have a difficult time pulling any readable data off it. Once you've unlocked your phone that first time after reboot, though, a lot of data moves into a different mode—Apple calls it "Protected Until First User Authentication", but researchers often simply call it 【After First Unlock】(注:简称 AFU).

If you think about it, your phone is almost always in the AFU state. You probably don't restart your smartphone for days or weeks at a time, and most people certainly don't power it down after each use. (For most, that would mean hundreds of times a day.) So how effective is AFU security? That's where the researchers started to have concerns.

The main difference between Complete Protection and AFU relates to how quick and easy it is for applications to access the keys to decrypt data. When data is in the Complete Protection state, the keys to decrypt it are stored deep within the operating system and encrypted themselves. But once you unlock your device the first time after reboot, lots of encryption keys start getting stored in quick access memory, even while the phone is locked. At this point an attacker could find and exploit certain types of security vulnerabilities in iOS to grab encryption keys that are accessible in memory and decrypt big chunks of data from the phone.

......
  编程随想注:
  关于“手机的危险性”,本博客已经唠叨过无数次了。俺反复告诫大伙儿(尤其是政治敏感人士),【不要】使用手机进行敏感的活动。
  上述这篇洋文会告诉你,政府执法机构(警方 or 国安部门)破解手机其实比多数人想象的更容易,不论是 iOS 或 Android,都容易。
  俺特意摘出上述三段洋文,其大意是:在【开机且解锁过一次】的状态下,即使手机屏幕已锁定,也很容易破解。关键在于,开机第一次解锁之后,全盘加密的【密钥】就会位于【内存】中。此时,“手机取证软件”只要能利用某种系统漏洞 or 软件漏洞,拿到内存中的“全盘加密密钥”,就 OK 啦。
  作为对比,如果是在【关机】状态下,破解的难度就大得多(但依然有可能破解)。
  假如你看不懂洋文,可以去看系列教程《TrueCrypt 使用经验》的第3篇——专门谈“加密盘的破解与防范”,其中有介绍【盗取密钥】这招的原理。

◇对比遥测数据——Android VS iOS


Google 从 Android 设备上收集的遥测数据二十倍于苹果 @ Solidot
都柏林大学圣三一学院的 Douglas J. Leith 教授跟踪了(PDF)iOS 和 Android 设备向苹果和 Google 服务器发送的遥测数据,发现 Google 收集的数据二十倍于苹果
Leith 教授称,研究考虑了操作系统本身收集的数据以及操作系统供应商提供的默认应用收集的数据,云端存储,地图/位置服务等,只计算遥测数据。
Leith 教授指出,即使用户选择退出遥测,iOS 和 Android 仍然会发送遥测数据。苹果收集了更多的信息数据类型,但 Google 收集的数据量要多得多。开机10分钟内,Pixel 手机向 Google 发送了 1MB 数据,而 iPhone 发送了 42KB;在闲置状态下,Pixel 手机每12小时向 Google 发送 1MB 数据,相比之下 iPhone 只向苹果发送 52KB 数据。
当新的 SIM 卡插入到设备中,相关信息会立即与苹果和 Google 共享。设备上预装的应用被发现在未启动或使用前就会连接苹果和 Google 服务器。Google 发言人用汽车收集数据为它收集数据辩护。

◇移动设备的木马


安全公司发现完整间谍软件功能的 Android 恶意程序 @ Solidot
安全公司 Zimperium 的研究人员发现了包含完整间谍软件功能的先进 Android 恶意程序。恶意程序伪装成系统更新,通过第三方应用商店传播。它的功能包括:
窃取 IM 消息,
窃取 IM 数据库文件(如果可以 root),
检查默认浏览器的书签和搜索,
检查 Google Chrome、 Mozilla Firefox 和 Samsung Internet Browser 的书签和搜索历史,
搜索特定扩展名(.pdf .doc .docx .xls .xlsx)的文件,
检查剪贴板数据,
检查通知内容,
记录音频,
记录电话呼叫,
利用前置或后置摄像头定期拍照,
窃取照片和视频,
跟踪 GPS 位置,
窃取短信,
......
  编程随想注:
  分享这篇报道,是想让诸位见识一下手机木马(尤其是功能完善的手机木马)能做到何种程度。


★网络攻击


◇基于【依赖混淆】的供应链攻击


  编程随想注:
  这类攻击主要针对【企业】,而且与软件开发相关。不懂编程的读者,可直接跳过本小节。

揭秘新的供应链攻击,一研究员靠它成功入侵微软、苹果等35家科技公司 @ InfoQ
最近,一名安全研究员利用一种新颖的软件供应链攻击成功入侵了35家大型科技公司的内部系统,这些公司包括:微软、苹果、PayPal、特斯拉、Uber、Yelp、Shopify、Netflix。在向这些公司提交安全报告后,他获得超过13万美元的奖金。
据悉,此类攻击利用了开源生态系统的一个设计缺陷:依赖关系混乱。攻击者先把恶意软件上传到开源存储库中,比如 PyPI、npm 和 RubyGems,此后它们会自动地分发到下游的公司的内部应用中。
与传统的误植域名攻击(typosquatting attacks)不同,这种特殊的供应链攻击更复杂,并且无需攻击者进行其他操作。
去年,安全研究者 Alex Birsan 在与另一名研究者 Justin Gardner 一起工作时冒出一个想法。当时,Gardner 向 Birsan 分享了一个清单文件(manifest file)package.json,它来自一个 npm 包,而它正被 PayPal 内部所使用。
Birsan 注意到一些清单文件包并没有出现在公共的 npm 存储库,但是,它却代替了 PayPal 创建的私有 npm 包。于是,他产生一个疑问:如果创建一个同名的公开 npm 包,那么软件在构建时,开发人员是优先使用私有的,还是公开的版本?

为测试这一假说,Birsan 开始搜索私有内部包的名称。这些私有的内部的包可以从 GitHub 存储库的清单文件或公司的 CDN 中找到,但却不在公共开源存储库中。
此后,这名研究员开始在开源存储库(比如 npm、PyPI 和 RubyGems)中创建同名的冒牌项目。这些冒牌项目都位于 Birsan 的 GitHub 真实账户下,并且有一个清晰的免责声明,解释“软件包不包含任何有用的代码,只是用于安全研究目的”。
他很快意识到,公开的软件包会比私有的软件包优先度更高。Birsan 还注意到,某些情况下,像 PyPI 包,版本更高的软件包,优先度也更高,无论它是私有的还是公开的。
利用这一方法,他通过发布公司内部在用的同名的公开软件包,实施了一系列成功的供应链攻击,轻松地入侵微软、苹果、PayPal、特斯拉、Uber、Yelp、Shopify、Netflix。
Birsan 说:“与误植域名或品牌劫持不同,依赖关系混乱不需要攻击者进行任何的手工操作。”
......

最近披露的“依赖混淆供应链攻击”开始大量增加 @ Solidot

◇针对【安全研究人员】的攻击


Google 警告针对安全研究员的攻击行动 @ Solidot
Google 警告,过去几个月,朝鲜黑客组织对安全研究员发动了针对性攻击。
为了建立信誉和联系安全研究员,黑客首先创建了安全博客和 Twitter 账号,与潜在目标进行互动,然后发帖发视频声称完成了某个漏洞利用。Google 表示它没有验证所有漏洞利用的可信度,但至少有一例所谓成功的漏洞利用被指是伪造的。在与目标建立初步联系之后,黑客会询问目标:是否愿意共同研究漏洞,然后提供一个 Visual Studio 项目,其中包含了一个定制的恶意程序 DLL。
除了社会工程攻击外,黑客还成功入侵了访问他们博客的安全研究员的计算机系统。当时受害者的系统打了最新的补丁,Google 表示他们暂时还不知道入侵机制。
  编程随想注:
  “安全公司的研究人员”本身是高价值目标,因为他们手头有可能掌握了一些“未公开漏洞”。这类漏洞的价值很高(比“零日漏洞”更值钱),俗称“数字化军火”。
  有很多安全研究人员擅长“攻击”,但却【不】擅长“防御”。因此,他们会成为其它攻击者的目标(有点像“黑吃黑”)。

◇针对【Android 模拟器】的供应链攻击


针对手游玩家的供应链攻击 @ Solidot
安全研究人员发现了针对手游玩家的供应链攻击。未知攻击者入侵了开发 NoxPlayer 的 BigNox,NoxPlayer 被用于在 PC 和 Mac 上模拟 Android 系统,用户主要用它玩 Android 手游。它非常受欢迎,在全世界有1.5亿用户。
攻击者在入侵了 BigNox 的软件分发系统之后对部分用户推送了恶意更新,操纵了两个文件:BigNox 的主二进制程序 Nox.exe 和更新程序 NoxPack.exe。恶意更新是在去年9月推送的,攻击者在去年年底和今年初向特定受害者推送了后续恶意更新。研究人员认为这些恶意程序主要用于监视目标,受害者位于台湾、香港和斯里兰卡。


★新冷战 & 网络战


◇中美科技脱钩


美国传唤多家中国电信企业,开始撤销两家中企在美经营权 @ RFI/法广

美国拜登政府修订供货华为许可证,对可用于 5G 设备的产品实施新限制 @ 路透社

比特朗普还要狠,拜登对华为 5G 禁令加码,新的限制条件更严格 @ 网易

美国将飞腾/申威等七家中国超算实体列入黑名单,称其协助中国军方 @ 路透社

◇针对“超微服务器”的供应链攻击


The Long Hack——How China Exploited a U.S. Tech Supplier @ Bloomberg

  编程随想注:
  早在2018年,彭博社已经报道过类似案例——天朝利用代工的机会,在超微公司(Supermicro)的服务器 BIOS 中植入恶意代码,从而进行供应链攻击。
  2018年的那篇报道引发了很多争议。今年2月份的这篇报道,是对2018年那篇的补充。全文很长,下面这篇 RFI 的中文报道是其简述。

彭博社:中国通过科技供应商收集情报,成为全球供应链的广泛风险 @ RFI/法广
据彭博社(2020年2月)12日的文章介绍:2010年,美国国防部发现旗下数以千计的电脑伺服器将军方网路资料送到中国,后来发现这是因为执行开机程序的晶片中隐藏恶意程式码。2014年,半导体巨头英特尔(Intel)发现中国骇客集团利用一台伺服器入侵英特尔网路,而这台伺服器从一家提供更新的供应商网站下载到恶意软体。2015年,美国联邦调查局警告多家公司,中国特务在一家製造商的伺服器中隐藏了一个另外载有后们程式码的晶片。而这些事件都牵涉两个共同点:中国和设在加州的美超微公司(Supermicro)。此外,美国情报单位都对此知情,但秘而不宣,试图进行反情报工作,以摸清楚中国的底细。
在彭博社文章中,前 FBI 资深官员泰布(Jay Tabb)指出,美超微事件凸显了全球供应链的广泛风险。“完美说明了美国企业若选择在中国制造任何产品,容易受到潜在的恶意窜改。对产品制造地点若无法完整地监督,这是最糟情况的例子。”“中国政府这种行径已有很长一段时间,企业必须明白中国还在这么做。硅谷尤其不能佯装这种情况现在没有发生。”
该报导也指出,美超微或它旗下员工都未被指控任何非法的行为,报导中受访的前美国官员强调,美超微本身不是任何反情报调查的目标。
美超微回应彭博询问时表示,美国政府或公司的客户从未就这些所谓的调查和他们联系。彭博汇集一些迥异和不准确的指控,做出了牵强的结论。美国联邦机构,包括报导中在调查的机构,仍继续採购美超微产品。
中国外交部发言人则表示,文中的指控是对中国的攻击,试图“诋毁中国和中国企业”,并指控美国官员捏造事实炒作“中国威胁论”。

◇“SolarWinds 攻击事件”的后续报道


  编程随想注:
  在上一期的《近期安全动态和点评(2020年4季度)》,详细介绍了去年(2020)曝光的“SolarWinds 攻击事件”——号称【史上最严重的供应链攻击】。
  当时俺分析了:至少有【两波】攻击者。第1波攻击者,俄国佬的嫌疑最大;那么,第2波攻击者会是谁捏?以下是今年1季度的后续报道。目前看来,第2波攻击者很大可能是天朝的御用骇客。

疑似中国黑客利用 SolarWinds 软件漏洞入侵美国政府 @ Solidot
在俄罗斯黑客之后,疑似中国黑客去年利用 SolarWinds 公司软件中的缺陷侵入美国政府电脑。知情人士称,FBI 调查人员最近发现,美国农业部内的联邦薪资处理机构国家财务中心是受到此次黑客行动影响的组织之一,这令人担忧成千上万联邦政府雇员的数据可能泄露。这次疑似中国黑客所利用的软件缺陷不同于美国指控的俄罗斯政府特工所利用的软件缺陷。
中国外交部表示,追究网络攻击的来源是一个“复杂的技术问题”,任何指控都应该有证据支持。中国外交部在声明中称,中方坚决反对并打击任何形式的网络攻击和窃密活动。

研究称:中国黑客也对 SolarWinds 客户发动了攻击 @ Solidot
安全公司 Secureworks 周一发表报告,除了俄罗斯黑客,中国黑客组织也在同一时间内对 SolarWinds 的客户发动了攻击。
在俄罗斯黑客发动供应链攻击的同时,安全研究人员去年12月披露还有黑客利用了 SolarWinds 公司软件 Orion 的一个漏洞,在该公司客户的网络中安装了名为 Supernova 的 web shell。但当时还不知道是谁发动了攻击。根据其使用的技术、策略和程序,研究人员现在将该黑客组织命名为 Spiral,该组织此前还利用了 ManageEngine ServiceDesk 的漏洞入侵企业网络。

微软总裁布拉德·史密斯称:SolarWinds 黑客事件是有史以来最大、最复杂的 @ cnBeta

NASA and the FAA were also breached by the SolarWinds hackers @ Bleeping Computer

◇【水厂】成为网络战的目标


Hacker Increased Chemical Level At Florida City's Water Supply, Police Say @ Slashdot

佛罗里达州水处理系统遭黑客攻击,万幸没有居民受到伤害 @ cnBeta
《坦帕湾时报》报道称,有黑客成功渗透了控制佛罗里达州奥尔德斯马市水处理设施的计算机系统。通过篡改可远程控制的计算机数据,攻击者改变了当地供水中的化学品含量(上调了氢氧化钠碱液的水平)。庆幸的是,设施管理者和警方均表示,目前暂无居民受到伤害的报告。
......

即便如此,意图不明的攻击者将黑手伸向公共基础设施一事,还是引发了许多居民的恐慌情绪。目前当地正在与联邦调查局(FBI)和特勤局(Secret Service)联手展开调查,附近城镇也受到有关潜在威胁的警报。
需要指出的是,佛罗里达州奥尔德斯马市(Oldsmar)发生的事件并非孤例。去年11月的时候,伊利诺伊州的一家水务公司也被疑似与俄方有关的攻击者给盯上。
此外,据《华盛顿邮报》报道,以色列情报官员声称:去年发生了一起未遂的网络攻击事件,指责伊朗方面试图对该国的水处理设施展开攻击。
......
  编程随想注:
  在《近期安全动态和点评(2019年3季度)》中已经提到:【供电系统 & 供水系统】将会成为网络战的目标。如今应验了。


★操作系统


◇注重安全及隐私——Linux 发行版的选型


Best Secure Linux Distros for Enhanced Privacy & Security @ Linux Security

  编程随想注:
  这篇洋文推荐了六款强化安全和隐私的 Linux 发行版。对于 Linux 用户而言,不同的人有不同的技能水平、使用场景、操作习惯。很难给出某种普适的排名。因此,上述这篇文章也仅仅是作为某种参考。
  全文很长,俺只摘录一部分(如下)
Qubes OS
Why We Love Qubes OS:
  • Its "Security by Isolation" approach using containers - aka "Qubes" - eliminates the concern of compromised programs.
  • All of these Qubes are integrated into one common desktop environment and color-coded to help users stay organized.
  • Sandboxing protects system components.
  • Qubes OS offers full-disk encryption for maximum file protection.

Tails
Why We Love Tails:
  • Its tight integration with the Tor network ensures anonymity online.
  • The included web browser is pre-configured for maximum security and includes add-ons like NoScript, Ublock Origin, and HTTPS Everywhere.
  • Users get access to Onion Circuits, a valuable tool that allows them to view how their PC traverses through the Tor network.
  • Tails comes with the Aircrack-NG wireless network auditing tool.
  • The OS is encrypted and designed to run with full functionality on a USB drive.
  • The distro features a built-in Bitcoin wallet ideal for users looking to make secure cryptocurrency transactions.

Kali Linux
Why We Love Kali Linux:
  • Kali Linux uses LUKS full-disk encryption to protect sensitive pentesting data from loss, tampering and theft.
  • This flexible distro offers full customization with live-build.
  • Users can automate and customize their Kali Linux installations over the network.
  • "Forensics" mode makes this distro perfect for forensics work.
  • There's a Kaili Linux training suite available called Kali Linux Dojo, where users can learn how to customize their own Kali ISO and learn the basics of pentesting. All of these resources are available on Kali's website, free of charge. Kali Linux also boasts a paid-for pentesting course that can be taken online, with a 24-hour certification exam. Once you pass this exam, you're a qualified pentester!

Parrot OS
Why We Love Parrot OS:
  • The distro provides pentesters and digital forensics experts with the best of both worlds - a state-of-the-art "laboratory" with a full suite of tools accompanied by standard privacy and security features.
  • Applications that run on Parrot OS are fully sandboxed and protected.
  • Parrot OS is fast, lightweight and compatible with most devices.

BlackArch Linux
Why We Love BlackArch Linux:
  • BlackArch Linux offers a large selection of hacking tools and preconfigured Window Managers.
  • The distro provides an installer with the ability to build from source.
  • Users can install tools either individually or in groups with the modular package feature.

Whonix
Why We Love Whonix:
  • Whonix comes with the Tor Browser and the Tox privacy instant messenger application - ensuring fully-anonymous web browsing and instant messaging.
  • The OS employs an innovative Host/Guest design to conceal users' identity behind the anonymous proxy and prevent IP and DNS leaks.
  • The distro features pre-setup Mozilla Thunderbird PGP email.
  • Linux Kernel Runtime Guard (LKRG), a kernel module that performs runtime integrity checking of the Linux kernel to detect security vulnerabilities and exploits, can be easily installed on Whonix.

◇华为的鸿蒙——连哄带蒙


不见图 请翻墙

Ars 尝试华为的鸿蒙操作系统 @ Solidot
中国最大智能手机制造商华为在遭到美国的出口禁令之后宣布了自己的操作系统鸿蒙,去年12月释出了 V2 版本。华为消费者业务 CEO 余承东宣称:鸿蒙是与 Android 和 iOS 完全不同的操作系统。华为消费者业务软件部总裁王成录上个月再次表示,鸿蒙不是 Android 或 iOS 的拷贝。
美国科技网站 Ars 对华为鸿蒙进行了一番测试,记者首先试着下载 Harmony SDK,结果迎面一击:他被告知需要接受两天的背景检查,要求注册账号通过身份验证,包括递交名字、地址、电邮、电话号码和护照照片。即使你试图绕过注册流程,下载“盗版”的版本,SDK 也需要你登陆账号之后才会运行。
出于研究的目的,记者牺牲了自己的隐私,下载了 SDK,开始进行测试。他发现模拟手机使用的是中国 SIM 卡,进入的网络叫“华为内网”。进一步研究发现,Harmony 的应用页面基本上全是类似 Android Services Library、Android Shared Librar 之类的,以及指示 Android 10 的信息。
作者认为现阶段的 Harmony 本质上就是换了皮肤的 Android,华为甚至连 Android 的名字都没有替换掉。作者还阅读了 Harmony 的文档,认为这些文档都是胡扯,没有多少意义。
  编程随想注:
  “鸿蒙系统”被调侃为【连哄带蒙】,果然名不虚传 :)
  不过这篇报道已经不新鲜了。去年9月底,俺发了如下这篇博文,作为“国庆献礼”。在这个排行榜上就有“鸿蒙系统”。
二十年目睹之怪现状——中国学术界、科技界的“奇葩排行榜”

华为高管声称:鸿蒙 V3 将不再基于 Android @ Solidot
华为消费者业务软件部总裁王成录今年初曾表示,鸿蒙不是 Android 或 iOS 的拷贝。但对鸿蒙 V2 的分析表明,它事实上是 Android 的拷贝,华为甚至连 Android 的名字都没有从系统中替换掉。
对此王成录在接受采访时回应称:“并不是所有 Android 代码都是 Google 开发的,绝大部分代码来自开源社区。鸿蒙也会吸收社区的优秀技术和代码,用了 AOSP(Android 开源项目)的开源代码,就判断鸿蒙是 Android 换了皮,说明这类吐槽者没有太准确理解什么是开源。今年10月,鸿蒙第三阶段的开源代码会上线,来自 AOSP 社区的、由 Google 贡献的代码几乎没有了。”
  编程随想注:
  华为高管的辩解,属于“偷换概念”(稻草人谬误)。
  之前网民指责“鸿蒙是安卓换皮”,因为鸿蒙大量使用了 AOSP(Android Open Source Project)的代码。在【源代码】层面,“鸿蒙系统”与“安卓系统”实在太相似了。
  华为高管的忽悠在于——先把命题“鸿蒙使用安卓(AOSP)的代码”偷偷替换为“鸿蒙使用谷歌(Google)的代码”。然后再针对后一个命题进行反驳。这就是典型的【稻草人谬误】。
  华为高管采用这种诡辨式的逻辑把戏,反而让人觉得:他们心虚。


★硬件 & 物理安全


◇物联网 & 法拉第笼


不请自来的物联网时代 @ Solidot
不管你需不需要,几乎所有家电都能联网的时代正在我们走来。没有冠以“智能”的电视机早就销声匿迹,而大部分所谓的智能电视机还有广告,部分品牌则将没有开屏广告作为卖点。配备了摄像头和麦克风的智能电视容易遭到滥用已是众所周知,它们会将收集的信息发送到厂商的服务器,你根本不知道它们收集了哪些信息。
好消息是,大部分物联网设备使用的是 Wifi 连接,我们至少还可以通过路由器控制它们的行为。但厂商也有应变之道:直接嵌入蜂窝调制解调器和 SIM 卡,解决不在线的问题。这种现象将会越来越多,它们将会完全脱离用户的有限控制。除了将它们关在【法拉第笼】内,消费者将无能为力。
隐私、监视、跟踪将会无处不在,这就是不请自来的物联网时代。
  编程随想注:
  上述文章中提到的【法拉第笼】,洋文叫做“Faraday cage”。是用导体(通常是金属)做成的笼子或网袋。它利用物理学的【静电屏蔽原理】,使得电子设备无法与外界通讯。
不见图 请翻墙
(用柔性金属面料制成的法拉第笼)

  顺便说一下:
  专业的警方取证人员,都会随身携带这个玩意儿。当他们收缴了你的手机,直接丢入“法拉第笼”——使得你再也无法远程操控手机(自然也就无法“远程刷机”)。
  有些同学可能会问:如果要防止手机的主人远程操控,为啥警方在收缴了手机之后,不使用“关机 or 拔电池”这2招捏?
  俺的回答是:
  每个想问此问题的读者,都属于“看博文太粗心”。在前面“移动设备”的那个章节中,俺已经解释了:手机在【开机】的状态下,更容易破解。

◇Meltdown & Spectre


First Fully Weaponized Spectre Exploit Discovered Online @ Slashdot

  编程随想注:
  关于 MeltdownSpectre 漏洞,去年和前年的《近期安全动态和点评》都有聊过。
  在今年(2021)之前,对这俩漏洞还停留在“理论”阶段;到了今年2月份,在线查毒引擎 VirusTotal 首次发现与这两个漏洞相关的攻击代码,分别针对 Windows & Linux。这也就意味着:对这两个漏洞的研究,已经从“理论”上升到“实践”。
  这两个漏洞源于 CPU 硬件的设计缺陷,很难根治;而且受影响的 CPU 很多,波及面从 x86 系列到 ARM 系列。
  俺在《近期安全动态和点评(2019年1季度)》提到如下这段话:
一年前(2018年初)曝光的 Spectre 和 Meltdown 在信息安全界可以称得上是【划时代】滴!因为其利用的是 CPU 的【设计缺陷】(而且还是【根本性】缺陷)。
......
由于这两个漏洞涉及到 CPU 的【根本性】缺陷,极难搞定(就像两个幽灵,会在未来几年不断困扰 IT 行业)。


A Spectre proof-of-concept for a Spectre-proof web @ Google 安全博客

Google 演示 Spectre 概念验证攻击 @ Solidot
Google 演示了实用的 Spectre 概念验证攻击,代码发布在 GitHub 上,演示发布在网站 leaky.page 上。
2018年1月,Google Project Zero 和奥地利格拉茨技术大学的研究人员披露了与预测执行相关的处理器漏洞 Spectre,利用基于时间的旁路攻击,允许恶意进程获得其他程序在内存中的数据。Google 的概念验证攻击针对的是运行在 Linux 系统上的 Chrome 88 的 V8 JS 引擎,使用的 CPU 是英特尔的 Core i7-6500U Skylake。Google 表示,可以进行微调,让攻击能工作在不同的 CPU、浏览器版本和操作系统上,包括苹果的 M1 ARM CPU。概念验证攻击能以 1kB/s 的速度泄露数据。Google 称,虽然浏览器开发商已经实现了网站隔离等缓解措施,但这并不能阻止 Spectre 的漏洞利用,只是防止保存在内存中的敏感数据被攻击者读取。预防 Spectre 攻击还需要 Web 开发者部署应用程序级别的缓解措施。

◇新的 CPU 攻击手法——Lord of the Ring(s)


英特尔新侧信道攻击——Lord of the Ring(s) @ Solidot
伊利诺伊香槟的三位研究人员在预印本网站 arXiv 发表论文,披露了针对英特尔 CPU 的最新侧信道攻击,该攻击被命名为 Lord of the Ring(s)
随着芯片上的功能模块越来越多,英特尔为其 CPU 引入了片内总线,以实现各个模块之间的高速通信,它先后引入了 Ring Bus 和 Mesh Bus。最新侧信道攻击针对的就是 Ring Bus 的环形总线。研究人员首先逆向工程了 Ring Bus 的通信协议,设法构建了一个跨核心的隐蔽信道,利用环争用的细粒度时态模式去推动应用程序的秘密。从有漏洞的 EdDSA 和 RSA 实现中提取出密钥比特。对于 AMD 的 Zen 架构使用的片内总线 Infinity Fabric,研究人员表示需要进一步的研究,但相信他们的技术能应用于其它平台。

◇家用监控探头,反而坑了自己


安装家庭监控探头的技工承认,偷窥客户做爱 @ Solidot
家庭和小型办公安保公司 ADT 的雇员 Telesforo Aviles 承认在五年时间里超过9,600次未经许可访问了200名客户的家庭监控探头。
Aviles 称:如果客户家中有吸引力的女性,他会在安装时将自己的邮件地址加入到可访问客户 ADT Pulse 账号的名单中,之后会浏览探头观看性方面的活动。他称会在客户做爱时观看裸女。他承认了一项计算机欺诈罪名,一项侵入性可视化记录罪名,面临最高5年徒刑。


★安全编程


◇Google 开始拥抱 Rust


  编程随想注:
  在上一期的《近期安全动态和点评(2020年4季度)》,俺还在吐槽:云计算三大巨头中,只有 Google 对 Rust 的热情不高。
  没想到才过了一个季度,Google 的态度就有了明显变化。具体请看如下几篇报道。

Google 宣布它正致力于用 Rust 重实现关键安全软件 @ Solidot
Google Security Blog 宣布:它正致力于用 Rust 语言重新实现关键安全软件组件。Google 称,内存安全相关的漏洞在安全领域一直占主要位置。
微软的研究显示,通过安全更新修复的漏洞七成是内存安全问题。对 curl 安全问题的分析显示,95个 bug 中的53个可以通过使用内存安全语言防止。
Google 正与 Internet Security Research Group 合作用 Rust 语言重新实现安全组件,包括用 Rust 为 curl 开发 HTTP 和 TLS 后端,为 Apache httpd 项目开发 TLS 库。

Rust in the Android platform @ Google 安全博客

Android 加入了对 Rust 语言的支持 @ Solidot
Google 官方安全博客宣布:Android 加入了对 Rust 语言的支持。Google 称,七成的 Android 高危漏洞与内存相关,而内存安全语言是解决这一问题的最有效方法。Google 宣布 Android Open Source Project(AOSP)现在支持用 Rust 语言开发操作系统。
Java 和 Kotlin 是开发 Android 应用的最佳选择,但 Java 和 Kotlin 无法用于开发操作系统底层。操作系统的底层需要用系统级编程语言 C、C++ 和 Rust 来开发。对 C 和 C++ 来说,开发者负责管理内存,但管理内存时因代码库的复杂性开发者很容易犯错。Rust 语言利用编译时检查和运行时检查确保内存安全,同时它还提供了比拟 C 和 C++ 语言的性能。
Google 称:用 Rust 重写数千万行 C/C++ 代码是不可行的。对内存相关 bug 的分析显示,大部分 bug 都是近一两年内引入的,因此 Rust 将主要用于新的开发而不是重写成熟的 C/C++ 代码。

Google 资助用 Rust 语言,为 Apache HTTP 开发安全模块 mod_tls @ Solidot
Google 资助了 Internet Security Research Group(ISRG)的一个项目:用 Rust 语言为 Apache HTTP web server 项目开发安全模块 mod_tls。
在 Apache web server 中,mod_ssl 用于支持建立 HTTPS 连接所需的加密操作,它是用 C 语言开发的。
新的 mod_tls 模块将使用 Rust 语言开发,领导该项目开发的是软件咨询公司 Greenbytes 的创始人和 Apache HTTP Server 开发者 Stefan Eissing。ISRG 希望,在完成开发之后 Apache HTTP web server 团队将采用 mod_tls 作为默认模块,取代年代悠久且不安全的 mod_ssl。

◇Linux 内核正逐步支持 Rust


对 Rust 的初步支持登录 Linux-Next @ 开源中国
近日,Linux 邮件列表中的 Rust-for-linux 上公布了 Rust 支持登陆 Linux-Next 的消息。
Rust 是一个注重安全和性能的语言,并且在今年初成立了新的 Rust 基金会以支持其发展。而在 Linux 内核开发者中,关于使用 Rust 来编写新的设备驱动程序的讨论已经持续了很长时间。本周,对于 Rust 的初步支持终于登陆 Linux-Next 分支。虽然目前还没有一个完整的 Rust 内核驱动,但已经可以在 Linux-Next 分支上看到关于 Rust 的文档、Rust 代码目录和一个用 Rust 实现的字符驱动程序例子。
这种支持需要系统上存在 Rust 编译器(rustc),因此,当前重点关注的体系结构应该是 ARM64 和 x86_64。此外,内核支持也需要一个最新的构建 Rust 的工具链。
虽然 Rust 支持现在已经登录 Linux-Next 分支,但尚不清楚何时并入主线。一般来说,Linux-Next 中的工作会一直持续到下一个周期,但如果其仍是一个正在进行中的工作,也有可能在 Linux-Next 中停留更长时间。


俺博客上,和本文相关的帖子(需翻墙)
计算机网络通讯的【系统性】扫盲——从“基本概念”到“OSI 模型”
如何防止黑客入侵》(系列)
如何保护隐私》(系列)
扫盲操作系统虚拟机》(系列)
TrueCrypt 使用经验》(系列)
Startpage——保护隐私的搜索引擎,搜索质量等同 Google
扫盲 Firefox 定制——从“user.js”到“omni.ja”
扫盲 HTTPS 和 SSL/TLS 协议》(系列)
“对抗专制、捍卫自由”的 N 种技术力量
近期安全动态和点评(2020年4季度)
近期安全动态和点评(2020年1季度)
近期安全动态和点评(2019年3季度)
近期安全动态和点评(2019年2季度)

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者"编程随想"和本文原始地址。

翻墙工具

使用 BT sync 自动同步各种翻墙工具(BT sync 免翻墙可用), 同步密钥是 BTLZ4A4UD3PEWKPLLWEOKH3W7OQJKFPLG 如有其它问题,用program.think@gmail.com联系俺

❌
❌